برچسب‌زنی اجزای سخن (تحقیقاتی)

یکی از خصوصیاتی که به عنوان ورودی در اکثر وظایف پردازش زبان طبیعی استفاده می‌شود، برچسب اجزای سخن است. برای این منظور یک مجموعه تگ (tagset) مانند شکل زیر انتخاب می‌شود و به هر واژه در متن یک برچسب اختصاص داده خواهد شد.

نمونه ای از مجموعه برچسب گذاری روی یک متن که همراه با علامت و نماد هر برچسب ارائه شده است. در این نمونه که مربوط به تعیین نقش دستوری هر واژه در پیکره است هر دستور با یک نماد جداگانه مشخص شده است که مخفف واژه انگلیسی آن دستور است.

کاربرد اصلی و ریشه ای این مسئله در تعیین نقش دستوری واژه ها در متن ورودی ("پیکره") و نسبت دادن برچسب های واژگانی به واژه ها و نشانه های به کار رفته در یک متن است.

۱. مقدمه

با نسبت دادن برچسب های کالمات به واژه های تن ورودی نرم افزار های مربوطه میتوانیم نقش دستوری هر واژه را مشخص کنیم.
به این متن ورودی در این علم "پیکره" گفته میشود.
از کاربرد های برچسب گذاری میتوان به پیشبینی واژه های بعدی در جملات ناقص یا در حال کامل شدن اشاره کرد.
همینطور تشخیص گفتار، تشخیص دست خط، ارتباط تقویتی برای معلولان زبانی، کشف خطاهای املایی، ترجمه خودکار، تجزیه و تحلیل نحوی و بازیابی اطلاعات از کاربرد های این سیستم هستند.
از دیگر کابرد های مهم این سیستم که در این روز ها بسیار از آن صحبت شده است و میتواند مفید واقع شود تبدیل نوع نوشتاری "انگلیسی-فارسی" به "فارسی" است. یعنی جملات فارسی که با حروف انگلیسی نوشته میشود را میتوان با برچسب گذاری دقیق به جملات فارسی تبدیل کرد.

در این سیستم، بحث "تعیین احتمال رخداد دنباله ای از لغات" نیز مطرح می شود که به منظور تعیین احتمال استفاده یک واژه به عنوان واژه بعدی در یک متن ناقص است. در اینجا موضوع "احتمال" بسیار حائز اهمیت است. این احتمال از "پیکره" استخراج میشود.
یعنی سیستم با آنالیز و بررسی پیکره های مختلف و معتبر این احتمال را به دست می آورد.

تعریفی که برای پیکره در [1] ارائه شده به این صورت است:
"حجم زیادی از داده های زبانی که بر اساس معیار های مشخص برای هدف معینی جمع آوری و ذخیره شده اند به صورتی که نماینده و با گویش مورد مطالعه باشند."
برچسب گذاری به عنوان یکی از مراحل میانی کاربرد های ذکر شده است.
میزان دقت برچسب گذاری به دقیق بودن نتیجه نهایی کمک میکند و تاثیر گذار است.

چندین روش مختلف برای برچسب گذاری مطرح میشود:
1- روش مبتنی بر قواعد
2- روش آماری محض
3- روش مبتنی بر گذار

در برچسب گذاری رده بندی هایی برای کلمات صورت می گیرد. و برچسب های مختلف در گروه هایی دسته بندی میشوند. برای مثال انواع فعل در یک گروه قرار میگیرند. به این رده بندی برچسب گذاری ها، "مجموعه برچسب" گفته میشود.
روش های رده بندی را میتوان به دو دسته تقسیم بندی کرد:
1- روشی که ابتدا رده بندی برای کلمات در برچسب گذاری انجام شده است و بعد از آن به سراغ ابهام زدایی این رده بندی ها میرویم.
2- روشی که در حین رده بندی ابهام زدایی نیز صورت میگیرد.

نمونه نموار های تهیه شده در آزمایشات مشابه برای برچسب گزاری

ورودی سیستم های برچسب گذاری شامل مجموعه ای از برچسب های ممکن و همینطور رشته ای است که میخواهیم برچسب گذاری کنیم.
در اینجا منظور از برچسب های ممکن مجموعه ای است که سیستم در آغاز دریافت میکند و براساس آن برچسب گذاری را انجام میدهد و در واقع میتوانیم از آن به عنوان قانون برچسب گذاری در آن سیستم یاد کنیم.
و خروجی آن نیز رشته ای است که به خوبی برچسب گذاری شده. در اینجا هر چه برچسب گذاری به حالت ایده آل نزدیک تر باشد و دقیق تر انجام شده باشد "خوب" تر است.

۲. کارهای مرتبط و آزمایش ها

۲.۱. سیستم های برچسب زنی بر پایه الگوریتم Hidden Marcov Model

سیستم های پیاده سازی شده توسط الگوریتم hidden marcov model. این سیستم در نرم افزار تبدیل نوشته به صدا "پارس گویان" مورد استفاده قرار گرفته است. 1 2
در این مقاله بر استفاده این الگوریتم برای تبدیل سخن به متن و همینطور پیدا کردن حروف اضافه در جملات فارسی تاکید شده است.

سیستم برچسب زنی TnT این سیستم در داده های امتحان شده خود 2.5 میلیون جمله دارد و مجموعه نشانه ها (tag) آن 38 عدد است. که دقت آن به 96.64% نیز میرسد. در راستای این سیستم و با استفاده از این روش دو تحقیقگر به نام های جباری و Allison سیستمی به اسم پارس گویان پیاده سازی کرده اند. این اولین سیستم برای برچسب گزاری جملات و متون فارسی بوده است.
همچنین در ادامه به برخی چالش هایی که دراین کار برخورد میکنیم اشاره کرده است. برای مثال در زبان فارسی کلمه ای مانند: "میروم" و یا "کتابها" هر کدام به سه شکل مختلف نوشته میشوند.

اشکال مختلف در نوشتار کلمات میروم و کتابها

که یا به صورت بدون فاصله و چسبیده است و یا با فاصله. گاهی اوقات هم به صورت نیم فاصله که خیلی مرسوم نیست. در کلمه "میروم" اگر "می" به اشتباه "مِی" (mey) خوانده شود به معنای آن در جمله تغییر خواهد کرد.
در برخی کلمات با پسوند نیز چالش هایی وجود دارد. برای مثال پسوند "تر" به معنی "مقایسه" است و میتواند به معنی "خیس" هم به کار رود.
در نتیجه در اینگونه چالش ها معمولا از یک درخت تصمیم گیری استفاده میشود. و حالت های مختلف که ممکن است برای یک کلمه و یا یک عبارت پیش بیاید را در مراحل مختلف مورد بررسی قرار میدهد. در بخش آزمایش ها بیشتر به این موضوع پرداخته میشود.

در این الگوریتم از این فرمول برای مقایسه دو نوع از احتمالات استفاده میشود. احتمال "انتقال نشانه" (tag transition) و احتمال "کلمات" (word)
احتمال کلمات (Wi) یعنی احتمال تخصیص یک نشانه (tag) به یک کلمه چقدر است. و احتمال انتقال نشانه (Ti) نشان دهنده احتمال تخصیص یک نشانه به نشانه بعدی است.

فرمول مربوط به محاسبه احتمالات هر نشانه در برچسب گزاری

۲.۲. معرفی یک الگوریتم خاص در سیستم های برچسب گذاری

یک الگوریتم ترکیبی از الگوریتم های احتمالی و قانون محور است که در مقایسه با دیگر الگوریتم های بچسب گذاری از این جهت برتری دارد که نیازی به جمع آوری اطلاعات و دانش از قبل ندارد. این الگوریتم نیازی به دامنه ندارد و مستقل از دامنه است زیرا از قوانین مورفولوژیک استفاده میکند. 3

الگوریتم های نشانه گذاری سعی میکنند که عیوب و کاستی های ورژن های قبلی الگوریتم را بهبود ببخشند. همچنین سیستم های نشانه گذاری بر اساس الگوریتمی که استفاده میکنند دسته بندی میشوند.
یک نمونه از دسته بندی این سیستم ها به نام jurafsky (که توسط jurafsky و martin در سال 2000 انجام شده) در زیر آمده است.

۲.۲.۱. 1-سیستم های قانون محور (Rule-based)

در این سیستم ها فرآیند نشانه گذاری دو قسمت و یا دو فاز دارد. در فاز اول کلمات و عبارات و نشانه های آنها در دیکشنری ای ذخیره میشوند. و در مرحله دوم سیستم با در نظر گرفتن برخی محدودیت ها برای نشانه ها سعی میکند که عباراتی که چند نشانه دارند رابه یک نشانه تبدیل کند.

۲.۲.۲. 2-سیستم های تصادفی (stochastic)

این سیستم ها از روش های احتمالی پیروی و استفاده میکنند. به این صورت که به هر کلمه با توجه به استفاده آن در دیگر قسمت های آن متن یک نشانه تعلق میگیرد.

۲.۲.۳. 3- سیستم های تبدیل (Transformation)

این سیستم ها هم از دو فاز تشکیل شده اند. در فاز اول نشانه ای که بالاترین احتمال را دارد به هر عبارت تعلق میگیرد. در فاز دوم سیستم سعی در اصلاح نشانه ها دارد که با استفاده از قوانین خاص تعریف شده برای سیستم انجام خواهد شد.

۲.۲.۴. 4-سیستم های آماری (Statistical)

اینگونه سیستم ها نیز از داده های آماری استفاده میکنند به این صورت که برای مثال اگر به واژه و یا عبارت نا مفهومی برسند به سابقه آن عبارت در متن توجه میکنند. نکته قابل توجه در این سیستم ها این است که پیشرفت این سیستم ها سخت و هزینه بر است. زیرا برای پیشرفت و بهبود هر قسمت از نشانه گذاری باید داده های آماری را چک کند و بااستفاده از آن ها احتمالات را برای عبارات مختلف تصحیح کند.

الگوریتمی که در این بخش توضیح داده میشود ترکیبی از الگوریتم ای قانون محور و آماری است. در این الگورتیم 5 مرحله کلی برای شناسایی یک کلمه ناشناخته وجود دارد. 1-محاسبه احتمال نشانه ها برای آن عبارت 2- ساخت درخت parse برای عبارات 3- تصحیح و مرتب سازی درخت 4-محاسبه آمار دقیق برای عبارات 5-تخصیص نشانه به هر کلمه با توجه به بیشترین احتمال به دست آمده.

۲.۳. سیستم برچسب گذاری HunPos

سیستم برچسب گذاری HunPos که با دقت 96.9 درصد انجام میشود. 4

در واقع این سیستم پیاده سازی دوباره سیستم هایی است که از hidden marcov model استفاده میکنند.که در این پیاده سازی کاربر اجازه استفاده از تنظیمات و ویژگی های مختلف را دارد. اولین تفاوت این دو در محاسبه احتمال است. محاسبه احتمال در این الگریتم با در نظر گرفت نحالت قبلی و بعدی انجام میشود. و تفاوت بعدی در open source بودن آنهاست.این الوریتم برخلاف الگوریتم های دیگر open source است.

۲.۴. مقاله ای درباره تغییرات و سیر تکاملی سیستم های برچسب گزاری در زبان فارسی

بررسی و آنالیز انواع سیستم های برچسب گذاری در زبان فارسی 5
در این مقاله درباره چگونگی اعمال برچسب گزاری و انتقال آن از یک زبان ماند انگلیسی به زبان دیگر (که در اینجا فارسی است) صحبت میشود.
و به طور خاص درباره سه روش برچسب گزاری است از که عبارت است از سیستم های آماری، سیستم های حافظه محور و دو ورژن از سیستم های بر اساس تخمین و احتمالات. تفاوت سیستم های برچسب گزاری اغلب بر اساس میزان عملیات انجام شده بر روی داده هاست.

برای زبانی مثل فارسی فعالیت زیادی در این حوزه انجام نشده است و فعالیت های انجام شده نیز با الگوریتم های marcov model است.
مشکل اصلی ما در این زمینه دو مسئله است: حاشیه نویسی برای نشانه ها و همینطور ایجاد کپسول و یا مجموعه ای از نشانه هاست. در ادامه توضیحی درباره این مجموعه (کپسول) ارائه میشود.

۲.۴.۱. ساختار و ایجاد کپسولی از نسانه ها

این کپسول با بررسی روزانه اخبار و نوشته های مختلف به وجود می آید. و نشانه های به دست آمده که حدودا 550 عدد هستند را با ساختاری شبیه به درخت ذخیره سازی میکند. و قاعدتا این حجم زیاد نشانه ها به یک نشانه گزاری خوب در متون کمک به سزایی میکند.
اما یکی از مشکلاتی که این حجم از داده دارد این است که در راستای یادگیری ماشین این سیستم نشانه گزاری تاخیر ایجاد میکند. به عبارت دیگر زمان این یادگیری و بررسی نشانه ها افزایش چشم گیری دارد. و ما به دنبال آن هستیم که بتوانیم با نگه داشتن کارایی این سیستم و کپسول حجم آن را کمتر کنیم.
در ادامه درباره مراحل ساختن و ایجاد این کپسول میخوانیم.

1- انتخاب نشانه های مناسب

این کار با انجام و طی کردن چهار مرحله انجام میشود.
1- دامنه نشانه های هر عبارت را از چیزی که هست کمتر کنیم.
2- کاهش و حفظ نشانه هایی که به عبارتهای عددی (numeric) اشاره میکنند. و مشخص کردن آن ها به عنوان نشانه های default و مشخص
3- بعد از انجام دو مرحله اول، در مرحله سوم یکسری از نشانه های میمانند که قطعا درست هستند و باید در کپسول ما باشند. آنها را نیز ذخیره میکنیم و بعد از آن تعداد نشانه های بررسی نشده کمتر میشود.
4- حذف کردن نشانه هایی که به اسم (noun) و به فعل های کوتاه مربوط میشوند.

2- آنالیز بررسی آماری کپسول

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

3- ایجاد بستر برای تست و آزمایش این کپسول

در بررسی و تست کپسول ما باید به هر کدام از اعمال تست (test) و انجام عملیات (training) هزینه و زمانی را اختصاص دهیم. در اینجا ما 85% به 15% تقسیم بندی میکنیم و طبق جدول زیر اینکار را انجام خواهیم داد.

;جدول مربوط با نتایج آزمایش های انجام شده در ایجاد کپسول

جدول اول نشان دهنده 5 بار اجرا انجام شده برای هر آزمایش است. و نشاندهنده تعداد کل token ها و تعداد استفاده شده در آزمایش است.
در جدول دوم (table 3) نشاندهنده درصد عبارات و کلمات شناخته شده و شناخته نشده در تست است.

۳. مراجع

۴. پیوندهای مفید

محمد عبدوس

با سلام و عرض خسته نباشید بابت فعالیتهای صورت گرفته در این فاز. در ادامه به برخی از نکات اشاره شده است که نیاز است تا این موارد بررسی و اصلاح گردد:

1- پراکندگی جملات در مقدمه زیاد است و جملات آن پیوستگی لازم را ندارند.
2- زیر نویس عکس چکیده باید تغییر پیدا کند و لینک آن نیز در مرجع ذکر گردد.
3- توضیح مختصری از روشهای مختلف برچسب زنی که در مقدمه ذکر شده است بیان گردد.
4- ورودی سیستمهای برچسب گذاری معمولا یک جمله است و خروجی آن کلمات جمله به همراه برچسب های آن است در صورتیکه در متن مقدمه ذکر شده است که ورودی علاوه بر جمله، برچسب های ممکن هم باید داده شود و این نیاز به تصحیح است.
5- خوب بود مثالی از یک جمله به همراه برچسب های آن در مقدمه ذکر گردد تا به خواننده در فهم بهتر موضوع کمک کند.
6- کارهای مرتبط به صورت خیلی مختصر توضیح داده شده است و بعضا تنها یک عبارت ذکر شده است و جمله آن نیز کامل نشده است. مثلا عبارت "بررسی و آنالیز انواع سیستم های برچسب گذاری در زبان فارسی" بیشتر به تیتر شبیه است تا اینکه بیانگر خلاصه ای از کار انجام شده برای یک مقاله باشد و نیاز است تا اصلاح گردد.

موفق باشید

محمد عبدوس

توضیحات مربوطه به هرکدام از بخشها به صورت ناقص است و نیازمند توضیحات با تفصیل بیشتر است.
جملات مقدمه پیوستگی لازم را ندارند و منقطع نوشته شده اند. بهتر است مقدمه مثلا شامل سه یا چهار پاراگراف باشد نه اینکه هر جمله یک پاراگراف باشد
کارهای مرتبط به صورت ناقص شرح داده شده است.
تغییرات محسوسی نسبت به مرحله قبل مشاهده نشد

تایید شده

با سلام
باتوجه به تحقیقاتی بودن پروژه، بسیار توضیحات کوتاه بودند و هنگام معرفی الگوریتم ها تقریبا به اسم الگوریتم بسنده شده بود درحالی که میتوانست الگوریتم بصورت کامل توضیح داده شود، همچنین روش های مختلف برای برچسب گذاری بسیار کلی گفته شده بودند و توضیحی نداشتند ارئه یک مثال برای فهم بهتر بسیار تاثیر گذار میتوانست باشد.

سلام خسته نباشید
کارهای مرتبطی که به آن ها اشاره کردید بسیار خوب بودند اما اگر درباره ی آنها توضیحات بیشتری میدادید بهتر میشد

با سلام
توضیح و شرح مسئله بسیار خوب صورت گرفه شده بود و خواننده پس از خواندن ابتدای مقاله درک خوبی از چیستی مسئله خواهد داشت.
برای بهبود کیفیت مقاله جا داشت بعضی قسمت ها کمی کامل تر بیان شود. مثلا در قسمت روش های مختلف برچسب گذاری می شد توضیح مختصری در رابطه با هر روش بیان شود. یا در قسمت کار های مختلف خوب بود علاوه بر نام بردن و پیوند دادن به مقالات مختلف، شرح مختصری از هرکدام نوشته می شد که هم به درک خودتان و هم خواننده از کار های مرتبطی که در این مسئله انجام گرفته بود کمک می کرد.
در آخر هم باید به خوب بودن پیوند های معرفی شده و درک درستتان از مسئله اشاره کنم که نقطه ی قوت مقاله تان بود.
با آرزوی موفقیت

تایید شده

درست است که پروژه ی شما تحقیقاتی است اما بهتر بود در بخش آزمایش ها الگوریتم هایی که در مقاله ها خواندید و در بخش مراجع آوردید را مفصل تر توضیح می دادید.

رد شده

مقدمه و توضیحات الگوریتم‌های مختلف خوب بودند. ولی بخش‌های پیاده‌سازی, بهبود و کارهای آینده تکمیل نشده‌اند.

تایید شده

سلام. موضوع به خوبی شرح داده شده است. کارهای مرتبط به خوبی دسته بندی شده ولی بهتر بود هر دسته بیشتر و با بیان نقاط قدرت و ضعف به صورت مجزا و مشخص توضیح داده میشد. توضیح برای سیستم برچسب گذاری hunpos خیلی کم بود. با توجه به تحقیقاتی بودن این پروژه می‌شد برای یک نمونه نتایج آزمایش دیگران قرار داده می‌شد.

تایید شده

توضیحات الگوریتم و روش های ارائه شده ساده و روان و دارای طبقه بندی مناسب است ولی با توجه به این پروژه تحقیقاتی بوده است انتظار میرفت که روش ها و الگوریتم های بیشتری ارائه شده و هر الگوریتم ارائه شده ریز تر و عمیق تر توضیح داده شود و در حال حاضر برای روش های ارائه شده فقط خلاصه ای از کلیت الگوریتم ارائه شده است.

تایید شده

سلام.
بهتر بود ادبیات مساله را شفاف مطرح می کردید و توضیحات دقیق تر وملموس تری را نسبت به مساله ی برچسب زنی اجزای سخن می نوشتید تا خواننده در وهله ی اول به صورت واضح متوجه شود که برچسب زنی اجزای سخن چیست وبه چه منظور وهدفی انجام میشود وسپس برای ارضای آن هدف چه کارهایی لازم است که صورت گیرد. قسمت مقدمه و شرح مساله با هم تلفیق شده است که بهتر بود این دو مورد از هم جدا شوند و بعد ازمقدمه، به شرح مساله می‌پرداختید تا خواننده‌ی پروژه‌ی شما، بتواند مساله بوجود آمده را با مقدمه‌ی شما، بهتر درک کند.بهتر بود که قواعد نگارش رو دقیق‌تر رعایت می کردید؛ رعایت نیم‌فاصله‌ها، نشانه‌گذاری‌ها، جمله‌بندی مناسب خواندن متن شما را راحت‌تر می‌کند. انتظار می‌رفت که اولا از منابع جدیدتری استفاده کنید و دوم این‌که مراحل روش‌های جدیدتری که انجام شده است را بررسی کنید؛ اگر نگاه کنید تقریبا در منابع‌تان مرجعی از سال2010 به بعد را ندارید. خوب بود که چه در مقدّمه ی پروژه و چه در قسمت کارهای مرتبط، از گذاشتن عکس های مختلف برای بهتر منتقل کردن مطلب و همچنین ایجاد انگیزه ی بیشتر در خواننده، برای خواندن ادامه ی پروژه استفاده می کردید.بهتر بود که علاوه بر استفاده از ویژگی ساختاری زبان فارسی،از روش های آماری هم استفاده می کردید.در قسمت کارهای آینده میتوانستید روش های دیگر را ذکر کنید وبهتر بود پیشنهادات خود را برای انجام و اجرای پروژه مینوشتید.روش های مختلف برای برچسب زنی ذکر شده است مانند روش مبتنی بر قواعد،روش آماری محض و روش مبتنی بر گذار که فقط به آوردن اسم این روش ها بسنده شده است.میتوانستید توضیحاتی در مورد هر کدام از این روش ها بدهید.بهتر بود تا علاوه بر بیان روش های دیگر آن ها را باهم مقایسه میکردید تا وقتی خواننده پروژه شما را میخواند در نهایت بداند که کدام روش برای حل این مساله پیشنهاد میشود وبهتر است و روش ها از نظر چه فاکتور هایی نسبت به هم ضعف یا قوت دارند واینکه استفاده از کدام یک از روش ها مفیدتر خواهد بود.موفق باشید.

رد شده

سلام و خسته نباشید
توضیحات کامل و خوب بود. اگر الگوریتم‌ها کامل تر توضیح داده می‌شد و نقاط قوت و ضعف هرکدام بیان می‌شد بهتر بود.

محمد عبدوس

با سلام و تشکر از زحمات این فاز
کلمه نسانه ها درست شود. کلمه الوریتم هم اشتباه نوشته شده است.
منظور از کپسول همان ماژول است ؟
پروژه در چه زبانی انجام شده است ؟
قسمت نتیجه گیری بیان نشده است.
کلمات شناخته شده و ناشناخته را با مثالی توضیح دهید و نحوه تست و ارزیابی آنها را بیان کنید .
پیکره مورد استفاده جهت یادگیری چه پیکره ای بوده است؟
مرجع جمله "برای زبانی مثل فارسی فعالیت زیادی در این حوزه انجام نشده است" ذکر نشده است. لازم به ذکر است که تحقیقات زیادی پیرامون برجسب زنی ادات سخن در زبان فارسی انجام شده است.
در کل انتظار میرفت با توجه به تحقیقاتی بودن آن، با محتوای بیشتر توضیح داده میشد.