CN111581986A - 一种基于动态推敲网络的自然语言生成方法 - Google Patents
一种基于动态推敲网络的自然语言生成方法 Download PDFInfo
- Publication number
- CN111581986A CN111581986A CN202010402557.3A CN202010402557A CN111581986A CN 111581986 A CN111581986 A CN 111581986A CN 202010402557 A CN202010402557 A CN 202010402557A CN 111581986 A CN111581986 A CN 111581986A
- Authority
- CN
- China
- Prior art keywords
- model
- sentences
- sentence
- calling
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000008569 process Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000011218 segmentation Effects 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/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种基于动态推敲网络的自然语言生成方法。所述方法包括:建立Encoder‑Attention‑Decoder模型;以原始文档x为输入,调用所述模型生成K个初始的句子;从K个句子中随机选取一个句子yc;根据x和yc调用所述模型,模型中的两个Attention模块分别对x和yc进行处理,并将处理结果融合在一起,生成K个新的句子;重复上述步骤直到满足收敛条件。本发明通过反复调用所述模型,利用模型中的Attention模块对生成的句子进行反复推敲、润色,能够输出高质量的句子。
Description
技术领域
本发明属于自然语言理解技术领域,具体涉及一种基于动态推敲网络的自然语言生成方法。
背景技术
目前,自然语言生成NLG(Natural Language Generation)是自然语言处理的一部分,从知识库或逻辑形式等机器表示系统生成自然语言。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器,可以将其理解为自然语言理解的反向。在自然语言生成中,输入序列和输出序列的长度都不是固定的,比如机器翻译、自动文摘等。要处理这种变长的输入和输出,通常使用循环神经网络RNN(RecurrentNeuralNetwork)。对于简单的多层前馈神经网络,每一次输入都要重新计算网络的中间状态,它不受之前样本计算得到的中间状态的影响。而RNN就可以保存这一历史信息,根据当前的输入和历史状态计算当前的状态信息,因此RNN可以处理任意长度的输入。RNN的主要思想就是循环地将输入序列压缩成一个固定维度的向量,也就是网络的中间状态,这一过程通过不断地将当前时刻的输入和历史状态组合实现。
从机器学习的角度看,自然语言生成可以看作一个有监督学习的过程,学习一个任意长度序列到另一个任意长度序列的过程。如果采用典型的编码器-解码器Encoder-Decoder结构,Encoder需要先将整个输入词序列压缩成一个固定维度的向量,然后Decoder从中解码出整个输出词序列。这就要求这个固定维度的向量包含输入句子的所有信息,显然这是很难达到的,这也成了Encoder-Decoder结构的性能瓶颈,使其无法很好地处理长句子。为此,有人提出将注意力Attention机制引入Encoder-Decoder框架,使Decoder更多地关注输入端部分词,从而缓解了Encoder-Decoder框架中将输入序列压缩成固定维度向量带来的问题。目前基于Encoder-Attention-Decoder框架的方法提取生成自然语言,往往只进行一次性解码,缺乏对人类写作过程中反复推敲的建模,导致生成的句子存在不够流利、质量不高的问题。
发明内容
为了解决现有技术中存在的上述问题,本发明提出一种基于动态推敲网络的自然语言生成方法。
为实现上述目的,本发明采用如下技术方案:
一种基于动态推敲网络的自然语言生成方法,包括以下步骤:
步骤1,建立Encoder-Attention-Decoder模型,模型的输入为原始文档,输出为满足任务要求的文档;
步骤2,以原始文档x为输入调用所述模型,生成K个初始的句子Y0={y01,y02,…,y0K};
步骤3,从K个句子中随机选取一个句子yc;
步骤4,根据x和yc调用所述模型,模型中的两个Attention模块分别对x和yc进行处理,并将处理结果融合在一起,生成K个句子Yc={yc1,yc2,…,ycK};
步骤5,重复步骤3、4,直到满足收敛条件。
与现有技术相比,本发明具有以下有益效果:
本发明通过建立Encoder-Attention-Decoder模型,以原始文档x为输入,调用所述模型生成K个初始的句子,从K个句子中随机选取一个句子yc,根据x和yc调用所述模型,模型中的两个Attention模块分别对x和yc进行处理,并将处理结果融合在一起,生成K个新的句子,重复上述步骤直到满足收敛条件。本发明通过反复调用所述模型,利用模型中的Attention模块对生成的句子进行反复推敲,能够输出高质量的句子。
附图说明
图1为本发明实施例一种基于动态推敲网络的自然语言生成方法的流程图;
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明实施例一种基于动态推敲网络的自然语言生成方法,流程图如图1所示,所述方法以下步骤:
S101、建立Encoder-Attention-Decoder模型,模型的输入为原始文档,输出为满足任务要求的文档;
S102、以原始文档x为输入调用所述模型,生成K个初始的句子Y0={y01,y02,…,y0K};
S103、从K个句子中随机选取一个句子yc;
S104、根据x和yc调用所述模型,模型中的两个Attention模块分别对x和yc进行处理,并将处理结果融合在一起,生成K个句子Yc={yc1,yc2,…,ycK};
S105、重复步骤S103、S104,直到满足收敛条件。
在本实施例中,步骤S101主要用于建立Encoder-Attention-Decoder模型。所述模型是在经典的Encoder-Decoder结构中引入Attention机制得到的,编码器Encoder和解码器Decoder均采用一个循环神经网络RNN,每个RNN的输出连接一个Attention模块。现有的Encoder-Attention-Decoder模型只调用一次Decoder,而本实施例所述模型的Decoder须多次调用,以实现对生成句子的反复推敲、润色,从而输出高质量的句子。
在本实施例中,步骤S102主要用于生成K个初始的句子。K个初始的句子通过以原始文档x为输入调用所述模型得到。比如,输入句子为“北京是中国的首都”,任务要求为中英机器翻译,调用所述模型,取K=3,可生成3个初始句子。例如3个初始句子可以是:“Beijing is the capital”,“Beijing is capital of China”,“Beijing is thecapital of China”。
在本实施例中,步骤S103主要用于从上一步生成的K个句子中随机地选取一个句子。比如,选取第二个句子“Beijing is capital of China”;当然也可以选取第一个句子“Beijing is the capital”。
在本实施例中,步骤S104、S105主要用于实现对生成句子的反复推敲,以生成高质量的句子。推敲在进行翻译、写作的时候是一个很普遍的做法。为此,将推敲过程加入到编码器-解码器框架中,使解码器工作在两阶段:第一阶段的解码器用于解码生成原始序列;第二阶段的解码器通过反复推敲的过程打磨和润色原始语句,能够通过在第一阶段的原始语句中观察未来的单词而产生更好的句子。步骤S104、S105就是解码器工作的第二阶段。具体方法是:再次调用所述模型,此时输入x不变,利用两个Attention模块分别对输入x和上一步选取的句子yc进行提取特征、压缩等处理,并将处理结果融合在一起(首尾相连),输出K个新的句子;然后,从这K个新的句子中再随机地选取一个句子。反复执行步骤S104、S105就实现了对生成句子的推敲、润色。当满足收敛条件时停止推敲即可输出经推敲后的高质量句子。例如,基于原始文档“北京是中国的首都”和选取的句子“Beijing is capital ofChina”,再次调用所述模型,输出3个新的句子。假设经多次调用模型后输出的3个句子为:“Beijing is the capital of China”,“Beijing is the capital of China”,“Beijingis the capital of China”。由于这时输出的3个句子完全相同,已满足收敛条件,停止调用模型。最后输出的句子是最准确的翻译结果“Beijing is the capital of China”。
作为一种可选实施例,所述收敛条件为:
输入x不变,连续两次调用所述模型生成句子y的条件概率P(y|x)不变;或连续两次调用所述模型生成的句子之间的Levenshtein距离不变。
本实施例给出了两个具体的收敛条件。两个条件之间是逻辑或关系,即只要满足其中任意一个条件就停止句子生成过程。第一个条件是根据连续两次调用所述模型生成句子y的条件概率P(y|x)条件概率是否变化进行判断。P(y|x)由输出层经过softmax激活函数获得。第二个条件是根据连续两次调用所述模型生成的句子之间的Levenshtein距离是否变化进行判断。Levenshtein距离又称字符串编辑距离,字符串A、B的Levenshtein距离是指利用字符操作,把字符串A转换成字符串B所需要的最少操作数。字符操作包括删除、插入和修改一个字符。一般来说,两个字符串的Levenshtein距离越小,则它们越相似。当两个字符串相等时,它们的Levenshtein距离为0。
上述仅对本发明中的几种具体实施例加以说明,但并不能作为本发明的保护范围,凡是依据本发明中的设计精神所做出的等效变化或修饰或等比例放大或缩小等,均应认为落入本发明的保护范围。
Claims (2)
1.一种基于动态推敲网络的自然语言生成方法,其特征在于,包括以下步骤:
步骤1,建立Encoder-Attention-Decoder模型,模型的输入为原始文档,输出为满足任务要求的文档;
步骤2,以原始文档x为输入调用所述模型,生成K个初始的句子Y0={y01,y02,…,y0K};
步骤3,从K个句子中随机选取一个句子yc;
步骤4,根据x和yc调用所述模型,模型中的两个Attention模块分别对x和yc进行处理,并将处理结果融合在一起,生成K个句子Yc={yc1,yc2,…,ycK};
步骤5,重复步骤3、4,直到满足收敛条件。
2.根据权利要求1所述的基于动态推敲网络的自然语言生成方法,其特征在于,所述收敛条件为:
输入x不变,连续两次调用所述模型生成句子y的条件概率P(y|x)不变;或连续两次调用所述模型生成的句子之间的Levenshtein距离不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010402557.3A CN111581986A (zh) | 2020-05-13 | 2020-05-13 | 一种基于动态推敲网络的自然语言生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010402557.3A CN111581986A (zh) | 2020-05-13 | 2020-05-13 | 一种基于动态推敲网络的自然语言生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111581986A true CN111581986A (zh) | 2020-08-25 |
Family
ID=72112110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010402557.3A Pending CN111581986A (zh) | 2020-05-13 | 2020-05-13 | 一种基于动态推敲网络的自然语言生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581986A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180189274A1 (en) * | 2016-12-29 | 2018-07-05 | Ncsoft Corporation | Apparatus and method for generating natural language |
CN109858032A (zh) * | 2019-02-14 | 2019-06-07 | 程淑玉 | 融合Attention机制的多粒度句子交互自然语言推理模型 |
CN109885673A (zh) * | 2019-02-13 | 2019-06-14 | 北京航空航天大学 | 一种基于预训练语言模型的自动文本摘要方法 |
CN110069790A (zh) * | 2019-05-10 | 2019-07-30 | 东北大学 | 一种通过译文回译对照原文的机器翻译系统及方法 |
CN110489766A (zh) * | 2019-07-25 | 2019-11-22 | 昆明理工大学 | 基于编码归纳-解码推敲的汉-越低资源神经机器翻译方法 |
-
2020
- 2020-05-13 CN CN202010402557.3A patent/CN111581986A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180189274A1 (en) * | 2016-12-29 | 2018-07-05 | Ncsoft Corporation | Apparatus and method for generating natural language |
CN109885673A (zh) * | 2019-02-13 | 2019-06-14 | 北京航空航天大学 | 一种基于预训练语言模型的自动文本摘要方法 |
CN109858032A (zh) * | 2019-02-14 | 2019-06-07 | 程淑玉 | 融合Attention机制的多粒度句子交互自然语言推理模型 |
CN110069790A (zh) * | 2019-05-10 | 2019-07-30 | 东北大学 | 一种通过译文回译对照原文的机器翻译系统及方法 |
CN110489766A (zh) * | 2019-07-25 | 2019-11-22 | 昆明理工大学 | 基于编码归纳-解码推敲的汉-越低资源神经机器翻译方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109508462B (zh) | 一种基于编码器-解码器的神经网络蒙汉机器翻译方法 | |
CN111178094B (zh) | 一种基于预训练的稀缺资源神经机器翻译训练方法 | |
CN106847288B (zh) | 语音识别文本的纠错方法与装置 | |
CN107480206B (zh) | 一种基于多模态低秩双线性池化的图像内容问答方法 | |
US20190251165A1 (en) | Conversational agent | |
CN111382580A (zh) | 一种面向神经机器翻译的编码器-解码器框架预训练方法 | |
Luo et al. | Text steganography based on ci-poetry generation using Markov chain model | |
CN103474069B (zh) | 用于融合多个语音识别系统的识别结果的方法及系统 | |
CN109086270B (zh) | 基于古诗词语料向量化的自动作诗系统及其方法 | |
CN107729329A (zh) | 一种基于词向量连接技术的神经机器翻译方法及装置 | |
CN111858932A (zh) | 基于Transformer的多重特征中英文情感分类方法及系统 | |
CN112417134B (zh) | 基于语音文本深度融合特征的摘要自动生成系统及方法 | |
CN111178093B (zh) | 一种基于堆叠算法的神经机器翻译系统训练加速方法 | |
CN110765264A (zh) | 一种增强语义相关性的文本摘要生成方法 | |
CN115840799B (zh) | 一种基于深度学习的知识产权综合管理系统 | |
CN112183109B (zh) | 基于mass的诗句生成信息隐写方法 | |
CN102707948B (zh) | 一种源代码生成方法 | |
CN112183058A (zh) | 基于bert句子向量输入的诗词生成方法及装置 | |
CN111400481A (zh) | 针对多轮对话生成回复语句的方法和装置 | |
CN115460459A (zh) | 基于ai的视频生成方法、装置和电子设备 | |
CN111581986A (zh) | 一种基于动态推敲网络的自然语言生成方法 | |
CN110717313B (zh) | 一种基于标准化流的全并行化文本生成方法 | |
CN116663577A (zh) | 基于跨模态表征对齐的英越端到端语音翻译方法 | |
CN116208772A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
Cho | Introduction to neural machine translation with GPUs (part 3) |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200825 |