CN116561267A - 基于知识增强与句法引导的对话状态追踪方法及系统 - Google Patents
基于知识增强与句法引导的对话状态追踪方法及系统 Download PDFInfo
- Publication number
- CN116561267A CN116561267A CN202310333801.9A CN202310333801A CN116561267A CN 116561267 A CN116561267 A CN 116561267A CN 202310333801 A CN202310333801 A CN 202310333801A CN 116561267 A CN116561267 A CN 116561267A
- Authority
- CN
- China
- Prior art keywords
- dialogue
- round
- characterization
- dialog
- slot
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000013135 deep learning Methods 0.000 claims abstract description 27
- 238000012512 characterization method Methods 0.000 claims description 87
- 239000013598 vector Substances 0.000 claims description 40
- 230000004927 fusion Effects 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 claims description 17
- 230000002776 aggregation Effects 0.000 claims description 15
- 238000004220 aggregation Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 230000003993 interaction Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 9
- 238000006116 polymerization reaction Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 241000282326 Felis catus Species 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Animal Behavior & Ethology (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种基于知识增强与句法引导的对话状态追踪方法及系统,该方法包括以下步骤:步骤A:采集对话上下文和对话状态数据,构建对话训练集;步骤B:使用训练集训练基于上下文知识增强与句法指导的深度学习网络模型;步骤C:将用户与系统的对话数据输入训练好的深度学习网络模型,并输出当前的对话状态。该方法及系统有利于提高对话状态追踪的准确性。
Description
技术领域
本发明属于自然语言处理领域,具体涉及一种基于知识增强与句法引导的对话状态追踪方法及系统。
背景技术
对话状态追踪(Dialogue State Track,DST),是自然语言处理中任务型对话任务流程中的一个重要组成部分,其基本目标是在对话的每一轮,从系统回复和用户话语中抽取相关信息更新对话状态。对话状态是从对话开始到当前对话的用户目标的总结,通常表现为多组槽-值对的组合的形式,有时也会包括对话所属的领域、用户意图等信息。对话状态跟踪是指结合对话历史、当前对话、前一轮对话状态等信息,推断并更新当前对话状态的过程。随着信息技术发展的不断进步使人们能够在任何时间、地点以无线连接的方式几乎瞬时地访问信息、应用程序和服务。如今,诸如智能手机和平板电脑已经被广泛地用于访问网络。
在深度学习兴起之前,早期对话系统的DST模块都是采用基于规则的方法,它不需要训练数据,直接使用人工规则对对话状态进行更新。然而,基于规则的方法也存在一些限制。由于手动总结规则的能力受到限制,这些方法往往难以覆盖所有的对话情况,可能会导致较低的泛化能力和高错误率。此外,当需要对不同的对话场景进行适应时,需要重新设计和手动更新规则,这种方法的可扩展性也受到限制。
近年来,深度学习方法在自然语言处理的多个领域获得了广泛的应用。首先,深度学习方法能够自动提取自然语言文本中的特征,能够有效地解决基于规则和统计方法中面临的特征工程难题。其次,深度学习方法具有非常强大的建模能力,能够更好地应对现实生活中复杂的自然语言表达和多种多样的对话场景。有鉴于此,越来越多的研究开始尝试使用深度学习方法研究对话状态追踪任务,并取得了显著的成果。预训练语言模型的提出与发展深受工业界和学术界的广泛关注,许多预训练语言模型如BERT、ALBERT和GPT等在应用于下游任务时表现出不凡的效果。有鉴于此,DST的研究已经转移到在这些强大的预训练语言模型的基础上构建新的模型。例如,Lee等人提出的SUMBT利用BERT编码后的插槽与对话话语表征通过注意力机制来学习插槽与对话话语之间的关系。CHAN是建立在SUMBT的基础上的,为了更好地利用对话上下文,提出了槽-字注意和槽-回合注意的层级注意力机制。为了更好地模拟预训练过程中的对话行为,TOD-BERT进一步使用多个面向任务的对话数据集对原始BERT模型进行了预训练。SOM-DST将对话状态视为一个显式固定大小的内存,通过分类器有选择地覆盖该内存,以避免从头开始预测对话状态。TRADE提出上下文增强槽门与拷贝机制让模型可以更好地在对话历史的任何地方追踪槽值。提出在领域之间共享参数,让不同领域的知识可以相互流动,以便模型可以追踪未见过的槽值。CSFN-DST提出了一种新的上下文和模式融合网络,利用内部和外部的注意机制对对话上下文和模式图进行编码。经过多层注意网络后,利用每个域-插槽节点的最终表示来预测相应的值,涉及上下文和模式信息。对于值预测,应用槽门分类器来决定对话中是否提到了该域槽,然后利用基于RNN的值解码器来生成相应的值。
但是,上述方案都仅仅利用了预训练模型对上下文进行简单的编码,并没有对上下文中的关键信息以及上下文的句法结构进行建模。然而,槽位的值有非常大的概率来自这些关键信息,句法结构对于模型提取关键信息的能力也非常有帮助。因此,本发明提出的基于上下文实体知识增强与句法指导注意力的对话状态追踪模型可以有效解决上述问题。
发明内容
本发明的目的在于提供一种基于知识增强与句法引导的对话状态追踪方法及系统,该方法及系统有利于提高对话状态追踪的准确性。
为实现上述目的,本发明采用的技术方案是:一种基于知识增强与句法引导的对话状态追踪方法,包括以下步骤:
步骤A:采集对话上下文和对话状态数据,构建对话训练集TS;
步骤B:使用训练集TS训练基于上下文知识增强与句法指导的深度学习网络模型G;
步骤C:将用户与系统的对话数据输入训练好的深度学习网络模型G,并输出当前的对话状态。
进一步地,所述步骤B具体包括以下步骤:
步骤B1:对于训练集TS中的一个对话样本的第t回合对话Dt利用实体抽取工具进行实体抽取,得到实体标记后的上下文文本再将扩充后的文本与上一回合的对话状态BT-1进行拼接后得到输入文本Xt,将其经过Albert预训练语言模型编码为上下文表征向量Ht;
步骤B2:对于步骤B1得到的上下文表征向量Ht,将其中的实体部分利用知识图谱获取的实体知识向量对其进行语义增强,得到实体知识增强后的对话上下文表征向量
步骤B3:将步骤B2得到的实体知识增强后的对话上下文表征向量与编码后的对话状态中的所有槽位表征通过注意力机制获取槽位相关的第t回合对话信息表征其中j表示第j个槽位;
步骤B4:将步骤B2得到的实体知识增强后的对话上下文表征向量中的对话历史回合聚合表征[CLS]t与当前回合表征[CLS]T经过注意力机制得到增强回合表征以及当前回合与对话历史各个回合之间的融合表征
步骤B5:将步骤B2得到的实体知识增强后的对话上下文表征向量中的回合表征[CLS]t与槽位表征分别作为图节点表征,利用多关系图神经网络进行信息交互编码,得到交互编码后的对话回合表征
步骤B6:将步骤B3、B4、B5得到的对话回合表征向量进行门控融合,得到包含三个方面信息的对话聚合表征将其经过一个全连接层后得到一个对于第t回合的相关性分数ηt,计算得到除当前回合外所有T-1个回合的相关性分数后选取得分最大的k个回合回对话文本,记为无噪声对话集合UD;
步骤B7:将步骤B6得到的无噪声对话集合UD中的对话文本与当前回合对话DT以及最近对话状态BT-1拼接后的输入文本C经过预训练语言模型编码得到关键上下文表征序列Hc,将Hc中的回合聚合表征[DIA]t拼接后得到的表征序列Ccat与每一个槽位做简单的注意力后得到一个对于分类槽预测概率分布
步骤B8:将步骤B7得到的关键上下文表征序列Hc中提取对应的文本序列表征Cspan,用实体抽取工具为关键上下文文本构建句法依赖,根据句法依赖构建句法依赖矩阵Msyn,将Cspan经过一个Msyn指导的多头注意力层得到句法指导的上下文序列表征C'span,被用来对非分类槽做跨度预测得到分别为槽位Sj的槽值在上下文表征C'span上的跨度起始点与终止点的概率分布;
步骤B9:将步骤B7与步骤B8的预测结果将与真实值进行比较,利用交叉熵损失函数计算损失,并利用AdamW优化算法对模型进行训练优化;当深度学习网络模型产生的损失值小于设定的阈值或达到最大的迭代次数时,终止深度学习网络模型G的训练。
进一步地,所述步骤B1具体包括以下步骤:
步骤B11:对话训练集表示为其中N表示训练样本数也即多少个多回合对话样本;n表示每一个多回合对话的回合数,(Dt,Bt-1,Ht)表示对话训练集中的一个回合的训练样本;其中表示当前回合对话,表示除了当前回合对话外的对话历史, 表示当前对话状态且其是模型在预测过程中产生的,表示在t-1回合的域-槽对Sj的值,且每个域-槽对的初始值都为none;首先将对话文本进行实体标记得到标记后的对话文本模型的输入为 其中[CLS]与[SEP]为特殊token,用来分隔输入的各个部分;
步骤B12:将步骤B12的结果Xt经过Albert预训练模型编码后得到对应初始表征其中|Xt|为输入的长度,d为token表征向量的维度。
进一步地,所述步骤B2具体包括以下步骤:
步骤B21:将步骤B12得到的初始表征利用从知识图谱获取的实体表征
步骤B22:将步骤B21得到的对应位置的实体知识表征与步骤B12得到上下文表征Ht进行融合:
其中为经过实体语义增强后的对话上下文表征序列。
进一步地,所述步骤B3具体包括以下步骤:
步骤B31:将每一个槽位的表示与对话历史上下文做注意力,提取出与该槽位最相关的对话历史信息:
其中,为槽位Sj对于对话历史中每个token的相关性分布,|Xt|为输入的长度;为对话历史中与槽位Sj相关的信息;
所述步骤B4具体包含以下步骤:
步骤B41:将步骤B22得到的经过实体语义增强后的对话上下文表征序列中的回合聚合表征[CLS]t与当前回合聚合表征[CLS]T做多头注意力交互,得到增强聚合表征C:
其中,为经过上下文融合编码增强后的回合聚合表征;
步骤B42:为了尽可能保留当前回合的信息,利用门控机制融合当前回合信息与其他回合信息,利用门控融合机制将对话历史回合信息融合进当前对话的回合聚合表征中:
其中,为当前回合与第t回合的相关性分数,Wγ为可学习的参数矩阵;为当前回合与对话历史各回合之间的融合信息;
所述步骤B5具体包括以下步骤:
步骤B51:将步骤B41得到的增强后的回合聚合表征与每一个槽位的表征作为图节点初始表征,并定义4种边关系:
1)当前回合对话与待更新槽位之间有边相连,因为二者密切相关;
2)待更新槽位与同类型的其他槽位之间有边相连,为了解决槽位之间的共指问题;
3)各个槽位与最近更新其槽值的回合之间有边相连;
4)属于同一领域的槽位之间有边相连;
在得到节点间的边关系后,根据边关系构造图的邻接矩阵M,若节点i,j间有边关系则M[i][j]=1,否则为零;
步骤B52:在步骤B51得到的图的邻接矩阵M上,对对话回合表征与槽位表征进行信息交互,计算过程如下:
其中,为第l层节点i的表征;为节点i的更新信息;为节点i的邻居集合;为门控信息;在经过一次门控信息交互后得到下一层的节点表征
步骤B53:在经过L层的步骤B51信息交互后,得到最终的对话节点表征表示由图神经网络编码得到的第t回合对话表征。
进一步地,所述步骤B6中包含以下步骤:
步骤B61:基于步骤B31、B42、B53得到的以及利用门控机制融合三者得到回合的相关性表征:
其中,为融合后的第t回合相关性表征;
步骤B62:将步骤B61的输出输入一个线性层,得到一个表示相关性大小的分数
其中,即为第t回合的相关性得分;
步骤B63:在步骤B62计算出的所有回合相关性得分后,从对话历史中选取得分最高的k个回合对话,称为无噪声对话集合UD。
进一步地,所述步骤B7具体包括以下步骤:
步骤B71:将步骤B63得到的无噪声对话集合UD中的关键对话历史以及当前对话与最近对话状态拼接后经过预训练语言模型Albert编码的到关键上下文表征序列:
Hc=Albert(C)
其中,为关键上下文表征;[DIA]i,(1≤i≤|UD|)为关键回合表征占位符;
步骤72:将步骤B71得到的所有关键回合表征[DIA]i拼接后,与槽位表征做简单注意力,得到一个对于分类槽的概率分布
Ccat=[DIA]1;[DIA]2;…;<[DIA]|UD|
进一步地,所述步骤B8具体包括以下步骤:
步骤B81:将步骤B63得到的无噪声对话集合UD中的关键对话利用句法分析工具得到句法依赖,将句法依赖树转为句法依赖矩阵Msyn,构建规则为在依赖树上有依赖关系的词之间才有边存在,即Msyn[word1][word2]=1;
步骤B82:将步骤B71得到的关键上下文表征Hc中的对话序列相关部分拼接后得到Cspan,将其经过一个利用步骤B81得到的句法依赖矩阵Msyn指导的多头注意力编码层,得到基于句法引导的上下文表征:
C'span=Concat(head1,head2,…,headM)Wo
其中,Qm,Km,Vm均为Cspan,在经过M头句法指导的注意力编码后的上下文表征;
步骤B84:将步骤B83得到的基于句法指导的上下文表征C'span用于计算每一个槽位在上下文中的跨度分布:
其中,分别为槽位Sj的槽值在上下文表征C'span上的跨度起始点与终止点的概率分布。
进一步地,所述步骤B9具体包括以下步骤:
步骤B91:将步骤B72与步骤B83得到的分布与真实值比较,利用交叉熵损失函数分别计算分类槽损失与非分类槽损失并计算总和损失
其中,|Us|为待更新插槽的数量;最后,将二者的损失相加作为模型的总和损失:
步骤B92:总和损失通过梯度优化算法AdamW进行学习率更新,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
本发明还提供了一种采用上述方法的对话状态追踪系统,包括:
构建训练集模块,用于采集对话上下文和回答数据,构建对话训练集;
模型训练模块,用于训练基于上下文知识增强与句法指导的深度学习网络模型;以及
对话状态追踪模块,用于在与用户进行对话的过程中将用户与系统的对话数据输入训练好的深度学习网络模型,并输出当前的对话状态。
与现有技术相比,本发明具有以下有益效果:提供了一种基于知识增强与句法引导的对话状态追踪方法及系统,该方法及系统通过构建基于上下文知识增强与句法指导的深度学习网络模型,对对话上下文和对话状态数据中特征进行实体知识增强与句法指导,进而对用户与系统的对话状态进行追踪,提高了对话状态追踪的准确性,具有很强的实用性和广阔的应用前景。
附图说明
图1是本发明实施例的方法实现流程图;
图2是本发明实施例中深度学习网络模型的架构图;
图3是本发明实施例的系统结构示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种基于知识增强与句法引导的对话状态追踪方法,包括以下步骤:
步骤A:采集对话上下文和对话状态数据,构建对话训练集TS。
步骤B:使用训练集TS训练基于上下文知识增强与句法指导的深度学习网络模型G,模型架构如图2所示。
步骤C:将用户与系统的对话数据输入训练好的深度学习网络模型G,并输出当前的对话状态。
在本实施例中,所述步骤B具体包括以下步骤:
步骤B1:对于训练集TS中的一个对话样本的第t回合对话Dt利用实体抽取工具进行实体抽取,得到实体标记后的上下文文本再将扩充后的文本与上一回合的对话状态BT-1进行拼接后得到输入文本Xt,将其经过Albert预训练语言模型编码为上下文表征向量Ht。
在本实施例中,所述步骤B1具体包括以下步骤:
步骤B11:对话训练集表示为其中N表示训练样本数也即多少个多回合对话样本;n表示每一个多回合对话的回合数,(Dt,Bt-1,Ht)表示对话训练集中的一个回合的训练样本;其中表示当前回合对话,表示除了当前回合对话外的对话历史, 表示当前对话状态且其是模型在预测过程中产生的,表示在t-1回合的域-槽对Sj的值,且每个域-槽对的初始值都为none;首先将对话文本进行实体标记得到标记后的对话文本模型的输入为 其中[CLS]与[SEP]为特殊token,用来分隔输入的各个部分;
步骤B12:将步骤B12的结果Xt经过Albert预训练模型编码后得到对应初始表征其中|Xt|为输入的长度,d为token表征向量的维度。
步骤B2:对于步骤B1得到的上下文表征向量Ht,将其中的实体部分利用知识图谱获取的实体知识向量对其进行语义增强,得到实体知识增强后的对话上下文表征向量
在本实施例中,所述步骤B2具体包括以下步骤:
步骤B21:将步骤B12得到的初始表征利用从知识图谱获取的实体表征
步骤B22:将步骤B21得到的对应位置的实体知识表征与步骤B12得到上下文表征Ht进行融合:
其中为经过实体语义增强后的对话上下文表征序列。
步骤B3:将步骤B2得到的实体知识增强后的对话上下文表征向量与编码后的对话状态中的所有槽位表征通过注意力机制获取槽位相关的第t回合对话信息表征其中j表示第j个槽位。
在本实施例中,所述步骤B3具体包括以下步骤:
步骤B31:将每一个槽位的表示与对话历史上下文做注意力,提取出与该槽位最相关的对话历史信息:
其中,为槽位Sj对于对话历史中每个token的相关性分布,|Xt|为输入的长度;为对话历史中与槽位Sj相关的信息;
步骤B4:将步骤B2得到的实体知识增强后的对话上下文表征向量中的对话历史回合聚合表征[CLS]t与当前回合表征[CLS]T经过注意力机制得到增强回合表征以及当前回合与对话历史各个回合之间的融合表征
在本实施例中,所述步骤B4具体包含以下步骤:
步骤B41:将步骤B22得到的经过实体语义增强后的对话上下文表征序列中的回合聚合表征[CLS]t与当前回合聚合表征[CLS]T做多头注意力交互,得到增强聚合表征C:
其中,为经过上下文融合编码增强后的回合聚合表征;
步骤B42:为了尽可能保留当前回合的信息,利用门控机制融合当前回合信息与其他回合信息,利用门控融合机制将对话历史回合信息融合进当前对话的回合聚合表征中:
其中,为当前回合与第t回合的相关性分数,Wγ为可学习的参数矩阵;为当前回合与对话历史各回合之间的融合信息;
步骤B5:将步骤B2得到的实体知识增强后的对话上下文表征向量中的回合表征[CLS]t与槽位表征分别作为图节点表征,利用多关系图神经网络进行信息交互编码,得到交互编码后的对话回合表征
在本实施例中,所述步骤B5具体包括以下步骤:
步骤B51:将步骤B41得到的增强后的回合聚合表征与每一个槽位的表征作为图节点初始表征,并定义4种边关系:
1)当前回合对话与待更新槽位之间有边相连,因为二者密切相关;
2)待更新槽位与同类型的其他槽位之间有边相连,为了解决槽位之间的共指问题;
3)各个槽位与最近更新其槽值的回合之间有边相连;
4)属于同一领域的槽位之间有边相连;
在得到节点间的边关系后,根据边关系构造图的邻接矩阵M,若节点i,j间有边关系则M[i][j]=1,否则为零;
步骤B52:在步骤B51得到的图的邻接矩阵M上,对对话回合表征与槽位表征进行信息交互,计算过程如下:
其中,为第l层节点i的表征;为节点i的更新信息;为节点i的邻居集合(在邻接矩阵中具有边关系的两个节点互为邻居);为门控信息;在经过一次门控信息交互后得到下一层的节点表征
步骤B53:在经过L层的步骤B51信息交互后,得到最终的对话节点表征表示由图神经网络编码得到的第t回合对话表征。
步骤B6:将步骤B3、B4、B5得到的对话回合表征向量进行门控融合,得到包含三个方面信息的对话聚合表征将其经过一个全连接层后得到一个对于第t回合的相关性分数ηt,计算得到除当前回合外所有T-1个回合的相关性分数后选取得分最大的k个回合回对话文本,记为无噪声对话集合UD。
在本实施例中,所述步骤B6中包含以下步骤:
步骤B61:基于步骤B31、B42、B53得到的以及利用门控机制融合三者得到回合的相关性表征:
其中,为融合后的第t回合相关性表征;
步骤B62:将步骤B61的输出输入一个线性层,得到一个表示相关性大小的分数
其中,即为第t回合的相关性得分;
步骤B63:在步骤B62计算出的所有回合相关性得分后,从对话历史中选取得分最高的k个回合对话,称为无噪声对话集合UD。
步骤B7:将步骤B6得到的无噪声对话集合UD中的对话文本与当前回合对话DT以及最近对话状态BT-1拼接后的输入文本C经过预训练语言模型编码得到关键上下文表征序列Hc,将Hc中的回合聚合表征[DIA]t拼接后得到的表征序列Ccat与每一个槽位做简单的注意力后得到一个对于分类槽预测概率分布
在本实施例中,所述步骤B7具体包括以下步骤:
步骤B71:将步骤B63得到的无噪声对话集合UD中的关键对话历史以及当前对话与最近对话状态拼接后经过预训练语言模型Albert编码的到关键上下文表征序列:
Hc=Albert(C)
其中,为关键上下文表征;[DIA]i,(1≤i≤|UD|)为关键回合表征占位符;
步骤72:将步骤B71得到的所有关键回合表征[DIA]i拼接后,与槽位表征做简单注意力,得到一个对于分类槽的概率分布
Ccat=[DIA]1;[DIA]2;…;<[DIA]|UD|
步骤B8:将步骤B7得到的关键上下文表征序列Hc中提取对应的文本序列表征Cspan,用实体抽取工具为关键上下文文本构建句法依赖,根据句法依赖构建句法依赖矩阵Msyn,将Cspan经过一个Msyn指导的多头注意力层得到句法指导的上下文序列表征C'span,被用来对非分类槽做跨度预测得到分别为槽位Sj的槽值在上下文表征C'span上的跨度起始点与终止点的概率分布。
在本实施例中,所述步骤B8具体包括以下步骤:
步骤B81:将步骤B63得到的无噪声对话集合UD中的关键对话利用句法分析工具得到句法依赖,将句法依赖树转为句法依赖矩阵Msyn,构建规则为在依赖树上有依赖关系的词(token)之间才有边存在,即Msyn[word1][word2]=1;
步骤B82:将步骤B71得到的关键上下文表征Hc中的对话序列相关部分拼接后得到Cspan,将其经过一个利用步骤B81得到的句法依赖矩阵Msyn指导的多头注意力编码层,得到基于句法引导的上下文表征:
C'span=Concat(head1,head2,…,headM)Wo
其中,Qm,Km,Vm均为Cspan,在经过M头句法指导的注意力编码后的上下文表征;
步骤B84:将步骤B83得到的基于句法引导的上下文表征C'span用于计算每一个槽位在上下文中的跨度分布:
其中,分别为槽位Sj的槽值在上下文表征C'span上的跨度起始点与终止点的概率分布。
步骤B9:将步骤B7与步骤B8的预测结果将与真实值进行比较,利用交叉熵损失函数计算损失,并利用AdamW优化算法对模型进行训练优化;当深度学习网络模型产生的损失值小于设定的阈值或达到最大的迭代次数时,终止深度学习网络模型G的训练。
在本实施例中,所述步骤B9具体包括以下步骤:
步骤B91:将步骤B72与步骤B83得到的分布与真实值比较,利用交叉熵损失函数分别计算分类槽损失与非分类槽损失并计算总和损失
其中,|Us|为待更新插槽的数量;最后,将二者的损失相加作为模型的总和损失:
步骤B92:总和损失通过梯度优化算法AdamW进行学习率更新,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
如图3所示,本实施例还提供了采用上述方法的对话状态追踪系统,包括:构建训练集模块、构建训练集模块和对话状态追踪模块。
所述构建训练集模块用于采集对话上下文和回答数据,构建对话训练集。
所述模型训练模块用于训练基于上下文知识增强与句法指导的深度学习网络模型。
所述对话状态追踪模块用于在与用户进行对话的过程中将用户与系统的对话数据输入训练好的深度学习网络模型,并输出当前的对话状态。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (10)
1.一种基于知识增强与句法引导的对话状态追踪方法,其特征在于,包括以下步骤:
步骤A:采集对话上下文和对话状态数据,构建对话训练集TS;
步骤B:使用训练集TS训练基于上下文知识增强与句法指导的深度学习网络模型G;
步骤C:将用户与系统的对话数据输入训练好的深度学习网络模型G,并输出当前的对话状态。
2.根据权利要求1所述的基于知识增强与句法引导的对话状态追踪方法,其特征在于,所述步骤B具体包括以下步骤:
步骤B1:对于训练集TS中的一个对话样本的第t回合对话Dt利用实体抽取工具进行实体抽取,得到实体标记后的上下文文本再将扩充后的文本与上一回合的对话状态BT-1进行拼接后得到输入文本Xt,将其经过Albert预训练语言模型编码为上下文表征向量Ht;
步骤B2:对于步骤B1得到的上下文表征向量Ht,将其中的实体部分利用知识图谱获取的实体知识向量对其进行语义增强,得到实体知识增强后的对话上下文表征向量
步骤B3:将步骤B2得到的实体知识增强后的对话上下文表征向量与编码后的对话状态中的所有槽位表征通过注意力机制获取槽位相关的第t回合对话信息表征其中j表示第j个槽位;
步骤B4:将步骤B2得到的实体知识增强后的对话上下文表征向量中的对话历史回合聚合表征[CLS]t与当前回合表征[CLS]T经过注意力机制得到增强回合表征以及当前回合与对话历史各个回合之间的融合表征
步骤B5:将步骤B2得到的实体知识增强后的对话上下文表征向量中的回合表征[CLS]t与槽位表征分别作为图节点表征,利用多关系图神经网络进行信息交互编码,得到交互编码后的对话回合表征
步骤B6:将步骤B3、B4、B5得到的对话回合表征向量进行门控融合,得到包含三个方面信息的对话聚合表征将其经过一个全连接层后得到一个对于第t回合的相关性分数ηt,计算得到除当前回合外所有T-1个回合的相关性分数后选取得分最大的k个回合回对话文本,记为无噪声对话集合UD;
步骤B7:将步骤B6得到的无噪声对话集合UD中的对话文本与当前回合对话DT以及最近对话状态BT-1拼接后的输入文本C经过预训练语言模型编码得到关键上下文表征序列Hc,将Hc中的回合聚合表征[DIA]t拼接后得到的表征序列Ccat与每一个槽位做简单的注意力后得到一个对于分类槽预测概率分布
步骤B8:将步骤B7得到的关键上下文表征序列Hc中提取对应的文本序列表征Cspan,用实体抽取工具为关键上下文文本构建句法依赖,根据句法依赖构建句法依赖矩阵Msyn,将Csoan经过一个Msyn指导的多头注意力层得到句法指导的上下文序列表征C'span,被用来对非分类槽做跨度预测得到分别为槽位Sj的槽值在上下文表征C'span上的跨度起始点与终止点的概率分布;
步骤B9:将步骤B7与步骤B8的预测结果将与真实值进行比较,利用交叉熵损失函数计算损失,并利用AdamW优化算法对模型进行训练优化;当深度学习网络模型产生的损失值小于设定的阈值或达到最大的迭代次数时,终止深度学习网络模型G的训练。
3.根据权利要求2所述的基于知识增强与句法引导的对话状态追踪方法,其特征在于,所述步骤B1具体包括以下步骤:
步骤B11:对话训练集表示为其中N表示训练样本数也即多少个多回合对话样本;n表示每一个多回合对话的回合数,(Dt,Bt-1,Ht)表示对话训练集中的一个回合的训练样本;其中表示当前回合对话,表示除了当前回合对话外的对话历史, 表示当前对话状态且其是模型在预测过程中产生的,表示在t-1回合的域-槽对Sj的值,且每个域-槽对的初始值都为none;首先将对话文本进行实体标记得到标记后的对话文本模型的输入为 其中[CLS]与[SEP]为特殊token,用来分隔输入的各个部分;
步骤B12:将步骤B12的结果Xt经过Albert预训练模型编码后得到对应初始表征其中|Xt|为输入的长度,d为token表征向量的维度。
4.根据权利要求3所述的基于知识增强与句法引导的对话状态追踪方法,其特征在于,所述步骤B2具体包括以下步骤:
步骤B21:将步骤B12得到的初始表征利用从知识图谱获取的实体表征
步骤B22:将步骤B21得到的对应位置的实体知识表征与步骤B12得到上下文表征Ht进行融合:
其中为经过实体语义增强后的对话上下文表征序列。
5.根据权利要求4所述的基于知识增强与句法引导的对话状态追踪方法,其特征在于,所述步骤B3具体包括以下步骤:
步骤B31:将每一个槽位的表示与对话历史上下文做注意力,提取出与该槽位最相关的对话历史信息:
其中,为槽位Sj对于对话历史中每个token的相关性分布,|Xt|为输入的长度;为对话历史中与槽位Sj相关的信息;
所述步骤B4具体包含以下步骤:
步骤B41:将步骤B22得到的经过实体语义增强后的对话上下文表征序列中的回合聚合表征[CLS]t与当前回合聚合表征[CLS]T做多头注意力交互,得到增强聚合表征C:
其中,为经过上下文融合编码增强后的回合聚合表征;
步骤B42:为了尽可能保留当前回合的信息,利用门控机制融合当前回合信息与其他回合信息,利用门控融合机制将对话历史回合信息融合进当前对话的回合聚合表征中:
其中,为当前回合与第t回合的相关性分数,Wγ为可学习的参数矩阵;为当前回合与对话历史各回合之间的融合信息;
所述步骤B5具体包括以下步骤:
步骤B51:将步骤B41得到的增强后的回合聚合表征与每一个槽位的表征作为图节点初始表征,并定义4种边关系:
1)当前回合对话与待更新槽位之间有边相连,因为二者密切相关;
2)待更新槽位与同类型的其他槽位之间有边相连,为了解决槽位之间的共指问题;
3)各个槽位与最近更新其槽值的回合之间有边相连;
4)属于同一领域的槽位之间有边相连;
在得到节点间的边关系后,根据边关系构造图的邻接矩阵M,若节点i,j间有边关系则M[i][j]=1,否则为零;
步骤B52:在步骤B51得到的图的邻接矩阵M上,对对话回合表征与槽位表征进行信息交互,计算过程如下:
其中,为第l层节点i的表征;为节点i的更新信息;为节点i的邻居集合;为门控信息;在经过一次门控信息交互后得到下一层的节点表征
步骤B53:在经过L层的步骤B51信息交互后,得到最终的对话节点表征表示由图神经网络编码得到的第t回合对话表征。
6.根据权利要求5所述的基于知识增强与句法引导的对话状态追踪方法,其特征在于,所述步骤B6中包含以下步骤:
步骤B61:基于步骤B31、B42、B53得到的以及利用门控机制融合三者得到回合的相关性表征:
其中,为融合后的第t回合相关性表征;
步骤B62:将步骤B61的输出输入一个线性层,得到一个表示相关性大小的分数
其中,即为第t回合的相关性得分;
步骤B63:在步骤B62计算出的所有回合相关性得分后,从对话历史中选取得分最高的k个回合对话,称为无噪声对话集合UD。
7.根据权利要求6所述的基于知识增强与句法引导的对话状态追踪方法,其特征在于,所述步骤B7具体包括以下步骤:
步骤B71:将步骤B63得到的无噪声对话集合UD中的关键对话历史以及当前对话与最近对话状态拼接后经过预训练语言模型Albert编码的到关键上下文表征序列:
Hc=Albert(C)
其中,为关键上下文表征;[DIA]i,(1≤i≤|UD|)为关键回合表征占位符;
步骤72:将步骤B71得到的所有关键回合表征[DIA]i拼接后,与槽位表征做简单注意力,得到一个对于分类槽的概率分布
8.根据权利要求7所述的基于知识增强与句法引导的对话状态追踪方法,其特征在于,所述步骤B8具体包括以下步骤:
步骤B81:将步骤B63得到的无噪声对话集合UD中的关键对话利用句法分析工具得到句法依赖,将句法依赖树转为句法依赖矩阵Msyn,构建规则为在依赖树上有依赖关系的词之间才有边存在,即Msyn[word1][word2]=1;
步骤B82:将步骤B71得到的关键上下文表征Hc中的对话序列相关部分拼接后得到Cspan,将其经过一个利用步骤B81得到的句法依赖矩阵Msyn指导的多头注意力编码层,得到基于句法引导的上下文表征:
C′span=Concat(head1,head2,…,headM)Wo
其中,Qm,Km,Vm均为Cspan,在经过M头句法指导的注意力编码后的上下文表征;
步骤B84:将步骤B83得到的基于句法引导的上下文表征C'span用于计算每一个槽位在上下文中的跨度分布:
其中,分别为槽位Sj的槽值在上下文表征C'span上的跨度起始点与终止点的概率分布。
9.根据权利要求8所述的基于知识增强与句法引导的对话状态追踪方法,其特征在于,所述步骤B9具体包括以下步骤:
步骤B91:将步骤B72与步骤B83得到的分布与真实值比较,利用交叉熵损失函数分别计算分类槽损失与非分类槽损失并计算总和损失
其中,|Us|为待更新插槽的数量;最后,将二者的损失相加作为模型的总和损失:
步骤B92:总和损失通过梯度优化算法AdamW进行学习率更新,利用反向传播迭代更新模型参数,以最小化损失函数来训练模型。
10.一种采用如权利要求1-9任一项所述方法的对话状态追踪系统,其特征在于,包括:
构建训练集模块,用于采集对话上下文和回答数据,构建对话训练集;
模型训练模块,用于训练基于上下文知识增强与句法指导的深度学习网络模型;以及
对话状态追踪模块,用于在与用户进行对话的过程中将用户与系统的对话数据输入训练好的深度学习网络模型,并输出当前的对话状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310333801.9A CN116561267A (zh) | 2023-03-31 | 2023-03-31 | 基于知识增强与句法引导的对话状态追踪方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310333801.9A CN116561267A (zh) | 2023-03-31 | 2023-03-31 | 基于知识增强与句法引导的对话状态追踪方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116561267A true CN116561267A (zh) | 2023-08-08 |
Family
ID=87485179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310333801.9A Pending CN116561267A (zh) | 2023-03-31 | 2023-03-31 | 基于知识增强与句法引导的对话状态追踪方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561267A (zh) |
-
2023
- 2023-03-31 CN CN202310333801.9A patent/CN116561267A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348016B (zh) | 基于句子关联注意力机制的文本摘要生成方法 | |
CN109947912B (zh) | 一种基于段落内部推理和联合问题答案匹配的模型方法 | |
CN109492227A (zh) | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 | |
CN111985245A (zh) | 基于注意力循环门控图卷积网络的关系提取方法及系统 | |
CN112131890A (zh) | 一种会话意图智能识别模型的构建方法、装置及设备 | |
CN110390397A (zh) | 一种文本蕴含识别方法及装置 | |
CN114579699B (zh) | 预训练语言模型的训练方法以及装置 | |
CN112800203A (zh) | 一种融合文本和知识表征的问答匹配方法及系统 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN112380835A (zh) | 融合实体和句子推理信息的问题答案提取方法及电子装置 | |
CN113609284A (zh) | 一种融合多元语义的文本摘要自动生成方法及装置 | |
CN114510946B (zh) | 基于深度神经网络的中文命名实体识别方法及系统 | |
CN114238649A (zh) | 一种常识概念增强的语言模型预训练方法 | |
CN117648950A (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN115408494A (zh) | 一种融合多头注意力对齐的文本匹配方法 | |
CN114490954A (zh) | 一种基于任务调节的文档级生成式事件抽取方法 | |
Cui et al. | A chinese text classification method based on bert and convolutional neural network | |
CN112417890B (zh) | 一种基于多样化语义注意力模型的细粒度实体分类方法 | |
CN113178189A (zh) | 一种信息分类方法及装置、信息分类模型训练方法及装置 | |
CN110197521B (zh) | 基于语义结构表示的视觉文本嵌入方法 | |
CN116150334A (zh) | 基于UniLM模型和Copy机制的中文共情语句训练方法及系统 | |
CN115146589B (zh) | 文本处理方法、装置、介质以及电子设备 | |
CN116561267A (zh) | 基于知识增强与句法引导的对话状态追踪方法及系统 | |
Thorat et al. | Improving conversation modelling using attention based variational hierarchical RNN | |
CN114756679A (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 |