CN112069777B - 一种基于骨架的二阶段数据到文本生成方法 - Google Patents

一种基于骨架的二阶段数据到文本生成方法 Download PDF

Info

Publication number
CN112069777B
CN112069777B CN202010931906.0A CN202010931906A CN112069777B CN 112069777 B CN112069777 B CN 112069777B CN 202010931906 A CN202010931906 A CN 202010931906A CN 112069777 B CN112069777 B CN 112069777B
Authority
CN
China
Prior art keywords
skeleton
text
attribute
data
model
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
CN202010931906.0A
Other languages
English (en)
Other versions
CN112069777A (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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Publication of CN112069777A publication Critical patent/CN112069777A/zh
Application granted granted Critical
Publication of CN112069777B publication Critical patent/CN112069777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种基于骨架的二阶段数据到文本生成方法,属于人工智能与自然语言生成技术领域。所述方法将数据到文本生成划分为骨架构建和文本生成两个阶段。首先,本方法提出一种基于结构化Transformer的骨架构建模型SCST来构建数据的文本骨架;然后,将文本骨架嵌入到本方法提出的基于骨架的非自回归文本生成模型SNAM中,利用插入与删除操作逐步生成文本。该方法能较好地发掘人物传记类新闻之间的知识关联,在BLEU及ROUGE指标上显著优于传统模型。

Description

一种基于骨架的二阶段数据到文本生成方法
技术领域
本发明涉及一种数据到文本生成方法,具体涉及一种基于骨架的二阶段数据到文本生成方法,属于人工智能与自然语言生成技术领域。
背景技术
随着人工智能的不断发展,人们开始寄希望于机器能够具备像人一样的写作能力,从而辅助人类进行写作甚至替代人类写作,进一步提高数据到文本的转换速度。机器智能写作的核心是自然语言生成技术,而数据到文本生成是自然语言生成领域的典型技术,是实现机器自动写作的关键技术之一。数据到文本生成指的是基于结构化数据生成一段恰当而流畅的描述性文本,它在天气预报、体育新闻报道、人物传记生成等场景上都有着重要的应用价值。
数据到文本生成一般可归结内容选择(Content Selection)和表层实现(SurfaceRealization)两个任务,内容选择指的是从输入中选择合适的内容进行表达,表层实现指的是使用合适的文本来描述所选择的内容。最早期的方法依赖于领域专家的知识,通过制定多条规则来实现上述任务,然而这种方法十分的费时费力,而且在一个领域中制定的规则难以直接应用在其它领域,因此它的泛化能力较差。
随着深度学习技术的发展,基于深度学习的数据到文本生成方法成为了目前研究的重点。Lebret等人在2016年发布了新的人物传记数据集WikiBio,并提出一个基于神经语言模型的方法,该方法配备了拷贝机制,在生成时可以直接从输入数据拷贝相应文本,论文中的实验结果表明基于神经语言模型的方法要远胜于基于统计语言模型的方法。Mei等人在2016年提出了一个基于长短时记忆网络的自回归模型,其中加入了一个粗粒度到细粒度的对齐器(Aligner),用于识别输入里比较重要的数据库条目,解码器基于这些条目逐步生成文本,该方法在天气预报生成上取得了令人惊艳的效果。Liu等人在2018年提出了结构化的生成模型,在编码时将属性名信息嵌入到LSTM的细胞状态中(Cell State),使得属性名信息可以直接影响属性值的编码过程,并在解码时引入对偶注意力机制整合属性名和属性值信息,该模型在WikiBio数据集上取得了突出的成果。
上述的数据到文本生成方法主要使用序列到序列的自回归模型,虽然这些方法可以为结构化数据生成较为流畅的文本,但它们仍然存在着两个方面的问题:第一,缺乏对文本的规划,生成的文本中常常会遗漏一些输入数据里的关键信息。第二,自回归模型容易产生“幻觉”,生成不符合输入数据的文本。本发明的目的是致力于解决上述数据到文本生成方法的技术缺陷,提出一种基于骨架的二阶段数据到文本生成方法。
发明内容
本发明的目的是为了解决现有的基于自回归模型的数据到文本生成方法对文本规划不足以及容易产生“幻觉”问题,提出一种基于骨架的二阶段数据到文本生成方法,将数据到文本生成分为骨架构建与文本生成两个阶段,骨架构建阶段由一种基于结构化Transformer的骨架构建模型实现,文本生成阶段由一种基于骨架的非自回归文本生成模型实现。
本发明采用的技术实现方案如下:
(1)在骨架构建阶段,提出一种基于结构化transformer的骨架构建模型,该模型利用输入数据间的结构信息构造文本的骨架;
(2)在文本生成阶段,提出一种基于骨架的非自回归文本生成模型,该模型利用骨架信息,生成逻辑性强且信息丰富的文本;
所述基于骨架的二阶段数据到文本生成方法,包括以下步骤:
步骤1,基于无骨架数据集构建骨架数据集,并对其进行划分,生成骨架训练集和骨架测试集,具体为:
步骤1.1,重构无骨架数据集中的每个数据表,具体为:将属性值中的单词拆开,将每个单词对应的属性名用原始属性名以及该单词在属性值中的正向位置和逆向位置表示;
其中,数据集中的每个数据表都对应一个描述该表的文本;数据表由多条记录组成,每个记录表示为:属性名-属性值;每条记录中的属性值包含多个单词;
步骤1.2,构建数据集中每个数据表的文本骨架,即构建包含文本骨架的数据集,具体包括如下子步骤:
步骤1.2.1,设置每个数据表的文本骨架中不包含任何单词;
步骤1.2.2,枚举该数据表对应文本的每一个单词,若该单词不是停用词且在数据表的属性值列中出现过,则将该单词添加到骨架中;
步骤1.2.3,枚举完每个数据表对应的文本,得到每个数据表对应的骨架;
步骤1.3,按照一定比例,将步骤1.2构建的包含文本骨架的数据集划分为骨架训练集和骨架测试集;
其中,一定比例包括但不限于8:2、7:3、6:4以及5:5;
步骤2,基于骨架数据集对骨架构建模型进行训练和测试,输出训练好的文本骨架构建模型;
其中,骨架构建模型利用输入数据间的结构信息构造文本的骨架,包括Transformer编码器A、Transformer解码器A以及拷贝层;
其中,Transformer编码器A包括属性名编码器A与属性值编码器A,分别对属性名和属性值分别进行编码,得到相应的特征向量;Transformer解码器A对特征向量解码,得到解码器A输出向量;拷贝层对解码器A输出向量进行处理,构建文本骨架;
步骤2,具体包括以下子步骤:
步骤2.1,对于骨架训练集中的每一个数据表,获取属性名输入向量和属性值的输入向量;
步骤2.2,利用骨架构建模型中的属性名编码器A与属性值编码器A,对属性名和属性值的输入向量进行编码,得到属性名与属性值的特征向量;
步骤2.3,利用骨架构建模型中的解码器A对属性名和属性值的特征向量进行解码,得到解码器A的输出向量;
步骤2.4:通过拷贝层对解码器A的输出向量进行处理,生成数据表的文本骨架;
步骤2.5:基于损失函数计算该骨架构建模型的损失,利用梯度下降和反向传播算法,优化骨架构建模型的参数;
步骤2.6,将骨架测试集输入到骨架构建模型进行测试,若效果指标达到要求,停止训练并保存当前骨架构建模型为训练好的文本骨架构建模型,否则跳至步骤2.1;
步骤3,对于骨架数据集中的每一个数据表,利用步骤2得到训练好的文本骨架构建模型,生成对应的文本骨架;
步骤4,对基于骨架的非自回归文本生成模型,进行训练和测试,输出训练好的基于骨架的非自回归文本生成模型;
其中,基于骨架的非自回归文本生成模型,利用骨架信息,生成逻辑性强且信息丰富的文本,包括Transformer编码器B、Transformer解码器B以及操作编辑器;
其中,Transformer编码器B包括属性名编码器B与属性值编码器B;
其中,操作编辑器包括删除编辑器、占位符编辑器以及单词编辑器,删除编辑器实现删除操作产生删除中间序列,占位符编辑器和单词编辑器实现插入操作产生插入中间序列;
步骤4,具体包括以下子步骤:
步骤4.1:在基于骨架的非自回归文本生成模型上执行步骤4.1A、步骤4.1B以及步骤4.1C;
步骤4.1A,对于骨架训练集中的每一个数据表,获取属性名和属性值的输入向量;
步骤4.1B,利用属性名编码器B与属性值编码器B,对属性名和属性值的输入向量进行编码,得到属性名和属性值的特征向量;
步骤4.1C,利用解码器B对属性名和属性值的特征向量进行解码,得到解码器B输出向量;
步骤4.2:将解码器B输出向量输入到删除编辑器中,构建删除中间序列;
步骤4.3:将数据表的骨架输入到占位符编辑器和单词编辑器,构建插入中间序列;
步骤4.4:基于损失函数计算该基于骨架的非自回归文本生成模型的损失,利用梯度下降和反向传播算法,优化基于骨架的非自回归文本生成模型的参数;
步骤4.5:将骨架测试集数据输入到基于骨架的非自回归文本生成模型进行测试,若效果指标达到要求,停止训练并保存当前基于骨架的非自回归文本生成模型为训练好的基于骨架的非自回归文本生成模型,否则跳至步骤4.1;
步骤5:将网络中的数据表输入到训练好的骨架构建模型,生成其文本骨架,然后将文本骨架输入到训练好的基于骨架的非自回归文本生成模型,得到对应的描述文本。
有益效果
本发明所述一种基于骨架的二阶段数据到文本生成方法,与现有技术相比,具有如下有益效果:
1.所述方法与传统的主要采用端到端的自回归神经网络模型的文本生成方法相比,生成文本不容易遗漏关键信息,也不经常生成与输入数据不符合的内容;所述方法能模仿人类写作方法,将文本生成分解为文本骨架构建和文本生成两阶段任务,采用自回归模型和非自回归模型相结合的方法,生成覆盖度和流畅度更优的文本;
2.所述方法在BLEU和ROUGE指标上优于传统方法。
附图说明
图1是本发明一种基于骨架的二阶段数据到文本生成方法中步骤2中骨架构建模型的整体框架图;
图2是骨架构建模型的属性名输入层和属性值输入层的操作示意图;
图3是本发明一种基于骨架的二阶段数据到文本生成方法中步骤4中基于骨架的非自回归文本生成模型的整体框架图;
图4是基于骨架的非自回归文本生成模型的编辑器操作的示意图。
具体实施方式
下面结合附图和实施例对本发明一种基于骨架的二阶段数据到文本生成方法做进一步的说明。
实施例1
本实施例详细阐述了本方法在WikiBio数据集下具体实施时的方法和效果,包括以下步骤:
步骤1:从WikiBio数据集中构建骨架数据集,并对其进行划分,生成骨架训练集和骨架测试集。
其中,WikiBio数据集是一个人物传记数据集,数据集中的每个样本包含一个人物的数据表格以及对应的人物描述文本。
步骤1,具体包括以下步骤:
步骤1.1:重构WikiBio数据集的每个数据表。
其中,WikiBio数据集中的每条样本包含一个人物数据表T,数据表的样式如表1所示。T是多条属性名-属性值记录的集合,记作{R1,R2,...,RP},p代表记录的数量。每条属性名-属性值记录Ri由属性值中的单词序列{v1,v2,...,vl}及其对应的属性名
Figure BDA0002670505870000071
构成,l代表Ri的属性值所包含的单词数量。每个人物表格都对应有一条关于该人物的描述文本
Figure BDA0002670505870000072
n表示文本单词数量。为了更加精准地表示属性值中每个单词的语义,本发明对数据表进行重构。
表1 WikiBio中的一个人物数据表
Figure BDA0002670505870000073
具体地,对于每条属性名-属性值记录Ri,将属性值中的单词序列拆开,对于序列中的每一个单词w,将其对应的属性名表示为
Figure BDA0002670505870000074
其中,fw表示原始属性名,
Figure BDA0002670505870000075
表示单词w与属性值序列开头的距离,
Figure BDA0002670505870000076
表示单词w与属性值序列结尾的距离。对于表1进行重构后的数据表如表2所示。
表2:重构后的数据表
Figure BDA0002670505870000081
步骤1.2:构建WikiBio数据集中每个数据表的文本骨架,即构建包含文本骨架的数据集。
具体包括以下步骤:
步骤1.2.1,设置每个数据表的文本骨架中不包含任何单词。
步骤1.2.2,枚举该数据表对应文本的每一个单词,若该单词不是停用词且在数据表的属性值列中出现过,则将该单词添加到骨架中。
步骤1.2.3,枚举完每个数据表对应的文本后,便得到每个数据表对应的骨架。
步骤1.3:按照一定的比例将骨架数据集划分为训练集和测试集。训练集用于优化骨架构建模型参数,测试集用于测试骨架构建模型效果。
其中,一定比例包括但不限于8:2、7:3、6:4以及5:5。
步骤2:基于骨架数据集对骨架构建模型进行训练和测试,输出训练好的文本骨架构建模型。
其中,骨架构建模型包括Transformer编码器A、Transformer解码器A以及拷贝层,该模型简称为SCST模型,模型的总体架构图如图1所示。
结合图1,对SCST模型的训练过程进行详细说明,具体包含如下步骤。
步骤2.1:将骨架训练集中的每一个数据表输入到SCST模型的属性名输入层和属性值输入层,获取属性名输入向量和属性值的输入向量,具体操作如图2所示。
步骤2.1,具体包括以下步骤:
步骤2.2.1:获得属性名和属性值的表示向量。
其中,数据表T的包含m条属性名-属性值记录,其属性名集合为
Figure BDA0002670505870000091
属性值集合为{v1,v2...,vm}。
对于T的第i个属性名-属性值记录
Figure BDA0002670505870000092
和vi,通过Embedding技术得到对应的嵌入式向量表示
Figure BDA0002670505870000093
Figure BDA00026705058700000911
之后通过SCST模型中的属性名表示层得到属性名表示向量fi:
Figure BDA0002670505870000094
其中,Relu为激活函数,Wf表示可训练的参数矩阵,[;]表示对向量进行拼接。
对数据表T的每条记录执行相同的操作后,得到属性名集合的表示向量{f1,f2...,fm}和属性值集合的表示向量
Figure BDA00026705058700000912
步骤2.1.2:获取属性名和属性值的输入向量。
具体操作过程如图2所示,对于第i条属性名-属性值记录,得到属性名输入向量
Figure BDA0002670505870000095
和属性值输入向量
Figure BDA0002670505870000096
Figure BDA0002670505870000097
Figure BDA0002670505870000098
其中,
Figure BDA00026705058700000913
为i的向量表示,通过Embedding技术得到。
对数据表T的每条记录执行相同的操作后,得到属性名集合的输入向量
Figure BDA0002670505870000099
和属性值集合的输入向量
Figure BDA00026705058700000910
步骤2.2:利用Transformer编码器A进行编码,获取属性名特征向量和属性值特征向量。
其中,SCST模型的编码部分由属性名编码器A和属性值编码器A组成,分别对属性名输入向量
Figure BDA0002670505870000101
和属性值集合的输入向量
Figure BDA0002670505870000102
进行编码,提取不同颗粒度的数据信息。
按照公式(4)和公式(5)对属性名输入向量和属性值输入向量进行编码。
Figure BDA0002670505870000103
Figure BDA0002670505870000104
其中,EBlockl表示属性名编码器中第l层Transformer编码器模块,EBlock′l表示属性值编码器中第l层Transformer编码器模块。
将属性名编码器A最后一层输出记为{c1,c2,...,cm},代表属性名的特征向量,将属性值编码器A最后一层的输出记为{h1,h2,...,hm},代表属性值的特征向量;
步骤2.3:执行SCST模型的解码部分。
其中,SCST模型的解码部分采用自回归的解码模式,在每一个解码时刻生成一个单词;在解码的t+1时刻,解码器的输入为0-t时刻解码得到的单词序列{s0,s1...,st},s0为起始符号“<s>”;
步骤2.3,具体的解码过程包括如下步骤:
步骤2.3.1:获得解码器A的骨架输入向量。
首先,通过Embedding技术得到{s0,s1...,st}的嵌入式向量表示
Figure BDA0002670505870000107
和全局位置嵌入向量表示
Figure BDA0002670505870000108
然后,通过公式(6)得到骨架输入向量
Figure BDA0002670505870000105
Figure BDA0002670505870000106
步骤2.3.2:获得解码器A的输出向量。
按照公式(7)计算解码器A的输出向量。
Figure BDA0002670505870000111
其中,C={c1,c2,...,cm}表示属性名的特征向量,H={h1,h2,...,hm}表示属性值的特征向量,DBlockl表示解码器中第l层Transformer解码器模块。
将解码器A最后一层Transformer解码模块的输出记为{z0,z1,...,zt},并作为解码器的输出向量。
步骤2.4:利用拷贝机制生成t+1时刻骨架的单词st+1
其中,拷贝机制通过SCST模型中的拷贝层实现,拷贝层利用指针网络的思想,通过注意力机制直接从数据表中拷贝相应的属性值作为预测结果。
步骤2.4,具体包括如下步骤:
步骤2.4.1:通过公式(8)计算解码器A的输出zt与属性名的特征向量{c1,c2,...,cm}的注意力分布
Figure BDA0002670505870000112
Figure BDA0002670505870000113
其中,
Figure BDA0002670505870000114
其中,W′q与W′kc为可训练参数,dmodel为ci的向量维度。
步骤2.4.2:通过公式(10)计算解码器A的输出zt与属性名的特征向量{h1,h2,...,hm}的注意力分布
Figure BDA0002670505870000115
Figure BDA0002670505870000116
其中,
Figure BDA0002670505870000117
其中,W′kh为可训练参数。
步骤2.4.3:将
Figure BDA0002670505870000121
Figure BDA0002670505870000122
进行归一化,得到注意力分布
Figure BDA0002670505870000123
Figure BDA0002670505870000124
Figure BDA0002670505870000125
步骤2.4.4:利用
Figure BDA0002670505870000126
从数据表中拷贝相应的属性值,作为t+1时刻的生成骨架单词st+1
Figure BDA0002670505870000127
其中,
Figure BDA0002670505870000128
步骤2.5:基于损失函数计算该骨架构建模型的损失,利用梯度下降和反向传播算法,优化骨架构建模型的参数。
以数据集中的数据表T为例,其目标骨架为
Figure BDA0002670505870000129
q为骨架长度,属性名集合
Figure BDA00026705058700001210
属性值集合为V={v1,v2...,vm}。模型的训练目标如公式(15)所示。
Figure BDA00026705058700001211
其中,θ代表SCST模型的参数。
步骤2.6,将骨架测试集输入到骨架构建模型进行测试,若效果指标达到要求,停止训练并保存当前骨架构建模型为训练好的文本骨架构建模型,否则跳至步骤2.1。
步骤3,对于骨架数据集中的每一个数据表T,根据步骤2得到训练好的SCST模型,生成对应的文本骨架
Figure BDA00026705058700001212
步骤4:对基于文本骨架的非自回归文本生成模型,进行训练和测试,输出训练好的基于文本骨架的非自回归文本生成模型。
其中,基于骨架的非自回归文本生成模型包括Transformer编码器B、Transformer解码器B以及操作编辑器,该模型简称SNAM模型,总体架构如图3所示;
其中,操作编辑器包括删除编辑器、占位符编辑器以及单词编辑器,删除编辑器实现删除操作产生删除中间序列,占位符编辑器和单词编辑器实现插入操作产生插入中间序列;
图4表示SNAM单次训练迭代过程,以第k次迭代过程为例,结合图4对SNAM模型的训练过程进行说明,具体包括以下步骤:
步骤4.1:获取SNAM模型解码器B输出向量。
对于k-1次迭代生成的文本序列Yk-1,在SNAM模型上执行步骤4.1A、步骤4.1B以及步骤4.1C。
步骤4.1A,对于骨架训练集中的每一个数据表,获取属性名输入向量和属性值的输入向量;
步骤4.1B,利用基于骨架的非自回归文本生成模型中的属性名编码器B与属性值编码器B,对属性名和属性值的输入向量进行编码,得到属性名的特征向量与属性值的特征向量;
步骤4.1C,利用基于骨架的非自回归文本生成模型中的解码器B对属性值和属性名的特征向量进行解码,得到解码器B输出向量
Figure BDA0002670505870000131
Figure BDA0002670505870000132
其中,
Figure BDA0002670505870000133
其中n+1表示序列长度,
Figure BDA0002670505870000134
表示起始符<s>,
Figure BDA0002670505870000135
表示结束符</s>。
步骤4.2:通过基于骨架的删除策略
Figure BDA0002670505870000136
构建删除操作的中间序列
Figure BDA0002670505870000137
其中,基于骨架删除策略
Figure BDA0002670505870000138
对骨架
Figure BDA0002670505870000139
和第k-1次迭代过程删除操作产生的中间序列
Figure BDA00026705058700001310
进行采样,构建删除中间序列
Figure BDA00026705058700001311
采样过程如公式(16)所示。
Figure BDA0002670505870000141
其中,α∈[0,1]表示策略
Figure BDA0002670505870000142
的采样阈值,u∈Uniform[0,1],
Figure BDA0002670505870000143
为插入占位符操作,
Figure BDA0002670505870000144
为每一个占位符填充单词操作。ε为环境函数,返回对序列执行操作后得到的新序列。
步骤4.3:通过基于骨架的插入策略
Figure BDA0002670505870000145
构建插入操作的中间序列
Figure BDA0002670505870000146
其中,基于骨架插入策略
Figure BDA0002670505870000147
对骨架
Figure BDA0002670505870000148
和第k-1次迭代过程插入操作产生的中间序列
Figure BDA0002670505870000149
进行采样,构建插入中间序列
Figure BDA00026705058700001410
采样过程如公式(19)所示。
Figure BDA00026705058700001411
其中,β∈[0,1]表示策略
Figure BDA00026705058700001412
的采样阈值,u∈Uniform[0,1],
Figure BDA00026705058700001413
为删除单词操作。
步骤4.4:对SNAM模型进行训练和测试,输出训练好的SNAM模型。
具体包括以下步骤:
步骤4.4.1:计算删除操作和插入操作的损失值。
将删除中间序列
Figure BDA00026705058700001414
输入到公式(21),计算删除操作的损失值。
Figure BDA00026705058700001415
其中,n表示
Figure BDA00026705058700001416
的长度,di为在
Figure BDA00026705058700001417
的第i个位置执行删除操作。
将插入中间序列
Figure BDA00026705058700001418
输入到公式(22),计算插入操作的损失值。
Figure BDA00026705058700001419
其中,
Figure BDA00026705058700001420
pi为在
Figure BDA00026705058700001421
的第i个位置执行添加占位符操作,<pth>表示占位符,
Figure BDA00026705058700001422
Figure BDA00026705058700001423
经过执行添加占位符操作得到的中间序列,ti为在
Figure BDA00026705058700001424
的第i个占位符位置执行插入单词操作。
步骤4.4.2:计算词袋损失。
其中,词袋损失使SNAM模型可以捕捉到句子层面的语义。词袋损失使用句子的词袋表示作为训练目标,对于给定待填充单词的中间序列
Figure BDA0002670505870000151
以及目标序列
Figure BDA0002670505870000152
具体计算过程如公式(23)所示。
Figure BDA0002670505870000153
其中,Plow是一个维度为输出词表长度的向量,计算过程为公式(24)所示。
Figure BDA0002670505870000154
表示填充的所有单词中存在
Figure BDA0002670505870000155
的概率。
Figure BDA0002670505870000156
其中,Wvocab为输出词汇表的Embedding矩阵,
Figure BDA0002670505870000157
Figure BDA0002670505870000158
通过SNAM模型的结构化Transformer得到的隐向量。
步骤4.4.3:通过公式(25),计算SNAM模型的总损失值,将总损失值通过反向传播算法输入到SNAM模型中,优化SNAM模型参数。
Figure BDA0002670505870000159
步骤4.5:将骨架测试集数据输入到SNAM模型进行测试,若效果指标达到要求,停止训练并保存当前SNAM模型为训练好的SNAM模型,否则跳至步骤4.1。
步骤5:根据训练好的SCST模型和SNAM模型,针对网络中的数据表,首先通过SCST模型生成其文本骨架,然后利用SNAM模型得到对应的描述文本。
实验验证对比如下:
本发明方法和各种基准方法的实验对比结果如表1所示,在BLEU和ROUGE指标上,利用本发明方法均取得最好的效果。
表1实验对比效果
方法 BLEU ROUGE
Table NLM 34.70 25.80
Order-Plan 43.91 37.15
PtrGen 44.11 40.57
Transformer 44.87 40.89
Struct-Aware 44.91 41.33
SNAM(Only) 42.81 39.99
本方法:SNAM+SCST 45.46 41.47
表2展示了本发明在人工评测上的结果,从中可以看出,SNAM+SCST在真实性和覆盖度上均优于基线方法,这说明二阶段的生成方法可以减少模型生成错误内容的可能性,生成更加符合输入数据的文本,生成的文本对输入数据的描述也更加全面细致。此外,SNAM+SCST生成的文本在流畅度上也超过基线方法。
表2:人工评测结果
方法 流畅度 真实性 覆盖度
Transformer 4.55 3.92 3.29
Struct-Aware 4.63 3.86 3.42
本方法:SNAM+SCST 4.66 4.15 3.53
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

Claims (5)

1.一种基于骨架的二阶段数据到文本生成方法,其特征在于:包括以下步骤:
步骤1,基于无骨架数据集构建骨架数据集,并对其进行划分,生成骨架训练集和骨架测试集;
步骤2,基于骨架数据集对骨架构建模型进行训练和测试,输出训练好的文本骨架构建模型;
其中,骨架构建模型利用输入数据间的结构信息构造文本的骨架,包括Transformer编码器A、Transformer解码器A以及拷贝层;
其中,Transformer编码器A包括属性名编码器A与属性值编码器A,分别对属性名和属性值分别进行编码,得到相应的特征向量;Transformer解码器A对特征向量解码,得到解码器A输出向量;拷贝层对解码器A输出向量进行处理,构建文本骨架;
步骤3,对于骨架数据集中的每一个数据表,利用步骤2得到训练好的文本骨架构建模型,生成对应的文本骨架;
步骤4,对基于骨架的非自回归文本生成模型,进行训练和测试,输出训练好的基于骨架的非自回归文本生成模型;
其中,基于骨架的非自回归文本生成模型,利用骨架信息,生成逻辑性强且信息丰富的文本,包括Transformer编码器B、Transformer解码器B以及操作编辑器;
其中,Transformer编码器B包括属性名编码器B与属性值编码器B;
其中,操作编辑器包括删除编辑器、占位符编辑器以及单词编辑器,删除编辑器实现删除操作产生删除中间序列,占位符编辑器和单词编辑器实现插入操作产生插入中间序列;
步骤4,具体包括以下子步骤:
步骤4.1:在基于骨架的非自回归文本生成模型上执行步骤4.1A、步骤4.1B以及步骤4.1C;
步骤4.1A,对于骨架训练集中的每一个数据表,获取属性名和属性值的输入向量;
步骤4.1B,利用属性名编码器B与属性值编码器B,对属性名和属性值的输入向量进行编码,得到属性名和属性值的特征向量;
步骤4.1C,利用解码器B对属性名和属性值的特征向量进行解码,得到解码器B输出向量;
步骤4.2:将解码器B的输出向量输入到删除编辑器中,构建删除中间序列;
步骤4.3:将数据表的骨架输入到占位符编辑器和单词编辑器,构建插入中间序列;
步骤4.4:基于损失函数计算该基于骨架的非自回归文本生成模型的损失,利用梯度下降和反向传播算法,优化基于骨架的非自回归文本生成模型的参数;
步骤4.5:将骨架测试集数据输入到基于骨架的非自回归文本生成模型进行测试,若效果指标达到要求,停止训练并保存当前基于骨架的非自回归文本生成模型为训练好的基于骨架的非自回归文本生成模型,否则跳至步骤4.1;
步骤5:将网络中的数据表输入到训练好的骨架构建模型,生成其文本骨架,然后将文本骨架输入到训练好的基于骨架的非自回归文本生成模型,得到对应的描述文本。
2.根据权利要求1所述的一种基于骨架的二阶段数据到文本生成方法,其特征在于:步骤1,具体为:
步骤1.1,重构无骨架数据集中的每个数据表,具体为:将属性值中的单词拆开,将每个单词对应的属性名用原始属性名以及该单词在属性值中的正向位置和逆向位置表示;
其中,数据集中的每个数据表都对应一个描述该表的文本;数据表由多条记录组成,每个记录表示为:属性名-属性值;每条记录中的属性值包含多个单词;
步骤1.2,构建数据集中每个数据表的文本骨架,即构建包含文本骨架的数据集;
步骤1.3,按照一定比例,将步骤1.2构建的包含文本骨架的数据集划分为骨架训练集和骨架测试集。
3.根据权利要求2所述的一种基于骨架的二阶段数据到文本生成方法,其特征在于:步骤1.2,具体包括如下子步骤:
步骤1.2.1,设置每个数据表的文本骨架中不包含任何单词;
步骤1.2.2,枚举该数据表对应文本的每一个单词,若该单词不是停用词且在数据表的属性值列中出现过,则将该单词添加到骨架中;
步骤1.2.3,枚举完每个数据表对应的文本,得到每个数据表对应的骨架。
4.根据权利要求3所述的一种基于骨架的二阶段数据到文本生成方法,其特征在于:步骤1.3中,一定比例包括但不限于8:2、7:3、6:4以及5:5。
5.根据权利要求4所述的一种基于骨架的二阶段数据到文本生成方法,其特征在于:步骤2,具体包括以下子步骤:
步骤2.1,对于骨架训练集中的每一个数据表,获取属性名输入向量和属性值的输入向量;
步骤2.2,利用骨架构建模型中的属性名编码器A与属性值编码器A,对属性名和属性值的输入向量进行编码,得到属性名与属性值的特征向量;
步骤2.3,利用骨架构建模型中的解码器A对属性名和属性值的特征向量进行解码,得到解码器A输出向量;
步骤2.4:通过拷贝层对解码器A输出向量进行处理,生成数据表的文本骨架;
步骤2.5:基于损失函数计算该骨架构建模型的损失,利用梯度下降和反向传播算法,优化骨架构建模型的参数;
步骤2.6,将骨架测试集输入到骨架构建模型进行测试,若效果指标达到要求,停止训练并保存当前骨架构建模型为训练好的文本骨架构建模型,否则跳至步骤2.1。
CN202010931906.0A 2020-06-15 2020-09-08 一种基于骨架的二阶段数据到文本生成方法 Active CN112069777B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2020105465674 2020-06-15
CN202010546567 2020-06-15

Publications (2)

Publication Number Publication Date
CN112069777A CN112069777A (zh) 2020-12-11
CN112069777B true CN112069777B (zh) 2022-09-30

Family

ID=73664040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010931906.0A Active CN112069777B (zh) 2020-06-15 2020-09-08 一种基于骨架的二阶段数据到文本生成方法

Country Status (1)

Country Link
CN (1) CN112069777B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115796125B (zh) * 2023-02-08 2023-05-05 阿里巴巴达摩院(杭州)科技有限公司 文本生成方法、模型训练方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019046158A (ja) * 2017-09-01 2019-03-22 国立研究開発法人産業技術総合研究所 テキスト生成装置、テキスト生成方法及びテキスト生成プログラム
CN109598380A (zh) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 一种多元实时时序数据预测的方法和系统
CN110298436A (zh) * 2019-06-28 2019-10-01 乐山金蜜工业卫士服务股份有限公司 基于指针生成网络的数据到文本的生成模型
CN110427989A (zh) * 2019-07-18 2019-11-08 北京大学 汉字骨架自动合成方法及大规模中文字库自动生成方法
CN110533737A (zh) * 2019-08-19 2019-12-03 大连民族大学 基于结构引导汉字字体生成的方法
CN111126282A (zh) * 2019-12-25 2020-05-08 中国矿业大学 一种基于变分自注意力强化学习的遥感图像内容描述方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060155530A1 (en) * 2004-12-14 2006-07-13 International Business Machines Corporation Method and apparatus for generation of text documents
US20160306791A1 (en) * 2015-04-15 2016-10-20 International Business Machines Corporation Determining User-Friendly Information to Solicit in a Question and Answer System

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019046158A (ja) * 2017-09-01 2019-03-22 国立研究開発法人産業技術総合研究所 テキスト生成装置、テキスト生成方法及びテキスト生成プログラム
CN109598380A (zh) * 2018-12-03 2019-04-09 郑州云海信息技术有限公司 一种多元实时时序数据预测的方法和系统
CN110298436A (zh) * 2019-06-28 2019-10-01 乐山金蜜工业卫士服务股份有限公司 基于指针生成网络的数据到文本的生成模型
CN110427989A (zh) * 2019-07-18 2019-11-08 北京大学 汉字骨架自动合成方法及大规模中文字库自动生成方法
CN110533737A (zh) * 2019-08-19 2019-12-03 大连民族大学 基于结构引导汉字字体生成的方法
CN111126282A (zh) * 2019-12-25 2020-05-08 中国矿业大学 一种基于变分自注意力强化学习的遥感图像内容描述方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种使用多跳事实的端到端知识库实体描述生成方法;孟庆松等;《中文信息学报》;20190515(第05期);全文 *
结合Transformer模型与深度神经网络的数据到文本生成方法;许晓泓等;《重庆大学学报》;20191231;全文 *

Also Published As

Publication number Publication date
CN112069777A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN111897949B (zh) 一种基于Transformer的引导性文本摘要生成方法
CN110348016B (zh) 基于句子关联注意力机制的文本摘要生成方法
CN107832299B (zh) 基于人工智能的标题的改写处理方法、装置及可读介质
CN109992669B (zh) 一种基于语言模型和强化学习的关键词问答方法
CN112000772B (zh) 面向智能问答基于语义特征立方体的句子对语义匹配方法
CN113934887B (zh) 一种基于语义解耦的无提议时序语言定位方法
CN110083710A (zh) 一种基于循环神经网络与潜变量结构的词语定义生成方法
CN110033008A (zh) 一种基于模态变换与文本归纳的图像描述生成方法
CN110570845A (zh) 一种基于域不变特征的语音识别方法
CN110427629A (zh) 半监督文本简化模型训练方法和系统
CN113204674B (zh) 基于局部-整体图推理网络的视频-段落检索方法及系统
CN112417092A (zh) 基于深度学习的智能化文本自动生成系统及其实现方法
CN111429893A (zh) 基于Transitive STARGAN的多对多说话人转换方法
CN114168754A (zh) 一种基于句法依赖和融合信息的关系抽取方法
CN117522697A (zh) 一种人脸图像生成方法、系统及模型训练方法
CN112446221B (zh) 翻译评估方法、装置、系统及计算机存储介质
CN114281982B (zh) 一种多模态融合技术的图书宣传摘要生成方法和系统
CN115658898A (zh) 一种中英文本实体关系抽取方法、系统及设备
CN112069777B (zh) 一种基于骨架的二阶段数据到文本生成方法
CN114880527B (zh) 一种基于多预测任务的多模态知识图谱表示方法
CN114997143B (zh) 文本生成模型训练方法和系统、文本生成方法及存储介质
CN116432637A (zh) 一种基于强化学习的多粒度抽取-生成混合式文摘方法
CN115659172A (zh) 基于关键信息掩码与拷贝的生成式文本摘要方法
CN115422329A (zh) 一种基于知识驱动的多路筛选融合对话生成方法
CN114358021A (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