**استفاده از متد یادگیری عمیق برای تشخیص عبارات چند کلمه ای در متن **
# مروری بر ادبیات
مجموعه دادگان: از دو بخش مجموعه آموزش و مجموعه آزمون تشکیل شده است.
مجموعه آموزش: معمولا بخش بزرگی از داده های موجود را برای مرحله یادگیری به وسیله ماشین اختصاص می دهیم.
مجموعه آزمون: معمولا بخش کوچکی از داده های موجود را برای مرحله تست به وسیله ماشین اختصاص می دهیم.
یادگیری افراطی: اگر در هنگام یادگیری مثلا از تعداد خیلی زیادی از ویژگی ها استفاده کنیم باعث یادگیری افراطی می شود.
# مقدمه
یکی از چالش های پردازش زبان های طبیعی (NLP)، شناسایی عبارات چند کلمه ای (MWE) در متن است. عبارات چند کلمه ای آیتم هایی هستند که میتوانند به اجزای تشکیل شونده تجزیه شوند، اما این عبارات خصوصیاتی دارند که نمیتوان اجزاء آن ها را به سادگی تشخیص داد[1] به عنوان مثال در جمله *staff leaves a lot to be desired* عبارت *leave to* یک عبارت چند کلمه ای است ولی در بین اجزای تشکیل دهنده آن کلمات دیگری هم آمده است.
عبارات چند کلمه ای شامل طیف گسترده ای از عبارات مانند ترکیبات اسمی مثل *speed limit*، فعل های چندبخشی مثل *clean up*، اصطلاحات مثل *hit the roof*، نام ها مثل *Prime Minister Justin Trudeau* و ضرب المثل ها مثل *two wrongs don't make a right* هستند.
چالش هایی که توسط عبارات چند کلمه ای مطرح می شود باعث می شود که آن را به عنوان "درد گردن" برای پردازش زبان های طبیعی نام گذاری کنند.[2] با این وجود در صورت این که عبارات چند کلمه ای را در متن تشخیص دهیم باعث می شود کارایی کارهایی مانند ترجمه ماشینی[3]، بازیابی اطلاعات[4] و نظرکاوی[5] بهبود یابد.
در این مقاله برای اولین بار مدل یادگیری عمیق برای تشخیص عبارات چند کلمه ای پیشنهاد شده است و از یک شبکه جلورو لایه ای، یک شبکه عصبی بازگشتی و شبکه های عصبی پیچشی برای آموزش و تست استفاده شده است، در آزمایش ها به این نتیجه دست یافتند که شبکه های عصبی پیچشی با سه لایه پنهان بهترین عملکرد را دارد. همچنین نشان داده شده است که با توجه به اندازه نسبتا کوچک اطلاعات آموزشی موجود، مدل های یادگیری عمیق می توانند از مجموعه داده های کوچک یاد بگیرند.
# کارهای مرتبط
این کار برخلاف کارهای قبلی که بر روی طیف خاصی از MWE ها تمرکز داشتند، برای طیف گسترده ای از MWE ها قابل استفاده است.
یادگیری عمیق اخیرا در کارهای مختلفی مانند ترجمه ماشین و ... استفاده شده است و نتایج دلگرم کننده ای را هم داشته است ولی با این حال برای تشخیص طیف گسترده ای از MWE ها استفاده نشده است.
در این مقاله برای اولین بار مدل یادگیری عمیق برای شناسایی طیف گسترده MWE ها ارائه داده شده است، در این مقاله پیشنهاد استفاده از یک شبکه جلورو لایه ای، یک شبکه عصبی مرکزی و دو شبکه عصبی پیچشی داده شده. اگر این مدل را با مدل های سنتی یادگیری ماشینی نظارتی گذشته مقایسه کنیم، درمی یابیم که با توجه به اندازه نسبتا کوچک دیتاست، یادگیری عمیق میتواند به خوبی یاد بگیرد و براساس مقایسه میزان دقت، بهتر از مدل های قبلی عمل کند.
# معماری مدل ها
در این بخش، ویژگی های استخراج شده برای مدل های شبکه عصبی و معماری مدل شرح داده شده است.
تقریبا 320 هزار ویژگی استخراج شده است، اما به دلیل تعداد زیاد ویژگی ها، تنها را ممکن برای آموزش مدل، استفاده از طبقه بند خطی است[6]
در مقابل با استفاده از فضای ویژگی بزرگ برای استفاده در معماری شبکه های عصبی، در این مقاله هدف درست کردن ویژگی های متراکم برای استفاده در معماری شبکه های عصبی هست تا این معماری به خوبی دیگر الگوریتم های یادگیری ماشین برای آموزش داده ها کار کند.
در این مقاله به طور خاص سه مدل پیشنهاد شده است:
شبکه جلورو لایه ای(LFN)، شبکه عصبی بازگشتی(RNN)، شبکه عصبی پیچشی(CNN)
مدل شبکه جلورو لایه ای
اگرچه شبکه های جلورو لایه ای برای طیف گسترده ای از مسائل طبقه بندی و رگرسیون مورد استفاده قرار گرفته اند، اما نشان داده شده است که آن ها تاثیر کمی در بهبود کارایی مدل های یادگیری عمیق مانند طبقه بندی تصاویر[7] و ترجمه ماشینی[8] دارند، بنابراین شبکه های جلورو لایه ای به عنوان یک معیار برای مقایسه عملکرد با معماری های دیگر و همچنین برای توسعه ویژگی ها مورد استفاده قرار می گیرند.
مدل شبکه عصبی بازگشتی
شبکه های عصبی بازگشتی بخاطر داشتن توانایی ذاتی توالی بودن برای خیلی از مسائل پردازش زبان طبیعی استفاده می شوند، در این جا از شبکه های عصبی تک لایه ای استفاده شده است که به اصطلاح RNN1 نامیده می شود.
مدل شبکه عصبی پیچشی
شبکه های عصبی پیچشی به عنوان طبقه بندی قدرتمند شناخته میشوند[9][10] و از آنجا که شناسایی عبارات چندبخشی می تواند به عنوان یک وظیفه طبقه بندی مطرح شود، شبکه های عصبی پیچشی توانایی انجام آن را دارند.
در این جا از شبکه های عصبی پیچشی با 2 و 3 لایه مخفی استفاده شده است که به ترتیب با CNN2 و CNN3 نمایش داده می شوند، مشاهده شد که شبکه های عصبی با 2 و 3 لایه مخفی به خوبی روی مجموعه داده اعتبارسنجی به خوبی کار می کند اما اگر لایه های بیشتری اضافه شود باعث یادگیری افراطی می شود.
به طور مشابه اضافه کردن لایه های بیشتر به شبکه جلورو لایه ای و شبکه عصبی بازگشتی باعث یادگیری افراطی می شود.
# معرفی مجموعه دادگان و ساختار
در این مقاله از مجموعه دادگان DIMSUM که شامل متن نشریات، توییت ها و گفت گو های TED است استفاده شده است[6] که استفاده از این مجموعه دادگان اجازه می دهد که نتایج به دست آمده را با نتایج قبلی مقایسه کرد.
در جدول زیر منبع مجموعه دادگان ذکر شده است و همانطور که نشان داده شده است، این مجموعه دادگان به دو بخش مجموعه آموزش و مجموعه آزمون تقسیم شده است که مجموعه آزمون دارای نوعی از متون است که در مجموعه آموزش وجود ندارد (گفت گو های TED)
برای اعتبارسنجی نیاز به یک مجموعه اعتبارسنجی است که برای بدست آوردن آن باید مجموعه آموزش به 5 قسمت تقسیم شود که در این صورت هر بار 20 درصد از مجموعه آموزش (1 قسمت) را برای اعتبارسنجی و 80 درصد برای آموزش (4 قسمت) استفاده خواهد شد.
![توصیف آماری ترکیب مجموعه داده های DIMSUM](https://boute.s3.amazonaws.com/289-dataset.jpg)
برچسب زنی نشانه ها بر اساس کنوانسیون BIO است.
6 تا برچسب برای برچسب زنی عبارات چند کلمه ای استفاده شده است:
B I O b i o
برچسب B نشان دهنده شروع عبارت چند کلمه ای است.
برچسب I نشان دهنده ادامه عبارت چند کلمه ای است.
برچسب O نشان دهنده این است که نشانه بخشی از عبارت چند کلمه ای نیست.
برچسب b نشان دهنده شروع عبارت چند کلمه ای جدید است.
برچسب i نشان دهنده ادامه عبارت چند کلمه ای جدید است.
برچسب o نشان دهنده این است که نشانه بخشی از عبارت چند کلمه ای جدید نیست.
این کنوانسیون با این فرض عمل می کند که عبارات چند کلمه ای فقط می توانند تا عمق 1 تودرتو باشند (یک عبارت چند کلمه ای داخل عبارت چند کلمه ای دیگر) و عبارات چند کلمه ای باید به طور صحیح تودرتو باشند.
در اینجا برای ارزیابی از معیار F-score [6]استفاده شده است که باعث می شود بتوان نتایج را با نتایج قبلی مقایسه کرد.
همانطور که در جدول 1 نشان داده شده است، بین 9 تا 22 درصد از کل نشانه ها در عبارات چند کلمه ای وجود دارند و این مقدار بسیار کمتر از کلمات لفظی است، این معیار ارزیابی روی تشخیص عبارات چند کلمه ای از کلمات لفظی تاکید زیادی دارد.
نحوه کار این ارزیابی با یک مثال در ذیل شرح داده شده است.
![مثالی از برچسب زنی نشانه ها با استفاده از استاندارد طلایی](https://boute.s3.amazonaws.com/289-example.jpg)
در این مثال برچسب زنی استاندار طلایی در بالا و برچسب زنی پیش بینی شده توسط ماشین در پایین مشخص شده است و بین برچسب ها با توجه با ارتباطشان، پیوندی کشیده شده است.
ابتدا باید مقدار precision و recall حساب شود.
دقت (precision): برابر است با نسبت تعداد پیوندهای به درستی پیش بینی شده (نسبت به پیوندهای استاندارد طلایی) به تعداد کل پیوندهای پیش بینی شده.
فراخوانی (recall): روش محاسبه اش همانند روش محاسبه دقت است ولی در اینجا صحت پیوندهای استاندارد طلایی را نسبت به پیوندهایی پیش بینی شده می سنجیم.
در مثال بالا، مدل میزان دقت را $\frac{2}{5}$ به دست می آورد زیرا از پنج پیوند موجود در پیش بینی، دو پیوند با پیوندهای استاندارد طلایی تطابق دارند (اولین پیوند از b به i در استاندارد طلایی می رود که در پیش بینی هم پیوندی از نشانه 4 به نشانه 5 وجود دارد، دومین پیوند هم از نشانه 6 به نشانه 7 در استاندارد طلایی می رود که در پیش بینی هم پیوندی از نشانه 6 به نشانه 7 وجود دارد.)
همچنین مدل میزان فراخوانی را $\frac{3}{4}$ به دست می آورد زیرا از چهار پیوند موجود در استاندارد طلایی، سه پیوند با پیوندهای پیش بینی شده تطابق دارند (دو پیوندی که در بالا ذکر شده به علاوه پیوندی که در پیش بینی از مسیر 3 به 6 می رود که در استاندارد طلایی هم پیوندی از B به I وجود دارد.)
بعد از محاسبه precision و recall با استفاده از فرمول زیر مقدار F-score به دست می آید.
$$\frac{1}{F} = \frac{1}{2}( \frac{1}{P} + \frac{1}{R} )$$
# تنظیم پارامترها
در این بخش معماری و پارامترهای مدل های شبکه های عصبی با جزئیات شرح داده شده است.
آموزش شبکه های عصبی بر اساس تابع هزینه زیر[6] صورت گرفته است
$$cost = \sum_{i=1}^{|\overline{y_i}|} c(\overline{y_i},y_i)$$
که در آن $\overline{y_i}$ i امین نشانه از عبارت چند کلمه ای در استاندارد طلایی است، برای اینکه پیش بینی برچسب تگ ها از جنس احتمال باشد از softmax استفاده شده است.
تابع c در فرمول بالا به صورت زیر تعریف می شود.
$$c(\overline{y_i},y_i) = \overline{y_i}log(y_i) + \rho(\overline{y_i}\in \{B\} \wedge y_i \in \{O\})$$
بعضی از توالی های برچسب گذاری نامعتبر هستند مثلا اگر بلافاصله بعد از برچسب B برچسب O بیاید (زیرا عبارت چندکلمه ای از چند بخش تشکیل شده اند ولی در این حالت عبارت فقط یک بخشی است) یا اینکه برچسب O نمی تواند بلافاصله قبل از برچسب B باشد (زیرا هر عبارت چند کلمه ای باید با برچسب B شروع شود)
در اینجا از الگوریتم ویتربی بر روی خروجی شبکه های عصبی برای تعیین برچسب گذاری معتبر عبارت چندکلمه ای با بیشترین احتمال استفاده شده است.
**مدل شبکه جلورو لایه ای**
شبکه جلورو لایه ای به عنوان یک معیار برای مقایسه کارایی دیگر مدل های یادگیری عمیق استفاده می شود.
پارامترهایی که برای این مدل باید تنظیم شوند عبارت اند از:
اندازه پنجره محاوره، جریمه طبقه بندی اشتباه $\rho$، تعداد نرون ها در هر لایه مخفی، تعداد تکرارها قبل از تمام شدن مرحله آموزش، نرخ حذف نرون ها در هر مرحله از آموزش (dopout rate)
بهینه کردن این پارامترها مهم هست زیرا تا حد زیادی عملکرد شبکه جلورو لایه ای را تحت تاثیر قرار می دهند.
برای تنظیم این پارامترها از مجموعه اعتبارسنجی استفاده می شود و به هیچ وجه نباید برای تنظیم این پارامترها از مجموعه آزمون استفاده کرد.
اندازه پنجره محاوره 1، 2 یا 3 درنظر گرفته می شود، اگر اندازه پنجره بزرگتر از این باشد، به مدل اجازه می دهد که شناسه های بیشتری را ببیند ولی باعث یادگیری افراطی نیز می شود.
بهترین میزان جریمه ($\rho$) بین 40 تا 100 است.
بهترین تعداد نرون ها در لایه های مخفی بین 100 تا 1200 است، اضافه کردن نرون های بیشتر گرچه اجازه می دهد تا مدل، توابع پیچیده تری را یاد بگیرد ولی باعث یادگیری افراطی نیز می شود.
برای جلوگیری از یادگیری افراطی باید تعداد تکرارها قبل از تمام شدن مرحله آموزش (با مشاهده کارایی مدل روی مجموعه اعتبارسنجی) و نرخ حذف نرون ها در مجموعه آموزش[11] را با مقدار مناسب تنظیم کرد.
بهترین نرخ حذف نرون ها در هر مرحله آموزش بین 0.4 تا 0.6 است.
بعد از آزمایش های متعدد به این نتیجه دست یافتن که بهترین کارایی را می توان با شبکه جلورو تک لایه ای (LFN1) با اندازه پنجره محاوره 1، با میزان جریمه 50، با یک لایه شامل 1000 نرون، تعداد تکرار 1000 و نرخ حذف نرون برابر با 0.5 به دست آورد.
**مدل شبکه عصبی بازگشتی**
همانطور که گفته شد شبکه های عصبی بازگشتی به دلیل داشتن توانایی ذاتی توالی بودن برای خیلی از مسائل پردازش زبان طبیعی استفاده می شوند، در هر لحظه ویژگی یکی نشانه به مدل وارد می شود و سپس برچسب MWE مربوط به این نشانه تشخیص داده می شود.
بسیاری از پارامترهایی که برای شبکه جلورو لایه ای تنظیم شده بودند نیز برای شبکه عصبی بازگشتی نیز تنظیم می شوند.
بهترین میزان جریمه($\rho$) بین 10 تا 50 است.
بهترین تعداد نرون ها در لایه مخفی بین 50 تا 300 است.
بهترین نرخ حذف نرون ها در هر مرحله آموزش بین 0.5 تا 1 است.
پارامترهایی که مخصوص شبکه عصبی بازگشتی هستند نیز باید تنظیم شوند مانند یک طرفه یا دو طرفه بودن.
بعد از آزمایش های متعدد روی مجموعه اعتبار سنجی به این نتیجه دست یافتن که بهترین کارایی را می توان با شبکه عصبی بازگشتی تک لایه ای (RNN1) دو طرفه ، با میزان جریمه 25، با یک لایه مخفی شامل 100 نرون، تعداد تکرار 60 و با نرخ حذف 0 به دست آورد.
**مدل شبکه عصبی پیچشی**
هر نشانه یک بردار ویژگی دارد و این بردارهای ویژگی در کنار هم ورودی شبکه عصبی بازگشتی را تشکیل می دهند، شبکه عصبی پیروی این ورودی ها عمل می کند.
همانند شبکه جلورو لایه ای، بهترین اندازه پنجره محاوره شبکه عصبی پیچشی 1، 2 و 3 است.
بهترین تعداد نرون ها در لایه مخفی بین 25 تا 200 است.
در مقابل RNN1 و LFN1، در اینجا تعداد مختلفی از لایه های پنهان کاملا متصل 1_3 در نظر گرفته شده است.
بهترین نرخ حذف نرون در هر مرحله آموزش بین 0.3 تا 1 است.
بهترین میزان جریمه($\rho$) بین 10 تا 30 است.
پارامترهایی که مخصوص شبکه عصبی پیچشی هستند نیز باید تنظیم شوند مانند تعداد فیلترها
# نتایج
مقدار میانگین f-score مدل ها روی مجموعه آزمون همراه با تعمیم دادن آنها در جدول زیر نمایش داده شده است.
![](https://boute.s3.amazonaws.com/289-f.jpg)
برای محاسبه کارایی مدل ها روی مجموعه دادگان مدلها بر روی تمامی مجموعه آموزش که شامل اعتبار سنجی نیز می باشد آموزش داده شده و سپس بر روی مجموعه آزمون آزمایش شد.
در اینجا ابتدا مدلهای سنتی یادگیری ماشین را بررسی شده است. در میان این مدل ها gradient boosting بهترین عملکرد را روی مجموعه اعتبار سنجی داشت که می توان به خصوصیت gradient boosting برای یادگیری توابع پیچیده و نیرومندی آن نسبت به داده های خارج از محدوده دانست. گرچه آن بر روی مجموعه آزمون به خوبی عمل نکرد که logistic regression بهترین عملکرد را در این قسمت داشت و بهترین عمومی سازی را در میان مدلهای سنتی یادگیری ماشین داشت.
مدل RNN1 بهترین تعمیم دهندگی را بین همه مدل ها بدست آورد اگرچه عملکرد نسبتا ضعیف نسبت به بقیه مدلهای شبکه عصبی روی هر دو مجموعه اعتبارسنجی و مجموعه آزمون داشت. مدلهای CNN ، CNN2 , CNN3 نسبت به بهترین نتایج قبلی روی مجموعه آزمون بهبود داشتند که CNN3 بهترین F-score کلی را بدست آورد و از همه مدل های دیگر به غیر از اشنایدر بر روی مجموعه اعتبار سنجی پیشی گرفت.
پیروزی CNN3 بر CNN2 نشان می دهد که اضافه کردن یک لایه مخفی اضافه برای مدل CNN کارایی آن را تا حدی افزایش می دهد.
این نتایج نشان می دهند که شبکه عصبی پیچشی هنوز می توانند نتایج خوب بدست بیاورند زمانی که میزان داده یادگیری موجود محدود است.
بیشترین F-score روی مجموعه آزمون با CNN3 به اندازه 59.96 % بدست آمد.
# کارهای آینده
در کار آینده می شود یک تحلیل عمیق روی خطاهای انجام شده در مدلهای شبکه عصبی انجام داد. همچنین مدلهای پیشنهادی یادگیری عمیق نیز می توانند توسعه یابند تا نشانه supersense را علاوه بر عبارات چند کلمه ای حدس بزنند.
به طور خلاصه می شود تا کارایی یک مدل تکی که عبارات چند کلمه ای و supersense را با هم حدس می زند را در مقابل دو مدل جداگانه برای هر کار مقایسه کنیم.
# مراجع
1. Timothy Baldwin and Su Nam Kim. 2010. Handbook of natural language processing. In Nitin Indurkhya and Fred J. Damerau, editors, Handbook of Natural Language Processing , CRC Press, Boca Raton, USA. 2nd edition.
2. Ivan A. Sag, Timothy Baldwin, Francis Bond, Ann Copestake, and Dan Flickinger. 2002. Multiword expressions: A pain in the neck for NLP. In Proceedings of the Third International Conference on Intelligent Text Processing and Computational Linguistics (CICLING 2002) . pages 1–15.
3. Marine Carpuat and Mona Diab. 2010. Task-based evaluation of multiword expressions: a pilot study in statistical machine translation. In Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics . Los Angeles, California, pages 242–245.
4. David Newman, Nagendra Koilada, Jey Han Lau, and Timothy Baldwin. 2012. Bayesian text segmentation for index term identification and keyphrase extraction. In Proceedings of COLING 2012 . Mumbai, India, pages 2077–2092.
5. G´aborBerend. 2011. Opinion expression mining by exploiting keyphrase extraction. In Proceedings of 5th International Joint Conference on Natural Language Processing . Chiang Mai, Thailand, pages 1162–1170.
6. Nathan Schneider, Emily Danchik, Chris Dyer, and A. Noah Smith. 2014a. Discriminative lexical semantic segmentation with gaps: Running the mwe gamut. Transactions of the Association for Computational Linguistics (TACL) 2:193–206.
7. Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. 2012. ImageNet classification with deep convolutional
neural networks. In F. Pereira, C. J. C. Burges, L. Bottou, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 25, Curran Associates, Inc., pages 1097–1105.
8. Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2015. Neural machine translation by jointly
learning to align and translate. In International Conference on Learning Representations (ICLR2015).
9. Yoon Kim. 2014. Convolutional neural networks for sentence classification. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, EMNLP, A meeting of SIGDAT, a Special Interest Group of the ACL . Doha, Qatar, pages 1746–1751.
10. Yoon Kim, Yacine Jernite, David Sontag, and Alexander M. Rush. 2016. Character-aware neural language models. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence . Phoenix, Arizona, USA, pages 2741–2749.
11. Nitish Srivastava, Geoffrey E. Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. 2014. Dropout: a simple way to prevent neural networks from overfitting. Journal of Machine Learning Research 15(1):1929–1958.
1. Multiword Expression
2. Deep learning
3. Neural Network
4. NLP
5. Machine Translation
6. Feedforward Network
7. Recurrent Neural Network
8. Convolutional Neural Network
9. DIMSUM
10. LFN
11. RNN
12. CNN