# 词典管理
用户的常用表达中,同一类型的名词将会被总结为词典。
以天气查询为例,开发者期望用户的交互方式为:
明天合肥天气怎么样
明天厦门会下雨吗
我们可以把以上两句话抽象为一个查询天气的意图
,其中常用表达如下:
{time} {localtion} 天气怎么样
{time} {localtion} 会下雨吗
{time}
和{location}
分别包含:
time 词典 | location 词典 |
---|---|
今天 | 北京 |
明天 | 上海 |
后天 | 合肥 |
周一 | 厦门 |
周二 | 武汉 |
…… | …… |
# 开放词典
讯飞有一些开放的词典可以供开发者调用,在上面的例子中,{time}可以绑定IFLYTEK.Datetime
,{location}可以绑定IFLYTEK.ChinaCity
开放词典来实现,开发者无需自行编写。
# 自定义词典
但在一些垂直场景下,讯飞的开放词典并没有进行覆盖。比如快递公司的名称,房间房型等,此时需要开发者自己总结。
你可以新建词典「快递公司/expressCompany」,为词典添加词条,建议「词条」填写归一化的词典名,「别名」填词条用户所有的可能表述方式。
提示
在新建词典时,我们建议你确保为词典提供的值列表全面涵盖了用户的预期。有时用户可能说出的值你的技能不支持,但我们希望你依旧可以理解这个词。例如:如果你制作一个查询国内城市天气的技能,但用户可能会说“帮我查一下洛杉矶的天气”。为了更好的用户体验,我们希望你的技能能够理解“洛杉矶”是一个城市。
# 通配词典
开放词典中包含一种特殊的词典,称之为通配词典,用于配置不能穷举的技能语义槽。
例如在天气意图中,查看{chinaCity}的天气,chinaCity(中国城市)可以穷举的。
但在搜索技能中,搜索 {something},something 是不可能穷举的。因此在搜索意图中,推荐使用通配词典。
通配词典可以匹配任意的1~99个字符。
TIP
注意:因通配词典的命中率过高,使用通配词典可能会降低其它意图的命中概率,从而造成语义结果与预期不符。因此,在词典可以穷举时,请勿使用通配词典。
# 批量操作
词典批量操作包含导入和导出。导入可选择批量覆盖和批量追加。
- 批量覆盖是指导入一个excel文件,将当前的词典词条信息全部替换成导入文件的内容。
- 批量追加是指导入一个excel文件,在当前的词典词条信息中增加导入文件的内容。
# 导入格式
词典导入的文件支持excel格式。
# 示例
词条名 | 别名 | |||
---|---|---|---|---|
北京 | 帝都 | 首都 | 京城 | 皇城 |
合肥 | 霸都 | 安徽省省会 | 安徽省会 |
# 说明
在excel的第一列填写词条名,后面的列中填写该词条名对应的别名。