论文部分内容阅读
在人机对话系统中包括自然语言理解、对话管理和自然语言生成三个关键模块,其中自然语言理解模块包含意图识别和语义槽抽取两大任务。2018年Google提出了基于双向Transformer的预训练语言模型BERT,在很多自然语言处理的下游任务中取得了最先进的效果。由此本文主要基于BERT的基础上研究如何提高自然语言理解模块的识别准确率。据此本文进行了以下几项工作:(1)首先基于BERT提出了BERT-Bi LSTM-CRF语义槽抽取算法。相对于传统的Bi LSTM-CRF信息抽取模型基于BERT的语义槽抽取模型具有更强的语义编码能力,对于小数据集有更好的泛化性能。分别在ATIS和SNIPS数据集上进行了语义槽抽取实验,由于BERT所采用的双向Transformer特征提取器具有更强语义编码能力,并且由于其迁移学习特性,更适用于小样本等优点,因此相对于Bi LSTM、Bi LSTM-CRF等语义槽抽取模型,BERT表现出更高的召回率和精确度,在ATIS和SNIPS数据集上F1值分别达到了95.83和92.40,相对于Bi LSTM-CRF模型F1值提高了2.16、1.97。(2)对传统模型中意图识别与语义槽抽取任务单独训练,忽略了意图类别和语义槽之间相关性问题,通过最小化两个子任务的损失来建立统一的联合损失函数,实现了多任务融合学习。为了进一步加强二者在多任务学习中的相关性融合,在损失函数相加的基础上提出了基于意图与语义槽之间注意力机制的模型,并分别对比了单任务、多任务以及多任务下引入注意力机制三种模型性能。实验结果表明,多任务融合训练在ATIS和SNIPS数据集上#值均有所提升,分别为96.12、93.84,提升了0.29、1.44。引入了注意力机制后,#值相比较单纯的多任务训练的方式提升了0.58、1.86,提升幅度明显大于仅仅将单任务改进为多任务训练,说明了注意力机制对模型的促进效果更加明显,能更加有效提升模型意图识别和语义槽抽取任务的准确性。(3)在基于BERT的自然语言理解算法研究基础上,本文设计并实现了一个面向航班预订场景的人机对话系统,支持主动提问、信息确认等多轮会话功能。并分别从系统界面和API接口两个方面做了详细的功能测试,系统可以正常稳定运行,并完成用户预订航班任务。