CN113723079B - 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法 - Google Patents
针对长距离对话状态追踪的分层建模贡献感知的上下文的方法 Download PDFInfo
- Publication number
- CN113723079B CN113723079B CN202111050517.8A CN202111050517A CN113723079B CN 113723079 B CN113723079 B CN 113723079B CN 202111050517 A CN202111050517 A CN 202111050517A CN 113723079 B CN113723079 B CN 113723079B
- Authority
- CN
- China
- Prior art keywords
- dialog
- context
- wheel
- slot
- encoder
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000013598 vector Substances 0.000 claims abstract description 48
- 238000009826 distribution Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 20
- 230000008447 perception Effects 0.000 claims abstract description 6
- 238000012549 training Methods 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 241000288105 Grus Species 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
Classifications
-
- 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/216—Parsing using statistical methods
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开针对长距离对话状态追踪的分层建模贡献感知上下文的方法,包括如下步骤:构建对话轮建模模块:利用包含了对话轮编码器和上下文编码器的分层编码器,编码按轮切分的对话历史上下文输入,得到包含了较完整轮内信息和上下文信息的对话轮表示;构建贡献感知的上下文建模模块:计算各个对话轮在当前槽值预测过程中所能做出的贡献,并据此建模槽特定的贡献感知的上下文表示;构建基于贡献感知的上下文的槽值生成模块:该模块将当前槽向量与槽特定的贡献感知的上下文表示作为初始输入和初始隐藏状态,通过在每个时间步根据隐藏状态计算词表分布和对话历史分布,逐字生成正确的槽值序列。本发明更好地完成长距离对话状态追踪任务。
Description
技术领域
本发明涉及自然语言处理以及任务型对话***技术领域,具体为针对长距离对话状态追踪的分层建模贡献感知上下文的方法。
背景技术
近年来,面向任务的对话***在工业界和学术界都引起了广泛的关注,它已经被广泛应用于通过口语交互帮助用户完成任务,例如饭店预订、景点查询等。传统的任务型对话***是一个管道式结构,由自然语言理解、对话状态追踪、对话策略学习和自然语言生成四个组件构成[1]。
其中,对话状态追踪的目标是在对话的每一轮保持对用户目标和意图的追踪,并把它们表示为一个对话状态,也就是一组槽以及它们对应的值[2]。由于对话策略学习和自然语言生成模块都需要依赖于对话状态追踪的结果进行下一个***动作的选择和下一个***回复的生成,因此一个准确的对话状态预测对于提升对话***的整体表现十分关键[3]。
为了应对对话状态追踪任务中的挑战,近年来有许多方法被提出,这些方法主要可以被分为两类:基于预定义本体的方法和基于开放词汇表的方法。
(1)基于预定义本体的方法假设每个槽可能取到的所有值都被事先预定义在一个候选值集合中,对话状态预测过程实际上是每个槽关于候选值集合中全部元素的一次多分类过程。然而,在现实中,由于候选值的数量可能很大甚至是动态变化的,我们通常很难预定义这样一个候选值集合。
(2)生成式方法打破了预定义本体的假设,转而仅给定目标槽,直接根据上下文生成槽值。
然而,随着对话的进行,对话上下文不断累积,在对对话上下文进行建模的过程中很容易丢失距离当前对话轮较远的重要信息,导致对话状态预测失败,并且过多的上下文信息会导致对话状态追踪器很难聚焦到关键信息。
发明内容
本发明的目的是为了克服现有技术中的不足,提供针对长距离对话状态追踪的分层建模贡献感知上下文的方法,其利用分层编码器以及注意力机制,建模槽特定的贡献感知的上下文表示,从而帮助模型更好地预测长距离条件下的对话状态,得到的对话状态预测准确度相较于基线模型在长文本条件下有明显提升。
本发明的目的是通过以下技术方案实现的:针对长距离对话状态追踪的分层建模贡献感知上下文的方法,包括以下步骤:
(1)构建对话轮建模模块:
对话轮建模模块利用一个分层结构(包含一个对话轮编码器和一个上下文编码器)对训练语料中的对话上下文进行编码,得到包含了上下文信息的对话轮表示;该模块对给定对话上下文Xt={T1,T2,Tk,...,Tt}进行编码,其中t表示对话上下文中对话轮的数量,Tk={Sk,Uk} 表示对话轮Tk中包含一个***语句Sk和一个用户语句Uk,表示对话轮 Tk的***语句中有Nsk个单词,/>表示对话轮Tk的用户语句中有Nuk个单词;
(2)构建贡献感知的上下文建模模块:
贡献感知的上下文建模模块利用了注意力机制,根据不同的槽sj为每个对话轮Ti进行打分得到scorei,j,衡量每个对话轮在当前槽值预测过程中可能做出的贡献,并据此得到槽特定的贡献感知的上下文表示scj。
(3)构建基于贡献感知的上下文的槽值生成模块:
基于贡献感知的上下文的槽值生成模块利用了复制增广的解码器;该模块以各个槽嵌入sj作为初始输入,以槽特定的贡献感知的上下文表示scj作为初始隐藏状态,在每一个解码步从对话历史或词汇表中进行选择得到当前解码步生成的单词,从而逐步生成槽值vj。
进一步的,步骤(1)中为得到训练语料包括以下步骤:
(101)对于每一个对话轮,将从对话开始至当前对话轮的全部语句作为对话历史;
(102)将(101)中得到的对话历史,按照对话轮进行分割,其中一个***语句和一个用户语句作为一个对话轮(注意:第一轮对话中***语句可能为空);
(103)统计训练预料中出现的全部域槽对,构造槽集合,具体格式为“域-槽”;
(104)规范对话状态标注,如更正标注错误、拼写错误,统一意同词不同的标注等,并将规范化的对话状态中的槽值作为对应槽的训练标签。
进一步地,步骤(1)中,分层编码器包含一个低层的对话轮编码器和一个高层的上下文编码器。对话轮编码器由双向GRU构成,针对上下文中每一个对话轮Tk进行编码得到对话轮向量表示thk,此外,利用残差连接机制计算得到对话历史中所有单词的向量表示Hk,其具体计算公式如下:
whk,i=wk,i+hk,i (6)
分别表示通过前向GRU和后向GRU编码得到的对话轮Tk中第i个单词对应的隐藏状态,|Tk|表示对话轮Tk中单词的个数;/>表示低层对话轮编码器中的前向GRU,/>表示低层对话轮编码器中的后向GRU;hk,i表示对话轮Tk中第i个单词通过双向GRU 编码得到的隐藏状态向量;thk表示低层对话轮编码器编码得到的对话轮Tk的向量表示;whk,i表示到对话轮Tk为止的对话历史中第i个单词经过对话轮编码器得到的向量表示;|Hk|表示到对话轮Tk为止的对话历史中单词的个数;wk,i表示到对话轮Tk为止的对话历史中第i个单词的词嵌入表示;
高层上下文编码器由另一个双向GRU构成,该结构将由按顺序排列好的对话轮向量表示构成的对话历史Ck作为输入,之后利用残差连接机制计算得到包含了上下文信息的对话轮向量表示Thi;具体计算公式如下:
Thi=thi+th′i (10)
其中Ck={th1,th2,...,thk}包含按顺序排列的由低层对话轮编码器得到的全部对话轮表示,k表示对话上下文中对话轮的个数;同上,表示高层上下文编码器中的前向GRU,/>表示高层上下文编码器中的后向GRU;/>分别表示前向GRU和后向GRU编码得到的对话上下文中第i个对话轮对应的隐藏状态;th′i表示对话上下文中第i个对话轮通过双向GRU编码得到的隐藏状态向量;Thi表示对话上下文中第i个对话轮经过上下文编码器得到的包含了上下文信息的向量表示。
进一步地,步骤(2)中,贡献感知的上下文建模模块利用注意力机制,根据不同的槽sj对对话上下文中的每一个对话轮Ti进行打分得到scorei,j,衡量在当前槽值预测过程中各个对话轮所能做出的贡献,并据此通过将全部对话轮表示进行加权求和,计算得到槽特定的贡献感知的对话上下文表示;具体计算公式如下:
scorei,j=sjThi (11)
其中,scorei,j表示槽sj对对话轮Ti计算的注意力分数,衡量对话轮Ti在槽sj的槽值生成过程中所能做出的贡献;sj表示第j个槽的词嵌入向量表示;Thi表示由步骤(1)得到的对话轮 Ti的向量表示;wi,j表示注意力分数scorei,j经过softmax操作归一化后得到的结果;scj表示槽sj特定的贡献感知的对话上下文向量表示。
进一步地,步骤(3)中,基于贡献感知的上下文的槽值生成模块将槽嵌入sj作为初始输入,将步骤(2)中得到的槽sj特定的贡献感知的上下文表示scj作为初始隐藏状态开始解码过程在每个时间步i:
首先,解码器将前一步得到的单词嵌入dwi-1,j作为当前时间步的输入,得到解码器状态 dhi,j:
dhi,j=GRU(dwi-1,j,dhi-1,j) (14)
其中,dhi,j表示在槽sj的解码步i中得到的解码器隐藏状态;dwi-1,j表示在槽sj的解码步 i-1中得到的单词预测结果。
之后,利用解码器状态dhi,j分别计算得到关于开放词汇表和对话历史的概率分布
其中,表示在槽sj的解码步i中计算得到的关于词汇表的概率分布;/>表示在槽sj的解码步i中计算得到的关于对话历史的概率分布;Softmax表示归一化指数函数;E表示词汇表对应的单词嵌入向量矩阵;Ht表示步骤(1)中由低层对话轮编码器得到的对话历史对应的单词向量矩阵;|V|表示词汇表中包含单词的个数;|Ht|表示对话轮Tt的对话历史中包含单词的个数。
最后,将得到的两个概率分布进行加权合并,得到关于整个词表的最终概率分布并选择概率最高的单词作为当前解码步的结果:
其中,表示词汇表和对话历史概率分布加权合并的最终概率分布结果;Sigmoid表示激活函数;W为待学习的参数;wdi,j表示在槽sj的解码步i中学习到的对话上下文向量。
上述解码过程中的损失函数表示如下:
其中,J表示数据集中包含域槽对的个数;|Yj|表示在当前对话轮槽j对应的标注槽值中包含单词的个数;表示槽j对应的标注槽值中第i个单词的独热编码。
有益效果:
1.本发明解决了在使用单个序列模型建模长上下文时较早出现的关键信息丢失的问题。在步骤(1)进行上下文建模时,引入一个分层结构的编码器代替之前模型中使用的单个序列模型。使用单个序列模型作为编码器的模型中,将整个对话上下文进行拼接后直接送入序列模型中进行编码,当对话上下文很长时,出现较早的关键信息在编码过程中可能会被遗忘。
因此,本发明中使用一种分层结构的编码器,将整个对话上下文按照对话轮分割为多个序列,在低层编码器中对每个对话轮语句进行编码得到每个对话轮的向量表示,在高层编码器中对对话上下文中包含的全部对话轮表示进行编码使得每个对话轮表示中能够包含上下文信息。通过减少送入每个编码器的序列长度,尽可能完整地在编码过程中保存对话上下文中每轮对话包含的信息。
2.本发明避免了在多轮长对话上下文中,无关对话轮对模型预测的干扰。在步骤(2)利用注意力机制,根据当前槽对对话上下文中的每个对话轮进行打分,衡量不同对话轮在当前槽值预测过程中可以做出的贡献,并根据不同的贡献分数将对话轮进行加权合并,得到槽特定的贡献感知的上下文表示,从而帮助模型更多地关注多轮长对话上下文中与当前槽相关的对话轮信息,而忽略无关对话轮信息。
通过实验表明,上述两个改进方法可以有效提高模型在长对话上下文情况下的对话状态预测性能。
附图说明
图1为本发明提供的针对长距离对话状态追踪的分层建模贡献感知的上下文的方法的总体框架图;
图2为本发明提供的针对长距离对话状态追踪的分层建模贡献感知的上下文的方法中分层编码器的低层对话轮编码器的结构图;
图3为本发明提供的针对长距离对话状态追踪的分层建模贡献感知的上下文的方法中分层编码器的高层上下文编码器的结构图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以多域数据集MultiWOZ2.0为例给出本发明的实施方法。该方法整体框架见图1所示。整个***算法流程包括对话轮建模、贡献感知的上下文建模、槽值生成这3个步骤。
具体步骤如下:
(1)对话轮建模:
本发明主要利用了MultiWOZ2.0数据集。该数据集为多域数据集,包含涉及景点、医院、警察、旅馆、饭店、出租车和火车7个域的10438段对话,由于医院和警察域只在训练集中出现,因此在实验过程中我们只使用剩余5个域的数据。本发明以该对话数据集为原始语料并做如下处理:
(1)对于每一个对话轮,将从对话开始至当前对话轮的全部语句作为对话历史;
(2)将(1)中得到的对话历史,按照对话轮进行分割,其中一个***语句和一个用户语句作为一个对话轮(注意:第一轮对话中***语句可能为空);
(3)统计原始语料中出现的全部域槽对,构造槽集合,具体格式为“域-槽”;
(4)规范对话状态标注,如更正标注错误、拼写错误,统一意同词不同的标注等,并将规范化的对话状态中的槽值作为对应槽的训练标签。
表1展示了该数据集的详细统计信息。该数据集中共包含对话71410轮,其中用于训练的对话56668轮,用于验证的对话7374轮,用于测试的对话7368轮。
训练集中最长对话上下文包含879个单词,验证集中最长对话上下文包含659个单词,测试集中最长对话上下文包含615个单词。数据集中的对话数据主要分布在0-300个单词的上下文长度范围内。
表1对话数据集统计信息
Corpus | All | Training | Dev | Test |
Total | 71410 | 56668 | 7374 | 7368 |
Max Length | 879 | 879 | 659 | 615 |
0-99 | 30797 | 24954 | 2936 | 2907 |
100-199 | 22956 | 18005 | 2469 | 2482 |
200-299 | 13330 | 10293 | 1535 | 1502 |
300-399 | 3616 | 2834 | 382 | 400 |
400- | 711 | 582 | 52 | 77 |
基于以上数据集,本发明利用由分别作为对话轮编码器和上下文编码器的两个双向GRU 构成的对话轮建模模块(如图2、3),编码得到包含对话上下文信息的对话轮表示Thi以及对话历史对应的单词向量矩阵Hk:
whk,i=wk,i+hk,i
Thi=thi+th′i
分别表示低层对话轮编码器中前向GRU和后向GRU编码得到的对话轮Tk中第 i个单词对应的隐藏状态,|Tk|表示对话轮Tk中单词的个数;/>表示低层对话轮编码器中的前向GRU,/>表示低层对话轮编码器中的后向GRU;hk,i表示对话轮Tk中第i个单词通过双向GRU编码得到的隐藏状态向量;thk表示低层对话轮编码器编码得到的对话轮 Tk的向量表示;whk,i表示到对话轮Tk为止的对话历史中第i个单词经过对话轮编码器得到的向量表示;|Hk|表示到对话轮Tk为止的对话历史中单词的个数;wk,i表示到对话轮Tk为止的对话历史中第i个单词的词嵌入表示;Ck={th1,th2,...,thk}包含按顺序排列的由低层对话轮编码器得到的全部对话轮表示,k表示对话上下文中对话轮的个数;
同上,表示高层上下文编码器中的前向GRU,/>表示高层上下文编码器中的后向GRU;/>分别表示高层上下文编码器中前向GRU和后向GRU编码得到的对话上下文中第i个对话轮对应的隐藏状态;th′i表示对话上下文中第i个对话轮通过双向GRU 编码得到的隐藏状态向量;Thi表示对话上下文中第i个对话轮经过上下文编码器得到的包含了上下文信息的向量表示。
(2)贡献感知的上下文建模过程:
利用注意力机制,根据当前槽向量与上一步得到的全部对话轮表示计算贡献度分数,并以此作为权重将上下文中的对话轮向量表示进行加权求和得到贡献感知的上下文向量表示:
scorei,j=sjThi
其中,scorei,j表示槽sj对对话轮Ti计算的注意力分数,衡量对话轮Ti在槽sj的槽值生成过程中所能做出的贡献;wi,j表示注意力分数scorei,j经过softmax操作归一化后得到的结果;scj表示槽sj特定的贡献感知的对话上下文向量表示。
(3)生成回复
将当前槽向量和上一步得到的当前槽特定的贡献感知的上下文向量表示分别作为解码器的初始输入和初始隐藏状态进行槽值生成。在每个时间步,利用解码器的隐藏状态分别计算对于词汇表和对话历史的概率分布,并得到关于词表的最终概率分布;
dhi,j=GRU(dwi-1,j,dhi-1,j)
其中,dhi,j表示在槽sj的解码步i中得到的解码器隐藏状态;dwi-1,j表示在槽sj的解码步 i-1中得到的单词预测结果;表示在槽sj的解码步i中计算得到的关于词汇表的概率分布;/>表示在槽sj的解码步i中计算得到的关于对话历史的概率分布;Softmax表示归一化指数函数;E表示词汇表对应的单词嵌入向量矩阵;Ht表示步骤(1)中由低层对话轮编码器得到的对话历史对应的单词向量矩阵;|V|表示词汇表中包含单词的个数;|Ht|表示对话轮t的对话历史中包含单词的个数;/>表示上述两个概率分布加权合并的最终概率分布结果;
Sigmoid表示激活函数;W为待学习的参数;wdi,j表示在槽sj的解码步i中学习到的对话上下文向量。
利用以下目标函数进行模型的训练:
其中,J表示数据集中包含域槽对的个数;|Yj|表示在当前对话轮槽j对应的标注槽值中包含单词的个数;表示槽j对应的标注槽值中第i个单词的独热编码。
在具体的实施过程中,该方法是基于pytorch实现的并在Nvidia GPU上进行训练。提前设定了各种参数,使用GlovE embedding[4]和character-wise embedding[5]拼接作为词嵌入向量,维度为400,编码器和解码器中的GRU的隐藏层大小也被设置为400。
使用Adam[6]算法以0.001的初始学习率更新参数,在训练过程中,采用early-stopstrategy[7],通过将patience设置为6,使训练过程在模型联合准确度连续6个epoch未提升之后结束。
表2-1显示了本模型(CACHE)、用本发明结构替换MLCSG中encoder-decoder框架后的模型版本(CACHE+LM)以及其它基线模型(TRADE、COMER、MLCSG)在MultiWOZ2.0数据集上关于两个评价指标(Slot Accuracy、Joint Accuracy)的结果。
表2-2显示了本模型(CACHE)、本模型的基线模型(TRADE)、一种最新的基于encoder-decoder框架的模型算法(MLCSG)以及将MLCSG中的encoder-decoder替换为本发明结构的模型版本(CACHE+LM)、在MultiWOZ2.0测试集中不同上下文长度范围的数据上的Joint Accuracy结果及数据统计。
表2-1 MultiWOZ2.0测试集的整体结果
Model | Slot Accuracy | Joint Accuracy |
TRADE | 96.94% | 48.53% |
COMER | - | 48.79% |
CACHE | 96.99% | 49.54% |
MLCSG | 97.18% | 50.72% |
CACHE+LM | 97.15% | 50.96% |
表2-2 MultiWOZ2.0测试集中不同对话上下文长度范围的数据统计以及模型结果
表中的对比实验算法描述如下:
TRADE:一种利用复制增广的encoder-decoder框架从对话历史或词汇表中生成槽值的方法;
COMER:一种利用分层解码器按顺序生成对话状态中的域、槽和值的方法;
MLCSG:一种在TRADE模型的基础上使用了以语言模型作为辅助任务的多任务学习框架的方法;
CACHE+LM:将MLCSG模型中的encoder-decoder结构替换为本发明的模型结构后的版本;
备注:本发明主要基于TRADE模型中的encoder部分进行改进,因此在实验中更加关注与TRADE模型在各项结果上的比较。当前有很多方法通过在encoder-decoder框架的基础上添加不同功能模块结构的方式提高模型性能,本发明所提供的方法可以通过替换其中的 encoder-decoder结构被直接移植在这些方法中(例如移植到MLCSG模型中得到CACHE+LM),因此在实验中并未进行过多的比较,仅以CACHE+LM作为示例进行简单比较说明。
从表2-1的实验结果中可以看出,在槽准确度(Slot Accuracy)方面,所有模型均取得了很好的结果,且表现非常接近,这是因为在每个对话轮中,大多数槽的值是空,这对于模型来说很容易预测,因此,我们更关注模型在联合准确度(Joint Accuracy)上的表现。与TRADE模型相比,CACHE在联合准确度方面获得了1.01%的绝对提升,这说明本发明所提供方法-利用分层编码器进行对话轮建模并通过注意力机制构建贡献感知的上下文表示-对于对话状态追踪任务的完成很有帮助。此外,相较于MLCSG,CACHE+LM在联合准确度方面获得了0.24%的绝对提升,这说明本发明提供的方法移植到其他基于encoder-decoder结构的对话状态追踪模型上后依然有效。
从表2-2的实验结果中可以看出,当对话上下文长度超过100个单词时,相较于TRADE 和MLCSG,CACHE和CACHE+LM均获得了较大的提升。特别是在200-299长度范围内,相较于TRADE,CACHE获得了最大3.59%的绝对提升。这说明,本发明所提供的方法,利用分层结构编码器,通过减少送入每个编码器的对话序列长度,能够有效缓解长对话上下文中较早出现的信息丢失的问题;并且,构建贡献感知的上下文表示能够帮助模型在冗长的对话上下文中关注到有用的信息。
本发明并不限于上文描述的实施方式。以上对具体实施方式的描述旨在描述和说明本发明的技术方案,上述的具体实施方式仅仅是示意性的,并不是限制性的。在不脱离本发明宗旨和权利要求所保护的范围情况下,本领域的普通技术人员在本发明的启示下还可做出很多形式的具体变换,这些均属于本发明的保护范围之内。
参考文献:
[1]Shan Y,Li Z,Zhang J,et al.A contextual hierarchical attentionnetwork with adaptive objective for dialogue state tracking[C]//Proceedingsof the 58th Annual Meeting of the Association for ComputationalLinguistics.2020:6322-6333.
[2]Zhu S,Li J,Chen L,et al.Efficient context and schema fusionnetworks for multi-domain dialogue state tracking[J].arXiv preprint arXiv:2004.03386,2020.
[3]Ye F,Manotumruksa J,Zhang Q,et al.Slot Self-Attentive DialogueState Tracking[C]//Proceedings of the Web Conference 2021.2021:1598-1608.
[4]Pennington J,Socher R,Manning C D.Glove:Global vectors for wordrepresentation[C]//Proceedings of the 2014conference on empirical methods innatural language processing(EMNLP).2014:1532-1543.
[5]Hashimoto K,Xiong C,Tsuruoka Y,et al.A joint many-task model:Growing a neural network for multiple nlp tasks[J].arXiv preprint arXiv:1611.01587,2016.
[6]Kingma D P,Ba J.Adam:A method for stochastic optimization[J].arXivpreprint arXiv:1412.6980,2014.
[7]Caruana R,Lawrence S,Giles L.Overfitting in neural nets:Backpropagation,conjugate gradient,and early stopping[J].Advances in neuralinformation processing systems,2001:402-408。
Claims (4)
1.针对长距离对话状态追踪的分层建模贡献感知上下文的方法,其特征在于,包括以下步骤:
(1)构建对话轮建模模块:
对话轮建模模块利用一个分层结构,包含一个对话轮编码器和一个上下文编码器;
对训练语料中的对话上下文进行编码,得到包含了上下文信息的对话轮表示;该模块对给定对话上下文Xt={T1,T2,Tk,...,Tt}进行编码,其中t表示对话上下文中对话轮的数量,Tk={Sk,Uk}表示对话轮Tk中包含一个***语句Sk和一个用户语句Uk,表示对话轮Tk的***语句中有Nsk个单词,/>表示对话轮Tk的用户语句中有Nuk个单词;
(2)构建贡献感知的上下文建模模块:
贡献感知的上下文建模模块利用注意力机制,根据不同的槽为每个对话轮Ti进行打分得到scorei,j,衡量每个对话轮在当前槽值预测过程中可能做出的贡献,并据此得到槽特定的贡献感知的上下文表示scj;
(3)构建基于贡献感知的上下文的槽值生成模块:
基于贡献感知的上下文的槽值生成模块利用复制增广的解码器;
该模块以各个槽嵌入作为初始输入,以槽特定的贡献感知的上下文表示scj作为初始隐藏状态,在每一个解码步从对话历史或词汇表中进行选择得到当前解码步生成的单词,从而逐步生成槽值vj;
所述步骤(2)中,贡献感知的上下文建模模块利用注意力机制,根据不同的槽sj对对话上下文中的每一个对话轮Ti进行打分得到scorei,j,衡量在当前槽值预测过程中各个对话轮所能做出的贡献,并据此通过将全部对话轮表示进行加权求和,计算得到槽特定的贡献感知的对话上下文表示;
具体计算公式如下:
scorei,j=sjThi (11)
其中,scorei,j表示槽sj对对话轮Ti计算的注意力分数,衡量对话轮Ti在槽sj的槽值生成过程中所能做出的贡献;sj表示第j个槽的词嵌入向量表示;Thi表示由步骤(1)得到的对话轮Ti的向量表示;wi,j表示注意力分数scorei,j经过softmax操作归一化后得到的结果;scj表示槽sj特定的贡献感知的对话上下文向量表示。
2.根据权利要求1所述针对长距离对话状态追踪的分层建模贡献感知上下文的方法,其特征在于,步骤(1)中为得到训练语料包括以下步骤:
(101)对于每一个对话轮,将从对话开始至当前对话轮的全部语句作为对话历史;
(102)将(101)中得到的对话历史,按照对话轮进行分割,其中一个***语句和一个用户语句作为一个对话轮,注意的是,第一轮对话中***语句可能为空;
(103)统计训练预料中出现的全部域槽对,构造槽集合,具体格式为“域-槽”;
(104)规范对话状态标注,并将规范化的对话状态中的槽值作为对应槽的训练标签。
3.根据权利要求1所述针对长距离对话状态追踪的分层建模贡献感知上下文的方法,其特征在于,步骤(1)中,分层编码器包含一个低层的对话轮编码器和一个高层的上下文编码器;对话轮编码器由双向GRU构成,针对上下文中每一个对话轮Tk进行编码得到对话轮向量表示thk,此外,利用残差连接机制计算得到对话历史中所有单词的向量表示Hk,其具体计算公式如下:
whk,i=wk,i+hk,i (6)
分别表示通过前向GRU和后向GRU编码得到的对话轮Tk中第i个单词对应的隐藏状态,|Tk|表示对话轮Tk中单词的个数;/>表示低层对话轮编码器中的前向GRU,表示低层对话轮编码器中的后向GRU;hk,i表示对话轮Tk中第i个单词通过双向GRU编码得到的隐藏状态向量;thk表示低层对话轮编码器编码得到的对话轮Tk的向量表示;whk,i表示到对话轮Tk为止的对话历史中第i个单词经过对话轮编码器得到的向量表示;|Hk|表示到对话轮Tk为止的对话历史中单词的个数;wk,i表示到对话轮Tk为止的对话历史中第i个单词的词嵌入表示;
高层上下文编码器由另一个双向GRU构成,该结构将由按顺序排列好的对话轮向量表示构成的对话历史Ck作为输入,之后利用残差连接机制计算得到包含了上下文信息的对话轮向量表示Thi;具体计算公式如下:
Thi=thi+th′i (10)
其中Ck={th1,th2,...,thk}包含按顺序排列的由低层对话轮编码器得到的全部对话轮表示,k表示对话上下文中对话轮的个数;同上,表示高层上下文编码器中的前向GRU,/>表示高层上下文编码器中的后向GRU;/>分别表示前向GRU和后向GRU编码得到的对话上下文中第i个对话轮对应的隐藏状态;th′i表示对话上下文中第i个对话轮通过双向GRU编码得到的隐藏状态向量;Thi表示对话上下文中第i个对话轮经过上下文编码器得到的包含了上下文信息的向量表示。
4.根据权利要求1所述针对长距离对话状态追踪的分层建模贡献感知上下文的方法,其特征在于,步骤(3)中,基于贡献感知的上下文的槽值生成模块将槽嵌入sj作为初始输入,将步骤(2)中得到的槽sj特定的贡献感知的上下文表示scj作为初始隐藏状态开始解码过程在每个时间步i:
首先,解码器将前一步得到的单词嵌入dwi-1,j作为当前时间步的输入,得到解码器状态dhi,j:
dhi,j=GRU(dwi-1,j,dhi-1,j) (14)
其中,dhi,j表示在槽sj的解码步i中得到的解码器隐藏状态;dwi-1,j表示在槽sj的解码步i-1中得到的单词预测结果;
之后,利用解码器状态dhi,j分别计算得到关于开放词汇表和对话历史的概率分布
其中,表示在槽sj的解码步i中计算得到的关于词汇表的概率分布;/>表示在槽sj的解码步i中计算得到的关于对话历史的概率分布;Softmax表示归一化指数函数;E表示词汇表对应的单词嵌入向量矩阵;Ht表示步骤(1)中由低层对话轮编码器得到的对话历史对应的单词向量矩阵;|V|表示词汇表中包含单词的个数;|Ht|表示对话轮Tt的对话历史中包含单词的个数;
最后,将得到的两个概率分布进行加权合并,得到关于整个词表的最终概率分布并选择概率最高的单词作为当前解码步的结果:
其中,表示词汇表和对话历史概率分布加权合并的最终概率分布结果;Sigmoid表示激活函数;W为待学习的参数;wdi,j表示在槽sj的解码步i中学习到的对话上下文向量;
上述解码过程中的损失函数表示如下:
其中,J表示数据集中包含域槽对的个数;|Yj|表示在当前对话轮槽j对应的标注槽值中包含单词的个数;表示槽j对应的标注槽值中第i个单词的独热编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111050517.8A CN113723079B (zh) | 2021-09-08 | 2021-09-08 | 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111050517.8A CN113723079B (zh) | 2021-09-08 | 2021-09-08 | 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113723079A CN113723079A (zh) | 2021-11-30 |
CN113723079B true CN113723079B (zh) | 2023-10-31 |
Family
ID=78682605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111050517.8A Active CN113723079B (zh) | 2021-09-08 | 2021-09-08 | 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113723079B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117556832B (zh) * | 2023-11-23 | 2024-04-09 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种基于语义约束的情感支持对话双向生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180119406A (ko) * | 2017-04-25 | 2018-11-02 | 강원대학교산학협력단 | 멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석 시스템 및 방법 |
WO2020051192A1 (en) * | 2018-09-06 | 2020-03-12 | Google Llc | Dialogue systems |
CN112328756A (zh) * | 2020-10-13 | 2021-02-05 | 山东师范大学 | 基于上下文的对话生成方法及*** |
CN113342947A (zh) * | 2021-05-26 | 2021-09-03 | 华南师范大学 | 能感知对话上下文相对位置信息的多轮对话文本生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2014111971A (ru) * | 2014-03-28 | 2015-10-10 | Юрий Михайлович Буров | Способ и система голосового интерфейса |
-
2021
- 2021-09-08 CN CN202111050517.8A patent/CN113723079B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180119406A (ko) * | 2017-04-25 | 2018-11-02 | 강원대학교산학협력단 | 멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석 시스템 및 방법 |
WO2020051192A1 (en) * | 2018-09-06 | 2020-03-12 | Google Llc | Dialogue systems |
CN112328756A (zh) * | 2020-10-13 | 2021-02-05 | 山东师范大学 | 基于上下文的对话生成方法及*** |
CN113342947A (zh) * | 2021-05-26 | 2021-09-03 | 华南师范大学 | 能感知对话上下文相对位置信息的多轮对话文本生成方法 |
Non-Patent Citations (2)
Title |
---|
5G背景下的智能对话***架构及应用;黄毅;冯俊兰;胡珉;吴晓婷;杜晓宇;;电信工程技术与标准化(第01期);全文 * |
基于语境交互感知和模式筛选的隐式篇章关系识别;郭凤羽;贺瑞芳;党建武;;计算机学报(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113723079A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110210032B (zh) | 文本处理方法及装置 | |
CN110678882B (zh) | 使用机器学习从电子文档选择回答跨距的方法及*** | |
CN110069612B (zh) | 一种回复生成方法及装置 | |
CN117236410B (zh) | 一种可信的电子文件大语言模型训练、推理方法和装置 | |
CN111782788A (zh) | 一种面向开放域对话***的情感回复自动生成方法 | |
CN111488455A (zh) | 模型训练的方法、文本分类的方法、***、设备及介质 | |
CN110597968A (zh) | 一种回复选择方法及装置 | |
US20210248473A1 (en) | Attention neural networks with linear units | |
CN115438154A (zh) | 基于表征学习的中文自动语音识别文本修复方法及*** | |
Chien et al. | Self Attention in Variational Sequential Learning for Summarization. | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN113239666A (zh) | 一种文本相似度计算方法及*** | |
CN113111190A (zh) | 一种知识驱动的对话生成方法及装置 | |
CN112669845A (zh) | 语音识别结果的校正方法及装置、电子设备、存储介质 | |
CN113723079B (zh) | 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法 | |
CN116341651A (zh) | 实体识别模型训练方法、装置、电子设备及存储介质 | |
CN114416948A (zh) | 一种基于语义感知的一对多对话生成方法及装置 | |
Hori et al. | Adversarial training and decoding strategies for end-to-end neural conversation models | |
CN111666375B (zh) | 文本相似度的匹配方法、电子设备和计算机可读介质 | |
CN116860943A (zh) | 对话风格感知与主题引导的多轮对话方法及*** | |
CN111832699A (zh) | 用于神经网络的计算高效富于表达的输出层 | |
CN116450787A (zh) | 一种基于多模态知识增强的生成式对话方法和*** | |
Yao et al. | Tessp: text-enhanced self-supervised speech pre-training | |
CN116306869A (zh) | 训练文本分类模型的方法、文本分类方法及对应装置 | |
Tanaka et al. | Neural candidate-aware language models for speech recognition |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |