用户说法

一、概述

用户说法就是用户在对话交互过程中提出的问题,请求或命令。如:打开空调。

二、添加说法

1、编写说法规则

由于用户说法多种多样不可能穷举,所以需要编写规则对说法进行拓展。

比如「我要去苏州」,开发者将「苏州」两个字替换为一个叫「城市」的语义槽,系统通过替换绑定词库中的其他城市名,这个说法就可以匹配「我要去上海」、「我要去北京」等说法。

具体操作是:

  1. 开发者在添加用户说法之前,创建一个名为“目的地”的语义槽,同时将该语义槽与“sys.国内城市”词库相绑定。
  2. 通过#语义槽名称#的方式在说法中直接引用语义槽,如输入用户说法「我要去#目的地#」,在实际使用时,##内的语义槽名称可以被它绑定的词库内的任何词替换,完成说法的拓展。
  3. 注意:说法长度不可超过40个汉字或英文单词。

关于语义槽和词库的更多介绍,可以在语义槽词库章节中了解。

 

Minion

2、使用正则符号增强说法拓展能力

为了方便开发者快速编写句式相似的用户说法,DUI支持在用户说法中加入正则符号“[]”“()”“|”及停止符、通配符、重复符号的使用:

符号 说明 举例
() 必选符号,表示小括号内的内容必须有 #日期#天气(怎样|怎么样)
[] 可选符号,表示中括号内的内容可有可无 [请问|问一下]#日期#的天气
| 表示多个取其一(仅限于出现在括号内) #日期#的天气(如何|好吗|怎样)
^ 前停止符,表示说法不能向前扩展 ^播放歌曲
$ 后停止符,表示说法不能向后扩展 提高音量$
{n} 重复符号,表示前面的元素重复n遍 导航.{2}#目的地#
{n,m} 重复符号,表示前面的元素重复n~m遍 我要{1,2}导航#目的地#

 

注意
1.正则符号都必需为英文符号;
2.说法里只允许出现表格中提到的符号;
3.括号不能嵌套,即括号内不能再有括号,比如 [()];
4. | 一定要在括号里面,且 | 左or右不能为空;
5.用户说法一般支持前后自动扩展,如您不需支持此功能,可在说法前后使用停止符标注,之后说法不再支持自动向前扩展任意文本,包括语气词。

4、说法自动扩展

DUI平台支持说法自动扩展

1)由文字和语义槽构成的说法支持前后自动扩展。

说法举例
扩展说法1
扩展说法2
解析结果
导航去#目的地# 我要导航去#目的地# 导航去#目的地#吧 导航去#目的地#

2)由两个及两个以上语义槽构成的说法支持前后自动扩展。

说法举例
扩展说法1
扩展说法2
解析结果
#操作##设备# 给我#操作##设备# #操作##设备#看看 #操作##设备#

拓展功能在以下的条件下不可用

1)说法无标注或整句标注,如:“我想听故事”

2)全句只有一个语义槽,没有其他词语

3)标注时使用了sys.任意文本词库


 

5、整句标注

对于上文中列举的可以从句中直接获取关键信息的用户说法,我们可以通过标注语义槽的方式与词库关联。同时也存在部分语义槽的取值,开发者无法从用户说法中直接获取,而是需要从句子中的含义抽象出来。如「今天适合穿什么」,用户意图中表达出的查询对象是「穿衣指数」,这样无法对原句进行标注的用户说法,开发者可以通过整句标注功能,获取用户提供的关键信息。

整句标注步骤如下:

1)点击高级标注—添加标注

2)在出现的弹窗中选择要绑定的语义槽,并输入取值。(注意:语义槽需要预先创建好,并且在当前意图中引用进来)

6、指代标注

对话场景:

 

user:北京的天气怎么样?

sys:北京今日天气晴,气温18到25摄氏度。

user:导航去那里。(利用代词“那里”指代“北京”)

sys:正在为您导航。

要完成上述对话场景,需要按照以下方式来配置。

天气技能:

导航技能:

7、语义智能泛化

由于用户的表达多种多样,很难通过写说法来一一覆盖,故DUI推出【语义智能泛化】功能,来提升说法解析的灵活性;另外,DUI会不断提升语义的泛化能力,为您提供良好的使用体验。

您在技能详情页打开【语义智能泛化】开关后,DUI会自动进行同义词扩展,您无需将同义词穷举,系统会自动进行扩展替换。举例:

说法有:【我要去苏州】

泛化后,系统可识别解析说法:【我想去苏州】、【我想要去苏州】

智能泛化开关对整个技能生效,默认关闭。

注意:

1、语义槽部分暂不支持泛化,如#sys.歌曲名#;

2、正则括号内的部分,按“|”切分,切分后的部分作为一个整体,分别做泛化;如[首|一首],切分为"首"和"一首",分别进行扩展;

3、单字的句子暂不支持泛化;

三、说法的管理

1、批量导出

针对说法的管理,DUI支持将线上的说法批量导出到本地。开发者只需要在意图编辑界面点击说法管理-批量导出,即可将当前意图的所有说法,以CSV文件的形式保存到本地,如下图:

注意:编辑说法文件时,请使用支持UTF-8的文本编辑器,如VS code等IDE都是可以的;否则再次导入时可能出现乱码。

2、批量添加

如有大批说法需要添加,可以使用DUI提供的批量添加功能。DUI支持两种批量添加方式:

1、 通过文件导入;

2、通过手动输入或粘贴录入。

在意图编辑界面,开发者可以点击说法管理下拉弹窗中的批量添加,在打开的弹窗中选择是通过文件方式导入,还是通过手动输入方式来添加,如下图:

注意上传说法后,支持进行强弱说法配置,以及整句标注。(整句标注的介绍见上文第六点 )