Резервное намерение для неоднозначных высказываний в Биксби - PullRequest
0 голосов
/ 08 марта 2019

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

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

Сейчас у меня 4 намерения:

GetNews
GetWeather
GetRecepie
GetInformation

Теперь у меня есть высказывание "Получи мне спортивные новости" для намерения GetNews, и у меня есть "Я хочу китайский рецепт" для GetRecepie. Я добавил столько высказываний для всего намерения, сколько смогу, но я натолкнулся на одно высказывание: «Получи мне новости соседа». Теперь у меня нет какого-либо типа новостей, такого как сосед, но у меня есть дескриптор в моем коде, если новость типа undefined затем показать общие новости. Но когда я приказываю это высказывание, оно попадает в намерение GetRecepie. Все 4 высказывания моего намерения начинаются с разных слов, ничто не совпадает друг с другом, а также почему оно относится к GetRecepie вместо GetNews?

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

Речь идет не о нормальном высказывании, а о том, как пользователь может выполнить команду "ABCDRIKHLFJ", а затем о том, как с этим справиться ... сейчас все попадает в GetRecepie.

Для решения я создал файл действия с именем LetItFallback и, проверяя GetRecepie, перепланировал его и передал цель резервному действию.

action (GetRecepie) {
 type(Search)

  collect{
    input (receipeID) {
    type (ReceipeChoiceResult)
    min (Optional)
    validate{
      if(not exists(receipeID.name)){
        replan{
          intent{
            goal{LetItFallBack}
          }
        }
      }
    }
  }
} 
output (RecepieResult) 
}

но я получаю ошибку в симуляторе

Unable to attach plan from 1.0.1-myAppID.api.GetRecepie#1.0.1-myAppID.api.RecepieResultreplan intent

Я не уверен, что не так, но если это решение подходит, как решить эту ошибку, иначе, пожалуйста, дайте мне решение для реальной проблемы.

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Есть несколько моментов, которые необходимо изучить:

  1. "Пользователь может подать команду" ABCDRIKHLFJ "": вам следует обучить Биксби обрабатывать ожидаемые высказывания, а не обучать его неожиданным вводам.Если пользователь вводит непреднамеренный ввод, Биксби запросит ввод, который ему необходим.
  2. Возможно, ваша капсула пытается сделать слишком много.В зависимости от характера взаимодействия GetNews, GetWeather, GetRecepie и GetInformation друг с другом, возможно, что ваша капсула просто пытается обслуживать слишком много вариантов использования.Это приводит к тому, что Биксби неправильно понимает содержание высказывания и перенаправляет информацию высказывания в неправильное действие.Я бы порекомендовал вам просмотреть Принципы обучения , приведенные здесь, поскольку они объясняют, что требуется, чтобы гарантировать, что Биксби сможет точно понимать высказывания и направлять правильную информацию в правильные Действия в вашей капсуле.
0 голосов
/ 10 марта 2019

Похоже, вы перегружаете капсулу различными услугами, рецептами, новостями, погодой и общим поиском.Капсулы Биксби должны иметь краткую цель.Вы можете разбить свою капсулу на 3 разные капсулы, рецепт, новости, погода и лучше не создавать универсальную «поисковую» капсулу.Работа платформы Bixby заключается в том, чтобы «поймать» любое необработанное высказывание и выполнить запасное действие.

Надеюсь, это поможет.

...