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

Post on 16-Apr-2017

285 Views

Category:

Internet

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

Настоящее

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

• Telegram • Facebook• Slack

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

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

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

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

Инициатива

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Входная реплика 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!

Прошлое

Eliza (Weizenbaum, 1966)

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

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

AIML: ALICE & Co

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

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

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

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

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

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

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

Бонд!

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

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

Бонд!

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

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

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

Бонд!

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

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

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

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

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

Обобщение шаблонов и 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>

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

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

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

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

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

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

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

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

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

морю

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

диалогом»

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

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

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

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

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.

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

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

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

действий)

Что дальше?

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

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

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

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

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

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

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

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

Гибриды

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

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

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

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

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

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

Оценка качестваНейронная сеть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.

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

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

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

диалога

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

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

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

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

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

цели диалога

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

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

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

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

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.

Google

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

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

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

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

Спасибо!

tatiana.lando@gmail.com

top related