bixby中暧昧话语的后备意图

问题描述 投票:0回答:2

是否有可能为那些未在我的应用程序中训练的话语添加回退意图?

我已经为我的应用程序添加了大量的话语,但是如果用户说出来并且与任何话语不匹配,那么我希望它回退并告诉用户我无法为您找到任何内容。

现在我有4个意图:

GetNews 的GetWeather GetRecepie 获取信息

现在我有GetNews意图的“给我体育新闻”的话语,我有GetRecepie的“我想要中国接收”。我已尽可能多地为所有意图添加了话语,但我遇到了一个“让我来邻居新闻”的话语,现在我没有任何newsType如邻居但我已经在我的代码中处理如果newsType是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

我不确定有什么问题,但如果这个解决方案没问题,那么如何解决这个错误,请给我解决真正的问题。

bixby bixbystudio
2个回答
1
投票

有几点需要探讨:

  1. “用户可能命令”ABCDRIKHLFJ“”:你应该训练Bixby来处理预期的话语而不是训练它以获得意外的输入。如果用户提供了非预期的输入,Bixby将请求它所需的输入。
  2. 你的胶囊可能试图做太多。根据GetNews,GetWeather,GetRecepie和GetInformation如何相互交互的性质,您的胶囊可能只是尝试提供太多用例。这导致Bixby错误地理解话语的内容并将话语信息路由到错误的Action。我建议您浏览一下这里找到的Principles of Training,因为他们解释了什么是必要的,以确保Bixby能够准确理解话语并将正确的信息传递到您的胶囊内的正确动作。

0
投票

看起来你的胶囊超载了各种各样的服务,食谱,新闻,天气和一般搜索。 Bixby胶囊应该有简洁的目标。您可以将胶囊分成3个不同的胶囊,配方,新闻,天气,最好不要创建一个通用的“搜索”胶囊。 Bixby平台的工作是“捕获”任何未处理的话语并执行后备操作。

希望这可以帮助。


0
投票

虽然我同意另一张海报说你可能会尝试使用单个应用程序做太多,但我想回答你关于后备意图的问题,因为我有同样的问题。

为了处理未知输入,我所做的是创建一系列与缺失的输入相匹配的对话框。下面是其中之一。

dialog (Elicitation) {  match: type  template("I didn't understand what type you were trying to say..") }

© www.soinside.com 2019 - 2024. All rights reserved.