ЖАНРЫ

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

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

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

В реальных системах строгое разделение на генеративные и основанные на поиске модели соблюдается редко. Например, модель может выбирать реплики из предопределённого набора, а затем модифицировать их, например заменяя некоторые слова (или подставляя слова в реплику-шаблон) или соединяя несколько реплик между собой (как выше в ответе «Жени Густмана»: «Что-то между 2 и 4. Может быть, три? :-))) Кстати, я до сих пор не знаю вашу специальность — или, может быть, я её пропустил?»). Иногда модель, основанную на поиске, используют в качестве своеобразного «цензора»: набор заготовленных правил позволяет предсказуемым образом отвечать на провокационные вопросы («Любишь ли ты Гитлера?» и т. д.), в то время как на неизвестные реплики реагирует генеративная модель, способная давать на «неопасные» вопросы более интересные и разнообразные ответы.

В зависимости от того, ограниченна тематика общения или нет, диалоговые модели подразделяются соответственно на модели с закрытой предметной областью [closed domain] или с открытой предметной областью [open domain]. В принципе, опыт Элизы, Перри или SHRDLU показал, что системы, основанные на поиске и использующие функции поиска на основе правил, способны вполне успешно вести разговоры в случаях, когда тематика общения ограниченна. Этот успех основан главным образом на усилиях редакторов, он зависит от их способности подготовить и отладить большую базу реплик и правил.

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

— Какая сейчас погода в Питере?

— Два градуса тепла, дождь.

— А в Москве?

Этот диалог демонстрирует лингвистическое явление, называемое эллипсисом. Эллипсис — это пропуск в тексте или речи элемента, который может быть восстановлен на основании контекста. Для разрешения эллипсисов и упоминавшихся нами ранее анафор диалоговая система должна принимать в расчёт предшествующие реплики сторон. Нередко для правильного ответа нужны какие-то факты, сообщённые собеседником по ходу диалога. Для случаев, когда мы имеем дело с хорошо стандартизированным набором фактов (например, для заказа, оформлением которого занимается чат-бот, необходимо установить список товаров, адрес и время доставки), в арсенале GOFAI существует немало остроумных методов. Например, метод «заполнения параметров» (slot filling, дословно звучит более наглядно — «заполнение пазов»; часто также используются названия «разметка семантических ролей» [semantic role labeling] и «поверхностный семантический разбор» [shallow semantic parsing]), разработанный уже упоминавшимися нами Роджером Шанком и Марвином Минским [2252] . Позже он получил развитие в работах известного компьютерного лингвиста Дэна Журафски, создавшего совместно со своим коллегой Дэниэлом Гилдеа первую систему для автоматической разметки семантических ролей [2253] , [2254] . Суть метода заполнения параметров заключается в том, что факты, сообщаемые собеседником в процессе общения, как бы заполняют существующие пропуски в структуре повествования, которая затем используется для выбора ответных реплик и совершения системой определённых действий.

2252

Nair R. B. (2004). Narrative Gravity: Conversation, Cognition, Culture. Routledge // https://books.google.ru/books?id=Vud_AgAAQBAJ

2253

Jurafsky D., Martin J. H. (2009). Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition // https://books.google.ru/books?id=fZmj5UNK8AQC

2254

Daniel G., Daniel J. (2000). Automatic labeling of semantic roles / Proceedings of the 38th Annual Meeting on Association for Computational Linguistics — ACL '00. Hong Kong: Association for Computational Linguistics, pp. 512—520 // https://doi.org/10.3115/1075218.1075283

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

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

Для решения проблемы с запоминанием фактов, сообщённых собеседником, могут использоваться нейросетевые архитектуры, дополненные памятью (MANN), такие как «Нейронные машины Тьюринга» (Neural Turing machines, NTM) [2255] , «Дифференцируемые нейронные вычислители» (Differentiable neural computers, DNC) [2256] , «рекуррентный трансформер с памятью» (Recurrent Memory Transformer, RMT) [2257] , «дополненный памятью рекуррентный трансформер» (Memory-Augmented Recurrent Transformer, MART) [2258] , модификации трансформерных архитектур с «адаптивным диапазоном внимания» (Adaptive attention span) [2259] и «угасающим диапазоном» (Expire-span) [2260] и так далее. Такие модели оснащены адресуемой памятью и при этом способны научиться выбирать в обрабатываемых последовательностях информацию для запоминания, а также использовать информацию, находящуюся в памяти, для формирования ответов.

2255

Graves A., Wayne G., Danihelka I. (2014). Neural Turing Machines // https://arxiv.org/abs/1410.5401

2256

Graves A., Wayne G., Reynolds M., Harley T., Danihelka I., Grabska-Barwinska A., Colmenarejo S. G., Grefenstette E., Ramalho T., Agapiou J., Badia A. P., Hermann K. M., Zwols Y., Ostrovski G., Cain A., King H., Summerfield C., Blunsom P., Kavukcuoglu K., Hassabis D. (2016). Hybrid computing using a neural network with dynamic external memory / Nature, Vol. 538, pp. 471—476 (2016) // https://doi.org/10.1038/nature20101

2257

Bulatov A., Kuratov Y., Burtsev M. S. (2022). Recurrent Memory Transformer // https://arxiv.org/abs/2207.06881

2258

Lei J., Wang L, Shen Y., Yu D., Berg T. L., Bansal M. (2020). MART: Memory-Augmented Recurrent Transformer for Coherent Video Paragraph Captioning / Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics // https://aclanthology.org/2020.acl-main.233/

2259

Sukhbaatar S., Grave E., Bojanowski P., Joulin A. (2019). Adaptive Attention Span in Transformers // https://arxiv.org/abs/1905.07799

2260

Sukhbaatar S., Ju D., Poff S., Roller S., Szlam A., Weston J., Fan A. (2021). Not All Memories are Created Equal: Learning to Forget by Expiring // https://arxiv.org/abs/2105.06548

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

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

Ещё в 2016 г. Эндрю Ын в одном из интервью выразил скепсис в отношении «коммуникативных способностей» современных моделей глубокого обучения: «Большая часть пользы, которую приносит глубокое обучение, сегодня приходится на узкие области, в которых можно собрать много данных. Вот пример того, что оно не позволяет делать: вести содержательный диалог. Если специально отобрать [cherry-pick] некоторые демонстрационные разговоры, то может создаться впечатление осмысленного общения, однако, если вы попробуете вести беседу сами, она быстро пойдёт наперекосяк [quickly goes off the rails]» [2261] .

2261

Carey P. (2016). Baidu research chief Andrew Ng fixed on self-taught computers, self-driving cars / The Seattle Times, Originally published March 27, 2016, updated March 28, 2016 // https://www.seattletimes.com/business/baidu-research-chief-andrew-ng-fixed-on-self-taught-computers-self-driving-cars/

На самом деле проблема с обучающими выборками для диалоговых моделей несколько отличается от проблемы с обучающими выборками для систем машинного перевода. Если в случае машинного перевода основная проблема заключается в банальной нехватке данных, то в случае диалоговых систем данных как будто достаточно: диалоги пользователей социальных сетей, диалоги персонажей книг и фильмов — всё это теоретически годится для обучения генеративных моделей. Однако на деле оказывается, что использование этих данных сопряжено с определёнными трудностями. Наборы реплик из фильмов привязаны к происходящему на экране, наборы диалогов из книг по своей стилистике нередко отличаются от современной разговорной речи, а использование диалоговых данных из соцсетей без предварительной редактуры чревато множеством конфузов. В этом отношении показателен опыт бота Tay (от акронима Thinking About You — думаю о тебе), запущенного Microsoft на платформе Twitter 23 марта 2016 г. Через некоторое время после запуска бот начал публиковать провокационные и оскорбительные твиты, в результате чего Microsoft отключила бота уже через 16 часов после запуска. По словам специалистов компании, проблема была вызвана атакой троллей, поскольку бот учился вести диалог, используя реплики пользователей, общавшихся с ним [2262] . На смену Tay пришла ботесса по имени Zo, отличительной чертой которой является подчёркнутая политкорректность [2263] .

2262

Mason P. (2016). The racist hijacking of Microsoft’s chatbot shows how the internet teems with hate / The Guardian, 29 Mar 2016 // https://www.theguardian.com/world/2016/mar/29/microsoft-tay-tweets-antisemitic-racism

2263

Stuart-Ulin C. R. (2018). Microsoft's politically correct chatbot is even worse than its racist one / Quartz, July 31, 2018 // https://qz.com/1340990/microsofts-politically-correct-chat-bot-is-even-worse-than-its-racist-one/

Действительно, корпоративные чат-боты по определению должны быть более воспитанными, чем среднестатистический пользователь «Твиттера»; кроме того, реплики бота должны быть непротиворечивыми, соответствовать сведениям о его персонаже. Но и такой осмысленности мало — вряд ли нас устроит, если бот будет постоянно менять суждения и вкусы, а такое множественное расстройство личности будет неизбежно, если обучать модель на репликах разных людей.

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

Поделиться с друзьями: