论文部分内容阅读
随着人工智能的发展,用于和人类交互的智能对话系统变得越来越普及,相对于闲聊型对话系统的开放性和无目的性,任务型对话系统更多的是任务、技能相关,如现在很多电商平台都使用智能客服帮助用户解决问题需求。随着任务场景覆盖面越来越广,任务型对话系统面临着频繁增加功能的需求,然而任何新的领域、新的需求在出现的初期标注数据都非常匮乏,如何通过少量样本为对话系统快速增加新的功能成为现在任务型对话系统的一个挑战。自然语言理解是管道式任务型对话系统的重要模块,自然语言理解的经典做法是通过将非结构化的自然语言输入通过意图识别和语义槽填充转化成为结构化的数据,本课题在此基础上分别进行了小样本场景的意图识别和小样本场景的语义槽填充的实现,构成了自然语言理解模块的基础功能。本课题使用BERT作为小样本意图识别和语义槽填充的编码器,其中小样本意图识别采用度量学习的框架,并使用原形网络作为类别的发射打分器,同时融入基于词频的发射打分器,整体模型通过优化样本和类别表示的距离进行参数学习,最终得到一个性能良好的小样本意图识别模型,并且支持在不进行中间任务训练的前提下也有不错的表现;小样本语义槽填充模块首先利用度量学习的方法,通过交互式BERT编码器和原形网络计算发射打分,同时引入具有序列任务特点的基于数理统计的转移打分,最后使用条件随机场模型进行联合解码和学习。在真实的生产场景中,对话系统仅有上述的基础功能仍然是不完备的,因此本课题在自然语言理解模块中融入了一些重要的模块用于完善对话系统的功能。通过将源领域文本视为领域外语料,并计算阈值的方法能够简单高效地实现领域外检测的功能;通过将错例加入到支撑集,并进行预筛选或权值衰减的机制可以实现错例快速修复;通过匹配用户自定义的句式模板、语义槽词典等规则信息调整发射打分,可以实现融入用户自定义信息的功能。实现了上述功能以后,本课题整体最终实现了功能齐全的小样本自然语言理解单一模型。