CN111651557B - 一种自动化文本生成方法、装置及计算机可读存储介质 - Google Patents

一种自动化文本生成方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111651557B
CN111651557B CN202010388608.1A CN202010388608A CN111651557B CN 111651557 B CN111651557 B CN 111651557B CN 202010388608 A CN202010388608 A CN 202010388608A CN 111651557 B CN111651557 B CN 111651557B
Authority
CN
China
Prior art keywords
self
text
attention
hidden state
knowledge
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.)
Active
Application number
CN202010388608.1A
Other languages
English (en)
Other versions
CN111651557A (zh
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.)
Shenzhen International Graduate School of Tsinghua University
Original Assignee
Shenzhen International Graduate School of Tsinghua 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 Shenzhen International Graduate School of Tsinghua University filed Critical Shenzhen International Graduate School of Tsinghua University
Priority to CN202010388608.1A priority Critical patent/CN111651557B/zh
Publication of CN111651557A publication Critical patent/CN111651557A/zh
Application granted granted Critical
Publication of CN111651557B publication Critical patent/CN111651557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

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

Abstract

本发明提供一种自动化文本生成方法、装置及计算机可读存储介质,方法包括:训练Transformer编码‑解码的深度学习模型,包括:将话题词分别进行文本编码和知识图谱编码得到对应的隐藏状态表示,其中,在知识图谱编码过程中为每个所述话题词添加多个知识图谱三元组;根据所述文本编码和所述知识图谱的三元组编码的隐藏状态表示解码得到生成文本;利用训练好的所述深度学习模型,根据新输入的话题词自动化生成新的文本。装置用于实现方法。通过使用Transformer编码‑解码的深度学习模型,利用Tansformer充分学习了文本之间、知识图谱三元组之间、文本和三元组之间的关系,并产生更为丰富的生成结果。

Description

一种自动化文本生成方法、装置及计算机可读存储介质
技术领域
本发明涉及文本生成技术领域,尤其涉及一种自动化文本生成方法、装置及计算机可读存储介质。
背景技术
文本生成技术,旨在通过机器,根据一段原文本,自动化的产生具有高度可读性的相关文本。这一技术自诞生以来,一直是人工智能领域中的热点课题。文本生成技术可以在有效理解原文本内容的基础上,通过对文字的处理与改造,产生全新的文本。这为人们提供一种更为高效、智能的文本转换模式。人们可以根据自身所需,利用文本生成的方法产生形式和内容多种多样的文本。正是由于文本生成技术的灵活性,学界、工业界在过去一段时间内对其进行了一系列的探索性工作。诸如“智能客服机器人”、“写稿机器人”、“写诗机器人”等应用相继出现,有效地提升了相关行业工作人员的工作效率,节约了人力物力成本。
通过长期的研究工作,文本生成技术已经取得了长足的发展。但是,文本作为信息的一种重要载体,其具有丰富的形式及含义。因此,处理及生成文本的过程中,涉及到大量自然语言处理技术和自然语言理解技术,这也使得文本生成技术成为人工智能领域内的一个难点问题。以往大量有关文本生成技术的成果,还在利用甚至完全依赖人工编写的模板来提升生成的效果。这极大地限制了生成内容的多样性和灵活性。近些年,深度学习模型在文本生成方面取得了巨大的进步,但在实际应用中,仍然存在着一些挑战,其中最为突出的就是:模型生成的文本存在着内容单一、容易重复、可读性差的问题。
近些年,知识图谱领域,蓬勃发展。许多深度学习的研究者开始考虑在深度学习模型中引入知识图谱作为外部信息,辅助模型产生更好的生成效果。这其中应用最为广泛的就是利用知识图谱辅助问答系统的建设。问答系统利用深度学习模型接收用户输入之后,在知识图谱中寻找相应的答案,并利用语言模型产生最后的回答。而在文本生成领域,目前也有一些工作使用知识图谱进行生成,但是主要存在两个问题:
1.这些模型为每个目标实体只添加了一个知识图谱三元组,因此知识图谱对于生成效果的提升效果比较有限,并不能很好地将知识信息融入生成结果当中。
2.这些模型主要使用了基于循环神经网络的编码-解码模型。循环神经网络对于文本的表示能力不足,生成的文本容易产生重复、不连贯的问题。
以上背景技术内容的公开仅用于辅助理解本发明的构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
本发明为了解决现有的问题,提供一种自动化文本生成方法、装置及计算机可读存储介质。
为了解决上述问题,本发明采用的技术方案如下所述:
一种自动化文本生成方法,包括如下步骤:S1:训练Transformer编码-解码的深度学习模型,包括:将话题词分别进行文本编码和知识图谱编码得到对应的隐藏状态表示,其中,在知识图谱编码过程中为每个所述话题词添加多个知识图谱三元组;根据所述文本编码和所述知识图谱的三元组编码的隐藏状态表示解码得到生成文本;S2:利用训练好的所述深度学习模型,根据新输入的话题词自动化生成新的文本。
优选地,还包括:所述话题词在进入所述深度学习模型之前,使用预训练的Bert模型进行文本编码,对于输入的话题词Ti,通过所述Bert模型得到其隐藏状态向量xi
xi=Bert(Ti)
通过所述隐藏状态向量得到输入的一组话题词的T={T1,T2,T3,…,Tn}对应的隐藏状态表示
Figure GDA0002610674050000021
优选地,对于所述知识图谱编码得到的图G=(V,E)中的任意节点w,使用预训练的Bert模型对其产生一个词向量vx
vx=Bert(w)
将所有所述节点的词向量合并在一起组成初始输入Vx
在所述深度学习模型的自注意力机制中,对于任意节点向量vi与其他节点向量vj的注意力权重a(vi,vj)计算为:
Figure GDA0002610674050000031
其中,Wk、Wq为参数矩阵,Ci为所有与节点i相连的节点组成的集合;
在获得所述节点的权重之后,使用多头自注意力机制更新每个所述节点的中间隐藏状态向量:
Figure GDA0002610674050000032
其中,vi为当前对应的结点向量,Ci为所有与节点i相连的节点组成的集合,concat为合并每个Self-Attention的输出;
Figure GDA0002610674050000033
通过一个残差网络resnet和规范化层Norm进行处理,并利用一个全连接的前馈神经网络FFN得到更新的隐藏状态向量/>
Figure GDA0002610674050000034
Figure GDA0002610674050000035
向量
Figure GDA0002610674050000036
即代表节点vi的隐藏状态向量;
对于所述节点的总数为m的输入V,其中m为预先设定的任意正整数,获得其对应的隐藏状态表示
Figure GDA0002610674050000037
优选地,根据所述文本编码和所述知识图谱的三元组编码得到的隐藏状态表示解码得到生成文本包括:
对于多头自注意力机制,在第i个时间步下,其中i为介于0和预先设置的最大输出长度之间的任意整数,机制以0到i-1步产生的词语对应的词向量X作为输入,获得第i个时间步对应的输出:
Figure GDA0002610674050000038
其中,a(xi-1,xj)为Self-Attention的权重,Norm为规范化层,concat为合并每个Self-Attention的输出,Wx为自学习参数;
通过话题多头自注意力机制,以普通的Multi-head Self-Attention的输出xi作为输入,得到对应的更新:
Figure GDA0002610674050000041
其中,HT为文本编码单元产生的编码,
Figure GDA0002610674050000042
为Self-Attention的权重,concat为合并每个Self-Attention的输出,WT为自学习参数;
通过知识多头自注意力机制,以普通的Multi-head Self-Attention的输出xi作为输入,得到对应的更新
Figure GDA0002610674050000043
Figure GDA0002610674050000044
其中,HK为知识图谱编码产生的编码,
Figure GDA0002610674050000045
为Self-Attention的权重,concat为合并每个Self-Attention的输出,WK为自学习参数;
为了权衡话题信息与知识图谱信息在生成过程中的权重,添加了一个自学习参数weight:
Figure GDA0002610674050000046
其中,WT、WK、b为自学习参数;
最终,对于第t个时间步,所述隐藏状态表示ht计算为:
Figure GDA0002610674050000047
产生对应的词表分布Pvocab
Pvocab(yt)=softmax(linear(ht))
其中,linear为线性函数,yt为生成的词语。
优选地,还包括:在自动化生成新的文本的每一个生成词语的时间步中,通过选择门判断是生成一个词,还是从知识图谱中拷贝一个词语。
优选地,选择门gate的计算同时与多头自注意力的输出xt、知识多头自注意力的输出
Figure GDA0002610674050000048
以及所述隐藏状态表示ht有关:
Figure GDA0002610674050000051
其中,linear是线性函数,σ为激活函数;
获得所述选择门gate的值之后,计算此时新的词表的分布概率:
Figure GDA0002610674050000052
其中,HK为所述知识图谱编码产生的编码,
Figure GDA0002610674050000053
为所述知识多头自注意力中xi所对应的权重。
本发明还提供一种自动化文本生成装置,包括:编码单元,包括文本编码单元和知识图谱编码单元,用于将话题词分别进行文本编码和知识图谱编码得到对应的隐藏状态表示,其中,在知识图谱编码过程中为每个所述话题词添加多个知识图谱三元组;
解码单元,用于根据所述文本编码和所述知识图谱的三元组编码的隐藏状态表示解码得到生成文本。
优选地,所述编码单元,是由N个复合层组成,其中N为预先设定好的任意正整数,每个复合层包含两个单层,分别是多头自注意力层和全连接的前馈网络层;每个单层之间使用一个残差网络和规范化层进行处理;所述解码单元,具有N个复合层,每个复合层具有四个单层:普通的多头自注意力层、话题多头自注意力层、知识多头自注意力层以及全连接的前馈神经网络层。
优选地,所述解码单元还包括拷贝单元,用于从知识图谱三元组中复制一部分词语到生成文本中去。
本发明再提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述方法的步骤。
本发明的有益效果为:提供一种自动化文本生成方法、装置及计算机可读存储介质,通过使用Transformer编码-解码的深度学习模型,利用Tansformer充分学习了文本之间、知识图谱三元组之间、文本和三元组之间的关系,并产生更为丰富的生成结果。
进一步的,本发明可以为每个实体添加了多个知识图谱三元组,并设计了知识图谱三元组信息的编码方式,实现了将大量知识融入深度学习模型的效果。
再进一步的,还在模型中添加了拷贝机制,将三元组中的实体拷贝到生成结果当中,将知识图谱最大化的加以利用,更进一步的提升了生成效果。
附图说明
图1是本发明实施例中一种自动化文本生成方法的方法示意图。
图2是本发明实施例中Transformer编码-解码的深度学习模型的示意图。
图3是本发明实施例中解码单元的示意图。
图4是本发明实施例中一种自动化文本生成方法的流程示意图。
图5是本发明实施例中三元组转换方法示意图。
图6是本发明实施例中文本解码模块结构示意图。
具体实施方式
为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接既可以是用于固定作用也可以是用于电路连通作用。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
如图1所示,本发明提供一种自动化文本生成方法,包括如下步骤:
S1:训练Transformer编码-解码的深度学习模型,包括:
将话题词分别进行文本编码和知识图谱编码得到对应的隐藏状态表示,其中,在知识图谱编码过程中为每个所述话题词添加多个知识图谱三元组;
根据所述文本编码和所述知识图谱的三元组编码的隐藏状态表示解码得到生成文本;
S2:利用训练好的所述深度学习模型,根据新输入的话题词自动化生成新的文本。
如图2所示,在训练过程中,使用的Transformer编码-解码的深度学习模型,主要由两个部分构成:编码单元和解码单元。编码单元负责将输入文本和知识图谱编码为对应的隐藏状态向量,其又可细分为文本编码单元和知识图谱编码单元两个子单元。
解码单元包括文本解码单元,用于根据所述文本编码和所述知识图谱的三元组编码的隐藏状态表示解码得到生成文本。
如图3所示,解码单元还包括拷贝单元,用于从知识图谱三元组中复制一部分词语到生成文本中去。
本发明使用Transformer编码-解码的深度学习模型,利用Tansformer充分学习了文本之间、知识图谱三元组之间、文本和三元组之间的关系,并产生更为丰富的生成结果。
进一步的,本发明可以为每个实体添加了多个知识图谱三元组,并设计了知识图谱三元组信息的编码方式,实现了将大量知识融入深度学习模型的效果。
再进一步的,还在模型中添加了拷贝机制,将三元组中的实体拷贝到生成结果当中,将知识图谱最大化的加以利用,更近一步的提升了生成效果。
如图4所示,用户将话题词输入文本编码单元,文本编码单元将其编码为代表话题词语义信息的向量形式。同时,这些话题词也作为知识图谱编码单元的输入。知识图谱编码单元又可以细分为三元组的查找、三元组的重组、三元组的编码三个步骤。在三元组的查找步骤中,单元以话题词为头节点,查找与之关联的三元组信息。三元组重组步骤中,将查找得到的三元组表示为图的形式,然后该图在三元组编码过程中得到对应的编码。话题词的编码和知识图谱的编码经过融合之后,输入文本解码单元,并逐词产生文本内容。为了更进一步的利用知识图谱的实体信息,在解码的过程中,还加入了拷贝机制从知识图谱三元组中拷贝实体到生成文本中去。下面分别介绍各个单元。
本发明的方法包括两个阶段:训练阶段和生成阶段。训练阶段即通过现有的文章内容对编码单元和解码单元进行训练,训练结束后就得到了最后的文本生成模型。生成阶段就是利用训练好的文本生成模型,对给定的新的话题词输入,生成与话题词相关的文本。
文本编码单元:
本单元完成将输入的每个话题词转化为其对应的语义向量表达形式,并以此得到全部话题词的隐藏状态向量。编码单元采用Transformer结构,这一结构是由Google团队在2017年时提出的。Transformer采用了以Self-Attention作为基础单元的结构,相比与普通的模型使用长短时记忆单元(LSTM),Transformer可以更为有效地学习输入的上下文关系,从而给出更丰富准确的词语表征向量。使用的Transformer由6个相同的复合层组成。每个复合层由多头自注意力机制和全连接的位置前馈网络组成。除了第一个复合层,其他复合层以前一层的输出作为输入。在复合层中,每一个单层之后,都会通过一个类似于残差结构的网络和一个规范化层进行处理。
对于每个话题词,首先使用预先训练好的Bert模型对应的向量,接着通过矩阵得到可以得到话题词对应的低维的表示。之后,将每个话题词的表示输入到Transformer模型当中,产生话题词对应的隐藏状态向量。
具体的,使用了Transformer的结构,对话题词进行编码。在进入Transformer之前使用了预训练的Bert模型对文本进行向量化。对于输入的话题词Ti,通过Bert得到其向量表示xi
xi=Bert(Ti)
将所获得的向量表示通过一个Transformer的编码单元。该编码单元是由N个复合层组成的,每个复合层包含两个单层,分别是Multi-head Self-Attention和全连接的前馈网络。每个单层之间使用一个残差网络和规范化层进行处理。这样对于一组话题词的T={T1,T2,T3,…,Tn}作为输入,可以得到它们对应的隐藏状态表示
Figure GDA0002610674050000081
知识图谱编码单元:
在三元组的查找阶段,以输入的话题词为头节点,查找到m条三元组信息,然后以这m条三元组的尾节点为新的头节点,再在知识图谱中找到k条三元组信息,一共搜索得到km条三元组,作为模型的扩充知识。此处,m、k的值可以自行定义。
如图5所示,对于三元组的重组,每条三元组,都将其关系结点拆分为正反两个对应的关系,然后与头尾节点分别建立连接,其过程如图2所示。这样就可以将三元组表示为图的形式,同时,通过建立正反两个关系节点,可以有效地在图中表示出尾节点对头节点的影响。在三元组的编码阶段,使用了改进的Transformer对其进行编码。在Transformer的Self-Attention的具体计算过程中,只选取与当前节点存在边的那些节点参与到计算过程中,对于没有边的节点,不参与注意力权重的计算。最后,每一个抽取的得到的三元组实体或关系,都可以得到一个对应的隐藏状态向量。
具体的,对于知识图谱得到的图G=(V,E),使用了改进的Transformer对其进行编码。对于图中的任意节点w,首先使用已经完成预训练的Bert模型对其产生一个词向量vx
vx=Bert(w)
然后,将所有节点的词向量合并在一起组成初始输入Vx
在Transformer的Self-Attention机制中,对于任意节点向量vi,它与其他节点向量vj的注意力权重a(vi,vj)可以计算为:
Figure GDA0002610674050000091
其中,Wk、Wq为参数矩阵,Ci为所有与节点i相连的节点组成的集合。在获得节点权重之后,使用Multi-head Self-Attention更新每个节点的中间向量表示:
Figure GDA0002610674050000092
其中,vi为当前对应的结点向量,Ci为所有与节点i相连的节点组成的集合,concat为合并每个Self-Attention的输出。然后将
Figure GDA0002610674050000093
通过一个残差网络resnet(residualnetwork)和规范化层Norm(normalisation layer)进行处理,并利用一个全连接的前馈神经网络FFN得到更新的向量表示/>
Figure GDA0002610674050000101
Figure GDA0002610674050000102
然后,向量
Figure GDA0002610674050000103
即可以代表节点vi的向量表示。对于节点的总数为m的输入V,可以获得其对应的隐藏状态表示/>
Figure GDA0002610674050000104
其中,m为预先设定的任意正整。
文本解码单元:
如图6所示,本单元主要根据话题词和知识图谱三元组编码的到的隐藏状态隐藏状态向量,解码得到对应的生成文本。使用了基于Transformer的解码器来产生文本内容。解码器同样具有N个复合层,不同的是,每个复合层具有四个单层:一层普通的Multi-headSelf-Attention、一个处理话题词之间关系的Multi-headSelf-Attention(称为话题多头自注意力)、一个处理知识图谱信息的Multi-headSelf-Attention(称为知识多头自注意力)以及一个全链接的前馈神经网络。每个单层之间同样使用规范化层进行处理。其中,对于话题多头自注意力机制,使用话题词的隐藏状态向量来进行权重计算。在知识多头自注意力机制中,使用三元组的隐藏状态向量来进行权重计算。为了权衡话题信息与知识图谱信息,添加了一个自学习参数weight,让模型自主学习两者在生成过程中的权重,从而充分调动模型的能力来产生更丰富的生成文本。
从编码器获得输入的隐藏状态表示之后,通过基于Transformer的解码器来产生文本内容。解码器同样具有N个复合层,不同的是,每个复合层具有四个单层:一层普通的Multi-head Self-Attention、一个话题多头自注意力、一个知识多头自注意力以及一个全链接的前馈神经网络。
其中,上述其中N为预先设定好的任意正整数,通常为6或12。
对于第一层普通的Multi-headSelf-Attention,在第i个时间步下,该层以0到i-1步产生的词语对应的词向量X作为输入,其中为介于0和预先设置的最大输出长度之间的任意整数。获得第i个时间步对应的输出:
Figure GDA0002610674050000105
其中a(xi-1,xj)为Self-Attention的权重,Norm为规范化层,concat为合并每个Self-Attention的输出,Wx为自学习参数。
对于话题多头自注意力机制,以普通的Multi-headSelf-Attention的输出xi作为输入,得到它对应的更新:
Figure GDA0002610674050000111
其中,HT为文本编码模块产生的编码,
Figure GDA0002610674050000112
为Self-Attention的权重,concat为合并每个Self-Attention的输出,WT为自学习参数。
对于知识多头自注意力机制,以普通的Multi-headSelf-Attention的输出xi作为输入,得到它对应的更新
Figure GDA0002610674050000113
Figure GDA0002610674050000114
其中,HK为知识图谱编码模块产生的编码,
Figure GDA0002610674050000115
为Self-Attention的权重,concat为合并每个Self-Attention的输出,WK为自学习参数。
为了权衡话题信息与知识图谱信息在生成过程中的权重,添加了一个自学习参数weight:
Figure GDA0002610674050000116
其中,WT、WK、b为自学习参数。
最终,对于第t个时间步,编码器的隐藏状态ht可计算为:
Figure GDA0002610674050000117
通过解码器,模型可以产生对应的词表分布Pvocab
Pvocab(yt)=softmax(linear(ht))
其中,linear为线性函数,yt为生成的词语。
拷贝单元:
为了减少生成文本中出现表外词的问题,使用了拷贝机制。该机制可以让模型从知识图谱三元组中复制一部分词语到生成文本中去,从而提升文本的可读性。设计了一个参数gate作为选择门。在每一个生成词语的时间步中,该选择门可以判断此时模型是应该生成一个词,还是从知识信息中拷贝一个词语。gate的计算同时与当前话题多头自注意力的输出、知识多头自注意力的输出以及当前解码器隐藏状态有关。在计算得到gate之后,模型综合文本解码单元和拷贝单元的结果,产生最终的生成文本。
为了减少生成文本中出现表外词的问题,使用了拷贝机制。设计了一个参数gate作为选择门。在每一个生成词语的时间步中,该选择门可以判断此时模型是应该生成一个词,还是从知识信息中拷贝一个词语。gate的计算同时与当前话题多头自注意力的输出xt、知识多头自注意力的输出
Figure GDA0002610674050000121
以及当前编码器隐藏状态ht有关:
Figure GDA0002610674050000122
其中,linear是线性函数,σ为激活函数。
获得gate的值之后,模型便可以计算此时新的词表的分布概率:
Figure GDA0002610674050000123
其中,HK为知识图谱编码模块产生的编码,
Figure GDA0002610674050000124
为知识多头自注意力中xi所对应的权重。
在一种具体的实施例中,输入的文本为(秋天、秋高气爽、丰收、交响乐),利用本发明的方法和装置中的知识图谱,提取出一些与之相关的三元组信息来辅助生成。
表1生成效果实例
Figure GDA0002610674050000125
/>
Figure GDA0002610674050000131
由表1可知,LSTM编码器-解码器模型的生成结果,内容较为单一,只涵盖了两个输入的词“秋天”“丰收”,而且生成内容有大量的重复片段。而Transformer编码器-解码器,即使在没有拷贝机制的情况下,也能生成较为丰富的文本,且能涵盖更多输入的词语。在添加拷贝机制之后,生成结果的丰富性进一步加强,通过从知识图谱中进行拷贝的方法,“秋高气爽”也被生成文本有效包含了。
本申请实施例还提供一种控制装置,包括处理器和用于存储计算机程序的存储介质;其中,处理器用于执行所述计算机程序时至少执行如上所述的方法。
本申请实施例还提供一种存储介质,用于存储计算机程序,该计算机程序被执行时至少执行如上所述的方法。
本申请实施例还提供一种处理器,所述处理器执行计算机程序,至少执行如上所述的方法。
所述存储介质可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,FerromagneticRandom Access Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact DiscRead-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,SynchronousStatic Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random AccessMemory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random AccessMemory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data RateSynchronous Dynamic Random AccessMemory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced SynchronousDynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,Sync Link Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

Claims (8)

1.一种自动化文本生成方法,其特征在于,包括如下步骤:
S1:训练Transformer编码-解码的深度学习模型,包括:
将话题词分别进行文本编码和知识图谱编码得到对应的隐藏状态表示,其中,在知识图谱编码过程中为每个所述话题词添加多个知识图谱三元组;
根据所述文本编码和所述知识图谱的三元组编码的隐藏状态表示解码得到生成文本;
S2:利用训练好的所述深度学习模型,根据新输入的话题词自动化生成新的文本;
所述话题词在进入所述深度学习模型之前,使用预训练的Bert模型进行文本编码,对于输入的话题词Ti,通过所述Bert模型得到其隐藏状态向量xi
xi=Bert(Ti)
通过所述隐藏状态向量得到输入的一组话题词T={T1,T2,T3,...,Tn}对应的隐藏状态表示
Figure FDA0004076507790000011
对于所述知识图谱编码得到的图G=(V,E)中的任意节点w,使用预训练的Bert模型对其产生一个词向量vx
vx=Bert(w)
将所有所述节点的词向量合并在一起组成初始输入vx
在所述深度学习模型的自注意力机制中,对于任意节点向量vi与其他节点向量vj的注意力权重a(vi,vj)计算为:
Figure FDA0004076507790000012
其中,Wk、Wq为参数矩阵,Ci为所有与节点i相连的节点组成的集合;
在获得所述节点的权重之后,使用多头自注意力机制更新每个所述节点的中间隐藏状态向量:
Figure FDA0004076507790000013
其中,vi为当前对应的节点向量,concat为合并每个Self-Attention的输出;
Figure FDA0004076507790000021
通过一个残差网络resnet和规范化层Norm进行处理,并利用一个全连接的前馈神经网络FFN得到更新的隐藏状态向量/>
Figure FDA0004076507790000022
Figure FDA0004076507790000023
向量
Figure FDA0004076507790000024
即代表节点vi的隐藏状态向量;
对于所述节点的总数为m的输入V,m为预先设定的任意正整数,获得其对应的隐藏状态表示
Figure FDA0004076507790000025
2.如权利要求1所述的自动化文本生成方法,其特征在于,根据所述文本编码和所述知识图谱的三元组编码得到的隐藏状态表示解码得到生成文本包括:
对于多头自注意力机制,在第i个时间步下,其中i为介于0和预先设置的最大输出长度之间的任意整数,机制以0到i-1步产生的词语对应的词向量X作为输入,获得第i个时间步对应的输出:
Figure FDA0004076507790000026
其中,a(xi-1,xj)为Self-Attention的权重,Norm为规范化层,concat为合并每个Self-Attention的输出,Wx为自学习参数;
通过话题多头自注意力机制,以普通的Multi-head Self-Attention的输出xi作为输入,得到对应的更新:
Figure FDA0004076507790000027
其中,HT为文本编码单元产生的编码,
Figure FDA0004076507790000028
为Self-Attention的权重,concat为合并每个Self-Attention的输出,WT为自学习参数;
通过知识多头自注意力机制,以普通的Multi-head Self-Attention的输出xi作为输入,得到对应的更新
Figure FDA0004076507790000029
Figure FDA00040765077900000210
其中,HK为知识图谱编码产生的编码,
Figure FDA00040765077900000211
为Self-Attention的权重,concat为合并每个Self-Attention的输出,WK为自学习参数;
为了权衡话题信息与知识图谱信息在生成过程中的权重,添加了一个自学习参数weight:
Figure FDA0004076507790000031
其中,WT、WK、b为自学习参数,σ为激活函数;
最终,对于第t个时间步,所述隐藏状态表示ht计算为:
Figure FDA0004076507790000032
产生对应的词表分布Pvocab
Pvocab(yt)=softmax(linear(ht))
其中,linear为线性函数,yt为生成的词语。
3.如权利要求2所述的自动化文本生成方法,其特征在于,还包括:在自动化生成新的文本的每一个生成词语的时间步中,通过选择门判断是生成一个词,还是从知识图谱中拷贝一个词语。
4.如权利要求3所述的自动化文本生成方法,其特征在于,选择门gate的计算同时与多头自注意力的输出xt、知识多头自注意力的输出
Figure FDA0004076507790000033
以及所述隐藏状态表示ht有关:
Figure FDA0004076507790000034
其中,linear是线性函数,σ为激活函数;
获得所述选择门gate的值之后,计算此时新的词表的分布概率:
Figure FDA0004076507790000035
其中,HK为所述知识图谱编码产生的编码,
Figure FDA0004076507790000036
为所述知识多头自注意力中xi所对应的权重。
5.一种自动化文本生成装置,其特征在于,包括:
编码单元,包括文本编码单元和知识图谱编码单元,用于将话题词分别进行文本编码和知识图谱编码得到对应的隐藏状态表示,其中,在知识图谱编码过程中为每个所述话题词添加多个知识图谱三元组;
解码单元,用于根据所述文本编码和所述知识图谱的三元组编码的隐藏状态表示解码得到生成文本;
所述话题词在进入深度学习模型之前,使用预训练的Bert模型进行文本编码,对于输入的话题词Ti,通过所述Bert模型得到其隐藏状态向量xi
xi=Bert(Ti)
通过所述隐藏状态向量得到输入的一组话题词T={T1,T2,T3,...,Tn}对应的隐藏状态表示
Figure FDA0004076507790000041
对于所述知识图谱编码得到的图G=(V,E)中的任意节点w,使用预训练的Bert模型对其产生一个词向量vx
vx=Bert(w)
将所有所述节点的词向量合并在一起组成初始输入vx
在所述深度学习模型的自注意力机制中,对于任意节点向量vi与其他节点向量vj的注意力权重a(vi,vj)计算为:
Figure FDA0004076507790000042
其中,Wk、Wq为参数矩阵,Ci为所有与节点i相连的节点组成的集合;
在获得所述节点的权重之后,使用多头自注意力机制更新每个所述节点的中间隐藏状态向量:
Figure FDA0004076507790000043
其中,vi为当前对应的节点向量,Ci为所有与节点i相连的节点组成的集合,concat为合并每个Self-Attention的输出;
Figure FDA0004076507790000051
通过一个残差网络resnet和规范化层Norm进行处理,并利用一个全连接的前馈神经网络FFN得到更新的隐藏状态向量/>
Figure FDA0004076507790000052
Figure FDA0004076507790000053
向量
Figure FDA0004076507790000054
即代表节点vi的隐藏状态向量;/>
对于所述节点的总数为m的输入V,m为预先设定的任意正整数,获得其对应的隐藏状态表示
Figure FDA0004076507790000055
6.如权利要求5所述的自动化文本生成装置,其特征在于,
所述编码单元,是由N个复合层组成,其中N为预先设定好的任意正整数,每个复合层包含两个单层,分别是多头自注意力层和全连接的前馈网络层;每个单层之间使用一个残差网络和规范化层进行处理;
所述解码单元,具有N个复合层,每个复合层具有四个单层:普通的多头自注意力层、话题多头自注意力层、知识多头自注意力层以及全连接的前馈神经网络层。
7.如权利要求5或6所述的自动化文本生成装置,其特征在于,所述解码单元还包括拷贝单元,用于从知识图谱三元组中复制一部分词语到生成文本中去。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4任一所述方法的步骤。
CN202010388608.1A 2020-05-09 2020-05-09 一种自动化文本生成方法、装置及计算机可读存储介质 Active CN111651557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010388608.1A CN111651557B (zh) 2020-05-09 2020-05-09 一种自动化文本生成方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010388608.1A CN111651557B (zh) 2020-05-09 2020-05-09 一种自动化文本生成方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111651557A CN111651557A (zh) 2020-09-11
CN111651557B true CN111651557B (zh) 2023-03-31

Family

ID=72346826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010388608.1A Active CN111651557B (zh) 2020-05-09 2020-05-09 一种自动化文本生成方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111651557B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214608B (zh) * 2020-09-21 2024-02-13 清华大学 基于知识推理的文本生成方法、介质、装置和计算设备
CN112364108B (zh) * 2020-11-13 2021-06-15 四川省人工智能研究院(宜宾) 一种基于时空架构的时序知识图谱补全方法
CN112528036B (zh) * 2020-11-30 2021-09-07 大连理工大学 一种面向证据关联分析的知识图谱自动构建方法
CN112559761B (zh) * 2020-12-07 2024-04-09 上海明略人工智能(集团)有限公司 基于图谱的文本生成方法、系统、电子设备及存储介质
CN112650768A (zh) * 2020-12-22 2021-04-13 网易(杭州)网络有限公司 对话信息的生成方法、装置及电子设备
CN113111188B (zh) * 2021-04-14 2022-08-09 清华大学 一种文本生成方法及系统
CN113065324A (zh) * 2021-05-08 2021-07-02 清华大学深圳国际研究生院 一种基于结构化三元组和锚定模板的文本生成方法及装置
CN113191161A (zh) * 2021-05-12 2021-07-30 清华大学深圳国际研究生院 基于逻辑增强的机器人互动方法、存储介质和电子设备
CN113312919A (zh) * 2021-06-15 2021-08-27 广东工业大学 一种知识图谱的文本生成方法及装置
CN113407792B (zh) * 2021-07-06 2024-03-26 亿览在线网络技术(北京)有限公司 一种基于话题的文本输入方法
CN113641830B (zh) * 2021-07-19 2024-03-29 北京百度网讯科技有限公司 模型预训练方法、装置、电子设备和存储介质
CN113591442B (zh) * 2021-10-08 2022-02-18 北京明略软件系统有限公司 文本生成方法、装置、电子装置及可读存储介质
CN115438170A (zh) * 2022-11-09 2022-12-06 北京红棉小冰科技有限公司 一种对话模型生成、应用方法、系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763284A (zh) * 2018-04-13 2018-11-06 华南理工大学 一种基于深度学习和主题模型的问答系统实现方法
CN111046187A (zh) * 2019-11-13 2020-04-21 山东财经大学 基于对抗式注意力机制的一样本知识图谱关系学习方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763284A (zh) * 2018-04-13 2018-11-06 华南理工大学 一种基于深度学习和主题模型的问答系统实现方法
CN111046187A (zh) * 2019-11-13 2020-04-21 山东财经大学 基于对抗式注意力机制的一样本知识图谱关系学习方法及系统

Also Published As

Publication number Publication date
CN111651557A (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN111651557B (zh) 一种自动化文本生成方法、装置及计算机可读存储介质
CN111143540B (zh) 智能问答方法、装置、设备及存储介质
CN110321417B (zh) 一种对话生成方法、系统、可读存储介质及计算机设备
CN111090461B (zh) 一种基于机器翻译模型的代码注释生成方法
CN112771531A (zh) 用于面向任务的对话的全局到本地存储器指针网络
CN111666427B (zh) 一种实体关系联合抽取方法、装置、设备及介质
CN113435211B (zh) 一种结合外部知识的文本隐式情感分析方法
CN111274362A (zh) 一种基于transformer架构的对话生成方法
CN109948159B (zh) 一种文本数据生成方法、装置、设备及可读存储介质
CN113254616B (zh) 面向智能问答系统的句向量生成方法及系统
CN111966820B (zh) 一种生成式摘要模型构建、提取生成式摘要方法及系统
CN111125333B (zh) 一种基于表示学习与多层覆盖机制的生成式知识问答方法
CN112214585A (zh) 回复消息生成方法、系统、计算机设备及存储介质
CN112559749A (zh) 在线教育师生智能匹配方法、装置及存储介质
CN111191015A (zh) 一种神经网络电影知识智能对话方法
CN114528398A (zh) 一种基于交互双重图卷积网络的情感预测方法及系统
CN115827844A (zh) 一种基于Sparql语句生成的知识图谱问答方法和系统
CN114648015A (zh) 一种基于依存关系注意力模型的方面级情感词识别方法
CN114297220A (zh) 一种数据处理方法、装置、计算机设备以及存储介质
CN111159424B (zh) 标注知识图谱实体的方法,装置,存储介质及电子设备
CN116386895B (zh) 基于异构图神经网络的流行病舆情实体识别方法与装置
CN113590983A (zh) 描述文本生成方法和装置、文本处理模型的训练方法
CN110909174B (zh) 一种基于知识图谱的简单问答中实体链接的改进方法
CN114358021A (zh) 基于深度学习的任务型对话语句回复生成方法及存储介质
CN113590745B (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
GR01 Patent grant
GR01 Patent grant