基于状态值生成的两阶段低资源对话状态追踪方法技术

技术编号:38930246 阅读:19 留言:0更新日期:2023-09-25 09:35
本发明专利技术公开了一种基于状态值生成的两阶段低资源对话状态追踪方法,其包括:采用Prompt Learning微调预训练语言模型,从对话上下文中获取到当前轮用户所提到的所有状态值集合;采用自训练,使用大规模易于获取的对话数据来增强低资源场景下的状态值生成效果;为了过滤掉自训练过程中低置信度的伪标签数据,设计了一个状态值评估器来评估生成的状态值质量,通过对有限的训练集数据进行负采样得到该评估器的训练数据;最后,采用基于Prompt Learning来微调预训练语言模型为每个生成的状态值生成其对应的槽位。本发明专利技术充分利用预训练语言模型来完成低资源对话状态追踪的任务,并且采用自训练,使用无标签对话数据来增强状态值生成效果。极大地提升了低资源状态追踪的效果。效果。效果。

【技术实现步骤摘要】
基于状态值生成的两阶段低资源对话状态追踪方法


[0001]本专利技术涉及自然语言处理领域的任务型对话系统,具体而言是低资源对话状态追踪即一种基于状态值生成的两阶段低资源对话状态追踪方法。

技术介绍

[0002]目前,人工智能技术突飞猛进,任务型对话系统作为自然语言领域的一大重要分支正日益获得学术界和产业界的重视。任务型对话系统旨在通过与用户多个回合的自然语言交互,进而帮助用户完成某项任务的系统。这些任务可以是预定酒店、预定飞机票等或者是多个子任务组合而成的复合任务。一个典型的任务型对话系统往往由四个部分组成:自然语言理解(Nature Language Understanding,NLU)模块,对话状态追踪(Dialogue State Tracking,DST)模块,策略管理(Policy Management,PM)模块,对话生成(Nature Language Generation,NLG)模块。作为其中的一个核心模块,对话状态追踪模块负责在多轮对话中获取和更新用户的对话状态,它的追踪效果对任务型对话系统的成功率有显著的影响。在DST任务中,对话状态指的是槽值对的组合。例如,“hotel

area:centre”中,“hotel

area”就是一个槽,“centre”就是这个槽的值。槽值对可以理解为用户对需求的限制。
[0003]随着深度学习技术的不断发展,对话状态追踪从传统的规则式方法转变为以神经网络为基础的方法,该类方法极大地提升了对话状态追踪任务的效果。然而这些方法往往需要大量的标注数据,在真实场景下,对话领域层出不穷,对所有的领域中的对话都进行一定量的标注是不可行的。于是越来越多的研究者转而研究小样本对话状态追踪,这些方法主要可以分类跨领域知识迁移以及跨任务知识迁移,取得了较好的效果。但这些方法受到领域相似性以及任务相似性的制约并且仍然需要大量的标注数据。近年来,大规模预训练语言模型获得了极大的发展,先生成状态值再生成其对应的槽位成为了新的低资源对话状态追踪的研究方向。

技术实现思路

[0004]本专利技术的目的是提供一种基于状态值生成的两阶段低资源对话状态追踪方法,并以自训练的方法进一步提升了状态值生成的效果。该专利技术采用Prompt Learning的方法充分利用预训练语言模型强大的理解能力来完成低资源对话状态追踪的任务,并将低资源对话状态追踪解耦成了两个任务,状态值生成以及槽位生成。这样的两阶段模型方法将复杂的对话状态追踪任务进行分解,更加容易地学习到任务的本质。同时,该专利技术还采用了自训练的方法使用大量易于获取的无标签对话数据来增强状态值生成效果。极大地提升了低资源状态追踪的效果。
[0005]实现本专利技术目的的具体技术方案是:
[0006]一种基于状态值生成的两阶段低资源对话状态追踪方法,包括如下步骤:
[0007]步骤一:基于Prompt Learning的状态值生成模型
[0008]采用Prompt Learning的方式通过预训练语言模型,从对话文本中获取状态值;具
体为:给定对话历史D
≤t
={S1,U1,S2,U2,...,S
t
,U
t
},其模型目标是将当前轮对话D
t
={S
t
,U
t
}中所有的状态值生成出来,其中S
t
,U
t
分别表示第t轮对话中系统和用户的对话文本;使用Transformer模型进行状态值抽取;将Prompt以及对话历史输入到预训练语言模型编码器Encoder中,其输入表示为:
[0009]X
t
=Prompt+[History]+D
<t
+[Turn]+D
t
[0010]其中Prompt是自然语言提示,[History]和[Turn]分别表示对话历史和当前轮对话文本的开始标记;
[0011]给定当前轮次的输入,得到Encoder的输出:
[0012]H
t
=Encoder(X
t
)
[0013]之后预训练语言模型解码器Decoder对预训练语言模型编码器Encoder的输出做erossattention并生成出所有在当前轮被提到的状态值,其中cross attention为交叉注意力机制,然而状态值是一个集合,将状态值用
“”
进行连接,最终的输出为:
[0014][0015]模型训练的损失函数为交叉熵损失函数:
[0016]L=

∑log P(V
output
|D
≤t
,Prompt)
[0017]其中P(V
output
|D
≤t
,Prompt)表示给定D
≤t
,Prompt的情况下输出正确状态值集合V
output
的概率;
[0018]步骤二:自训练
[0019]采用自训练的方法进一步提升低资源场景下的状态值抽取准确率;具体为:有两批数据,其一是标注数据D
L
,其二是未标注数据D
U
;首先在D
L
上训练一个模型然后将其作为教师模型对大量未标注数据D
U
进行状态值生成得到伪标签数据D
P
,之后使用状态值评估模型对伪标签数据中的噪声数据进行过滤,保留其中置信度高的数据,将过滤之后的伪标签数据D
P
与D
L
合并来训练一个学生模型;最后学生模型又成为新的教师模型,如此循环直到状态值生成的准确率不再提高为止;
[0020]所述状态值评估模型则由基于Transformer Encoder实现,具体为:首先将状态值生成模型的输出结果人工构建为Prompt模板,对于没有生成状态值的状况以及存在状态值的状况设置不同的自然语言提示Prompt,将对话历史与Prompt以[SEP]标签连接得到输入的一部分,在开头额外加上[CLS]标签用于分类;最终模型输入表示为:
[0021]E
t
=[CLS]+[History]+D
<t
+[Turn]+D
t
+[SEP]+Prompt
[0022]将上述内容输入到Encoder中,就得到对应的隐藏层输出,取[CLS]对应的隐藏层输出h
[cls]来进行分类,将h
[CLS]送入到分类器中,评估当前生成的状态值是否正确且完整,具体如下所示:
[0023]P=Softmax(MLP(h[
CLS
]))
[0024]其中MLP为多层感知器,由两个线性变换层和一个tanh激活层构成;P表示三分类问题的概率,定义的三分类问题为:(1)正确生成;(2)不完整生成;(3)错误生成;
[0025]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于状态值生成的两阶段低资源对话状态追踪方法,其特征在于,包括如下步骤:步骤一:基于Prompt Learning的状态值生成模型采用Prompt Learning的方式通过预训练语言模型,从对话文本中获取状态值;具体为:给定对话历史D≤t={S1,U1,S2,U2,...,S
t
,U
t
},其模型目标是将当前轮对话D
t
={S
t
,U
t
}中所有的状态值生成出来,其中S
t
,U
t
分别表示第t轮对话中系统和用户的对话文本;使用Transformer模型进行状态值抽取;将Prompt以及对话历史输入到预训练语言模型编码器Encoder中,其输入表示为:X
t
=Prompt+[History]+D<t+[Turn]+D
t
其中Prompt是自然语言提示,[History]和[Turn]分别表示对话历史和当前轮对话文本的开始标记;给定当前轮次的输入,得到Encoder的输出:H
t
=Encoder(X
t
)之后预训练语言模型解码器Decoder对预训练语言模型编码器Encoder的输出做cross attention并生成出所有在当前轮被提到的状态值,其中cross attention为交叉注意力机制,然而状态值是一个集合,将状态值用“|”进行连接,最终的输出为:模型训练的损失函数为交叉熵损失函数:L=

∑log P(V
output
|D≤t,Prompt)其中P(V
output
|D≤t,Prompt)表示给定D≤t,Prompt的情况下输出正确状态值集合V
output
的概率;步骤二:自训练采用自训练的方法进一步提升低资源场景下的状态值抽取准确率;具体为:有两批数据,其一是标注数据D
L
,其二是未标注数据D
U
;首先在D
L
上训练一个模型然后将其作为教师模型对大量未标注数据D
U
进行状态值生成得到伪标签数据D
P
,之后使用状态值评估模型对伪标签数据中的噪声数据进行过滤,保留其中置信度高的数据,将过滤之后的伪标签数据D
P
与D
L
合并来训练一个学生模型;最后学生模型又成为新的教师模型,如此循环直到状态值生成的准确率不再提高为止;所述状态值评估模型则由基于Transformer Encoder实现,具体为:首先将状态值生成模型的输出结果人工构建为Prompt模板,对于没...

【专利技术属性】
技术研发人员:杨燕顾铭贺樑
申请(专利权)人:华东师范大学
类型:发明
国别省市:

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

1