2017-02-16 19 views
0

Вкладка Wit.ai 'Understanding' позволяет нам создавать фразы для разных целей (объекты признаков). Однако неясно, как тренироваться по той же фразе, но в разных контекстах.Как тренировать wit.ai для тех же фраз, но в разных контекстах?

Например, фраза «Да» может использоваться в качестве ответа для разных вопросов, но в зависимости от контекста его намерение может отличаться.

  • «Хотите купить молоко?» -> Да (означает мое намерение купить молоко)
  • «Должен ли я отправить вам квитанцию?» -> Да (теперь цель состоит в том, чтобы разрешить отправку квитанции)

ответ

0

Вам нужно будет добавить несколько примеров для «Да» и «Нет», прежде чем Вит сможет его получить. Для этого перейдите в раздел «Отменить удаление».

enter image description here

Также вы должны обращаться с Да/Нет ответов на вкладке Истории с отводом потока на основе.

Обратитесь к Ручка да/нет ответов подзаголовок в https://wit.ai/docs/recipes#converse-link. Вероятно, вы найдете этот пример очень полезным.

Имейте славный день.

+0

Спасибо @GokcanD за ответ! Но моя проблема на самом деле заключалась в том, чтобы не понимать правильно Да и Нет вариантов, а скорее предсказывать правильное действие, чтобы вызвать тот же ответ «Да», но в разных контекстах. Например, если пользователь согласился купить молоко, тогда бот говорит: «Вот ваше молоко», но когда пользователь согласился получить квитанцию, набрав тот же ответ «Да», бот сейчас скажет «Вот ваша квитанция». Вит может действительно путать оба этих ответа Да. –

0

Я столкнулся с этой проблемой некоторое время назад.

Я подготовил фразу «Да», чтобы иметь intent как refer_back. Это в основном означает, что каждый раз, когда пользователь говорит «да», остроумие говорит моему концу, ссылаясь на последнее сообщение (вопрос), отправленный ботом.

Теперь этот вопрос был явно написан вами (для бота спросить), поэтому вы можете пометить вопрос идентификатором, чтобы определить, что сказал пользователь Да.

switch (lastQuestion.id) { 
    case 1: getSomeMilk(); break; 
    case 2: ... 
} 

Конечно, это работает только если у вас есть обычай обратно конец, который делает API вызовы остроумие и обрабатывает взаимодействия с пользователем.

Эта стратегия работала достаточно хорошо для меня и, надеюсь, может дать вам некоторые идеи.

+0

Да, это имеет смысл. Таким образом, получается, что вы накапливаете все входящие сообщения об умах (чтобы их обозначить) и сохраняете их в сеансе. Правильно? Поэтому я вижу, что, к сожалению, нам нужно выполнить какие-то дополнительные обработки бэкэнд. Спасибо @ user3794496 –

+0

@ A.N да, так что вам нужно какой-то способ отслеживать, на какой вопрос ответ, так что немного дополнительной работы есть. Пожалуйста! –