术语表
Alexa Skill
Alexa Skill是运行在Amazon Alexa语音助手平台上的第三方应用程序。用户通过语音指令与Alexa交互,Alexa将用户的请求路由到对应的Skill进行处理。Alexa Skill涵盖广泛的领域,包括天气查询、音乐播放、游戏娱乐、智能家居控制等。开发者通过Amazon Alexa Developer Console来创建、配置和发布自己的Skill。每个Skill都需要定义一个意图模型来告诉Alexa该Skill能够处理哪些类型的用户请求。
意图模型(Interaction Model)
意图模型是Alexa Skill的核心配置文件,以JSON格式定义了Skill能够理解的所有用户意图和对应的处理逻辑。意图模型告诉Alexa如何将用户的语音请求映射到Skill内部的处理函数。一个完整的意图模型包含intents数组(定义所有意图)、invocationName(唤醒词)和可选的types数组(自定义Slot类型)。意图模型的质量直接决定了Alexa能否正确理解用户的请求,是Skill开发中最关键的配置文件。
意图(Intent)
在Alexa Skill中,意图代表用户可能想要达成的某种目的。每个意图由名称(name)、示例语句(samples)和槽位(slots)组成。意图名称必须以大写字母开头,使用驼峰命名法,例如"GetWeatherIntent"或"OrderCoffeeIntent"。示例语句是用户可能说的各种表达方式,Alexa使用这些示例来训练意图识别模型。槽位是从用户输入中提取的具体参数信息,例如地点、时间、数量等。
唤醒词(Invocation Name)
唤醒词是用户在与Alexa交互时用来启动您的Skill的语音指令中的关键词。例如如果唤醒词是"weather helper",用户需要说"Alexa, open weather helper"来启动该Skill。唤醒词的设计需要遵循Amazon的命名规范:必须由两个或更多单词组成(单个单词的唤醒词需要特殊审批)、不能包含Alexa或Echo等品牌名称、不能是已有的Skill唤醒词、必须是用户能够自然说出的短语。唤醒词的长度建议在2到5个单词之间。
槽位(Slot)
槽位是从用户语音输入中提取的具体参数值。每个槽位关联一个类型(type),定义了该槽位可以接受的值的范围。例如在"OrderCoffeeIntent"意图中,"size"槽位的类型可以是自定义的"COFFEE_SIZE"(包含small、medium、large等值)或内置的"AMAZON.NUMBER"。槽位使得Alexa能够从用户的自然语言输入中提取结构化的参数信息,供Skill的后端逻辑使用。槽位可以标记为必需(required)或可选(not required)。
示例语句(Samples)
示例语句是意图模型中用于训练Alexa意图识别模型的用户输入示例。每个意图的samples数组包含了多条用户可能说的话的示例文本。Alexa使用这些示例来学习如何将新的用户输入匹配到正确的意图。示例语句中可以使用花括号(如{size})来引用槽位,告诉Alexa在这个位置需要提取对应的参数值。示例语句的质量和数量直接影响意图识别的准确率。一般来说,每个意图建议准备至少10到15条多样化的示例语句。
自定义Slot类型
自定义Slot类型是开发者在types数组中定义的、用于特定Skill需求的槽位值集合。例如如果您开发的是一个餐厅点餐Skill,可以定义一个名为"FOOD_ITEM"的自定义Slot类型,包含"burger""pizza""salad"等值。自定义Slot类型定义在意图模型的types数组中,每个类型包含name(类型名称)和values(值数组)两个字段。自定义Slot类型使得Alexa能够更准确地识别特定领域的参数值,而不仅仅依赖通用的内置类型。
UD5工具箱