一种知识图谱增强的意图识别与槽填充方法

未命名 09-08 阅读:107 评论:0


1.本技术属于任务型对话技术领域,具体涉及一种知识图谱增强的意图识别与槽填充方法。


背景技术:

2.随着人工智能技术的不断发展和应用场景的不断扩展,任务型对话系统在解决人们生活和工作中问题方面也变得越来越重要,因此系统的准确性和速度变得越来越关键。任务型对话系统是一种人机对话系统,与基于检索的问答系统不同,任务型对话系统不仅可以回答用户提出的问题,还可以引导用户进行更深入的交互,并根据用户的反馈和行为进行后续的操作和回复。
3.对话系统通常采用以下对话系统框架:从语音输入(si)开始,该系统接收用户的语音输入并将其转化为文本。接下来,自然语言理解(nlu)的任务是分析用户的输入,识别其意图和提取关键信息。在对话管理(dm)中,系统根据用户的意图和对话历史,决定下一步该采取什么行动以及如何回答用户的问题。知识库(kb)存储系统所需的知识和信息,以便在回答用户问题时使用。然后,自然语言生成(nlg)根据系统的决策和知识库中的信息,以自然语言形式生成系统的回答并呈现给用户。最后,语音输出(so)将系统生成的文本转化为语音输出,并向用户呈现。
4.在任务型对话系统中,nlu是核心组成部分之一,主要包括意图识别和槽填充两大任务。意图识别识别用户发出的自然语言文本中所包含的意图,槽填充从用户输入的自然语言文本中提取关键信息,并将其填充到系统预定义的槽位中。如话语“find fish story”中,意图为“search screening event”,话语中每个单词对应的槽标签为“o b-movie_name i-movie_name”,在槽填充任务中常用类似如上的bio标记法来表示槽标签,其中“b”表示标签的开始,“i”表示标签的延续,“o”表示当前单词不是标签。
5.已有专利:申请号为201910491104.x的专利所公开的技术方案,一种基于深度学习的领域、意图识别和槽填充方法。该方法使用前馈神经网络(ffn)和双向门循环网络(bigru)来获得目标语句和历史语句的表示向量。同时,它通过一个槽门(slot-gated)机制将历史语句的意图和槽值信息融入当前目标语句的向量表示中。然后,它使用双向门循环网络和双向长短期记忆网络(bilstm)对表示向量进行分类,以获得最终的意图和槽值。但是,该方法缺乏足够的知识来判断实体,从而导致槽填充失败,效率低下,无法满足需要在精度和速度方面都有较高要求的意图识别和槽填充任务的场景。


技术实现要素:

6.本技术的目的是提供一种知识图谱增强的意图识别与槽填充方法,以大幅提升自然语言理解的精度和速度。
7.为了实现上述目的,本技术技术方案如下:
8.一种知识图谱增强的意图识别与槽填充方法,包括:
9.经过知识图谱查询得到用户输入语句中实体对应的知识,生成句子树,根据句子树的结构生成嵌入矩阵和掩码矩阵;
10.将嵌入矩阵和掩码矩阵一起输入到编码器中进行编码,得到意图语义表示向量和槽语义表示向量;
11.对意图语义表示向量和槽语义表示向量进行分类解码,获得最后输出的意图标签和槽标签。
12.进一步的,所述经过知识图谱查询得到用户输入语句中实体对应的知识,生成句子树,包括:
13.对用户输入语句进行分词处理,然后识别用户输入语句中的实体,并获取实体对应的知识;
14.将知识插入用户输入语句中对应实体位置的后面,生成句子树。
15.进一步的,所述嵌入矩阵包括词向量、位置向量和段向量,所述词向量包括句子树中每个字词在字典中的索引,所述位置向量包括句子树中每个字词的位置索引,所述段向量包括句子树对应的段索引。
16.进一步的,所述句子树中知识的位置索引,是知识对应实体的位置索引与知识在知识序列中位置索引的加和。
17.进一步的,所述掩码矩阵用于表示句子树中字词间是否是实体与实体对应的知识关系。
18.本技术提出的一种知识图谱增强的意图识别与槽填充方法,具有如下
19.有益效果:
20.1.利用知识图谱来增强预训练语言模型,解决了槽填充过程中由于模型缺乏实体知识而导致的槽填充失败的问题。
21.2.通过句子树产生掩码矩阵,以便在输入bert进行自注意力计算时,仅有实体可以对其相关的知识进行注意力计算,从而减少无关知识对句子整体语义的影响,在提高系统预测的精确度上有着重要意义。
附图说明
22.图1为一种知识图谱增强的意图识别与槽填充方法流程图。
具体实施方式
23.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
24.在分析现有技术方案一些错误样本时发现,错误的主要原因是模型缺乏足够的知识来判断实体。如话语“find on dress parade”,模型预测的槽标签为“o b-object_name i-object_name i-object_name”,而实际的槽标签为“o b-movie_name i-movie_name i-movie_name”。造成这一现象的主要原因是模型缺乏足够的知识,无法将“on dress parade”识别为一部电影,从而导致槽填充失败。为了提高槽填充的准确性,需要借助外部知识来辅助模型进行槽填充。
25.在一个实施例中,如图1所示,提出了一种知识图谱增强的意图识别与槽填充方法,包括:
26.步骤s1、经过知识图谱查询得到用户输入语句中实体对应的知识,生成句子树,根据句子树的结构生成嵌入矩阵和掩码矩阵。
27.本步骤对用户输入语句进行处理,以生成句子树,并根据句子树的结构生成嵌入矩阵和掩码矩阵。
28.具体的,经过知识图谱查询得到用户输入语句中实体对应的知识,生成句子树,包括:
29.对用户输入语句进行分词处理,然后识别用户输入语句中的实体,并获取实体对应的知识;
30.将知识插入用户输入语句中对应实体位置的后面,生成句子树。
31.具体的,对于用户输入语句,插入一个特殊表示符([cls])在用户输入语句的开头,插入一个特殊表示符([sep])在用户输入语句的结尾。然后对用户输入语句进行分词,经分词后用户输入语句x可表示为:
[0032]
x=(x0,x1,

,x
t
)
[0033]
其中xi,i∈0

t表示经过分词后的单词。
[0034]
将分词后用户输入语句x输入到dbpeida知识图谱中,dbpedia会识别语句x可能存在的实体,并返回实体对应的知识,语句x的知识w可表示为:
[0035]
w=(w1,w2,

,wn)
[0036]
其中wi,i∈0

n表示dbpedia返回的知识标签。
[0037]
将知识w插入语句x中对应的实体位置的后面,从而生成句子树s,句子树s可表示为:
[0038]
s=(x0,x1,

,xi(w1,w2,

,wn),

,x
t
)。
[0039]
本实施例根据句子树的结构生成用户输入语句对应的嵌入矩阵,嵌入矩阵包括词向量、位置向量和段向量,所述词向量包括句子树中每个字词在字典中的索引,所述位置向量包括句子树中每个字词的位置索引,所述段向量包括句子树对应的段索引。
[0040]
具体的,是将句子树中的每个字词(token)在字典中的索引映射到对应的词向量e
word
中,将句子树中的每个字词的位置索引映射到一个位置向量e
pos
中。将段索引映射到一个段向量e
seg
中。
[0041]
其中,每个字词的位置索引即该字词在句子树种的自然顺序编码,由于知识的插入破坏了句子的语法结构,对于知识的位置索引,是知识对应实体的位置索引与知识在知识序列中位置索引的加和。
[0042]
例如,xi的位置索引为x
posi
,w1的位置索引为x
posi
+1,w2的位置索引为x
posi
+2,依此类推。
[0043]
由于单句意图识别和槽填充任务中不存在上下文关系,因此句子树中的每个字词(token)对应的段向量都相同,例如都为1。
[0044]
三种嵌入加和组成嵌入矩阵e,嵌入矩阵e可以表示为:
[0045]
e=e
word
+e
pos
+e
seg

[0046]
本实施例根据句子树的结构生成用户输入语句对应的掩码矩阵,掩码矩阵可以表
示为m,所述掩码矩阵用于表示句子树中字词间是否是实体与实体对应的知识关系。掩码矩阵m中的元素m
ij
可以表示为:
[0047][0048]
其中,表示字词xi和xj是实体与其对应的知识,在这种情况下,掩码矩阵该位置m
ij
置0,其中表示xi和xj不是实体与其对应的知识的关系,在这种情况下,掩码矩阵该位置m
ij
为负无穷大,实际中使用-1000数字。
[0049]
步骤s2、将嵌入矩阵和掩码矩阵一起输入到编码器中进行编码,得到意图语义表示向量和槽语义表示向量。
[0050]
本实施例编码器采用bert(bidirectional encoder representations from transformers)网络模型,bert由多个transformer编码层,每个transformer编码层由若干个self-attention子层和feedforward网络子层组成。具体来说,bert网络模型有12个transformer编码层,每个层都包含一个self-attention子层和一个feedforward网络子层,这里不再赘述。将嵌入矩阵和掩码矩阵一起输入到bert中进行编码,bert中的自注意力机制会对知识进行筛选,给予相关度的知识更大的权重,以避免无关知识对句子的语义产生影响。
[0051]
具体的,将嵌入矩阵e输入bert的第一个transformer编码层,同时掩码矩阵m用于transformer编码层的多头注意力机制中,形成掩码多头注意力机制。后一个transformer编码层的输入是前一个transformer编码层。在一个transformer编码层中,具体操作步骤如下:
[0052]
步骤f1:将hi表示第i层transformer编码层的输入向量,对于第1层transformer编码层而言h1=e。
[0053]
步骤f2:将hi经过h次线性映射获取q、k和v矩阵。
[0054][0055]
其中w
iq
、w
ik
和w
iv
是线性映射器中可训练的参数,i∈1

h。
[0056]
步骤f3:将获得的q、k和v矩阵与掩码矩阵m相加并平行地进行缩放点乘注意力操作,获得自注意力头hi:
[0057][0058]
步骤f4:将获得的h个自注意力头进行拼接,并经过一个线性映射,获得经过多头自注意力模块语义增强的语义向量hm:
[0059]hm
=concat(h1,h2,

,hh)wo;
[0060]
其中wo是线性映射器中可训练的参数。
[0061]
步骤f5:将语义向量hm与嵌入矩阵e相加,并进行层归一化(layer normalization)操作:
[0062]
h=layernorm(hm+e);
[0063]
其中语义向量h=(hi,hs)为bert的输出,hi为意图语义表示向量,hs为槽语义表示向量。
[0064]
步骤s3、对意图语义表示向量和槽语义表示向量进行分类解码,获得最后输出的意图标签和槽标签。
[0065]
具体的,意图语义表示向量hi,经过一个全连接神经网络和sigmoid函数,输出意图标签yi:
[0066]
yi=sigmoid(w
ihi
+bi);
[0067]
其中wi和bi为全连接神经网络中可训练的权重参数和偏置参数。
[0068]
槽语义表示向量hs,经过一个全连接神经网络和softmax函数,输出槽标签
[0069][0070]
其中,为hs的第i个元素,i∈t,ws和bs为全连接神经网络中可训练的权重参数和偏置参数。
[0071]
与传统的意图识别和槽填充方法相比,本技术知识图谱增强的方法能够更好地利用知识图谱中的信息,从而提高模型的准确性和效率。如当用户输入语句“find on dress parade”时,通过调用dbpedia知识图谱,会将实体on dress parade与其知识movie绑定在一起,此时预测槽标签为“ob-movie_name i-movie_name i-movie_name”的可能性将大幅度提升。实验证明此系统极大的提升了意图识别和槽填充任务的准确性,可以满足高精度任务型对话系统的需求。
[0072]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。

技术特征:
1.一种知识图谱增强的意图识别与槽填充方法,其特征在于,所述知识图谱增强的意图识别与槽填充方法,包括:经过知识图谱查询得到用户输入语句中实体对应的知识,生成句子树,根据句子树的结构生成嵌入矩阵和掩码矩阵;将嵌入矩阵和掩码矩阵一起输入到编码器中进行编码,得到意图语义表示向量和槽语义表示向量;对意图语义表示向量和槽语义表示向量进行分类解码,获得最后输出的意图标签和槽标签。2.根据权利要求1所述的知识图谱增强的意图识别与槽填充方法,其特征在于,所述经过知识图谱查询得到用户输入语句中实体对应的知识,生成句子树,包括:对用户输入语句进行分词处理,然后识别用户输入语句中的实体,并获取实体对应的知识;将知识插入用户输入语句中对应实体位置的后面,生成句子树。3.根据权利要求2所述的知识图谱增强的意图识别与槽填充方法,其特征在于,所述嵌入矩阵包括词向量、位置向量和段向量,所述词向量包括句子树中每个字词在字典中的索引,所述位置向量包括句子树中每个字词的位置索引,所述段向量包括句子树对应的段索引。4.根据权利要求3所述的知识图谱增强的意图识别与槽填充方法,其特征在于,所述句子树中知识的位置索引,是知识对应实体的位置索引与知识在知识序列中位置索引的加和。5.根据权利要求1所述的知识图谱增强的意图识别与槽填充方法,其特征在于,所述掩码矩阵用于表示句子树中字词间是否是实体与实体对应的知识关系。

技术总结
本发明公开了一种知识图谱增强的意图识别与槽填充方法,经过知识图谱查询得到用户输入语句中实体对应的知识,生成句子树,根据句子树的结构生成嵌入矩阵和掩码矩阵;将嵌入矩阵和掩码矩阵一起输入到编码器中进行编码,得到意图语义表示向量和槽语义表示向量;最后对意图语义表示向量和槽语义表示向量进行分类解码,获得最后输出的意图标签和槽标签。本发明利用知识图谱来增强预训练语言模型,通过句子树产生掩码矩阵,以便在输入BERT进行自注意力计算时,仅有实体可以对其相关的知识进行注意力计算,从而减少无关知识对句子整体语义的影响,在提高系统预测的精确度上有着重要意义。义。义。


技术研发人员:黄亮 项嘉豪 池凯凯 张书彬 魏欣晨
受保护的技术使用者:浙江工业大学
技术研发日:2023.04.21
技术公布日:2023/9/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐