CN114860908A - 一种融合槽位关联和语义关联的任务型对话状态跟踪方法 - Google Patents

一种融合槽位关联和语义关联的任务型对话状态跟踪方法 Download PDF

Info

Publication number
CN114860908A
CN114860908A CN202210491157.3A CN202210491157A CN114860908A CN 114860908 A CN114860908 A CN 114860908A CN 202210491157 A CN202210491157 A CN 202210491157A CN 114860908 A CN114860908 A CN 114860908A
Authority
CN
China
Prior art keywords
slot
word
semantic
value
association
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
Application number
CN202210491157.3A
Other languages
English (en)
Inventor
倪钰婷
张德平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN202210491157.3A priority Critical patent/CN114860908A/zh
Publication of CN114860908A publication Critical patent/CN114860908A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种融合槽位关联和语义关联的任务型对话状态跟踪方法,为融合槽位关联信息,本方法利用图神经网络挖掘槽位之间的关系。首先对槽位构建一个多关系模式图,然后利用层级图注意力网络分别计算关系层和结点层的注意力得分,以此捕获槽位之间显式或隐式的关系。为融合语义关系,本方法在槽门机制中引入词级的语义相似度向量获取局部语义匹配信息。该方式能够获取槽位和当前对话的局部语义特征,将该相似度向量作为槽门机制的增强特征,以此更好地判断槽位是否在对话中涉及且确定槽值的预测方式。最后,通过槽值解码器中两个子模块对不同的预测方式进行解码,本方法能有效提升对话状态的预测精度和速度。

Description

一种融合槽位关联和语义关联的任务型对话状态跟踪方法
技术领域
本发明涉及深度学习技术领域,特别是涉及一种融合槽位关联和语义关联的任务型对话状态跟踪方法。
背景技术
近年来,人工智能发展迅猛,越来越多的应用都离不开智能交互,其中,发展最显著的是人机对话交互。通俗理解,即为机器人对话。人机对话交互按照对话内容可以分为闲聊型对话系统和任务型对话系统。闲聊型对话系统属于开放域问答,没有特定的聊天领域,比如小爱音箱,微软小冰等语音助手。任务型对话系统旨在帮助用户完成某项或多项特定的任务,如预定车票系统、智能客服系统等。任务型对话系统的研发目的是为了降低人工成本,通过智能交互的方式简化业务办理流程,提高用户的满意度,因此该项研究具有深远的应用意义。
任务型对话系统主要由四个模块组成,分别是自然语言理解、对话状态跟踪、对话策略优化和自然语言生成。其中,对话状态跟踪是任务型对话系统中的核心模块,对话状态跟踪的目的是基于对话上下文抽取用户目标与意图,并将其表示成对话状态。对话状态是当前对话的压缩表示,由(槽位-槽值)形式的集合组成。其中,槽位是对话系统中预定义的一组领域本体,比如hotel-area表示“酒店区域”,槽值是该槽位具体的信息,比如“市中心”。
目前主流的基于神经网络的方法可分为两种:基于预定义本体的方法和开放词汇式方法,其中,开放词汇方法又可以细分为生成式方法和基于跨度的方法。基于预定义本体的方法将对话状态跟踪视为分类任务。其基本思想是,预定义一个包含所有可能的槽值对的本体,并基于该本体在每一轮对话中对每一个槽值进行分类预测。然而,这种方法在现实场景中很难实现,首先,多领域场景下本体通常会很大;其次,难以对每个槽位预定义所有可能的值,比如时间类型的槽值是不可枚举的,名称类的槽值是动态变化的。生成式方法不基于预定义本体,而是直接根据对话上下文生成槽值。然而,当遇到复杂槽值时,生成式方法会面临生成混乱字符串的风险,比如生成重复的单词。基于跨度的方法将对话状态跟踪视作阅读理解任务,直接从对话历史中预测每个槽值的起始位置和结束位置。但是,这种方法不能很好地应对槽值未出现在对话历史的情况。
本发明在上述三种对话状态跟踪方法的基础上,针对多领域对话系统中所面临的三个问题,提出了一种融合槽位关联和语义关联的任务型对话状态跟踪方法,所解决的三个问题为:
(1)编码复杂度高。在每一轮状态跟踪过程中,现存的方法通常会对所有的对话历史编码,随着对话轮数的递增,对话上下文的长度也随之增加,加大了编码难度,计算复杂度和内存消耗也随之增加。
(2)未考虑槽位之间的关系。多领域场景下,许多方法往往忽略了领域与领域、槽位与槽位之间的关系,而槽位关系能够帮助模型学习到隐藏在对话表面的有用信息。比如,在多领域生活服务智能机器人应用场景中,某个用户的目标是预定一辆去某酒店的出租车。此时,与预定出租车相关的领域是前面涉及酒店领域的对话,对话状态跟踪模型应该具备由“hotel-name”到“taxi-destination”的推断能力,即在当前对话上下文中,这两个槽位产生了关联,它们共享槽值。
(3)语义相关性信息不足。为了确定在当前对话中是否涉及到某个领域或某个槽位,现有的方法选择遍历所有的槽位,然后利用槽门机制对每个槽位进行三分类预测,以此来决定该槽位的值类型。这种方式会导致对话状态跟踪过程低效且耗时,不仅如此,槽门机制的输入信息过于简单,未能充分提取到全局的语义关联信息,致使状态跟踪遗漏掉当前对话中提及的槽位。
发明内容
有鉴于此,本发明的目的在于提供一种融合槽位关联和语义关联的任务型对话状态跟踪方法,用以解决背景技术中提交的技术问题。该方法综合考虑槽位关联信息和语义关联信息,通过多关系图获取不同槽位之间的关系,通过槽位与词级对话上下文的语义相似度来增强特征,最终提高对话状态跟踪模型的精确度。
为了实现上述目的,本发明采用如下技术方案:
一种融合槽位关联和语义关联的任务型对话状态跟踪方法,该方法包括以下步骤:
步骤S1、多领域对话数据集预处理,将对话数据处理成以对话轮为单位的样本,其中,原始特征为前一轮系统回复、当前轮用户语句和前一轮对话状态,样本标签为当前轮对话状态;
步骤S2、对步骤S1处理后的样本特征编码,利用预训练语言模型BERT将原始特征编码成数值数据;
步骤S3、获取领域本体信息,即所有的领域-槽信息;将本体信息构建成多关系图结构,利用层级注意力机制融合槽位之间的关系,最终获得每个槽位的嵌入向量;
步骤S4、计算对话上下文中每个单词与槽位的语义相似度,将语义相似度拼接为一个语义相似向量,该向量与步骤S3中得到的槽位嵌入向量连接起来作为槽门机制的输入;
步骤S5、根据步骤S4中槽门机制的输出结果,判断槽位的值来源方式,由值解码器模块预测槽值,采用逐个槽位预测的方式,最后更新当前轮的对话状态。
进一步的,在所述步骤S1中,数据预处理采用的数据集是剑桥大学研究人员提出的多领域对话数据集MultiWOZ2.0。每个样本以对话轮为单位,原始特征为前一轮系统回复、当前轮用户语句和前一轮对话状态,样本标签为当前轮对话状态,该操作能够有效降低编码复杂度,提高训练速度。
进一步的,在所述步骤S2中,对步骤S1处理后的样本特征编码,利用预训练语言模型BERT将原始特征编码成数值数据。其中,BERT模型的输入由三部分组成,分别是词向量、段向量和位置向量。
进一步的,所述步骤S2具体包括以下步骤:
S21、对话语句表示:将第t轮的对话语句表示成连接的对话序列,
Figure BDA0003630982410000031
Figure BDA0003630982410000032
其中Rt-1表示前一轮系统回复,Ut表示当前轮用户语句,[CLS]和[SEP]是用于分割句子的辅助token,
Figure BDA0003630982410000033
表示序列拼接操作,[CLS]的作用是捕获完整的序列嵌入;
S22、前一轮对话状态表示:对话状态是一系列的三元组集合,看作是对话历史的压缩化表示;将前一轮对话状态表示为
Figure BDA0003630982410000034
其中,每一个S代表domain-slot-value形式的子序列,
Figure BDA0003630982410000035
[SLOT]表示domain-slot-value三元组的聚合信息嵌入,J代表domain-slot的总数;
如果第j个槽位在第t轮的值为NULL,则用特殊标记[NULL]作为输入,如果值为DONTCARE,则用短语“don’t care”作为输入;
S23、编码器输入:为了提高编码效率,将对话语句与前一轮对话状态拼接为一个单一序列Xt
Figure BDA0003630982410000036
其中,Xt的输入嵌入是词嵌入、分段嵌入和位置嵌入相加后的嵌入向量;
其中,词嵌入是输入序列中每个单词的词向量;分段嵌入是输入序列中每个输入段的编码,用0代表属于Rt-1的单词,用1代表属于Ut的单词,用2代表属于Bt-1的单词;位置嵌入是输入序列中每个单词的位置编码,该编码方式遵循BERT中的标准形式;
S24、编码器输出:编码器的输出表示为Ht,整个输入的序列嵌入表示为
Figure BDA0003630982410000041
每个槽位的嵌入表示为
Figure BDA0003630982410000042
整个输入Xt的聚合序列表示
Figure BDA0003630982410000043
由一个前向神经网络获得,其网络参数为Wpool,计算公式如下:
Figure BDA0003630982410000044
进一步的,在所述步骤S3中,所述槽位之间的关系的类型包括:领域连接、槽名连接、共享值连接和隐式连接。
进一步的,所述步骤S3具体包括,
S31、多关系模式图构建:基于本体模式,模式图被定义为G=(N,E);其中,N={(domain,slot)},表示该模式图的结点由domain-slot形式的槽位构成,而无向边e∈E表示两个结点之间的关系;
S32、多关系模式图编码:为了对槽位之间的关系进行建模,利用层级图注意力网络对多关系模式图中的结点编码,以此融合不同槽位之间的多种关系信息,获取最终的槽位嵌入。
进一步的,在所述步骤S32中,所述层级图注意力网络中包含L层,每层又分为注意力子层和FFN子层;注意力子层划分为关系级别注意力机制和结点级别注意力机制;
在更新前每一个子层会增添残差连接和LayerNorm,具体公式如下:
CG=LayerNorm(h(l)+h(l+1))
Figure BDA0003630982410000045
在经过L层堆叠后,每个槽位融合了多种槽位关联信息,最终的槽位嵌入表示为St L
进一步的,在所述步骤S4中,将槽位与词级对话上下文之间的词级相似度作为槽门机制的增强特征;然后与步骤S3得到的槽位嵌入拼接,作为槽门机制的输入;最后,输出该槽位对应的槽门类别。
进一步的,所述步骤S4中,
将第t轮的对话历史拼接成一个可变长序列Seqt,其最大长度为len;对话历史中每个单词都对应一个词向量t∈R1×d,词向量矩阵对应对话编码器中的词嵌入矩阵;
槽位语义向量由领域和槽对应的词向量相加而得,记为dsj∈R1×d;通过计算槽位语义向量和对话历史序列中每个词向量的夹角余弦值来评估两者的语义相似度;
对于对话历史序列Seqt中的任一单词的词向量t=[t1,t2,...td],第j个槽位的语义向量
Figure BDA0003630982410000051
则t与dsj的夹角θ的余弦值计算公式如下:
Figure BDA0003630982410000052
按照上述方式,对话历史序列中每个单词都计算得到其与第j个槽位的语义相似度,将其合并到一个词级别语义相似度向量中,记为simj∈R1×len
将词级别语义相似度向量拼与槽位嵌入向量拼接:
Figure BDA0003630982410000053
最后,第t轮第j个槽位的槽门类别的预测结果为:
Figure BDA0003630982410000054
进一步的,在所述步骤S5中,为了应对不同的槽值来源方式,所述解码器模块分为生成式槽值解码器和拷贝式槽值解码器,生成式槽值解码器用来预测可以直接从对话上下文中抽取的槽值,拷贝式槽值解码器则用来预测需要从对话上下文中推理才能得到的槽值。
进一步的,所述生成式槽值解码器的预测方法为:
使用GRU解码器直接从当前轮的对话历史抽取槽位对应的值;首先,对于第k个槽门预测类型为“generate”的槽位,将GRU的初始隐状态定义为
Figure BDA0003630982410000055
初始输入定义为
Figure BDA0003630982410000056
m时刻的隐状态
Figure BDA0003630982410000057
的更新过程如下,首先将当前时刻解码得到的词嵌入
Figure BDA0003630982410000058
作为输入,直到生成代表解码结束的特殊标记[EOS]:
Figure BDA0003630982410000059
第m步解码时,解码器的隐状态会转换成基于词汇的概率分布,计算公式如下:
Figure BDA00036309824100000510
其中,词嵌入矩阵
Figure BDA00036309824100000511
与对话编码器模块的词嵌入矩阵共享,dvocab表示词汇表大小;
同时,解码器的隐状态也会转换成基于对话历史的概率分布,计算公式如下:
Figure BDA0003630982410000061
使用软拷贝机制,最终的分布为两个概率分布的加权和:
Figure BDA0003630982410000062
进一步的,所述拷贝式值解码器的预测方法为:
拷贝式值解码器利用一个映射层来预测要将前一轮对话状态中的哪个槽值拷贝到目标槽位上;对于第k个槽门预测类型为“copy”的槽位,将该槽位在对话编码器中的表示
Figure BDA0003630982410000063
和多关系模式图编码器中的表示
Figure BDA0003630982410000064
作为拷贝式值解码器的输入,计算公式如下:
Figure BDA0003630982410000065
Figure BDA0003630982410000066
其中,
Figure BDA0003630982410000067
是基于所有槽位domain-slot的概率分布;
然后,通过
Figure BDA0003630982410000068
获取被拷贝的槽位的索引;最后,该目标槽位的值通过如下公式拷贝获得:
Figure BDA0003630982410000069
本发明的有益效果是:
本发明的一方面在于考虑了编码复杂度问题,将编码对象缩短为前一轮系统回复和当前轮用户语句,而不是所有的对话历史,能够有效降低系统的编码负担;另一方面综合考虑了槽位关联和语义关联信息,将不同槽位之间的多种关系信息融入到槽位嵌入中,将词级语义相似度信息添加到槽门机制中,不仅提高了槽值预测的精度,还加快了状态跟踪的速度。
附图说明
图1为实施例中提供的一种融合槽位关联和语义关联的任务型对话状态跟踪方法的流程示意图。
图2为实施例中的对话状态跟踪模型结构的示意图;
图3为实施例中多关系图结构的示意图。
图4为实施例中多关系图编码器的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示是一种融合槽位关联和语义关联的任务型对话状态跟踪方法,该方法包括以下步骤:
S1、多领域对话数据集预处理,将对话数据处理成以对话轮为单位的样本,其中,原始特征为前一轮系统回复、当前轮用户语句和前一轮对话状态,样本标签为当前轮对话状态;
具体的说,在本实施例中,使用剑桥大学研究人员人工收集的多领域对话数据集进行数据预处理。原始数据集是以对话为单位收集的,而本实施例中需将数据处理成以轮为单位的样本。每个样本的特征为前一轮系统回复、当前轮用户语句和前一轮对话状态,样本标签为当前轮对话状态。其中,对话状态表示成一个包含所有槽值对的集合。
S2、对S1处理后的样本特征编码,利用预训练语言模型BERT将原始特征编码成数值数据,具体包括以下步骤:
S21、对话语句表示:将第t轮的对话语句表示成连接的对话序列,
Figure BDA0003630982410000071
Figure BDA0003630982410000072
其中Rt-1表示前一轮系统回复,Ut表示当前轮用户语句,[CLS]和[SEP]是用于分割句子的辅助token,
Figure BDA0003630982410000073
表示序列拼接操作,[CLS]的作用是捕获完整的序列嵌入。
S22、前一轮对话状态表示:对话状态是一系列(domain-slot-value)的三元组集合,可以看作是对话历史的压缩化表示。本文将前一轮对话状态表示为
Figure BDA0003630982410000074
其中,每一个S代表(domain-slot-value)形式的子序列,
Figure BDA0003630982410000075
[SLOT]的作用与[CLS]相似,表示(domain-slot-value)三元组的聚合信息嵌入,J代表(domain-slot)的总数。如果第j个槽位在第t轮的值为NULL,则用特殊标记[NULL]作为输入,如果值为DONTCARE,则用短语“don’t care”作为输入。
S23、编码器输入:为了提高编码效率,本文将对话语句与前一轮对话状态拼接为一个单一序列Xt
Figure BDA0003630982410000081
如图3所示,Xt的输入嵌入是词嵌入、分段嵌入和位置嵌入相加后的嵌入向量。其中,词嵌入是输入序列中每个单词的词向量;分段嵌入是输入序列中每个输入段的编码,本文用0代表属于Rt-1的单词,用1代表属于Ut的单词,用2代表属于Bt-1的单词;位置嵌入是输入序列中每个单词的位置编码,该编码方式遵循BERT中的标准形式。如图3所示,是整个编码器输入嵌入的示意图。
S24、编码器输出:编码器的输出表示为Ht,整个输入的序列嵌入表示为
Figure BDA0003630982410000082
每个槽位的嵌入表示为
Figure BDA0003630982410000083
整个输入Xt的聚合序列表示
Figure BDA0003630982410000084
由一个前向神经网络获得,其网络参数为Wpool,计算公式如下:
Figure BDA0003630982410000085
S3、获取领域本体信息,即所有的(领域-槽)信息。将本体信息构建成多关系图结构,利用层级注意力机制融合槽位之间的关系,最终获得每个槽位的嵌入向量,具体包括以下步骤:
S31、多关系模式图构建:基于本体模式,模式图被定义为G=(N,E)。其中,N={(domain,slot)},表示该模式图的结点由(domain-slot)形式的槽位构成,而无向边e∈E表示两个结点之间的关系。值得注意的是,相较于之前研究中定义的单类型连接,本发明提出了四种槽位关系,即该模式图中共存在四种类型的边。如图4所示,是四种关系类型的示意图。本发明根据这三种边类型构建4个邻接矩阵,边的具体描述如下:
1)领域连接:如果
Figure BDA0003630982410000086
例如,(restaurant,area)和(restaurant,food)具备该关系;
2)槽名连接:如果
Figure BDA0003630982410000087
例如,(restaurant,area)和(hotel,area)具备该关系;
3)共享值连接:
Figure BDA0003630982410000088
如果
Figure BDA0003630982410000089
例如,(restaurant,name)和(taxi,destination)具备该关系;
4)隐式连接:两个槽位没有显式的关联,但从语义和常识考虑,两者却有着隐藏的关联。例如,(hotel,star)和(restaurant,price range)之间存在隐式连接,因为用户预定餐厅的价位往往与其预定酒店的星级级别相关。因此,对于该连接类型,定义
Figure BDA0003630982410000091
S32、多关系模式图编码:为了对槽位之间的关系进行建模,本文利用图注意力网络(GAT)对多关系模式图中的结点编码,以此融合槽位关系信息。相较于之前的工作中只计算结点与邻接结点之间的注意力分数,本文提出一种层级图注意力网络(HGAT)。层级图注意力网络中包含L层,每层又分为注意力子层和FFN(Feed Forward Network)子层。其中,注意力子层划分为关系级别注意力机制(relation-level)和结点级别注意力机制(node-level)。关系级别注意力机制计算结点与关系之间的注意力分数,结点级别注意力机制计算结点与结点之间的注意力分数。
如图4所示,是多关系模式图编码的结构图,右侧是注意力子层的详细结构图。
(1)注意力子层
关系级别注意力机制:假设有三个向量,查询向量
Figure BDA0003630982410000092
键向量
Figure BDA0003630982410000093
和值向量
Figure BDA0003630982410000094
其中
Figure BDA0003630982410000095
Figure BDA0003630982410000096
其中,
Figure BDA0003630982410000097
表示第i结点的嵌入向量,
Figure BDA0003630982410000098
Figure BDA0003630982410000099
表示的是第i类关系的嵌入向量。本文采用one-hot编码方式来表示多关系模式图中的四种关系类型,关系嵌入向量的维度与结点向量维度d一致,记为R={r0,r1,r2,r3}。
结点级别注意力机制:假设有三个向量,查询向量
Figure BDA00036309824100000910
键向量
Figure BDA00036309824100000911
和值向量
Figure BDA00036309824100000912
其中
Figure BDA00036309824100000913
Figure BDA00036309824100000914
实际上,这三个向量都表示为所有槽位的嵌入向量,本文中所有槽位的初始嵌入向量为对话编码器模块中的所有
Figure BDA00036309824100000915
Figure BDA00036309824100000916
记为St,d表示编码器的隐向量维度。
(2)FFN子层
FFN子层是前向神经网络,其由两层全连接和ReLu激活函数组成,该层能够使得槽位学习更多非线性信息,并且辅助参数更新。
具体公式如下:
FFN(x)=W2ReLu(W1x+b1)+b2
其中,W1、W2、b1和b2都是可训练参数。
另外,在更新前每一个子层会增添残差连接和LayerNorm,具体公式如下:
CG=LayerNorm(h(l)+h(l+1))
Figure BDA0003630982410000101
在经过L层堆叠后,每个槽位融合了多种槽位关联信息,最终的槽位嵌入表示为
Figure BDA0003630982410000102
S4、计算对话上下文中每个单词与槽位的语义相似度,将语义相似度拼接为一个语义相似向量,该向量与步骤S3中得到的槽位嵌入连接起来作为槽门机制的输入;
具体的说,在本实施例中,槽门机制的作用是判断每一个槽位是否在当前对话中被提及,其实质是一个多分类器。本发明设计的槽门类别有五种,分别是“none”、“dontcare”、“carryover”、“generate”和“copy”。其中,“none”表示用户在当前对话中未提及到该槽位;“dontcare”表示用户表明不在意该槽位的值,即任何值都可以;“carryover”表示该槽位值保持不变;“generate”表示用户在当前对话中明确指定了该槽位的值;“copy”则表示用户在当前对话中以一种隐含的方式指定该槽位的值,比如指代或省略。
更具体的说,本发明将词级别语义相似度作为槽门机制的增强特征。为了充分学习到槽位与对话历史之间的语义,本文将第t轮的对话历史拼接成一个可变长序列Seqt,其最大长度为len。对话历史中每个单词都对应一个词向量t∈R1×d,词向量矩阵对应对话编码器中的词嵌入矩阵,即可以通过该矩阵查询到每个单词的词向量。
槽位语义向量由领域(如hotel)和槽(如area)对应的词向量相加而得,记为dsj∈R1×d。本文通过计算槽位语义向量和对话历史序列中每个词向量的夹角余弦值来评估两者的语义相似度。
对于对话历史序列Seqt中的任一单词的词向量t=[t1,t2,...td],第j个槽位的语义向量
Figure BDA0003630982410000103
则t与dsj的夹角θ的余弦值计算公式如下:
Figure BDA0003630982410000104
按照上述方式,对话历史序列中每个单词都计算得到其与第j个槽位的语义相似度,将其合并到一个词级别语义相似度向量中,记为simj∈R1×len
将词级别语义相似度向量拼与槽位嵌入向量拼接:
Figure BDA0003630982410000111
最后,第t轮第j个槽位的槽门类别的预测结果为:
Figure BDA0003630982410000112
S5、根据步骤S4中槽门机制的输出结果,判断槽位的值来源方式,由值解码器模块预测槽值,其中,生成式值解码器对应槽门机制预测类别为“generate”的槽位,拷贝式值解码器对应槽门机制预测类别为“copy”的槽位。采用逐个槽位预测的方式,最后更新当前轮的对话状态,具体包括以下步骤:
S51、生成式值解码器:本文使用GRU解码器直接从当前轮的对话历史抽取槽位对应的值。首先,对于第k个槽门预测类型为“generate”的槽位,将GRU的初始隐状态定义为
Figure BDA0003630982410000113
初始输入定义为
Figure BDA0003630982410000114
m时刻的隐状态
Figure BDA0003630982410000115
的更新过程如下,首先将当前时刻解码得到的词嵌入
Figure BDA0003630982410000116
作为输入,直到生成代表解码结束的特殊标记[EOS]:
Figure BDA0003630982410000117
第m步解码时,解码器的隐状态会转换成基于词汇的概率分布,计算公式如下:
Figure BDA0003630982410000118
其中,词嵌入矩阵
Figure BDA0003630982410000119
与对话编码器模块的词嵌入矩阵共享,dvocab表示词汇表大小。
同时,解码器的隐状态也会转换成基于对话历史的概率分布,计算公式如下:
Figure BDA00036309824100001110
本发明使用软拷贝机制,最终的分布为两个概率分布的加权和:
Figure BDA00036309824100001111
S52、拷贝式值解码器:对于槽门预测类别为“copy”的目标槽位,其槽值难以直接从对话历史中抽取,这样的情况往往涉及到推理,比如共指或省略问题。因此,需要考虑不同槽位之间的关系,并且从前一轮对话状态中的其他槽位中获取目标槽位的值。
拷贝式值解码器会利用一个映射层来预测要将前一轮对话状态中的哪个槽值拷贝到目标槽位上。对于第k个槽门预测类型为“copy”的槽位,将该槽位在对话编码器中的表示
Figure BDA0003630982410000121
和多关系模式图编码器中的表示
Figure BDA0003630982410000122
作为拷贝式值解码器的输入,计算公式如下:
Figure BDA0003630982410000123
Figure BDA0003630982410000124
其中,
Figure BDA0003630982410000125
是基于所有槽位(domain-slot)的概率分布。
然后,通过
Figure BDA0003630982410000126
获取被拷贝的槽位的索引。最后,该目标槽位的值通过如下公式拷贝获得:
Figure BDA0003630982410000127
本发明具有以下优点:一方面,通过以前一轮系统语句、当前用户语句和前一轮对话状态作为编码器的输入,降低了计算复杂度和内存消耗;另一方面通过构建多关系模式图以及将词级语义相似度融入到模槽门机制,充分融合了槽位关系和语义关系,提高了模型精度。
本发明未详述之处,均为本领域技术人员的公知技术。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (10)

1.一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,该方法包括以下步骤:
步骤S1、多领域对话数据集预处理,将对话数据处理成以对话轮为单位的样本,其中,原始特征为前一轮系统回复、当前轮用户语句和前一轮对话状态,样本标签为当前轮对话状态;
步骤S2、对步骤S1处理后的样本特征编码,利用预训练语言模型BERT将原始特征编码成数值数据;
步骤S3、获取领域本体信息,即所有的领域-槽信息;将本体信息构建成多关系图结构,利用层级注意力机制融合槽位之间的关系,最终获得每个槽位的嵌入向量;
步骤S4、计算对话上下文中每个单词与槽位的语义相似度,将语义相似度拼接为一个语义相似向量,该向量与步骤S3中得到的槽位嵌入向量连接起来作为槽门机制的输入;
步骤S5、根据步骤S4中槽门机制的输出结果,判断槽位的值来源方式,由值解码器模块预测槽值,采用逐个槽位预测的方式,最后更新当前轮的对话状态。
2.根据权利要求1所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,所述步骤S2具体包括以下步骤:
S21、对话语句表示:将第t轮的对话语句表示成连接的对话序列,
Figure FDA0003630982400000011
Figure FDA0003630982400000012
其中Rt-1表示前一轮系统回复,Ut表示当前轮用户语句,[CLS]和[SEP]是用于分割句子的辅助token,
Figure FDA0003630982400000013
表示序列拼接操作,[CLS]的作用是捕获完整的序列嵌入;
S22、前一轮对话状态表示:对话状态是一系列的三元组集合,看作是对话历史的压缩化表示;将前一轮对话状态表示为
Figure FDA0003630982400000014
其中,每一个S代表domain-slot-value形式的子序列,
Figure FDA0003630982400000015
[SLOT]表示domain-slot-value三元组的聚合信息嵌入,J代表domain-slot的总数;
如果第j个槽位在第t轮的值为NULL,则用特殊标记[NULL]作为输入,如果值为DONTCARE,则用短语“don’t care”作为输入;
S23、编码器输入:为了提高编码效率,将对话语句与前一轮对话状态拼接为一个单一序列Xt
Figure FDA0003630982400000016
其中,Xt的输入嵌入是词嵌入、分段嵌入和位置嵌入相加后的嵌入向量;
其中,词嵌入是输入序列中每个单词的词向量;分段嵌入是输入序列中每个输入段的编码,用0代表属于Rt-1的单词,用1代表属于Ut的单词,用2代表属于Bt-1的单词;位置嵌入是输入序列中每个单词的位置编码,该编码方式遵循BERT中的标准形式;
S24、编码器输出:编码器的输出表示为Ht,整个输入的序列嵌入表示为
Figure FDA0003630982400000021
每个槽位的嵌入表示为
Figure FDA0003630982400000022
整个输入Xt的聚合序列表示
Figure FDA0003630982400000023
由一个前向神经网络获得,其网络参数为Wpool,计算公式如下:
Figure FDA0003630982400000024
3.根据权利要求1所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,在所述步骤S3中,所述槽位之间的关系的类型包括:领域连接、槽名连接、共享值连接和隐式连接。
4.根据权利要求3所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,所述步骤S3具体包括:
S31、多关系模式图构建:基于本体模式,模式图被定义为G=(N,E);其中,N={(domain,slot)},表示该模式图的结点由domain-slot形式的槽位构成,而无向边e∈E表示两个结点之间的关系;
S32、多关系模式图编码:为了对槽位之间的关系进行建模,利用层级图注意力网络对多关系模式图中的结点编码,以此融合不同槽位之间的多种关系信息,获取最终的槽位嵌入。
5.根据权利要求4所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,在所述步骤S32中,所述层级图注意力网络中包含L层,每层又分为注意力子层和FFN子层;注意力子层划分为关系级别注意力机制和结点级别注意力机制;
在更新前每一个子层会增添残差连接和LayerNorm,具体公式如下:
CG=LayerNorm(h(l)+h(l+1))
Figure FDA0003630982400000025
在经过L层堆叠后,每个槽位融合了多种槽位关联信息,最终的槽位嵌入表示为
Figure FDA0003630982400000026
6.根据权利要求1所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,在所述步骤S4中,将槽位与词级对话上下文之间的词级相似度作为槽门机制的增强特征;然后与步骤S3得到的槽位嵌入拼接,作为槽门机制的输入;最后,输出该槽位对应的槽门类别。
7.根据权利要求1所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,所述步骤S4中,
将第t轮的对话历史拼接成一个可变长序列Seqt,其最大长度为len;对话历史中每个单词都对应一个词向量t∈R1×d,词向量矩阵对应对话编码器中的词嵌入矩阵;
槽位语义向量由领域和槽对应的词向量相加而得,记为dsj∈R1×d;通过计算槽位语义向量和对话历史序列中每个词向量的夹角余弦值来评估两者的语义相似度;
对于对话历史序列Seqt中的任一单词的词向量t=[t1,t2,...td],第j个槽位的语义向量
Figure FDA0003630982400000031
则t与dsj的夹角θ的余弦值计算公式如下:
Figure FDA0003630982400000032
按照上述方式,对话历史序列中每个单词都计算得到其与第j个槽位的语义相似度,将其合并到一个词级别语义相似度向量中,记为simj∈R1×len
将词级别语义相似度向量拼与槽位嵌入向量拼接:
Figure FDA0003630982400000033
最后,第t轮第j个槽位的槽门类别的预测结果为:
Figure FDA0003630982400000034
8.根据权利要求1所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,在所述步骤S5中,为了应对不同的槽值来源方式,所述解码器模块分为生成式槽值解码器和拷贝式槽值解码器,生成式槽值解码器用来预测可以直接从对话上下文中抽取的槽值,拷贝式槽值解码器则用来预测需要从对话上下文中推理才能得到的槽值。
9.根据权利要求8所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,所述生成式槽值解码器的预测方法为:
使用GRU解码器直接从当前轮的对话历史抽取槽位对应的值;首先,对于第k个槽门预测类型为“generate”的槽位,将GRU的初始隐状态定义为
Figure FDA0003630982400000035
初始输入定义为
Figure FDA0003630982400000041
m时刻的隐状态
Figure FDA0003630982400000042
的更新过程如下,首先将当前时刻解码得到的词嵌入
Figure FDA0003630982400000043
作为输入,直到生成代表解码结束的特殊标记[EOS]:
Figure FDA0003630982400000044
第m步解码时,解码器的隐状态会转换成基于词汇的概率分布,计算公式如下:
Figure FDA0003630982400000045
其中,词嵌入矩阵
Figure FDA0003630982400000046
与对话编码器模块的词嵌入矩阵共享,dvocab表示词汇表大小;
同时,解码器的隐状态也会转换成基于对话历史的概率分布,计算公式如下:
Figure FDA0003630982400000047
使用软拷贝机制,最终的分布为两个概率分布的加权和:
Figure FDA0003630982400000048
10.根据权利要求8所述的一种融合槽位关联和语义关联的任务型对话状态跟踪方法,其特征在于,所述拷贝式值解码器的预测方法为:
拷贝式值解码器利用一个映射层来预测要将前一轮对话状态中的哪个槽值拷贝到目标槽位上;对于第k个槽门预测类型为“copy”的槽位,将该槽位在对话编码器中的表示
Figure FDA0003630982400000049
和多关系模式图编码器中的表示
Figure FDA00036309824000000410
作为拷贝式值解码器的输入,计算公式如下:
Figure FDA00036309824000000411
Figure FDA00036309824000000412
其中,
Figure FDA00036309824000000413
是基于所有槽位domain-slot的概率分布;
然后,通过
Figure FDA00036309824000000414
获取被拷贝的槽位的索引;最后,该目标槽位的值通过如下公式拷贝获得:
Figure FDA00036309824000000415
CN202210491157.3A 2022-05-07 2022-05-07 一种融合槽位关联和语义关联的任务型对话状态跟踪方法 Pending CN114860908A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210491157.3A CN114860908A (zh) 2022-05-07 2022-05-07 一种融合槽位关联和语义关联的任务型对话状态跟踪方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210491157.3A CN114860908A (zh) 2022-05-07 2022-05-07 一种融合槽位关联和语义关联的任务型对话状态跟踪方法

Publications (1)

Publication Number Publication Date
CN114860908A true CN114860908A (zh) 2022-08-05

Family

ID=82634864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210491157.3A Pending CN114860908A (zh) 2022-05-07 2022-05-07 一种融合槽位关联和语义关联的任务型对话状态跟踪方法

Country Status (1)

Country Link
CN (1) CN114860908A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116227629A (zh) * 2023-05-10 2023-06-06 荣耀终端有限公司 一种信息解析方法、模型训练方法、装置及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116227629A (zh) * 2023-05-10 2023-06-06 荣耀终端有限公司 一种信息解析方法、模型训练方法、装置及电子设备
CN116227629B (zh) * 2023-05-10 2023-10-20 荣耀终端有限公司 一种信息解析方法、模型训练方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN108984724B (zh) 利用高维表示提高特定属性情感分类准确率方法
CN113158665B (zh) 一种基于文本摘要生成与双向语料改善对话文本生成的方法
CN111046132A (zh) 一种检索多轮对话的客服问答处理方法及其系统
CN114168749A (zh) 一种基于知识图谱和疑问词驱动的问题生成系统
CN114330354B (zh) 一种基于词汇增强的事件抽取方法、装置及存储介质
Chen et al. Joint entity and relation extraction for legal documents with legal feature enhancement
CN109597876A (zh) 一种基于强化学习的多轮对话答复选择模型及其方法
WO2024032096A1 (zh) 反应物分子的预测方法、训练方法、装置以及电子设备
CN114443827A (zh) 基于预训练语言模型的局部信息感知对话方法及系统
CN111522925A (zh) 对话状态生成方法和装置
CN114548099B (zh) 基于多任务框架的方面词和方面类别联合抽取和检测方法
CN113626589A (zh) 一种基于混合注意力机制的多标签文本分类方法
CN113297364A (zh) 一种面向对话系统中的自然语言理解方法及装置
WO2023231513A1 (zh) 对话内容的生成方法及装置、存储介质、终端
CN115495552A (zh) 基于双通道语义增强的多轮对话回复生成方法及终端设备
Iosifova et al. Techniques comparison for natural language processing
CN115796182A (zh) 一种基于实体级跨模态交互的多模态命名实体识别方法
CN117574904A (zh) 基于对比学习和多模态语义交互的命名实体识别方法
CN114860908A (zh) 一种融合槽位关联和语义关联的任务型对话状态跟踪方法
CN116955579B (zh) 一种基于关键词知识检索的聊天回复生成方法和装置
CN113868451A (zh) 基于上下文级联感知的社交网络跨模态对话方法及装置
CN113297374A (zh) 一种基于bert和字词特征融合的文本分类方法
CN114372454A (zh) 文本信息抽取方法、模型训练方法、装置及存储介质
CN112434512A (zh) 一种结合上下文语境的新词确定方法及装置
CN116910190A (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