描述对话语言理解
使用对话语言理解 (CLU) 时,需要考虑三个核心概念:话语、实体和意向。
陈述
言语是用户可能说的一句话而你的应用程序必须进行解读的示例。 例如:当使用家庭自动化系统时,用户可能会使用以下言语:
“打开风扇。”
“开灯。”
实体
实体是言语所指的项目。 例如以下言语里的风扇和灯:
“打开风扇。”
"开 灯。"
你可以把风扇和灯的实体视作特定的普通设备实体示例。
意向
意图是用户言语中表达的目的或目标。 例如,对于先前考虑的两句话语,其意向是打开设备;因此在你的 CLU 应用程序中,你可以定义一个与这些话语有关的“TurnOn”意向。
CLU 应用程序定义了一个由意向和实体组成的模型。 言语用于训练模型,使其根据给出的输入,识别出最有可能的意图以及应将其应用到的实体。 我们一直在考虑的家庭助理应用程序可能包含多个意图,例如以下示例:
Intent | 相关言语 | 实体 |
---|---|---|
问候语 | "Hello" | |
“嗨” | ||
“嘿” | ||
“早上好” | ||
打开 | “打开风扇” | 风扇(设备) |
“开灯” | 灯(设备) | |
“开灯” | 灯(设备) | |
禁用 | “关掉风扇” | 风扇(设备) |
“关灯” | 灯(设备) | |
“关灯” | 灯(设备) | |
CheckWeather | “今天的天气如何?” | 今天(日期时间) |
“给我天气预报” | ||
“对巴黎的预测是什么?” | 巴黎(位置) | |
“明天西雅图的天气如何?” | 西雅图(位置),明天(日期时间) | |
无 | “生命的意义是什么?” | |
“这东西是打开的吗?” |
表中每种意图对应多个语句。 意图应该是一个对言语任务进行分组的简洁方法。 特别有意思的是“无”意图。 应该考虑始终使用“无”意图,帮助处理未映射所输入的任何语句的语句。 “无”意图被认为是回退,通常用于在用户的请求与其他任何意图都不匹配时,向用户提供通用响应。
在 CLU 应用程序中使用样本话语定义实体和意向之后,可以训练语言模型来根据用户输入(即使它与样本话语不完全匹配)来预测意向和实体。 然后,可以使用客户端应用程序中的模型来检索预测,并进行适当响应。