AI研习社比赛 对话系统中的口语理解 第一名
1.意图和填槽方案
模型是RoBERT+BiLSTM模型
通过AC自动机发现输入句子中的疑似实体,然后在输入特征中融入疑似实体的信息,从而提高模型的泛化能力;
2.槽值纠错方案
有些请求中会出现错别字,如果错别字出现在槽值中,则前面的填槽模型根据句式语义识别到的结果,后台服务也无法找到对应的歌曲。
因此,需要结合实体库和拼音特征对识别到的槽值进行纠正。
经过分析,语料中错误的槽值分为以下几种情况: ||的前后分别是纠错前后的槽值
1).同音字 例如:妈妈巴巴巴||妈妈爸爸;江湖大盗||江湖大道;摩托谣||摩托摇
2).错字 苍天一声笑||沧海一声笑;火锅调料||火锅底料
3).声母错了 体验||体面;道别的爱给特别的你||特别的爱给特别的你
4).韵母错 唱之歌||蝉之歌;说三就剩||说散就散;没有你陪伴真的很孤单||没有你陪伴真的好孤单
5).缺字 爱你千百回||一生爱你千百回;九百九十朵玫瑰||九百九十九朵玫瑰
6).表达不一致 1234||一二三四
7).停用字或标点 兄弟想你啦||兄弟想你了
8).差异很大 我想带你去土耳其 带你去旅行
采用拼音的编辑距离即可纠正1)情况;在得到拼音后替换容易混淆的声母对即可纠正3)情况;
在得到拼音后替换容易混淆的韵母对即可纠正4)情况;对实体或槽值中的数字转化为对应汉字即可纠正6)情况;
对实体或槽值做去停用字的操作即可纠正7)情况;其它2),5),8)的情况不容易纠正,具体能否纠正就看拼音的编辑距离和设定的阈值。
运行实验的方法:
bash start.sh host_name
注:因为我是Linux系统下实验的,host_name是用户名。
请大家根据自身情况,自行修改脚本start.sh中的文件目录。
Apache 2.0; see LICENSE for details.