ادامه مستندات وب سرویس متن کاوی

shape
shape
shape
shape
shape
shape
shape
shape

در مطالب قبل در مورد وب سرویس متن کاوی و مستندات سرویس متن کاوی توضیح دادیم در این مطلب در مورد ادامه مستندات وب سرویس متن کاوی توضیح خواهیم داد.

بهبود متون

پیشنهاد کلمات صحیح با توجه به زمینه

این تابع اشتباهات تایپی/املایی متن ورودی با توجه به محتوای جمله اصلاح میکند(ادامه مستندات وب سرویس متن کاوی).

آدرس و نوع تابع وب‌سرویس

POST https://api.text-mining.ir/api/TextRefinement/SpellCorrectorInContext

مدل دریافتی به عنوان پارامتر
عنوان                     توضیح پارامتر
CandidateCount      تعداد کلمات کاندید برای جایگزین کردن با کلمه ناآشنای درون متن
Normalize              آیا نرمالسازی متن نیز انجام شود
Text                      متن ورودی

string baseAddress = “https://api.text-mining.ir/api/”;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, GetJWTToken());

string inputText = @”ستر حیوانی است که در صحرا با مقدار کم آب زندگی میکند”;
string json = JsonConvert.SerializeObject(new
{
Text = inputText,
Normalize = true,
CandidateCount = 3
});
var response = client.PostAsync(baseAddress + “TextRefinement/SpellCorrectorInContext”, new StringContent(json, Encoding.UTF8, “application/json”)).Result;
string resp = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(resp);

خروجی مثال کد بالا: {شتر,سطر,سفر} {حیوانی,حیوان,یونانی} {است,دست,هست} که در {صحرا,صفرا,صدرا} با {مقدار,مدار,مقدر} کم آب {زندگی,بندگی,زدگی} {می‌کند,می‌کند,مکند}

اصلاح اشتباهات تایپی

این تابع وب سرویس، اشتباهات تایپی را بر اساس لیست کلمات خود اصلاح می‌کند و کلمه درست را برمی‌گرداند. این تابع مانند همه توابع دیگر نیاز به توکن JWT برای احراز هویت دارد

آدرس و نوع تابع وب‌سرویس

POST https://api.text-mining.ir/api/TextRefinement/SpellCorrectors

مدل دریافتی به عنوان پارامتر
عنوان                      توضیح پارامتر
inputText                متن ورودی که حاوی کلمات اشتباه است و بر اساس لیست کلمات                                صحیح، در خروجی بازگردانده می‌شود

string baseAddress = “https://api.text-mining.ir/api/”;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, GetJWTToken());

string inputText = @”فهوه با مبات میجسبد”;
string json = JsonConvert.SerializeObject(new
{
Text = inputText,
Normalize = true,
CandidateCount = 3
});
var response = client.PostAsync(baseAddress + “TextRefinement/SpellCorrector”, new StringContent(json, Encoding.UTF8, “application/json”)).Result;
string resp = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(resp);

خروجی مثال کد بالا: قهوه با {نبات,ملات,مباد} {می‌چسبد,می‌جنبد}

تبدیل محاوره به رسمی

کلمات محاوره‌ای درون متن به شکل (معادل) رسمی آنها تبدیل می‌شود

آدرس و نوع تابع وب‌سرویس

POST https://api.text-mining.ir/api/TextRefinement/FormalConverter

مدل دریافتی به عنوان پارامتر

عنوان مقدار      پیش‌فرض            توضیح پارامتر
inputText                                 متن ورودی

 

string baseAddress = “https://api.text-mining.ir/api/”;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, GetJWTToken());

string inputText = @”اگه اون گزینه رو کلیک کنین، یه پنجره باز میشه که میتونین رمز عبورتون رو اونجا تغییر بدین
داشتم می رفتم برم، دیدم گرفت نشست، گفتم بذار بپرسم ببینم میاد نمیاد دیدم میگه نمیخوام بیام بذار برم بگیرم بخوابم نمیتونم بشینم.
کتابای خودتونه
نمیدونم چی بگم که دیگه اونجا نره
ساعت چن میتونین بیایین؟”;
string json = JsonConvert.SerializeObject(inputText);
var response = client.PostAsync(baseAddress + “TextRefinement/FormalConverter”, new StringContent(json, Encoding.UTF8, “application/json”)).Result;
string resp = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(resp);

موجودیت‌های نامدار متون

شناسایی موجودیت‌های نامدار متن

لیست عبارات بهمراه برچسب نوع موجودیت. این برچسب یکی از موارد زیر می‌باشد:

O – عدم وجود موجودیت
B-PER – شروع موجودیت شخص یا نام فرد
I-PER – ادامه موجودیت شخص یا نام فرد
B-LOC – شروع موجودیت مکان یا محل خاص
I-LOC – ادامه موجودیت مکان یا محل خاص
B-ORG – شروع موجودیت نام سازمان یا تشکل
I-ORG – ادامه موجودیت نام سازمان یا تشکل
B-DAT – شروع موجودیت تاریخ یا زمان
I-DAT – ادامه موجودیت تاریخ یا زمان
B-EVE – شروع موجودیت رویداد یا حادثه
I-EVE – ادامه موجودیت رویداد یا حادثه

آدرس و نوع تابع وب‌سرویس

POST https://api.text-mining.ir/api/NamedEntityRecognition/Detect

مدل دریافتی به عنوان پارامتر
عنوان مقدار    پیش‌فرض       توضیح پارامتر
inputText                           متن ورودی

string baseAddress = “https://api.text-mining.ir/api/”;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, GetJWTToken());

string inputText = “احمد عباسی به تحصیلات خود در دانشگاه آزاد اسلامی در مشهد ادامه داد”;
var response = client.PostAsync(baseAddress + “NamedEntityRecognition/Detect”,
new StringContent(JsonConvert.SerializeObject(inputText), Encoding.UTF8, “application/json”)).Result;
string resp = response.Content.ReadAsStringAsync().Result;

// parse and generate result:
JArray tokens = JArray.Parse(resp);
var result = new StringBuilder();
foreach (JObject token in tokens.Children<JObject>())
result.AppendLine($”{{{token[“word”]},{token[“tags”][“NER”][“item1″]}}}”);
Console.WriteLine(result.ToString());

خروجی مثال کد بالا: {احمد,B-PER} {عباسی,I-PER} {به,O} {تحصیلات,O} {خود,O} {در,O} {دانشگاه,B-ORG} {آزاد,I-ORG} {اسلامی,I-ORG} {در,O} {مشهد,I-LOC} {ادامه,O} {داد,O}

نقش کلمات متون

تعیین برچسب نقش ادات سخن

این تابع عملیات برچسب زنی نقش (اسم، ضمیر، صفت، قید، فعل، …) کلمات در جمله را انجام می دهد.

آدرس و نوع تابع وب‌سرویس

POST https://api.text-mining.ir/api/PosTagger/GetPos
مدل دریافتی به عنوان پارامتر
عنوان مقدار        پیش‌فرض         توضیح پارامتر
text                                         متن ورودی

string baseAddress = “https://api.text-mining.ir/api/”;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, GetJWTToken());

string inputText = “احمد و علی به مدرسه پایین خیابان می رفتند.”;
var response = client.PostAsync(baseAddress + “PosTagger/GetPos”,
new StringContent(JsonConvert.SerializeObject(inputText), Encoding.UTF8, “application/json”)).Result;
string resp = response.Content.ReadAsStringAsync().Result;

// parse and generate result:
JArray tokens = JArray.Parse(resp);
var result = new StringBuilder();
foreach (JObject token in tokens.Children<JObject>())
result.AppendLine($”{{{token[“word”]},{token[“tags”][“POS”][“item1″]}}}”);
Console.WriteLine(result.ToString());

خروجی مثال کد بالا: {احمد,N} {و,CON} {علی,N} {به,P} {مدرسه,N} {پایین,ADJ}

{خیابان,N} {می‌رفتند,V} {.,DELM}

ریشه‌یابی متون
ریشه‌یابی عبارات

از این تابع برای ریشه‌یابی عبارات استفاده می‌شود. به عنوان مثال، خروجی متن کد نمونه به شکل زیر است

[ { “wordComment”: “”, “simplePos”: “”, “rootWords”: [“دریانورد”, “دریا”], “verbInformation”: null, “sentenceNumber”: 0, “wordNumberInSentence”: 0, “startCharIndex”: 0, “word”: “دریانوردانی”, “tags”: null, “firstRoot”: “دریانورد”, “wordCount”: 1, “length”: 11, “isVerb”: false, “isPunc”: false }, { “wordComment”: “”, “simplePos”: “”, “rootWords”: [“فرشته”], “verbInformation”: null, “sentenceNumber”: 0, “wordNumberInSentence”: 0, “startCharIndex”: 0, “word”: “فرشتگان”, “tags”: null, “firstRoot”: “فرشته”, “wordCount”: 1, “length”: 7, “isVerb”: false, “isPunc”: false } ]


آدرس و نوع تابع وب‌سرویس

POST https://api.text-mining.ir/api/Stemmer/LemmatizePhrase2Phrase
مدل دریافتی به عنوان پارامتر
عنوان مقدار پیش‌فرض توضیح پارامتر
CheckSlang آیا در حین ریشه یابی کلمات محاوره‌ای تحلیل و به شکل رسمی تبدیل شوند
ComplexSentence آیا بخش‌های جملات مرکب غیرتودرتو جداسازی شوند
Phrases ورودی به شکل لیست عبارات
Text ورودی به شکل متن

string baseAddress = “https://api.text-mining.ir/api/”;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, GetJWTToken());

string json = JsonConvert.SerializeObject(new
{
Phrases = new[]
{
new { Word = “دریانوردانی” },
new { Word = “فرشتگان” }
},
CheckSlang = false
});

var response = client.PostAsync(baseAddress + “Stemmer/LemmatizePhrase2Phrase”, new StringContent(json, Encoding.UTF8, “application/json”)).Result;
string resp = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(resp);

ریشه یابی متن

برای نمایش ریشه افعال شکل گذشته ساده درنظر گرفته میشود و سایر اطلاعات صرفی فعل در متغیر ذیل وجود دارد:

خروجی کد نمونه به شرح زیر است:

‍‍‍‍‍{دانشجویان,[دانشجو,دانش,دان]} {زیادی,[زیاد]} {به,[به]}
{مدارس,[مدرسه]} {استعدادهای,[استعداد]} {درخشان,[درخشان]} {راه,[راه]}
{پیدا,[پیدا]} {نخواهند کرد,[نکرد]} {که,[که]} {با,[با]} {مشکلات,[مشکل]}
{بعدی,[بعد]} {مواجه,[مواجه]} {شوند,[شد]} {.,[]}

string baseAddress = “https://api.text-mining.ir/api/”;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, GetJWTToken());

string json = JsonConvert.SerializeObject(new
{
Text = “دانشجویان زیادی به مدارس استعدادهای درخشان راه پیدا نخواهند کرد که با مشکلات بعدی مواجه شوند.”,
CheckSlang = false, // بررسی و تبدیل کلمات محاوره ای به شکل رسمی انجام نشود
ComplexSentence = false // شکستن جملات مرکب به چند جمله
});
var response = client.PostAsync(baseAddress + “Stemmer/LemmatizeText2Phrase”, new StringContent(json, Encoding.UTF8, “application/json”)).Result;
string resp = response.Content.ReadAsStringAsync().Result;
JArray tokens = JArray.Parse(resp);
var result = new StringBuilder();
foreach (JObject token in tokens.Children<JObject>())
{
result.Append(\$”{{{token[“word”]},[“);
foreach (var root in token[“rootWords”].Children<JValue>())
result.Append(root.Value<string>()).Append(‘,’);
if (result[result.Length – 1].Equals(‘,’))
result.Remove(result.Length – 1, 1);
result.AppendLine(“]}”);
}
Console.WriteLine(result.ToString());

ریشه‌یابی یک متن

متن بهمراه کلمات ریشه (افعال به سوم شخص گذشته ساده تبدیل میشوند)

آدرس و نوع تابع وب‌سرویس

POST https://api.text-mining.ir/api/Stemmer/LemmatizeText2Text
مدل دریافتی به عنوان پارامتر
عنوان مقدار       پیش‌فرض      توضیح پارامتر
inputText           ورودی          به شکل متن

 

string baseAddress = “https://api.text-mining.ir/api/”;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”, GetJWTToken());

string json = JsonConvert.SerializeObject(“دانشجویان زیادی به مدارس استعدادهای درخشان راه پیدا نخواهند کرد که با مشکلات بعدی مواجه شوند.”);
var response = client.PostAsync(baseAddress + “Stemmer/LemmatizeText2Text”, new StringContent(json, Encoding.UTF8, “application/json”)).Result;
string resp = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(resp);

خروجی مثال کد بالا: دانشجو زیاد به مدرسه استعداد درخشان راه پیدا نکرد که با مشکل بعد مواجه شد.

 

کلام آخر : امیدوارم که دانش کافی در زمینه ادامه مستندات وب سرویس متن کاوی  بدست آورده باشید.

مطالعه بیشتر

 

 

 

 

منبع

 

 

 

 


                            
                                                        
                                                            
                                                    

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *