Alexa 忽略示例话语中的 "arrive" 并映射到错误的意图

Alexa ignoring "arrive" in sample utterance and mapping to wrong intent

我为我的 Alexa 技能设置了两个意图,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 
...

当我使用 Amazon 的服务模拟器对此进行测试时,如果我输入以下语句作为文本:"when does train 9306 arrive", 服务请求 json 显示它已将话语映射到 NextTrainIntent,即使它与 TrainArrivalIntent 的示例话语完全匹配

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

但是,如果我测试话语:"When does train 9305 get in",它会正确映射到 TrainArrivalIntent。

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

这是怎么回事?在这种情况下,单词 "arrive" 的存在对于区分两个意图至关重要。然而,Alexa 似乎忽略了它。我怎样才能让它 "arrive" 得到使用?

我从样本中删除了 "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

因为上面的语音示例还有一些其他更改,我不确定删除问题前缀是否能解决问题。与机器学习一样,您通常无法得到 "why" 有效的答案。不管是什么原因,上面的示例话语确实使问题中的话语得到了正确的识别。