Чат ботов также называют диалоговыми агентами или диалоговые системами, сейчас это очень горячая тема. Microsoft сделала
большую ставку на чат ботов, и после этого такие компании как
Facebook (M), Apple (Siri), Google, WeChat, and Slack. Это новая волна стартапов попытается изменить для пользователей взаимодействие с сервисами с помощью построения пользовательских приложений подобных
Operator и
x.ai, бот платформами как
Chatfuel, и бот библиотеками как
Howdy’s Botkit. Также Microsoft недавно предоставила свой Бот фреймворк.
Многие компании хотят разработать бота который может поддерживать естественный разговор ничем не отличающийся от человеческого, и это требует использование Нейронных сетей и техник машиного обучения для того что бы это было возможно. Но со всей этой шумихой вокруг ИИ иногда трудно различить правду от вымысла.
В этих частях я хочу рассказать о некоторых методах Машинного обучения которые используют для построения диалоговых агентов, начиная от текущей ситуации, что возможно , и что остается почти невозможным пока что на данный момент. Этот пост предоставит вступление, и даст информацию о реализации идеи в следующих постах.
СИСТЕМАТИКА МОДЕЛЕЙ
Поисково ориентированная vs. Генеративная модель
Поисково ориентированную модель (проще) используют как хранилище стандартных ответов часть которых эвристика которая выбирает ответ на основе введенного текста и его контекста. Эвристикой может быть простое выражение на основе некоторых заданных правил, или как совокупность классификаторов Машиного Обучения. Эти системы не генерируют новый текст, они только выбирают ответ из определенных значений.
Генеративная модель (сложнее) не полагается на предопределенные ответы. Эта модель генерирует новые ответы с нуля. Генеративная модель обычного базируется на методах Машинного Обучения, но вместо перевода из одного языка к другому, она переводит из ввода в вывод(ответ).
Обе модели имеют очевидные плюсы и минусы. Благодаря хранилищу вручную созданных ответов , поисковая модель не будет делать грамматических ошибок. Однако они могут быть неспособны справляться с неизвестными случаями для которых нет подходящих предопределенных ответов. По некоторым причинам , эти модели не могут ссылаться на пред идущие контекстные информационные сущности такие как имена упомянутые раньше в диалоге. Генеративная модель "умнее". Она может ссылаться назад к сущностям при вводе и давать понятие того о чем говорят люди. Хотя , эта модель сложно подается обучению, она вероятней всего будет делать грамматические ошибки(особенно при длинным предложениях ), и как правило нуждается в большом количестве тренировочной информации.