litbaza книги онлайнРазная литератураОхота на электроовец. Большая книга искусственного интеллекта - Сергей Сергеевич Марков

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 240 241 242 243 244 245 246 247 248 ... 482
Перейти на страницу:
на поиске [retrieval-based].

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

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

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

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

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

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

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

— А в Москве?

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

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

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

Для решения проблемы с запоминанием фактов, сообщённых собеседником, могут использоваться нейросетевые архитектуры, дополненные памятью (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] и так далее. Такие модели оснащены адресуемой памятью и при этом способны научиться выбирать в обрабатываемых последовательностях информацию для запоминания, а также использовать информацию, находящуюся в памяти, для формирования ответов.

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

1 ... 240 241 242 243 244 245 246 247 248 ... 482
Перейти на страницу:

Комментарии
Минимальная длина комментария - 20 знаков. Уважайте себя и других!
Комментариев еще нет. Хотите быть первым?