پرسش و  پاسخ در پردازش زبان طبیعی

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