Pull to refresh

Comments 7

Мои 5 копеек:
1)На видео «Забронировать Стеклянная КТ», «Забронировать Кирпичная КТ» — зачем на каждой кнопке слово «Забронировать». Кажется, оно лишнее.
2)Мои попытки использовать dialogflow и wit.ai с русским языком оказались не слишком успешными. Возможно, что-то изменилось с тех пор, но мало вероятно.
3)Модель RASA NLU кмк позволяет добиться лучших результатов за счёт того, что при обучении «ответ» интерпретируется с учетом уже «заполненных» полей и последнего заданного вопроса. Это позволяет, с одной стороны извлекать «ключевые слова» из «широких фраз», но при этом правильно обрабатывать и ответы из закрытых уточняющих вопросов. Немного синтетический пример:
«Хочу забронировать столик у окна на 4х на 17-00
“Хочу забронировать столик» — «Какое количество гостей» — «4» — «Столик у окна» — «да» — «На какое время» — «5».
Во втором случае «4»,«да»,«5» — могут означать что угодно и «правильный» смысл определяется уже заполненными полями и текущим вопросом.

P.S. Если кто-то знает об opensource инструменте для «обучения» как в dialogflow — буду признателен за ссылки)
Как ваш Тирекс поймет запрос типа:
Забронируй переговорную в любое время после обеда, только не с 15 до 16?
В данном случае анализ речи определит намерение бронирования переговорной, однако не поймет ограничение по времени. Не добавлял таких условий из-за очень большого числа возможных сценариев — тогда будет теряться суть понятных задач бота и начнется разработка AI.

В примере с переговорами, на мой взгляд, ограниченное количество вариантов развития событий. Почему не обойтись hardcoded цепочкой, наподобие IVR? Желаемый результат сотрудником быстрее будет получен и с меньшими затратами на разработку...

В данном случае добавление вариантов событий происходит без больших затрат — в намерении мы указываем все данные, которые нам нужно собрать. А уже как они соберутся из первой фразы пользователя или через дополнительные вопросы, которые отправит сам Dialogflow — нам не важно.

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

Ирония в том, что что form/slot filling примерно так и работает.
Грубо говоря у нас есть «форма», которую нужно заполнить. Она состоит из списка полей. Для каждого поля есть «тип» и «вопрос».
Тогда получаются двай крайних случая:
Если пользователь присылает длинное развернутое сообщение — бот заполняет (в идеале) все поля формы.
Если бот присылает короткое сообщение или сообщение из которого понятно только «намерение», например «переговорка» — бот последовательно проходит по этим полям и задает «вопрос» (иногда сразу с вариантами ответов), как раз как в IVR

Для простых случаев все работает хорошо. Для «сложных» становится «сложнее» ). Например если есть какие-то бизнесовые ограничения, то после каждого шага проводить валидацию, итогом которой будет или заполнение очередного поля, либо сообщение о недопустимости такой комбинации, либо — сообщение о недопустимости с предложением выбрать от какого из конфликтующих значений «отказаться.»
Sign up to leave a comment.