【问题标题】:How to define a custom slot type for flight codes in Alexa Skill?如何在 Alexa Skill 中为航班代码定义自定义插槽类型?
【发布时间】:2019-07-30 03:05:28
【问题描述】:

我想为航班代码创建一个德国自定义槽类型。航班代码由航空公司的缩写组成,例如

EZY, DLH, AFR, ABY, AAL, RYR, DAL, ...

和一个 3 到 5 位数字,例如

352, 5832, 84544, ...

所以槽类型示例应该是这样的:

EZY582, AFR5583, RYR19, DAL2912, ...

那么对于我来说,创建这种插槽类型的最佳选择是什么?请记住,我使用德语。

首先,我尝试对运营商代码和航班号使用两种不同的插槽类型:

FLIGHT_CODE and AMAZON.NUMBER

有很多问题,即使语音提示同时明确要求这两种插槽类型,模型也只能识别 FLIGHT_CODE。

其次,我尝试使用语音正确的值定义插槽类型:

"e. z. y. drei vier acht"

但是“e.z.y”。不会正确匹配。是否有获得此类组合类型的最佳实践?尤其是包含诸如“E. Z. Y.”之类的缩写词,这在德语中的发音会非常不同?提前谢谢你。

【问题讨论】:

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


    【解决方案1】:

    可能已经晚了,但如果有人遇到同样的问题,我就是这样解决的。我没有找到合适的方法来为航班代码本身指定一个插槽。但是,您可以提示输入航空公司的名称和 3 到 5 位数字。话语中有这样的东西:

    {airline_name} {flight_number}

    有一个名为AMAZON.Airline 的内置插槽类型。所以airline_name 的类型将是AMAZON.AIRLINEAMAZON.NUMBER 对于number。可以扩展内置类型以进行解决和验证。您可以按照本指南:https://developer.amazon.com/docs/custom-skills/slot-type-reference.html#h2_extend_types

    这样您就可以为每个航空公司和同义词分配一个 ID:

    Slot types: AMAZON.AIRLINE
    
    Value | ID | Synonyms 
    American Airlines | AA | American
    LATAM Airlines | LA | LAN, LATAM
    ...
    

    这样您就可以访问 JSON 中的解决方案字段,并且可以获得航空公司 ID。您还可以添加验证来比较扩展类型中的字段:

    "dialog": {
                "intents": [
                    {
                        "name": "FlightIntent",
                        "confirmationRequired": false,
                        "prompts": {},
                        "slots": [
                            {
                                "name": "airline_name",
                                "type": "AMAZON.Airline",
                                "confirmationRequired": false,
                                "elicitationRequired": false,
                                "prompts": {},
                                "validations": [
                                    {
                                        "type": "hasEntityResolutionMatch",
                                        "prompt": "Slot.Validation.1129359808444.140964634934.1466054813690"
                                    }
                                ]
                            },
    ...
    "prompts": [
                {
                    "id": "Slot.Validation.1129359808444.140964634934.1466054813690",
                    "variations": [
                        {
                            "type": "PlainText",
                            "value": "Please tell me the name of the airline followed by the number"
                        }
                    ]
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      相关资源
      最近更新 更多