Заставить чат-бота (wit.ai) ответить, что у него нет правильного ответа

Я использую Wit.ai для своего чат-бота. Проблема в том, что мой бот всегда пытается что-то ответить. Я заставлю своего бота отвечать только в том случае, если он действительно понял, о чем меня спрашивают. Я знаю, что это возможно, но если у меня есть бот с очень небольшим количеством ответов, кажется, что он всегда выбирает один из ответов, даже если его спрашивают о совершенно другом.

Я предполагаю, что можно заставить его ответить что-то вроде «Извините. Я не знаю, о чем вы спрашиваете. Я могу помочь вам с .....».

Может быть, мне следует использовать значение достоверности, которое я могу получить, и убедиться, что оно выше некоторого порога?


person Jamgreen    schedule 12.07.2016    source источник


Ответы (3)


Прямо сейчас лучший способ справиться с этой проблемой — создать одну или несколько историй с запросами, выходящими за рамки, и добавить в пользовательское сообщение «объединяющую» сущность со стратегией «чертой» (подробнее здесь).

В самом простом случае у вашего объекта-ловушки будет одно значение. У вас может быть несколько значений, например, если вам нужны разные ответы для разных запросов, выходящих за рамки, но имейте в виду, что чем сложнее ваш бот, тем больше историй и данных вам нужно будет сделать. он работает правильно.

Мы также работаем над более элегантным решением. Оставайтесь с нами здесь: https://github.com/wit-ai/wit

person l5t    schedule 12.07.2016
comment
Похоже, Stories устарели в wit.ai — есть ли другое решение? - person Jimmy Ng; 31.01.2018

Простое решение — создать историю без намерения, а бот ответит что-то вроде «Я не понимаю».

Эта история будет начата, когда никакие другие намерения не будут иметь значения. По нашему опыту работает очень хорошо.

person Deepiks Support    schedule 19.10.2016

Вы можете создать некоторую функцию для обработки намерения сообщения, введенного пользователем.

   function handleIntent(intent, sender) {
  switch(intent) {
    case "jokes":
       //Do Something
      break;
    case "greeting":
       //Do Something
      break;
    case "identification":
       //Do Something
      break;
    case "movie": 
       //Do Something
      break;
    default: // Any other intensions go here..
      sendTextMessage(sender, "I couldn't understand that one :(")
      break;

  }
}

Надеюсь идея поможет! :)

person gokcand    schedule 18.01.2017