CN111832309A - 文本生成方法、装置和计算机可读存储介质 - Google Patents
文本生成方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111832309A CN111832309A CN201910231583.1A CN201910231583A CN111832309A CN 111832309 A CN111832309 A CN 111832309A CN 201910231583 A CN201910231583 A CN 201910231583A CN 111832309 A CN111832309 A CN 111832309A
- Authority
- CN
- China
- Prior art keywords
- text
- generated
- input information
- text generation
- generating
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000009826 distribution Methods 0.000 claims abstract description 38
- 238000012549 training Methods 0.000 claims description 57
- 230000008451 emotion Effects 0.000 claims description 49
- 230000000306 recurrent effect Effects 0.000 claims description 45
- 239000013598 vector Substances 0.000 claims description 44
- 238000013528 artificial neural network Methods 0.000 claims description 35
- 230000015654 memory Effects 0.000 claims description 18
- 238000003062 neural network model Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 4
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 15
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008909 emotion recognition Effects 0.000 description 3
- 230000002996 emotional effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007935 neutral effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010411 cooking Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种文本生成方法、装置和计算机可读存储介质,涉及自然语言处理领域。文本生成方法包括:获得用于生成文本的关键词;根据预先建立的对应关系,确定关键词对应的用于生成文本的主题标识;生成输入信息,其中,输入信息包括关键词和主题标识;将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布;基于待生成文本中的每个位置所对应的词语概率分布生成文本。本发明的实施例可以基于用于生成文本的关键词确定主题标识,使得文本生成的过程中能够参考主题标识对应的语义信息,从而可以使得生成的文本可读性更好。
Description
技术领域
本发明涉及自然语言处理领域,特别涉及一种文本生成方法、装置和计算机可读存储介质。
背景技术
自然语言文本生成(Natural Language Generation,NLG)技术是自然语言处理领域的重要研究方向之一。NLG技术的可以自动生成文本资源,从而可以节省人工成本。
在相关技术中,主要采用基于深度学习的方法生成文本。这种方法将丰富的大数据信息作为训练数据,并使用神经网络的算法设计不同复杂程度和结构的线性或非线性学习模型。神经网络的使用可以保证模型在训练数据中学习到相应的语义信息,并且通过分析已知的源语言与目标语言关系,来生成对应的文本。相关技术中的文本生成方法主要依赖于已知的关键词的信息。
发明内容
发明人认识到,由于目前生成文本仅依赖于关键词,因此相关技术生成的文本存在文本结构不合理、内容单一的问题,从而导致生成的文本可读性很差。
本发明实施例所要解决的一个技术问题是:如何提高自动生成的文本的可读性。
根据本发明一些实施例的第一个方面,提供一种文本生成方法,包括:获得用于生成文本的关键词;根据预先建立的对应关系,确定关键词对应的用于生成文本的主题标识;生成输入信息,其中,输入信息包括关键词和主题标识;将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布;基于待生成文本中的每个位置所对应的词语概率分布生成文本。
在一些实施例中,输入信息还包括用于生成文本的情感标识。
在一些实施例中,文本生成模型为基于循环神经网络模型的文本生成模型。
在一些实施例中,输入信息还包括前文文本。
在一些实施例中,在输入信息中,关键词、主题标识和前文文本为文本生成模型的编码器的输入,情感标识为文本生成模型的解码器的输入。
在一些实施例中,将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布包括:将输入信息中的关键词、主题标识和前文文本输入到基于循环神经网络的文本生成模型的编码器中,获得多个第一隐藏状态;将基于多个第一隐藏状态生成的、待生成文本中的每个位置所对应的上下文向量以及输入信息中的情感标识输入到基于循环神经网络的文本生成模型的解码器中,获得待生成文本中的每个位置所对应的第二隐藏状态;根据待生成文本中的每个位置所对应的第二隐藏状态以及预设的权重向量矩阵,确定待生成文本中的每个位置所对应的词语概率分布。
在一些实施例中,获得待生成文本中的每个位置所对应的第二隐藏状态包括:根据多个第一隐藏状态以及待生成文本中的第n-1个位置所对应的第二隐藏状态,确定待生成文本中的第n个位置所对应的、基于注意力机制的上下文向量,其中,n为大于1的正整数;将待生成文本中的第n个位置所对应的上下文向量、已确定的第n个位置的词的词向量以及输入信息中的情感标识输入到基于循环神经网络的文本生成模型的解码器中,获得待生成文本中的第n个位置所对应的第二隐藏状态。
在一些实施例中,文本生成方法还包括:获取训练文本的语义特征;通过对语义特征进行聚类,获得训练文本的语义分类结果,其中,属于同一语义类别的训练文本具有相同的主题,每个语义类别具有唯一的主题标识;根据对每个语义类别的训练文本中关键词的统计结果,生成语义类别的主题标识与关键词之间的对应关系。
在一些实施例中,文本生成方法还包括:将训练文本输入到情感分类器中,获得训练文本的情感分类结果,其中,每个情感类别具有唯一的情感标识;将训练文本的关键词和相应的主题标识、训练文本的情感标识输入到循环神经网络模型中;根据循环神经网络的输出结果与训练文本的差距,调整循环神经网络模型的参数,以便获得基于循环神经网络的文本生成模型。
根据本发明一些实施例的第二个方面,提供一种文本生成装置,包括:关键词获得模块,被配置为获得用于生成文本的关键词;主题标识确定模块,被配置为根据预先建立的对应关系,确定关键词对应的用于生成文本的主题标识;输入信息生成模块,被配置为生成输入信息,其中,输入信息包括关键词和主题标识;概率分布获得模块,被配置为将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布;文本生成模块,被配置为基于待生成文本中的每个位置所对应的词语概率分布生成文本。
根据本发明一些实施例的第三个方面,提供一种文本生成装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种文本生成方法。
根据本发明一些实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意一种文本生成方法。
上述发明中的一些实施例具有如下优点或有益效果:本发明的实施例可以基于用于生成文本的关键词确定主题标识,使得文本生成的过程中能够参考主题标识对应的语义信息,从而可以使得生成的文本可读性更好。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明一些实施例的文本生成方法的流程示意图。
图2为根据本发明另一些实施例的文本生成方法的流程示意图。
图3为根据本发明一些实施例的基于情感标识生成文本的方法的流程示意图。
图4为根据本发明隐藏状态确定方法的流程示意图。
图5为根据本发明一些实施例的主题标识与关键词之间的对应关系确定方法的流程示意图。
图6为根据本发明一些实施例的文本生成模型训练方法的流程示意图。
图7为根据本发明一些实施例的文本生成装置的结构示意图。
图8为根据本发明另一些实施例的文本生成装置的结构示意图。
图9为根据本发明又一些实施例的文本生成装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
发明人经过分析后发现,自动生成的文本的质量主要依赖于生成过程中所使用的关键词的丰富程度。如果给定的关键词很少出现在训练数据中,或者给定的关键词不适合特定类型的文本,那么将无法生成合理的文本。并且,单纯地将单个关键词作为源语言来生成目标文本的过程只能参考单个词语的信息,因此无法生成语义丰富的文本,因此无法保证文本的完整性、流畅性和可读性。
发明人想到,除了提供关键词以外,还可以根据关键词索引相关的主题。在生成文本的过程中,除了可以参考特定关键词所提供的信息,还可以参考该关键词所属的主题下的其他信息。从而,可以使得生成的文本语义更丰富,可读性更好。下面参考图1描述本发明一些实施例的文本生成方法。
图1为根据本发明一些实施例的文本生成方法的流程示意图。如图1所示,该实施例的文本生成方法包括步骤S102~S110。
在步骤S102中,获得用于生成文本的关键词。
用于生成文本的关键词是根据需要而进行预设的。例如,想要生成的文本为描述炊烟的诗句,那么预设的关键词则为“炊烟”。根据需要,关键词可以有一个或多个。
在步骤S104中,根据预先建立的对应关系,确定关键词对应的用于生成文本的主题标识。
关键词与主题标识之间的对应关系可以通过对大量的文本进行分析获得,例如,可以通过聚类、语义统计等方法获得。每个主题均对应多个关键词,这些关键词来源于同一主题下的多个文本。从而,通过该对应关系,可以将输入的信息从关键词本身扩展到语义信息更丰富的主题。
在步骤S106中,生成输入信息,其中,输入信息包括关键词和主题标识。
例如,当输入信息中包括关键词“春天”和主题标识“LT2”时,则输入信息可以为“春天LT2”。在一些实施例中,可以将待输入信息通过词向量矩阵转换为输入向量,然后将输入向量输入到文本生成模型中。例如,可以分别确定“春天”、“LT2”所对应的词向量,然后采用这些词向量构建输入向量作为输入信息。
在一些实施例中,输入信息中还可以包括前文文本。前文文本是指在待生成的文本之前出现的文本。例如,欲生成一个文本段落的第三个语句,那么段落中的第一个语句或者第二个语句可以作为用于生成文本的前文文本。在一些实施例中,前文文本为待生成的文本之前的、相邻的文本,从而可以使得前文文本与待生成的文本具有更紧密的语义关系。例如,待生成的文本是一个段落的第三个语句,那么一些实施例中可以仅将段落中的第二个语句作为前文文本。从而,生成文本时还可以参考前文文本的语义信息。
在步骤S108中,将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布。
在一些实施例中,文本生成模型可以是基于循环神经网络的模型。循环神经网络模型具有记忆性,并且是一种在序列的演进方向进行递归的递归神经网络。而自然语言的文本也可以被视为一种词语序列,并且上下文之间具有语义关联性。因此,可以借助循环神经网络实现文本的自动生成。循环神经网络在计算的过程中会逐一输出生成的文本中的每个位置所对应的概率分布。
在一些实施例中,当文本生成模型为循环神经网络模型时,文本生成模型包括编码器和解码器。编码器用于将输入的向量转换为隐藏状态,解码器用于基于编码器的输出来确定生成的文本中各个位置对应的词语概率分布。编码器和解码器均是基于循环神经网络的计算模块。例如,可以将输入信息中的关键词、主题标识、前文文本等信息输入到基于循环神经网络的文本生成模型的编码器中,然后获得解码器输出的词语概率分布。
待生成文本中的每个位置所对应的词语概率分布表示当前位置上出现每个词语的概率。从而,可以将出现概率最高的词语作为当前位置上的词语。当文本生成模型预测当前位置为结束符的概率最高时,表示不再继续当前文本中的词语预测,从而可以结束当前文本的生成过程。
在步骤S110中,基于待生成文本中的每个位置所对应的词语概率分布生成文本。
通过上述实施例的方法,可以基于用于生成文本的关键词确定主题标识,使得文本生成的过程中能够参考主题标识对应的语义信息,从而可以使得生成的文本可读性更好。
发明人经过进一步分析后认识到,除了提供关键词、主题标识以外,在文本生成过程中,可以融合文本情感信息,从而使得生成的文本具有更多文学色彩的表达,进一步提升自动生成的文本的可读性。下面参考图2描述本发明文本生成方法的实施例。
图2为根据本发明另一些实施例的文本生成方法的流程示意图。如图2所示,该实施例的文本生成方法包括步骤S202~S210。
在步骤S202中,获得用于生成文本的关键词和情感标识。
在步骤S204中,根据预先建立的对应关系,确定关键词对应的用于生成文本的主题标识。
在步骤S206中,生成输入信息,其中,输入信息包括关键词、主题标识和情感标识。根据需要,输入信息中还可以包括前文文本。
例如,一种示例性的输入信息包括“河流+LT23+这被暴风雨所打击的土地+Sad”,其中,“河流”为关键词,“LT23”为主题标识,“这被暴风雨所打击的土地”为前文文本,“Sad”为表示悲伤的情感标识。根据需要,可以逐一将“河流”、“LT23”、“这”、“被”、“暴风雨”、“所”、“打击”、“的”、“土地”、“Sad”以及结束符转换为相应的向量,并根据这些向量生成输入信息。
在步骤S208中,将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布。
在步骤S210中,基于待生成文本中的每个位置所对应的词语概率分布生成文本。
例如,待生成文本中的首个位置对应的词语概率分布中,“春天”的概率为3%、“阳光”的概率为0.85%、“我”的概率为0.5%……,其中“春天”的概率最高。因此,可以将“春天”作为待生成文本的首个位置对应的词。类似地,对第二个位置对应的词语概率分布进行解码而得到的词为“在”,第三、四、五、六个位置的解码结果依次为“诗人”、“的”、“眼中”、结束符。则生成的文本为“春天在诗人的眼中”。
通过上述实施例的方法,可以在生成文本的过程中参考特定的情感信息,从而使得生成的文本更为丰富,更具备可读性。
在一些实施例中,可以将输入信息中的关键词、主题标识和前文文本输入到文本生成模型的编码器,将输入信息中的情感标识输入到文本生成模型的解码器。从而,关键词、主题标识和前文文本可以在编码阶段提供更多的语义信息,情感标识可以在解码阶段令输出结果具有相应的情感倾向。下面参考图3描述本发明基于情感标识生成文本的方法的实施例。
图3为根据本发明一些实施例的基于情感标识生成文本的方法的流程示意图。如图3所示,该实施例的文本生成方法包括步骤S302~S310。
在步骤S302中,将输入信息中的关键词、主题标识和前文文本输入到基于循环神经网络的文本生成模型的编码器中,获得多个第一隐藏状态。
在步骤S304中,将基于多个第一隐藏状态生成的、待生成文本中的每个位置所对应的上下文向量以及输入信息中的情感标识输入到基于循环神经网络的文本生成模型的解码器中,获得待生成文本中的每个位置所对应的第二隐藏状态。上下文向量是用于将输入和输出进行关联的中间变量。
在步骤S306中,根据待生成文本中的每个位置所对应的第二隐藏状态以及预设的权重向量矩阵,确定待生成文本中的每个位置所对应的词语概率分布。
在步骤S308中,根据待生成文本中的每个位置所对应的词语概率分布,确定待生成文本中的每个位置所对应的词语。
在步骤S310中,根据待生成文本中的每个位置所对应的词语生成文本。
通过上述实施例的方法,可以在编码阶段输入关键词、主题标识和前文文本以丰富文本生成过程中的语义信息,并且在解码阶段输入情感标识、以使得解码后的结果的情感更为丰富。从而,进一步提升了生成的文本的可读性。
下面结合图4进一步描述第一隐藏状态和第二隐藏状态的确定方法。
图4为根据本发明隐藏状态确定方法的流程示意图。如图4所示,该实施例的隐藏状态确定方法包括步骤S402~S406。
在步骤S402中,将输入信息中的关键词、主题标识和前文文本输入到基于循环神经网络的文本生成模型的编码器中,获得多个第一隐藏状态。编码器的编码过程例如可以如公式(1)所示。
hm=LSTM(hm-1,[xm;T;P]) (1)
其中,m表示输入信息中的各个单位元素所在的位置,单位元素是指一个词或者一个标志,例如对于输入信息“河流+LT23+这被暴风雨所打击的土地+Sad”,“河流”、“LT23”、“暴风雨”、“土地”、“Sad”等均可以视为一个单位元素;hm表示位置m所对应的第一隐藏状态;LSTM(·)表示编码器采用长短记忆网络进行计算(Long Short-Term Memory NeuralNetwork,简称:LSTM);xm表示将输入信息中的第m个单位元素所对应的向量,其中,输入信息X=[x1,x2,…,xm,…]=[K;T;P],并且K表示关键词、T表示主题标识、P表示前文文本、[·]表示将中括号中的多个项进行合并后的结果。
当m=1时,可以令循环神经网络的输入为0,以确定输入信息的首个位置所对应的第一隐藏状态h1。
根据需要,还可以采用其他类型的循环神经网络,例如递归神经网络(RecurrentNeural Network,简称:RNN)、门控循环单元(Gated Recurrent Unit,简称:GRU)等等。
在步骤S404中,根据多个第一隐藏状态以及待生成文本中的第n-1个位置所对应的第二隐藏状态,确定待生成文本中的第n个位置所对应的、基于注意力机制的上下文向量,其中,n为大于1的正整数。
例如,可以采用公式(2)~(4)计算上下文向量。
αmn=f(sn-1,hm) (2)
α′mn=sof tmax(αmn) (3)
其中,m表示输入信息中的各个单位元素所在的位置;n表示待生成的文本中的各个词所在的位置;αmn和α′mn为中间变量,用于反映输入的内容中各个位置所对应的得分信息;f(·)为预设的冲激函数,用于表示函数中的两个项的匹配程度,本领域技术人员可以根据需要来进行设置;sn-1表示待生成文本中的第n-1个位置所对应的第二隐藏状态;hm表示输入的内容中位置m所对应的第一隐藏状态;cn表示待生成文本中的第n个位置所对应的上下文向量,其作用是将输出与输入进行关联;M表示表示输入的内容中的位置总数,即词的总数。一个主题标识也可以被视为一个词。
在步骤S406中,将待生成文本中的第n个位置所对应的上下文向量、已确定的第n-1个位置的词的词向量以及输入信息中的情感标识输入到基于循环神经网络的文本生成模型的解码器中,获得待生成文本中的第n个位置所对应的第二隐藏状态。例如,可以采用公式(5)计算第二隐藏状态。
sn=LSTM(sn-1,[cn;O;e(yn-1)]) (5)
其中,n表示待生成的文本中的各个词所在的位置;sn表示待生成文本中的第n个位置所对应的第二隐藏状态;LSTM(·)表示解码器采用长短记忆网络进行计算;cn表示待生成文本中的第n个位置所对应的上下文向量;O表示情感标识;yn-1表示待生成文本中的第n-1个位置上所对应的词语概率分布;e(yn-1)表示基于yn-1确定的相应词语的词向量;[·]表示将中括号中的多个项进行合并后的结果。
当n=1时,可以令循环神经网络的输入为0,以确定输入信息的首个位置所对应的第二隐藏状态s1。
在确定了第二隐藏状态后,可以计算位置n所对应的词语概率分布yt。例如,可以参考公式(6)。
yn=P(yn|yl,y2,y3,…,yn-l,cn)=softmax(Wsn) (6)
其中,P(yn|y1,y2,y3,…,yn-1,cn)表示在待生成文本中的前n-1个位置分别对应词语概率分布y1、y2、y3、…、yn-1并且上下文向量为cn的情况下,第n个位置的词语概率分布为yn的概率;W表示预设的权重向量;sn表示待生成文本中的第n个位置所对应的第二隐藏状态。
通过上述实施例的方法,可以基于关键词、主题标识和前文文本以及在之前生成的第一隐藏状态确定当前的第一隐藏状态,并且基于第一隐藏状态、情感标识和之前的解码结果确定当前的第二隐藏状态。从而,可以生成语义和情感信息更丰富的文本,提高了生成的文本的可读性。
下面描述本发明一些实施例的训练过程。
主题标识与关键词之间的对应关系可以是预先通过分析大量文本数据获得的。例如,每个主题标识所对应的关键词为同一类文本中的关键词。下面参考图5描述本发明主题标识与关键词之间的对应关系确定方法的实施例。
图5为根据本发明一些实施例的主题标识与关键词之间的对应关系确定方法的流程示意图。如图5所示,该实施例的对应关系确定方法包括步骤S502~S506。
在步骤S502中,获取训练文本的语义特征。语义特征可以是通过向量表示的。例如,可以使用句向量工具Sent2Vec方法获得每个训练文本的语义特征向量;又例如,可以首先获取训练文本中每个词的词向量,然后通过对词向量进行加权平均等方式获得训练文本的语义特征向量。
在步骤S504中,通过对语义特征进行聚类,获得训练文本的语义分类结果,其中,属于同一语义类别的训练文本具有相同的主题,每个语义类别具有唯一的主题标识。
在一些实施例中,可以使用亲和传播聚类算法(又称AP聚类算法,全称为:Affinity Propagation Clustering Algorithm)。根据需要,本领域技术人员也可以采用其他聚类算法,这里不再赘述。
在对训练文本的语义特征进行聚类后,会生成若干针对不同隐含主题的句子簇,每个句子簇对应一个语义分类结果。每个分类可以具有唯一的主题标识,例如LT1、LT2……LT1000分别用于表示1000个类中每个类的主题标识。
在步骤S506中,根据对每个语义类别的训练文本中关键词的统计结果,生成语义类别的主题标识与关键词之间的对应关系。
在一些实施例中,可以将属于同一类中的训练文本的所有关键词与该类对应的主题标识进行对应,也可以将将属于同一类中的训练文本中出现频率高于预设值、或出现频率的排名高于预设值的关键词与该类对应的主题标识进行对应。
上述实施例的方法基于文本的语义特征进行聚类,使得具有相同或相近语义信息的文本被分配到了同一类,以确定不同的文本所属的主题。从而,可以更准确地确定关键词与主题标识之间的对应关系。进一步地,在文本生成阶段,可以基于该对应关系提供更丰富、更准确的语义信息,使得生成的文本可读性更高。
在一些实施例中,可以采用训练数据预先对循环神经网络进行训练,以获得文本生成模型。下面参考图6描述本发明一些实施例的文本生成模型训练方法的实施例。
图6为根据本发明一些实施例的文本生成模型训练方法的流程示意图。如图6所示,该实施例的文本生成模型训练方法包括步骤S602~S606。
在步骤S602中,将训练文本输入到情感分类器中,获得训练文本的情感分类结果,其中,每个情感类别具有唯一的情感标识。
在一些实施例中,情感分类器可以是预先训练的。例如,可以获取具有情感标识的标注的数据集;然后,采用数据集对多种分类器进行训练;最后,对每种分类器的预测结果进行测试,以将准确率最高的分类器确定为情感分类器。
在步骤S604中,将训练文本的关键词和相应的主题标识、情感标识输入到循环神经网络模型中。训练数据的一个示例如表1所示。
表1
训练文本 | 关键词 | 情感标签 | 隐含主题 |
假如我是一只鸟 | 鸟 | 中性 | LT19 |
我也应该用嘶哑的喉咙歌唱 | 歌唱 | 悲伤 | LT19 |
这被暴风雨所打击的土地 | 暴风雨 | 中性 | LT40 |
这永远汹涌着我们的悲愤的河流 | 河流 | 悲伤 | LT23 |
…… | …… | …… | …… |
为什么我的眼里常含泪水 | 泪水 | 悲伤 | LT21 |
因为我对这土地爱得深沉 | 土地 | 中性 | LT34 |
在步骤S606中,根据循环神经网络的输出结果与训练文本的差距,调整循环神经网络模型的参数,以便获得基于循环神经网络的文本生成模型。
例如,将“歌唱+悲伤+LT19+假如我是一只鸟”输入到循环神经网络训练模型中,生成的文本为“我用美妙的喉咙歌唱”。根据生成的文本与训练文本的原内容“我也应该用嘶哑的喉咙歌唱”之间的差距,可以对神经网络模型进行调整。本领域技术人员应当清楚,上述调整过程仅为示例性的说明。在实际的训练过程中,通常基于批量的输入信息的输出结果对模型的参数进行更新。
通过上述实施例的方法,可以基于情感标识、主题标识对循环神经网络模型进行训练,从而可以使得训练的文本生成模型能够输出语义更丰富、可读性更好的文本。
本发明的实施例可以应用于多种场景。例如,自动生成网络中的产品的描述文本、自动生成对来自网络用户的问题的应答文本等等。由于本发明的实施例生成的文本具备更好的可读性,用户可以快速地理解自动生成的文本所表达的内容,降低了用户由于不清楚文本内容而与文本的提供方进行反复沟通、确认的次数,节约了网络资源。
当然,本发明的实施例还可以应用于生成网络文本以外的文本。本领域技术人员可以根据需要进行选择。
下面参考图7描述本发明文本生成装置的实施例。
图7为根据本发明一些实施例的文本生成装置的结构示意图。如图7所示,该实施例的文本生成装置70包括:关键词获得模710,被配置为获得用于生成文本的关键词;主题标识确定模块720,被配置为根据预先建立的对应关系,确定关键词对应的用于生成文本的主题标识;输入信息生成模块730,被配置为生成输入信息,其中,输入信息包括关键词和主题标识;概率分布获得模块740,被配置为将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布;文本生成模块750,被配置为基于待生成文本中的每个位置所对应的词语概率分布生成文本。
在一些实施例中,输入信息还包括用于生成文本的情感标识。
在一些实施例中,文本生成模型为基于循环神经网络模型的文本生成模型。
在一些实施例中,输入信息还包括前文文本。
在一些实施例中,在输入信息中,关键词、主题标识和前文文本为文本生成模型的编码器的输入,情感标识为文本生成模型的解码器的输入。
在一些实施例中,概率分布获得模块740进一步被配置为将输入信息中的关键词、主题标识和前文文本输入到基于循环神经网络的文本生成模型的编码器中,获得多个第一隐藏状态;将基于多个第一隐藏状态生成的、待生成文本中的每个位置所对应的上下文向量以及输入信息中的情感标识输入到基于循环神经网络的文本生成模型的解码器中,获得待生成文本中的每个位置所对应的第二隐藏状态;根据待生成文本中的每个位置所对应的第二隐藏状态以及预设的权重向量矩阵,确定待生成文本中的每个位置所对应的词语概率分布。
在一些实施例中,概率分布获得模块740进一步被配置为根据多个第一隐藏状态以及待生成文本中的第n-1个位置所对应的第二隐藏状态,确定待生成文本中的第n个位置所对应的、基于注意力机制的上下文向量,其中,n为大于1的正整数;将待生成文本中的第n个位置所对应的上下文向量、已确定的第n个位置的词的词向量以及输入信息中的情感标识输入到基于循环神经网络的文本生成模型的解码器中,获得待生成文本中的第n个位置所对应的第二隐藏状态。
在一些实施例中,文本生成装置70还包括:对应关系生成模块760,被配置为获取训练文本的语义特征;通过对语义特征进行聚类,获得训练文本的语义分类结果,其中,属于同一语义类别的训练文本具有相同的主题,每个语义类别具有唯一的主题标识;根据对每个语义类别的训练文本中关键词的统计结果,生成语义类别的主题标识与关键词之间的对应关系。
在一些实施例中,文本生成装置70还包括:模型训练模块770,被配置为将训练文本输入到情感分类器中,获得训练文本的情感分类结果,其中,每个情感类别具有唯一的情感标识;将训练文本的关键词和相应的主题标识、训练文本的情感标识输入到循环神经网络模型中;根据循环神经网络的输出结果与训练文本的差距,调整循环神经网络模型的参数,以便获得基于循环神经网络的文本生成模型。
图8为根据本发明另一些实施例的文本生成装置的结构示意图。如图8所示,该实施例的文本生成装置80包括:存储器810以及耦接至该存储器810的处理器820,处理器820被配置为基于存储在存储器810中的指令,执行前述任意一个实施例中的文本生成方法。
其中,存储器810例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
图9为根据本发明又一些实施例的文本生成装置的结构示意图。如图9所示,该实施例的文本生成装置90包括:存储器910以及处理器920,还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930,940,950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为SD卡、U盘等外置存储设备提供连接接口。
本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种文本生成方法。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种文本生成方法,包括:
获得用于生成文本的关键词;
根据预先建立的对应关系,确定所述关键词对应的用于生成文本的主题标识;
生成输入信息,其中,所述输入信息包括所述关键词和所述主题标识;
将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布;
基于所述待生成文本中的每个位置所对应的词语概率分布生成文本。
2.根据权利要求1所述的文本生成方法,其中,所述输入信息还包括用于生成文本的情感标识。
3.根据权利要求1或2所述的文本生成方法,其中,所述文本生成模型为基于循环神经网络模型的文本生成模型。
4.根据权利要求3所述的文本生成方法,其中,所述输入信息还包括前文文本。
5.根据权利要求4所述的文本生成方法,其中,在输入信息中,关键词、主题标识和前文文本为文本生成模型的编码器的输入,情感标识为文本生成模型的解码器的输入。
6.根据权利要求5所述的文本生成方法,其中,所述将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布包括:
将输入信息中的关键词、主题标识和前文文本输入到基于循环神经网络的文本生成模型的编码器中,获得多个第一隐藏状态;
将基于多个第一隐藏状态生成的、待生成文本中的每个位置所对应的上下文向量以及输入信息中的情感标识输入到基于循环神经网络的文本生成模型的解码器中,获得待生成文本中的每个位置所对应的第二隐藏状态;
根据待生成文本中的每个位置所对应的第二隐藏状态以及预设的权重向量矩阵,确定待生成文本中的每个位置所对应的词语概率分布。
7.根据权利要求6所述的文本生成方法,其中,所述获得待生成文本中的每个位置所对应的第二隐藏状态包括:
根据多个第一隐藏状态以及待生成文本中的第n-1个位置所对应的第二隐藏状态,确定待生成文本中的第n个位置所对应的、基于注意力机制的上下文向量,其中,n为大于1的正整数;
将待生成文本中的第n个位置所对应的上下文向量、已确定的第n-1个位置的词的词向量以及输入信息中的情感标识输入到基于循环神经网络的文本生成模型的解码器中,获得待生成文本中的第n个位置所对应的第二隐藏状态。
8.根据权利要求1所述的文本生成方法,还包括:
获取训练文本的语义特征;
通过对语义特征进行聚类,获得训练文本的语义分类结果,其中,属于同一语义类别的训练文本具有相同的主题,每个语义类别具有唯一的主题标识;
根据对每个语义类别的训练文本中关键词的统计结果,生成语义类别的主题标识与关键词之间的对应关系。
9.根据权利要求2所述的文本生成方法,还包括:
将训练文本输入到情感分类器中,获得训练文本的情感分类结果,其中,每个情感类别具有唯一的情感标识;
将训练文本的关键词和相应的主题标识、训练文本的情感标识输入到循环神经网络模型中;
根据循环神经网络的输出结果与所述训练文本的差距,调整循环神经网络模型的参数,以便获得基于循环神经网络的文本生成模型。
10.一种文本生成装置,包括:
关键词获得模块,被配置为获得用于生成文本的关键词;
主题标识确定模块,被配置为根据预先建立的对应关系,确定所述关键词对应的用于生成文本的主题标识;
输入信息生成模块,被配置为生成输入信息,其中,所述输入信息包括所述关键词和所述主题标识;
概率分布获得模块,被配置为将输入信息输入到文本生成模型中,获得待生成文本中的每个位置所对应的词语概率分布;
文本生成模块,被配置为基于所述待生成文本中的每个位置所对应的词语概率分布生成文本。
11.一种文本生成装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1~9中任一项所述的文本生成方法。
12.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1~9中任一项所述的文本生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910231583.1A CN111832309B (zh) | 2019-03-26 | 2019-03-26 | 文本生成方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910231583.1A CN111832309B (zh) | 2019-03-26 | 2019-03-26 | 文本生成方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111832309A true CN111832309A (zh) | 2020-10-27 |
CN111832309B CN111832309B (zh) | 2024-06-18 |
Family
ID=72914149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910231583.1A Active CN111832309B (zh) | 2019-03-26 | 2019-03-26 | 文本生成方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111832309B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016121048A1 (ja) * | 2015-01-29 | 2016-08-04 | 株式会社日立製作所 | 文章生成装置及び方法 |
CN108062388A (zh) * | 2017-12-15 | 2018-05-22 | 北京百度网讯科技有限公司 | 人机对话的回复生成方法和装置 |
CN108363697A (zh) * | 2018-03-08 | 2018-08-03 | 腾讯科技(深圳)有限公司 | 文本信息生成方法、装置、存储介质及设备 |
-
2019
- 2019-03-26 CN CN201910231583.1A patent/CN111832309B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016121048A1 (ja) * | 2015-01-29 | 2016-08-04 | 株式会社日立製作所 | 文章生成装置及び方法 |
CN108062388A (zh) * | 2017-12-15 | 2018-05-22 | 北京百度网讯科技有限公司 | 人机对话的回复生成方法和装置 |
CN108363697A (zh) * | 2018-03-08 | 2018-08-03 | 腾讯科技(深圳)有限公司 | 文本信息生成方法、装置、存储介质及设备 |
Non-Patent Citations (2)
Title |
---|
HAO ZHOU等: "Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory", pages 1 - 9, Retrieved from the Internet <URL:《https://arxiv.org/pdf/1704.01074.pdf》> * |
李争: "基于神经网络的古诗词自动生成研究", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 10, pages 140 - 42 * |
Also Published As
Publication number | Publication date |
---|---|
CN111832309B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108875807B (zh) | 一种基于多注意力多尺度的图像描述方法 | |
CN107133224B (zh) | 一种基于主题词的语言生成方法 | |
CN108363743B (zh) | 一种智能问题生成方法、装置和计算机可读存储介质 | |
CN113255755B (zh) | 一种基于异质融合网络的多模态情感分类方法 | |
CN107943784B (zh) | 基于生成对抗网络的关系抽取方法 | |
CN108062388A (zh) | 人机对话的回复生成方法和装置 | |
CN107346340A (zh) | 一种用户意图识别方法及系统 | |
CN107798140A (zh) | 一种对话系统构建方法、语义受控应答方法及装置 | |
CN111767694B (zh) | 文本生成方法、装置和计算机可读存储介质 | |
CN107180084A (zh) | 词库更新方法及装置 | |
CN109933792A (zh) | 基于多层双向lstm和验证模型的观点型问题阅读理解方法 | |
CN111738006A (zh) | 基于商品评论命名实体识别的问题生成方法 | |
CN113326367B (zh) | 基于端到端文本生成的任务型对话方法和系统 | |
CN107679225A (zh) | 一种基于关键词的回复生成方法 | |
CN112559749A (zh) | 在线教育师生智能匹配方法、装置及存储介质 | |
CN115221306B (zh) | 自动应答评价方法及装置 | |
CN111552773A (zh) | 一种阅读理解任务中是否类问题关键句寻找方法及系统 | |
CN113987167A (zh) | 基于依赖感知图卷积网络的方面级情感分类方法及系统 | |
CN113901289A (zh) | 一种基于无监督学习的推荐方法及系统 | |
CN116010581A (zh) | 一种基于电网隐患排查场景的知识图谱问答方法及系统 | |
CN113704393A (zh) | 关键词提取方法、装置、设备及介质 | |
CN114444481B (zh) | 一种新闻评论的情感分析与生成方法 | |
CN116049387A (zh) | 一种基于图卷积的短文本分类方法、装置、介质 | |
CN111178082A (zh) | 一种句向量生成方法、装置及电子设备 | |
CN117725999A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210527 Address after: 100176 room 1004, 10th floor, building 1, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing Applicant after: Beijing Huijun Technology Co.,Ltd. Address before: 100086 8th Floor, 76 Zhichun Road, Haidian District, Beijing Applicant before: BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY Co.,Ltd. Applicant before: BEIJING JINGDONG CENTURY TRADING Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |