Кіріспе

Компьютерлік ғылым саласы
Сұрақ-жауап (QA) – ақпаратты іздеу және табиғи тілді өңдеу (NLP) салаларындағы компьютерлік ғылым саласы. Ол адамдардың табиғи тілде қойған сұрақтарға автоматты түрде жауап беретін жүйелерді құрумен айналысады.

Тарих

Алғашқы екі сұрақ-жауап жүйесі – BASEBALL және LUNAR болды. BASEBALL бір жыл бойы Үлкен лига бейсболы туралы сұрақтарға жауап берді. LUNAR «Аполлон» ғарыш миссияларымен Айдан әкелінген тау жыныстарының геологиялық талдауы туралы сұрақтарға жауап берді. Екі сұрақ-жауап жүйесі де өздері таңдаған салаларында өте тиімді болды. LUNAR 1971 жылы Ай ғылымы конвенциясында көрсетілді және жүйе туралы білімі жоқ адамдар қойған өз саласы бойынша сұрақтардың 90%-ына жауап бере алды. Келесі жылдары тағы да шектеулі салалық сұрақ-жауап жүйелері әзірленді. Бұл жүйелердің ортақ ерекшелігі – олардың таңдалған саланың мамандары қолмен жазған негізгі деректер қоры немесе білім жүйесінің болуы. BASEBALL және LUNAR тілдік мүмкіндіктері ELIZA және DOCTOR сияқты алғашқы чатбот бағдарламаларына ұқсас техникаларды қолданды. SHRDLU – Терри Виноградтың 1960 жылдардың соңы мен 1970 жылдардың басында әзірлеген сәтті сұрақ-жауап беру бағдарламасы. Ол ойыншық әлеміндегі роботтың жұмысын («блоктар әлемі») симуляциялады және роботқа әлем туралы сұрақтар қою мүмкіндігін ұсынды. Бұл жүйенің артықшылығы – өте нақты доменді және физика ережелері компьютерлік бағдарламаға кодтау оңай болған өте қарапайым әлемді таңдауы болды. 1970 жылдары білімнің тар салаларын бағытталған білім базалары жасалды. Осы сарапшы жүйелермен байланысу үшін әзірленген сұрақ-жауап жүйелері білім саласындағы сұрақтарға дұрыс және нақты жауаптар берді. Бұл сарапшы жүйелер ішкі архитектурасынан басқа қазіргі заманғы сұрақ-жауап жүйелеріне өте ұқсас болды. Сарапшы жүйелер сарапшылар құрастырған және ұйымдастырған білім базаларына көп сүйенеді, ал көптеген қазіргі заманғы сұрақ-жауап жүйелері үлкен, құрылымдалмаған, табиғи тілдік мәтін корпусының статистикалық өңдеуіне сүйенеді. 1970 және 1980 жылдары есептеу лингвистикасының жан-жақты теориялары дамыды, бұл мәтінді түсіну және сұрақтарға жауап беру бойынша амбициялық жобалардың дамуына әкелді. Бір мысал – 1980 жылдардың соңында Роберт Виленскинің Беркли университетінде әзірлеген Unix Consultant (UC). Жүйе Unix операциялық жүйесіне қатысты сұрақтарға жауап берді. Ол өз саласының жан-жақты, қолмен жасалған білім базасына ие болды және әртүрлі пайдаланушыларға жауап беру үшін жауапты бейімдеуге бағытталды. Тағы бір жоба – LILOG, Германиядағы бір қаладағы туристік ақпарат саласында жұмыс істейтін мәтінді түсіндіру жүйесі. UC және LILOG жобаларында әзірленген жүйелер қарапайым демонстрация кезеңінен ешқашан шықпады, бірақ олар есептеу лингвистикасы және ойлау теориясының дамуына көмектесті. Денсаулық сақтау және өмірлік ғылымдар үшін EAGLi сияқты табиғи тілмен сұрақтарға жауап берудің арнайы жүйелері жасалды.

Сәулет

2001 жылдан бастап сұрақ-жауап жүйелері әдетте сұрақтың түрін және жауаптың түрін анықтайтын сұрақ жіктегіш модулін қамтиды. Сұрақ-жауап жүйелерінің әртүрлі түрлері әртүрлі архитектураларды қолданады. Мысалы, қазіргі заманғы ашық домендегі сұрақтарға жауап беру жүйелері ретривер-оқырман архитектурасын пайдалануы мүмкін. Ретривердің мақсаты – берілген сұраққа қатысты тиісті құжаттарды іздеп табу, ал оқырман ізделіп алынған құжаттардан жауапты анықтау үшін қолданылады. GPT 3, T5 және BART сияқты жүйелер трансформаторға негізделген архитектурадағы үлкен көлемдегі мәтіндік деректерді негізгі параметрлерде сақтайтын, аяғынан аяғына дейінгі архитектураны қолданады. Мұндай модельдер сыртқы білім көздерін пайдаланбастан сұрақтарға жауап бере алады.

Сұрақ-жауап әдістері

Сұрақтарға жауап беру үшін сапалы іздеу корпусы қажет; жауаптары бар құжаттар болмаса, ешқандай сұрақ-жауап жүйесі көп нәрсе істей алмайды. Көлемді жинақтар, әдетте, сұрақтарға жауап берудің тиімділігін арттырады, егер сұрақтың саласы жинақтан ерекшеленбесе. Веб сияқты үлкен жинақтардағы деректердің қайталануы ақпараттың әртүрлі контекстерде және құжаттарда түрліше айтылуы мүмкін екенін көрсетеді, бұл екі артықшылыққа алып келеді:

Егер дұрыс ақпарат түрлі форматта ұсынылса, сұрақ-жауап жүйесі мәтінді түсіну үшін аз күрделі тілдік өңдеу (NLP) техникаларын қолдануға тура келеді. Дұрыс жауаптарды қате жауаптардан бөліп алуға болады, себебі жүйе дұрыс жауаптың корпустағы дұрыс емес жауаптардан көбірек кездесетін нұсқаларына сүйене алады. Кейбір сұрақ-жауап жүйелері автоматты қорытуға көп мөлшерде сенеді.

Ашық домендегі сұрақ-жауап

Ақпаратты іздеуде ашық доменді сұрақ-жауап жүйесі пайдаланушының сұрағына жауап беруге тырысады. Берілген жауап тиісті құжаттар тізімі емес, қысқа мәтін түрінде болады. Жүйе есептік лингвистика, ақпаратты іздеу және білімді ұсыну әдістерін үйлестіре отырып жауаптарды табады. Жүйе кілт сөздер жиынтығының орнына табиғи тілдегі сұрақты қабылдайды, мысалы: «Қытайдың ұлттық күні қашан?» Содан кейін жүйе осы кіріс сөйлемді логикалық формадағы сұранысқа түрлендіреді. Табиғи тілдегі сұрақтарды қабылдау жүйені пайдаланушыға ыңғайлырақ етеді, бірақ оны іске асыру қиын, себебі сұрақтардың түрлері әртүрлі және жүйе дұрыс жауап беру үшін дұрыс сұрақ түрін анықтауы керек. Сұраққа сұрақ түрін тағайындау – маңызды міндет; жауапты табу процесінің өзі дұрыс сұрақ түрін және одан кейін дұрыс жауап түрін анықтауға негізделген. Кілт сөздерді іздеу – кіріс сұрақтың түрін анықтаудың алғашқы қадамы. Кейбір жағдайларда сөздер сұрақ түрін анық көрсетеді, мысалы, «Кім», «Қайда», «Қашан» немесе «Қанша» – бұл сөздер жүйеге жауаптар тиісінше «Адам», «Орын», «Күн» немесе «Сан» түрінде болуы керек екенін ұғындыруы мүмкін. POS (сөз табының) белгілеу және синтаксистік талдау әдістері де жауап түрін анықтай алады. Жоғарыдағы мысалда тақырып – «Қытайдың ұлттық күні», предикат – «болу», ал анықтауыш – «қашан», демек, жауап түрі – «Күн». Өкінішке орай, «Қайсы», «Не» немесе «Қалай» сияқты кейбір сұрақтар нақты жауап түрлеріне сәйкес келмейді: әрқайсысы бірнеше түрді білдіре алады. Мұндай жағдайларда сұраққа басқа сөздерді де қарастыру қажет. Контексті түсіну үшін WordNet сияқты лексикалық сөздік қолданылуы мүмкін. Жүйе сұрақтың түрін анықтағаннан кейін, дұрыс кілт сөздерді қамтитын құжаттар жиынтығын табу үшін ақпаратты іздеу жүйесін пайдаланады. Тэггер және NP/Verb Group chunker табылған құжаттарда дұрыс объектілер мен қатынастардың көрсетілгенін тексереді. «Кім» немесе «Қайда» сияқты сұрақтар үшін атаулы тұлғаны танушы алынған құжаттардан тиісті «Адам» және «Орын» атауларын табады. Векторлық кеңістік моделі кандидат жауаптарды жіктеуге мүмкіндік береді. Сұрақ түрін талдау кезеңінде анықталғандай, жауаптың дұрыс түрін тексеріңіз. Дәйектеу әдісі кандидат жауаптарды растай алады. Содан кейін әр кандидатқа сұрақтағы сөздердің санына және олардың кандидатқа қаншалықты жақын екеніне қарай баға беріледі – қанша көп және жақын болса, соғұрлым жақсы. Жауап содан кейін талдау арқылы ықшам және мағыналы түрге аударылады. Алдыңғы мысалда күтілетін жауап – «1 қазан».

Математикалық сұрақтарға жауап беру

2018 жылы Ask Platypus және Wikidata негізінде құрылған, ашық дереккөзді, математиканы түсінетін MathQA сұрақ-жауап жүйесі жарияланды. MathQA ағылшын немесе хинди тіліндегі сұрақты қабылдап, Wikidata-дан алынған математикалық формуланы қысқа жауап ретінде қайтарады. Бұл формула пайдаланушыға айнымалылардың мәндерін енгізуге мүмкіндік беретін есептеу нысанына аударылады. Жүйе, егер қолжетімді болса, айнымалылардың және жиі қолданылатын тұрақтылардың атауларын және мәндерін Wikidata-дан алады. Мақұлданған мәліметтерге сәйкес, жүйе коммерциялық есептеу математикалық білімдер базасындағы тест жиынтығында жақсы нәтижелер көрсетеді. MathQA Wikimedia ұйымында https://mathqa.wmflabs.org/ мекенжайында орналасқан. 2022 жылы жүйе 15 түрлі математикалық сұраққа жауап беруге мүмкіндік алды. MathQA әдістері табиғи тіл мен формула тілін үйлестіруі тиіс. Мүмкін болатын тәсілдердің бірі – Entity Linking арқылы бақыланатын түсіндірулер жасау. CLEF 2020 жарысындағы "ARQMath Task" Math Stack Exchange платформасынан жаңадан қойылған сұрақтарды, қауымдастық жауап берген бұрынғы сұрақтармен байланыстыру мақсатымен ұйымдастырылды. Бұрын жауапталған, семантикалық жақын сұрақтарға гиперсілтемелер беру пайдаланушыларға тезірек жауап алуға көмектеседі, бірақ семантикалық байланыстылықтың анықталуы қиындық тудырады. Зертхананың бастамасы математикалық сұраныстардың 20%-ы жалпы мақсаттағы іздеу жүйелерінде дұрыс құрылған сұрақтар түрінде берілетінімен байланысты. Бұл сынақ екі бөлек тапсырманы қамтиды: 1-тапсырма – "Жауапты іздеу" (жаңа сұрақтарға ескі жазбалардың жауаптарын сәйкестендіру), 2-тапсырма – "Формуланы іздеу" (жаңа сұрақтарға ескі жазбалардың формулаларын сәйкестендіру). Математика саласынан бастап, формула тілін қолдана отырып, мақсат – кейіннен бұл тапсырманы басқа салаларға (мысалы, химия, биология сияқты STEM пәндеріне) кеңейту, оларда басқа арнайы жазу жүйелері қолданылады (мысалы, химиялық формулалар). Содан кейін формулалар формуланың әртүрлі нұсқаларын жасау үшін қайта құрылады. Айнымалылар кездейсоқ мәндермен алмастырылып, жеке студенттерге арналған тесттерге қолайлы көптеген әртүрлі сұрақтар жасалады. PhysWikiquiz Wikimedia ұйымында https://physwikiquiz.wmflabs.org/ мекенжайында орналасқан.