【技术实现步骤摘要】
基于状态值生成的两阶段低资源对话状态追踪方法
[0001]本专利技术涉及自然语言处理领域的任务型对话系统,具体而言是低资源对话状态追踪即一种基于状态值生成的两阶段低资源对话状态追踪方法。
技术介绍
[0002]目前,人工智能技术突飞猛进,任务型对话系统作为自然语言领域的一大重要分支正日益获得学术界和产业界的重视。任务型对话系统旨在通过与用户多个回合的自然语言交互,进而帮助用户完成某项任务的系统。这些任务可以是预定酒店、预定飞机票等或者是多个子任务组合而成的复合任务。一个典型的任务型对话系统往往由四个部分组成:自然语言理解(Nature Language Understanding,NLU)模块,对话状态追踪(Dialogue State Tracking,DST)模块,策略管理(Policy Management,PM)模块,对话生成(Nature Language Generation,NLG)模块。作为其中的一个核心模块,对话状态追踪模块负责在多轮对话中获取和更新用户的对话状态,它的追踪效果对任务型对话系统的成功率有显著 ...
【技术保护点】
【技术特征摘要】
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模板,对于没...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。