57
Диалоговые системы и чат-боты Как они устроены сейчас, и что ждет их в ближайшем будущем Татьяна Ландо

[ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Embed Size (px)

Citation preview

Page 1: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Диалоговые системы и чат-боты

Как они устроены сейчас, и что ждет их в ближайшем будущем

Татьяна Ландо

Page 2: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Настоящее

Page 3: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо
Page 4: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Ближайшее будущее:Conversational Commerce

• Telegram • Facebook• Slack

Платформы для быстрого построения ботов:• https://botogram.io/ • http://chatfuel.com/ru• http://manychat.com/

Page 5: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Как вообще устроен диалог?

Page 6: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Порядок обмена репликами

Page 7: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Структура разговора

Page 8: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Инициатива

Page 9: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Общий контекст

Page 10: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Что должна уметь диалоговая система?

• Определять, когда пользователь закончил говорить и ждет ответа;

• Иметь с пользователем общий контекст, обучаться на лету его пополнять;

• Понимать роли собеседников и порядок реплик;

• Вовремя перехватывать и отдавать инициативу

Page 11: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Единственная общепризнанная метрика – тест Тьюринга

Page 12: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Единственная общепризнанная метрика – тест Тьюринга

Page 13: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Как устроены чат-боты?

Page 14: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Классическая архитектура чат-бота

Page 15: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Классическая архитектура чат-бота

• КАК ТЫ ЖИВЕШЬ | ? | Вот, сижу в компьютере, разговариваю с людьми…

• ТЕБЯ ДОЛГО ДЕЛАЛИ | ? | Меня - полдня, а базу - четыре года.

• ПЛОХО | ТАК КАК | А ты не допускаешь другой точки зрения?

• ХОЧУ | РАБОТ | Если хочешь поработать, ляг поспи и все пройдет.

Page 16: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Классическая архитектура чат-бота

• Диалог основывается на шаблонах «стимул — реакция»

Page 17: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Классическая архитектура чат-бота

Входная реплика hey man, look at what I've found here ;)

Очистка look at what I have found here

Поиск шаблона <WHAT I HAVE FOUND HERE>

Поиск шаблона <WHAT DID YOU FIND?><THAT'S NOT INTERESTING!>

Ответ That's not interesting!

Page 18: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Прошлое

Page 19: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Eliza (Weizenbaum, 1966)

User: I am feeling depressed. ELIZA: How long are you feeling depressed?

I am feeling * => How long are you feeling *

Page 20: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

AIML: ALICE & Co

• AIML – XML для создания чатботов• ALICE: –бот с открытым кодом на основе AIML–50 000 пар шаблон – ответ –поддержка краткосрочной памяти–поддержка темы диалога –обобщенные шаблоны

Page 21: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Поддержка краткосрочной памяти

<category><pattern>YES</pattern><that>DO YOU LIKE READING BOOKS?</that><template>Which one do you like most?</template></category>

Page 22: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Поддержка темы диалога

<topic name=”POETRY”/><category><pattern>*</pattern><template>Do you own any poetry books?</template></category>

Page 23: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Обобщения шаблонов

– Меня зовут Бонд, Джеймс Бонд– Приятно познакомиться, Бонд, Джеймс

Бонд!

Page 24: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Обобщения шаблонов

– Меня зовут Бонд, Джеймс Бонд– Приятно познакомиться, Бонд, Джеймс

Бонд!

– Меня зовут Бонд, Джеймс Бонд– Приятно познакомиться, Бонд!

Page 25: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Обобщения шаблонов

– Меня зовут Бонд, Джеймс Бонд– Приятно познакомиться, Бонд, Джеймс

Бонд!

– Меня зовут Бонд, Джеймс Бонд– Приятно познакомиться, Бонд!

– Меня зовут Бонд, Джеймс Бонд– Приятно познакомиться, Джеймс!

Page 26: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Обобщение шаблонов и NLP

• Регулярные выражения• Контекстно-свободные грамматики• Извлечение именованных сущностей

(NER)• Синтаксический парсинг, вот это всё

Page 27: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Обобщение шаблонов и NLP

<category><pattern>WHO IS ALBERT *</pattern><template>albert is a common name</template></category>

<category><pattern>WHO IS NE_PERSON *</pattern><template>I don't know anybody of that name.</template></category>

Page 28: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Как устроены диалоговые системы?

Page 29: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Классическая архитектура диалоговой системы

Понимание ввода на естественном языке

Управление диалогом

Генерация ответа на естественном языке

Page 30: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Классическая архитектура диалоговой системы

Page 31: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Понимание естественного языка Natural Language Understanding

• Сири, разбуди меня завтра в 6 утра • Слушай, Яндекс, поехали домой• Окей, гугл, Сколько лет Анджелине

Джоли?• Фильм в котором два мужика едут к

морю

Page 32: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Понимание естественного языка Natural Language Understanding

Очистка входной реплики

Опечатки, ошибки, символы

Сегментация ПредложенияУровень слов Морфология, извлечение

именованных сущностейСинтаксис Синтаксические связи

Семантика Попытка связать со значениями

Page 33: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Управление диалогом

• Решает, что должна сделать система• Основана на «разговорных состояниях»– Граф конечных состояний– Фреймы– План

Page 34: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Управление диалогом: фрейм

Покупка авиабилета

Origin: {{city}} МоскваDestination: {{city}} ПарижDate: {{date}} завтра

Time: {{time}} 10.00Airline: {{airline_name}} Air France

Page 35: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Генерация ответа

• Преднаписанный текст• Заполнение шаблонов:– Преднаписанные тексты с пробелами– Пробелы заполняются значениями

переменных• Генерация текста:– Очень сложно делать хорошо– Интегрирована в «плановое управление

диалогом»

Page 36: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Генерация ответа

В Москве 21 ноября 2015 года будет 4 градуса выше нуля.

В _city_(предложный падеж) _date_ будет _degrees_. Date = _day_ _month_ _year_Degrees = _number_ _градус(а|ов|-)_ (выше|ниже) нуля

Page 37: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Генерация естественного языка

Naturalism and decision for the majority of Arab countries' capitalide was grounded by the Irish language by [[John Clair]], [[An Imperial Japanese Revolt]], associated with Guangzham's sovereignty. His generals were the powerful ruler of the Portugal in the [[Protestant Immineners]], which could be said to be directly in Cantonese Communication, which followed a ceremony and set inspired prison, training.

Page 38: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Попытки автоматизации

• Марковский процесс принятия решения• Обучение с подкреплением

(Reinforcement learning)• Проблемы:– Подобрать вознаграждения для MDP – Количество состояний конечно (реплик или

действий)

Page 39: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Что дальше?

Page 40: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Машинное обучение и боты

Page 41: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Машинное обучение и боты

• Обучение на реальных диалогах: – End-to-end системы – Нейронные сети

• Обучение с подкреплением:– Разные реакции на одинаковые реплики– Но не понятно как их оценивать

Page 42: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Нейронные сети

• Обучение от последовательности к последовательности (Sequence to sequence)см. Ilya Sutskever, Oriol Vinyals, Quoc V.Le

• Многослойная длинная краткосрочная память (Long Short-Term Memory, LSTM)

• Neural Conversational Model: – Субтитры– Логи службы поддержки

Page 43: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Гибриды

• Надо ли обучать нейронную сеть, чтобы отвечать на вопросы о погоде?

• Чат-боты используются для «общечеловеческой болтовни»

• Диалоговые системы – для применений в конкретных предметных областях

Page 44: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Оценка качества

Page 45: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Оценка качества: зачем?

• Оценить как система выполняет цели• Как система улучшается от версии к версии• Сравнивать системы между собой• Найти слабые места системы• Делать тонкую настройку: размен факторов

Page 46: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Оценка качестваНейронная сетьQ: my name is david . what is my name ?R: david .Q: is sky blue or black ?R : blue .Q: what do you think about cleopatra ?R: oh , she ’s very regal .

Чат-бот (Cleverbot)Q: My name is david . what is my name ?R: How old are you David?Q: Is sky blue or black ?R: I am 200 years old.Q: What do you think about cleopatra ?R: Cool is cool.

Page 47: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Оценка качества: пользовательские и объективные

• Счастье пользователя:– Вероятность повторного использования– Простота использования, ожидаемое поведение– Обратная связь «спасибо»

• Характеристики системы: – Проблема 100% полноты (у чат ботов)– Частота успешных диалогов– Время/число реплик до выполнения цели

диалога

Page 48: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Оценка качества: юзабилити

• «Счастье пользователей»:– Task ease– Perceived completion– Expected behavior

• Вероятность повторного использования

Page 49: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Оценка качества: объективные

• Проблема 100% полноты (у чат ботов)• Частота успешных диалогов• Время/число реплик до выполнения

цели диалога

Page 50: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Оценка качества: WOZ

Решаем проблему, где взять эталон:– Человек прикидывается чат-ботом (Wizard)– Пользователь считает, что говорит с чат-

ботом– Строгие протоколы взаимодействия– Нужно много «волшебников»

Page 51: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Использование в настоящем и будущем

Page 52: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

XiaoIce• Jerry: XiaoIce, will it rain tomorrow?• XiaoIce: Tomorrow the weather in Beijing will be

nice with a maximum high of 25*C. No rain to get you soaked.

• Jerry: How about the day after tomorrow?• XiaoIce: The day after tomorrow, the weather in

Beijing will also be fair, with a max high of 23*C.• Jerry: What about Seattle?• XiaoIce: Yes sir, I’ve got the answer.  The day

after tomorrow, Seattle will be cloudy with a max high of 30*C. Perfect for going outside.

Page 53: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Google

Page 54: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Какими станут диалоговые системы?

• Обучающимися• Эмоциональными• Персональными• Универсальными• Аватаризированными

Page 55: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Терапевтические применения

Page 56: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Голосовые интерфейсы

Page 57: [ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна Ландо

Спасибо!

[email protected]