چکیده :
در زمینه بازیابی اطلاعات با query_document_pair و در زمینه question_answering با question_answer_pair مواجه هسیم . قبل از یادگیری جفتهای مذکور باید از فضای اصلی (فضای نمادین کلمات) به فضای ویژگیها(شامل ویژگی نوشتاری1 و معنایی2 و لغوی3 ....)
نگاشت شوند .
در این مقاله سعی شده تا با استفاده از معماری CNN ، برای رتبه بندی جفتها، به منظور به دست اوردن یک نمایش بهینه از آنها و همچنین یک تابع
شباهت 4برای بدست آوردن یک ارتباط باناظر5 بین آنها استفاده شود .
متد مورد نظر روی دوعملیات6 زیر در زمینه بازیابی اطلاعات7 از trec تست شده
1-Question answering
2-microblog Retrieval
۱. یادگیری برای رتبهبندی8
۱.۱. فرموله کردن مسئله:_
ما در اینجا یک مجموعه از پرس و جو9 داریم (q عضو Q )که هر کدام از این query ها دارای جواب کاندید خود هستند
که این کاندید ها با توجه به ارتباط با سوال قضاوت میشوند که این مجموعه در صورت ارتباط مقدار یک یا بالاتر و در غیر این صورت مقدار صفر دارا است
۱.۲. روشهای یادگیری:_
سه روش متداول برای ساخت تابع رتبه بندی براساس اسم این است :
یکی از تفاوتهای این روش با روش نقطه به نقطه10 در داشتن یک حداستانه11 است و همچنین این پارامتر اضافه باعث جداسازی بهتر میشود
3- Listwise
در اینجا ما از روش point wise استفاده میکنیم اگرچه دوروش دیگر از روش اول که فقط یک تابع جداسازی به روش خطی است کارایی بالاتری دارند ولی در هنگام اموزش شبکه تاثیر کمتری دارند و همچنین به علت پیچیدگی بیشتر و محاسبات سنگین انها استفاده نشدند .
۲. ساختار مدل عمیق 12
۲.۱. ساختار جمله:
در این مرحله هدف ما این است داده های ورودی را به شکل مورد نظر برای شبکه تبدیل کرد ، بعبارتی بتوان : یک ارائه میانی13 از پرس وجو و سندها14 ارائه کرد که بتوان از ان برای بررسی تطابق معنایی انها استفاده کرد
۲.۱.۱. ساختار ماتریس جمله 15:
هر جمله s شامل مجموعه از کلمات است
که هر کلمه از مجموعه کلمات V انتخاب شده است که هر کلمه
باید از ماتریس تعبیه شده
که شامل تمام لغات در V است ، جستجو شود . برای راحتی جستجو لغات بصورت عددی16 اندیس گذاری شده اند . 1,2,3…|v|
برای هر جمله ورودی باید ماتریس ان جمله ساخته شود. به شکلی هر ستون i متناظر باکلمه شماره i است که در مکان متناظر با ان قرار دارد
۲.۱.۲. لایه ها برای ارائه میانی :
۲.۱.۳.
با توجه به شکل برای اینکه یک ارائه میانی از جمله ورودی داشته باشیم نیازبه ماتریس جمله s داشتیم ، بعد از آن نیاز به فیلترها داریم که دارای ابعاد d*m است .البته در صورت استفاده از پنجره عریض 17باید چپ و راست ماتریس جمله به تعداد m-1 ستون صفر اضافه کرد عموما چون تاثیر ستون های ابتدایی وانتهایی در حالت wide بیشتر دیده میشود از این حالت استفاده میکنند . در ضمن خروجی فیلتر ها به صورتی برداری ساخته میشود البته دلیلش هم مشخص است چون تعداد سطرهای آن با ماتریس جمله یکی است .
نیاز به تابع فعالساز است که میتوان از 18tanh , sigmoid , relu استفاده کرد باتوجه به ازمایشات انجام شده relu بهتر جواب میدهد [1]
2.1.4. Pooling:
یکی دیگر از ملزمات ما استفاده از لایه پولینگ (poling) است . برای این لایه دو روش مرسوم است که کار کاهش نمونه19 یا همان پولینگ را انجام میدهند (maxpooling,average pooling ) که این روشها با معایبی همراه هستند .
1-average pooling :
مشکل این روش این است که کل درایه هی ورودی درگیر این میانگین گیری میشوند که برای توابع فعالسازی
همچون tanh ممکن است منفی ها و مثبت ها یکدیگر را خنثی کنند[2]
2- maxpooling :
برای این روش هر چند مشکل بازگشت به عقب روش بالا وجود ندارد اما این مشکل 20 بیش برازش دارد .
برای حل مشکلات فوق میتوان k-maxpooling استفاده کرد[3]
۲.۲. معماری برای تطابق جفت متن ها 21
در این مرحله ما میخواهیم نشان دهیم که چگونه میتوانیم با استفاده از یک ارائه میانی از ورودید . بتوانیم میزان شباهت سندها و سوالات رو بررسی کرده و رتبهبندی
کنیم . یک سری توضیحات راجع به لایههای باقی مانده هم ارائه میدهیم
۲.۲.۱. تطابق پرس و جو و سندها :
در این مرحله میخواهیم با توجه به ارائه میانی از سندها و پرس وجوها بتوانیم یک معیار شباهت بین این دو ورودی پیدا کنیم .
این معادله برای میزان شباهت استفاده کردیم .
در این معادله
یک ماتریس تشابه است . که این ماتریس در طول آموزش میتواند بهبود یابد و تمرین داده شود . معادله بالا یک مدل کانال نویزی 22است که در ترجمه ماشین 23استفاده شود
۲.۲.۲. لایه مخفی 24
در این بخش با یک لایه مخفی قبل از لایه بیشنه هموار 25 مواجه هسیم که معادله آن به شکل زیر است
۲.۲.۳. بیشینه ملایم :
در این لایه خروجی لایهها که به بصورت بردار مانند برایش فرستاده شده است برای آنها احتمالشان محاسبه شده است
۲.۲.۴. جریان اطلاعات 26
در این قسمت به بررسی برداری میپردازیم که شامل ارائه میانی ورودی و شباهت بین آنها و ویژگی های اضافی است تا آماده دبرای انتقال به لایه بیشینه هموار
باشد .
۲.۲.۵. تمرین شبکه :
در این مرحله شبکه باید با توجه به پارامترها خود را آموزش بدهد.
در این مرحله بر اساس cross-entropy برای تابع هزینه عمل میکند . A خروجی لایه بیشینه هموار است و تتا شامل تمامی پارامترها است
شامل ماتریس کلمات ،وزن و بایاس فیلترها و ماتریس شباهت و وزن و بایاس لایه مخفی و بیشینه هموار . البته ناگفته نماند که میتوان با استفاده از لایه کنارهگیری27 با نسبت 0.5 استفاده کرد که باعث تنظیم لایه ها میشود و جلوگیری از اینکه بیش از حد تطابق پیدا کند .
۲.۳. ارزیابی 28
در این مرحله بر اساس دو معیار MAP[^6] و MRR[^7] به بررسی معماری خود برروی دیتاست مربوطه میپردازیم ابتدا تعریف دو معیار فوق را میگوییم .
MRR :
فرمول این معیار عبارت است از :
که (Rank(q یعنی اینکه جایگاه اولین جواب درست از لیست کاندید
MAP :
این معیار به بررسی تمامی جوابهای درست برای سوال مورد نظر پرداخته
حال به مقایسه روش مربوطه میپردازیم
۲.۴. مراجع
1.V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In Proceedings of the 27th International Conference on Machine Learning (ICML-10), pages 807–814, 2010.
2.M. D. Zeiler and R. Fergus. Stochastic pooling for regularization of deep convolutional neural networks. CoRR, abs/1301.3557, 2013.
3.N. Kalchbrenner, E. Grefenstette, and P. Blunsom. Aconvolutional neural network for modelling sentences.
Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, June 2014.
syntactic
semantic
lexical
Similarity function
supervised
task
Information retrieval
Learning to rank
query
pointwise
threshold
Deep model
intermediate representations
document
Matrix sentence
integer
wide
Rectified linear unit
Down sampling
overfitting
Text pair
noisy channel
machine translation
Hidden layer
Softamx
Information flow
Dropout
evaluation