# 词典管理

用户的常用表达中,同一类型的名词将会被总结为词典。

以天气查询为例,开发者期望用户的交互方式为:

明天合肥天气怎么样

明天厦门会下雨吗

我们可以把以上两句话抽象为一个查询天气的意图,其中常用表达如下:

{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的第一列填写词条名,后面的列中填写该词条名对应的别名。