CN110019471B - 从结构化数据生成文本 - Google Patents
从结构化数据生成文本 Download PDFInfo
- Publication number
- CN110019471B CN110019471B CN201711348978.7A CN201711348978A CN110019471B CN 110019471 B CN110019471 B CN 110019471B CN 201711348978 A CN201711348978 A CN 201711348978A CN 110019471 B CN110019471 B CN 110019471B
- Authority
- CN
- China
- Prior art keywords
- word
- structured data
- determining
- probability
- natural language
- 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
Links
- 238000013528 artificial neural network Methods 0.000 claims description 57
- 238000000034 method Methods 0.000 claims description 39
- 239000013598 vector Substances 0.000 claims description 38
- 230000000306 recurrent effect Effects 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 14
- 230000010076 replication Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 241000009328 Perro Species 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
根据本公开的各种实现,提供了一种从结构化数据生成文本的方案。在该方案中,将结构化数据转换为其表示,其中结构化数据包括多个单元。结构化数据的表示包括多个单元的多个表示。基于结构化数据的表示,可以确定与结构化数据相关联的自然语言语句,从而实现结构化数据转换为文本的功能。
Description
背景技术
表等结构化数据是网络上广泛使用的数据源类型,其具有形式结构并且包括有价值的信息。理解表等结构化数据的含义并对其内容进行正确的描述是人工智能领域重要的问题。一些可能的应用包括问答系统、构造对话代理和支持搜索引擎等等。
目前,可以使用基于模板的方法将表转换为文本。然而,这种方法严重依赖于人工,成本较高,昂贵的人力成本使其无法处理多样性的问题。基于神经网络的自然语言处理模型广泛应用于机器翻译等领域。然而,机器翻译是将一种自然语言转换为另一种自然语言。因此,目前需要一种将表等结构化数据转换为自然语言的行之有效的解决方案。
发明内容
根据本公开的实现,提供了一种从结构化数据生成文本的方案。在该方案中,将结构化数据转换为其表示,其中结构化数据包括多个单元,并且结构化数据的表示包括多个单元的多个表示。基于结构化数据的表示,可以确定与结构化数据相关联的自然语言语句,从而实现结构化数据转换为文本的功能。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
图1示出了能够实现本公开的多个实现的计算设备的框图;
图2示出了根据本公开的一个实现的将表转换为文本的任务的示意图;
图3示出了根据本公开的一个实现的用于从结构化数据生成文本的神经网络架构;以及
图4示出了根据本公开的一个实现的用于从结构化数据生成文本的方法的流程图。
这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本主题的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“或者”要被解读为“和/或”,除非上下文明确另外指示。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。除非另外地明确指出,术语的定义贯穿说明书是一致的。
示例环境
以下参考附图来说明本公开的基本原理和若干示例实现。图1示出了能够实施本公开的多个实现的计算设备100的框图。应当理解,图1所示出的计算设备100仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。如图1所示,计算设备100包括通用计算设备形式的计算设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。
在一些实现中,计算设备100可以被实现为具有计算能力的各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算设备100能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备100的并行处理能力。处理单元110也可以被称为中央处理单元(CPU)、微处理器、控制器、微控制器。
计算设备100通常包括多个计算机存储介质。这样的介质可以是计算设备100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或其某种组合。存储器120可以包括自然语言生成模块122,自然语言生成模块122被配置为执行本文所描述的各种实现的功能。自然语言生成模块122可以由处理单元110访问和运行,以实现相应功能。
存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。计算设备100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。
通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
计算设备100可以用于实施本公开的多种实现的将结构化数据转换为文本的功能。这里,结构化数据表示具有较高的组织化程度的信息,使得可以将其无缝地包括在关系数据库中,并可以通过简单直接的搜索算法进行搜索。例如,结构化数据可以是可以由关系数据库来表示的数据或信息,例如,表或知识图谱中的知识库等。
在执行结构化数据与文本之间的转换时,计算设备100可以通过输入设备150接收结构化数据170,例如表。计算设备100可以处理该结构化数据170以将该结构化数据170或该结构化数据170的一部分转换为相应的描述性文本180。计算设备100可以通过输出设备160输出该描述性文本180,以作为计算设备100的输出。如图1所示,结构化数据170是一个简单的表,从该表可以提取出描述性文本180:“Singapore Armed forces was thechampion of Singapore Cup in 1997”。
概述
表等结构化数据是网络上广泛使用的数据源类型,其具有形式结构并且包括有价值的信息。为了描述的方便起见,以下主要结合表这种类型的数据进行描述,然而,应当理解,本公开的实现也可以应用于其他类型的结构化数据,例如,知识图谱等。
如上所述,理解表等结构化数据的含义并描述其内容是人工智能领域重要的问题。根据本公开的一些实现,可以使用基于表或表的一部分(也称表区域)来生成自然语言语句,例如,描述性文本。描述性文本可以使用自然语言来描述该表或表区域(例如,表的一行)。
将表转换为文本的任务可以用于支持很多应用,例如搜索引擎和对话代理。一方面,这一任务可以用于生成网络上的结构化表的描述性语句。目前的搜索引擎可以将生成的语句看作索引,并将表作为值,从而将结构化表作为答案以提供服务。另一方面,表可以用于对话代理的响应,例如,订票和产品对比。然而,对话代理难以在智能手机上对多行多列的表进行读取和分析。将表转换为本文的任务可以将数据转换为自然语言语句,其可以进一步经由文本话音转换将话语或语音提供给用户。
任务描述
图2示出了根据本公开的一个实现的将表转换为文本的任务的示意图。如图2所示,该任务的输入是表220,其输出是描述该表220或该表220的一部分的自然语言语句240。典型的表包括标题、行和列,并且行和列交叉处为表的单元。
表T可以被定义为一个元组,T=<属性,单元,标题>,其中属性{a1,…,aN}包括表T的N个属性,也即N个列的标题。单元包括表的N*M个单元,其中N表示列数,M表示行数,/>表示第i列和第j行相交的单元。标题,作为表的整体属性,通常表示与整张表相关联的自然语言注释。应当理解,如图2所示的表是一种典型形式的表的示例,然而在一些表中,可以不包括标题,和/或可以不包括属性。
例如,图2所示的表包括标题“Singapore Cup”,并包括三个属性“Year”、“Champions”和“Runners-up”。另外,该表还包括三行共9个单元,分别表示1996年至1998年的冠亚军。
根据本公开的实现,选择表的一行单元作为输入。如图2所示,选择高亮的1997年的一行表作为输入。相应地,期望输出描述这一行数据(或者其一部分的)的描述性语句,例如,“Singapore Armed forces was the champion of Singapore Cup in 1997”。这一描述性语句仅利用了冠军一列的信息,而没有利用亚军一列的信息。
序列到序列架构
目前,在机器翻译等领域应用较广的一种技术是序列到序列(seq2seq)学习。该架构的主要思想是首先通过编码器将源序列的含义编码为连续的向量,然后通过解码器将该向量解码为目标序列。现在简单介绍下seq2seq学习的神经网络。现在简单介绍seq2seq架构,以帮助对本公开的实现的理解,而不明示或暗示基于该架构可以容易地获得本公开的各个实现。
seq2seq架构包括编码器和解码器。编码器的目标是将具有可变长度的源序列x={x1,…,xN}表示为具有固定长度的连续向量,其中x1至xN表示源序列中的N个词语。编码器可以由用各种神经网络架构来实现,例如,卷积神经网络(CNN)和递归神经网络(RNN)。以RNN为例,编码器对源序列逐词进行处理,在每一步将这一步的词语与上一步的输出向量进行转换。这一处理可以表示为ht=fenc(xt,ht-1),其中ht表示时间步长t的隐向量,fenc()表示非线性函数,xt表示时间步长t输入的词语,ht-1表示时间步长t-1的隐向量。最后一个隐向量hN可以作为源序列x的表示。
解码器接收编码器的输出(例如,源序列的表示向量hN),并输出目标序列y。解码器可以使用RNN来实现,其在每一时间步长t基于x的表示(例如,hN)和先前预测的词语序列y<t={y1,y2,…,yt-1}来生成词语yt。这一过程可以用如下公式(1)来表示:
其中p(y|x)表示在x条件下y的概率,表示t在1到T时相应变量的乘积,fdec()表示非线性函数,并且st=fhid(yt-1,st-1)表示RNN在时间步长t的隐状态。由于标准RNN可能存在梯度消失的问题,可以使用门控RNN单元,例如长短时记忆(LSTM)单元或门控递归单元(GRU)来实现fhid()。
表感知编码器
图3示出了根据本公开的实现的用于从结构化数据生成文本的神经网络架构300的示意图。应当理解,图3所示的神经网络架构300以示例性方式提供,并不旨在限制本公开的范围。例如,神经网络架构300的一个或多个方面可以由其他结构来代替,并且可以向神经网络架构300中添加一个或多个方面或删除一个或多个方面。在图3的左侧示出了神经网络架构300的第一部分,与seq2seq架构作类比,也可以将其称为编码器。编码器可以将表或表区域转换为相应的表示,例如向量表示。待处理的表区域包括一行单元的列表,例如,第j行的单元的列表另外,还可以包括相应的属性的列表{a1,…,aN}。如图3所示,该单元列表为{c1,…,c4},即{Beijing,China,204,2008};相应属性的列表为{a1,…,a4},即{City,Country,Nations,Year}。
在一些实现中,可以将每个单元表示为嵌入向量/>并且可选地可以将每个属性ai表示为连续向量/>这可以通过任何已知的或将来开发的嵌入方法来实现,本公开在此不受限制。然后,可以将单元和属性的相应的嵌入向量连接在一起,表示为以提供给线性层。然后,可以向线性层的输出/>应用逐元素非线性函数tanh(),以获得每一列的表示hi。以上过程可以通过公式/>来表示。
由于标题中也可以包含少量的词语,因此在一些实现中可以将标题看作是一种特殊的单元,并且针对其使用虚属性,例如“Caption”。这些列向量{h1,h2,…,hN}可以作为所输入的表区域的表示,以提供给解码器和注意力模块。
在一些实现中,可以对这些列向量{h1,h2,…,hN}进行简单地进行逐元素平均,并使用其结果作为解码器的初始隐状态s0。以这种方式,可以保证随机交换两列获得相同的结果。
表感知解码器
在图3右侧示出了根据本公开的实现的解码器,其目的是生成描述表或表区域的自然语言语句。根据本公开的一些实现,如图3所示的解码器通过基于GRU的RNN(称为GRU-RNN)来实现。然而,本领域技术人员应当理解,也可以使用任何其他合适的神经网络架构,特别是递归神经网络(RNN)架构,本公开在此不受限制。
如图3所示的解码器以时序方式工作并且在每一时间步长t生成一个词语yt。在各个时间步长生成的词语的序列形成描述该表区域的自然语言语句。例如,如图3所示,在时间步长t=3,将上一时间步长t=2的输出y2作为输入x3,并经由嵌入层将输入x3转换为嵌入向量,以提供给GRU,GRU接收上一时间步长t=2的隐状态s2,并基于上一时间步长t=2的隐状态s2和输入x3来生成当前时间步长的隐状态s3,以用于提供给下一时间步长t=4。另外,隐状态s3还可以提供给softmax层,以用于计算词汇表中的各个词语的概率。
在以上GRU-RNN模型的基础上,为了进一步考虑表的结构并生成与表有关的描述性语句,可以在一个或多个方面进行扩展,下面对这些扩展一一进行描述。应当理解,这些方面可以单独地实现,也可以彼此结合,本公开在此不受限制。
注意力模块
在一些实现中,解码器可以选择性地考虑表或表区域中的重要信息。例如,在每一时间步长生成用于描述表区域的自然语言语句的词语时,解码器可以选择性地使用该表区域中的重要信息。另外,也可以进一步考虑属性和/或标题中的重要信息。如图3所示,例如,解码器在第2时间步长更多地关注于单元“2008”,并在第8时间步长更多地使用单元“China”的信息。
在每一时间步长,注意力模块可以向每一列分配相应的概率/权重。根据一些实现,所述概率/权重可以考虑前一时间步长的注意力结果。例如,在时间步长t,第i列的注意力权重α<t,i>可以根据如下公式(2)进行计算:
其中hi是编码器生成的第i列的向量表示,st-1是GRU解码器在t-1时间步长的隐状态,并且z()是计算hi的重要性的非线性函数。hi的重要性进一步用softmax函数进行归一化,以获得第i列的注意力权重α<t,i>。该注意力机制考虑了前一时间步长的注意力结果。以这种方式,该模型可以记住之前使用过哪些列,并且在以后的时间步长中不再使用之前关注的列。
在一些实现中,解码器中的GRU隐状态的更新也可以考虑注意力概率。例如,可以根据如下公式(3)来计算每个时间步长t处的上下文向量ct:
然后,可以根据如下公式(4)使用上下文向量ct、上一时间步长t-1的隐状态st-1和输出yt-1计算t时间步长的隐状态st。
st=GRU(yt-1,st-1,ct) (4)
全局参数和局部参数
在一些实现中,为了增加自然语言语句与表或表区域之间的相关性,可以在解码器中考虑表的全局信息。例如,解码器可以使用不同的隐式模式来处理不同主题的表,例如“Olympic game”(奥运会)和“music album”(音乐专辑)。由于编码器的输出获取了整张表的信息,因此可以使用s0来表示全局参数,其可以作为目标softmax函数的输入的一部分。
在一些实现中,可以在解码器中使用局部参数来记忆表或表区域与在上一时间步长t-1生成的词语yt-1之间的关系。例如,可以将词语yt-1对应的属性作为局部参数,并将其嵌入向量lt-1用作目标softmax函数的输入的一部分。例如,如果词语yt-1不来自表或表区域,则可以使用特殊的符号(例如,<unk_a>)来表示yt-1的属性。
复制机制
表中的单元一般包括具有信息含量的低频词语或生僻词,例如,命名实体和数字等。这些词语对于表示表的含义是非常重要的,因此在将表区域转换为文本时可以考虑表中的这些低频词语。在常规的RNN解码器中,在每一时间步长,通过在预定词汇表上根据例如softmax函数来计算各个词语的概率,并从中确定待输出的词语。例如,词汇表可以包含2万个高频词语。然而,由于词汇表通常无法很好地覆盖表中的生僻词,因此无法在预测序列中产生这些生僻词。另一方面,盲目扩大词汇表也是不切实际的,而且这种方式也无法处理训练数据中不包含的生僻词。
根据本公开的一些实现,可以使用从表中复制词语的复制机制来解决低频词语的问题。例如,在每一时间步长可以通过两种方式相结合来确定待输出的词语。第一种方式经由例如softmax函数从目标词汇表中生成词语,而第二种方式经由复制机制从表中复制词语。
在一些实现中,如果从表区域来复制词语则可以基于表区域的多个单元的重要性来确定从这些单元中选择词语/>以用于自然语言语句的概率。例如,在时间步长t,如果从表区域来复制词语/>则使用词语/>作为该时间步长t的输出的概率可以表示为/>其中/>表示/>的列索引,并且/>表示注意力模块在t时间步长所确定的词语的注意力权重/概率。
在一些实现中,如果从预定词汇表中生成词语则可以确定从预定词汇表中选择词语/>以用于自然语言语句的概率/>这可以通过常规的方法来实现,例如,在每一时间步长t,通过在预定词汇表上根据例如softmax函数来计算各个词语的概率。另外,在计算词汇表中的词语的概率的过程中,也可以进一步考虑上述全局参数和/或局部参数,将其作为softmax函数的输入的一部分。例如,可以将隐状态st与全局参数s0和/或局部参数lt-1连接在一起作为softmax函数的输入。
在一些实现中,可以使用神经门gt在两种方式之间进行选择。例如,神经门gt可以由如下公式(5)来表示:
gt()=σ(Wg[Weyt-1;st;ct;s0;lt-1]+bg) (5)
其中σ表示sigmoid函数,Weyt-1表示yt-1的嵌入向量,Wg和bg分别表示神经门的权重和偏置。
如果将以上两种方式相结合,则从表区域的单元复制词语的概率可以表示为其中/>表示逐元素相乘。另一方面,从目标词汇表生成词语/>的概率是/>因此,在目标自然语言语句中使用词语/>的概率可以由如下公式(6)来表示:
上述复制机制的优点是在训练期间对从表区域复制词语的方式和从目标词汇表生成词语没有偏好。这一性质使得上述模型更加灵活,并且可以与常规方式一样进行训练和测试。
以上主要介绍了从表中的单元复制词语的实现,然而应当理解,上述单元可以仅指代常规的单元,也可以包括由标题等表的整体属性所形成的单元,本公开在此不受限制。在一些实现中,还可以从属性中复制词语,这可以通过加入属性的嵌入向量和注意力概率来实现。
示例过程
图4示出了根据本公开的一些实现的从结构化数据生成文本的方法400的流程图。该方法可以由图1所示的计算设备100来实现,并且例如可以基于图3所示的神经网络架构来实现。然而,应当理解,可以从如图3所示的神经网络架构去除一个或多个方面,并也可以向如图3所示的神经网络架构增加一个或多个方面。
在402,将结构化数据转换为结构化数据的表示,结构化数据包括多个单元并且结构化数据的表示包括多个单元的多个表示。例如,这可以由神经网络的第一部分(例如,如图3所示的编码器部分)实现。例如,结构化数据可以是如图2所示的表,多个单元形成表的一行。在如图3所示的神经网络架构中,多个单元中的每一个单元的表示可以是一个列向量。
可选地,表可以包括与多个单元相关联的多个属性和/或整体属性(例如,标题)。如果表包括多个属性,则每一个单元的表示还进一步指示相应的属性,并且还指示该单元与相应的属性之间的关联。例如,在如图2所示的表中,可以将单元“1997”与其相关联的属性“year”联合在一起转换为一个列向量,以表示这一单元和属性对。另外,如果表包括标题,则可以将标题作为一个单元,并将其转换为一个列向量作为其表示。如果需要,可以将标题与虚属性相结合以转换为一个列向量作为其表示。
在404,基于所述结构化数据的表示确定与结构化数据相关联的自然语言语句,所述自然语言语句包括多个词语的序列。例如,这可以由神经网络的第二部分(例如,如图3所示的解码器部分)实现。所述自然语言语句可以用于描述结构化数据。
在一些实现中,神经网络的第二部分包括递归神经网络(RNN),并且可以利用所述递归神经网络依次确定自然语言语句中的多个词语。递归神经网络可以包括例如门控递归单元(GRU)和/或长短时记忆(LSTM)单元。
在一些实现中,自然语言语句中的多个词语的序列包括第一词语。可以通过以下方式来确定第一词语:确定从多个单元中选择第一候选词语以用于第一词语的第一概率,并且确定从预定词汇表中选择第一候选词语以用于第一词语的第二概率。基于第一概率和第二概率,可以确定使用第一候选词语作为第一词语的概率。如果第一候选词语仅存在于预定词汇表中,则可以不计算第一概率;换言之,第一概率可以被认为等于零。相应地,如果第一候选词语仅存在于结构化数据中,则可以不计算第二概率;换言之,第二概率可以被认为等于零。
在一些实现中,神经网络还包括第三部分,第三部分可以是如图3所示的注意力模块。方法400还可以包括利用第三部分来确定针对第一词语的多个单元的重要性,例如,在确定第一词语的时间步长来计算多个单元的重要性。然后,可以基于针对第一词语的多个单元的重要性来确定选择第一候选词语以用于第一词语的第一概率。
在一些实现中,多个词语的序列还包括在序列中位于第一词语之前的第二词语。在这种情况下,可以至少部分地基于针对第二词语的多个单元的重要性来确定针对第一词语的多个单元的重要性。例如,可以基于上一时间步长的多个单元的重要性来确定当前时间步长的多个单元的重要性。如果第一词语是序列的首词语,则第二词语可以是开始符合,如图3所示的<s>。
在一些实现中,可以通过对多个单元的多个表示进行平均来确定递归神经网络的初始状态。例如,可以将多个单元的列向量进行平均来获得递归神经网络的初始状态,如图3所示的全局参数s0。在这种情况下,可以基于递归神经网络的初始状态,来确定从预定词汇表中选择第一候选词语以第一词语的第二概率。例如,在图3所示的示例中,可以将全局参数s0作为输入的一部分提供给softmax函数。
在一些实现中,可以基于第二词语的属性来确定从预定词汇表中选择第一候选词语以用于第一词语的第二概率。例如,如果第二词语来自结构化数据,则第二词语的属性可以是第二词语在结构化数据中的属性。如果第二词语并不来自结构化数据,则第二词语的属性可以由预定义的特殊值来表示。例如,以上结合图3描述了局部参数可以作为输入的一部分提供给softmax函数。
在一些实现中,多个词语的序列包括第一词语和位于第一词语之前的第二词语,并且神经网络还包括第三部分,并且方法400还包括利用第三部分、至少部分地基于针对第二词语的多个单元的重要性来确定针对第一词语的多个单元的重要性,并且确定第一词语包括:基于针对第一词语的多个单元的重要性,确定从预定词汇表中选择第一候选词语以用于第一词语的概率。在这些实现中,不执行复制机制,然而由于在计算重要性时进行了递归计算,在某些应用场景中也可以实现对显著改进效果。
在一些实现中,可以将知识库中的事实转换为一行具有两个单元的表,并将所述表转换为其表示,以用于转换为自然语言语句。例如,“狗是动物”的事实可以转换为具有“狗”和“动物”的两个单元的表。可选地,关系“是”(isA)可以作为该表的标题。例如,该自然语言语句也可以以问题的形式呈现。在以上示例中,问题可以是“狗是动物吗?”等等。
训练和推断
在一些实现中,可以使用后向传播的方法根据如下公式(7)所示的目标函数以端对端的方式对如图3所示的模型进行训练,
其中D表示训练集。在推断过程中,可以使用束搜索来生成前K个置信结果,其中K表示束大小。
实验
为了评估根据本公开的多个实现的文本生成模型的效果,在三个数据集WIKITABLETEXT、WIKIBIO和SIMPLEQUESTIONS上进行了测试和分析,其中数据集WIKITABLETEXT由发明人构建,因此首先简单介绍一下其构造过程。
首先,从维基百科中抓取表,并随机选择5,000个规则的表,每一个至少具有3行和2列。对于每个表,随机选择3行,从而产生15,000行以用于进一步的人工标注。向每个标注者提供所选择的行、对应的属性和标题。要求同一个表的不同行由不同的标注者来进行标注。如果表不包含标题,则使用其页面标题作为替代。要求每个标注者写下描述表的至少两个单元的语句,但是不要求该语句覆盖每个单元。例如,图2中的语句没有使用“Runners-up”这一列。此外,要求标注者不要从网络上搜索表的含义。以这种方式,可以确保标注者不利用外部知识来进行判断。这使得数据集与真实场景更加匹配。为了增加产生的语言的多样性,将同一个表的不同行分配给不同的标注者。如果一行难以描述,则要求标注者写明该行难以标注。最后,获得了13,318个行文本对。表1中给出了统计数据。可以将整个数据表随机划分为训练集(10,000)、开发集(1,318)和测试集(2,000)。
表1
类型 | 值 |
表数目 | 4,962 |
语句数目 | 13,318 |
每个表的平均语句数目 | 2.68 |
每个句子的平均词语数目 | 13.91 |
每个标题的平均/最小/最小词语数目 | 3.55/1/14 |
每个语句的平均/最小/最大单元数目 | 4.02/2/10 |
每个表的平均/最小/最大行数 | 7.95/3/19 |
现有数据集WEATHERGOV和ROBOCUP分别限制在一个特定域内,例如天气预报和RoboCup报道。然而,WIKITABLETEXT并不限定在一个特定的域内,而是一种开放域数据集。WIKITABLETEXT可以带来更大的挑战,并且更加贴近实际应用。
针对三个数据集WIKITABLETEXT、WIKIBIO和SIMPLEQUESTIONS,可以使用相同的实验设置。首先,可以使用高斯分布随机初始化模型中的参数,将词语/属性嵌入向量的维度设置为300,并将解码器隐状态的维度设置为500。在该示例中,根据Ada-delta方法自适应地调整学习率。如果在开发集上性能连续六个时代(epoch)没有改进,则将学习率减半。使用后向传播以端对端的方式来更新参数。在推断过程中,使用束搜索并将束大小设置为5。使用BLEU-4评分作为评价度量。BLEU-4评分广泛应用于自然语言处理任务,例如,机器翻译、生成问题生成和生成对话响应。这些数据集中的每个实例仅具有一个参考语句。
在数据集WIKITABLETEXT上进行实验时,将标题作为特殊的单元进行处理,并且针对该单元使用虚属性“caption”(标题)。如表1所示,一个标题平均具有3.55个词语。
对比模型包括使用表条件神经语言模型(TC-NLM),TC-NLM基于递归神经网络语言模型,并将局部信息和全局信息提供给该模型以使该模型也考虑表信息。另外,对比模型还包括随机复制模型,该模型不使用结合图3所述的复制机制,而是使用从表中随机选择的单元来代替<unk>。另外,对比模型还包括基于模板的模型。在训练过程中,针对每个表方案,构建了按频率排序的模板的列表。通过将文本中出现的单元由对应的属性来代替以导出模板。在推断过程中,给定表方案,选择具有最高频率的模板,并通过将属性用对应的值代替来生成文本。
表2
表2示出了具有不同设置的模型的实验结果,其中Table2Seq表示如图3所示的模型,并且Table2Seq++表示考虑了表的属性的情形。实验结果显示根据本公开的多个实现的方案显著优于对比模型。另外,实验结果还示出了根据本公开的多个实验的各个方面对模型的性能的影响。从表2中可以看出,复制机制对性能的影响较大。表3进一步示出了是否通过复制机制来生成语句的对比数据,进一步反映了复制机制的重要影响。
表3
如表2所示,标题也是一个比较重要的影响因素,这是因为标题通常包含用于生成描述的重要信息。在这一数据集上,全局参数和局部参数的影响较低。此外,表2还显示出属性的内容对表的描述也有比较重要的作用。由于Table2Seq++可以从单元和属性两者进行复制,因此进一步增强了模型的效果。表4进一步示出了是否复制属性的对比示例,其中capacity是属性中的词语。
表4
由于实验结果显示复制机制是最行之有效的一个方面,因此进一步分析了其对结果有如此重要的影响的原因。由于注意力概率是复制机制的主要部分,分析了每一时间步长待复制的单元的概率。在该示例中,表3所示的参考语句包含了通常为生僻词的很多单元。根据本公开的实现的模型生成了与参考语句基本一致的流畅语句,该语句包括词语的序列{abe forsythe;acted;as;ned kelly;in;the;ned;in;2003}。在该语句中,在时间步长1、4、7和9所生成的词语abe forsythe,ned kelly,ned,2003是从表的单元中复制过来的词语。经过分析获悉,在时间步长1、4、7、9,对应的单元具有最高的被复制概率。这表明根据本公开的实现的模型具有从表中恰当地复制生僻词的能力。
另外,还发现学习门具有自动决定从表复制还是从目标词汇表生成的能力。例如,在时间步长2具有很高的从单元“Ned Kelly”进行复制的概率,然而该模型还是从词汇表中生成了词语“acted”。
表5
另外,还从验证集(也称开发集)采样了100个示例,并对这些示例进行了实例研究。表5示出了实例研究的部分结果。从第1至3组的结果可以看出,根据本公开的实现可以生成流畅的与表相关联的语句。在第1组中,所生成的语句与参考语句具有相同的含义,但使用了不同的表述。在第2和3组中,与参考语句相比,所生成的语句具有更多或更少的信息,因为模型并不限制使用哪一列。例如,在第2组中单元“pfc before stara zagora”作为附加的信息被生成,而在第3中单元“lifetime contribution award”被跳过。虽然从第1-第3组生成的语句是有意义的并且是流畅的,但是它们可能降低BLEU-4评分。
另外,还在WIKIBIO数据集上进行了测试。WIKIBIO数据集可以用于生成描述信息表(infobox)的档案。信息表可以视为具有一行的表。在该数据集中,将每个档案的第一句提取出来作为参考。平均每个参考语句具有26.1个词语。语料库包含728,321个实例,其被分为三个子部分,其中582,659个用于训练,72,831个用于验证,并且72,831个用于测试。在实验中,使用2,000个实例进行验证。该数据集的特性是信息表的每一个单元通常包含多个词语。因此,在实验中,将一个单元分割为多个单元,其中每个新单元包括一个词语。
表6
表6示出了在WIKIBIO数据集上的实验结果,并选择现有的KN、TC-NLM、TemplateKN和Table NLM方法作为对照。可以看出,模型Table2Seq明显优于已知的模型。另外,由于该数据集通常不包含属性,因此没有应用Table2Seq++模型。在该数据集上去除复制机制并没有显著影响结果,这可能是因为平均语句的长度较长,因此生僻词对结果的影响相对较小。另外,可以看出,在不考虑复制机制的情况下,本公开的实现仍然优于已有方案,这可能的原因是利用递归注意力的基于GRU的解码器。
另外,还在SIMPLEQUESTIONS数据集上进行了测试,以从知识库(KB)事实中生成问题。KB中的事实是包含主语、谓语和宾语的三元组,谓语也可以称为关系。可以将事实视为具有两个属性的表,其包括一行两个单元。SIMPLEQUESTIONS数据集包括108,442个事实-问题-答案元组。该数据集分为三个部分:75,910个用于训练,10,845个用于验证,并且20,687个用于测试。
表7
表7示出了对比模型与本公开的模型的对比结果。结果显示本公开的多个实现的模型显著优于对比模型。这表明根据本公开的实现的方案可以从知识库的事实中生成自然语言问题。
示例实现方式
以下列出了本公开的一些示例实现方式。
根据本公开的一些实现,提供了一种设备。所述设备包括:处理单元;存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:利用神经网络的第一部分将结构化数据转换为所述结构化数据的表示,所述结构化数据包括多个单元并且所述结构化数据的表示包括所述多个单元的多个表示;以及利用所述神经网络的第二部分,基于所述结构化数据的表示确定与所述结构化数据相关联的自然语言语句,所述自然语言语句包括多个词语的序列。
在一些实现中,所述多个单元形成表的一行,所述结构化数据还包括与所述多个单元相关联的多个属性,并且所述多个单元的多个表示还指示所述多个属性以及所述多个单元与所述多个属性之间的关联。
在一些实现中,所述多个单元形成表的一行,所述结构化数据还包括整体属性,所述结构化数据的表示还包括所述整体属性的表示。
在一些实现中,所述第二部分包括递归神经网络,并且确定所述自然语言语句包括利用所述递归神经网络依次确定所述多个词语。
在一些实现中,所述多个词语的序列包括第一词语,并且确定所述第一词语包括:确定从所述多个单元中选择第一候选词语以用于所述自然语言语句的第一概率;确定从预定词汇表中选择所述第一候选词语以用于所述自然语言语句的第二概率;以及基于所述第一概率和所述第二概率,确定在所述自然语言语句中使用所述第一候选词语作为所述第一词语的概率。
在一些实现中,所述神经网络还包括第三部分,并且所述动作还包括利用所述第三部分确定针对所述第一词语的所述多个单元的重要性,并且其中确定所述第一概率包括基于针对所述第一词语的所述多个单元的重要性来确定所述第一概率。
在一些实现中,所述多个词语的序列还包括在所述多个词语的序列中位于所述第一词语之前的第二词语,并且确定针对所述第一词语的所述多个单元的重要性包括:至少部分地基于针对所述第二词语的所述多个单元的重要性来确定针对所述第一词语的所述多个单元的重要性。
在一些实现中,所述动作还包括:通过对所述多个单元的多个表示进行平均来确定所述递归神经网络的初始状态,并且确定所述第二概率包括:基于所述递归神经网络的初始状态,确定从所述预定词汇表中选择所述第一候选词语以用于所述自然语言语句的所述第二概率。
在一些实现中,所述多个词语的序列还包括在所述多个词语的序列中位于所述第一词语之前的第二词语,并且确定所述第二概率包括:基于所述第二词语的属性,确定从所述预定词汇表中选择所述第一候选词语以用于所述自然语言语句的所述第二概率。
在一些实现中,所述多个词语的序列包括第一词语和位于所述第一词语之前的第二词语,并且所述神经网络还包括第三部分,并且所述动作还包括利用所述第三部分、至少部分地基于针对所述第二词语的所述多个单元的重要性来确定针对所述第一词语的所述多个单元的重要性,并且确定所述第一词语包括:基于针对所述第一词语的所述多个单元的重要性,确定从预定词汇表中选择第一候选词语以用于所述第一词语的概率。
在一些实现中,所述递归神经网络包括门控递归单元(GRU)或长短时记忆(LSTM)单元。
在一些实现中,所述动作还包括:将知识库中的事实转换为一行具有两个单元的表,以用于转换为所述表的表示。
根据本公开的一些实现,提供了一种计算机实现的方法。所述方法包括:利用神经网络的第一部分将结构化数据转换为所述结构化数据的表示,所述结构化数据包括多个单元并且所述结构化数据的表示包括所述多个单元的多个表示;以及利用所述神经网络的第二部分,基于所述结构化数据的表示确定与所述结构化数据相关联的自然语言语句,所述自然语言语句包括多个词语的序列。
在一些实现中,所述多个单元形成表的一行,所述结构化数据还包括与所述多个单元相关联的多个属性,并且所述多个单元的多个表示还指示所述多个属性以及所述多个单元与所述多个属性之间的关联。
在一些实现中,所述多个单元形成表的一行,所述结构化数据还包括整体属性,所述结构化数据的表示还包括所述整体属性的表示。
在一些实现中,所述第二部分包括递归神经网络,并且确定所述自然语言语句包括利用所述递归神经网络依次确定所述多个词语。
在一些实现中,所述多个词语的序列包括第一词语,并且确定所述第一词语包括:确定从所述多个单元中选择第一候选词语以用于所述自然语言语句的第一概率;确定从预定词汇表中选择所述第一候选词语以用于所述自然语言语句的第二概率;以及基于所述第一概率和所述第二概率,确定在所述自然语言语句中使用所述第一候选词语作为所述第一词语的概率。
在一些实现中,所述神经网络还包括第三部分,并且所述方法还包括利用所述第三部分确定针对所述第一词语的所述多个单元的重要性,并且其中确定所述第一概率包括基于针对所述第一词语的所述多个单元的重要性来确定所述第一概率。
在一些实现中,所述多个词语的序列还包括在所述多个词语的序列中位于所述第一词语之前的第二词语,并且确定针对所述第一词语的所述多个单元的重要性包括:至少部分地基于针对所述第二词语的所述多个单元的重要性来确定针对所述第一词语的所述多个单元的重要性。
在一些实现中,所述方法还包括:通过对所述多个单元的多个表示进行平均来确定所述递归神经网络的初始状态,并且确定所述第二概率包括:基于所述递归神经网络的初始状态,确定从所述预定词汇表中选择所述第一候选词语以用于所述自然语言语句的所述第二概率。
在一些实现中,所述多个词语的序列还包括在所述多个词语的序列中位于所述第一词语之前的第二词语,并且确定所述第二概率包括:基于所述第二词语的属性,确定从所述预定词汇表中选择所述第一候选词语以用于所述自然语言语句的所述第二概率。
在一些实现中,所述多个词语的序列包括第一词语和位于所述第一词语之前的第二词语,并且所述神经网络还包括第三部分,并且所述方法还包括利用所述第三部分、至少部分地基于针对所述第二词语的所述多个单元的重要性来确定针对所述第一词语的所述多个单元的重要性,并且确定所述第一词语包括:基于针对所述第一词语的所述多个单元的重要性,确定从预定词汇表中选择第一候选词语以用于所述第一词语的概率。
在一些实现中,所述递归神经网络包括门控递归单元(GRU)或长短时记忆(LSTM)单元。
在一些实现中,所述方法还包括:将知识库中的事实转换为一行具有两个单元的表,以用于转换为所述表的表示。
根据一些实现,提供了一种计算机程序产品,包括有形地存储在计算机可读介质上的指令,所述指令在被机器执行时使所述机器执行方法,所述方法包括:利用神经网络的第一部分将结构化数据转换为所述结构化数据的表示,所述结构化数据包括多个单元并且所述结构化数据的表示包括所述多个单元的多个表示;以及利用所述神经网络的第二部分,基于所述结构化数据的表示确定与所述结构化数据相关联的自然语言语句,所述自然语言语句包括多个词语的序列。
在一些实现中,所述多个单元形成表的一行,所述结构化数据还包括与所述多个单元相关联的多个属性,并且所述多个单元的多个表示还指示所述多个属性以及所述多个单元与所述多个属性之间的关联。
在一些实现中,所述多个单元形成表的一行,所述结构化数据还包括整体属性,所述结构化数据的表示还包括所述整体属性的表示。
在一些实现中,所述第二部分包括递归神经网络,并且确定所述自然语言语句包括利用所述递归神经网络依次确定所述多个词语。
在一些实现中,所述多个词语的序列包括第一词语,并且确定所述第一词语包括:确定从所述多个单元中选择第一候选词语以用于所述自然语言语句的第一概率;确定从预定词汇表中选择所述第一候选词语以用于所述自然语言语句的第二概率;以及基于所述第一概率和所述第二概率,确定在所述自然语言语句中使用所述第一候选词语作为所述第一词语的概率。
在一些实现中,所述神经网络还包括第三部分,并且所述方法还包括利用所述第三部分确定针对所述第一词语的所述多个单元的重要性,并且其中确定所述第一概率包括基于针对所述第一词语的所述多个单元的重要性来确定所述第一概率。
在一些实现中,所述多个词语的序列还包括在所述多个词语的序列中位于所述第一词语之前的第二词语,并且确定针对所述第一词语的所述多个单元的重要性包括:至少部分地基于针对所述第二词语的所述多个单元的重要性来确定针对所述第一词语的所述多个单元的重要性。
在一些实现中,所述方法还包括:通过对所述多个单元的多个表示进行平均来确定所述递归神经网络的初始状态,并且确定所述第二概率包括:基于所述递归神经网络的初始状态,确定从所述预定词汇表中选择所述第一候选词语以用于所述自然语言语句的所述第二概率。
在一些实现中,所述多个词语的序列还包括在所述多个词语的序列中位于所述第一词语之前的第二词语,并且确定所述第二概率包括:基于所述第二词语的属性,确定从所述预定词汇表中选择所述第一候选词语以用于所述自然语言语句的所述第二概率。
在一些实现中,所述多个词语的序列包括第一词语和位于所述第一词语之前的第二词语,并且所述神经网络还包括第三部分,并且所述方法还包括利用所述第三部分、至少部分地基于针对所述第二词语的所述多个单元的重要性来确定针对所述第一词语的所述多个单元的重要性,并且确定所述第一词语包括:基于针对所述第一词语的所述多个单元的重要性,确定从预定词汇表中选择第一候选词语以用于所述第一词语的概率。
在一些实现中,所述递归神经网络包括门控递归单元(GRU)或长短时记忆(LSTM)单元。
在一些实现中,所述方法还包括:将知识库中的事实转换为一行具有两个单元的表,以用于转换为所述表的表示。
根据本公开的一些实现,提供了一种计算机可读介质,其上存储有计算机可执行指令,计算机可执行指令在由设备执行时使设备执行以上实现中的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种计算设备,包括:
处理单元;
存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:
经由编码器将表中的结构化数据转换为所述结构化数据的向量表示,所述表包括单元值和对应的单元属性值的行,所述结构化数据包括多个单元并且所述结构化数据的所述向量表示包括所述多个单元的多个向量表示;以及
经由结构化数据表感知解码器在所述结构化数据的所述向量表示上确定与所述结构化数据相关联的自然语言语句,所述自然语言语句包括多个词语的序列,其中确定所述自然语言语句包括利用所述解码器依次确定所述多个词语;
其中所述多个词语的序列包括第一词语,并且通过所述解码器确定所述第一词语包括:
确定从所述多个单元中选择第一候选词语以用于所述自然语言语句的第一概率;
确定从预定词汇表中选择所述第一候选词语以用于所述自然语言语句的第二概率;以及
基于所述第一概率和所述第二概率,选择所述第一候选词语作为在所述自然语言语句中的所述第一词语。
2.根据权利要求1所述的设备,其中所述结构化数据还包括整体属性,并且所述结构化数据的表示还包括所述整体属性的表示。
3.根据权利要求1所述的设备,其中所述动作还包括确定针对所述第一词语的所述多个单元的重要性,
并且其中确定所述第一概率包括基于针对所述第一词语的所述多个单元的重要性来确定所述第一概率。
4.根据权利要求3所述的设备,其中所述多个词语的序列还包括在所述多个词语的序列中位于所述第一词语之前的第二词语,并且确定针对所述第一词语的所述多个单元的重要性包括:
至少部分地基于针对所述第二词语的所述多个单元的重要性来确定针对所述第一词语的所述多个单元的重要性。
5.根据权利要求1所述的设备,其中所述动作还包括:
通过对所述多个单元的多个表示进行平均来确定递归神经网络的初始状态,并且确定所述第二概率包括:
基于所述递归神经网络的初始状态,确定从所述预定词汇表中选择所述第一候选词语以用于所述自然语言语句的所述第二概率。
6.根据权利要求1所述的设备,其中所述多个词语的序列还包括在所述多个词语的序列中位于所述第一词语之前的第二词语,并且确定所述第二概率包括:
基于所述第二词语的属性,确定从所述预定词汇表中选择所述第一候选词语以用于所述自然语言语句的所述第二概率。
7.根据权利要求1所述的设备,其中所述多个词语的序列包括第一词语和位于所述第一词语之前的第二词语,并且所述动作还包括至少部分地基于针对所述第二词语的所述多个单元的重要性来确定针对所述第一词语的所述多个单元的重要性,并且确定所述第一词语包括:
基于针对所述第一词语的所述多个单元的重要性,确定从预定词汇表中选择第一候选词语以用于所述第一词语的概率。
8.根据权利要求1所述的设备,其中所述动作还包括:
将知识库中的事实转换为一行具有两个单元的表,以用于转换为所述表的表示。
9.一种计算机实现的方法,包括:
经由编码器将表中的结构化数据转换为所述结构化数据的向量表示,所述表包括单元值和对应的单元属性值的行,所述结构化数据包括多个单元并且所述结构化数据的所述向量表示包括所述多个单元的多个向量表示;以及
经由结构化数据表感知解码器在所述结构化数据的所述向量表示上确定与所述结构化数据相关联的自然语言语句,所述自然语言语句包括多个词语的序列,其中确定所述自然语言语句包括利用所述解码器依次确定所述多个词语;
其中所述多个词语的序列包括第一词语,并且通过所述解码器确定所述第一词语包括:
确定从所述多个单元中选择第一候选词语以用于所述自然语言语句的第一概率;
确定从预定词汇表中选择所述第一候选词语以用于所述自然语言语句的第二概率;以及
基于所述第一概率和所述第二概率,选择所述第一候选词语作为在所述自然语言语句的所述第一词语。
10.一种计算机可读介质,所述计算机可读介质包括存储在其上的计算机程序产品,所述计算机程序产品包括存储在非暂时性计算机可读介质上的指令,所述指令在被机器执行时使所述机器执行方法,所述方法包括:
经由编码器将表中的结构化数据转换为所述结构化数据的向量表示,所述表包括单元值和对应的单元属性值的行,所述结构化数据包括多个单元并且所述结构化数据的所述向量表示包括所述多个单元的多个向量表示;以及
经由结构化数据表感知解码器在所述结构化数据的所述向量表示上确定与所述结构化数据相关联的自然语言语句,所述自然语言语句包括多个词语的序列,其中确定所述自然语言语句包括利用所述解码器依次确定所述多个词语;
其中所述多个词语的序列包括第一词语,并且其中通过所述解码器确定所述第一词语包括:
确定从所述多个单元中选择第一候选词语以用于所述自然语言语句的第一概率;
确定从预定词汇表中选择所述第一候选词语以用于所述自然语言语句的第二概率;以及
基于所述第一概率和所述第二概率,选择所述第一候选词语作为在所述自然语言语句中的所述第一词语。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711348978.7A CN110019471B (zh) | 2017-12-15 | 2017-12-15 | 从结构化数据生成文本 |
US16/765,335 US11544474B2 (en) | 2017-12-15 | 2018-12-06 | Generation of text from structured data |
PCT/US2018/064149 WO2019118256A1 (en) | 2017-12-15 | 2018-12-06 | Generation of text from structured data |
EP18821969.5A EP3707622A1 (en) | 2017-12-15 | 2018-12-06 | Generation of text from structured data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711348978.7A CN110019471B (zh) | 2017-12-15 | 2017-12-15 | 从结构化数据生成文本 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019471A CN110019471A (zh) | 2019-07-16 |
CN110019471B true CN110019471B (zh) | 2024-03-08 |
Family
ID=64734287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711348978.7A Active CN110019471B (zh) | 2017-12-15 | 2017-12-15 | 从结构化数据生成文本 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11544474B2 (zh) |
EP (1) | EP3707622A1 (zh) |
CN (1) | CN110019471B (zh) |
WO (1) | WO2019118256A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019719B (zh) * | 2017-12-15 | 2023-04-25 | 微软技术许可有限责任公司 | 基于断言的问答 |
CN109271497B (zh) * | 2018-08-31 | 2021-10-26 | 华南理工大学 | 一种基于词向量的事件驱动服务匹配方法 |
US10997374B2 (en) * | 2019-03-22 | 2021-05-04 | Fortia Financial Solutions | Generation of natural language text from structured data using a fusion model |
JP7077265B2 (ja) * | 2019-05-07 | 2022-05-30 | 株式会社東芝 | 文書解析装置、学習装置、文書解析方法および学習方法 |
US11908457B2 (en) * | 2019-07-03 | 2024-02-20 | Qualcomm Incorporated | Orthogonally constrained multi-head attention for speech tasks |
CN110347798B (zh) * | 2019-07-12 | 2021-06-01 | 之江实验室 | 一种基于自然语言生成技术的知识图谱辅助理解系统 |
CN110516213B (zh) * | 2019-09-03 | 2022-04-15 | 哈尔滨工业大学 | 一种基于表格层次化建模的结构化数据生成文本方法 |
CN111192567B (zh) * | 2019-12-27 | 2023-05-02 | 青岛海信智慧生活科技股份有限公司 | 一种智能设备的交互信息的生成方法及装置 |
KR102494585B1 (ko) * | 2019-12-27 | 2023-02-03 | 주식회사 투블럭에이아이 | 휴먼 인터랙티브 ai를 사용한 반자동 작문 방법 및 장치 |
US11847424B1 (en) * | 2020-03-20 | 2023-12-19 | Amazon Technologies, Inc. | Natural language generation |
US11294946B2 (en) | 2020-05-15 | 2022-04-05 | Tata Consultancy Services Limited | Methods and systems for generating textual summary from tabular data |
CN111783422B (zh) * | 2020-06-24 | 2022-03-04 | 北京字节跳动网络技术有限公司 | 一种文本序列生成方法、装置、设备和介质 |
EP3968207A1 (en) * | 2020-09-09 | 2022-03-16 | Tata Consultancy Services Limited | Method and system for sustainability measurement |
CN112612868A (zh) * | 2020-11-24 | 2021-04-06 | 中国传媒大学 | 文本快速生成方法、计算机可读存储介质、电子设备 |
CN113553863B (zh) * | 2021-06-30 | 2023-10-20 | 北京百度网讯科技有限公司 | 文本生成方法、装置、电子设备和存储介质 |
CN113901763A (zh) * | 2021-09-30 | 2022-01-07 | 北京百度网讯科技有限公司 | 一种表格描述文本生成方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844368A (zh) * | 2015-12-03 | 2017-06-13 | 华为技术有限公司 | 用于人机对话的方法、神经网络系统和用户设备 |
CN107193792A (zh) * | 2017-05-18 | 2017-09-22 | 北京百度网讯科技有限公司 | 基于人工智能的生成文章的方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143026B2 (en) * | 2002-12-12 | 2006-11-28 | International Business Machines Corporation | Generating rules to convert HTML tables to prose |
US9754041B2 (en) * | 2014-03-06 | 2017-09-05 | Webfire, Llc | Method of automatically constructing content for web sites |
US10089580B2 (en) * | 2014-08-11 | 2018-10-02 | Microsoft Technology Licensing, Llc | Generating and using a knowledge-enhanced model |
US10091140B2 (en) | 2015-05-31 | 2018-10-02 | Microsoft Technology Licensing, Llc | Context-sensitive generation of conversational responses |
US9792534B2 (en) * | 2016-01-13 | 2017-10-17 | Adobe Systems Incorporated | Semantic natural language vector space |
EP3516560A1 (en) * | 2016-09-20 | 2019-07-31 | Nuance Communications, Inc. | Method and system for sequencing medical billing codes |
CN106845139A (zh) * | 2017-02-28 | 2017-06-13 | 北京赛迈特锐医疗科技有限公司 | 将结构化报告生成自然语言报告的系统及其方法 |
-
2017
- 2017-12-15 CN CN201711348978.7A patent/CN110019471B/zh active Active
-
2018
- 2018-12-06 EP EP18821969.5A patent/EP3707622A1/en active Pending
- 2018-12-06 WO PCT/US2018/064149 patent/WO2019118256A1/en unknown
- 2018-12-06 US US16/765,335 patent/US11544474B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844368A (zh) * | 2015-12-03 | 2017-06-13 | 华为技术有限公司 | 用于人机对话的方法、神经网络系统和用户设备 |
CN107193792A (zh) * | 2017-05-18 | 2017-09-22 | 北京百度网讯科技有限公司 | 基于人工智能的生成文章的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20200356729A1 (en) | 2020-11-12 |
US11544474B2 (en) | 2023-01-03 |
CN110019471A (zh) | 2019-07-16 |
EP3707622A1 (en) | 2020-09-16 |
WO2019118256A1 (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019471B (zh) | 从结构化数据生成文本 | |
US11113479B2 (en) | Utilizing a gated self-attention memory network model for predicting a candidate answer match to a query | |
US10504010B2 (en) | Systems and methods for fast novel visual concept learning from sentence descriptions of images | |
US11288593B2 (en) | Method, apparatus and device for extracting information | |
Yi et al. | Text style transfer via learning style instance supported latent space | |
US20190258713A1 (en) | Processing text using neural networks | |
WO2020062770A1 (zh) | 一种领域词典的构建方法、装置、设备及存储介质 | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN104615589A (zh) | 训练命名实体识别模型的方法、命名实体识别方法及装置 | |
JP6361351B2 (ja) | 発話ワードをランク付けする方法、プログラム及び計算処理システム | |
CN111400584A (zh) | 联想词的推荐方法、装置、计算机设备和存储介质 | |
RU2712101C2 (ru) | Предсказание вероятности появления строки с использованием последовательности векторов | |
CN111462751A (zh) | 解码语音数据的方法、装置、计算机设备和存储介质 | |
CN112417155B (zh) | 基于指针-生成Seq2Seq模型的庭审询问生成方法、装置、介质 | |
Guan et al. | Frame semantics guided network for abstractive sentence summarization | |
CN117132923A (zh) | 视频分类方法、装置、电子设备及存储介质 | |
Celikyilmaz et al. | An empirical investigation of word class-based features for natural language understanding | |
Chen et al. | Distant supervision for relation extraction with sentence selection and interaction representation | |
CN111476035B (zh) | 中文开放关系预测方法、装置、计算机设备和存储介质 | |
Fei et al. | GFMRC: A machine reading comprehension model for named entity recognition | |
Shuang et al. | Combining word order and cnn-lstm for sentence sentiment classification | |
He et al. | Distant supervised relation extraction via long short term memory networks with sentence embedding | |
Hsu | Language modeling for limited-data domains | |
CN112926334A (zh) | 确定词表示向量的方法、装置及电子设备 | |
Li et al. | Densely enhanced semantic network for conversation system in social Media |
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 |