УДК 004.89

DOI: 10.17586/2226-1494-2023-23-1-88-95

ДИАЛОГОВАЯ СИСТЕМА НА ОСНОВЕ УСТНЫХ РАЗГОВОРОВ С ДОСТУПОМ К НЕСТРУКТУРИРОВАННОЙ БАЗЕ ЗНАНИЙ

Маслюхин Сергей Михайлович
ООО «ЦРТ-инновации», Санкт-Петербург, 194044, Российская Федерация
Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация
E-mail: maslyukhin@speechpro.com
ORCID: https://orcid.org/0000-0002-9054-5252

Первоисточник: Маслюхин С. М. Диалоговая система на основе устных разговоров с доступом к неструктурированной базе знаний // Научно-технический вестник информационных технологий, механики и оптики. 2023. Т. 23, № 1. С. 88–95. DOI: 10.17586/2226-1494-2023-23-1-88-95. URL: https://cyberleninka.ru/article/n/dialogovaya-sistema-na-osnove-ustnyh-razgovorov-s-dostupom-k-nestrukturirovannoy-baze-znaniy .

Аннотация. Представлен подход к построению задачно-ориентированной диалоговой системы (разговорного агента) с доступом к неструктурированной базе знаний на основе устных разговоров с применением аугментации письменной речи, имитирующей результаты распознавания устной речи, комбинирования предсказаний классификаторов, генерации текста, дополненной поиском. Подход предусматривает аугментацию обучающих данных двумя способами: (1) преобразованием текста в речь и обратно с помощью систем синтеза и распознавания речи; (2) заменой части слов на основе матрицы спутываний системы распознавания речи. Диалоговая система решает задачу обнаружения высказывания, для которого необходим поиск дополнительной информации в неструктурированной базе знаний: выполнено обучение моделей SVM, CNN, BERT и GPT-2, лучшие модели использованы при взвешенном комбинировании. Далее осуществляется выбор подходящего фрагмента из базы знаний и генерация обоснованного ответа. Задачи выбора и генерации решены путем адаптации подхода Retrieval Augmented Generation (RAG). Выполнена апробация на данных конкурса DSTC10; по всем метрикам, кроме Precision, предложенный подход существенно превосходит базовые решения организаторов. Результаты применимы при создании чат-ботов, обрабатывающих обращения пользователей на естественном языке на основе неструктурированной базы знаний (например, FAQ).

Ключевые слова: диалоговые системы, разговорные агенты, поиск информации, текстовая аугментация, генерация, аугментированная поиском.

Благодарности. Исследование выполнено за счет гранта Российского научного фонда (№ 22-11-00128): https://rscf.ru/project/22-11-00128/ .


Dialogue system based on spoken conversations with access to an unstructured knowledge base.

Abstract. The paper describes an approach for constructing a task-oriented dialog system (a conversational agent) with unstructured knowledge access based on spoken conversations including: written speech augmentation that simulates speech recognition results; combination of classifiers; retrieval augmented text generation. The training data is augmented in two ways: by converting texts into speech and back using TTS/ASR; and by injecting errors based on phonetic similarity (confusion map). The system solves detection of turns that require external knowledge, selection of a relevant knowledge fragment, and answer generation. Models SVM, CNN, BERT and GPT-2 are trained and combined; retrieval and generation are addressed with BiEncoder/DPR and BART, and further with Retrieval Augmented Generation (RAG). The approach is evaluated on DSTC10 data and significantly outperforms baseline models in all metrics except Precision.

Keywords: dialogue systems, conversational agents, information retrieval, text augmentation, retrieval augmented generation.

Ссылка для цитирования: Маслюхин С.М. Диалоговая система на основе устных разговоров с доступом к неструктурированной базе знаний // Научно-технический вестник информационных технологий, механики и оптики. 2023. Т. 23, № 1. С. 88–95. doi: 10.17586/2226-1494-2023-23-1-88-95

Введение

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

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

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

В работах [1–3] рассмотрены важность и сложность моделирования диалога с использованием внешних источников знаний в открытом домене. В настоящей работе подходы, используемые при создании разговорных агентов в открытом домене, адаптированы под задачно-ориентированное моделирование диалога. В отличие от открытого домена, который предполагает наличие и использование широкого набора знаний о мире (например, из Википедии), при задачно-ориентированном моделировании диалога система располагает ограниченным пулом знаний, необходимых для ответа на вопросы в рамках решаемой задачи. При этом большое значение имеет точность выбора знаний из неструктурированной базы и их корректное использование при генерации ответа.

В процессе работы система выполняет задачу обнаружения — определяет необходимость обращения к базе знаний в случае, когда ответ на запрос не может быть получен на основе программного интерфейса. Для решения этой задачи проведено обучение моделей Support Vector Machine (SVM) [4], Convolutional Neural Network (CNN) [5], Bidirectional Encoder Representations from Transformers (BERT) [6] и Generative Pre-Trained Transformer 2 (GPT-2) [7] — лучшие из которых использованы при формировании предсказания путем взвешенного комбинирования.

Далее системой решена задача выбора — поиск в базе знаний текстового фрагмента, содержащего необходимую для ответа информацию. При решении этой задачи выполнено сравнение моделей поиска Dense Passage Retrieval (DPR) [8] и BiEncoder [9].

Последний этап — формирование обоснованного ответа (задача генерации). Для этого выполнено дообучение генеративной модели Bidirectional and Auto-Regressive Transformers (BART) [10]. Также рассмотрен подход генерации, дополненной поиском Retrieval Augmented Generation (RAG), решающий задачи выбора и генерации в рамках одной модели, обучающейся сквозным (end-to-end) образом.

Другой важный аспект — подготовка системы к работе с устной речью. Диалоговые системы достигли многообещающих результатов в письменных диалогах, однако их применение в устной речи затруднено из-за различий в распределении данных и ошибок распознавания речи. Рассмотрены два способа аугментации обучающих данных для адаптации системы к устной речи: (1) преобразование текста в речь и обратно с помощью систем синтеза и распознавания речи; (2) замена части слов в обучающих данных на основе матрицы спутываний системы распознавания речи.

Постановка задачи

Для оценки результатов предложенного подхода использованы данные второй задачи второго трека международного конкурса 10th Dialogue System Technology Challenge (DSTC10) [11]. В отличие от первого трека DSTC9 [12], система оценивается не на письменных диалогах, а на устных. По условиям задачи кросс-доменные разговорные агенты отвечают на вопросы, которые невозможно сгенерировать на основе программного интерфейса и записей в базе данных, поэтому им требуется извлекать связанные пары вопрос–ответ из неструктурированной базы знаний часто задаваемых вопросов. На основе полученных пар вопрос–ответ агенты генерируют ответ на естественном языке.

DSTC10 не предусматривал специального обучающего набора. Вместо этого использован обучающий датасет первого трека DSTC9, состоящий из 72 518 письменных диалогов. Набор представляет расширенную версию MultiWOZ 2.1 [13–15], в которую добавлены запросы, требующие дополнительной информации из текстовых фрагментов (пары «вопрос–ответ») со страниц FAQ. Текстовые фрагменты относительно короткие и охватывают четыре домена: отель, ресторан, поезд и такси; первые два домена разделены на сущности.

В тестовом наборе представлена новая локация — Сан-Франциско и новые текстовые фрагменты, некоторые из которых относятся к новому домену — достопримечательности. Около половины диалогов тестового набора данных получены путем расширения MultiWOZ; другая половина собрана из разговоров между людьми о туристических поездках в Сан-Франциско. Примерно десятая часть разговоров выполнена в устной форме и имеет свойства, аналогичные данным DSTC10.

В качестве системы автоматического распознавания речи при подготовке датасетов использована модель Wav2Vec 2.0 [16], предварительно обученная на 960 часах Librispeech [17] и дообученная с использованием 10% данных целевого домена. Далее получены топ-10 предсказаний с помощью языковой модели-декодера на основе KenLM [18]. Уровень ошибок в словах составил 24,09%, что привело к заметным искажениям данных.

Таблица 1 – Сравнительные характеристики датасетов DSTC9 и DSTC10
Датасет Обучающий Валидационный Тестовый
Письменная речь Устная речь Письменная речь Устная речь Письменная речь Устная речь
DSTC9 72 518 0 9 663 0 3 918 263
DSTC10 72 518 0 0 263 0 1 988

Описание подхода

Предложенный подход включает несколько этапов и решение ряда задач. Первый этап — подготовка данных, направленная на формирование данных для обучения и оценки. Далее реализуется задачно-ориентированная диалоговая система с доступом к неструктурированной базе знаний, решающая задачи: (1) обнаружения высказывания, для которого необходим поиск дополнительной информации; (2) выбора подходящего текстового фрагмента из базы знаний; (3) генерации обоснованного ответа. Общая структура подхода представлена на рисунке.

Общая структура предлагаемого подхода: подготовка данных, обнаружение, выбор и генерация, включая RAG
Рисунок – Общая структура предлагаемого подхода

Задача аугментации данных

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

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

Задача обнаружения

Обнаружение запросов, требующих обращения к базе знаний, сводится к бинарной классификации: модель должна определить, требуется ли дополнительная информация из базы знаний. Проведено сравнение моделей SVM, CNN, BERT и GPT-2. На вход подаются данные текущего запроса без истории диалога, так как история может приводить к неверному выбору класса. Лучшие модели используются в финальном предсказании через взвешенное комбинирование; веса подбираются линейной регрессией на валидационных данных.

Задача выбора

Цель задачи выбора — поиск наиболее подходящего документа из базы знаний для заданного диалога. Для каждого фрагмента из базы знаний модель предсказывает релевантность и выбирает документ с наивысшей оценкой. Выполнено сравнение BiEncoder и DPR: обе модели состоят из двух кодировщиков на основе BERT, один кодирует контекст, другой — кандидатов. Сходство оценивается скалярным произведением. Существенное отличие — способ негативного семплирования.

Задача генерации

Генерация предполагает поддержание естественного диалога в соответствии с контекстом диалога и извлеченным из базы знаний текстовым фрагментом. Использована модель BART (sequence-to-sequence). Кодировщик формирует представление входной последовательности (контекст + релевантный фрагмент), декодировщик генерирует ответ. Обучение ведется на истинно верных фрагментах из базы знаний.

Генерация, дополненная поиском (RAG)

Модель RAG объединяет поиск и генерацию, решая задачи выбора и генерации в одной архитектуре. Первые эксперименты с оригинальной RAG оказались неудачными из-за слабых предсказаний компонентов на новом домене и отсутствия устойчивого обучения. В связи с этим DPR заменен на BiEncoder, обученный на целевом домене, а BART дополнительно дообучен на целевых данных. Затем RAG обучен в режиме end-to-end, что обеспечило лучшие результаты на валидационных данных по подзадачам выбора и генерации.

Эксперименты и результаты

Проведены эксперименты по увеличению объема данных за счет аугментации на задаче обнаружения. Для оценки использованы стандартные метрики бинарной классификации: Accuracy, Precision, Recall и F-score. Зашумление данных путем последовательного преобразования текста в речь и затем обратно в текст не дало положительных результатов: синтезированные данные оказались слишком простыми для ASR и распознавались с нулевой ошибкой (даже при добавлении шумов). При использовании русскоязычной модели синтеза речи получен обратный эффект: вывод ASR оказался полностью отличным от исходного текста.

Аугментация на основе карты акустических спутываний позволила заметно повысить качество на данных DSTC10. Наилучший результат достигнут при добавлении десяти порций аугментированных данных.

Таблица 2 – Результаты сравнения производительности GPT-2 на задаче обнаружения при добавлении различного объема аугментированных данных
Данные в обучении Количество порций аугментированных данных Accuracy Precision Recall F-score
Оригинальные DSTC9 (обучающие) 0,863 0,972 0,673 0,795
Оригинальные DSTC9 (все) 0,920 0,977 0,817 0,890
Аугментированные 1 0,932 0,989 0,837 0,906
Аугментированные 5 0,939 0,968 0,875 0,919
Аугментированные 10 0,947 0,959 0,904 0,931

Наилучшие результаты на задаче обнаружения показала модель GPT-2. Несмотря на распространенное мнение, что BERT лучше подходит для классификации, преимущество GPT-2 может быть связано с большим числом параметров (в несколько раз больше, чем у BERT). Для финального предсказания использовано комбинирование лучших моделей; для всех комбинаций веса подбирались линейной регрессией на проверочном наборе. Отмечено, что малый объем проверочной выборки может ограничивать эффективность подбора весов; в дальнейшем возможны эксперименты с другими методами агрегации (например, двухслойным перцептроном).

Таблица 3 – Результаты экспериментов с моделями-классификаторами для задачи обнаружения
Модель Accuracy Precision Recall F-score
SVM 0,905 0,976 0,779 0,866
CNN 0,905 0,954 0,798 0,869
BERT 0,928 0,967 0,846 0,903
GPT-2 0,947 0,959 0,904 0,931
Комбинация 0,947 0,959 0,904 0,931

В задаче выбора проведено сравнение BiEncoder и DPR, включая сложные случаи с набором похожих кандидатов внутри домена. Для оценки использована метрика полноты ранжирования (recall) — доля случаев, когда верный ответ оказался в топ-k предсказаний. Подход с использованием ответов из батча как дистракторов оказался эффективным: BiEncoder значительно превосходит DPR на обоих наборах кандидатов.

Таблица 4 – Результаты сравнения моделей BiEncoder и DPR на задаче выбора
Модель Коэффициент скорости обучения Количество простых негативных примеров Количество сложных негативных примеров R10@1 для сложных негативных примеров R100@1 для простых негативных примеров
BiEncoder 1·10−5 0,79 0,96
DPR 1·10−5 12 12 0,50 0,43
DPR 2·10−6 12 12 0,54 0,52
DPR 2·10−6 1 15 0,52 0,28

Модель RAG незначительно превосходит BiEncoder по подзадаче выбора, а по генерации демонстрирует лучший результат, так как учитывает топ-20 предсказаний поиска релевантных фрагментов, а не только топ-1.

Таблица 5 – Сравнение конвейера BiEncoder + BART с моделью RAG на задаче генерации
Модель R12039@1 R12039@5 BLEU-1 Meteor Rouge-1
BiEncoder + BART 0,625 0,760 0,132 0,150 0,143
RAG 0,625 0,769 0,139 0,155 0,189

Финальный результат получен в два этапа: сначала выполняется обнаружение запросов, требующих обращения к базе знаний, затем для таких запросов вызывается RAG (извлечение релевантных документов + генерация ответа). Предложенный подход существенно превосходит базовую модель организаторов DSTC10 по всем метрикам, кроме Precision. Выбор в сторону максимизации Recall сделан осознанно, чтобы пропускать как можно меньше запросов, требующих знаний.

Таблица 6 – Сравнение предложенного подхода с базовой моделью на тестовых данных DSTC10
Подход Задача обнаружения Задача выбора
R12039@1
Задача генерации
Precision Recall F-score BLEU-1 Meteor Rouge-1
Базовая модель 0,897 0,674 0,769 0,495 0,125 0,152 0,136
Предложенный подход 0,888 0,890 0,889 0,572 0,145 0,158 0,178

Заключение

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

В качестве дальнейшего развития предполагается доработка метода аугментации данных на основе последовательного преобразования текста в речь и затем обратного преобразования речи в текст. Также планируется расширение возможностей поиска не только в базе ответов на часто задаваемые вопросы, но и в базе отзывов пользователей.

Литература

  1. Moghe N., Arora S., Banerjee S., Khapra M.M. Towards exploiting background knowledge for building conversation systems // Proc. of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018. P. 2322–2332. https://doi.org/10.18653/v1/D18-1255
  2. Dinan E., Roller S., Shuster K., Fan A., Auli M., Weston J. Wizard of wikipedia: Knowledge-powered conversational agents // arXiv. 2019. arXiv:1811.01241. https://doi.org/10.48550/arXiv.1811.01241
  3. Zhou K., Prabhumoye S., Black A.W. A dataset for document grounded conversations // Proc. of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018. P. 708–713. https://doi.org/10.18653/v1/D18-1076
  4. Hearst M., Dumais S., Osuna E., Platt J., Scholkopf B. Support vector machines // IEEE Intelligent Systems and their Applications. 1998. V. 13. N 4. P. 18–28. https://doi.org/10.1109/5254.708428
  5. Johnson R., Zhang T. Convolutional neural networks for text categorization: Shallow word-level vs. deep character-level // arXiv. 2016. arXiv:1609.00718. https://doi.org/10.48550/arXiv.1609.00718
  6. Devlin J., Chang M.-W., Lee K., Toutanova K. BERT: Pre-training of deep bidirectional transformers for language understanding // Proc. of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Vol. 1. 2019. P. 4171–4186. https://doi.org/10.18653/v1/N19-1423
  7. Radford A., Narasimhan K., Salimans T., Sutskever I. Improving language understanding by generative pre-training: preprint. 2018.
  8. Karpukhin V., Oğuz B., Min S., Lewis P., Wu L., Edunov S., Chen D., Yih W.-T. Dense passage retrieval for open-domain question answering // Proc. of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2020. P. 6769–6781. https://doi.org/10.18653/v1/2020.emnlp-main.550
  9. Humeau S., Shuster K., Lachaux M., Weston J. Poly-encoders: Architectures and pre-training strategies for fast and accurate multi-sentence scoring // arXiv. 2020. arXiv:1905.01969. https://doi.org/10.48550/arXiv.1905.01969
  10. Lewis M., Liu Y., Goyal N., Ghazvininejad M., Mohamed A., Levy O., Stoyanov V., Zettlemoyer L. BART: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension // Proc. of the 58th Annual Meeting of the Association for Computational Linguistics. 2020. P. 7871–7880. https://doi.org/10.18653/v1/2020.acl-main.703
  11. Kim S., Liu Y., Jin D., Papangelis A., Hedayatnia B., Gopalakrishnan K., Hakkani-Tur D. DSTC10 Track Proposal: Knowledge-grounded Task-oriented Dialogue Modeling on Spoken Conversations. 2021.
  12. Kim S., Eric M., Gopalakrishnan K., Hedayatnia B., Liu Y., Hakkani-Tür D.Z. Beyond domain APIs: task-oriented conversational modeling with unstructured knowledge access // Proc. of the 21st Annual Meeting of the Special Interest Group on Discourse and Dialogue. 2020. P. 278–289.
  13. Budzianowski P., Wen T.-H., Tseng B.-H., Casanueva I., Ultes S., Ramadan O., Gašić M. MultiWOZ - A large-scale multi-domain wizard-of-oz dataset for task-oriented dialogue modelling // Proc. of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018. P. 5016–5026. https://doi.org/10.18653/v1/D18-1547
  14. Eric M., Goel R., Paul S., Sethi A., Agarwal S., Gao S., Kumar A., Goyal A., Ku P., Hakkani-Tür D. Multiwoz 2.1: Multi-domain dialogue state corrections and state tracking baselines // Proc. of the Twelfth Language Resources and Evaluation Conference. 2020. P. 422–428.
  15. Zang X., Rastogi A., Sunkara S., Gupta R., Zhang J., Chen J. MultiWOZ 2.2: A dialogue dataset with additional annotation corrections and state tracking baselines // Proc. of the 2nd Workshop on Natural Language Processing for Conversational AI. 2020. P. 109–117. https://doi.org/10.18653/v1/2020.nlp4convai-1.13
  16. Baevski A., Zhou H., Mohamed A., Auli M. Wav2vec 2.0: a framework for self-supervised learning of speech representations // Proc. of the 34th International Conference on Neural Information Processing Systems (NIPS’20). 2020. P. 12449–12460.
  17. Panayotov V., Chen G., Povey D., Khudanpur S. Librispeech: An ASR corpus based on public domain audio books // Proc. of the 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2015. P. 5206–5210. https://doi.org/10.1109/ICASSP.2015.7178964
  18. Heafield K. KenLM: Faster and Smaller language model queries // Proc. of the Sixth Workshop on Statistical Machine Translation. 2011. P. 187–197.
  19. Gopalakrishnan K., Hedayatnia B., Wang L., Liu Y., Hakkani-Tür D. Are neural open-domain dialog systems robust to speech recognition errors in the dialog history? an empirical study // Proc. Interspeech 2020. 2020. P. 911–915. https://doi.org/10.21437/Interspeech.2020-1508
  20. Wang L., Fazel-Zarandi M., Tiwari A., Matsoukas S., Polymenakos L. Data Augmentation for Training Dialog Models Robust to Speech Recognition Errors // Proc. of the 2nd Workshop on Natural Language Processing for Conversational AI. 2020. P. 63–70. https://doi.org/10.18653/v1/2020.nlp4convai-1.8
  21. Xu L., Lian J., Zhao W.X., Gong M., Shou L., Jiang D., Xie X., Wen J. Negative sampling for contrastive representation learning: A review // arXiv. 2022. arXiv:2206.00212. https://doi.org/10.48550/arXiv.2206.00212

Служебная информация

Статья поступила в редакцию: 05.10.2022
Одобрена после рецензирования: 01.12.2022
Принята к печати: 15.01.2023

Лицензия: Creative Commons «Attribution-NonCommercial».