سیستم پرسش و پاسخ (Question Answering) یا به اختصار QAسیستمی است که به صورت اتوماتیک به پرسش مطرح شده توسط انسان در زبان طبیعی پاسخ میدهد.
موضوع پاسخ به پرسش در حوزه پردازش زبان طبیعی یکی از مقولات پرطرفدار و پرکاربرد است که بر ساختن سیستمهایی تمرکز دارد که به طور خودکار به سؤالات مطرح شده توسط انسان به زبان طبیعی پاسخ میدهد.
درک رایانه ای از زبان طبیعی شامل توانایی یک سیستم برنامه برای ترجمه جملات به یک زبان قابل فهم است به طوری که این سیستم پاسخ های معتبری را برای سؤالات پرسیده شده توسط کاربر ایجاد می کند ، پاسخ های معتبر به معنای پاسخ های مرتبط با سوالات مطرح شده توسط کاربر است.
سیستم پرسش وپاسخ (QA) به دهه 1960 بازمیگردد. سیستمهای پرسش وپاسخهای اولیه بر روی دامنه های محدود (closed domains) متمرکز بودند.
دو نمونه قابل توجه از سیستمهای پرسش وپاسخ، سیستم پرسش وپاسخ BASEBALL که با هدف پاسخگویی به سوالات درمورد بازيهاي بیسبال انجام شده در لیگ آمریکا در یک فصل، طراحی شده بود. این سیستم یک برنامه ی کامپیوتري بود که به پرسشهاي انگلیسی مرتبط پاسخ میداد. پرسشها پیرامون ماه، روز، مکان برگزاری، تیمها و امتیازات کسب شده در هریک از بازيها از سیستم پرسیده میشدند، و دومین سیستم LUNAR بود که تجزیه و تحلیلهاي انجام شده روي نمونه سنگهای کره ماه که در یک سفر توسط آپولو به دست آمده بودند را در یک پایگاه جمع آوري کرده و به پرسشهایی در این زمینه پاسخ میداد در آن زمان براي ارزیابی این سیستم، زمین شناسان را تشویق کردند تا در مدت سه روز، سوالات خود را از سیستم بپرسند. از میان 111 سوال پرسیده شده در حوزه ي سنگهاي ماه، لونار توانست به 78% از پرسشها به درستی پاسخ دهد.
این سیستمها پرس وجوهای (کوئریهای) زبان طبیعی را تجزیه کرده و آنها را به کوئری های پایگاه داده ترجمه کردند، که آنها را بتوان بر روی پایگاه های اطلاعاتی اجرا کرد. آنها تا حدودی به خوبی کار میکردند، تا زمانی که پرسشها مطابق با دامنه محدود دانش خود بودند. در دهه های 1980 و 1990، محققان توجه خود را به سیستم های جامعتر و با دامنهباز (open domain) جابهجا کردند. حرکت به دور از پایگاههای اطلاعاتی، آنها رویکرد بازیابی اطلاعات را پذیرفتند که وابسته به دامنه کمتر بود. آنها هر سوال را به عنوان یک پرس وجو (Query) جستجو میکردند و مجموعه اسناد مربوط به آن را جمعآوری میکردند و پاسخهای کاندید از نتایج استخراج و سپس بهترین پاسخ کاندید را به جستجوگر ارائه میکردند. ظهور سیستمهای QAدامنه باز باعث شد تا کنفرانس بازي ابيمتن Text Retrieval Conference TREC برای ایجاد یک مسابقه پرسش-پاسخی که از سال 1999 آغاز شدهبود، الهام بخش باشد.
سیستم های QAبه دو دسته اصلی تقسیم می شوند:
سیستمهای QA دامنه باز (open domain) و سیستمهای QA دامنه بسته یا دامنه محدود(closed_domain).
سوالات open-domain در پاسخ به سوالات مربوط به تقریبا همه چیز است و تنها به هستان شناسی جهانی و اطلاعاتی مانند جهان وب تکیه میکنند. از سوی دیگر، سوال closed-domain با پاسخ دادن به سوالات در یک حوزه خاص (موسیقی، پیش بینی آب و هوا و غیره) با استفاده از سیستمهای پردازش زبان طبیعی است با ساختن هستان شناسی خاص در حوزه خاص به سوالات در آن حوزه پاسخ میدهد.
· سیستمهای پرسش وپاسخ بر اساس بازیابی اطلاعات (Information Retrieval).
· سیستمهای پرسش وپاسخ بر اساس پایگاه دانش (knowledge based).
· سیستمهای پرسش وپاسخ هیبرید که ترکیبی از دو مدل بالا میباشد و سیستم هایی مانند DeepQA در واتسون IBMاز این نوع هستند.
سیستمهای پرسش وپاسخ مبتنی بر بازیابی اطلاعات یا IR،که به مقدار گستردهای از اطلاعات متنی در وب یا مجموعه هایی نظیر PubMedوابسته است. با توجه به سوال کاربر، تکنیکهای بازیابی اطلاعات ابتدا اسناد و مدارک مربوطه را پیدا میکنند. سپس سیستمها (feature based، عصبی یا هردو) از الگوریتم های درک مطلب برای خواندن این اسناد بازیابی شده استفاده میکنند و مستقیما از قسمتی از متن، پاسخ را تهیه میکنند.
ایده اصلی KBQA این است که کوئری های زبان طبیعی را به کوئری ساخت یافته پایگاه داده تبدیل کند. مثلا :
ex: query = “When was Mady born??"
به یک کوئری پایگاه داده تبدیل میشود :
SELECT born_year FROM testtable WHERE name= 'Mady'
و سپس پاسخ به کاربر برگردانده میشود.
مجموعه داده های موجود برای پاسخ به سؤال
برای شروع به کار در این موضوع نیاز به ابزارهایی داریم که ما را برای ساخت این سیستم ها پشتیبانی کنند که می توان به بعضی از این مجموعه داده ها اشاره کرد :
1- مجموعه داده پاسخگویی به پرسش استنفورد (SQuAD) : یک مجموعه داده درک مطلب است که شامل سوالاتی است که توسط جمعی از متخصصین در مجموعهای از مقالات ویکیپدیا مطرح میشود، که در آن پاسخ به هر سؤال بخشی از متن یا گسترهای از متن خوانده شده می باشد یا ممکن است سوال بی پاسخ باشد.
2- مجموعه داده WikiQA ، مجموعهای از جفتهای پرسش و پاسخ در دسترس عموم است که برای تحقیق درباره پاسخگویی به سؤالات دامنه باز جمعآوری و حاشیهنویسی شده است.این مجموعه با استفاده از یک فرآیند طبیعی تر ساخته شده است و بیش از دو برابر مجموعه داده قبلی است.
3- مجموعه داده TREC-QA شامل الگوهای پرسش و پاسخ و همچنین مجموعه ای از اسناد است که توسط تیم های شرکت کننده بازگردانده شده اند.
4- مجموعه داده NewsQA : برای کمک به جامعه تحقیقاتی در ساخت الگوریتم هایی است که قادر به پاسخگویی به سؤالاتی است که نیاز به درک در سطح انسانی و مهارت های استدلالی دارند.
سه الگوی اصلی پیشرفته برای پاسخ به سؤال وجود دارد:
IR-based Factoid Question Answering
پاسخ به سؤال کاربر با یافتن بخش های متن کوتاه در وب یا مجموعه دیگری از اسناد است. در مرحله پردازش سوال تعدادی از اطلاعات از سوال استخراج می شود. نوع پاسخ یعنی نوع موجودی که پاسخ از آن تشکیل شده است را مشخص می کند (شخص، مکان، زمان و غیره). در نهایت پرس و جو کلمات کلیدی را مشخص می کند که باید برای سیستم IR در جستجوی اسناد استفاده شود.
ایده پاسخ به یک سوال زبان طبیعی با روش هدایت آن به یک پرسش در یک پایگاه داده ساختاریافته انجام می گیرد .بنابراین، شکل منطقی سؤال یا به صورت پرس و جو است یا به راحتی می توان آن را به یک سؤال تبدیل کرد. پایگاه داده می تواند یک پایگاه داده کامل رابطه ای یا پایگاه داده های ساده تر ساختار یافته مانند مجموعه های سه گانه RDF باشد. سیستم های نگاشت از یک رشته متنی به هر شکل منطقی را تجزیه کننده معنایی می نامند. تجزیهکنندههای معنایی برای پاسخگویی به سؤال معمولاً به نسخهای از محاسبات معمول یا یک زبان پرس و جو مانند SQL یا SPARQL نگاشت میشوند.
سیستم واتسون 2011 نمونه ای از سیستمی است که برای پاسخ به سؤالات از منابع متنوعی استفاده می کند
- مرحله اول پردازش سوال است.
- سیستم DeepQA تجزیه، برچسب گذاری موجودیت نامگذاری شده و استخراج رابطه را روی سوال اجرا می کند.
- سپس، مانند سیستمهای مبتنی بر متن، سیستم DeepQA تمرکز، نوع پاسخ (که نوع پاسخ لغوی یا LAT نیز نامیده میشود) را استخراج میکند و طبقهبندی سؤال و بخشبندی سؤال را انجام میدهد.
در نهایت سوال بر اساس نوع به عنوان سوال تعریف، چند گزینه ای، پازل یا پر کردن جای خالی طبقه بندی می شود.
مرحله بعدی، مرحله تولید پاسخ داوطلب با توجه به نوع سؤال است، که در آن سؤال پردازش شده با اسناد خارجی و سایر منابع دانش ترکیب می شود تا پاسخ های بسیاری از داوطلبان را پیشنهاد دهد. این پاسخ های نامزد را می توان از اسناد متنی یا از پایگاه های دانش ساخت یافته استخراج کرد.
سپس نوبت به نمره دهی پاسخ های داوطلبان می رسد که از منابع زیادی برای نمره دادن به داوطلبان استفاده می کند.یکی از مهمترین آنها نوع پاسخ لغوی است.
در مرحله ادغام و امتیازدهی پاسخ نهایی، ابتدا پاسخ های داوطلب را که معادل هستند ادغام می کند.ادغام و رتبه بندی در واقع به صورت تکراری اجرا می شود. ابتدا کاندیداها توسط طبقهبندیکننده رتبهبندی میشوند، یک مقدار اولیه تقریبی برای هر پاسخ داوطلب ارائه میشود، سپس از آن مقدار برای تصمیمگیری استفاده میشود که کدام یک از انواع یک نام به عنوان پاسخ ادغامشده انتخاب شود، سپس پاسخهای ادغامشده دوباره رتبهبندی میشوند.
چالشهای اصلی که توسط یک سیستم پاسخگویی به سؤالات ایجاد میشود در زیر توضیح داده شدهاند:
در یک زبان طبیعی، یک معنا را می توان به اشکال مختلف بیان کرد.
از آنجایی که معمولاً تنها در صورتی می توان به یک سؤال پاسخ داد که هر مفهوم ارجاعی مشخص شود، پر کردن این شکاف به طور قابل توجهی نسبت سؤالاتی را که می تواند توسط یک سیستم پاسخ داده شود افزایش می دهد.
این پدیده همان عبارت است که معانی متفاوتی دارد. این می تواند ساختاری و نحوی (مانند "هواپیماهای پرنده") یا لغوی و معنایی (مانند "بانک") باشد. همان رشته به طور تصادفی به مفاهیم مختلف (مانند بانک پول در مقابل ساحل رودخانه) و چند معنایی اشاره دارد، که در آن رشته یکسان به مفاهیم متفاوت اما مرتبط (مانند بانک به عنوان یک شرکت در مقابل بانک به عنوان یک ساختمان) اشاره دارد.
دانش در وب به زبان های مختلف بیان می شود. در حالی که منابع RDFرا می توان به چندین زبان به طور همزمان با استفاده از برچسب های زبان توصیف کرد، هیچ زبان واحدی وجود ندارد که همیشه در اسناد وب استفاده شود. علاوه بر این، کاربران زبان های مادری متفاوتی دارند. انتظار می رود یک سیستم QA یک زبان را تشخیص دهد و نتایج را در حرکت دریافت کند!
http://nlpprogress.ir/farsi/question_answering
https://medium.com/lingvo-masino/question-and-answering-in-natural-language-processing-part-i-168f00291856