وب سرویس برچسب زنی نحوی کلمات

shape
shape
shape
shape
shape
shape
shape
shape

در مقاله قبل در مورد api شباهت‌سنج متن و api استخراج عبارات کلیدی توضیح دادیم در این مقاله در مورد وب سرویس برچسب زنی نحوی کلمات توضیح میدهیم.

تعریف مسئله

هدف این سرویس، تشخیص نقش دستوری کلمات در یک متن است. یکی از بخش های کلیدی در پردازش متن تعیین نقش کلمه در جمله است(وب سرویس برچسب زنی نحوی کلمات). در واقع با برچسب زنی نحوی کلمات (POS Tagging) نقش کلمه از نظر فعل، فاعل، نوع اسم و غیره مشخص می شود. به عنوان مثال، اجزا جمله “باران آمد” را می‏توان با استفاده از یک پایگاه داده از کلمات و نقش‌های آنها تشخیص داد. “آمد” فعل جمله و “باران” نهاد و و اسم آن است. اما نقش بعضی از کلمات تنها با استفاده از معانی آنها قابل تشخیص نیست، مانند کلمه “باد” به معنی جریان هوا به عنوان اسم، یا در معنای دعایی آن در نقش فعل، که برای تشخیص آن نیاز به اطلاعات بیشتری از زبان داریم.

چگونه کار میکند ؟

هدف کلی از برچسب‌گذاری اجزای کلام تشخیص نقش تک تک کلمات در جمله است اما الگوریتم‌هایی هم هستند که تنها به پیدا کردن یک نقش خاص به عنوان مثال فعل در جمله می‌پردازند. به طور مثال ما می‏خواهیم برچسب نحوی هر یک از کلمات در جمله “‏آرامش در نزدیکی دانایی منزل دارد” را تشخیص دهیم. خروجی جمله نمونه به صورت زیر خواهد بود: آرامش N،COM در P نزدیکی N،COM دانایی N،COM منزل N،COM دارد V،PRSر این مثال، همانگونه که مشاهده می‏شود هر کلمه (توکن) دارای یک برچسب است که این برچسب، همان نقش نحوی آن کلمه می‏باشد. این برچسب‏ها مخفف شده یک عبارت می‏باشند برای مثال برچسب N،COM مخفف شده Noun Common است

الگوریتم

الگوریتمی که برای توسعه برچسب‏زن نحوی استفاده شده است مدل مخفی مارکوف (HMM1) می باشد. HMM یک مدل آماری است که احتمال اختصاص یک برچسب به یک کلمه خاص را در شرایط مختلف محاسبه می‏کند. شکل زیر نحوه اجرای الگوریتم HMM برای یک جمله را نمایش می‏دهد. این مدل قادر است تا احتمال یک صف از کلمات و برچسب‏ها را برای یک کلمه خاص محاسبه نماید. مدل مارکوفی که برای این پروژه استفاده شده است از درجه ۸ می‏باشد یعنی قادر است تا احتمال ۸ کلمه پیش از کلمه فعلی را برای آموزش مورد استفاده قرار دهد. پیکره متنی که برای آموزش مدل به کار رفته است

 

 

دیتای مورد استفاده

در این سرویس برای آموزش از پیکره متنی دکتر بی جن خان استفاده گردیده است. پیکره متنی که برای یادگیری به کار رفته است حاوی بیش از 10.100.000 توکن برچسب خورده می‏باشد. این پیکره شامل بیش از ۴۴۰۰ موضوع مختلف با گروه‏های متنی متفاوت می‏باشد. تعداد برچسب‏هایی که به صورت پیشفرض در این پیکره وجود داشتند بیش از ۵۵۰ برچسب نحوی مختلف بودند. با توجه به عدم کارامدی بسیاری از این برچسب‏ها، تعداد نهایی که برای یادگیری مدل مورد استفاده قرار گرفت برابر با ۳۷ برچسب بود. برچسب‏هایی که در این سرویس استفاده شده اند در ردماین قرار داده شده است.

آمار

1) دقت مدل از 85% پیکره جهت آموزش مدل و از 15% مابقی برای ارزیابی مدل استفاده شده است. دقت مدل روی داده آزمون برابر با ۹۶.۸٪ می باشد.

 

کاربرد سرویس

به طور کلی برچسب گذاری نحوی کلمات در جمله یکی از پایه ای ترین تحلیل هایی است که روی متن انجام می شود و می توان از خروجی آن در پروژه های دیگر استفاده کرد. در ادامه نمونه ای از کاربرد های Pos Tagging آورده شده است: • پیشبینی واژه های بعدی در جملات ناقص یا در حال کامل شدن • کشف خطاهای املایی • تعیین عبارات کلیدی متن • ساخت سیستم قطعه بند (chunker)

ورودی API

همانطور که دیده می شود ورودی شامل دو متن مجزا می باشد و در خروجی برچسب متناظر با هر توکن دیده می شود. مثال زیر ورودی API به صورت یک JSON Array برای دو جمله “ایران وطن من است”و “تابستان امسال بسیار هوا گرم است” را نمایش می دهد.

نمونه کد PHP

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,”https://sakoo.dataak.com/api/services/nlp/pos_tagger”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
$data = [
‘text’=>’کمیته انضباطی، نفت را تنبیه کرد
کمیته انضباطی فدراسیون فوتبال، رای خود را درباره دیدار تیم های صنعت نفت آبادان و پیکان از سری رقابتهای لیگ برتر صادر کرد.
‘,
‘token’=> ‘token’

];
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$server_output = curl_exec($ch);
print_r($server_output);

جهت استفاده از وب سرویس برچسب زنی نحوی کلمات و  وب سرویس های دیگر وآشنایی بیشتر کلیک نمائید.

پاسخی بگذارید

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