天猫精灵语音技能单轮对话表达式的参数定义
下图是天猫精灵的意图编辑界面。
我们观察到了在意图的单轮对话表达式维护界面里,杭州
和 今天
这两个词都通过特殊的颜色进行高亮。这代表它们是对话表达式里的参数
。显然,天气预报业务要针对具体的城市和日期才有意义,因此这些参数也需要被发送到应用开发人员编写的服务接口中去。
下图是 weather
,天气预报意图的参数列表页面,其中 城市
的 id 为 city
,我们可以在应用接口的代表中使用该 id,获取用户语音请求中包含的 城市
名称。
上图 参数名称
右边的一列,叫做 关联实体
。实体(Entity)是自然语言处理领域里中表示一类短语的集合,包含了应用所在领域的关键词和术语。
比如天气预报领域,关键词为时间,地点,天气状况。在智能应用平台的处理流程里,实体负责告诉平台,当从用户语音请求中解析出参数时,这些参数的可能取值范围。语音技能支持自定义实体或者引用平台提供的公共实体。
上图定义的参数,都有一个一一对应的实体,界面如下:
如果用户发起的请求里,并没有显式说明想知道哪一个城市的天气状况,此时我们可以使用 精灵追问
功能,向用户发起一个新的提问,比如:你问的是哪一个城市
?从而获取 city 参数的值。
意图编辑页面里的多轮对话编辑也是一个很有用的功能:
上图的例子是,如果用户当前的请求已经位于 weather
意图的处理上下文,在这个情况下用户再次追问:那北京呢
?此时智能平台会判断出,这一轮的对话仍旧属于天气预报的意图,因此会将 city = 北京
这个参数串,发送给用户定义的业务实现接口。
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/3730bc22414f88aa4af7f9e48】。文章转载请联系作者。
评论