【问题标题】:Alexa ignoring "arrive" in sample utterance and mapping to wrong intentAlexa忽略样本话语中的“到达”并映射到错误的意图
【发布时间】:2018-02-22 17:27:25
【问题描述】:

我为我的 Alexa Skill 设置了两个意图,NextTrainIntentTrainArrivalIntent。在我的示例话语中,我将它们映射如下:

NextTrainIntent what is the next train to {DestinationCity}
NextTrainIntent what's the next train to {DestinationCity}
NextTrainIntent when is the next train to {DestinationCity}
NextTrainIntent when is the next train from {OriginCity}
NextTrainIntent when is the next train from {OriginCity} to {DestinationCity}
NextTrainIntent when is the next train
TrainArrivalIntent when does train {TrainNumber} arrive at {DestinationCity}
TrainArrivalIntent when does train {TrainNumber} arrive 
TrainArrivalIntent when does train {TrainNumber} get in 
...

当我使用亚马逊的服务模拟器对此进行测试时,如果我输入以下语句作为文本:“火车 9306 何时到达”,则 服务请求 json 显示它已将话语映射到 NextTrainIntent,即使它与 TrainArivalIntent 的示例话语完全匹配

"request": {
  "type": "IntentRequest",
  "requestId": "EdwRequestId.ccafa51d-38de-4500-b17b-f94bbee1ad93",
  "intent": {
    "name": "NextTrainIntent",

但是,如果我测试该话语:“火车 9305 何时进入”,它会正确映射到 TrainArrivalIntent。

"request": {
  "type": "IntentRequest",
  "requestId": "EdwRequestId.7a415e55-14b3-4789-9a83-0f6cf2f16a6c",
  "intent": {
    "name": "TrainArrivalIntent",

这里有什么问题?在这种情况下,“到达”这个词的存在对于辨别两种意图至关重要。但是,Alexa 似乎忽略了它。我怎样才能让它“到达”被使用?

【问题讨论】:

    标签: alexa alexa-skills-kit alexa-skill


    【解决方案1】:

    我从我的样本中删除了“what is the”和“when is”语句,它开始工作了。

    NextTrainIntent next train from {OriginCity} to {DestinationCity}
    NextTrainToFromIntent next train to {DestinationCity} from {OriginCity}
    TrainArrivalIntent train {TrainNumber} arrive at {DestinationCity}
    TrainArrivalIntent train {TrainNumber} arrive 
    TrainArrivalIntent train {TrainNumber} get in 
    TrainArrivalIntent train {TrainNumber} arrive at {DestinationCity}
    TrainArrivalIntent train {TrainNumber} get in to {DestinationCity}
    TrainArrivalIntent train number {TrainNumber} arrive at {DestinationCity}
    TrainArrivalIntent train number {TrainNumber} get in to {DestinationCity}
    TrainArrivalIntent train number {TrainNumber} arrive 
    TrainArrivalIntent train number {TrainNumber} get in
    

    因为上面的语音示例还有一些其他变化,所以我不肯定删除问题前缀是解决问题的原因。与机器学习一样,您通常无法回答“为什么”某些东西有效。不管是什么原因,上述示例话语确实使问题中的话语得到了正确识别。

    【讨论】:

    • 您需要示例话语中的意图名称吗?即“TrainArrivalIntent 列车号 {TrainNumber} 进入”,您需要 TrainArrivalIntent 部分吗..?
    • 是的,但这只是因为这是亚马逊用来将其与正确意图匹配的标识符。这些并不是示例话语文本的真正部分。示例文本在标识符之后开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    相关资源
    最近更新 更多