System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于历史对话和外部知识的多轮自然语言理解算法制造技术_技高网

一种基于历史对话和外部知识的多轮自然语言理解算法制造技术

技术编号:43495480 阅读:3 留言:0更新日期:2024-11-29 17:03
本发明专利技术旨在解决现有方法在处理多轮对话场景中存在的问题和挑战。为了实现更好的多轮对话的场景,本发明专利技术对RCGT进行了轻量化改进,提出了RCGT‑MT(Multi‑Turn)的模型方案,具体技术方案包括:为了缓解下游的对话管理模块的差错累积问题,以及针对历史对话上下文信息没有得到充分利用的问题,本发明专利技术对历史对话上下文信息进行编码,并引入历史对话上下文注意力机制,对历史对话和对话行为进行编码,并通过上下文注意力机制聚合历史对话中的信息,为自然语言理解任务引入更丰富的信息,以缓解多轮对话中的差错累积和歧义问题。针对用户输入在不同领域的语境中存在歧义和缺少背景知识的问题,本发明专利技术采用了外部知识库用于引入专业的领域知识,特别是在用户提出的问题需要特定的背景信息才能正确理解时,能够帮助模型更好地理解用户的意图,并缓解歧义问题。为了解决随着对话轮次增加导致的历史上下文信息利用不充分的问题,本发明专利技术引入了全局注意力机制,用于计算每一轮历史对话信息的权重,更充分高效地实现历史对话信息的利用。

【技术实现步骤摘要】

本专利技术涉及深度学习中的自然语言理解领域,针对提出了一种基于历史上下文的自然语言理解算法,旨在对历史上下文信息进行建模,用于增强rcgt算法在多轮对话中的效果。


技术介绍

1、随着苹果siri、微软cortana等智能语音助手的广泛应用,任务型对话系统越来越受到人们的关注。作为任务型对话系统的首个模块,主要用于将用户话语映射为机器可以理解的自然语言理解任务的质量将为整个任务型对话系统的效果夯下坚实的基础。rcgt算法对意图-槽位之间的信息进行了显式地双向建模,并通过tod-bert进行编码引入了更丰富的语义信息,将意图识别任务视作多标签分类任务,并用细粒度的意图标签引导槽位填充以实现双向提升效果。在单轮自然语言理解任务中,实现了多意图识别,更加契合真实场景中的对话。然而,在真实的对话场景中,随着任务复杂度的增加,单轮次的对话越来越难以满足现实对话场景的需求,为了确认用户的真实需求,系统往往需要进行多次的确认和反复询问,这就导致了对话轮次的增加。

2、多轮对话场景中主要存在以下的问题和挑战:

3、(1)传统的任务型对话系统在对话管理模块对历史对话进行记录和保存,随着对话轮次的增加,差错也会逐渐累积。

4、(2)用户的句子存在歧义,传统的自然语言理解算法大都只考虑到单轮对话的场景,由于只考虑了当前轮次的用户输入,这些自然语言理解算法忽略了与用户对话中的历史上下文信息,难以解决用户输入的歧义问题。

5、(3)随着对话轮次的增加,历史信息的复杂度也会增加,无用信息的占比也会增加,无效的历史对话上下文信息甚至会对模型造成误导。如何合理利用历史对话上下文信息,也是多轮自然语言理解中需要解决的一个无法避开的问题。

6、(4)对话中往往存在许多专业词汇和信息,在缺少背景知识的情况下可能会造成歧义。


技术实现思路

1、为了克服上述现有方法的不足,针对于多轮对话场景下存在的应用场景,本专利技术主要针对rcgt算法进行轻量化改进。

2、本专利技术旨在设计一个针对多轮对话场景下的改进算法,所采用的技术方案是:

3、步骤1:历史上下文编码层采用tod-bert对历史对话进行编码。历史上下文编码层的输入是历史对话文本uprev={u1,u2,…,ut-1},针对任意一轮历史对话ui∈uprev,在分词阶段引入[cls]、[sys]、[usr]标签,这一步的目的是为了引入更多的语义信息。在经过编码之后,历史轮次的上下文信息将被融合到[cls]标签的嵌入中,将[cls]标签的嵌入进行拼接,为了避免输入过大,输入的历史对话轮数是由超参数th控制的,每次仅对最新的th轮历史对话进行编码;

4、步骤2:历史对话动作中同样也蕴含了信息,可以用于引导自然语言理解任务以提升当前轮次自然语言理解的效果,为了对对话动作和其对应的槽位进行编码,本专利技术在对话动作编码层中引入了两个嵌入矩阵和,其中和分别表示对话动作的标签数和槽位的标签数。通过对话动作编码层,得到对话动作和对应槽位的嵌入,本专利技术采用glove 300d作为外部知识库初始化嵌入矩阵。最后,将对话动作和对应槽位的嵌入向量求和,得到对话动作嵌入;

5、步骤3:为了模拟查询专业背景知识能力,本专利技术提出了一种利用外部知识库来增强对话系统理解能力的方法。具体而言,选用dbpedia作为外部知识库,该知识库汇聚了来自维基百科的结构化信息,覆盖了广泛的领域和主题,能够为系统提供了丰富而广泛的知识基础;

6、步骤4:为了有效地融合历史上下文信息,本专利技术设计了一种创新的注意力机制框架,结合了历史上下文注意力机制和对话动作注意力机制。在传统的历史上下文注意力机制中,各轮对话信息往往被等同对待,导致了潜在的问题:随着对话轮次的增加,与当前任务无关的历史信息被引入,可能会引起解析的歧义,并降低系统的准确性和效率;

7、步骤5:输入经过词嵌入编码层、外部知识注意力层和全局-局部注意力层后,本步骤将得到的上下文向量进行拼接,为了获取句子中的时序特征,捕捉到句子中较长距离的依赖关系,对句子的上下文信息进行建模,将上下文向量通过bi-lstm捕获时序特征,本步骤复用了rcgt算法框架,该框架经由槽位-意图交互层对经过全注意力机制显式构建意图和槽位标签上下文向量,基于对话中的动态语境及槽位和意图间的双向依赖关系对槽位信息、历史上下文信息和外部知识进行融合,随后利用解码器推断出意图标签。得到意图标签后,算法进一步将其与包含了历史上下文信息和外部知识原始输入联合起来,送入意图-槽位交互层。捕捉当前输入的语义细节的同时,还整合了由意图识别层推断的意图标签所提供的意图上下文信息,并结合了历史上下文信息,从而优化了对槽位标签的预测;

8、步骤6:将上述模块进行连接,鉴于实际对话场景中经常遇到的正负样本不均衡问题,即正类样本与负类样本的数量差异显著,选择了自适应选择性损失函数asl作为优化目标。asl通过引入学习权重γ_+和γ_-,能够增大对难以分类的样本的关注度的同时,对正简单样本的关注度也不会减少,以缓解正负样本不均衡带来的影响,从而提高算法在多意图识别场景下的鲁棒性和准确率。为了实现两个任务的联合优化,将两个任务的损失函数进行加权和,得到最终的损失函数。对于槽位填充任务,将其视为序列标注问题。为了更准确地捕捉标注序列中的依赖关系,并提供结构化的预测输出,采用了条件随机场crf作为解码器。在crf框架中,利用负对数似然损失函数,确保在模型训练过程中最小化预测序列与真实序列之间的概率偏差。

本文档来自技高网...

【技术保护点】

1.一种基于历史对话和外部知识的多轮自然语言理解算法,其特征在于包含以下步骤:

2.如权利要求1所述方法,其特征在于,步骤1中的历史上下文编码层采用基于TOD-BERT对历史对话进行编码作为解决方案。

3.如权利要求1所述方法,其特征在于,步骤2中的对话动作编码层采用了GloVe 300d作为外部知识库初始化嵌入矩阵的方法。

4.如权利要求1所述方法,其特征在于,步骤3中在外部知识注意力层选用DBPedia作为外部知识库。

5.如权利要求1所述方法,其特征在于,步骤4中设计了一种创新的注意力机制框架,结合了历史上下文注意力机制和对话动作注意力机制。

6.如权利要求1所述方法,其特征在于,步骤5中将上下文向量通过Bi-LSTM捕获时序特征。

7.如权利要求1所述方法,其特征在于,步骤6中为了更准确地捕捉标注序列中的依赖关系,并提供结构化的预测输出,采用了条件随机场CRF作为解码器。

【技术特征摘要】

1.一种基于历史对话和外部知识的多轮自然语言理解算法,其特征在于包含以下步骤:

2.如权利要求1所述方法,其特征在于,步骤1中的历史上下文编码层采用基于tod-bert对历史对话进行编码作为解决方案。

3.如权利要求1所述方法,其特征在于,步骤2中的对话动作编码层采用了glove 300d作为外部知识库初始化嵌入矩阵的方法。

4.如权利要求1所述方法,其特征在于,步骤3中在外部知识注意力层选用...

【专利技术属性】
技术研发人员:贾海涛蒋超邢增恒吴亦乐任利许文波孙立成李建
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1