Введение

Ответы на вопросы (QA) — это дисциплина информатики, относящаяся к областям информационного поиска и обработки естественного языка (NLP), занимающаяся разработкой систем, которые автоматически отвечают на вопросы, сформулированные человеком на естественном языке.

История

Двумя ранними системами ответов на вопросы были BASEBALL и LUNAR. В течение года BASEBALL отвечал на вопросы о Главной лиге бейсбола. LUNAR отвечал на вопросы о геологическом анализе образцов горных пород, доставленных лунными миссиями "Аполлон". Обе системы ответов на вопросы были весьма эффективны в своих областях. LUNAR был продемонстрирован на конференции по лунной науке в 1971 году и смог ответить на 90% вопросов в своей области, заданных людьми, не прошедшими обучение работе с системой. В последующие годы были разработаны другие системы ответов на вопросы, ориентированные на более узкие области. Общей чертой всех этих систем было наличие центральной базы данных или системы знаний, созданной вручную экспертами в выбранной области. Языковые возможности BASEBALL и LUNAR использовали методы, аналогичные ELIZA и DOCTOR, первым программам-чатботам. SHRDLU – успешная программа ответов на вопросы, разработанная Терри Виноградом в конце 1960-х – начале 1970-х годов. Она моделировала работу робота в мире игрушек ("мир блоков") и предоставляла возможность задавать роботу вопросы о состоянии этого мира. Сильной стороной этой системы был выбор очень специфической области и простого мира с правилами физики, которые легко было закодировать в компьютерной программе. В 1970-х годах были разработаны базы знаний, ориентированные на более узкие области знаний. Системы ответов на вопросы, разработанные для взаимодействия с этими экспертными системами, выдавали точные и корректные ответы на вопросы в пределах определенной области знаний. Эти экспертные системы были очень похожи на современные системы ответов на вопросы, за исключением их внутренней архитектуры. Экспертные системы в значительной степени опираются на базы знаний, созданные и структурированные экспертами, в то время как многие современные системы ответов на вопросы используют статистическую обработку больших, неструктурированных текстовых корпусов на естественном языке. 1970-е и 1980-е годы ознаменовались развитием всесторонних теорий в области вычислительной лингвистики, что привело к созданию амбициозных проектов в области понимания текста и ответов на вопросы. Одним из примеров был Unix Consultant (UC), разработанный Робертом Виленски в Калифорнийском университете в Беркли в конце 1980-х годов. Система отвечала на вопросы, касающиеся операционной системы Unix. Она имела обширную, созданную вручную базу знаний в своей области и стремилась формулировать ответы с учетом различных типов пользователей. Другим проектом был LILOG – система понимания текста, работавшая в области туристической информации в одном немецком городе. Системы, разработанные в рамках проектов UC и LILOG, так и не вышли за рамки простых демонстраций, но способствовали развитию теорий вычислительной лингвистики и рассуждений. Были разработаны специализированные системы ответов на вопросы на естественном языке, такие как EAGLi для специалистов в области здравоохранения и биологии.

Архитектура

С 2001 года системы ответов на вопросы обычно включали модуль классификации вопросов, который определял тип вопроса и тип необходимого ответа. Различные типы систем ответов на вопросы используют различные архитектуры. Например, современные системы ответов на вопросы в открытом домене могут использовать архитектуру "извлекатель-читатель". Извлекатель предназначен для поиска релевантных документов, связанных с заданным вопросом, а читатель – для извлечения ответа из найденных документов. Такие системы, как GPT-3, T5 и BART, используют сквозную архитектуру, в которой архитектура на основе трансформера хранит большие объемы текстовых данных в своих параметрах. Эти модели могут отвечать на вопросы, не обращаясь к внешним источникам знаний.

Методы ответов на вопросы

Ответы на вопросы зависят от качественного поискового корпуса; без документов, содержащих ответ, любая система ответов на вопросы мало что сможет сделать. Как правило, более крупные коллекции обеспечивают более высокую производительность, если область вопросов не пересекается с областью охвата коллекции. Избыточность данных в больших коллекциях, таких как веб, означает, что фрагменты информации, вероятно, будут представлены различными способами в разных контекстах и документах, что дает два преимущества:

Если нужная информация представлена в разных формах, системе ответов на вопросы потребуется меньше сложных методов обработки естественного языка для понимания текста. Правильные ответы можно отфильтровать от ложных срабатываний, поскольку система может полагаться на то, что версии правильного ответа будут встречаться в корпусе чаще, чем неправильные. Некоторые системы ответов на вопросы в значительной степени полагаются на автоматизированное логическое заключение.

Ответы на вопросы открытого домена

При поиске информации система ответов на вопросы открытого домена пытается предоставить ответ на вопрос пользователя. Предоставляемый ответ имеет форму коротких текстов, а не списка релевантных документов. Система находит ответы, используя комбинацию методов из области вычислительной лингвистики, информационного поиска и представления знаний. Система принимает на вход вопрос, заданный на естественном языке, а не набор ключевых слов, например: "Когда национальный день Китая?". Затем она преобразует это входное предложение в запрос в логической форме. Принятие вопросов на естественном языке делает систему более удобной для пользователя, но усложняет ее реализацию, поскольку существует множество типов вопросов, и системе необходимо определить правильный, чтобы дать осмысленный ответ. Определение типа вопроса является критически важной задачей; весь процесс извлечения ответа зависит от определения правильного типа вопроса и, следовательно, правильного типа ответа. Извлечение ключевых слов – это первый шаг в определении типа входного вопроса. В некоторых случаях слова явно указывают на тип вопроса, например, "Кто", "Где", "Когда" или "Сколько" – эти слова могут подсказать системе, что ответы должны быть соответственно типа "Личность", "Местоположение", "Дата" или "Число". Методы определения частей речи (POS-теггинг) и синтаксического анализа также могут определить тип ответа. В приведенном выше примере, подлежащее – "Национальный день Китая", сказуемое – "is", а обстоятельство – "when", следовательно, тип ответа – "Дата". К сожалению, некоторые вопросительные слова, такие как "Какой", "Что" или "Как", не соответствуют однозначным типам ответов: каждое из них может представлять более одного типа. В таких ситуациях необходимо учитывать другие слова в вопросе. Лексический словарь, такой как WordNet, может быть использован для понимания контекста. После того, как система определяет тип вопроса, она использует систему информационного поиска для нахождения набора документов, содержащих правильные ключевые слова. Тэггер и чанковщик NP/Verb Group могут проверить, упоминаются ли в найденных документах правильные сущности и отношения. Для вопросов типа "Кто" или "Где" распознаватель именованных сущностей находит релевантные имена "Личность" и "Местоположение" в извлеченных документах. Модель векторного пространства может классифицировать варианты ответов. Необходимо проверить, соответствует ли ответ правильному типу, определенному на этапе анализа типа вопроса. Метод логического вывода может подтвердить варианты ответов. Затем каждому из этих вариантов присваивается оценка в зависимости от количества вопросительных слов, которые он содержит, и от того, насколько близко эти слова расположены к варианту – чем больше и чем ближе, тем лучше. Затем ответ преобразуется путем синтаксического анализа в компактное и содержательное представление. В предыдущем примере ожидаемый ответ – "1 октября".

Ответы на математические вопросы

В 2018 году была опубликована система ответов на вопросы с открытым исходным кодом, известная как MathQA, основанная на Ask Platypus и Wikidata. MathQA принимает в качестве ввода вопрос на английском или хинди языке и возвращает математическую формулу, полученную из Wikidata в виде краткого ответа, переведенного в вычислимую форму, которая позволяет пользователю вставлять значения для переменных. Система извлекает имена и значения переменных и общих констант из Wikidata, если они доступны. Утверждается, что система превосходит коммерческий вычислительный математический движок знаний на тестовом наборе. MathQA размещается на Викимедиа по адресу https://mathqa.wmflabs.org/. В 2022 году она была расширена, чтобы отвечать на 15 типов математических вопросов. Методы MathQA должны сочетать естественный язык и язык формул. Один из возможных подходов — выполнение контролируемой аннотации посредством связывания сущностей. На CLEF 2020 была запущена "Задача ARQMath" для решения проблемы связывания новых вопросов с платформы Math Stack Exchange с существующими, на которые уже было сообществом дано ответы. Предоставление гиперссылок на уже отвеченные, семантически связанные вопросы помогает пользователям быстрее получать ответы, но является сложной задачей, поскольку семантическая связанность не является тривиальной. Лаборатория была мотивирована тем, что 20% математических запросов в поисковых системах общего назначения сформулированы в виде корректных вопросов. Задача включала два отдельных подзадания: Задача 1: "Поиск ответов" – сопоставление ответов из старых публикаций с новыми вопросами, и Задача 2: "Поиск формул" – сопоставление формул из старых публикаций с новыми вопросами. Начиная с области математики, которая включает язык формул, цель состоит в том, чтобы в дальнейшем расширить задачу на другие области (например, STEM-дисциплины, такие как химия, биология и т. д.), использующие другие типы специальной нотации (например, химические формулы). Затем формулы перестраиваются для создания набора вариантов формул. Впоследствии переменные заменяются случайными значениями для генерации большого количества различных вопросов, подходящих для индивидуального тестирования студентов. PhysWikiquiz размещается на Викимедиа по адресу https://physwikiquiz.wmflabs.org/.