CN114564568A - 基于知识增强与上下文感知的对话状态追踪方法及系统 - Google Patents

基于知识增强与上下文感知的对话状态追踪方法及系统 Download PDF

Info

Publication number
CN114564568A
CN114564568A CN202210182490.6A CN202210182490A CN114564568A CN 114564568 A CN114564568 A CN 114564568A CN 202210182490 A CN202210182490 A CN 202210182490A CN 114564568 A CN114564568 A CN 114564568A
Authority
CN
China
Prior art keywords
slot
knowledge
context
dialog
characterization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210182490.6A
Other languages
English (en)
Inventor
陈羽中
林宇航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN202210182490.6A priority Critical patent/CN114564568A/zh
Publication of CN114564568A publication Critical patent/CN114564568A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种基于知识增强与上下文感知的对话状态追踪方法及系统,该方法包括以下步骤:步骤A:采集对话上下文和对话状态数据,构建对话训练集;步骤B:使用训练集,训练基于知识增强的深度学习网络模型;步骤C:将用户与系统的对话数据依次输入深度学习网络模型中,输出当前的对话状态。该方法及系统有利于提高对话状态追踪的准确性。

Description

基于知识增强与上下文感知的对话状态追踪方法及系统
技术领域
本发明属于自然语言处理领域,具体涉及一种基于知识增强与上下文感知的对话状态追踪方法及系统。
背景技术
对话状态追踪(Dialogue State Track,DST),是自然语言处理中任务型对话任务流程中的一个重要组成部分,其基本目标是根据对话上下文得到当前对话状态。对话状态是从对话开始到当前对话的用户目标的总结,通常表现为多组槽-值对的组合的形式,有时也会包括对话所属的领域、用户意图等信息。对话状态跟踪是指结合对话历史、当前对话、前一轮对话状态等信息,推断并更新当前对话状态的过程。随着信息技术发展的不断进步使人们能够在任何时间、地点以无线连接的方式几乎瞬时地访问信息、应用程序和服务。如今,诸如智能手机和平板电脑已经被广泛地用于访问网络。然而,内容的获取通常仅限于通过浏览器,其依靠传统的图形化界面(Graphical User Interfaces,GUIs)。更先进的人机交互方式亟需被提出,比如拥有更智能、直观和轻便的界面,能够以人类语言交流,提供透明且类人的环境。在影视作品中,通常呈现为智能机器人的形式。然而,目前的技术难以实现这种真正意义上的人类智能。因此,能够以自然语言与人类交流的对话系统受到研究者们的青睐。
在深度学习兴起之前,早期对话系统的DST模块都是采用基于规则的方法,它不需要训练数据,直接使用人工规则对对话状态进行更新。但是当数据量增大时,该方法就需要大量的人力来设计规则模板,而这些人工制定的规则很难保证其质量,并且当数据改变时其不具有灵活的可扩展性。这些缺点都限制了基于规则的对话状态追踪模型。
近年来,深度学习方法在自然语言处理的多个领域获得了广泛的应用。深度学习用于对话状态追踪,无需人工进行繁重的规则设计工作,可以自动从对话上下文中提取出语义特征信息。注意力机制以及预训练模型的提出与发展深受工业界和学术界的广泛关注,许多预训练模型如BERT和GPT等在应用于下游任务时表现出不凡的效果。有鉴于此,DST的研究已经转移到在这些强大的预训练模型的基础上构建新的模型。例如,Lee等人提出的SUMBT利用BERT编码后的插槽与对话话语表征通过注意力机制来学习插槽与对话话语之间的关系。CHAN是建立在SUMBT的基础上的,为了更好地利用对话上下文,提出了槽-字注意和槽-回合注意的层级注意力机制。为了更好地模拟预训练过程中的对话行为,TOD-BERT进一步使用多个面向任务的对话数据集对原始BERT模型进行了预训练。SOM-DST将对话状态视为一个显式固定大小的内存,通过分类器有选择地覆盖该内存,以避免从头开始预测对话状态。TripPy使用三种复制机制来提取插槽值。MinTL利用T5和BART作为对话话语编码器,共同学习对话状态和系统响应。NP-DST和SimpleTOD采用GPT-2作为对话上下文编码器,并将DST表示为语言生成任务。
但是,上述方案都只建模了插槽与对话上下文之间的关系而忽略了槽之间的相关性,而多域对话数据中槽值共引现象的存在使得其非常重要。关注槽相关性的研究如CSFN-DST和SST构建了一个模式图来捕获不同槽之间的依赖关系。然而,这些关系需要依靠准确的先验知识来得到。虽然SAS以计算一个槽相似度矩阵来建模槽之间的关系,但是其涉及到几个难以设置的超参数,并且如果认为两个槽是相关的,也仅仅将他们的相似系数固定为1,这显然不太现实。尽管STAR利用多头注意力来发现槽之间的关系,但是注意力机制计算出的槽间关系等同于一个带权的完全图,会产生很多噪声(非必要的连接)影响模型性能。T5-DST利用增强后的槽描述来是的模型更好地发现槽之间的关系,但其未对槽间关系进行显式的建模。
发明内容
本发明的目的在于提供一种基于知识增强与上下文感知的对话状态追踪方法及系统,该方法及系统有利于提高对话状态追踪的准确性。
为实现上述目的,本发明采用的技术方案是:一种基于知识增强与上下文感知的对话状态追踪方法,包括以下步骤:
步骤A:采集对话上下文和对话状态数据,构建对话训练集TS;
步骤B:使用训练集TS,训练基于知识增强的深度学习网络模型G;
步骤C:将用户与系统的对话数据依次输入深度学习网络模型G中,输出当前的对话状态。
进一步地,所述步骤B具体包括以下步骤:
步骤B1:对于训练集TS中的一个对话样本的第t回合对话进行编码,得到初始表征向量
Figure BDA0003522077600000021
所述第t回合对话当前对话、对话历史以及对话状态的拼接;
步骤B2:将对话状态的初始表征向量
Figure BDA0003522077600000022
输入到多头注意力机制模块,得到注意力增强后的对话状态语义表征向量
Figure BDA0003522077600000031
步骤B3:将步骤B2得到的注意力增强后的对话状态语义表征向量
Figure BDA0003522077600000032
与对话历史初始表征向量
Figure BDA0003522077600000033
做交叉注意力门控融合,得到对话历史与对话状态的融合表征向量
Figure BDA0003522077600000034
步骤B4:将当前回合对话的初始表征向量
Figure BDA0003522077600000035
与步骤B3得到的融合表征向量
Figure BDA0003522077600000036
进行词级别拼接,得到对话上下文表征向量
Figure BDA0003522077600000037
步骤B5:将增强后的域-槽描述通过BERT编码得到初始表征向量
Figure BDA0003522077600000038
将增强后的域-槽描述输入知识提取模块得到对应的知识嵌入表征向量
Figure BDA0003522077600000039
然后将得到的初始表征向量
Figure BDA00035220776000000310
和知识嵌入表征向量
Figure BDA00035220776000000311
进行融合,得到知识增强后的域-槽描述表征向量
Figure BDA00035220776000000312
步骤B6:将步骤B4得到的对话上下文表征向量
Figure BDA00035220776000000313
与步骤B5得到的表征向量
Figure BDA00035220776000000314
进行注意力建模,得到包含上下文信息的知识增强的域-槽表征向量
Figure BDA00035220776000000315
步骤B7:将步骤B6得到的所有的域-槽表征向量
Figure BDA00035220776000000316
经过多头注意力建模,得到最终的域-槽表征向量ΥS
步骤B8:对步骤B7得到的域-槽表征向量
Figure BDA00035220776000000317
与对应域-槽对的候选槽值通过编码后的表征向量Vj'∈Vj进行相似度匹配,选择最相似的槽值作为预测结果;将预测值与真实值进行比对计算损失,利用反向传播算法计算深度网络中各参数的梯度,并利用随机梯度下降算法更新参数;
步骤B9:当深度学习网络模型产生的损失值小于设定的阈值或达到最大的迭代次数时,终止深度学习模型G的训练。
进一步地,所述步骤B1具体包括以下步骤:
步骤B11:对话训练集表示为
Figure BDA00035220776000000318
其中N表示训练样本数也即多少个多回合对话样本;n表示每一个多回合对话的回合数,(Dt,Bt-1,Ht)表示对话训练集中的一个回合的训练样本;其中
Figure BDA00035220776000000319
表示当前回合对话,
Figure BDA00035220776000000320
表示除了当前回合对话外的对话历史,Bt-1表示当前对话状态且其是模型在预测过程中产生的;因此,模型的输入为
Figure BDA0003522077600000041
其中[cls]与[sep]为特殊token,用来分隔输入的各个部分;
步骤B12:将步骤B12的结果Xt经过BERT编码后拆分得到对应三个部分初始表征:
Figure BDA0003522077600000042
其中L为当前对话的长度,Lh为当前对话历史的长度,J表示当前对话状态的长度,d为token表征向量的维度。
进一步地,所述步骤B2具体包括以下步骤:
步骤B21:将步骤B12输出的历史对话状态部分
Figure BDA0003522077600000043
经过多头注意力建模:
Figure BDA0003522077600000044
Figure BDA0003522077600000045
Figure BDA0003522077600000046
Figure BDA0003522077600000047
Figure BDA0003522077600000048
其中,
Figure BDA0003522077600000049
为可学习权重参数,SelfAttention(Q,K,V),MultiHeadAttention(Q,K,V)分别为自注意力与多头注意力机制,Concat(·)函数将h个自注意力头的输出拼接起来;
步骤B22:将步骤B21的多头输出的拼接结果
Figure BDA00035220776000000410
映射到原空间,得到注意力增强后的对话状态语义表征向量
Figure BDA00035220776000000411
Figure BDA00035220776000000412
其中,
Figure BDA00035220776000000413
为可学习的参数矩阵。
进一步地,所述步骤B3具体包括以下步骤:
步骤B31:计算交互注意力矩阵:
Figure BDA00035220776000000414
Figure BDA0003522077600000051
Figure BDA0003522077600000052
其中,
Figure BDA0003522077600000053
为分别对应对话历史与对话状态的可学习的权重参数矩阵,AT表示矩阵转置,ab→h,ah→b分别为对话状态对于对话历史以及对话历史对于对话状态的交互注意力矩阵;
步骤B32:根据步骤B31得到的交互注意力矩阵ah→b,ab→h,计算交互上下文表征:
Figure BDA0003522077600000054
Figure BDA0003522077600000055
步骤B33:计算步骤B32得到的两个上下文表征
Figure BDA0003522077600000056
的融合权重,根据融合权重融合二者:
L'=max(J,Lh)
Figure BDA0003522077600000057
Figure BDA0003522077600000058
Figure BDA0003522077600000059
其中,max(·)函数获得输入长度的最大值L';Padding(x,y,z)将二者维度向较大者对齐,不足补z=0;
Figure BDA00035220776000000510
为可学习的参数矩阵;σ(·)为激活函数,⊙表示矩阵点积,最终得到融合后的上下文表征向量
Figure BDA00035220776000000511
进一步地,所述步骤B4中,将步骤B33得到的融合后的上下文表征向量
Figure BDA00035220776000000512
与步骤B12得到的当前回合对话的初始表征
Figure BDA00035220776000000513
拼接得到汇总的上下文信息
Figure BDA00035220776000000514
Figure BDA00035220776000000515
其中,|操作表示token序列级别的拼接,长度变化为L'+J表示按长度方向拼接。
进一步地,所述步骤B5具体包括以下步骤:
步骤B51:将增强后的域-槽描述通过BERT编码得到初始表征向量
Figure BDA00035220776000000516
Figure BDA0003522077600000061
其中,BERTfixed表示该BERT不参与训练,
Figure BDA0003522077600000062
表示增强槽描述的嵌入序列长度,
Figure BDA0003522077600000063
表示增强槽描述;
步骤B52:将增强后的域-槽描述通过知识提取模块得到域槽知识表征
Figure BDA0003522077600000064
Figure BDA0003522077600000065
其中,KE表示获得ConceptNet知识嵌入的函数,
Figure BDA0003522077600000066
表示增强槽描述的嵌入序列长度;
步骤B53:将步骤B51得到
Figure BDA0003522077600000067
与B52得到的知识嵌入
Figure BDA0003522077600000068
拼接后得到:
Figure BDA0003522077600000069
Figure BDA00035220776000000610
其中,dk表示ConceptNet知识嵌入的维度,“;”表示拼接操作,Uj表示槽
Figure BDA00035220776000000611
的拼接知识嵌入后的表示;
步骤B54:对步骤B53得到的表征用自注意力机制来进一步计算二者的融合信息:
Figure BDA00035220776000000612
Figure BDA00035220776000000613
其中,
Figure BDA00035220776000000614
表示
Figure BDA00035220776000000615
的第一个token表征向量,
Figure BDA00035220776000000616
表示所有增强后的槽表征的集合;
步骤B55:为了不丢失原来的槽信息,将步骤B54融合后的结果与步骤B51输出的[CLS]位置
Figure BDA00035220776000000617
拼接后得到:
Figure BDA00035220776000000618
步骤B56:将步骤B55得到的所有槽表征经过一个全连接层和LayerNorm层得到最终槽表征
Figure BDA00035220776000000619
Figure BDA00035220776000000620
其中,
Figure BDA00035220776000000621
为可学习的参数矩阵。
进一步地,所述步骤B6中,将增强后的域槽表示与上下文进行多头交叉注意力建模:
Figure BDA0003522077600000071
其中,
Figure BDA0003522077600000072
包含了增强域槽表示与上下文的信息;
所述步骤B7具体包括以下步骤:
步骤B71:将得到的域槽表征输入Latt层多头注意力层,令
Figure BDA0003522077600000073
对于第l层自注意力层:
Figure BDA0003522077600000074
Figure BDA0003522077600000075
Figure BDA0003522077600000076
Figure BDA0003522077600000077
其中,W1 F为可学习的参数矩阵,
Figure BDA0003522077600000078
为偏置项,
Figure BDA0003522077600000079
为最后一层的输出;
步骤B72:将B71的输出输入一个线性层和LayerNorm层,得到最终的融合了上下文信息与知识信息的域槽表征ΥS
Figure BDA00035220776000000710
Figure BDA00035220776000000711
其中,
Figure BDA00035220776000000712
表示第j个槽的表征,ΥS表示所有槽表征的集合。
进一步地,所述步骤B8具体包括以下步骤:
步骤B81:对于每一个槽,先将候选值通过BERT编码得到值征
Figure BDA00035220776000000713
其中
Figure BDA00035220776000000714
表示第j个槽的第i个候选值,最后取
Figure BDA00035220776000000715
的[cls]位作为最终值表征
Figure BDA00035220776000000716
将每一个候选值编码后得到候选值集合
Figure BDA00035220776000000717
由于每一个槽的候选值个数不同,故i的取值范围不同;
步骤82:将B81得到的所有候选值表征与B72得到的槽表征
Figure BDA00035220776000000718
计算语义距离,然后选择具有最小距离的槽值作为槽Sj的最终预测结果;这里使用L2范数作为距离度量;在训练阶段,计算在t回合时槽Sj的真实值
Figure BDA0003522077600000081
的概率为:
Figure BDA0003522077600000082
将获得概率最大的值作为预测值;其中exp(·)表示指数函数,||·||2表示L2范数;
步骤B83:模型被训练去最大化所有槽的联合概率,即
Figure BDA0003522077600000083
每个回合t的损失函数定义为负对数似然的累加:
Figure BDA0003522077600000084
步骤B84:将B83计算得到的损失通过梯度优化算法AdamW进行学习率更新,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
本发明还提供了采用上述方法的对话状态追踪系统,包括:
构建训练集模块,用于采集对话上下文和回答数据,构建对话训练集TS;
模型训练模块,用于训练基于知识增强的深度学习网络模型G;以及
对话状态追踪模块,用于与用户进行对话的过程中将用户话语与系统话语输入训练好的深度网络模型中输出当前的对话状态。
与现有技术相比,本发明具有以下有益效果:本发明首先利用常识图谱的知识实体嵌入来增强槽位表征,使得槽位表征具有更加丰富的语义信息,也让模型更能发现槽位之间的语义关系。另外,本发明考虑了上下文中对话历史与前一轮对话状态应该具有不同的重要程度,让模型学习一个门控模块来控制二者的信息融合,提高上下文建模的准确性以降低冗长上下文带来的数据稀疏与以往问题,从而提高模型对对话状态追踪的准确性。
附图说明
图1是本发明实施例的方法实现流程图;
图2是本发明实施例中模型架构图;
图3是本发明实施例的系统结构示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种基于知识增强与上下文感知的对话状态追踪方法,包括以下步骤:
步骤A:采集对话上下文和对话状态数据,构建对话训练集TS。
步骤B:使用训练集TS,训练基于知识增强的深度学习网络模型G。本实施例中深度学习网络模型G的架构如图2所示。
步骤C:将用户与系统的对话数据依次输入深度学习网络模型G中,输出当前的对话状态。
在本实施例中,所述步骤B具体包括以下步骤:
步骤B1:对于训练集TS中的一个对话样本的第t回合对话进行编码,得到初始表征向量
Figure BDA0003522077600000091
所述第t回合对话当前对话、对话历史以及对话状态的拼接。所述步骤B1具体包括以下步骤:
步骤B11:对话训练集表示为
Figure BDA0003522077600000092
其中N表示训练样本数也即多少个多回合对话样本。n表示每一个多回合对话的回合数,(Dt,Bt-1,Ht)表示对话训练集中的一个回合的训练样本。其中
Figure BDA0003522077600000093
表示当前回合对话,
Figure BDA0003522077600000094
表示除了当前回合对话外的对话历史,
Figure BDA0003522077600000095
表示当前对话状态且其是模型在预测过程中产生的,
Figure BDA0003522077600000096
表示在t-1回合的域-槽对Sj的值,且每个域-槽对的初始值都为none。下标中Sj与Vj拼接,且共有J个。这里表示将这J个Sj与Vj拼接起来,也可以表示为
Figure BDA0003522077600000097
因此,模型的输入为
Figure BDA0003522077600000098
其中[cls]与[sep]为特殊token,用来分隔输入的各个部分。
步骤B12:将步骤B12的结果Xt经过BERT编码后拆分得到对应三个部分初始表征:
Figure BDA0003522077600000101
其中,
Figure BDA0003522077600000102
为数学中实数集,L为当前对话的长度,Lh为当前对话历史的长度,J表示当前对话状态的长度,d为token表征向量的维度。
步骤B2:将对话状态的初始表征向量
Figure BDA0003522077600000103
输入到多头注意力机制模块,得到注意力增强后的对话状态语义表征向量
Figure BDA0003522077600000104
所述步骤B2具体包括以下步骤:
步骤B21:将步骤B12输出的历史对话状态部分
Figure BDA0003522077600000105
经过多头注意力建模:
Figure BDA0003522077600000106
Figure BDA0003522077600000107
Figure BDA0003522077600000108
Figure BDA0003522077600000109
Figure BDA00035220776000001010
其中,
Figure BDA00035220776000001011
为可学习权重参数,SelfAttention(Q,K,V),MultiHeadAttention(Q,K,V)分别为自注意力与多头注意力机制,Concat(·)函数将h个自注意力头的输出拼接起来。
步骤B22:将步骤B21的多头输出的拼接结果
Figure BDA00035220776000001012
映射到原空间,得到注意力增强后的对话状态语义表征向量
Figure BDA00035220776000001013
Figure BDA00035220776000001014
其中,
Figure BDA00035220776000001015
为可学习的参数矩阵。
步骤B3:将步骤B2得到的注意力增强后的对话状态语义表征向量
Figure BDA00035220776000001016
与对话历史初始表征向量
Figure BDA00035220776000001017
做交叉注意力门控融合,得到对话历史与对话状态的融合表征向量
Figure BDA0003522077600000111
所述步骤B3具体包括以下步骤:
步骤B31:计算交互注意力矩阵:
Figure BDA0003522077600000112
Figure BDA0003522077600000113
Figure BDA0003522077600000114
其中,
Figure BDA0003522077600000115
为分别对应对话历史与对话状态的可学习的权重参数矩阵,AT表示矩阵转置,ab→h,ah→b分别为对话状态对于对话历史以及对话历史对于对话状态的交互注意力矩阵。
步骤B32:根据步骤B31得到的交互注意力矩阵ah→b,ab→h,计算交互上下文表征:
Figure BDA0003522077600000116
Figure BDA0003522077600000117
步骤B33:计算步骤B32得到的两个上下文表征
Figure BDA0003522077600000118
的融合权重,根据融合权重融合二者:
L'=max(J,Lh)
Figure BDA0003522077600000119
Figure BDA00035220776000001110
Figure BDA00035220776000001111
其中,max(·)函数获得输入长度的最大值L'。Padding(x,y,z)将二者维度向较大者对齐,不足补z=0。
Figure BDA00035220776000001112
为可学习的参数矩阵。σ(·)为激活函数,⊙表示矩阵点积,最终得到融合后的上下文表征向量
Figure BDA00035220776000001113
步骤B4:将当前回合对话的初始表征向量
Figure BDA00035220776000001114
与步骤B3得到的融合表征向量
Figure BDA00035220776000001115
进行词级别拼接,得到对话上下文表征向量
Figure BDA00035220776000001116
具体地,将步骤B33得到的融合后的上下文表征向量
Figure BDA00035220776000001117
与步骤B12得到的当前回合对话的初始表征
Figure BDA0003522077600000121
拼接得到汇总的上下文信息
Figure BDA0003522077600000122
Figure BDA0003522077600000123
其中,|操作表示token序列级别的拼接,长度变化为L'+J表示按长度方向拼接。
步骤B5:将增强后的域-槽描述通过BERT编码得到初始表征向量
Figure BDA0003522077600000124
将增强后的域-槽描述输入知识提取模块得到对应的知识嵌入表征向量
Figure BDA0003522077600000125
然后将得到的初始表征向量
Figure BDA0003522077600000126
和知识嵌入表征向量
Figure BDA0003522077600000127
进行融合,得到知识增强后的域-槽描述表征向量
Figure BDA0003522077600000128
所述步骤B5具体包括以下步骤:
步骤B51:将增强后的域-槽描述通过BERT编码得到初始表征向量
Figure BDA0003522077600000129
Figure BDA00035220776000001210
其中,BERTfixed表示该BERT不参与训练,
Figure BDA00035220776000001211
表示增强槽描述的嵌入序列长度,
Figure BDA00035220776000001212
表示增强槽描述。如域-槽hotel-name会被增强为name ofthe hotel。
步骤B52:将增强后的域-槽描述通过知识提取模块得到域槽知识表征
Figure BDA00035220776000001213
Figure BDA00035220776000001214
其中,KE表示获得ConceptNet知识嵌入的函数,
Figure BDA00035220776000001215
表示增强槽描述的嵌入序列长度。
步骤B53:将步骤B51得到
Figure BDA00035220776000001216
与B52得到的知识嵌入
Figure BDA00035220776000001217
拼接后得到:
Figure BDA00035220776000001218
Figure BDA00035220776000001219
其中,dk表示ConceptNet知识嵌入的维度,“;”表示拼接操作,Uj表示槽
Figure BDA00035220776000001220
的拼接知识嵌入后的表示。
步骤B54:对步骤B53得到的表征用自注意力机制来进一步计算二者的融合信息:
Figure BDA00035220776000001221
Figure BDA00035220776000001222
其中,
Figure BDA0003522077600000131
表示
Figure BDA0003522077600000132
的第一个token表征向量,
Figure BDA0003522077600000133
表示所有增强后的槽表征的集合。
步骤B55:为了不丢失原来的槽信息,将步骤B54融合后的结果与步骤B51输出的[CLS]位置
Figure BDA0003522077600000134
拼接后得到:
Figure BDA0003522077600000135
步骤B56:将步骤B55得到的所有槽表征经过一个全连接层和LayerNorm层得到最终槽表征
Figure BDA0003522077600000136
Figure BDA0003522077600000137
其中,
Figure BDA0003522077600000138
为可学习的参数矩阵。
步骤B6:将步骤B4得到的对话上下文表征向量
Figure BDA0003522077600000139
与步骤B5得到的表征向量
Figure BDA00035220776000001310
进行注意力建模,得到包含上下文信息的知识增强的域-槽表征向量
Figure BDA00035220776000001311
具体地,将增强后的域槽表示与上下文进行多头交叉注意力建模:
Figure BDA00035220776000001312
其中,
Figure BDA00035220776000001313
包含了增强域槽表示与上下文的信息。
步骤B7:将步骤B6得到的所有的域-槽表征向量
Figure BDA00035220776000001314
经过多头注意力建模,得到最终的域-槽表征向量ΥS。所述步骤B7具体包括以下步骤:
步骤B71:将得到的域槽表征输入Latt层多头注意力层,令
Figure BDA00035220776000001315
对于第l层自注意力层:
Figure BDA00035220776000001316
Figure BDA00035220776000001317
Figure BDA00035220776000001318
Figure BDA00035220776000001319
其中,W1 F为可学习的参数矩阵,
Figure BDA00035220776000001320
为偏置项,
Figure BDA00035220776000001321
为最后一层的输出。
步骤B72:将B71的输出输入一个线性层和LayerNorm层,得到最终的融合了上下文信息与知识信息的域槽表征ΥS
Figure BDA0003522077600000141
Figure BDA0003522077600000142
其中,
Figure BDA0003522077600000143
表示第j个槽的表征,ΥS表示所有槽表征的集合。
步骤B8:对步骤B7得到的域-槽表征向量
Figure BDA0003522077600000144
与对应域-槽对的候选槽值通过编码后的表征向量Vj'∈Vj进行相似度匹配,选择最相似的槽值作为预测结果。将预测值与真实值进行比对计算损失,利用反向传播算法计算深度网络中各参数的梯度,并利用随机梯度下降算法更新参数。所述步骤B8具体包括以下步骤:
步骤B81:对于每一个槽,先将候选值通过BERT编码得到值征
Figure BDA0003522077600000145
其中
Figure BDA0003522077600000146
表示第j个槽的第i个候选值,最后取
Figure BDA0003522077600000147
的[cls]位作为最终值表征
Figure BDA0003522077600000148
将每一个候选值编码后得到候选值集合
Figure BDA0003522077600000149
由于每一个槽的候选值个数不同,故i的取值范围不同。
步骤82:将B81得到的所有候选值表征与B72得到的槽表征
Figure BDA00035220776000001410
计算语义距离,然后选择具有最小距离的槽值作为槽Sj的最终预测结果。这里使用L2范数作为距离度量。在训练阶段,计算在t回合时槽Sj的真实值
Figure BDA00035220776000001411
的概率为:
Figure BDA00035220776000001412
将获得概率最大的值作为预测值。其中exp(·)表示指数函数,||·||2表示L2范数。
步骤B83:模型被训练去最大化所有槽的联合概率,即
Figure BDA00035220776000001413
每个回合t的损失函数定义为负对数似然的累加:
Figure BDA00035220776000001414
步骤B84:将B83计算得到的损失通过梯度优化算法AdamW进行学习率更新,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
步骤B9:当深度学习网络模型产生的损失值小于设定的阈值或达到最大的迭代次数时,终止深度学习模型G的训练。
如图3所示,本实施例还提供了用于实现上述方法的对话状态追踪系统,包括构建训练集模块、模型训练模块和对话状态追踪模块。
所述构建训练集模块用于采集对话上下文和回答数据,构建对话训练集TS。
所述模型训练模块用于训练基于知识增强的深度学习网络模型G。
所述对话状态追踪模块用于与用户进行对话的过程中将用户话语与系统话语输入训练好的深度网络模型中输出当前的对话状态。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

Claims (10)

1.一种基于知识增强与上下文感知的对话状态追踪方法,其特征在于,包括以下步骤:
步骤A:采集对话上下文和对话状态数据,构建对话训练集TS;
步骤B:使用训练集TS,训练基于知识增强的深度学习网络模型G;
步骤C:将用户与系统的对话数据依次输入深度学习网络模型G中,输出当前的对话状态。
2.根据权利要求1所述的基于知识增强与上下文感知的对话状态追踪方法,其特征在于,所述步骤B具体包括以下步骤:
步骤B1:对于训练集TS中的一个对话样本的第t回合对话进行编码,得到初始表征向量
Figure FDA0003522077590000011
所述第t回合对话当前对话、对话历史以及对话状态的拼接;
步骤B2:将对话状态的初始表征向量
Figure FDA0003522077590000012
输入到多头注意力机制模块,得到注意力增强后的对话状态语义表征向量
Figure FDA0003522077590000013
步骤B3:将步骤B2得到的注意力增强后的对话状态语义表征向量
Figure FDA0003522077590000014
与对话历史初始表征向量
Figure FDA0003522077590000015
做交叉注意力门控融合,得到对话历史与对话状态的融合表征向量
Figure FDA0003522077590000016
步骤B4:将当前回合对话的初始表征向量
Figure FDA0003522077590000017
与步骤B3得到的融合表征向量
Figure FDA0003522077590000018
进行词级别拼接,得到对话上下文表征向量
Figure FDA0003522077590000019
步骤B5:将增强后的域-槽描述通过BERT编码得到初始表征向量
Figure FDA00035220775900000110
将增强后的域-槽描述输入知识提取模块得到对应的知识嵌入表征向量
Figure FDA00035220775900000111
然后将得到的初始表征向量
Figure FDA00035220775900000112
和知识嵌入表征向量
Figure FDA00035220775900000113
进行融合,得到知识增强后的域-槽描述表征向量
Figure FDA00035220775900000114
步骤B6:将步骤B4得到的对话上下文表征向量
Figure FDA00035220775900000115
与步骤B5得到的表征向量
Figure FDA00035220775900000116
进行注意力建模,得到包含上下文信息的知识增强的域-槽表征向量
Figure FDA00035220775900000117
步骤B7:将步骤B6得到的所有的域-槽表征向量
Figure FDA00035220775900000118
经过多头注意力建模,得到最终的域-槽表征向量ΥS
步骤B8:对步骤B7得到的域-槽表征向量
Figure FDA00035220775900000119
与对应域-槽对的候选槽值通过编码后的表征向量V′j∈Vj进行相似度匹配,选择最相似的槽值作为预测结果;将预测值与真实值进行比对计算损失,利用反向传播算法计算深度网络中各参数的梯度,并利用随机梯度下降算法更新参数;
步骤B9:当深度学习网络模型产生的损失值小于设定的阈值或达到最大的迭代次数时,终止深度学习模型G的训练。
3.根据权利要求2所述的基于知识增强与上下文感知的对话状态追踪方法,其特征在于,所述步骤B1具体包括以下步骤:
步骤B11:对话训练集表示为
Figure FDA0003522077590000021
其中N表示训练样本数也即多少个多回合对话样本;n表示每一个多回合对话的回合数,(Dt,Bt-1,Ht)表示对话训练集中的一个回合的训练样本;其中
Figure FDA0003522077590000022
表示当前回合对话,
Figure FDA0003522077590000023
表示除了当前回合对话外的对话历史,Bt-1表示当前对话状态且其是模型在预测过程中产生的;因此,模型的输入为
Figure FDA0003522077590000024
其中[cls]与[sep]为特殊token,用来分隔输入的各个部分;
步骤B12:将步骤B12的结果Xt经过BERT编码后拆分得到对应三个部分初始表征:
Figure FDA0003522077590000025
其中L为当前对话的长度,Lh为当前对话历史的长度,J表示当前对话状态的长度,d为token表征向量的维度。
4.根据权利要求3所述的基于知识增强与上下文感知的对话状态追踪方法,其特征在于,所述步骤B2具体包括以下步骤:
步骤B21:将步骤B12输出的历史对话状态部分
Figure FDA0003522077590000026
经过多头注意力建模:
Figure FDA0003522077590000027
Figure FDA0003522077590000028
Figure FDA0003522077590000029
Figure FDA00035220775900000210
Figure FDA00035220775900000211
其中,
Figure FDA0003522077590000031
为可学习权重参数,SelfAttention(Q,K,V),MultiHeadAttention(Q,K,V)分别为自注意力与多头注意力机制,Concat(·)函数将h个自注意力头的输出拼接起来;
步骤B22:将步骤B21的多头输出的拼接结果
Figure FDA0003522077590000032
映射到原空间,得到注意力增强后的对话状态语义表征向量
Figure FDA0003522077590000033
Figure FDA0003522077590000034
其中,
Figure FDA0003522077590000035
为可学习的参数矩阵。
5.根据权利要求4所述的基于知识增强与上下文感知的对话状态追踪方法,其特征在于,所述步骤B3具体包括以下步骤:
步骤B31:计算交互注意力矩阵:
Figure FDA0003522077590000036
Figure FDA0003522077590000037
Figure FDA0003522077590000038
其中,
Figure FDA0003522077590000039
为分别对应对话历史与对话状态的可学习的权重参数矩阵,AT表示矩阵转置,ab→h,ah→b分别为对话状态对于对话历史以及对话历史对于对话状态的交互注意力矩阵;
步骤B32:根据步骤B31得到的交互注意力矩阵ah→b,ab→h,计算交互上下文表征:
Figure FDA00035220775900000310
Figure FDA00035220775900000311
步骤B33:计算步骤B32得到的两个上下文表征
Figure FDA00035220775900000312
的融合权重,根据融合权重融合二者:
L'=max(J,Lh)
Figure FDA00035220775900000313
Figure FDA0003522077590000041
Figure FDA0003522077590000042
其中,max(·)函数获得输入长度的最大值L';Padding(x,y,z)将二者维度向较大者对齐,不足补z=0;
Figure FDA0003522077590000043
为可学习的参数矩阵;σ(·)为激活函数,⊙表示矩阵点积,最终得到融合后的上下文表征向量
Figure FDA0003522077590000044
6.根据权利要求5所述的基于知识增强与上下文感知的对话状态追踪方法,其特征在于,所述步骤B4中,将步骤B33得到的融合后的上下文表征向量
Figure FDA0003522077590000045
与步骤B12得到的当前回合对话的初始表征
Figure FDA0003522077590000046
拼接得到汇总的上下文信息
Figure FDA0003522077590000047
Figure FDA0003522077590000048
其中,|操作表示token序列级别的拼接,长度变化为L'+J表示按长度方向拼接。
7.根据权利要求6所述的基于知识增强与上下文感知的对话状态追踪方法,其特征在于,所述步骤B5具体包括以下步骤:
步骤B51:将增强后的域-槽描述通过BERT编码得到初始表征向量
Figure FDA0003522077590000049
Figure FDA00035220775900000410
其中,BERTfixed表示该BERT不参与训练,
Figure FDA00035220775900000411
表示增强槽描述的嵌入序列长度,
Figure FDA00035220775900000412
表示增强槽描述;
步骤B52:将增强后的域-槽描述通过知识提取模块得到域槽知识表征
Figure FDA00035220775900000413
Figure FDA00035220775900000414
其中,KE表示获得ConceptNet知识嵌入的函数,
Figure FDA00035220775900000415
表示增强槽描述的嵌入序列长度;
步骤B53:将步骤B51得到
Figure FDA00035220775900000416
与B52得到的知识嵌入
Figure FDA00035220775900000417
拼接后得到:
Figure FDA00035220775900000418
Figure FDA00035220775900000419
其中,dk表示ConceptNet知识嵌入的维度,“;”表示拼接操作,Uj表示槽
Figure FDA0003522077590000051
的拼接知识嵌入后的表示;
步骤B54:对步骤B53得到的表征用自注意力机制来进一步计算二者的融合信息:
Figure FDA0003522077590000052
Figure FDA0003522077590000053
其中,
Figure FDA0003522077590000054
表示
Figure FDA0003522077590000055
的第一个token表征向量,
Figure FDA0003522077590000056
表示所有增强后的槽表征的集合;
步骤B55:为了不丢失原来的槽信息,将步骤B54融合后的结果与步骤B51输出的[CLS]位置
Figure FDA0003522077590000057
拼接后得到:
Figure FDA0003522077590000058
步骤B56:将步骤B55得到的所有槽表征经过一个全连接层和LayerNorm层得到最终槽表征
Figure FDA0003522077590000059
Figure FDA00035220775900000510
其中,
Figure FDA00035220775900000511
为可学习的参数矩阵。
8.根据权利要求7所述的基于知识增强与上下文感知的对话状态追踪方法,其特征在于,所述步骤B6中,将增强后的域槽表示与上下文进行多头交叉注意力建模:
Figure FDA00035220775900000512
其中,
Figure FDA00035220775900000513
包含了增强域槽表示与上下文的信息;
所述步骤B7具体包括以下步骤:
步骤B71:将得到的域槽表征输入Latt层多头注意力层,令
Figure FDA00035220775900000514
对于第l层自注意力层:
Figure FDA00035220775900000515
Figure FDA00035220775900000516
Figure FDA00035220775900000517
Figure FDA00035220775900000518
其中,W1 F为可学习的参数矩阵,
Figure FDA0003522077590000061
为偏置项,
Figure FDA0003522077590000062
为最后一层的输出;
步骤B72:将B71的输出输入一个线性层和LayerNorm层,得到最终的融合了上下文信息与知识信息的域槽表征ΥS
Figure FDA0003522077590000063
Figure FDA0003522077590000064
其中,
Figure FDA0003522077590000065
表示第j个槽的表征,ΥS表示所有槽表征的集合。
9.根据权利要求8所述的基于知识增强与上下文感知的对话状态追踪方法,其特征在于,所述步骤B8具体包括以下步骤:
步骤B81:对于每一个槽,先将候选值通过BERT编码得到值征
Figure FDA0003522077590000066
其中
Figure FDA0003522077590000067
表示第j个槽的第i个候选值,最后取
Figure FDA0003522077590000068
的[cls]位作为最终值表征
Figure FDA0003522077590000069
将每一个候选值编码后得到候选值集合
Figure FDA00035220775900000610
由于每一个槽的候选值个数不同,故i的取值范围不同;
步骤82:将B81得到的所有候选值表征与B72得到的槽表征
Figure FDA00035220775900000611
计算语义距离,然后选择具有最小距离的槽值作为槽Sj的最终预测结果;这里使用L2范数作为距离度量;在训练阶段,计算在t回合时槽Sj的真实值
Figure FDA00035220775900000612
的概率为:
Figure FDA00035220775900000613
将获得概率最大的值作为预测值;其中exp(·)表示指数函数,||·||2表示L2范数;
步骤B83:模型被训练去最大化所有槽的联合概率,即
Figure FDA00035220775900000614
每个回合t的损失函数定义为负对数似然的累加:
Figure FDA00035220775900000615
步骤B84:将B83计算得到的损失通过梯度优化算法AdamW进行学习率更新,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
10.一种采用如权利要求1-9任一项所述方法的对话状态追踪系统,其特征在于,包括:
构建训练集模块,用于采集对话上下文和回答数据,构建对话训练集TS;
模型训练模块,用于训练基于知识增强的深度学习网络模型G;以及
对话状态追踪模块,用于与用户进行对话的过程中将用户话语与系统话语输入训练好的深度网络模型中输出当前的对话状态。
CN202210182490.6A 2022-02-25 2022-02-25 基于知识增强与上下文感知的对话状态追踪方法及系统 Pending CN114564568A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210182490.6A CN114564568A (zh) 2022-02-25 2022-02-25 基于知识增强与上下文感知的对话状态追踪方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210182490.6A CN114564568A (zh) 2022-02-25 2022-02-25 基于知识增强与上下文感知的对话状态追踪方法及系统

Publications (1)

Publication Number Publication Date
CN114564568A true CN114564568A (zh) 2022-05-31

Family

ID=81715931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210182490.6A Pending CN114564568A (zh) 2022-02-25 2022-02-25 基于知识增强与上下文感知的对话状态追踪方法及系统

Country Status (1)

Country Link
CN (1) CN114564568A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048944A (zh) * 2022-08-16 2022-09-13 之江实验室 一种基于主题增强的开放域对话回复方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274375A (zh) * 2020-01-20 2020-06-12 福州大学 一种基于双向gru网络的多轮对话方法及系统
CN111522925A (zh) * 2020-04-09 2020-08-11 苏州思必驰信息科技有限公司 对话状态生成方法和装置
CN112084314A (zh) * 2020-08-20 2020-12-15 电子科技大学 一种引入知识的生成式会话系统
WO2021010636A1 (ko) * 2019-07-17 2021-01-21 에스케이텔레콤 주식회사 목표지향 대화시스템에서의 대화상태 추적을 위한 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021010636A1 (ko) * 2019-07-17 2021-01-21 에스케이텔레콤 주식회사 목표지향 대화시스템에서의 대화상태 추적을 위한 방법 및 장치
CN111274375A (zh) * 2020-01-20 2020-06-12 福州大学 一种基于双向gru网络的多轮对话方法及系统
CN111522925A (zh) * 2020-04-09 2020-08-11 苏州思必驰信息科技有限公司 对话状态生成方法和装置
CN112084314A (zh) * 2020-08-20 2020-12-15 电子科技大学 一种引入知识的生成式会话系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZELIN CHEN 等: ""Improving BERT with local context comprehension for multi-turn response selection in retrieval-based dialogue systems"", 《COMPUTER SPEECH AND LANGUAGE》, vol. 82, 31 July 2023 (2023-07-31), pages 1 - 15 *
张家培;李舟军;: "Q2SM:基于BERT的多领域任务型对话系统状态跟踪算法", 中文信息学报, no. 07, 15 July 2020 (2020-07-15), pages 93 - 99 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048944A (zh) * 2022-08-16 2022-09-13 之江实验室 一种基于主题增强的开放域对话回复方法及系统
CN115048944B (zh) * 2022-08-16 2022-12-20 之江实验室 一种基于主题增强的开放域对话回复方法及系统

Similar Documents

Publication Publication Date Title
CN111444340B (zh) 文本分类方法、装置、设备及存储介质
CN108846077B (zh) 问答文本的语义匹配方法、装置、介质及电子设备
CN113657124B (zh) 基于循环共同注意力Transformer的多模态蒙汉翻译方法
CN109614471B (zh) 一种基于生成式对抗网络的开放式问题自动生成方法
CN112667818B (zh) 融合gcn与多粒度注意力的用户评论情感分析方法及系统
CN111274398A (zh) 一种方面级用户产品评论情感分析方法及系统
CN110826338B (zh) 一种单选择门与类间度量的细粒度语义相似识别的方法
CN111914067A (zh) 中文文本匹配方法及系统
CN112115687A (zh) 一种结合知识库中的三元组和实体类型的生成问题方法
CN114443827A (zh) 基于预训练语言模型的局部信息感知对话方法及系统
CN111274375A (zh) 一种基于双向gru网络的多轮对话方法及系统
WO2023050708A1 (zh) 一种情感识别方法、装置、设备及可读存储介质
CN115455171B (zh) 文本视频的互检索以及模型训练方法、装置、设备及介质
CN113641819A (zh) 基于多任务稀疏共享学习的论辩挖掘系统及方法
CN114510946B (zh) 基于深度神经网络的中文命名实体识别方法及系统
CN113935489A (zh) 基于量子神经网络的变分量子模型tfq-vqa及其两级优化方法
CN113868451B (zh) 基于上下文级联感知的社交网络跨模态对话方法及装置
CN114694255A (zh) 基于通道注意力与时间卷积网络的句子级唇语识别方法
CN114564568A (zh) 基于知识增强与上下文感知的对话状态追踪方法及系统
CN112307179A (zh) 文本匹配方法、装置、设备及存储介质
CN116150334A (zh) 基于UniLM模型和Copy机制的中文共情语句训练方法及系统
CN116910190A (zh) 多任务感知模型获取方法、装置、设备及可读存储介质
CN114661874B (zh) 基于多角度语义理解与自适应双通道的视觉问答方法
CN115146589B (zh) 文本处理方法、装置、介质以及电子设备
CN113408289B (zh) 一种多特征融合的供应链管理实体知识抽取的方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination