CN113705652A - 一种基于指针生成网络的任务型对话状态追踪系统及方法 - Google Patents
一种基于指针生成网络的任务型对话状态追踪系统及方法 Download PDFInfo
- Publication number
- CN113705652A CN113705652A CN202110969540.0A CN202110969540A CN113705652A CN 113705652 A CN113705652 A CN 113705652A CN 202110969540 A CN202110969540 A CN 202110969540A CN 113705652 A CN113705652 A CN 113705652A
- Authority
- CN
- China
- Prior art keywords
- vector
- word
- sequence
- dialog state
- history
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 239000013598 vector Substances 0.000 claims description 68
- 239000010410 layer Substances 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 2
- 239000002356 single layer Substances 0.000 claims description 2
- 230000006855 networking Effects 0.000 claims 1
- 238000013508 migration Methods 0.000 abstract description 8
- 230000005012 migration Effects 0.000 abstract description 8
- 238000011160 research Methods 0.000 abstract description 6
- 238000002474 experimental method Methods 0.000 abstract description 4
- 238000013475 authorization Methods 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 description 6
- 235000012054 meals Nutrition 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000021152 breakfast Nutrition 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于指针生成网络的任务型对话状态追踪系统及方法,通过GRU‑Self Attention机制有效的编码了长序列文本,并基于指针生成网络结合源序列信息生成对话状态。本发明首次提出了一种针对对话状态追踪算法长序列编码能力不足特点提出的BiGRU‑Self Attention编码器,该编码器可以更有效地编码长序列文本。本发明的算法相比于其他相关研究表现出了更高的联合目标准确率。在迁移性能实验中验证了该算法的迁移能力。
Description
技术领域
本发明属于对话状态追踪技术领域,涉及一种基于指针生成网络的任务型对话状态追踪系统及方法。
背景技术
任务型对话系统是一种面向单领域或多领域问题,以完成任务为导向,以最短轮数完成用户查询或对话任务为目的的一种人机对话系统。从使用场景上来说,从车载语音助手到自动电话客服都属于任务型对话系统。为了支持多轮对话的场景,任务型对话系统需要对话状态追踪算法在整个对话历程中持续记录用户的各种意图,来辅助系统为用户提供正确的回复。从定义上来说,对话状态通常由一组请求和联合目标共同组成,其中请求分为目标(information,即表示用户希望实现的目标)和请求(request,表示用户希望获取的信息),例如,用户希望吃中餐(以槽-值对的形式体现,槽指一种意图类别,如在餐厅领域下就指订餐时间、食物风格等;值指槽对应的值,食物风格可以对应中餐、西餐,订餐时间可以对应早餐、午餐等。)是一个目标,而用户希望获得地址(address)则是一个请求。将当前轮为止的每一对话轮中的目标和请求加在一起,其中的每一轮的目标和请求分别称为回合目标和回合请求,而所有轮的目标构成联合目标。
现有的对话状态追踪算法分为分类式和生成式两种,前者基于二分类的方式将所有的槽-值对进行True/False的判断,生成最终的对话状态;后者则基于生成的方式,或是基于Seq2Seq的方式直接生成对话状态序列,或基于槽的输入生成对应的值。基于生成式的算法相比于基于分类式的算法,在鲁棒性和模型的拓展性上更好,因此逐渐成为大多数研究者的研究思路。现有的大多数对话状态追踪算法还存在以下两个关键性问题:1)迁移能力差。在新领域上,以往的相关研究较难基于以往的经验进行有效迁移,常需要在新的数据集上重新训练;2)难以从源序列获取有效信息。由于该研究的特殊性,基于命名实体识别的方式往往无法达到较好的性能,因此大多数研究都是基于编码器的句向量进行后续计算的,这种方式无法有效从源序列中获取足够的语义信息。
发明内容
本发明的目的在于解决现有技术中的问题,提供一种基于指针生成网络的任务型对话状态追踪系统及方法
针对目前对话状态追踪算法的两个缺陷,本发明提出了MBPST(Multi-Head-Attention Based Point-network State Tracker)模型,该模型,基于指针生成网络,以Seq2Seq的方式,根据输入的领域-槽进行对话状态的生成。
基于上述原因,本发明的主要任务是通过相关算法从源序列中获取足够的语义信息,并通过生成式算法来提高模型的迁移能力。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于指针生成网络的任务型对话状态追踪方法,包括以下步骤:
以整个对话历史文本作为输入,通过Embedding、Bi-GRU和Self-Attention层对对话的历史文本信息进行编码,获取整个对话历史文本的句向量和各个词的词向量;
对“don’tcare”和“None”这两个特殊值先进行分类,如果一个槽对应的值是这两个值中的一个,则直接输出结果;
将对话状态作为本文序列,以生成的方式输出对话状态中每个“领域-槽”对应的值;
从源序列中提取单词,在生成阶段将有效信息的权重直接加入最终的词分布中。
上述方法进一步的改进在于:
所述对对话的历史文本信息进行编码的具体方法如下:
步骤0:令对话的历史记录中,当前的时刻为t,用户话语历史集合为U={U0,U1,…,Ut},系统回复历史集合为A={A0,A1,…,At-1},则编码器的输入为D={U0,A0,U1,A1,…,Ut};
步骤1:基于Glove预训练向量将对话历史D编码为对应的向量,再利用Bi-GRU算法编码对话历史,得到句向量输出hcontext和词向量输出H={h0,h1,…,hL},其中L为整个对话历史词的序列长度;
步骤2:基于自注意力机制进行对话历史的长序列编码,令注意力计算方式为:
其中,softmax表示softmax函数,该函数能够形式化为:
步骤3:基于LayerNormalization机制对自注意力层的输出与Bi-GRU层的输出进行加和运算后并进行归一化,并将该归一化后的结果作为编码器的序列向量输出;令一个Batch的三维数据中,BatchSize为第一个维度B,序列长度为第二个维度L,特征维度为第三个维度Hidden_Size,针对第三个维度计算均值和方差;对于第b个Batch,第s个序列,其均值μb,s和方差σb,s为:
其中gb,s是可学习的参数;归一化后的向量将作为编码器的最终输出。
所述对“don’tcare”和“None”这两个特殊值先进行分类的具体方法如下:
步骤4:基于GRU算法进行对话状态生成任务;GRU层0时刻的输入为领域与槽的Embedding之和:x0=Edomain+Eslot,首先经过GRU层计算,得到的结果为h0;
步骤5:用h0和对话历史的词向量seq={seq0,seq1,…,seqL}做注意力,得到对话历史的上下文向量hcontext;以第l个词向量为例:
attl=seql*hl (6)
则每个词向量占整个句向量的权重score为:
score=(score1,score2,…,scoreL)=softmax(att1,att2,…,attL) (7)
其中,seql为该步第l个词的向量,hl为该时刻GRU的隐向量,L为整个序列的长度;
步骤6:基于得到的上下文向量进行三分类,3种分类代表的意义分别为:继续计算对话状态、“don’tcare”和“None”:
pclassifier=softmax(dropout(Wg(hcontext))) (9)
其中,Wg为可训练的前馈神经网络,dropout为随机将Wg中某些参数设为0的随机化算法。
所述对话状态的计算方式为每一轮对话均针对每个“领域-槽”对计算一次。
所述基于指针生成网络机制,从源序列中提取单词,在生成阶段将有效信息的权重直接加入最终的词分布中的具体方法如下:
步骤7:令第t步对话状态生成器的输入为xt,首先计算该步从全词表中取词的权重pgen:
pgen=sigmoid(Wgen(concat(ht,hcontext,xt))) (10)
其中,Wgen为可训练的单层前馈神经网络,ht表示第t步的GRU输出,hcontext为之前计算得到的上下文向量;
步骤8:再全词表中任意一个词作为输出的概率分布:
attnt,e=ht*Ee (11)
pvocab=softmax(attnt,e) (12)其中,Ee为全词表中的第e个词的Embedding向量,“*”表示向量的点乘;
步骤9:再取之前计算得到的与输入序列计算的权重score,得到该轮的输出p:
p=pgen*pvocab+(1-pgen)*score (13)
步骤10:当序列生成“<EOS>”标签时停止生成,输出对话状态。
一种基于指针生成网络的任务型对话状态追踪系统,包括:
输入嵌入与编码模块,所述输入嵌入与编码模块用于以整个对话历史文本作为输入,通过Embedding、Bi-GRU和Self-Attention层对对话的历史文本信息进行编码,获取整个对话历史文本的句向量和各个词的词向量;
特殊槽分类模块,所述特殊槽分类模块用于对“don’tcare”和“None”这两个特殊值先进行分类,如果一个槽对应的值是这两个值中的一个,则直接输出结果;
对话状态生成模块,所述对话状态生成模块用于将对话状态作为本文序列,以生成的方式输出对话状态中每个“领域-槽”对应的值;
指针生成网络模块,所述指针生成网络模块用于从源序列中提取单词,在生成阶段将有效信息的权重直接加入最终的词分布中。
一种基于指针生成网络的任务型对话状态追踪装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明提出了一种基于任务型对话系统的对话状态追踪算法,通过GRU-SelfAttention机制有效的编码了长序列文本,并基于指针生成网络结合源序列信息生成对话状态。本发明首次提出了一种针对对话状态追踪算法长序列编码能力不足特点提出的BiGRU-Self Attention编码器,该编码器可以更有效地编码长序列文本。本发明的算法相比于其他相关研究表现出了更高的联合目标准确率。在迁移性能实验中验证了该算法的迁移能力。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的整体模型结构图;
图2为本发明的整体工作流程示意图;
图3为本发明的编码器结构;
图4为本发明的迁移实验。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明实施例公开了一种基于指针生成网络的任务型对话状态追踪方法,包括以下步骤:
阶段0:对话历史编码
步骤0:令对话的历史记录中,当前的时刻为t,用户话语历史集合为U={U0,U1,…,Ut},系统回复历史集合为A={A0,A1,…,At-1},则编码器的输入为D={U0,A0,U1,A1,…,Ut}。
步骤1:首先基于Glove预训练向量将对话历史D编码为对应的向量,再利用Bi-GRU算法编码对话历史,得到句向量输出hcontext和词向量输出H={h0,h1,…,hL},其中L为整个对话历史词的序列长度。
步骤2:基于自注意力机制进行对话历史的长序列编码,令注意力计算方式为:
其中,softmax表示softmax函数,该函数可形式化为:
步骤3:基于LayerNormalization机制对自注意力层的输出与Bi-GRU层的输出进行加和运算后并进行归一化,并将该归一化后的结果作为编码器的序列向量输出。令一个Batch的三维数据中,BatchSize为第一个维度B,序列长度为第二个维度L,特征维度为第三个维度Hidden_Size,本发明针对第三个维度计算均值和方差。对于第b个Batch,第s个序列,其均值为(μb,s)和方差(σb,s)为:
其中gb,s是可学习的参数。归一化后的向量将作为编码器的最终输出。
阶段1:特殊值分类器
本发明对于对话状态的计算方式为每一轮对话均针对每个“领域-槽”对计算一次。
步骤4:本发明基于GRU算法进行对话状态生成任务。GRU层0时刻的输入为领域与槽的Embedding之和:x0=Edomain+Eslot,首先经过GRU层计算,得到的结果为h0。
步骤5:用h0和对话历史的词向量seq={seq0,seq1,…,seqL}做注意力,得到对话历史的上下文向量hcontext。以第l个词向量为例:
attl=seql*hl (6)
则每个词向量占整个句向量的权重score为:
score=(score1,score2,…,scoreL)=softmax(att1,att2,…,attL) (7)
其中,seql为该步第l个词的向量,hl为该时刻GRU的隐向量,L为整个序列的长度。
步骤6:基于得到的上下文向量进行三分类,3种分类代表的意义分别为:继续计算对话状态、“don’tcare”和“None”:
pclassifier=softmax(dropout(Wg(hcontext))) (9)
其中,Wg为可训练的前馈神经网络,dropout为随机将Wg中某些参数设为0的随机化算法。
阶段2:基于指针生成网络的对话状态生成器
本部分首先描述指针生成网络的工作机制
步骤7:令第t步对话状态生成器的输入为xt,首先计算该步从全词表中取词的权重pgen:
pgen=sigmoid(Wgen(concat(ht,hcontext,xt))) (10)
其中,Wgen为可训练的单层前馈神经网络,ht表示第t步的GRU输出,hcontext为之前计算得到的上下文向量。
步骤8:再全词表中任意一个词作为输出的概率分布:
attnt,e=ht*Ee (11)
pvocab=softmax(attnt,e) (12)
其中,Ee为全词表中的第e个词的Embedding向量,“*”表示向量的点乘。
步骤9:再取之前计算得到的与输入序列计算的权重score,得到该轮的输出p:
p=pgen*pvocab+(1-pgen)*score (13)
步骤10:在测试阶段,当序列生成“<EOS>”标签时停止生成,输出对话状态。
如图2所示,本发明实施例公开了一种基于指针生成网络的任务型对话状态追踪系统,包括:
模块1.输入嵌入与编码模块:以整个对话历史文本作为输入,通过Embedding,Bi-GRU和Self-Attention层对对话的历史文本信息进行编码,获取整个对话历史文本的句向量和各个词的词向量。
模块2.特殊槽分类模块:由于“don’tcare”和“None”两个值在语义中的特征和其他值相差较大,因此对这两个特殊的值先进行分类,如果一个槽对应的值是这两个值中的一个,则算法不需要进行额外计算,直接输出结果。
模块3.对话状态生成模块:本发明将对话状态作为一种本文序列,以生成的方式输出对话状态中每个“领域-槽”对应的值。这种做法可以有效提高模型的拓展性和鲁棒性,同时随着槽-值对数目的增多,训练参数量不变,训练和测试速度不会随之线性提高。
模块4.指针生成网络模块:为了提高传统的RNN类模型在序列生成上的性能缺陷,本文引入了指针生成网络机制,该机制可以直接从源序列中提取单词,在生成阶段将有效信息的权重直接加入最终的词分布中。
本发明适用于以WoZ格式标注的任务型对话系统中,例如智能客服、车载语音助手等,且能够有效的利用源序列信息对新领域数据进行有效迁移。
如图4所示,图4为本发明的迁移实验,实验结果表明在zero-shot(在某个领域上只进行测试,模型并不在其之上进行训练)和few-shot(在某个领域只用很少的样本进行训练,然后进行测试)条件下均表现出了一定的迁移能力。
表1
表1为本发明在Multi-WoZ数据集下的实验性能图,本算法在联合目标准确率上高出其他相关算法。对比的相关算法有:GLAD“ZHONG V,XIONG C,SOCHER R.Global-locallyself-attentive encoder for dialogue state tracking[C].Proceedings of the 56thAnnual Meeting of the Association for Computational Linguistics(Volume 1:LongPapers),2018:1458-1467.”,GCE“Nouri E,Hosseini-Asl E.Toward scalable neuraldialogue state tracking model[J].arXiv preprint arXiv:1812.00899,2018.”,Neural Reading“[3]Gao S,Sethi A,Agarwal S,et al.Dialog State Tracking:ANeural Reading Comprehension Approach[C]//Proceedings of the 20th annualmeeting of the special interest group on discourse and dialogue(SIGDIAL).2019:264-273.”,Hyst“Goel R,Paul S,Hakkani-Tür D.Hyst:A hybrid approach forflexible and accurate dialogue state tracking[J].arXiv preprint arXiv:1907.00883,2019.”,SUMBT“Lee H,Lee J,Kim T Y.SUMBT:Slot-Utterance Matching forUniversal and Scalable Belief Tracking[C]//Proceedings of the 57th AnnualMeeting of the Association for Computational Linguistics.2019:5478-5483.”和COMER“Ren L,Ni J,McAuley J.Scalable and Accurate Dialogue State Tracking viaHierarchical Sequence Generation[C]//Proceedings of the 2019Conference onEmpirical Methods in Natural Language Processing and the 9th InternationalJoint Conference on Natural Language Processing(EMNLP-IJCNLP).2019:1876-1885.”等,本模型名称定义为MBPST(Multi-Head-Attention Based Point-network StateTracker)。
表2
表2为本发明的不同模块在Multi-WoZ数据集下的分离性能对比图,可以看到对于本算法,引入的每个模块都可以有效提高算法的整体性能。
本发明一实施例提供的基于指针生成网络的任务型对话状态追踪装置。该实施例的基于指针生成网络的任务型对话状态追踪装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
所述基于指针生成网络的任务型对话状态追踪装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述**装置/终端设备可包括,但不仅限于,处理器、存储器。
所述处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于指针生成网络的任务型对话状态追踪装置的各种功能。
所述基于指针生成网络的任务型对话状态追踪装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于指针生成网络的任务型对话状态追踪方法,其特征在于,包括以下步骤:
以整个对话历史文本作为输入,通过Embedding、Bi-GRU和Self-Attention层对对话的历史文本信息进行编码,获取整个对话历史文本的句向量和各个词的词向量;
对“don’tcare”和“None”这两个特殊值先进行分类,如果一个槽对应的值是这两个值中的一个,则直接输出结果;
将对话状态作为本文序列,以生成的方式输出对话状态中每个“领域-槽”对应的值;
从源序列中提取单词,在生成阶段将有效信息的权重直接加入最终的词分布中。
2.根据权利要求1所示的基于指针生成网络的任务型对话状态追踪方法,其特征在于,所述对对话的历史文本信息进行编码的具体方法如下:
步骤0:令对话的历史记录中,当前的时刻为t,用户话语历史集合为U={U0,U1,...,Ut},系统回复历史集合为A={A0,A1,...,At-1},则编码器的输入为D={U0,A0,U1,A1,...,Ut};
步骤1:基于Glove预训练向量将对话历史D编码为对应的向量,再利用Bi-GRU算法编码对话历史,得到句向量输出hcontext和词向量输出H={h0,h1,...,hL},其中L为整个对话历史词的序列长度;
步骤2:基于自注意力机制进行对话历史的长序列编码,令注意力计算方式为:
其中,softmax表示softmax函数,该函数能够形式化为:
步骤3:基于LayerNormalization机制对自注意力层的输出与Bi-GRU层的输出进行加和运算后并进行归一化,并将该归一化后的结果作为编码器的序列向量输出;令一个Batch的三维数据中,BatchSize为第一个维度B,序列长度为第二个维度L,特征维度为第三个维度Hidden_Size,针对第三个维度计算均值和方差;对于第b个Batch,第s个序列,其均值μb,s和方差σb,s为:
其中gb,s是可学习的参数;归一化后的向量将作为编码器的最终输出。
3.根据权利要求2所示的基于指针生成网络的任务型对话状态追踪方法,其特征在于,所述对“don’tcare”和“None”这两个特殊值先进行分类的具体方法如下:
步骤4:基于GRU算法进行对话状态生成任务;GRU层0时刻的输入为领域与槽的Embedding之和:x0=Edomain+Eslot,首先经过GRU层计算,得到的结果为h0;
步骤5:用h0和对话历史的词向量seq={seq0,seq1,...,seqL}做注意力,得到对话历史的上下文向量hcontext;以第l个词向量为例:
attl=seql*hl (6)
则每个词向量占整个句向量的权重score为:
score=(score1,score2,...,scoreL)=softmax(att1,att2,...,attL) (7)
其中,seql为该步第l个词的向量,hl为该时刻GRU的隐向量,L为整个序列的长度;
步骤6:基于得到的上下文向量进行三分类,3种分类代表的意义分别为:继续计算对话状态、“don’tcare”和“None”:
pclassifier=Softmax(dropout(Wg(hcontext))) (9)
其中,Wg为可训练的前馈神经网络,dropout为随机将Wg中某些参数设为0的随机化算法。
4.根据权利要求1-3任一项所示的基于指针生成网络的任务型对话状态追踪方法,其特征在于,所述对话状态的计算方式为每一轮对话均针对每个“领域-槽”对计算一次。
5.根据权利要求3所示的基于指针生成网络的任务型对话状态追踪方法,其特征在于,所述基于指针生成网络机制,从源序列中提取单词,在生成阶段将有效信息的权重直接加入最终的词分布中的具体方法如下:
步骤7:令第t步对话状态生成器的输入为xt,首先计算该步从全词表中取词的权重pgen:
Pgen=sigmoid(Wgen(concat(ht,hcontext,xt))) (10)
其中,Wgen为可训练的单层前馈神经网络,ht表示第t步的GRU输出,hcontext为之前计算得到的上下文向量;
步骤8:再全词表中任意一个词作为输出的概率分布:
attnt,e=ht*Ee (11)
pvocab=softmax(attnt,e) (12)
其中,Ee为全词表中的第e个词的Embedding向量,“*”表示向量的点乘;
步骤9:再取之前计算得到的与输入序列计算的权重score,得到该轮的输出p:
p=pgen*pvocab+(1-pgen)*score (13)
步骤10:当序列生成“<EOS>”标签时停止生成,输出对话状态。
6.一种基于指针生成网络的任务型对话状态追踪系统,其特征在于,包括:
输入嵌入与编码模块,所述输入嵌入与编码模块用于以整个对话历史文本作为输入,通过Embedding、Bi-GRU和Self-Attention层对对话的历史文本信息进行编码,获取整个对话历史文本的句向量和各个词的词向量;
特殊槽分类模块,所述特殊槽分类模块用于对“don’tcare”和“None”这两个特殊值先进行分类,如果一个槽对应的值是这两个值中的一个,则直接输出结果;
对话状态生成模块,所述对话状态生成模块用于将对话状态作为本文序列,以生成的方式输出对话状态中每个“领域-槽”对应的值;
指针生成网络模块,所述指针生成网络模块用于从源序列中提取单词,在生成阶段将有效信息的权重直接加入最终的词分布中。
7.一种基于指针生成网络的任务型对话状态追踪装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110969540.0A CN113705652B (zh) | 2021-08-23 | 2021-08-23 | 一种基于指针生成网络的任务型对话状态追踪系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110969540.0A CN113705652B (zh) | 2021-08-23 | 2021-08-23 | 一种基于指针生成网络的任务型对话状态追踪系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113705652A true CN113705652A (zh) | 2021-11-26 |
CN113705652B CN113705652B (zh) | 2024-05-28 |
Family
ID=78654160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110969540.0A Active CN113705652B (zh) | 2021-08-23 | 2021-08-23 | 一种基于指针生成网络的任务型对话状态追踪系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113705652B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115910073A (zh) * | 2022-09-27 | 2023-04-04 | 哈尔滨理工大学 | 基于双向注意力残差网络的语音欺诈检测方法 |
Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001061919A1 (de) * | 2000-02-18 | 2001-08-23 | Tresor Tv Produktions Gmbh | Verfahren und system zur nachweisbaren abwicklung von telefongesprächen |
CN106951512A (zh) * | 2017-03-17 | 2017-07-14 | 深圳市唯特视科技有限公司 | 一种基于混合编码网络的端到端对话控制方法 |
US20180203852A1 (en) * | 2017-01-18 | 2018-07-19 | Xerox Corporation | Natural language generation through character-based recurrent neural networks with finite-state prior knowledge |
US20180307679A1 (en) * | 2017-04-23 | 2018-10-25 | Voicebox Technologies Corporation | Multi-lingual semantic parser based on transferred learning |
CN108710704A (zh) * | 2018-05-28 | 2018-10-26 | 出门问问信息科技有限公司 | 对话状态的确定方法、装置、电子设备及存储介质 |
CN109637527A (zh) * | 2018-12-13 | 2019-04-16 | 苏州思必驰信息科技有限公司 | 对话语句的语义解析方法及系统 |
CN110209801A (zh) * | 2019-05-15 | 2019-09-06 | 华南理工大学 | 一种基于自注意力网络的文本摘要自动生成方法 |
CN110211573A (zh) * | 2019-05-28 | 2019-09-06 | 重庆邮电大学 | 一种基于神经网络模型的任务驱动型对话决策方法 |
US20200105272A1 (en) * | 2018-09-27 | 2020-04-02 | Salesforce.Com, Inc. | Global-to-Local Memory Pointer Networks for Task-Oriented Dialogue |
CN111061850A (zh) * | 2019-12-12 | 2020-04-24 | 中国科学院自动化研究所 | 基于信息增强的对话状态跟踪方法、系统、装置 |
CN111143509A (zh) * | 2019-12-09 | 2020-05-12 | 天津大学 | 一种基于静态-动态注意力变分网络的对话生成方法 |
CN111191015A (zh) * | 2019-12-27 | 2020-05-22 | 上海大学 | 一种神经网络电影知识智能对话方法 |
CN111400468A (zh) * | 2020-03-11 | 2020-07-10 | 苏州思必驰信息科技有限公司 | 对话状态跟踪系统及方法和人机对话装置及方法 |
CN111522923A (zh) * | 2020-03-31 | 2020-08-11 | 华东师范大学 | 一种多轮任务式对话状态追踪方法 |
CN111611347A (zh) * | 2020-05-22 | 2020-09-01 | 上海乐言信息科技有限公司 | 任务型对话系统的对话状态跟踪、训练方法及系统 |
CN111737146A (zh) * | 2020-07-21 | 2020-10-02 | 中国人民解放军国防科技大学 | 一种用于对话系统评估的语句生成方法 |
CN111767383A (zh) * | 2020-07-03 | 2020-10-13 | 苏州思必驰信息科技有限公司 | 对话状态跟踪方法、系统及人机对话方法 |
CN112084314A (zh) * | 2020-08-20 | 2020-12-15 | 电子科技大学 | 一种引入知识的生成式会话系统 |
CN112131861A (zh) * | 2020-11-25 | 2020-12-25 | 中国科学院自动化研究所 | 基于层次化多头交互注意力的对话状态生成方法 |
WO2021042543A1 (zh) * | 2019-09-04 | 2021-03-11 | 平安科技(深圳)有限公司 | 基于长短期记忆网络的多轮对话语义分析方法和系统 |
CN112488157A (zh) * | 2020-11-12 | 2021-03-12 | 北京三快在线科技有限公司 | 一种对话状态追踪方法、装置、电子设备及存储介质 |
CN112507696A (zh) * | 2021-02-04 | 2021-03-16 | 湖南大学 | 基于全局注意力意图识别的人机交互导诊方法与系统 |
US20210089588A1 (en) * | 2019-09-24 | 2021-03-25 | Salesforce.Com, Inc. | System and Method for Automatic Task-Oriented Dialog System |
CN112559556A (zh) * | 2021-02-25 | 2021-03-26 | 杭州一知智能科技有限公司 | 表格模式解析和序列掩码的语言模型预训练方法及系统 |
US20210141799A1 (en) * | 2019-11-08 | 2021-05-13 | PolyAI Limited | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system |
US20210174003A1 (en) * | 2018-11-29 | 2021-06-10 | Tencent Technology (Shenzhen) Company Limited | Sentence encoding and decoding method, storage medium, and device |
US20210182504A1 (en) * | 2018-11-28 | 2021-06-17 | Tencent Technology (Shenzhen) Company Limited | Text translation method and apparatus, and storage medium |
CN112988960A (zh) * | 2021-02-09 | 2021-06-18 | 中国科学院自动化研究所 | 一种对话状态追踪方法、装置、设备及存储介质 |
US20210217408A1 (en) * | 2018-09-06 | 2021-07-15 | Google Llc | Dialogue systems |
CN113254610A (zh) * | 2021-05-14 | 2021-08-13 | 廖伟智 | 面向专利咨询的多轮对话生成方法 |
-
2021
- 2021-08-23 CN CN202110969540.0A patent/CN113705652B/zh active Active
Patent Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001061919A1 (de) * | 2000-02-18 | 2001-08-23 | Tresor Tv Produktions Gmbh | Verfahren und system zur nachweisbaren abwicklung von telefongesprächen |
US20180203852A1 (en) * | 2017-01-18 | 2018-07-19 | Xerox Corporation | Natural language generation through character-based recurrent neural networks with finite-state prior knowledge |
CN106951512A (zh) * | 2017-03-17 | 2017-07-14 | 深圳市唯特视科技有限公司 | 一种基于混合编码网络的端到端对话控制方法 |
US20180307679A1 (en) * | 2017-04-23 | 2018-10-25 | Voicebox Technologies Corporation | Multi-lingual semantic parser based on transferred learning |
CN108710704A (zh) * | 2018-05-28 | 2018-10-26 | 出门问问信息科技有限公司 | 对话状态的确定方法、装置、电子设备及存储介质 |
US20210217408A1 (en) * | 2018-09-06 | 2021-07-15 | Google Llc | Dialogue systems |
US20200105272A1 (en) * | 2018-09-27 | 2020-04-02 | Salesforce.Com, Inc. | Global-to-Local Memory Pointer Networks for Task-Oriented Dialogue |
US20210182504A1 (en) * | 2018-11-28 | 2021-06-17 | Tencent Technology (Shenzhen) Company Limited | Text translation method and apparatus, and storage medium |
US20210174003A1 (en) * | 2018-11-29 | 2021-06-10 | Tencent Technology (Shenzhen) Company Limited | Sentence encoding and decoding method, storage medium, and device |
CN109637527A (zh) * | 2018-12-13 | 2019-04-16 | 苏州思必驰信息科技有限公司 | 对话语句的语义解析方法及系统 |
CN110209801A (zh) * | 2019-05-15 | 2019-09-06 | 华南理工大学 | 一种基于自注意力网络的文本摘要自动生成方法 |
CN110211573A (zh) * | 2019-05-28 | 2019-09-06 | 重庆邮电大学 | 一种基于神经网络模型的任务驱动型对话决策方法 |
WO2021042543A1 (zh) * | 2019-09-04 | 2021-03-11 | 平安科技(深圳)有限公司 | 基于长短期记忆网络的多轮对话语义分析方法和系统 |
US20210089588A1 (en) * | 2019-09-24 | 2021-03-25 | Salesforce.Com, Inc. | System and Method for Automatic Task-Oriented Dialog System |
US20210141799A1 (en) * | 2019-11-08 | 2021-05-13 | PolyAI Limited | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system |
CN111143509A (zh) * | 2019-12-09 | 2020-05-12 | 天津大学 | 一种基于静态-动态注意力变分网络的对话生成方法 |
CN111061850A (zh) * | 2019-12-12 | 2020-04-24 | 中国科学院自动化研究所 | 基于信息增强的对话状态跟踪方法、系统、装置 |
CN111191015A (zh) * | 2019-12-27 | 2020-05-22 | 上海大学 | 一种神经网络电影知识智能对话方法 |
CN111400468A (zh) * | 2020-03-11 | 2020-07-10 | 苏州思必驰信息科技有限公司 | 对话状态跟踪系统及方法和人机对话装置及方法 |
CN111522923A (zh) * | 2020-03-31 | 2020-08-11 | 华东师范大学 | 一种多轮任务式对话状态追踪方法 |
CN111611347A (zh) * | 2020-05-22 | 2020-09-01 | 上海乐言信息科技有限公司 | 任务型对话系统的对话状态跟踪、训练方法及系统 |
CN111767383A (zh) * | 2020-07-03 | 2020-10-13 | 苏州思必驰信息科技有限公司 | 对话状态跟踪方法、系统及人机对话方法 |
CN111737146A (zh) * | 2020-07-21 | 2020-10-02 | 中国人民解放军国防科技大学 | 一种用于对话系统评估的语句生成方法 |
CN112084314A (zh) * | 2020-08-20 | 2020-12-15 | 电子科技大学 | 一种引入知识的生成式会话系统 |
CN112488157A (zh) * | 2020-11-12 | 2021-03-12 | 北京三快在线科技有限公司 | 一种对话状态追踪方法、装置、电子设备及存储介质 |
CN112131861A (zh) * | 2020-11-25 | 2020-12-25 | 中国科学院自动化研究所 | 基于层次化多头交互注意力的对话状态生成方法 |
CN112507696A (zh) * | 2021-02-04 | 2021-03-16 | 湖南大学 | 基于全局注意力意图识别的人机交互导诊方法与系统 |
CN112988960A (zh) * | 2021-02-09 | 2021-06-18 | 中国科学院自动化研究所 | 一种对话状态追踪方法、装置、设备及存储介质 |
CN112559556A (zh) * | 2021-02-25 | 2021-03-26 | 杭州一知智能科技有限公司 | 表格模式解析和序列掩码的语言模型预训练方法及系统 |
CN113254610A (zh) * | 2021-05-14 | 2021-08-13 | 廖伟智 | 面向专利咨询的多轮对话生成方法 |
Non-Patent Citations (6)
Title |
---|
MAUAJAMA FIRDAUS 等: "A Multi-Task Hierarchical Approach for Intent Detection and Slot Filling", KNOWLEDGE-BASED SYSTEMS, 31 December 2019 (2019-12-31), pages 104846 - 104846 * |
夏鑫林;许亮;: "基于注意力机制的谣言检测算法研究", 现代计算机, no. 08, 15 March 2020 (2020-03-15) * |
宦敏;程昊熠;李培峰;: "基于结构化表示的中文事件同指消解方法", 中文信息学报, no. 12, 15 December 2019 (2019-12-15) * |
曲昭伟;王源;王晓茹;: "基于迁移学习的分层注意力网络情感分析算法", 计算机应用, no. 11, 19 July 2018 (2018-07-19) * |
王家乾;龚子寒;薛云;庞士冠;古东宏;: "基于混合多头注意力和胶囊网络的特定目标情感分析", 中文信息学报, no. 05, 15 May 2020 (2020-05-15) * |
简治平;蔡爱雄;李欣;张磊;: "基于Seq2Seq模型的问答系统研究", 广东石油化工学院学报, no. 06, 15 December 2019 (2019-12-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115910073A (zh) * | 2022-09-27 | 2023-04-04 | 哈尔滨理工大学 | 基于双向注意力残差网络的语音欺诈检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113705652B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111602147B (zh) | 基于非局部神经网络的机器学习模型 | |
CN109101537B (zh) | 基于深度学习的多轮对话数据分类方法、装置和电子设备 | |
CN110263160B (zh) | 一种计算机问答系统中的问句分类方法 | |
CN112084331A (zh) | 文本处理、模型训练方法、装置、计算机设备和存储介质 | |
CN110309275A (zh) | 一种对话生成的方法和装置 | |
CN113268609A (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
Khan et al. | Machine learning facilitated business intelligence (Part II) Neural networks optimization techniques and applications | |
CN111709223B (zh) | 基于bert的句子向量生成方法、装置及电子设备 | |
CN114372475A (zh) | 一种基于RoBERTa模型的网络舆情情感分析方法及系统 | |
CN112527972A (zh) | 基于深度学习的智能客服聊天机器人实现方法和系统 | |
CN113392209A (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN111538846A (zh) | 基于混合协同过滤的第三方库推荐方法 | |
CN113705652A (zh) | 一种基于指针生成网络的任务型对话状态追踪系统及方法 | |
Venkatesh et al. | Real time sarcasm detection on twitter using ensemble methods | |
CN117313138A (zh) | 基于nlp的社交网络隐私感知系统及方法 | |
CN112434512A (zh) | 一种结合上下文语境的新词确定方法及装置 | |
CN113723111B (zh) | 一种小样本意图识别方法、装置、设备及存储介质 | |
CN115170876A (zh) | 一种基于因果干涉注意力的图像识别方法 | |
CN113255824B (zh) | 训练分类模型和数据分类的方法和装置 | |
CN114707518A (zh) | 面向语义片段的目标情感分析方法、装置、设备及介质 | |
Ling | Coronavirus public sentiment analysis with BERT deep learning | |
CN113869068A (zh) | 场景服务推荐方法、装置、设备及存储介质 | |
CN113886539A (zh) | 话术推荐方法、装置、客服设备及存储介质 | |
Shi et al. | SDNet: Image‐based sonar detection network for multi‐scale objects | |
CN111708872A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |