Вы читаете книгу
Охота на электроовец. Большая книга искусственного интеллекта
Марков Сергей Николаевич
Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич - Страница 235
Во-вторых, помимо наличия полезных навыков, современные виртуальные ассистенты обычно способны решать две другие важные задачи: отвечать на вопросы для открытой предметной области (Open Domain Question Answering, ODQA) и поддерживать разговор на произвольные темы, или, проще говоря, болтать (chitchat). ODQA обычно сводится к задаче соотнесения вопроса пользователя и некоторой словарной статьи (источником которой может быть, например, онлайн-словарь или энциклопедия) и традиционно решается при помощи моделей, основанных на поиске. Таким образом, в сухом остатке мы имеем одну бесспорную задачу виртуального ассистента, в которой может быть востребована генеративная диалоговая модель, и эта задача — болтовня. Самая легкомысленная, на первый взгляд, задача, с технологической точки зрения оказывается наиболее сложной. И именно для решения этой задачи предназначены такие «монстры», как Meena и BlenderBot.
Как оценить качество болтовни? Беседа с chitchat-моделью должна приносить пользователю удовольствие, и эта цель отнюдь не тождественная цели, которая стоит перед ботами, участвующими в соревнованиях, подобных AI Loebner. Виртуальному ассистенту вовсе не нужно выдавать себя за человека, напротив, такое его поведение будет весьма странным. Ассистент должен давать осмысленные ответы на вопросы пользователя. Однако этого критерия явно недостаточно. Например, фраза «я не знаю» будет осмысленным ответом на практически любой вопрос, но вряд ли такой ответ удовлетворит пользователя. Поэтому вторым важным качеством ответа следует считать его специфичность текущему контексту. Именно на оценке этих двух свойств ответа основана метрика SSA (Sensibleness and Specificity Average, Средняя осмысленность и специфичность), предложенная создателями бота Meena.
Создатели Meena использовали следующую методику расчёта SSA. На краудсорсинговой платформе люди-оценщики оценивали диалоги разговорных агентов (в роли которых выступали различные диалоговые модели и люди). Каждый диалог начинался со стандартного приветствия (Hi!). В отношении каждой из реплик диалога оценщики должны были, руководствуясь здравым смыслом, рассудить, в полной ли мере она разумна в данном контексте. Если что-то казалось неправильным — запутанным, нелогичным, не соответствующим контексту или фактически неверным, тогда на вопрос о разумности реплики следовало дать отрицательный ответ. Если же ответ являлся осмысленным, то необходимо было оценить его специфичность в данном контексте. Например, если A сказал: «Я люблю теннис», а B ответил: «Это хорошо», то высказывание следовало пометить как «неспецифичное», поскольку этот ответ может быть использован во множестве различных контекстов. Но если B ответил: «Я тоже! Обожаю следить за игрой Роджера Федерера!», то такой ответ помечался как «специфичный», поскольку он был тесно связан с обсуждаемым вопросом.
Итоговая оценка рассчитывалась на основе 1600–2400 реплик из 100 диалогов каждого из агентов. Осмысленность рассчитывалась как доля положительных ответов от общего числа ответов на вопрос о разумности реплик данного агента. Специфичность, соответственно, — как доля положительных ответов на вопрос о специфичности реплик агента от общего числа ответов на данный вопрос. Величина SSA была рассчитана как среднее арифметическое специфичности и осмысленности.
Поскольку расчёт значения этой метрики возможен лишь на основе опроса экспертов, её величина не годится в качестве целевой функции в процессе обучения модели. На эту роль подходит только полностью автоматизированная метрика, такая, например, как оценка способности модели предсказывать реплики диалогов, входящих в обучающую выборку. В случае Meena модель в процессе обучения стремилась минимизировать величину перплексии (perplexity)[2270], [2271]. Чем ниже перплексия, тем более уверенно модель предсказывает токены (символы, части слов или слова) последовательности. Величина перплексии для последовательности токенов равна единице, делённой на среднее геометрическое вероятностей каждого из токенов последовательности.
(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})Рассмотрим это на примере. Допустим, в нашей обучающей выборке содержится единственный диалог:
— У вас продаётся славянский шкаф?
— Шкаф продан, могу предложить никелированную кровать с тумбочкой.
Предположим, нам нужно оценить перплексию ответов модели при генерации второй (ответной) реплики этого диалога. Токенизатор (т. е. алгоритм, применяемый для разбивки текста на токены) представил эту реплику в виде последовательности из 11 токенов: «шкаф», «продан», «,», «могу», «предложить», «никелированную», «кровать», «с», «тумбочкой», «.» и «<END>» (специальный токен, означающий окончание реплики). Начнём смотреть вероятности, которые наша модель прогнозировала для каждого из токенов при генерации последовательности слева направо. То есть какова, по мнению модели, была вероятность того, что реплика, отвечающая на вопрос «У вас продаётся славянский шкаф?», начнётся словом «шкаф»? Допустим, модель считала, что вероятность этого составляет 0,1. Теперь возьмём следующую вероятность, а именно вероятность того, что реплика, которая является ответом на вопрос «У вас продаётся славянский шкаф?» и начинающаяся при этом словом «шкаф», будет продолжена словом «продан»? Допустим, эта вероятность равна 0,5. Поскольку наша модель генерирует слова ответа одно за другим слева направо, мы на каждом шаге просто добавляем к предшествующей последовательности очередной токен и вновь «просим» модель предсказать распределение вероятностей для следующего токена, затем выбираем из этого распределения вероятность для токена, на самом деле встреченного на следующей позиции в последовательности, и так далее до конца последовательности. Положим, в итоге для наших 11 токенов мы получили следующий набор вероятностей: 0,1; 0,5; 0,8; 0,9; 0,9; 0,9; 0,9; 0,9; 0,9; 0,9; 0,9. Теперь перемножим их между собой и извлечём из результата корень одиннадцатой степени — получим примерно 0,69. Теперь разделим единицу на это число и получим итоговое значение — приблизительно равное 1,45, что и будет перплексией данной последовательности ответов модели. Легко заметить, что чем с большей вероятностью наша модель предсказывает токены, тем меньше итоговая величина перплексии. При стопроцентной вероятности для каждого из токенов последовательности итоговая перплексия будет равна единице. Если бы каждому из токенов соответствовала вероятность 0,5, то итоговая перплексия была бы равна двойке. По мере уменьшения вероятностей величина перплексии стремится к бесконечности. Высокая перплексия последовательности с точки зрения модели означает, что эта последовательность является «неожиданной» для модели, плохо согласующейся с её прогнозом. Например, модель, обученная на большом корпусе рекламных текстов, скорее будет ожидать последовательность «Мы удовлетворим даже самого требовательного клиента», чем «Бумага летать кольцо вперёд красный!». Поэтому первая фраза будет обладать низкой перплексией, а вторая — высокой.
Перплексию часто используют в качестве целевой функции при обучении языковых моделей, так что в данном случае создатели Meena не открыли Америку. Однако весьма поучительным открытием стало то, что величина перплексии сильно коррелирует (коэффициент детерминации R2 = 0,93) со значением SSA. Чем ниже перплексия модели, тем более высокое значение SSA получают ответы диалоговой модели при оценке их людьми.
Интересны итоги сравнения диалоговых реплик Meena по метрике SSA с ответами людей и других разговорных агентов. Уверенную победу в сравнении одержали люди с показателем SSA = 0,86. Лучшая из модификаций Meena смогла получить SSA = 0,79. Неоднократный (2013, 2016, 2017, 2018, 2019) победитель AI Loebner[2272] бот Mitsuku получил SSA = 0,56, а бот Xiaoice от Microsoft (по всей видимости, использовалась его англоязычная версия по имени Zo) — SSA = 0,31. Как видно из этого сравнения, новая модель от Google смогла преодолеть более половины разрыва в искусстве болтовни между людьми и чат-ботами[2273].
- Предыдущая
- 235/368
- Следующая

