CN116226378A - 一种基于深度学习的文本生成方法 - Google Patents
一种基于深度学习的文本生成方法 Download PDFInfo
- Publication number
- CN116226378A CN116226378A CN202310040513.4A CN202310040513A CN116226378A CN 116226378 A CN116226378 A CN 116226378A CN 202310040513 A CN202310040513 A CN 202310040513A CN 116226378 A CN116226378 A CN 116226378A
- Authority
- CN
- China
- Prior art keywords
- model
- generation
- scoring
- score
- training
- 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
Images
Classifications
-
- 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
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明属于自然语言处理技术领域,涉及一种基于深度学习的文本生成方法。包括:收集目标任务数据集,增加损失函数,在目标任务数据集上重新训练初始生成模型;构建用于训练打分模型的数据集,包括数据集的生成以及划分等操作;构建打分模型,使用打分模型训练数据集对打分模型进行训练至收敛,通过测试集验证模型性能;将打分模型与生成模型相结合,在生成模型的解码阶段插入打分模块,通过打分模型的输出调整候选词的概率分布。经过本发明的优化后,文本生成模型的生成质量明显提升,其具体表现在,在以生成结果与参考标准相匹配程度为评价指标的任务中,生成结果的指标分数明显提高。
Description
技术领域
本发明属于自然语言处理技术领域,涉及一种基于深度学习的文本生成方法。
背景技术
自然语言处理是人工智能的分支之一,其主要目标是让机器学习到人类的语言特征,从而完成一系列此前需要人类智能才能完成的任务。文本生成是自然语言处理领域的重要研究方向,包括机器翻译、摘要生成、对话生成、故事生成等等诸多任务。
当前文本生成任务主要采用自回归式生成方法,即逐词依次生成。在每个词生成时,根据上文所有文本计算词表中每个词在当前位置出现的概率,根据采样算法选出生成结果。
近年来,以GPT-2为代表的大型预训练语言模型出现,使文本生成的质量有了较大提升。通过在特定领域数据集上对预训练模型进行微调训练,即可实现各种不同的具体任务。
然而在实际应用中,文本生成任务依然存在一些亟待解决的关键问题。第一、模型生成的文本仍然与人类自然语言具有差距,无论是语法的准确性、上下文的逻辑性、表意的流畅性等方面都无法实现完全以假乱真。第二、对于具体的文本生成任务,当前的模型结果在指标表现上仍有欠缺,尤其是在文本摘要、对话生成这类同时要求准确性和多样性的任务中问题更为明显。第三、在语言模型的实际应用中,通常需要根据具体应用场景对语言模型的生成结果进行条件限制,而传统的语言模型仅仅对每个词出现的条件概率进行建模,很难做到更细粒度的条件控制。
发明内容
基于上述在文本生成过程中存在的诸多问题,本发明提出了一种基于深度学习的文本生成方法,可以提升文本生成质量。本发明从两个方面解决文本生成模型存在的问题:第一,调整文本生成模型的损失函数,使训练后的语言模型可以产生更贴近任务目标的句子。第二,训练一个用于评分的神经网络模型,在自回归文本生成的过程中对候选词进行评价,根据评价结果改变候选词的概率分布,最终改变生成结果。
本发明方法大致分为四个部分:
(1)初始生成模型部分:主要指待优化的文本初始生成模型G0,模型结构可选范围包括LSTM,Transformer,GPT等。初始生成模型G0也可以直接选择经过预训练的模型,例如预训练的GPT2模型,再对其进行特定领域的微调,使其适合于当前任务。本方法修改损失函数,对初始生成模型做进一步训练。
(2)表示模型部分:包括一个神经网络模型Mr,以文本作为输入,输出指定维度的向量表示,用于参与本方法所述新损失模型的计算。模型结构可选用ELMO,Bert等动态词向量模型。
(3)打分模型部分:主要包括一个可进行训练的神经网络模型Mscore,以自然语言作为输入,输出0到1之间的数作为分数。模型结构的选择需要尽可能考虑到模型的性能,可使用Bert等预训练模型作为打分模型的基础结构。
(4)指导生成部分:即将打分模型与经过进一步训练的初始生成模型相结合。在初始生成模型的生成过程中,使用打分模型对每一步生成的候选词进行打分,根据分数改变原候选词的概率分布,以此改变后续的采样结果。
本发明的技术方案:
一种基于深度学习的文本生成方法,包括如下步骤:
步骤(1):收集目标任务数据集,增加损失函数,在目标任务数据集上重新训练初始生成模型G0。
步骤(2):构建用于训练打分模型的数据集,包括数据集的生成以及划分等操作。
步骤(3):构建打分模型Mscore,使用步骤(2)所述数据集对打分模型进行训练至收敛,通过测试集验证打分模型性能。
步骤(4):将打分模型与生成模型相结合,在生成模型的解码阶段插入打分模块,通过打分模型的输出调整候选词的概率分布。
进一步地,所述步骤(1)包括以下步骤:
(1.1)根据目标任务,收集相关数据集Dgen,其中每一条数据包括生成模型的输入和生成结果的标准参考。选择初始生成模型G0的结构,例如预训练的GPT2模型。要求初始生成模型G0可以在数据集Dgen上进行训练和推断。
(1.2)确定表示模型的结构,例如预训练的Bert,构建表示模型Mr。在数据集Dgen上训练表示模型Mr,使表示模型Mr可以完成从句子到向量的映射。
(1.3)设计均方误差损失函数Lr,公式如下:
其中zi表示在训练过程中模型生成的第i个句子输入表示模型Mr后得到的向量,即Mr(y),该句子由表示模型最后一层的输出依据贪心算法采样得到。表示第i个句子的标准生成结果由表示模型Mr映射后的向量,即/>
将均方误差损失与初始生成模型G0的损失LLM相加,即:
L=Lr+LLM
将L作为新的损失函数重新训练初始生成模型G0,得到优化后的生成模型G1。
进一步地,所述步骤(2)包括以下步骤:
(2.2)将打分模型数据集Dscore划分成训练集、验证集和测试集,分别用于打分模型Mscore的训练、验证和测试。
进一步地,所述步骤(3)包括以下步骤:
(3.1)构建打分模型Mscore,确定模型结构,例如预训练的Bert模型。设置合理超参数。
(3.2)从打分模型数据集Dscore中获取数据,将每条数据拆分为原输入x、生成结果y和标准参考将生成结果y从随机位置r截断,取句子开头到断点的片段y[0:r],根据当前任务的评价指标对该片段进行评价,将原输入x和生成结果片段y[0:r]共同作为打分模型的输入,将评价分数Seval作为每个输入对应的标签。
(3.3)开始执行打分模型Mscore的训练,选择合适的损失函数和优化器,迭代多轮训练直至收敛,通过验证集调整超参数以提升性能,最大化模型为生成结果片段打分的准确度。
(3.4)使用测试集检验打分模型Mscore的泛化能力,保证训练完成的打分模型具有对于目标文本生成任务的泛用性。
进一步地,所述步骤(4)包括以下步骤:
(4.1)使用测试集进行生成,在优化后的生成模型G1的解码阶段,根据模型输出的概率分布,选择概率最高的k(k为超参数)个词作为候选词,获取所有候选词的概率,构成k维向量p0。
(4.2)将候选词分别拼接在当前生成阶段已生成的文本末端,组成k个候选句子片段,利用打分模型对句子片段进行打分,获取对应的输出分数,构成k维向量spre。
(4.3)将候选词的概率与对应每个候选句子片段的分数结合,得到k维向量pfinal,代表调整后的概率分布,具体公式如下,其中α是超参数,用于调节打分模型对生成过程的影响程度:
pfinal=αp0+(1-α)spre
(4.4)根据不同的任务要求选择采样策略,依调整后的概率分布pfinal采样,得到句子下一位置的生成结果。
本发明的有益效果:
本发明提出了使用神经网络模型优化文本生成的方法,旨在拉近文本生成模型的生成结果与真实人类自然语言的差距。经过本发明的优化后,文本生成模型的生成质量明显提升,其具体表现在,在以生成结果与参考标准相匹配程度为评价指标的任务中,生成结果的指标分数明显提高。
附图说明
图1为本发明所述的文本生成方法的流程图。
具体实施方式
以下将以中文文本摘要任务为例,对本发明进行详细阐述,具体流程如图1所示。
(1)重新训练初始生成模型:
(1.1)选择LCSTS数据集上的文本摘要生成任务。选择以GPT2为结构,使用CLUECorpusSmall语料训练得到的预训练语言模型GPT2-Chinese作为初始生成模型G0。
(1.2)选择经预训练的中文Bert模型作为表示模型Mr,在LCSTS数据集上对此模型进行微调训练。训练时将每条数据摘要部分的第一个token修改为[MASK]标记,令Bert模型对这个token进行预测。
(1.3)修改生成模型训练时的损失函数。生成模型训练时,取每条数据的生成结果和对应的标准摘要,将每个句子摘要部分的第一个token修改为[MASK]标记,分别输入训练好的表示模型Mr,对得到的向量表示计算均方误差损失,将此损失与原本生成模型的损失函数相加,得到新的损失函数。使用新损失函数重新训练至收敛,得到优化后的生成模型G1。
(2)生成用于训练打分模型的数据集:
(2.1)在LCSTS数据集上对G1进行微调,初步收敛后,令其对数据集上的所有文本生成对应的摘要。将生成的摘要与对应的原输入文本、参考摘要一一匹配,组成打分模型数据集Dscore。
(2.2)划分打分模型数据集Dscore。由于LCSTS数据集已经完成了训练集、验证集和测试集的划分,此步骤可跳过。
(3)构建和训练打分模型:
(3.1)选择Bert作为打分模型的结构,加载预训练模型bert-base-chinese的参数,选择合适的batch_size等超参数。
(3.2)从打分模型数据集Dscore中获取数据,将每条数据拆分为原输入文本x、生成结果y和参考摘要对于每条数据,随机在生成结果y上取一个位置r,将y截断,取从句子开始处到截断位置的片段y[0:r],依据参考摘要/>计算ROUGE-1指标分数Seval。将原输入文本x和生成结果片段y[0:r]以分句token即[SEP]连接,作为打分模型的输入,将指标分数Seval作为每个输入对应的标签。
(3.3)选择均方误差损失函数和Adam优化器,对打分模型Mscore进行多轮训练直至收敛。根据验证集的反馈调整超参数,提升模型打分性能。
(3.4)使用测试集检验打分模型Mscore的泛化能力,当打分的精准程度满足预期阈值时,训练完成。
(4)将打分模型与初始生成模型结合:
(4.1)使用测试集进行生成,在文本生成模型G1的解码阶段,选择出现概率前50的词作为候选词,获取所有候选词的概率,构成50维向量p0。
(4.2)将上述候选词分别拼接在当前阶段已生成的文本末端,组成50个候选句子片段,利用打分模型对以上句子片段分别进行打分,获取对应的输出分数,构成50维向量spre。
(4.3)依照概率分布pfinal的计算公式,将候选词的概率与每个词对应的分数结合,取α为0.5,得到50维向量pfinal,代表调整后的概率分布。
(4.4)选择贪心的采样策略,依据调整后的概率分布pfinal,每次选择概率最大的词,连续自回归生成,直至生成结束token或者长度超过预设的限制,结束生成。
经过本发明对初始生成模型GPT2-Chinese的优化,根据模型在测试集上的测试结果,优化后模型的生成质量明显高于初始生成模型。具体数据如表1所示:
表1初始生成模型优化前后评价指标分数对比
ROUGE-1 | ROUGE-2 | ROUGE-L | |
GPT2-Chinese | 0.2883 | 0.1571 | 0.2579 |
优化后的生成模型 | 0.3472 | 0.2073 | 0.3142 |
Claims (6)
1.一种基于深度学习的文本生成方法,其特征在于,包括如下步骤:
步骤(1):收集目标任务数据集,增加损失函数,在目标任务数据集上重新训练文本的初始生成模型G0;
步骤(2):构建用于训练打分模型的数据集,包括数据集的生成以及划分;
步骤(3):构建打分模型Mscore,使用步骤(2)所述数据集对打分模型进行训练至收敛,通过测试集验证打分模型性能;
步骤(4):将打分模型与生成模型相结合,在生成模型的解码阶段插入打分模块,通过打分模型的输出调整候选词的概率分布;
进一步地,所述步骤(1)包括以下步骤:
(1.1)根据目标任务,收集相关数据集Dgen,其中每一条数据包括生成模型的输入和生成结果的标准参考;选择初始生成模型G0的结构,要求初始生成模型G0可以在数据集Dgen上进行训练和推断;
(1.2)确定表示模型的结构,构建表示模型Mr;在数据集Dgen上训练表示模型Mr,使表示模型Mr可以完成从句子到向量的映射;
(1.3)设计均方误差损失函数Lr,公式如下:
其中zi表示在训练过程中模型生成的第i个句子输入表示模型Mr后得到的向量,即Mr(y),该句子由表示模型最后一层的输出依据贪心算法采样得到;表示第i个句子的标准生成结果由表示模型Mr映射后的向量,即/>
将均方误差损失与初始生成模型G0的损失LLM相加,即:
L=Lr+LLM
将L作为新的损失函数重新训练初始生成模型G0,得到优化后的生成模型G1;
进一步地,所述步骤(2)包括以下步骤:
(2.2)将打分模型数据集Dscore划分成训练集、验证集和测试集,分别用于打分模型Mscore的训练、验证和测试;
进一步地,所述步骤(3)包括以下步骤:
(3.1)构建打分模型Mscore,确定网络结构,设置合理超参数;
(3.2)从打分模型数据集Dscore中获取数据,将每条数据拆分为原输入x、生成结果y和标准参考将生成结果y从随机位置r截断,取句子开头到断点的片段y[0:r],根据当前任务的评价指标对该片段进行评价,将原输入x和生成结果片段y[0:r]共同作为打分模型的输入,将评价分数Seval作为每个输入对应的标签;
(3.3)开始执行打分模型Mscore的训练,选择损失函数和优化器,迭代多轮训练直至收敛,通过验证集调整超参数以提升性能,最大化模型为生成结果片段打分的准确度;
(3.4)使用测试集检验模型Mscore的泛化能力,保证训练完成的打分模型具有对于目标文本生成任务的泛用性;
进一步地,所述步骤(4)包括以下步骤:
(4.1)使用测试集进行生成,在优化后的生成模型G1的解码阶段,根据模型输出的概率分布,选择概率最高的k个词作为候选词,获取所有候选词的概率,构成k维向量p0,其中,k为超参数;
(4.2)将候选词分别拼接在当前生成阶段已生成的文本末端,组成k个候选句子片段,利用打分模型对句子片段进行打分,获取对应的输出分数,构成k维向量spre;
(4.3)将候选词的概率与对应每个候选句子片段的分数结合,得到k维向量pfinal,代表调整后的概率分布,具体公式如下,其中α是超参数,用于调节打分模型对生成过程的影响程度:
pfinal=αp0+(1-α)spre
(4.4)根据不同的任务要求选择采样策略,依调整后的概率分布pfinal采样,得到句子下一位置的生成结果。
2.根据权利要求1所述的一种基于深度学习的文本生成方法,其特征在于,所述的初始生成模型G0,模型结构选择LSTM,Transformer或GPT。
3.根据权利要求1所述的一种基于深度学习的文本生成方法,其特征在于,所述的表示模型Mr为一个神经网络模型,以文本作为输入,输出指定维度的向量表示。
4.根据权利要求3所述的一种基于深度学习的文本生成方法,其特征在于,所述的表示模型Mr的模型结构选用ELMO或Bert。
5.根据权利要求1所述的一种基于深度学习的文本生成方法,其特征在于,所述的打分模型Mscore为一个可进行训练的神经网络模型,以自然语言作为输入,输出0到1之间的数作为分数。
6.根据权利要求5所述的一种基于深度学习的文本生成方法,其特征在于,所述的打分模型Mscore的模型结构选择Bert。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310040513.4A CN116226378A (zh) | 2023-01-13 | 2023-01-13 | 一种基于深度学习的文本生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310040513.4A CN116226378A (zh) | 2023-01-13 | 2023-01-13 | 一种基于深度学习的文本生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116226378A true CN116226378A (zh) | 2023-06-06 |
Family
ID=86572432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310040513.4A Pending CN116226378A (zh) | 2023-01-13 | 2023-01-13 | 一种基于深度学习的文本生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116226378A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910223A (zh) * | 2023-08-09 | 2023-10-20 | 北京安联通科技有限公司 | 一种基于预训练模型的智能问答数据处理系统 |
CN117634468A (zh) * | 2023-11-30 | 2024-03-01 | 北京智谱华章科技有限公司 | 一种基于大语言模型的通用文本质量评价方法 |
-
2023
- 2023-01-13 CN CN202310040513.4A patent/CN116226378A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910223A (zh) * | 2023-08-09 | 2023-10-20 | 北京安联通科技有限公司 | 一种基于预训练模型的智能问答数据处理系统 |
CN116910223B (zh) * | 2023-08-09 | 2024-06-11 | 北京安联通科技有限公司 | 一种基于预训练模型的智能问答数据处理系统 |
CN117634468A (zh) * | 2023-11-30 | 2024-03-01 | 北京智谱华章科技有限公司 | 一种基于大语言模型的通用文本质量评价方法 |
CN117634468B (zh) * | 2023-11-30 | 2024-05-28 | 北京智谱华章科技有限公司 | 一种基于大语言模型的通用文本质量评价方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763504B (zh) | 一种基于强化双通道序列学习的对话回复生成方法及系统 | |
CN116226378A (zh) | 一种基于深度学习的文本生成方法 | |
CN109710915B (zh) | 复述语句生成方法及装置 | |
CN113343705B (zh) | 一种基于文本语义的细节保持图像生成方法及系统 | |
CN109977234A (zh) | 一种基于主题关键词过滤的知识图谱补全方法 | |
CN110895932A (zh) | 基于语言种类和语音内容协同分类的多语言语音识别方法 | |
CN113254604B (zh) | 一种基于参考规范的专业文本生成方法及装置 | |
CN111626041B (zh) | 一种基于深度学习的音乐评论生成方法 | |
CN108549703A (zh) | 一种基于循环神经网络的蒙古语语言模型的训练方法 | |
CN111782788A (zh) | 一种面向开放域对话系统的情感回复自动生成方法 | |
KR20040004558A (ko) | 콘텐트 변환 방법 및 장치 | |
CN112488111B (zh) | 一种基于多层级表达引导注意力网络的指示表达理解方法 | |
CN117034961B (zh) | 一种基于bert的中法互译质量测评方法 | |
CN114239589A (zh) | 语义理解模型的鲁棒性评估方法、装置及计算机设备 | |
CN115796187A (zh) | 一种基于对话结构图约束的开放域对话方法 | |
CN114492464A (zh) | 一种基于双向异步序列的对话生成方法及系统 | |
CN114692615A (zh) | 一种针对小语种的小样本意图识别方法 | |
CN108563639B (zh) | 一种基于循环神经网络的蒙古语语言模型 | |
CN111709245A (zh) | 基于语义自适应编码的汉-越伪平行句对抽取方法 | |
CN108829675A (zh) | 文档表示方法及装置 | |
CN116090440B (zh) | 基于反馈的口语文本转换方法、装置及电子设备 | |
CN111583915B (zh) | n-gram语言模型的优化方法、装置、计算机设备和存储介质 | |
CN109101499B (zh) | 基于神经网络的人工智能语音学习方法 | |
CN109062911B (zh) | 一种人工智能语音建模方法 | |
CN114418033B (zh) | 一种利用CodeBert各层表征信息的代码编程语言分类方法 |
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 |