CN113609301A - 一种基于知识图谱的对话方法、介质及系统 - Google Patents

一种基于知识图谱的对话方法、介质及系统 Download PDF

Info

Publication number
CN113609301A
CN113609301A CN202110756285.1A CN202110756285A CN113609301A CN 113609301 A CN113609301 A CN 113609301A CN 202110756285 A CN202110756285 A CN 202110756285A CN 113609301 A CN113609301 A CN 113609301A
Authority
CN
China
Prior art keywords
knowledge
attention
layer
vector
head
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
CN202110756285.1A
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202110756285.1A priority Critical patent/CN113609301A/zh
Publication of CN113609301A publication Critical patent/CN113609301A/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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种基于知识图谱的对话方法、介质及系统,其中方法包括以下步骤:S1、编码器程序模块对所有对话历史进行拼接获得输入序列,对所述输入序列进行嵌入,获得所述对话历史的向量表示;S2、知识图谱嵌入程序模块对若干知识条目进行嵌入,获得所述若干知识条目的向量表示;S3、多头注意力机制程序模块针对所述对话历史的向量表示对于每个所述知识条目的向量表示计算注意力分数;S4、多头注意力机制程序模块利用所述注意力分数综合所述知识条目获得所述知识条目的上下文向量;S5、解码器程序模块将输入的所述知识条目的上下文向量以及所述对话历史的向量表示进行解码,获得机器回复。有益效果是能够增加对话深度、提升目标知识选择能力。

Description

一种基于知识图谱的对话方法、介质及系统
【技术领域】
本发明涉及自然语言处理技术领域,具体涉及一种基于知识图谱的对话方法、介质及系统。
【背景技术】
对话系统(dialog system)能够以自然语言与人类进行会话的软件系统。对话系统是机器利用自然语言与人交互的一种技术,它能够进行问答从而提供信息、通过解读指令来完成任务、通过闲聊了实现娱乐功能;一个优秀的对话系统能够极大地便利用户,提升用户体验;目前的对话系统已经能够实现简单的浅层对话,完成一些简单的预设的任务。但是目前的对话系统很难实现一些深度的,针对特定领域的对话,因为要针对某一领域的提供特定信息或者完成特定的任务往往依赖于一定的背景知识。例如,当用户说“你喜欢周杰伦的哪一首歌?”,倘若机器要恰当的回答这个问题,必须具备周杰伦歌曲的一些知识。所以要实现一个可以深度对话的有“智慧”的对话系统,我们必须在对话系统中加入对特定领域背景知识的表示和理解。目前该方法面临的挑战有背景知识选择难、训练监督难。图1是普通的不包含知识图谱嵌入的对话系统结构示意图。如附图1所示,普通的不包含知识图谱嵌入的对话系统,机器只基于对话历史基于编码器-解码器结构生成机器回复,这种方法缺乏知识的嵌入会导致对话缺乏深度。
Transformer是一种基于encoder-decoder结构的、自注意力机制的翻译模型,Transformer在众多自然语言处理问题中取得了非常好的效果,只用encoder-decoder和attention(自注意力)机制就能达到很好的效果,它不但训练速度更快,而且更适合建模长距离依赖关系,因此大有取代循环或卷积神经网络,一统自然语言处理的深度模型江湖之势。Transformer翻译模型一般包括1、Encoder(编码器)部分,主要由self-attention(自注意力)组件和前馈神经网络组成;2、Decoder(译码器)部分,比Encoder多了一个maskedMulti-head Self-Attention,作用是隐藏未来信息,仅仅关注已经生成的序列信息。双向序列编码模型也叫序列到序列模型,简称seq2seq模型,Sequence-to-Sequence是一种由双向RNN组成的encoder-decoder神经网络结构,从而满足输入输出序列长度不相同的情况,实现一个序列到另一个序列之间的转换。自回归一般指自回归模,自回归模型(英语:Autoregressive model,简称AR模型),是统计上一种处理时间序列的方法,用同一变数例如x的之前各期,亦即x1至xt-1来预测本期xt的表现,并假设它们为一线性关系。因为这是从回归分析中的线性回归发展而来,只是不用x预测y,而是用x预测x(自己);所以叫做自回归。
知识图谱(Knowledge Graph),在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系;知识图谱的构建主要涉及到知识建模、知识抽取、知识融合、知识存储、知识计算以及知识应用。知识图谱嵌入技术(knowledge graph embedding),知识图谱嵌入的方法主要分为两类,平移距离模型和语义匹配模型。
注意力机制(Attention Mechanism),在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息,注意力机制主要有两个方面:决定需要关注输入的哪部分;分配有限的信息处理资源给重要的部分;神经注意力机制可以使得神经网络具备专注于其输入(或特征)子集的能力,选择特定的输入。假定输入为Q(Query),Memory中以键值对(K,V)形式存储上下文,那么注意力机制其实是Query到一系列键值对(Key,Value)上的映射函数。Self Attention(自注意力机制)在KQV模型中的特殊点在于Q=K=V,这也是为什么取名self attention,因为其是文本和文本自己求相似度再和文本本身相乘计算得来。多头注意力机制(Multi-head Attention),Query,Key,Value首先经过一个线性变换,然后输入到放缩点积Attention,注意这里要做h次,其实也就是所谓的多头,每一次算一个头,而且每次Q,K,V进行线性变换的参数W是不一样的,然后将h次的放缩点积Attention结果进行拼接,再进行一次线性变换得到的值作为多头Attention的结果。
申请号:CN202011289619.0,申请人:中山大学,发明名称《一种应用异构图神经网络的医疗咨询对话系统及方法》,该系统包括:对话历史编码模块,通过神经网络模型对对话历史进行分层编码,得到每个语句和整个对话历史的特征向量表示;医学实体预测模块,根据医疗知识图谱和对话历史,构建异构图,使用图注意力网络将当前信息传播至异构图上相关的实体节点,进而预测下一轮对话中可能会询问的症状或疾病实体;图引导对话生成模块,根据对话的当前状态和异构图推理结果,更精准有效并包含专业术语的回复。申请号:CN202010579565.5,申请人:宁波富万信息科技有限公司,发明名称《用于对话系统的基于人工智能的知识图谱生成方法、电子设备》,该方法包括:获取输入文本;基于输入文本,确定实体特征集合;基于输入文本,生成语义关系集合;基于实体集合和语义关系集合,确定知识图谱;存储并输出所述知识图谱;能够更好的表征对话系统中的问答信息。
本发明利用知识图谱嵌入技术、注意力机制和Transformer网络,对对话系统及其方法进行了改进。
【发明内容】
本发明的目的是,提出一种能够增加对话深度、提升目标知识选择能力的对话方法。
为实现上述目的,本发明采取的技术方案是一种基于知识图谱的对话方法,包括以下步骤:
S1、编码器程序模块对所有对话历史进行拼接获得输入序列,对所述输入序列进行嵌入,获得所述对话历史的向量表示;
S2、知识图谱嵌入程序模块对若干知识条目进行嵌入,获得所述若干知识条目的向量表示;
S3、多头注意力机制程序模块针对所述对话历史的向量表示对于每个所述知识条目的向量表示计算注意力分数;
S4、多头注意力机制程序模块利用所述注意力分数综合所述知识条目获得所述知识条目的上下文向量;
S5、解码器程序模块将输入的所述知识条目的上下文向量以及所述对话历史的向量表示进行解码,获得机器回复。
优选地,上述的一种基于知识图谱的对话方法,所述编码器程序模块或者知识图谱嵌入程序模块是采用双向序列编码的基于Transformer网络的编码器程序模块或者知识图谱嵌入程序模块,所述Transformer网络由嵌入层、位置编码层、若干交替的注意力层和线性前向层组成;所述Transformer网络的注意力层和线性前向层均可以看到双向的内容;所述步骤S1或者S2具体包括以下步骤:
S11、将对话历史X或者知识条目链接成一个文字序列[w1,w2,…,wl],序列长度为l,输入所述Transformer网络;所述Transformer网络嵌入层对文字序列[w1,w2,…,wl]进行嵌入获得文字向量[e1,e2,…,el];
S12、所述Transformer网络位置编码层对所述文字向量[e1,e2,…,el]进行位置嵌入得到隐向量
Figure BDA0003147645720000054
其中
Figure BDA0003147645720000053
是与所述文字向量[e1,e2,…,el]维度相同的位置向量,使用随机初始化,在所述Transformer网络训练中进行学习;
S13、所述隐向量h(0)依次经过所述若干交替的注意力层和线性前向层获得对话历史的向量表示或者知识条目的向量表示,具体的:
S131、所述注意力层计算多头自注意力:MultiHeadAtt(h(i))=Concat(head1,…,headh)Wc,其中head1表示所述多头注意力的一个头head1=Att(h(i-1)),其中Att表示普通点乘自注意,i表示第i个注意力层;
S132、所述注意力层与前注意力层输出使用残差方式进行层归一化:h(i)=Norm(MultiHeadAtt(h(i-1))+h(i-1)),其中h(i)表示第i个交替的注意力层和线性前向层的所有隐向量,MultiHeadAtt表示注意力层,Norm表示层归一化操作;
S133、所述线性前向层与前线性前向层输出使用残差方式进行层归一化:h(i)=Norm(FFN(h(i-1))+h(i-1)),其中FFN表示线形前向层。
优选地,上述的一种基于知识图谱的对话方法,所述步骤S3具体为:所述对话历史的向量表示经过一个线性层作为询问Q,所述知识条目的向量表示经过一个线性层作为键K和值V,计算所述注意力分数:
Figure BDA0003147645720000051
其中
Figure BDA0003147645720000052
为Q,K,V的向量维度。
优选地,上述的一种基于知识图谱的对话方法,所述步骤S4具体为:所述知识条目的上下文向量由所述注意力分数对所述知识条目的向量表示的线形加权获得;利用所述注意力分数对值V进行加权获得上下文向量,headi=Scores(Q,K,V)V;使用多套参数计算上下文向量获得多个所述上下文向量[head1,…,headh];进行所述上下文向量拼接,构成最终的所述知识条目的上下文向量kc=Concat(head1,…,headh)。
优选地,上述的一种基于知识图谱的对话方法,所述步骤S5中:解码器程序模块对所述上下文向量以及所述对话历史的向量表示的融合方式为向量拼接。
优选地,上述的一种基于知识图谱的对话方法,所述步骤S5中:解码器程序模块是采用自回归的Transformer网络的解码器程序模块,所述自回归的Transformer网络包括注意力层;所述自回归的Transformer网络使用注意力掩码使得所述注意力层的每个单元只能看到单元左边的内容。
本发明的又一目的是,提出一种能够增加对话深度、提升目标知识选择能力的对话方法的计算机可读程序介质。
为实现上述又一目的,本发明采取的技术方案是一种计算机可读程序介质,其上存储有计算机程序,该程序被处理器执行时实现上述的一种基于知识图谱的对话方法的步骤。
本发明的再一目的是,提出一种能够增加对话深度、提升目标知识选择能力的对话系统。
为实现上述再一目的,本发明采取的技术方案是一种基于知识图谱的对话系统,包括存储器,处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的一种基于知识图谱的对话方法的步骤。
本发明有如下有益效果:1、在对话系统中嵌入了知识图谱的知识,为对话机器人的对话提供了背景知识的支持,能够增加对话的深度;2、在知识条目的选择中使用了多头自注意机制,多头可以提取不同的特征,提升了对话系统对于目标知识的选择能力。
【附图说明】
图1是普通的不包含知识图谱嵌入的对话系统结构示意图。
图2是一种基于知识图谱的对话方法步骤图。
图3是一种基于知识图谱的对话方法步骤S1和步骤S2具体步骤图。
图4是本发明实施例一种基于知识图谱的对话系统结构示意图。
【具体实施方式】
下面结合实施例并参照附图对本发明作进一步描述。
实施例1
本实施例实现一种基于知识图谱的对话方法。
图2是一种基于知识图谱的对话方法步骤图。如附图2所示,本实施例一种基于知识图谱的对话方法,包括以下步骤:
S1、编码器程序模块对所有对话历史进行拼接获得输入序列,对所述输入序列进行嵌入,获得所述对话历史的向量表示;
S2、知识图谱嵌入程序模块对若干知识条目进行嵌入,获得所述若干知识条目的向量表示;
S3、多头注意力机制程序模块针对所述对话历史的向量表示对于每个所述知识条目的向量表示计算注意力分数;
S4、多头注意力机制程序模块利用所述注意力分数综合所述知识条目获得所述知识条目的上下文向量;
S5、解码器程序模块将输入的所述知识条目的上下文向量以及所述对话历史的向量表示进行解码,获得机器回复。
图3是一种基于知识图谱的对话方法步骤S1和步骤S2具体步骤图。如附图3所示,本实施例一种基于知识图谱的对话方法,所述编码器程序模块或者知识图谱嵌入程序模块是采用双向序列编码的基于Transformer网络的编码器程序模块或者知识图谱嵌入程序模块,所述Transformer网络由嵌入层、位置编码层、若干交替的注意力层和线性前向层组成;所述Transformer网络的注意力层和线性前向层均可以看到双向的内容;所述步骤S1或者S2具体包括以下步骤:
S11、将对话历史X或者知识条目链接成一个文字序列[w1,w2,…,wl],序列长度为l,输入所述Transformer网络;所述Transformer网络嵌入层对文字序列[w1,w2,…,wl]进行嵌入获得文字向量[e1,e2,…,el];
S12、所述Transformer网络位置编码层对所述文字向量[e1,e2,…,el]进行位置嵌入得到隐向量
Figure BDA0003147645720000081
其中
Figure BDA0003147645720000082
是与所述文字向量[e1,e2,…,el]维度相同的位置向量,使用随机初始化,在所述Transformer网络训练中进行学习;
S13、所述隐向量h(0)依次经过所述若干交替的注意力层和线性前向层获得对话历史的向量表示或者知识条目的向量表示,具体的:
S131、所述注意力层计算多头自注意力:MultiHeadAtt(h(i))=Concat(head1,…,headh)Wc,其中head1表示所述多头注意力的一个头head1=Att(h(i-1)),其中Att表示普通点乘自注意,i表示第i个注意力层;
S132、所述注意力层与前注意力层输出使用残差方式进行层归一化:h(i)=Norm(MultiHeadAtt(h(i-1))+h(i-1)),其中h(i)表示第i个交替的注意力层和线性前向层的所有隐向量,MultiHeadAtt表示注意力层,Norm表示层归一化操作;
S133、所述线性前向层与前线性前向层输出使用残差方式进行层归一化:h(i)=Norm(FFN(h(i-1))+h(i-1)),其中FFN表示线形前向层。
优选地,上述的一种基于知识图谱的对话方法,所述步骤S3具体为:所述对话历史的向量表示经过一个线性层作为询问Q,所述知识条目的向量表示经过一个线性层作为键K和值V,计算所述注意力分数:
Figure BDA0003147645720000091
其中
Figure BDA0003147645720000092
为Q,K,V的向量维度。
优选地,上述的一种基于知识图谱的对话方法,所述步骤S4具体为:所述知识条目的上下文向量由所述注意力分数对所述知识条目的向量表示的线形加权获得;利用所述注意力分数对值V进行加权获得上下文向量,headi=Scores(Q,K,V)V;使用多套参数计算上下文向量获得多个所述上下文向量[head1,…,headh];进行所述上下文向量拼接,构成最终的所述知识条目的上下文向量kc=Concat(head1,…,headh)。
优选地,上述的一种基于知识图谱的对话方法,所述步骤S5中:解码器程序模块对所述上下文向量以及所述对话历史的向量表示的融合方式为向量拼接。
优选地,上述的一种基于知识图谱的对话方法,所述步骤S5中:解码器程序模块是采用自回归的Transformer网络的解码器程序模块,所述自回归的Transformer网络包括注意力层;所述自回归的Transformer网络使用注意力掩码使得所述注意力层的每个单元只能看到单元左边的内容。
实施例2
本实施例实现一种基于知识图谱的对话系统及方法。
图4是本发明实施例一种基于知识图谱的对话系统结构示意图。如附图4所示,本实施例一种基于知识图谱的对话系统的具体实施方式,步骤包括:
步骤S101:对所有对话历史进行拼接输入序列,使用编码器对所述输入序列进行嵌入,获得所述对话历史的向量表示。
所述编码器采用双向序列编码的Transformer网络,由一个嵌入层、一个位置编码层、若干交替的注意力层和前向层组成。假定使用X来表示对话系统已经产生的对话内容。例如“Agent:我是小萌,很高兴认识你。User:你喜欢周杰伦吗?……User:你最喜欢周杰伦的哪首歌?”本实施例将这些对话历史链接成一个文字序列[w1,w2,…,wl],序列长度为l。输入双向序列编码的Transformer网络进行表示,首先对文字序列进行嵌入获得文字向量[e1,e2,…,el],然后进行位置嵌入得到隐向量
Figure BDA0003147645720000101
Figure BDA0003147645720000102
其中
Figure BDA0003147645720000103
是与文字向量维度相同的位置向量,使用随机初始化,可以在训练中进行学习。然后隐向量会经过多个交替的注意力层和前向层。本实施例采用多头自注意力作为注意力模块,计算方式为:MultiHeadAtt(h(i))=Concat(head1,…,headh)Wc,其中head1表示所述多头注意力的一个头,其计算方式为:head1=Att(h(i-1)),其中Att表示普通点乘自注意。具体的计算方式为:隐向量被视为是注意力的询问Q,键K和值V,计算注意力输出:
Figure BDA0003147645720000104
其中
Figure BDA0003147645720000105
为Q,K,V的向量维度。
这里注意力层与其前层输出使用残差方式,并且进行层归一化:h(i)=Norm(MultiHeadAtt(h(i-1))+h(i-1)),其中h(i)表示第i层的所有隐向量,MultiHeadAtt表示注意力层,Norm表示层归一化操作;
每一注意力层后面会跟一个前向层,与其前层输出也使用残差方式,并且进行层归一化,计算方式为:h(i)=Norm(FFN(h(i-1))+h(i-1)),其中FFN表示线形前向层。最终再经过若干个注意力层和前向层之后,本实施例获得对话历史的向量表示
Figure BDA0003147645720000111
注意这里的Transformer网络的每层的所述注意力层和所述前向层均可以看到双向的内容。
步骤S102:使用知识嵌入模块对若干知识条目进行嵌入获得所述若干知识条目的向量表示。
假定知识条目表示为
Figure BDA0003147645720000112
其中m为知识条目的数量,即知识库的大小。这里的知识可以是纯文本形式,例如,“周杰伦的老婆是昆凌。”,也可以是知识图谱三元组形式,例如,(“周杰伦”,“老婆”,“昆凌”)。知识嵌入模块也采用双向序列编码的Transformer网络,其参数独立于对话历史编码网络,结构相同,这里不再赘述。
步骤S103:在注意力机制中计算所述对话历史的向量表示对于每个所述知识条目的向量表示计算注意力分数。
本实施例中,所述注意力机制采用多头注意力机制。首先对对话历史的向量
Figure BDA0003147645720000113
经过一个线性层表示作为询问Q,使用所述知识条目的向量
Figure BDA0003147645720000114
经过一个线性层作为键K和值V,计算所述注意力分数:
Figure BDA0003147645720000115
其中所述
Figure BDA0003147645720000116
为Q,K,V的向量维度,即d。
步骤S104:利用所述注意力分数综合所述知识条目获得所述知识条目的上下文向量。
利用所述注意力分数对值V进行加权获得上下文向量,headi=Scores(Q,K,V)V;
使用多套参数计算上下文向量获得多个所述上下文向量,[head1,…,headh],进行向量拼接,构成最终的所述知识条目的上下文向量kc=Concat(head1,…,headh)。
步骤S105:将所属知识条目的上下文向量以及所属对话历史的向量表示输入解码器进行解码,获得机器回复。在本实施例中,知识条目的上下文向量以及所属对话历史的向量表示在解码器中的融合方式为向量拼接。解码器采用自回归的Transformer网络。所述自回归的Transformer网络使用注意力掩码使得所述注意力层的每个单元只能看到其左边的内容。
本实施例还提供了一种终端,包括存储器、处理器及存储在存储器上并能够在处理器上运行的计算机程序,处理器执行计算机程序时能够用于执行上述实施例任一项的方法。
可选地,存储器,用于存储程序;存储器,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-access memory,缩写:RAM),如静态随机存取存储器(英文:static random-access memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(英文:Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
处理器,用于执行存储器存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
处理器和存储器可以是独立结构,也可以是集成在一起的集成结构。当处理器和存储器是独立结构时,存储器、处理器可以通过总线耦合连接。
本实施例提供的一种基于知识图谱的对话系统以及用于执行该方法的终端,对所有对话历史进行拼接输入序列,使用编码器对所述输入序列进行嵌入,获得所述对话历史的向量表示;使用知识嵌入模块对若干知识条目进行嵌入获得所述若干知识条目的向量表示;在注意力机制中计算所述对话历史的向量表示对于每个所述知识条目的向量表示计算注意力分数;利用所述注意力分数综合所述知识条目获得所述知识条目的上下文向量;将所属知识条目的上下文向量以及所属对话历史的向量表示输入解码器进行解码,获得机器回复。基于以上步骤,本实施例可以快速有效的为对话系统嵌入领域背景知识,提升了针对特定话题的对话深度,增强了对话系统对背景知识的表示能力和选择能力。
本领域普通技术人员可以理解,实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Acess Memory,RAM)等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。

Claims (8)

1.一种基于知识图谱的对话方法,其特征在于包括以下步骤:
S1、编码器程序模块对所有对话历史进行拼接获得输入序列,对所述输入序列进行嵌入,获得所述对话历史的向量表示;
S2、知识图谱嵌入程序模块对若干知识条目进行嵌入,获得所述若干知识条目的向量表示;
S3、多头注意力机制程序模块针对所述对话历史的向量表示对于每个所述知识条目的向量表示计算注意力分数;
S4、多头注意力机制程序模块利用所述注意力分数综合所述知识条目获得所述知识条目的上下文向量;
S5、解码器程序模块将输入的所述知识条目的上下文向量以及所述对话历史的向量表示进行解码,获得机器回复。
2.根据权利要求1所述的一种基于知识图谱的对话方法,其特征在于所述编码器程序模块或者知识图谱嵌入程序模块是采用双向序列编码的基于Transformer网络的编码器程序模块或者知识图谱嵌入程序模块,所述Transformer网络由嵌入层、位置编码层、若干交替的注意力层和线性前向层组成;所述Transformer网络的注意力层和线性前向层均可以看到双向的内容;所述步骤S1或者S2具体包括以下步骤:
S11、将对话历史X或者知识条目链接成一个文字序列[w1,w2,...,wl],序列长度为l,输入所述Transformer网络;所述Transformer网络嵌入层对文字序列[w1,w2,...,wl]进行嵌入获得文字向量[e1,e2,...,el];
S12、所述Transformer网络位置编码层对所述文字向量[e1,e2,...,el]进行位置嵌入得到隐向量
Figure FDA0003147645710000011
其中
Figure FDA0003147645710000012
是与所述文字向量[e1,e2,...,el]维度相同的位置向量,使用随机初始化,在所述Transformer网络训练中进行学习;
S13、所述隐向量h(0)依次经过所述若干交替的注意力层和线性前向层获得对话历史的向量表示或者知识条目的向量表示,具体的:
S131、所述注意力层计算多头自注意力:MultiHeadAtt(h(i))=Concat(head1,...,headh)Wc,其中head1表示所述多头注意力的一个头head1=Att(h(i-1)),其中Att表示普通点乘自注意,i表示第i个注意力层;
S132、所述注意力层与前注意力层输出使用残差方式进行层归一化:h(i)=Norm(MultiHeadAtt(h(i-1))+h(i-1)),其中h(i)表示第i个交替的注意力层和线性前向层的所有隐向量,MultiHeadAtt表示注意力层,Norm表示层归一化操作;
S133、所述线性前向层与前线性前向层输出使用残差方式进行层归一化:h(i)=Norm(FFN(h(i-1))+h(i-1)),其中FFN表示线形前向层。
3.根据权利要求2所述的一种基于知识图谱的对话方法,其特征在于所述步骤S3具体为:所述对话历史的向量表示经过一个线性层作为询问Q,所述知识条目的向量表示经过一个线性层作为键K和值V,计算所述注意力分数:
Figure FDA0003147645710000021
其中
Figure FDA0003147645710000022
为Q,K,V的向量维度。
4.根据权利要求3所述的一种基于知识图谱的对话方法,其特征在于所述步骤S4具体为:所述知识条目的上下文向量由所述注意力分数对所述知识条目的向量表示的线形加权获得;利用所述注意力分数对值V进行加权获得上下文向量,headi=Scores(Q,K,V)V;使用多套参数计算上下文向量获得多个所述上下文向量[head1,...,headh];进行所述上下文向量拼接,构成最终的所述知识条目的上下文向量kc=Concat(head1,...,headh)。
5.根据权利要求4要求所述的一种基于知识图谱的对话方法,其特征在于所述步骤S5中:解码器程序模块对所述上下文向量以及所述对话历史的向量表示的融合方式为向量拼接。
6.根据权利要求5要求所述的一种基于知识图谱的对话方法,其特征在于所述步骤S5中:解码器程序模块是采用自回归的Transformer网络的解码器程序模块,所述自回归的Transformer网络包括注意力层;所述自回归的Transformer网络使用注意力掩码使得所述注意力层的每个单元只能看到单元左边的内容。
7.一种计算机可读程序介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时实现权利要求1至权利要求6任一权利要求所述的一种基于知识图谱的对话方法的步骤。
8.一种基于知识图谱的对话系统,包括存储器,处理器及存储在存储器并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现权利要求1至权利要求6任一权利要求所述的一种基于知识图谱的对话方法的步骤。
CN202110756285.1A 2021-07-05 2021-07-05 一种基于知识图谱的对话方法、介质及系统 Pending CN113609301A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110756285.1A CN113609301A (zh) 2021-07-05 2021-07-05 一种基于知识图谱的对话方法、介质及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110756285.1A CN113609301A (zh) 2021-07-05 2021-07-05 一种基于知识图谱的对话方法、介质及系统

Publications (1)

Publication Number Publication Date
CN113609301A true CN113609301A (zh) 2021-11-05

Family

ID=78303996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110756285.1A Pending CN113609301A (zh) 2021-07-05 2021-07-05 一种基于知识图谱的对话方法、介质及系统

Country Status (1)

Country Link
CN (1) CN113609301A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806506A (zh) * 2021-09-15 2021-12-17 电子科技大学 一种面向常识推理的生成式人机对话回复生成方法
CN116244419A (zh) * 2023-05-12 2023-06-09 苏州大学 基于人物属性的知识增强对话生成方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084314A (zh) * 2020-08-20 2020-12-15 电子科技大学 一种引入知识的生成式会话系统
CN112131861A (zh) * 2020-11-25 2020-12-25 中国科学院自动化研究所 基于层次化多头交互注意力的对话状态生成方法
CN112231472A (zh) * 2020-09-18 2021-01-15 昆明理工大学 融入领域术语词典的司法舆情敏感信息识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084314A (zh) * 2020-08-20 2020-12-15 电子科技大学 一种引入知识的生成式会话系统
CN112231472A (zh) * 2020-09-18 2021-01-15 昆明理工大学 融入领域术语词典的司法舆情敏感信息识别方法
CN112131861A (zh) * 2020-11-25 2020-12-25 中国科学院自动化研究所 基于层次化多头交互注意力的对话状态生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ROBERT_AI: "⾃然语⾔处理中的⾃注意⼒机制", Retrieved from the Internet <URL:https://www.cnblogs.com/robert-dlut/p/8638283.html> *
S1434088958: "Transformer-基于自注意力的序列到序列模型", Retrieved from the Internet <URL:http:blog.csdn.net/s1434088958/article/details/90669049> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806506A (zh) * 2021-09-15 2021-12-17 电子科技大学 一种面向常识推理的生成式人机对话回复生成方法
CN113806506B (zh) * 2021-09-15 2023-04-18 电子科技大学 一种面向常识推理的生成式人机对话回复生成方法
CN116244419A (zh) * 2023-05-12 2023-06-09 苏州大学 基于人物属性的知识增强对话生成方法及系统
CN116244419B (zh) * 2023-05-12 2023-08-25 苏州大学 基于人物属性的知识增强对话生成方法及系统

Similar Documents

Publication Publication Date Title
JP7421604B2 (ja) モデル事前訓練方法および装置、テキスト生成方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
US20210124878A1 (en) On-Device Projection Neural Networks for Natural Language Understanding
CN108829719B (zh) 一种非事实类问答答案选择方法及系统
US11972365B2 (en) Question responding apparatus, question responding method and program
US20210034817A1 (en) Request paraphrasing system, request paraphrasing model and request determining model training method, and dialogue system
WO2020088330A1 (en) Latent space and text-based generative adversarial networks (latext-gans) for text generation
CN110781306B (zh) 一种英文文本的方面层情感分类方法及系统
CN110990555B (zh) 端到端检索式对话方法与系统及计算机设备
CN110457718B (zh) 一种文本生成方法、装置、计算机设备及存储介质
CN109344242B (zh) 一种对话问答方法、装置、设备及存储介质
US11526679B2 (en) Efficient transformer language models with disentangled attention and multi-step decoding
US11481646B2 (en) Selecting answer spans from electronic documents using neural networks
JP7229345B2 (ja) 文処理方法、文復号方法、装置、プログラム及び機器
CN113609301A (zh) 一种基于知识图谱的对话方法、介质及系统
CN111699497A (zh) 使用离散潜变量的序列模型的快速解码
KR20190127708A (ko) 대화 시스템 및 그것을 위한 컴퓨터 프로그램
Van Trijp A comparison between Fluid Construction Grammar and Sign-Based Construction Grammar
CN112364148B (zh) 一种基于深度学习方法的生成型聊天机器人
CN112348911A (zh) 基于语义约束的堆叠文本生成细粒度图像方法及系统
JP2020027609A (ja) 応答推論方法及び装置
Wang et al. Learning to globally edit images with textual description
CN114913590A (zh) 一种数据的情感识别方法、装置、设备及可读存储介质
Zhou et al. Tree-structured neural machine for linguistics-aware sentence generation
US11481609B2 (en) Computationally efficient expressive output layers for neural networks
KR20220066554A (ko) Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램

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