СРАВНЕНИЕ МОДЕЛЕЙ ВЕКТОРНОГО ПРЕДСТАВЛЕНИЯ ТЕКСТОВ В ЗАДАЧЕ СОЗДАНИЯ ЧАТ-БОТА

УДК 519.765, 004.912

DOI 10.25205/1818-7935-2020-18-3-16-34

Сравнение моделей векторного представления текстов в задаче создания чат-бота

Ю. А. Жеребцова \ А. В. Чижик 1 2

1 Национальный исследовательский университет ИТМО

Санкт-Петербург, Россия

2 Санкт-Петербургский государственный университет

Санкт-Петербург, Россия

Аннотация

На сегодняшний день одним из стремительно развивающихся направлений научных исследований является создание разговорного интеллекта, способного поддерживать полноценный человеко-машинный диалог на произвольное количество тем. Благодаря большому количеству индустриальных разработок, нуждающихся во взаимодействии гаджетов и человека, интерес к этой проблеме возрос в последние годы. В данной работе представлен краткий обзор архитектур современных разговорных агентов (чат-ботов) по выдаче ответа пользователю, выделены основные преимущества и недостатки каждого подхода. Отдельно приведен краткий обзор и сравнительный анализ актуальных на сегодняшний день методов векторизации текстовых данных в задачах создания современных разговорных агентов. Представлены результаты эксперимента по созданию русскоязычного чат-бота ранжирующего типа: проанализированы особенности открытых источников данных с диалогами на русском языке, описан алгоритм обработки собранных данных для реализации бота, ранжирования ответов и выбора ответной реплики, опубликован итоговый набор данных и программный код. Также были проанализированы проблемы чат-ботов ранжирующего типа (на примере создания бота, поддерживающего беседу по узкопрофильной теме о пленочной фотографии). Кроме того, были проанализированы особенности открытых источников данных с диалогами на русском языке, доступных на сегодняшний день, собран и проанализирован необходимый набор данных для обучения чат-бота, продемонстрирована его работа, а также количественная оценка качества ответов пользователю. Авторы раскрывают проблематику оценки качества работы чат-ботов, в частности обсуждаются вопросы выбора метрик. Также демонстрируются примеры диалогов чат-бота, реализованного на моделях векторизации, давших хорошие показатели при автоматической оценке.

Ключевые слова

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

Для цитирования

Жеребцова Ю. А., Чижик А. В. Сравнение моделей векторного представления текстов в задаче создания чат-бота // Вестник НГУ. Серия: Лингвистика и межкультурная коммуникация. 2020. Т. 18, № 3. С. 16-34. БО! 10.25205/1818-7935-2020-18-3-16-34

© Ю. А. Жеребцова, А. В. Чижик, 2020

Text Vectorization Methods for Retrieval-Based Chatbot

Yulia A. Zherebtsova 1 2, Anna V. Chizhik 1

1 ITMO University St. Petersburg, Russian Federation 2 Saint Petersburg State University St. Petersburg, Russian Federation

Abstract

Nowadays, a field of dialogue systems and conversational agents is one of the rapidly growing research areas in artificial intelligence applications. Business and industry are showing increasing interest in implementing intelligent conversational agents into their products. There are numerous applications of chatbots in industry, banking, healthcare, and education; and it keeps on growing year-by-year. Many recent studies has tended to focus on possibility of creating intelligent bots helping users not only to accomplish specific tasks (by identifying their intents from text or voice conversations using artificial intelligence), but to capture the user's identity, attributes, engagement data, and any feedback the user provides - to better handle a wide variety of conversational topics imitating human-like behavior. In this paper, we review the recent progress in developing intelligent conversational agents (or chatbots), its current architecture (rule-based, retrieval based and generative-based models) as well as discuss the main advantages and disadvantages of the approaches. Additionally, we conduct a comparative analysis of state-of-the-art text data vectorization methods (i. e. word/sentence embeddings) which we apply in implementation of a retrieval-based chatbot as an experiment. The results of the experiment are presented as a quality of the chatbot responses selection using various R10@k measures. We also focus on the features of open data sources providing dialogues in Russian. Natural language processing (NLP) techniques for the collected dialogue data are described. Both the final dataset and program code are published. In this paper, the authors also discuss the issues of assessing the quality of chatbots response selection, in particular, emphasizing the importance of choosing the proper evaluation method. We also demonstrate examples of chatbot dialogues implemented using text vectorization models (TF-IDF-weighted Word2Vec embeddings and LASER sentence embeddings) which revealed best performance. Our future work research is also briefly described in this paper.

Keywords

natural language processing, natural language understanding, dialogue systems, conversational AI, intelligent chatbot, retrieval-based chatbot, word embeddings, text vectorization, generative models

For citation

Zherebtsova, Yulia A., Chizhik, Anna V. Text Vectorization Methods for Retrieval-Based Chatbot. Vestnik NSU. Series: Linguistics and Intercultural Communication, 2020, vol. 18, no. 3, p. 16-34. DOI 10.25205/1818-7935-202018-3-16-34

1. Введение

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

Разговорные, или диалоговые, агенты, диалоговые системы (ДС), чат-боты - это разновидность компьютерных систем, с которыми пользователь взаимодействует на естественном языке (ЕЯ): письменном, устном или комбинируя оба способа коммуникации. Между собой они различаются по интегрированным в них сервисным элементам (модулям задач и управления, а также способу взаимодействия с внутренними и внешними базами данных). Объединяющее начало таких систем - диалог, являющийся главным компонентом их функционала (и отличающий их от вопросно-ответных систем, где во главе успешности работы программы стоит факт точного ответа, который может быть задан в том числе на естественном языке). В частности, разговорные агенты стали базисом современных персональных помощников, которые помогают выполнять повседневные задачи, в том числе связанные с поиском информации в интернете. Среди самых популярных можно назвать Яндекс.Алису, Siri от Apple, Google Assistant, Microsoft Cortana и Amazon Alexa.

Современные диалоговые системы принято делить на целеориентированные (closed-domain) и виртуальные собеседники с открытым доменом (open-domain). Целеориентированные диалоговые системы предназначены для решения конкретных, заранее определенных пользователем задач, а виртуальные собеседники (так называемые «болталки»), как правило, предназначены для вовлечения пользователя в использование продукта с помощью имитации естественного разговора с ним.

Базис оценки естественности беседы между пользователем и разговорным агентом можно найти в определении понятия диалога. Диалог - это рациональное коммуникативное взаимодействие на естественном языке, для которого характерна постоянная смена ролей «слушающий - говорящий». Такой коммуникативный акт имеет иерархическую структуру и состоит из взаимосвязанных реплик собеседников, причем очередность их появления диктуется смыслами и эмоциями, известными всем коммуникантам [Searle, 1997].

Процесс такого двустороннего общения всегда обусловлен конкретной ситуацией, иначе говоря, контекстом, который по мере развития диалога изменяется, задавая логическое движение в известном и понятном для собеседников направлении. Если логические связки и переходы в ходе беседы теряются, это вызывает у общающихся фрустрацию. Отсюда следует, что основным стимулом активного взаимодействия с разговорным агентом можно назвать эмоциональное удовлетворение пользователя от диалога с ним. На сегодняшний день создание универсального интеллектуального диалогового агента, сочетающего в себе не только возможности выполнения конкретных повседневных сценариев пользователя, но и поддержание связной беседы (обеспечение ее когерентности), выдачу ответов, согласованных между собой по смыслу (имитация осмысленного поведения личности, или консистентности), является очень сложной задачей, которую исследователям и инженерам еще предстоит решить [Huang et al., 2019].

В рамках сложившегося на данный момент подхода к разработке разговорных агентов можно выделить три основных блока задач, которые они выполняют: 1) понимание естественного языка, 2) управление диалогом и 3) синтез ответа пользователю. Ядром системы является модуль обработки ЕЯ [Bellegarda, 2013], который, осуществляя процесс анализа фразы пользователя, преобразует реплику пользователя в ее некоторое векторное представление [Jurafsky, 2008]. Предварительно ему, как правило, приходится выполнить следующий ряд шагов обработки текста: сегментацию, токенизацию, нормализацию, синтаксический разбор, выделение именованных сущностей, разрешение анафоры и других видов неоднозначности [Masche et al., 2018]. Полученное векторное представление затем используется внутренней моделью системы для последующего формирования ответной реплики, то есть формулировки реплики, являющейся ответом пользователю. Данный цикл обработки текста лежит в основе работы любого диалогового агента, а его сложность зависит от конкретной цели его создания.

Целью данного исследования является анализ современных подходов к разработке разговорных агентов в задаче поддержания естественного диалога на примере эксперимента по созданию чат-бота, взаимодействующего с пользователем на русском языке. Критерий естественности диалога с чат-ботом задается нами так: диалог похож на естественный, если бот может поддерживать разговор на некоторое количество узких тем, интересных пользователю, и в то же время согласованно (consistently) отвечать на типичные обиходные обращения вида «привет!», «как дела?», имитируя человеческую вовлеченность и эмоциональность речи. В рамках проведенного эксперимента мы структурировали процесс создания чат-бота, обозначив основные проблемы, а затем предложили базовую реализацию и ряд ее последующих улучшений. Также был сформирован набор данных (dataset), достаточный для обеспечения разнообразия ответов бота в беседе как на узкопрофильную тему (в качестве таковой была выбрана тема пленочной фотографии), так и на общетематический контекст. При этом в качестве источника светских реплик были взяты субтитровые листы диалогов фильмов. Таким образом, для обучения бота была создана собственная полноценная структурирован-

ная коллекция парных реплик (входная реплика - ответная реплика), отвечающая нашему определению естественности диалога.

2. Подходы к обучению чат-ботов

На сегодняшний день принято следующее разделение чат-ботов по способам выдачи ответов пользователю [Higashinaka et al., 2014]:

- чат-боты, основанные на правилах (rule-based), в которых ответ пользователю формируется на основе заранее заданных разработчиком или редактором шаблонов / правил (так называемые «редакторские реплики»);

- ранжирующие чат-боты, которые сами выбирают ответ на основе заранее заданного им списка потенциально возможных ответов (retrieval-based chatbots);

- генерирующие чат-боты, которые на входную реплику пользователя генерируют ответ на основе вложенных в них порождающих моделей, не имея заранее заготовленного списка ответов (generative chatbots).

Чтобы проследить взаимосвязь появления этих подходов к формированию ответной реплики (и объяснить существующие на данный момент предпочтения разработчиков), вспомним виртуального собеседника, созданного в 1966 году Джозефом Вейценбаумом, ELIZA [Weizenbaum, 1966]. Одна из первых попыток реализовать естественный человеко-машинный диалог человека с программой представляет собой чат-бот, основанный на большом количестве созданных вручную шаблонов и эвристических правил. Такой подход требует огромных человеческих затрат, направленных на предсказание возможных ветвлений беседы, что сильно ограничивает множество ответов [Wallace, 2003]. В попытках преодолеть такие ограничения возникла идея выстраивать человеко-машинный диалог на основе анализа большого набора данных (data-driven chatbots) с помощью моделей машинного обучения. Так появилась концепция чат-бота, обученного имитировать речевое поведение человека на материале большой коллекции естественных человеческих диалогов. По методам обучения такие чат-боты можно разделить только на две группы: порождающие и ранжирующие.

Порождающие чат-боты отвечают на сообщения, используя подходы из задач машинного перевода [Cho, 2014]. На сегодняшний день основой порождающего подхода являются рекуррентные sequence-to-sequence encoder-decoder архитектуры [Sutskiever et al., 2014], представляющие собой, как правило, многослойные LSTM и GRU нейронные сети, использующие механизм attention [Shang et al., 2015; Miller et al., 2016, Vaswani, 2017]. Для задачи создания разговорного агента данная архитектура впервые была применена в работе [Vinyals et al., 2015].

Среди преимуществ порождающего подхода можно отметить возможность системы дать подходящий ответ на любую входную реплику пользователя (даже если в обучающем наборе данных не было примера, отражающего суть сказанного в полной мере). Однако данный способ обучения нередко приводит к ответам слишком общими, малоинформативными и неадекватными ситуации фразами (например, «я не знаю», «хорошо») [Sountsov et al., 2016]. Возникает также проблема неконсистентности ответов, их смысловой непоследовательности, когда на одинаковые по содержанию, но сформулированные на основе разных синонимических лексем вопросы бот также отвечает по-разному. Приведем пример:

User: что такое искусственный интеллект?

Bot: вот и я задаюсь этим вопросом.

User: что такое чат-бот?

Bot: бот - это программа, похожая на меня, умеет выполнять разные функции, а главное общаться!

User: а диалоговый агент?

Bot: мне незнакомо это слово.

User: тогда скажи, что такое бот?

Bot: не знаю.

В приведенном отрезке общения с порождающим чат-ботом видны сразу две обозначенные проблемы: и переход к слишком общим фразам, и разные ответы на четыре варианта одного и того же вопроса. При этом если первая реплика бота (1) может дать эмоциональное удовлетворение пользователю и идейно не противоречит следующему ответу (2), напротив, она дает возможность домыслить логичный переход от общего к частному (и это хороший пример «человечности» бота), то ответы (3) и (4) противоречат первым двум и обрывают осмысленность диалога. В работах [Li et al., 2015; Shao et al., 2016; Li et al., 2016] были предприняты попытки найти решения для устранения этих проблем, но особого прогресса достигнуто не было. Несмотря на перспективность использования порождающих моделей, их вербальное поведение в коммерческих продуктах [Gao et al., 2019] остается достаточно непредсказуемым, поэтому наибольшую популярность до сих пор имеют ранжирующие чат-боты, которые выбирают реплику из заранее заготовленного набора.

Для пар «реплика - ответ» (single-turn conversation) или «контекст - ответ» (multi-turn conversation) сначала из набора данных строятся векторные представления одной размерности (encoder-encoder), после чего наиболее вероятные ответы ранжируются в соответствии со значениями некоторой функции уместности между векторами (чаще всего это скалярное произведение или косинусное расстояние). Данный подход, получивший популярность в задачах информационного поиска 1, впоследствии был адаптирован для создания диалоговых систем [Hu et al., 2014; Nio et al., 2014; Parakash et al., 2016; Ihaba et al., 2016].

Задача ранжирования потенциальных ответов чат-бота решается двумя путями: поиск лучшего ответа без учета контекста вокруг последней входящей реплики пользователя (single-turn conversation) и подход, учитывающий предшествующие ей реплики, связанные с ней по контексту (multi-turn conversation). Второй подход улучшает качество ответов чат-бота и, в силу своей большей сложности, является сейчас основным предметом исследований авторов в данной области [Serban et al., 2015; Zhou et al., 2016; Wu et al., 2017; Tao et al., 2019]. Важное преимущество ранжирующего подхода заключается в возможности фильтровать грамматически некорректные и неприемлемые в ситуации общения с ботом ответы, которые могут присутствовать в обучающем наборе данных.

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

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

3. Модели векторизации текстов

Наиболее популярные на сегодняшний день алгоритмы создания векторных представлений текста основываются на идее дистрибутивной семантики [Harris, 1954; Osgood et al., 1957], состоящей в том, что слова, встречающиеся в аналогичных контекстах и имеющие близкую или такую же частоту употребления, семантически близки. При этом соответствующие им сжатые векторные представления, размерность которых значительно меньше размерности словаря (embeddings), находятся близко друг к другу по косинусной мере в некотором словесном векторном пространстве.

1 Huang P.-S. Learning Deep Structured Semantic Models for Web Search using Clickthrough Data. 2013. URL: https://posenhuang.github.io/papers/cikm2013_DSSM_fullversion.pdf (дата обращения 17.02.2020).

Одним из базовых методов представления текстового документа в виде вектора является статистическая мера TF-IDF [Manning et al., 2009], которая вычисляется как произведение частотности слов в тексте и обратной частотности слова в коллекции документов. Размерность векторов TF-IDF определяется количеством слов в словаре документа, и так как он может быть объемным, то и размерность векторного пространства оказывается достаточно большой; кроме того TF-IDF векторы будут близки только для тех документов, у которых есть общая лексика 2.

Настоящую популярность модели векторизации текстов информации приобрели в 2013 году после публикации работы 3[Mikolov, 2013] с описанием подхода, который стал известен как Word2Vec. Данный метод построения сжатого пространства векторов слов (так называемых эмбеддингов) имеет два основных пути решения: 1) на основе алгоритма CBOW (contin-uous-bag-of-words) для каждого слова, который предсказывает вероятность его появления в конкретном контексте (окружающие слова), и 2) на базе алгоритма skip-gram, который в отличие от CBOW действует наоборот - рассчитывает вероятность контекста вокруг конкретного слова. Получающееся векторное представление отражает контекстную близость слов: слова, встречающиеся в тексте рядом с одинаковыми словами, имеют высокое косинусное сходство, а значит, можно говорить о семантической близости. Отметим, однако, что в результате обучения Word2Vec-модель создается фиксированный словарь, для пополнения которого потребуется обучить модель заново. Решение проблемы отсутствующих слов, характерной для данного подхода, было предложено в рамках модели fastText [Joulin et al., 2016; Bojanowski et al., 2017], которая, являясь модификацией Word2Vec, рассчитывает сначала векторные представления частей слов, из которых уже составляется вектор целого слова.

На сегодняшний день существует множество других моделей векторизации текстов, среди которых стоит отметить модель GloVe [Pennington et al., 2014], предложенную лабораторией компьютерной лингвистики Стэндфордского университета; она комбинирует алгоритмы матричных разложений и Word2Vec.

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

Одним из главных событий, ознаменовавшим успех в этом направлении, можно считать анонс контекстуализированной языковой модели BERT [Che, 2018]. Обучение векторных представлений BERT состоит в решении задачи, суть которой заключается в предварительном маскировании слов в текстах обучающей выборки (а также легкости перемешивания слов для того, чтобы улучшить последующую настройку модели), которые модель затем пытается восстановить (предсказать) по окружающему их контексту. Самые последние разработки в области контекстуализации эмбеддингов включают также такие модели как ELMO [Peters et al., 2018], XLNet [Yang et al., 2019] и GPT-2 4.

2 Arora, S., Liang, Y., Ma, T. A simple but tough-to-beat baseline for sentence. ICLR. URL: https://openreview.net/ pdf?id=SyK00v5xx (дата обращения 17.02.2020).

3 Mikolov, T. Distributed Representations of Words and Phrases and their Compositionality. In: Proceedings of Workshop at ICLR. 2013. URL: https://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf (дата обращения 17.02.2020).

4 Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., Sutskever, I. Language Models are Unsupervised Multitask Learners. Technical Report OpenAi. 2018. URL: https://d4mucfpksywv.cloudfront.net/better-language-models/language_ models_are_unsupervised_multitask_learners.pdf.

Одна из проблем при работе с текстами в случае чат-ботов, общая для всех подходов, -мультиязычность: коммуниканты достаточно часто используют в своей речи заимствованные слова, цитируют фрагменты текстов [Holger et al., 2017]. В случае ранжирующих архитектур вкрапления из других языков могут влиять на подсчет семантической близости между векторами. Оставаясь в концептуальных рамках описанных выше методов, перейти в формат мультиязычности возможно, но в этом случае для каждого поддерживаемого языка потребуется отдельно обученная модель. Другой подход к обеспечению мультиязычной функциональности заключается в разработке такой модели, которая будет способна обобщать различные языки речевого обращения (или фрагмента) в общем векторном пространстве и в которой векторы одинаковых предложений находились бы близко друг к другу вне зависимости от языка или языков входной реплики. Перспективным методом, реализующим эту идею, является LASER [Artetxe et al., 2018], разработанный группой исследователей Face-book. Модель LASER переводит целые предложения в их векторные представления, что может быть преимуществом, в том числе при создании эмбеддингов для работы ранжирующих чат-ботов.

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

4. Описание эксперимента: подход к сравнению моделей векторных представлений 4.1. Особенности данных

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

Среди наиболее популярных открытых источников данных, где можно собрать нужные датасеты, выделим следующие.

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

Сервис микроблогинга Twitter. Среди плюсов текстов в Twitter можно отметить точную разбивку текста на диалоги, наличие дополнительных социально-демографических данных об отправителе и адресате реплики. Однако стоит помнить, что тематическая идентификация бывает проблематична: пользователи часто ведут не разговор на общую тему, а «витают» вокруг некоторого мультимедийного контента (видео, фото, ссылки на другие источники), который фактически и определяет тему диалога, наполняя его соответствующей лексикой. Что же касается разговоров на общие («светские») темы, то они ведутся достаточно разными социокультурными группами пользователей, и это может потребовать сбора дополнительных

5 URL: https://rusvectores.org/ru/models/.

6 URL: http://docs.deeppavlov.ai/en/master/features/pretrained_vectors.html. ISSN 1818-7935

Вестник НГУ. Серия: Лингвистика и межкультурная коммуникация. 2020. Т. 18, № 3 Vestnik NSU. Series: Linguistics and Intercultural Communication, 2020, vol. 18, no. 3

данных по профилям коммуникантов. Такая мера позволит боту сохранить консистентность ответов (например, отсеивать ответы школьников или, наоборот, брать только их).

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

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

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

4.2. Сбор данных

В основе эксперимента, описываемого в нашей работе, лежит идея создания чат-бота, который мог бы выдавать связный ответ на заданную реплику, создавая таким образом у пользователя впечатление осмысленного диалога. При этом ожидается, что такое вербальное поведение бот будет демонстрировать как при реакции на пользовательские реплики общекультурной, «светской» тематики, так и на реплики, касающиеся какой-либо заранее выбранной узкой области. В качестве источников данных для реализации чат-бота нами были выбраны два публичных Telegram-чата (369 7 и 492 8 участников), в которых участники обсуждают узкопрофильную тему - пленочную (аналоговую) фотографию. Использовался также открытый набор данных с субтитрами фильмов и сериалов OpenSubtitles 9. После объединения текстов разговоров из этих трех источников была получена общая коллекция данных, состоящая из 358 545 записей со следующими полями:

- уникальный идентификатор реплики;

- идентификатор реплики, ответом на которую является данная реплика;

- имя отправителя реплики;

- имя адресата реплики;

- текст реплики.

Пример нескольких стандартных записей датасета:

ID Reply_Details Author Addressee Text

188058 none FF none что такое tungsten?

188059 188058 Daniil FF Лампы накаливания

188060 none FF Daniil спасибо

188061 none Dmitry none Это про освещение

7 URL: https://t.me/filmpublic.

8 URL: https://t.me/plenkachat.

9URL: http://opus.nlpl.eu/OpenSubtitles.php.

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

4.3. Предобработка данных

Поскольку при взаимодействии с ранжирующим чат-ботом пользователь вероятнее всего введет реплику, которой не окажется в заранее заготовленном наборе ответов, то релевантными ответами будут считаться те реплики, контекст которых в имеющемся наборе данных будет наиболее семантически близок к введенной реплике. В работах [Sordoni et al., 2015; Lowe et al., 2016; Zhang et al., 2017; Ma et al., 2019] авторы предлагают множество различных способов определения контекста ответа-кандидата для чат-бота, имеющего ранжирующую архитектуру. В данной работе под контекстом ответа-кандидата мы будем понимать сообщения (или цепочку сообщений), которые предшествуют выбранной реплике, при этом данная реплика является явным ответом на предпоследнюю фразу в цепочке и сама оказывается последней. Таким образом, длина контекста каждого ответа-кандидата равняется длине выявленной цепочки сообщений и, следовательно, минимум одному предыдущему сообщению. При этом, имея информацию об авторах сообщений и о том, какое сообщение является ответом на какое, можно говорить о разбиении набора данных на множество коротких диалогов (диалоговых единств) вида «реплика - ответ - ... - ответ», выделяя, таким образом, ответ-кандидат и его предшествующий контекст. На рисунке приведена визуализация цепочек диалоговых единств внутри датасета в виде ориентированного графа, где вершинами являются реплики с метками, содержащими ID сообщения, а ребрами - ссылки, соответствующие Reply_Details, представляющие собой отношение ответа одного сообщения на другое.

Визуализация цепочек диалогов внутри созданного набора данных Multi-turns of training dialogue data

Для того чтобы иметь возможность осуществить поиск релевантного ответа по контексту реплики (ответа-кандидата), исходный датасет с диалогами был преобразован к виду «контекст - ответ»:

Context: А наборы химии для ra-4 не планируете выпустить? / Или слишком токсично без проявочной машины?

Response: Не планируем.

Context: Илфорды появятся, но пока непонятно когда и по какой цене. / Илфорд сильно взвинтил цены на пленки

Response: Печально слышать :(

Context: А можно вопрос от новичка? Снимал на кодаки марки "чобыловларьке". / Хочется чего-то более интересное.

Response: что то более интересное стоит в среднем 600-700 рублей за ролик)

Далее текстовые данные были поэтапно предобработаны по следующей схеме:

1) разбиение текстов реплик на токены;

2) удаление спецсимволов, ссылок и знаков пунктуации;

3) удаление стоп-слов;

4) нормализация токенов.

После заключительного этапа предобработки данных был получен обновленный датасет, состоящий из 134 307 пар текстов вида «контекст - ответ», где средняя длина текстов контекста составила 11 токенов, средняя длина текстов ответа - 9 токенов, а общий набор текстов контекстов и ответов содержит 198 280 уникальных токенов. Полученный набор данных используется в качестве базы предустановленных ответов чат-бота: для каждой входящей реплики пользователя осуществляется поиск наиболее релевантного математически и с этой точки зрения адекватного контексту ответа на нее путем вычисления косинусной меры между векторами введенной фразы и наборов контекстов из датасета. Контексты ранжируются по степени соответствия («похожести») запросу пользователя, и в качестве ответа пользователю выдается текст ответа для контекста, который по мнению алгоритма оказался наиболее близок к входящей реплике.

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

- TF-IDF. Данная модель была выбрана в качестве базовой; при подсчетах учитывались только униграммы.

- Word2Vec. Модель обучалась как для униграмм, так и для биграмм со следующими параметрами:

- size = 300,

- sg = 1,

- min_count = 5,

- window = 5,

- sample = 10-3.

- FastText. Модель обучалась с указанными ниже параметрами и только для униграмм:

- size = 300,

- sg = 1,

- min_count = 5,

- window = 5,

- sample = 10-3.

- LASER. Использовалась предобученная модель для русского языка из библиотеки laserembeddings 10.

10 URL: https://pypi.org/project/laserembeddings/.

При наличии различных вариантов векторных представлений общего набора данных диалогов, векторизация входящего запроса пользователя и имеющегося контекста из базы ответов может быть вычислена усреднением векторов слов этих моделей или предложений. В частности, для модели Word2Vec были использованы два способа усреднения векторов слов: простое (Averaged Word2Vec) и взвешенное (TF-IDF-weighted W2V).

4.4. Оценка качества векторизации

В качестве метрики оценки качества ответов чат-бота при различных методах векторизации текстов была выбрана Recalln@k (Rn@k), которая часто используются для оценки качества работы ранжирующих чат-ботов (группа next utterance selection метрик (NUC), а именно R@k [Dariu J., 2019]). Данная метрика показывает долю релевантных («правильных») реплик среди k лучших, выбранных моделью. Так, например, выбор n = 10 (R10@k) означает, что на каждую реплику из заранее подготовленного тестового набора данных мы позволяем модели выбрать k лучших ответов среди 10 возможных, где одна реплика действительно является верной, а остальные 9 - некорректны (т. е. не являются известными как адекватная реакция на поступившую реплику в рамках сформированного тестового набора данных). Если среди k выбранных реплик оказалась корректная, то такой тестовый пример помечается как корректный, а численное значение метрики увеличивается. Если k = 10, Ri0@k = 100 %, так как возможных примеров 10, если k = 1, Ri0@k = 10 %, т. е. модель имеет 1 шанс из 10 выбрать верную реплику.

Для подсчета выбранной метрики Ri0@k на основе имеющегося набора данных был создан специальный тестовый датасет, состоящий из 134 307 записей, где каждой имеющейся реплике-контексту был сопоставлен список из 10 ответов, среди которых находится один корректный ответ и 9 других случайно выбранных реакций, не являющихся ответами на данную реплику. Вот пример объекта из тестового набора данных, где корректным ответом является первый элемент списка из NormalizedTestSamples: NormalizedContext:

'друг подсказать пожалуйста софт для сканирование на никон 5000 под мак'

NormalizedTestSamples:

'parallels desktop или аналог'

'думать что слайд как негатив не стоить обращаться ступень'

'подпись дорогой вообще отпечаток продаваться'

'хотя накрутить калейнары на бзк более менее'

'какой нормальный метр приложение айфон'

'это производитель встраивать профиль конвертер кстати'

'план зенит'

'по возможность до 16 всегда закрывать' 'хотеть сказать что есть разница между гелиос 44 или 77' 'вот мой сосед говорить ты тратить дорогой плёнка на съёмка какой-то веник' Важно отметить, что преимуществом метрики Rn@k является автоматизируемый метод оценки качества чат-бота, не требующий оценки экспертов. Однако серьезным недостатком такого метода оценки качества является риск фильтрации (отсеивания) потенциально уместных ответных реакций, поскольку установка предполагает выбор только одной.

4.5. Результаты эксперимента

В ходе эксперимента результат выдачи ответа на входную реплику (стимул) из тестового датасета был оценен в соответствии с выбранной метрикой R10@k. Результаты представлены в таблице.

Оценка качества ответов чат-бота в соответствии с метрикой Recall@k для различных моделей векторизации текста

Quality of the chatbot responses selection using various R10@k measures

Метрика / Модель TF-IDF Averaged W2V FastText TF-IDF-weighted W2V LASER

R10 @ 1 0.229 0.186 0.179 0.212 0.195

R10 @ 2 0.277 0.289 0.283 0.318 0.308

R10 @ 5 0.328 0.544 0.543 0.564 0.577

Результаты в таблице демонстрируют, что при расчете метрики R10@1 лучшим стал метод TF-IDF, при R10@2 - TF-IDF-weighted W2V, а при R10@5 - LASER. При этом методы TF-IDF-weighted W2V и LASER показывают примерно одинаковые результаты и являются лучшими по сравнению с остальными. На основании этих результатов можно, в частности, предположить, что именно данные модели из выбранных нами для эксперимента лучше справились с задачей расположения в векторном пространстве сокращений и узкопрофильных терминов и светских реплик друг относительно друга. Отметим, что особенностью оценки качества диалога с чат-ботом является субъективность восприятия ответов пользователем, что затрудняет автоматизацию процесса оценки качества, поэтому до сих пор ручная оценка уместности ответов остается актуальным инструментом (например, с помощью кра-удсорсинга) [Liu C., 2016].

Поэтому для методов TF-IDF-weighted W2V и LASER было также проведено предварительное тестирование работы чат-бота, работающего на этих моделях, на предмет восприятия ответов пользователем. Ниже приведены примеры некоторых диалогов.

TF-IDF-weighted W2V

User: привет!

Bot: прости за вчерашнее

User: как дела?

Bot: хорошо, спасибо. как у тебя ?

User: Какую камеру посоветуешь?

Bot: ты говоришь это так, будто мы прощаемся навечно

User: а «Зенит» хороший фотоаппарат?

Bot: Охотно верю..

User: что лучше - чб или цвет?

Bot: свет и тени что может быть прекраснее

User: на какую пленку лучше снимать?

Bot: Зачем? Я негативы на просвет не смотрю. Я их сканирую, причём сам, так что я знаю о чем говорю.

User: знаешь фильмы о фотографии?

Bot: мы оба знаем

User: твой любимый фильм?

Bot: тебе нравится моя работа

User: серьезно?

Bot: спасибо

LASER

User: привет!

Bot: привет, привет

User: как дела?

Bot: хорошо, как ваши?

User: Какую камеру посоветуешь?

Bot: Хас 11

User: а «Зенит» хороший фотоаппарат?

Bot: а с чего вопрос сразу такой?)

User: что лучше - чб или цвет?

Bot: думаю, все зависит от твоего настроения

User: на какую пленку лучше снимать?

Bot: снимал на ильфорд, сейчас отснял кодак TX, и одно и то же, значит не в пленке дело

User: знаешь фильмы о фотографии?

Bot: Да, я нашел хорошие примеры только за рубежом

User: твой любимый фильм?

Bot: супер 8

User: серьезно?

Bot: серьёзно

В общем случае релевантность ответной реакции чат-бота означает некоторую семантическую близость (стимульной) реплики пользователя (отправителя) и ответной реакции, в рамках которой также важно учитывать контекстную уместность относительно ожиданий пользователя. По приведенным диалогам видно, что чат-бот на основе LASER подбирает значительно более адекватные предметному контексту ответы, чем модель на основе TF-IDF-weighted W2V, несмотря на это их численные метрики, как было продемонстрировано выше, показывают практически равные результаты. Но это уже другой, еще не решенный вопрос, связанный с важностью выбора метрики оценки качества ответов чат-бота.

4.6. Демонстрация

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

Mодель, решающая, какой ответ выдать пользователю, должна быть быстрой, поэтому векторы контекстов возможных ответов чат-бота были посчитаны заранее, а для реализации мгновенного поиска и ранжирования был выбран метод поиска ближайших соседей с модификацией KD-tree [Moore, 1991]. Стоит отметить, что в стандартной реализации алгоритма KD-tree в библиотеке scikit-learn 13 подсчет косинусной близости между векторами в явном виде не реализован, поэтому для всех данных векторных представлений следует провести L2-нормализацию.

Одним из критериев релевантности ответа, как было сказано выше, является его адекватность ожиданиям пользователя. Если бот будет одинаково отвечать на один и тот же вопрос пользователей (обычная картина при тестировании диалоговых агентов на «человечность»), то они не получат эмоционального стимула для продолжения беседы. Для устранения этого недостатка мы применили функцию вероятностного распределения, которая удачно дополнила алгоритм, придерживаясь адекватного порога точности, хотя и не всегда выбирая самого лучшего кандидата.

5. Заключение

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

11 Сленговое название марки Hasselblad.

12 URL: ttps://github.com/eternnoir/pyTelegramBotAPL

13 URL: https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KDTree.html. ISSN 1818-7935

Вестник НГУ. Серия: Лингвистика и межкультурная коммуникация. 2020. Т. 18, № 3 Vestnik NSU. Series: Linguistics and Intercultural Communication, 2020, vol. 18, no. 3

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

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

Нами был собран и проанализирован необходимый набор данных для обучения чат-бота, способного беседовать на темы, связанные с пленочной фотографией, и при этом создавать ощущение непринужденно развивающегося естественного диалога. Из выбранных для эксперимента моделей векторизации текста при автоматической оценке качества (метрика R@k) наиболее успешными оказались TF-IDF-weighted W2V и LASER. Субъективность восприятия ответов пользователем является тем не менее важным критерием при оценке эффективности работы чат-бота, поэтому, на наш взгляд, имеет смысл комбинировать автоматизированные метрики и тестирование ответов экспертами. При дополнительном экспертном тестировании из двух лучших моделей предпочтение было отдано векторным представлениям, созданным с использованием LASER.

В ходе эксперимента стало очевидным, что в диалоговых агентах подход к моделированию признаков (созданию эмбеддингов) является основополагающим фактором, влияющим на качество работы алгоритмов, моделирующих поддержание человеко-машинного диалога. Эмбеддинги, создаваемые с помощью моделей, основанных на Word2Vec, отражают семантическое сходство слов, поэтому, например, из-за схожего по словам семантического ядра темы покупки камеры и покупки пленки становятся очень близкими в векторном пространстве, что достаточно фатально, когда речь идет о желании создать видимость осмысленной беседы с ботом. Таким образом, захват нюансов семантического контекста становится очень важным.

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

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

Данные и код эксперимента опубликованы по ссылке 14.

Список литературы

Лаврентьев А. М., Соловьев, Ф. Н., Суворова (Ананьева) М. И., Фокина А. И., Чепов-ский А. М. Новый комплекс инструментов автоматической обработки текста для платформы TXM и его апробация на корпусе для анализа экстремистских текстов // Вестник НГУ. Серия: Лингвистика и межкультурная коммуникация. 2018. Т. 16, № 3. С. 19-31. Artetxe, M., Schwenk, H. Massively multilingual sentence embeddings for zero-shot cross-lingual

transfer and beyond. CoRR. arXiv:1812.10464. 2018. Bellegarda, J. R. Large-Scale Personal Assistant Technology Deployment: the Siri Experience.

INTERSPEECH, 2013, p. 2029-2033. Bojanowski, P., Grave, E., Joulin, A., Mikolov, T. Enriching Word Vectors with Subword Information. arXiv:1607.04606. 2017.

14 URL: https://github.com/yuliazherebtsova/plenka-chatbot.

Che, W., Liu, Y., Wang, Y., Zheng, B., Liu, T. Towards better UD parsing: Deep contextualized word embeddings, ensemble, and treebank concatenation. CoRR. arXiv:1807.03121. 2018.

Cho, K. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. EMNLP, 2014, p. 1724-1734.

Dariu, J. Rodrigo, A., Otegi, A., Echegoyen, G., Rosset, S., Agirre, E., Cieliebak, M. Survey on Evaluation Methods for Dialogue Systems. arXiv:1905.04071. 2019.

Gao, J., Galley, M., Li, L. Neural Approaches to Conversational AI. arXiv:1809.08267. 2019, 95 p.

Harris, Z. S. Distributional structure. Word, 1954, 10, iss. 2-3, p. 146-162.

Higashinaka, R., Minami, Y., Meguro, T, Imamura, K., Miyazaki, C., Kobayashi, N., Sugiya-ma, H., Hirano, T., Makino, T., Matsuo, Y. Towards an open-domain conversational system fully based on natural language processing. In: Proceedings of the 25th International Conference on Computational Linguistics, 2014, p. 928-939.

Holger S., Douze, M. Learning Joint Multilingual Sentence Representations with Neural Machine Translation, ACL workshop on Representation Learning for NLP. arXiv:1704.04154. 2017.

Hu, B., Lu, Z., Li, H., Chen Q. Convolutional neural network architectures for matching natural language sentences. In: Advances in Neural Information Processing Systems, 2014, p. 20422050.

Huang, M., Zhu, X., Gao, J. Challenges in building intelligent open-domain dialog systems. arXiv preprint. arXiv:1905.05709. 2019.

Ihaba, M., Takahashi, K. Neural Utterance Ranking Model for Conversational Dialogue Systems. In: Proceedings of the SIGDIAL 2016 Conference. Association for Computational Linguistics, 2016,p.393-403.

Joulin, A., Grave, E., Bojanowski, P., Mikolov, T. Bag of Tricks for Efficient Text Classification. arXiv:1607.01759. 2016.

Jurafsky, D., Martin, J. H. Title Speech and Language Processing. 2nd ed. Prentice Hall, 2008, 988 p.

Li, J., Galley, M., Brockett, C., Gao, J., Dolan, B. A Diversity-Promoting Objective Function for Neural Conversation Models. arXiv:1510.03055. 2015.

Li, J., Galley, M., Brockett, C., Spithourakis, G. P., Gao, J., Dolan, B. A Persona-Based Neural Conversation Model. arXiv:1603.06155. 2016.

Liu, C.-W., Lowe, R., Serban, I. V., Noseworthy, M., Charlin, L., Pineau, J. How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation. arXiv:1603.08023. 2016.

Lowe, R., Pow, N., Serban, I. V., Pineau, J. The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems. arXiv:1506.08909. 2016.

Ma, W., Cui, Y., Shao, N., He, S., Zhang, W.-N., Liu, T., Wang, S., Hu, G. TripleNet: Triple Attention Network for Multi-Turn Response Selection in Retrieval-based Chatbots. arXiv:1909.10666. 2019.

Manning, C. D., Raghavan P., Schütze, H. An Introduction to Information Retrieval. Stanford NLP Group, Cambridge University Press, 2009, 581 p. URL: https://nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf (дата обращения 17.02.2020).

Masche, J., Le, N.-T. A Review of Technologies for Conversational Systems Conference Paper. In: Advances in Intelligent Systems and Computing, 2018, p. 212-225.

Miller, A., Fisch, A., Dodge, J., Karimi, A.-H., Bordes, A., Weston, J. Key-value memory networks for directly reading documents. arXiv preprint arXiv:1606.03126. 2016.

Moore, A. W. An intoductory tutorial on kd-trees. 1991. PhD Thesis: Efficient Memory-based Learning for Robot Control. Technical Report N. 209. Computer Laboratory University of Cambridge, 20 p.

Osgood, C., Suci, G., Tannenbaum, P. The measurement of meaning. University of Illinois Press, 1957, 354 p.

Nio, L., Sakti, S., Neubig, G., Toda, T. Developing Non-goal Dialog System Based on Examples of Drama Television. Natural Interaction with Robots, Knowbots and Smartphones, 2014, p.355-361.

Parakash A., Brockett, C., Agrawal, P. Emulating Human Conversations using Convolutional Neural Network-based IR. arXiv:1606.07056. 2016.

Pennington, J., Socher, R., Manning, C. D. GloVe: Global Vectors for Word Representation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Association for Computational Linguistics, 2014, p. 1532-1543.

Peters, M. E., Neumann, M., Iyyer, M. Deep contextualized word representations. arXiv preprint arXiv: 1802.05365. 2018.

Searle, J. R. Classification of Illocutionary Acts. In: Proceedings of the Texas Conference on Performatives, Presuppositions and Implications. Arlington: Uni. Press, 1977, p. 27-45.

Serban, I., Lowe, R., Pow, N., Pineau, J. The ubuntu dialogue corpus: A large dataset for research in unstructured multi-turn dialogue systems. arXiv preprint. arXiv:1506.08909. 2015.

Shang, L., Lu, Z., Li, H. Neural responding machine for short-text conversation. In: Proc. of ACL-IJCNLP, 2015, p. 1577-1586.

Shao, L., Gouws, S., Britz, D., Goldie, A., Strope, B., Kurzweil, R. Generating High-Quality and Informative Conversation Responses with Sequence-to-Sequence Models. arXiv:1701.03185. 2016.

Sountsov, P., Sarawagi, S. Length bias in Encoder Decoder Models and a Case for Global Conditioning. arXiv:1606.03402. 2016.

Sordoni, A., Galley, M., Auli, M., Brockett, C., Ji, Y., Mitchell, M., Nie, J.-Y., Gao, J., Dolan, B.

A Neural Network Approach to Context-Sensitive Generation of Conversational Responses. arXiv:1506.06714. 2015.

Sutskiever, I., Vinyals, O., Le, Q. V. Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215. 2014.

Tao, C., Wu, W., Xu, C., Hu, W. Multi-Representation Fusion Network for Multi-Turn Response Selection in Retrieval-Based Chatbots. ACM International Conference, 2019, p. 429-437.

Vaswani, A. Attention Is All You Need. arXiv: 1706.03762. 2017.

Vinyals, O., Le, Q. V. A neural conversational model. arXiv preprint. arXiv:1506.05869. 2015.

Wallace, R. The Elements of AIML Style. ALICE A.I Foundation, 2003, 86 p.

Weizenbaum, J. ELIZA - A computer program for the study of natural language communication between man and machine. Communications of the ACM, 1966, vol. 9 (1), p. 36-45.

Yang, Z., Dai, Z., Yang, Y., Carbonell, J., Salakhutdinov, R., Le, Q. V. XLNet: Generalized Autoregressive Pretraining for Language Understanding.arXiv:1906.08237. 2019.

Zhang, R., Lee, H., Polymenakos, L., Radev, D. Addressee and Response Selection in MultiParty Conversations with Speaker Interaction RNNs. arXiv:1709.04005. 2017.

Zhou, M., Wu, Y., Wu, W., Chen, X., Li, Z. Sequential matching network: A new architecture for multi-turn response selection in retrieval-based chatbots. ACL. arXiv:1612.01627. 2016.

References

Artetxe, M., Schwenk, H. Massively multilingual sentence embeddings for zero-shot cross-lingual transfer and beyond. CoRR. arXiv:1812.10464. 2018.

Bellegarda, J. R. Large-Scale Personal Assistant Technology Deployment: the Siri Experience. INTERSPEECH, 2013, p. 2029-2033.

Bojanowski, P., Grave, E., Joulin, A., Mikolov, T. Enriching Word Vectors with Subword Information. arXiv:1607.04606. 2017.

Che, W., Liu, Y., Wang, Y., Zheng, B., Liu, T. Towards better UD parsing: Deep contextualized word embeddings, ensemble, and treebank concatenation. CoRR. arXiv:1807.03121. 2018.

Cho, K. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. EMNLP, 2014, p. 1724-1734.

Dariu, J. Rodrigo, A., Otegi, A., Echegoyen, G., Rosset, S., Agirre, E., Cieliebak, M. Survey on Evaluation Methods for Dialogue Systems. arXiv:1905.04071. 2019.

Gao, J., Galley, M., Li, L. Neural Approaches to Conversational AI. arXiv:1809.08267. 2019, 95 p.

Harris, Z. S. Distributional structure. Word, 1954, 10, iss. 2-3, p. 146-162.

Higashinaka, R., Minami, Y., Meguro, T, Imamura, K., Miyazaki, C., Kobayashi, N., Sugiya-ma, H., Hirano, T., Makino, T., Matsuo, Y. Towards an open-domain conversational system fully based on natural language processing. In: Proceedings of the 25th International Conference on Computational Linguistics, 2014, p. 928-939.

Holger S., Douze, M. Learning Joint Multilingual Sentence Representations with Neural Machine Translation, ACL workshop on Representation Learning for NLP. arXiv:1704.04154. 2017.

Hu, B., Lu, Z., Li, H., Chen Q. Convolutional neural network architectures for matching natural language sentences. In: Advances in Neural Information Processing Systems, 2014, p. 20422050.

Huang, M., Zhu, X., Gao, J. Challenges in building intelligent open-domain dialog systems. arXiv preprint. arXiv:1905.05709. 2019.

Ihaba, M., Takahashi, K. Neural Utterance Ranking Model for Conversational Dialogue Systems. In: Proceedings of the SIGDIAL 2016 Conference. Association for Computational Linguistics, 2016,p.393-403.

Joulin, A., Grave, E., Bojanowski, P., Mikolov, T. Bag of Tricks for Efficient Text Classification. arXiv:1607.01759. 2016.

Jurafsky, D., Martin, J. H. Title Speech and Language Processing. 2nd ed. Prentice Hall, 2008, 988 p.

Lavrientiev, A. M., Solovyev, F. N., Suvorova (Ananieva), M. I., Fokina, A. N., Chepovsky, A. M.

A new toolkit for natural text processing with the TXM platform and its application to a corpus for analysis of texts propagating extremist views. Vestnik NSU. Series: Linguistics and Intercultural Communication, 2018, vol. 16, no. 3, p. 19-31.

Li, J., Galley, M., Brockett, C., Gao, J., Dolan, B. A Diversity-Promoting Objective Function for Neural Conversation Models. arXiv:1510.03055. 2015.

Li, J., Galley, M., Brockett, C., Spithourakis, G. P., Gao, J., Dolan, B. A Persona-Based Neural Conversation Model. arXiv:1603.06155. 2016.

Liu, C.-W., Lowe, R., Serban, I. V., Noseworthy, M., Charlin, L., Pineau, J. How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation. arXiv:1603.08023. 2016.

Lowe, R., Pow, N., Serban, I. V., Pineau, J. The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems. arXiv:1506.08909. 2016.

Ma, W., Cui, Y., Shao, N., He, S., Zhang, W.-N., Liu, T., Wang, S., Hu, G. TripleNet: Triple Attention Network for Multi-Turn Response Selection in Retrieval-based Chatbots. arXiv:1909.10666. 2019.

Manning, C. D., Raghavan P., Schütze, H. An Introduction to Information Retrieval. Stanford NLP Group, Cambridge University Press, 2009, 581 p. URL: https://nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf (дата обращения 17.02.2020).

Masche, J., Le, N.-T. A Review of Technologies for Conversational Systems Conference Paper. In: Advances in Intelligent Systems and Computing, 2018, p. 212-225.

Miller, A., Fisch, A., Dodge, J., Karimi, A.-H., Bordes, A., Weston, J. Key-value memory networks for directly reading documents. arXiv preprint arXiv:1606.03126. 2016.

Moore, A. W. An intoductory tutorial on kd-trees. 1991. PhD Thesis: Efficient Memory-based Learning for Robot Control. Technical Report N. 209. Computer Laboratory University of Cambridge, 20 p.

Nio, L., Sakti, S., Neubig, G., Toda, T. Developing Non-goal Dialog System Based on Examples of Drama Television. Natural Interaction with Robots, Knowbots and Smartphones, 2014, p. 355-361.

Osgood, C., Suci, G., Tannenbaum, P. The measurement of meaning. University of Illinois Press, 1957, 354 p.

Parakash A., Brockett, C., Agrawal, P. Emulating Human Conversations using Convolutional Neural Network-based IR. arXiv:1606.07056. 2016.

Pennington, J., Socher, R., Manning, C. D. GloVe: Global Vectors for Word Representation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Association for Computational Linguistics, 2014, p. 1532-1543.

Peters, M. E., Neumann, M., Iyyer, M. Deep contextualized word representations. arXiv preprint arXiv: 1802.05365. 2018.

Searle, J. R. Classification of Illocutionary Acts. In: Proceedings of the Texas Conference on Performatives, Presuppositions and Implications. Arlington: Uni. Press, 1977, p. 27-45.

Serban, I., Lowe, R., Pow, N., Pineau, J. The ubuntu dialogue corpus: A large dataset for research in unstructured multi-turn dialogue systems. arXiv preprint. arXiv:1506.08909. 2015.

Shang, L., Lu, Z., Li, H. Neural responding machine for short-text conversation. In: Proc. of ACL-IJCNLP, 2015, p. 1577-1586.

Shao, L., Gouws, S., Britz, D., Goldie, A., Strope, B., Kurzweil, R. Generating High-Quality and Informative Conversation Responses with Sequence-to-Sequence Models. arXiv:1701.03185. 2016.

Sordoni, A., Galley, M., Auli, M., Brockett, C., Ji, Y., Mitchell, M., Nie, J.-Y., Gao, J., Dolan, B.

A Neural Network Approach to Context-Sensitive Generation of Conversational Responses. arXiv:1506.06714. 2015.

Sountsov, P., Sarawagi, S. Length bias in Encoder Decoder Models and a Case for Global Conditioning. arXiv:1606.03402. 2016.

Sutskiever, I., Vinyals, O., Le, Q. V. Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215. 2014.

Tao, C., Wu, W., Xu, C., Hu, W. Multi-Representation Fusion Network for Multi-Turn Response Selection in Retrieval-Based Chatbots. ACM International Conference, 2019, p. 429-437.

Vaswani, A. Attention Is All You Need. arXiv: 1706.03762. 2017.

Vinyals, O., Le, Q. V. A neural conversational model. arXiv preprint. arXiv:1506.05869. 2015.

Wallace, R. The Elements of AIML Style. ALICE A.I Foundation, 2003, 86 p.

Weizenbaum, J. ELIZA - A computer program for the study of natural language communication between man and machine. Communications of the ACM, 1966, vol. 9 (1), p. 36-45.

Yang, Z., Dai, Z., Yang, Y., Carbonell, J., Salakhutdinov, R., Le, Q. V. XLNet: Generalized Autoregressive Pretraining for Language Understanding.arXiv:1906.08237. 2019.

Zhang, R., Lee, H., Polymenakos, L., Radev, D. Addressee and Response Selection in MultiParty Conversations with Speaker Interaction RNNs. arXiv:1709.04005. 2017.

Zhou, M., Wu, Y., Wu, W., Chen, X., Li, Z. Sequential matching network: A new architecture for multi-turn response selection in retrieval-based chatbots. ACL. arXiv:1612.01627. 2016.

Материал поступил в редколлегию Date of submissiom 21.02.2020

Сведения об авторах / Information about the Authors

Жеребцова Юлия Андреевна, ведущий инженер, Национальный центр когнитивных разработок, Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики

Yulia A. Zherebtsova, lead research engineer, National Center for Cognitive Technologies, ITMO University

julia.zherebtsova@gmail.com ORCID 0000-0003-4450-2566

Чижик Анна Владимировна, кандидат культурологии, ведущий инженер, Национальный центр когнитивных разработок, Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики

Anna V. Chizhik, lead research engineer, National Center for Cognitive Technologies, ITMO University

afrancuzova@mail.ru ORCID 0000-0002-4523-5167