CN111460833B - 文本生成方法、装置和设备 - Google Patents

文本生成方法、装置和设备 Download PDF

Info

Publication number
CN111460833B
CN111460833B CN202010251846.8A CN202010251846A CN111460833B CN 111460833 B CN111460833 B CN 111460833B CN 202010251846 A CN202010251846 A CN 202010251846A CN 111460833 B CN111460833 B CN 111460833B
Authority
CN
China
Prior art keywords
attribute
text
generated
language model
attributes
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
CN202010251846.8A
Other languages
English (en)
Other versions
CN111460833A (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.)
Hefei Ustc Iflytek Co ltd
Original Assignee
Hefei Ustc Iflytek Co ltd
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 Hefei Ustc Iflytek Co ltd filed Critical Hefei Ustc Iflytek Co ltd
Priority to CN202010251846.8A priority Critical patent/CN111460833B/zh
Publication of CN111460833A publication Critical patent/CN111460833A/zh
Application granted granted Critical
Publication of CN111460833B publication Critical patent/CN111460833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • 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)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种文本生成方法、装置和设备。本发明的核心构思在于提出一种基于属性生成、属性匹配以及属性调整的文本生成方案,具体是根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性;利用语言模型按逐个字词生成文本;每生成一个字词后,抽取已生成的全部文本的属性,并与所述目标属性进行匹配;根据匹配结果调整语言模型的历史状态信息,生成下一个字词。由于利用生成式策略改善目标属性的表示方式,实现属性的可扩展,支持多属性可控,并通过属性匹配及属性控制修改语言模型的历史状态信息,对文本属性方向进行精细控制,提升生成文本的质量,另外,无需对语言模型做过多修改,可提高生成文本的流畅性。

Description

文本生成方法、装置和设备
技术领域
本发明涉及自然语言处理技术,尤其涉及一种文本生成方法、装置和设备。
背景技术
最近几年,随着深度学习、迁移学习等技术的快速发展,自然语言处理各任务的处理效果得到大幅提升,比如语言模型的困惑度由上百下降到几十,甚至到十几;机器翻译BLEU(bilingual evaluation understudy,双语互译质量评估辅助工具)分由一二十提升到四五十等。使用机器自动处理文本的可靠性越来越高,使得更多的工作可以由机器来完成。深度学习通常依赖大量的标签数据,而最近几年随着BERT等预训练模型的提出,使得模型能够利用大量无标签语料进行学习,并把学习到的内容迁移到下游各个任务上,这一过程大幅降低了下游各任务对标签语料的需求数量,这也使得深度学习的使用门槛越来越低。语言模型性能的不断提高也给自动文本生成带来机会,随着深度学习、迁移学习等技术的发展,机器自动生成的文本流畅度不断提高,甚至能达到以假乱真的程度,这也使得文本自动生成应用越来越广泛。
例如在新闻写作中,编辑需要根据特定的内容对新闻进行再加工,在电商中店家根据商品的评论需要进行针对性的回复,在各种智能客服中,机器需要依据不同的信息和语气生成不同的回复,在这些场景中,有大量重复的工作,通过自动文本生成技术可以提高内容产出以及评论回复的效率。虽然自动文本生成技术已经在很多领域广泛使用,但其生成文本的过程对包括风格、主题、情景、格式等属性的可控性较低,不支持多种属性同时约束,这样会影响最终得到的文本的质量。有鉴于此,如何提高属性可控性成为亟待解决的问题。
发明内容
鉴于此,本发明提供了一种文本生成方法、装置和设备,本发明还相应提供了一种计算机程序产品,通过以上形式,能够提高生成文本的属性可控性。
关于上述本发明采用的技术方案具体如下:
第一方面,本发明提供了一种文本生成方法,包括:
根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性;
每生成一个字词后,抽取已生成的全部文本的属性,并与所述目标属性进行匹配;
根据匹配结果调整所述语言模型的历史状态信息,生成下一个字词。
在其中一种可能的实现方式中,所述属性生成策略包括:
提取所述属性描述语句的多维特征;
基于所述多维特征的融合结果,获得对应不同属性的若干语义表示;
将若干所述语义表示编码到第一隐含语义空间,得到整体语义表示。
在其中一种可能的实现方式中,所述多维特征包括由以下各项构成的一种或多种组合:所述属性描述语句的文本特征、发音特征、字符结构特征、多属性区分特征以及属性重要度特征。
在其中一种可能的实现方式中,所述根据匹配结果调整所述语言模型的历史状态信息,生成下一个字词包括:
计算已生成的全部文本的属性与所述目标属性的相似度;
基于所述相似度及生成上一个字词时对历史隐藏状态的更新量,得到当前更新量;
根据所述当前更新量,对所述语言模型的历史隐藏状态进行更新;
根据更新后的历史隐藏状态得到下一个字词的概率分布。
在其中一种可能的实现方式中,所述抽取已生成的全部文本的属性包括:
当生成一个所述字词时,实时提取已生成的全部文本的特征;
基于所述特征得到所述全部文本的语义表示;
将所述语义表示编码到第二隐含语义空间,得到所述全部文本的属性。
在其中一种可能的实现方式中,所述方法还包括在训练阶段:根据由所述匹配结果进行调整前后的历史状态信息的差异程度,对所述语言模型进行约束,以使所述语言模型的各历史状态接近;和/或
基于已生成的所述全部文本和所述匹配结果,构建用于提升文本生成效果的对抗式生成网络。
第二方面,本发明提供了一种文本生成装置,包括:
目标属性生成模块,用于根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性;
文本生成模块,用于利用语言模型按逐个字词生成文本;
属性匹配模块,用于每生成一个字词后,抽取已生成的全部文本的属性,并与所述目标属性进行匹配;
历史状态调整模块,用于根据匹配结果调整所述语言模型的历史状态信息,生成下一个字词。
在其中一种可能的实现方式中,所述目标属性生成模块包括:
多维特征提取单元,用于提取所述属性描述语句的多维特征;
第一语义表示单元,用于基于所述多维特征的融合结果,获得对应不同属性的若干语义表示;
整合单元,用于将若干所述语义表示编码到第一隐含语义空间,得到整体语义表示;
属性生成单元,用于根据所述整体语义表示,得到所述目标属性。
在其中一种可能的实现方式中,所述多维特征提取单元具体包括由以下各项构成的一种或多种组合:所述属性描述语句的文本特征提取组件、发音特征提取组件、字符结构特征提取组件、多属性区分特征提取组件、属性重要度特征提取组件。
在其中一种可能的实现方式中,所述历史状态调整模块包括:
相似度计算单元,用于计算已生成的全部文本的属性与所述目标属性的相似度;
历史隐藏状态更新量计算单元,用于基于所述相似度及生成上一个字词时对历史隐藏状态的更新量,得到当前更新量;
历史隐藏状态更新单元,用于根据所述当前更新量,对所述语言模型的历史隐藏状态进行更新;
概率分布获取单元,用于根据更新后的历史隐藏状态得到下一个字词的概率分布。
在其中一种可能的实现方式中,所述属性匹配模块包括:
特征提取单元,用于当生成一个所述字词时,实时提取已生成的全部文本的特征;
第二语义表示单元,用于基于所述特征得到所述全部文本的语义表示;
第二编码单元,用于将所述语义表示编码到第二隐含语义空间,得到所述全部文本的属性。
在其中一种可能的实现方式中,所述文本生成装置还包括:
约束模块,用于在训练阶段,根据由所述匹配结果进行调整前后的历史状态信息的差异程度,对所述语言模型进行约束,以使所述语言模型的各历史状态接近;和/或
对抗模块,用于在训练阶段,基于已生成的所述全部文本和所述匹配结果,构建用于提升文本生成效果的对抗式生成网络。
第三方面,本发明提供了一种文本生成设备,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,所述存储器可以采用非易失性存储介质,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面或者第一方面的任一可能实现方式中的所述方法。
第五方面,本发明还提供了一种计算机程序产品,当所述计算机程序产品被计算机执行时,用于执行第一方面或者第一方面的任一可能实现方式中的所述方法。
在第五方面的一种可能的设计中,该产品涉及到的相关程序可以全部或者部分存储在与处理器封装在一起的存储器上,也可以部分或者全部存储在不与处理器封装在一起的存储介质上。
本发明的核心构思在于提出一种基于属性生成、属性匹配以及属性调整的文本生成方案,具体是根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性,在利用语言模型按逐个字词生成文本时,抽取已生成的全部文本的属性,并与目标属性进行匹配,根据匹配结果调整语言模型的历史状态信息,生成下一个字词。利用生成式策略得到目标属性,改善了目标属性的表示方式,可以实现属性的可扩展,并且可以支持多属性可控,并通过属性匹配及属性调整的步骤来修改语言模型的历史状态信息,对生成文本的属性方向进行精细控制,使其生成趋向特定属性的文本,改善现有自动文本生成的属性控制有较大随机性的问题,从而生成属性可控的文本,提升生成文本的质量,该方法能推广到各种语言模型上,具有比较好的可适用性。另外,由于是在语言模型每一次生成最小单位文本过程中调整历史状态信息,使得调整过程相对平滑,因此可以降低调整属性的难度,而且,本发明的方法不需要对原始语言模型做过多修改,对原始模型侵入性比较小。
进一步来说,本发明通过提取与若干不同属性相关的多维特征,实现多属性的融合,从而支持多属性控制。
进一步来说,本发明针对文本自动生成问题,使用隐含语义空间而非属性标签来编码属性信息,不仅能够获取各属性间的语义联系,在不修改模型的基础上支持新的属性,提高属性的可扩展性,还能使用多个属性描述语句来表征多种属性,在不增加参数的情况下还可以支持多属性同时控制。
进一步来说,本发明还采用约束及对抗式生成网络的方法来解决现有文本自动生成中文本属性强度和文本流畅度不能统一的问题,能在多种属性控制的情况下,生成流畅的文本。
附图说明
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
图1为本发明提供的文本生成方法的实施例的流程图;
图2为本发明提供的属性生成的实施例的流程图;
图3为本发明提供的属性编码器的结构示意图;
图4为本发明提供的基于BERT的自回归预训练语言模型的结构示意图;
图5为本发明提供的抽取已生成的全部文本的属性的流程图;
图6为本发明提供的判断已生成的全部文本的属性与目标属性是否匹配的实施例的示意图;
图7为本发明提供的根据匹配结果调整语言模型的历史状态信息的实施例的流程图;
图8为本发明提供的文本生成装置的实施例的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
在对本发明方案进行具体展开前,本发明对相关现有技术及其问题进行了深入分析。目前,属性可控的文本生成方法的主要流程是先在无监督语料的基础上训练一个语言模型,然后采取一些策略来控制语言模型生成的文本属性。目前比较主流的语言模型是GPT-2,其主要结构是基于Transformer的单向解码器的模型,利用该语言模型学习无监督语料中的潜在规律。在预训练GPT-2的基础上,采取一些策略控制文本生成的属性。
其中一种属性控制策略是约束解码,在给定属性相关前缀的基础上利用语言模型,依据该前缀选择概率最大的序列进行生成,此处的前缀例如可以为开头文本或主题等。常见的自动作诗系统即采取该策略,例如给定诗歌的标题。该方法生成的文本一般比较流畅,但是由于没有对文本的属性进行显式的控制,由于一条文本的主题或风格等属性不仅与前缀有关还与整个语句有关,所以该方法生成的文本质量不可控,生成文本的质量好坏取决于语言模型与限定前缀是否匹配。在同一前缀的情况下,有时能够生成比较理想的符合风格主题的文本,有时又会生成不相关的主题文本,所以,该种方法一般用在对主题或风格要求没那么严格的场景下,比如自动作诗机器等。
又一种属性控制策略是微调,由于训练语言模型的语料很难覆盖各种主题与风格,如果需要生成特定风格或主题的文本,那么就需要针对这些特定风格或主题的语料对语言模型进行微调,使其适应该种风格或主题。首先,该种方法比较依赖特定风格或主题的语料,使得其适用性降低。其次,针对不同的场景和要求需要对语言模型进行重新微调,这会带来巨大的后期维护和扩展成本。
另一种属性控制策略是条件语言模型,在语言模型的预训练阶段就将各种风格或主题等的属性标签放在每句语料的前部,这些标签可以来自于训练数据的元数据,这些标签被机器认为是一种特殊的字符,而没有真实的语义。经过对条件语言模型的预训练后,在生成所需要风格主题的文本时,只需要先给定该属性标签即可。该方法由于其预训练语料不仅需要包括文本,还需要包括文本的属性标签,导致预训练的语料比较难搜集,训练代价比较大,而且该方法需要预先设定固定的属性标签,即文本的属性是预先定义的,不具有可扩展性,当想要生成其他属性的文本时,该模型就无能为力,此时需要重新训练模型才能使用,这会限制文本生成方法的可扩展性,并给后期的维护带来困难。另外由于文本的属性比如主题和风格等是通过标签来定义的,那么各种属性的粗细粒度就由标签来控制,定义的标签是是离散的,而定义的属性可能不是离散的,这也会带来属性粒度定义上的差异。
而且上述属性可控的文本生成方法,只能控制一种属性,不能对生成的文本同时控制多种属性,比如只能生成风格可控或主题控制或情感可控的文本,当需要同时生成风格、主题、情感可控的文本时,该方法往往只能兼顾其中一个方面,而且通过对不同的属性进行训练,其生成的多属性文本也是相互独立的,而不能实现多属性同时可控。另外,生成文本的流畅度与属性控制不能同时兼顾,往往存在当生成文本属性满足要求时,生成的文本不够流畅,而当生成的文本比较流畅时,文本的属性不满足需求,即存在过修改或者少修改问题。
正是基于对上述效果不佳方案的分析和探究,本发明才提出了一种基于属性生成、属性匹配以及属性调整的文本生成构思。具体如下,本发明提供了所述文本生成方法的至少一种实施例,如图1所示,可包括:
步骤S1、根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性。
此步骤即是完成目标属性的生成,在生成文本之前进行,目标属性只需要生成一次即可,目标属性根据用户自定义的属性描述语句得到,在后续利用语言模型按逐个字词生成文本时,每生成一个字词后,直接利用步骤S1得到的目标属性确定已生成的全部文本的属性与该目标属性是否匹配。属性生成过程具体可以通过属性编码器实现。属性描述语句是待控制的对属性进行描述的文本,示例性地,所述属性描述语句可为用户输入的口语化的描述,例如为“发货日期是什么时候”、“以故乡为主题作诗”。这里需要说明的是,属性描述语句可以是针对单一属性的一句属性描述语句,也可以是针对多种属性的多句属性描述语句,本发明对此不作限定,若属性描述语句是针对单一属性的一句属性描述语句,则最终生成的目标属性为单一属性,若属性描述语句是针对多种属性的多句属性描述语句,则最终生成的目标属性为多种属性。针对前文指出的技术问题,本发明摒弃了的通过人工设定标签来表示属性的传统思路,提出基于属性描述语句,利用生成式策略得到目标属性,改善了目标属性的表示方式,可以实现属性的可扩展,并且可以支持多属性可控。
本发明并不约束实现上述技术构思的表现形式,例如在一种实施方式中,步骤S1可以如图2所示,包括如下步骤:
步骤S11、提取所述属性描述语句的多维特征;
所述多维特征与若干不同属性相关,其中,所述多维特征包括由以下各项构成的一种或多种组合:所述属性描述语句的文本特征、发音特征、字符结构特征、多属性区分特征以及属性重要度特征。文本特征、发音特征、字符结构特征可以加强输入的属性描述语句的鲁棒性,以便于后续进行语义表示时更准确地获取属性描述的语义信息,文本特征可以是指字符本身特征,具体可以是数量、次序、长度等;再以中文为例,发音特征例如为拼音特征等,字符结构特征例如为偏旁部首特征等,这些特征可以兼顾中文这类象形文字特性;而以英文为例,发音特征例如为音标特征,字符结构特征例如为字母排列组合特征等,这些特征可以兼顾英文这类表音文字特性,本发明对此不作具体限定。多属性区分特征用于对不同属性进行区分,属性重要度特征用于对各个属性的重要性进行区分,作为一个示例,属性重要度特征与用户对属性的输入顺序有关,与靠后输入的属性相比,靠前输入的属性的重要性更高。本发明在一些实施方式中,所述多维特征还可以包括将对应于不同属性的属性描述语句进行分割的分隔标签。
进一步地,可以通过脚本程序,在用户输入属性描述语句时提取多维特征中的全部或部分特征,也可以通过对属性编码器进行预训练,以得到需要提取的多维特征,然后在用户输入属性描述语句时,通过属性编码器自动提取多维特征。
需要说明的是,在其他应用场景中,所述多维特征还可以包括与属性描述语句的语种特点相关的特征,这样本发明的文本生成方法可以适用于英语、德语、法语等其他语种的文本自动生成。
步骤S12、基于所述多维特征的融合结果,获得对应不同属性的若干语义表示;
表征各属性的属性描述语句之间可通过分隔标签进行融合,所述分隔标签例如可以为特殊符号标志[CLS]。具体地,可采用拼接方法进行融合,其中,拼接方法可以采用多种常规的方式,例如直接(尾部)拼接等,本实施例并不限定具体的拼接手段。在一个实施例中,同时存在的目标属性为主题、情感、风格,表征目标特征属性的属性描述语句为:“[CLS]主题描述[CLS]情感描述[CLS]风格描述”。以作诗为例,关于主题描述的属性描述语句可以为“以故乡为主题作诗”,关于情感描述的属性描述语句可以为“作一首积极感情色彩的诗”,关于风格描述的属性描述语句可以为“作一首浪漫主义风格的诗”。
此处仅简单举例,在实际操作中,可以结合用户当前输入的属性描述语句,利用预先训练的能够得到目标属性的属性编码器,自动获得目标属性。当然,本领域技术人员可以理解的是,这里举例的属性编码器仅是上述属性生成策略的一种表现形式,而非唯一限定。图3示出的即是一种属性编码器实施方式的结构示意图。将属性描述语句作为属性编码器的输入,得到各目标属性之间相互关联的整体语义表示。在本发明的一些实施方式中,所述属性编码器可以通过如下步骤训练得到:(1)获取训练样本,其中,所述样本包括属性描述语句和所述属性描述语句所对应的属性;(2)生成所述属性描述语句的特征向量;(3)将所述属性描述语句的特征向量作为输入,将所述属性描述语句所对应的属性作为输出,训练得到所述属性编码器。
在本发明中,通过双向多层Transformer获取与各个不同属性对应的属性描述语句语义信息。具体而言,如图3所示,将用特殊符号标志[CLS]分割的与各属性对应的文本描述、拼音描述、偏旁部首描述和属性区分标志(例如,间隔向量SEG A、间隔向量SEG B、间隔向量SEG C以及为了区分各个属性重要性的属性位置标志(例如,属性位置向量POS1、POS2、POS3)等拼接在一起得到的多维特征作为输入送入Transformer层中,经过双向多层Transformer获取与属性描述语句序列对应的若干不同属性的语义表示。
经过步骤S12后,根据特殊符号标志[CLS]的位置,可以得到不同属性序列的语义表示。示例性地,可以采用向量化的方法进行语义表示,向量化的方式可以采用多种常规的方式,例如Word2vec工具、Doc2Vec工具、向量空间模型等。如图3所示,经步骤S12后,根据特殊符号标志[CLS]分别得到属性1语义向量、属性2语义向量、属性3语义向量,以上过程仅是对语义表示技术的一种示意性介绍,本实施例并不限定具体的语义表示手段。
步骤S13、将若干所述语义表示编码到第一隐含语义空间,得到整体语义表示;
在此步骤中,可以根据分隔标签的位置,将不同属性序列的语义表示整合为目标属性的整体语义表示。也即是在该较佳实施例中,本发明提出了分隔标签的另一作用,即除了用于前期的将针对多属性的多句属性描述语句进行分割的分隔标签,同时也用于后期将各属性对应的语义表示整合为目标属性的整体语义表示。
所述步骤S13具体可以包括:将若干不同属性的语义表示编码到第一隐含语义空间,并进行维度变换,得到固定维度的属性语义向量。
将若干不同属性的语义表示编码到第一隐含语义空间的方法例如可以为池化操作(pooling),进行维度变换的方法例如可以为前向神经网络(Feedword NeturalNetwork,FFN),如图3所示,属性1语义向量、属性2语义向量、属性3语义向量的维度各为100,经过pooling后,得到维度为30的属性语义向量,经过FFN后,得到维度变换后的固定维度的属性语义向量,其维度可为50,这样可以部分恢复在池化过程中所损失的信息,最终得到的属性语义向量可以表示与属性描述语句对应的目标属性,该属性语义向量中融合了各个属性描述对应的语义向量。由于将目标属性表示成第一隐含语义空间的属性语义向量,各目标属性之间不再是离散的,而是相互关联的,这种关联体现在语义向量的向量大小及位置关系,根据这种关联关系,输入目标属性的属性描述语句即可获取其属性语义向量,从而解决现有技术中存在的属性不可扩展的问题,并且本发明将多属性的属性描述语句通过多维特征实现融合,从而支持多属性控制。
步骤S14、根据所述整体语义表示,得到所述目标属性。
如图3所示,经过池化及前向神经网络后得到的属性语义向量即得到与属性描述语句对应的目标属性。
这里需要说明的是,属性编码器经过预先训练,可以采用有监督方法、无监督方式或先无监督后有监督的方式进行训练,在完成对属性编码器的训练后,不同的目标属性即对应第一隐含语义空间的一个属性语义向量,并且属性语义向量的维度与属性编码器的隐藏层的维度一致,例如可以为512、1024等。将多个属性编码到同一个隐含空间中,在训练的过程中对多个属性信息进行联合学习,利用不同的参数学习不同属性的相关内容,最后通过神经网络结构将其联合起来,控制生成文本的属性方向,因此本发明的文本生成方法可以同时支持单一属性及多属性控制下的文本自动生成。当需要生成新属性文本时,只需要对属性生成属性描述语句,然后输入属性编码器,即可获取该属性的隐含语义表示,经过属性生成步骤后,各个目标属性之间不再是相互独立的,而是在语义空间中有联系的语义向量,这种联系体现在语义向量的向量大小及位置关系,通过属性的属性描述语句即可获取其属性语义向量,从而解决现有技术中存在的属性不可扩展的问题,并且本发明将多属性的属性描述语句通过多维特征实现融合,从而支持多属性控制。
综上所述,通过属性生成策略,各个属性描述语句对应的在第一隐含语义空间的语义点即代表该属性的语义表示。把目标属性编码到连续的隐含语义空间中,使得不需要对属性进行类似于属性标签式的显式编码,这样可以解决现有属性控制自动文本生成方法的可扩展性问题。在生成满足目标属性的文本时,只需对目标属性进行描述,即可生成其对应的属性。
步骤S2、利用语言模型按逐个字词生成文本;
此步骤即是自动生成文本的环节,其中涉及到的语言模型以及生成文本的大致过程可参考现有技术,例如在生成文本过程中,根据开始标志开始生成文本,并根据结束标志结束文本的生成等。本发明此处的重点在于,利用语言模型生成文本时,可以逐字生成,也可以逐词生成,当然还可以根据用户对生成文本的最小单位进行自定义,需说明的是,无论采用何种最小单位形式,本发明强调的是为了使得后续调整过程相对平滑,避免控制波动较大,以逐个字词的形式,逐步推进后续属性判别、语言模型的中间历史状态更新等环节,也即是在语言模型预测每一个文本时均做相应处理,而不是待生成较多文字后(例如一段话)再进行属性调整。
在一个具体的实施场景中,语言模型可以是基于BERT(Bidirectional EncoderRepresentations from Transformers)的自回归预训练语言模型,BERT模型是基于Transformer的双向编码器的预训练语言模型,其在处理一个词时,能够考虑该词前面和后面单词的信息,从而能够获取上下文的语义。原始的BERT只用到Transformer的编码端,而未用到Transformer的解码端,其通过训练损失函数来预测掩码掉的词,把掩码掉的信息恢复出来,只生成掩码序列,因此其适合序列标注任务而不太适合序列生成任务。本发明采用的是基于BERT的自回归预训练语言模型,根据前面的序列预测后面的序列,一步一步地恢复整个序列,这样生成的序列更长,包含的信息也更多,因此使用自回归BERT来训练语言模型,能够与文本生成过程相适配,以解决原始BERT在文本生成任务中表现不好的问题以及GPT-2只能利用文本单向信息的问题。
图4示出了基于BERT的自回归预训练语言模型的结构示意图,如图4所示,自回归BERT的编码端是原始的BERT,而自回归BERT的解码端采用的是多层Transformer的解码端,编码端和解码端通过注意力机制进行连接。自回归BERT的训练目标也和原始BERT有所区别,其通过编码端有掩码标记的带噪声文本去生成掩码之前的所有原始文本,而且,自回归BERT的损失函数比原始BERT的针对掩码的预测函数复杂,但其更加适合文本生成任务。在训练结束后,在用于文本生成时,只使用自回归BERT的解码端部分,此时其接收经过步骤S1得到的目标属性信息,然后顺序逐步生成所需属性的文本,并且在生成的过程中,根据目标属性信息逐步判断生成的全部文本的属性与目标属性是否匹配(后文将作说明)。
在上述模型的基础上,需要对基于BERT的自回归预训练语言模型的模型参数进行预训练。预训练语言模型所需要的语料通常是无标签的中文语料,本发明所采用的语料包括中文维基百科、百度百科、新闻报道、中文问答数据等。通过对搜集的语料进行清洗、预处理、分段、分句等操作,可以输入语言模型进行预训练。
这里需要说明的是,前文提及的属性编码器中的Transformer层可采用预训练模型BERT(Bidirectional Encoder Representations from Transformers)的参数进行初始化,这样可以保证预训练模型BERT的通用性。
以上过程仅是对语言模型的一种示意性举例,本实施例并不限定具体的文本生成过程及手段,但仍需要强调的是:自回归BERT预训练语言模型本身虽然是常规手段,但本实施例设计自回归BERT预训练语言模型这个步骤的目的是借助于自回归BERT预训练语言模型来生成文本,并在此基础上,对语言模型的历史状态信息进行调整(后文将做具体说明),以此在保证流畅性的情况下,提高生成文本的属性可控性,进而提高生成文本的准确性。此外,本发明还可以利用LSTM(Long Short-Term Memory,长短期记忆网络)等语言模型来生成属性可控的文本。
步骤S3、每生成一个字词后,抽取已生成的全部文本的属性,并与所述目标属性进行匹配。
此步骤即是在生成文本的过程中,在时序上实时地判断已生成的全部文本的属性与通过步骤S1得到的目标属性是否匹配。属性匹配过程具体可以通过属性判别器实现。以逐字生成“我是中国人”为例,假设已生成“我”“是”,那么在生成“中”后,则对全部文本“我是中”进行属性的抽取,将当前生成的文本与在先已生成的各文本作为整体进行属性抽取,这样可以提高生成的各文本之间的关联性,从而提高抽取属性的准确性。
属性抽取过程具体可以通过属性抽取器实现,具体地,本发明在一些实施方式中,如图5所示,所述抽取已生成的全部文本的属性可以包括如下步骤:
步骤S31、当生成一个所述字词时,实时提取已生成的全部文本的特征;
该全部文本的特征例如可以如前问提及的文本特征、发音特征、字符结构特征,也可以是词性、语法结构等隐含特征,具体而言,可以通过脚本程序或者对属性抽取器进行预训练得到需要提取的特征。
步骤S32、基于所述特征得到所述全部文本的语义表示;
与步骤S1提及的目标属性的生成策略相类似,本发明通过双向多层Transformer获取与已生成的全部文本对应的语义信息,得到全部文本语义表示,具体可以为已生成的全部文本对应的句向量。
步骤S33、将所述语义表示编码到第二隐含语义空间,得到所述全部文本的属性。
具体地,将全部文本的语义表示编码到第二隐含语义空间,得到与全部文本的属性对应的语义向量;然后将其经过维度变换,得到最终的固定维度的文本属性语义向量。
将全部文本的语义表示编码到第二隐含语义空间的方法例如可以为池化操作(pooling),经过池化操作后,得到的初始文本属性语义向量与已生成的全部文本的属性对应。维度变换例如可以经过前向神经网络(FFN)结构进行,得到固定维度的文本属性语义向量,以部分恢复在池化过程中所损失的信息,具体过程可以参照前述生成目标属性的过程,在此不再详述。
通过步骤S3,可以实现已生成的全部文本的属性抽取,第二隐含语义空间的语义点即代表与该全部文本的属性对应的语义表示,称为文本属性语义表示。
在本发明的一些实施方式中,所述属性抽取器可以通过如下步骤训练得到:(1)获取训练样本,其中,所述样本包括全部文本和所述全部文本所对应的属性;(2)生成所述全部文本的特征向量;(3)将所述全部文本的特征向量作为输入,将所述全部文本所对应的属性作为输出,训练得到所述属性抽取器。
得到全部文本对应的文本属性语义表示后,可以利用属性判别器实时判断生成的全部文本的属性与目标属性是否匹配。图6示出了判断已生成的全部文本的属性与目标属性是否匹配的实施例的示意图,如图6所示,全部文本经过属性抽取后得到文本属性语义向量,属性描述语句经过属性生成策略后得到目标属性语义向量,然后将文本属性语义向量与目标属性语义向量进行相似度比对,确定已生成的全部文本的属性与目标属性是否匹配,以此来判断语言模型已生成的全部文本的属性与需要控制的目标属性是否一致。这里需要说明的是,为了便于比对文本属性语义向量与目标属性语义向量之间的相似度,第一隐含语义空间与第二隐含语义空间为同一维度的隐含语义空间。
步骤S4、根据匹配结果调整所述语言模型的历史状态信息,生成下一个字词。
此步骤即是根据步骤S3得到的匹配结果,调整语言模型的历史状态信息,从而实现对生成文本属性的精细控制。其中语言模型的历史状态信息与已经利用语言模型生成文本的最小单位相关联,若利用语言模型生成文本的最小单位是字,则语言模型的历史状态信息与生成的每个字相关联,若利用语言模型生成文本的最小单位是词,则语言模型的历史状态信息与生成的每个词相关联。历史状态信息调整过程具体可以通过属性控制器实现。
本发明在一些实施方式中,如图7所示,步骤S4可以包括如下步骤:
步骤S41、计算已生成的全部文本的属性与所述目标属性的相似度;
通过比较生成的全部文本的文本属性语义向量和通过上述属性生成步骤后得到的目标属性语义向量,得出生成的该全部文本与用户自定义的目标属性是否匹配。具体地,可通过以下公式计算生成的全部文本的属性与目标属性的相似度,
p=cos<Hs,Ha> (1)
其中,Hs表示全部文本经过Transformer层抽取属性后得到的文本属性语义向量,Ha表示属性描述语句基于属性生成策略得到的目标属性语义向量,<Hs,Ha>表示文本属性语义向量Hs与目标属性语义向量Ha之间的夹角,p表示文本属性语义向量Hs与目标属性语义向量Ha之间的相似度,一般地,当p大于0.3时,可以认为生成的全部文本的属性与该目标属性相匹配。
步骤S42、基于所述相似度及生成上一个字词时对历史隐藏状态的更新量,得到当前更新量;
其中历史隐藏状态是指利用语言模型的参数经过向量化、非线性变换、softmax变换等一系列运算得到的输出状态之前的中间状态,其与已生成的全部文本相关。
根据相似度可以得到生成文本属性与目标属性一致性的变化率,然后根据该变化率和生成上一个字词时语言模型的历史隐藏状态的更新量,得到生成当前文本时语言模型的历史隐藏状态的更新量。具体而言,生成文本属性与目标属性一致性的变化率例如可以为反馈梯度,可以根据相似度得到反馈梯度,根据以下公式确定反馈梯度,
其中G表示反馈梯度,其中logp(a|Ht+ΔHt)表示全部文本的属性与目标属性a匹配的log概率,表示求梯度符号,Ht表示t时刻语言模型的历史隐藏状态,ΔHt表示当前语言模型的历史隐藏状态的更新量。
接续前文,计算生成当前文本时语言模型的历史隐藏状态的更新量具体可以包括以下步骤:
首先,将当前的反馈梯度进行归一化,得到归一化反馈梯度,根据以下公式确定归一化反馈梯度:
其中GN表示归一化反馈梯度,logp(a|Ht+ΔHt)表示全部文本的属性与目标属性a匹配的log概率,表示求梯度符号,||||表示γ的范数;
然后,根据所述归一化反馈梯度及生成上一个字词时对历史隐藏状态的更新量,得到当前对历史隐藏状态的更新量;
根据以下公式确定ΔHt的更新公式:
a表示学习速率,ΔHt-1表示生成上一个字词时语言模型的历史隐藏状态的更新量;
步骤S43、根据所述当前更新量,对所述语言模型的历史隐藏状态进行更新。
根据以下公式确定语言模型更新后的历史隐藏状态Ht',
Ht'=Ht+ΔHt (5)
其中,Ht'表示t时刻语言模型更新后的历史隐藏状态,ΔHt表示更新梯度后t时刻语言模型的历史隐藏状态的更新量,其与反馈梯度相关。
步骤S44、根据更新后的历史隐藏状态得到下一个字词的概率分布。
更新语言模型的历史隐藏状态后,可以根据更新后的历史隐藏状态得到下一个字词的概率分布。具体地,根据语言模型的更新的历史状态信息,重采样生成下一个字词。若利用语言模型生成文本的最小单位是字,则利用更新的语言模型的历史状态信息继续生成下一个字,若利用语言模型生成文本的最小单位是词,则利用更新的语言模型的历史状态信息继续生成下一个词。这里需要说明的是,本发明所称的“下一个字词”是从时序上针对当前生成的字词而言的。
具体而言,根据语言模型更新后的历史隐藏状态,得到生成下一个字词时语言模型的历史隐藏状态及输出状态。
以自回归BERT预训练语言模型为例,根据以下公式确定未更新的语言模型的输出状态和隐藏状态,
Ot+1,Ht+1=LM(xt,Ht) (6)
其中xt表示t时刻语言模型的输入,即t-1时候语言模型的输出,Ht表示t时刻语言模型的历史隐藏状态,LM表示自回归BERT语言模型的运算函数,Ot+1表示t+1时刻语言模型的输出状态,Ht+1表示t+1时刻语言模型的历史隐藏状态。
引入更新机制后,根据以下公式确定更新的语言模型下一时刻的输出状态和历史隐藏状态,
O't+1,H't+1=LM(xt,Ht') (7)
其中,Ht'表示加入更新机制后的t时刻语言模型的历史状态,O't+1表示语言模型更新梯度后t+1时刻语言模型的输出状态,H't+1表示语言模型更新梯度后t+1时刻语言模型的历史隐藏状态。
综上所述,语言模型的历史隐藏状态及输出状态的更新包括前向过程、反向过程以及重采样过程,其中前向过程为利用语言模型的历史隐藏状态及输出状态预测新的文本,并判断生成的全部文本的属性;反向过程为根据匹配结果得到反馈梯度,并根据反馈梯度更新语言模型的历史状态,从而更新语言模型的输出概率分布,使得实际预测的文本的属性更接近目标属性;重采样过程为根据获得的更新的输出概率分布,重采样生成下一个字词。由此可见,引入更新机制后,利用反馈梯度可以控制语言模型生成文本的属性,生成与目标属性更一致的文本。
可见,在利用自回归BERT语言模型生成文本的过程中,在生成文本的每一步中利用基于属性生成策略得到的目标属性对应的属性语义向量,对语言模型生成过程中的历史隐含状态进行调整,使其偏向特定的属性,依据基于属性匹配结果得到的反馈梯度去修正语言模型的历史状态信息。一方面,由于其利用匹配结果的反馈对语言模型的历史状态信息进行修改,可以保证生成文本属性符合要求,改善现有文本生成属性控制比较差的问题;另一方面,由于在语言模型每一次生成最小单位文本过程中调整历史状态信息,使得调整过程相对平滑,因此可以降低调整属性的难度,而且,其只在生成文本的过程中修改历史状态,而语言模型的参数、结构则未修改,可见对原始语言模型的修改比较少,因此不会影响生成文本的流畅度,本发明能够在对原始预训练模型修改比较少的情况下,通过提取与若干不同属性相关的多维特征,实现多属性的融合,达到多属性控制的文本自动生成。而且本发明使用隐含语义空间而非属性标签来表示目标属性,不仅能够获取各属性间的语义联系,在不修改模型的基础上支持新的属性,提高属性的可扩展性,还能使用多个属性描述语句来表征多种属性,在不增加参数的情况下还可以支持多属性同时控制。
进一步地,本发明在一些实施方式中还包括在训练阶段:根据由所述匹配结果进行调整前后的历史状态信息的差异程度,对所述语言模型进行约束,以使所述语言模型的各历史状态接近。
通常,在利用语言模型生成文本时,在对生成的文本进行属性控制的同时,往往会影响原来的语言模型,这会导致虽然能使生成文本的属性满足要求,但会影响生成文本的流畅度,因此需要对生成文本的属性控制和流畅度进行权衡。
本发明经过分析研究后发现导致生成文本不流畅的原因是修改后的语言模型相对于原始语言模型的改动比较大,为了改善这种情况,本发明对语言模型进行约束,以避免更新后的语言模型的历史状态严重偏离原始语言模型,具体根据由步骤S3得到的匹配结果进行调整前后的历史状态信息的差异程度对语言模型进行约束,以减小调整前后历史状态信息的差异程度。
示例性地,对语言模型进行约束包括对语言模型设置限制规则或者进行正则化训练。
具体地,以正则化训练为例,在训练过程中对语言模型的历史状态信息加入KL散度,采用以下公式计算KL散度的损失函数,
其中Ht表示t时刻语言模型的历史隐藏状态,Ht'表示加入反馈梯度后t时刻的语言模型的历史状态,p(xi)表示语言模型生成第i个词xi的概率,其对应Ht,p(a|xi)表示语言模型生成文本与目标属性a匹配的概率,其对应Ht',N表示语言模型生成文本的总步骤数。
通过对语言模型的历史状态信息加入KL散度对语言模型进行约束,可以避免语言模型的历史状态在每一次文本生成过程中更新太多,以此可以控制语言模型历史状态更新的强弱,这样使得更新后的历史隐藏状态和原始的历史隐藏状态偏离不多,从而能够提高生成文本的流畅性,生成更加顺滑的文本,从而改善生成文本流畅度和属性要求不能兼顾的问题,改善生成文本的质量。
为了进一步改善文本与目标属性的匹配结果和生成文本流畅度不能统一的问题,进一步地,本发明在一些实施方式中还包括在训练阶段,基于已生成的所述全部文本和所述匹配结果,构建用于提升文本生成效果的对抗式生成网络。具体地,本发明对利用包含语言模型、属性编码器、属性判别器、属性控制器的文本生成器和属性判别器分别进行训练,文本生成器的训练目标是使属性判别器得出迷惑文本生成器的匹配结果,以假乱真,使属性判别器无法区分文本生成器生成的文本的属性是利用属性生成策略生成的属性还是真实的属性。属性判别器的训练目标是使属性判别器正确区分出真实的与目标属性相匹配的文本及机器生成的与目标属性相匹配的文本。
作为一个示例,可以包括如下步骤:
对文本生成器进行训练,以使属性判别器无法区分利用文本生成器生成的文本的属性是利用属性生成策略生成的属性还是真实的属性;
根据文本生成器的文本生成结果训练属性判别器,使属性判别器正确区分出真实的与目标属性相匹配的文本及机器生成的与目标属性相匹配的文本。
具体而言,可以在固定属性判别器的情况下训练文本生成器,直到接近收敛,然后在固定文本生成器的情况下训练属性判别器,使其接近收敛,然后可重复上述依次对属性判别器及文本生成器进行训练的过程,在重复过程中,双方都极力优化自己的网络,从而形成竞争对抗,使双方达到一个动态的平衡,例如在文本生成器和属性判别器的损失函数的变化均比较低(例如文本生成器及属性判别器的困惑度低于预设值)为止。当文本生成器和属性判别器的训练都比较充分后,即可使用文本生成器来生成属性可控的文本,使生成的文本偏向特定属性。
通过将文本生成器和属性判别器组成对抗式生成网络,通过根据匹配结果得到的反馈梯度,不断地提高文本生成器的文本生成效果,以达到以假乱真的效果,提高生成属性可控文本的真实度。综上,在训练过程中为了解决文本生成离散化,损失函数无法反向传播的问题,将误差作为一种增强学习的奖励,以一种前馈的方式进行训练,用增强学习的探索模式来更新生成网络。
需要说明的是,可以先进行约束再生成对抗式生成网络,也可以先生成对抗式生成网络再进行约束,也可以两者同时进行,本实施例对此不做具体限定。
综上所述,本发明的核心构思在于提出一种基于属性生成、属性匹配以及属性调整的文本生成方案,具体是根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性,每生成一个字词后,抽取已生成的全部文本的属性,并与所述目标属性进行匹配,根据匹配结果调整语言模型的历史状态信息,生成下一个字词,采用迁移学习将大规模预训练模型应用到文本自动生成中,利用生成式策略得到目标属性,改善了目标属性的表示方式,可以实现属性的可扩展,并且可以支持多属性可控,并通过属性匹配及属性调整的步骤来修改语言模型的历史状态信息,对生成文本的属性方向进行精细控制,使其生成趋向特定属性的文本,改善现有自动文本生成的属性控制有较大随机性的问题,从而生成属性可控的文本,提升生成文本的质量,该方法能推广到各种语言模型上,具有比较好的可适用性。另外,由于在语言模型每一次生成最小单位文本过程中调整历史状态信息,使得调整过程相对平滑,因此可以降低调整属性的难度,而且,本发明的方法不需要对原始语言模型做过多修改,对原始模型侵入性比较小。
进一步来说,本发明通过提取与若干不同属性相关的多维特征,实现多属性的融合,从而支持多属性控制。
进一步来说,本发明针对文本自动生成问题,使用隐含语义空间而非属性标签来编码属性信息,不仅能够获取各属性间的语义联系,在不修改模型的基础上支持新的属性,提高属性的可扩展性,还能使用多个属性描述语句来表征多种属性,在不增加参数的情况下还可以支持多属性同时控制。
进一步来说,本发明还采用约束及对抗式生成网络的方法来解决现有文本自动生成中文本属性强度和文本流畅度不能统一的问题,能在多种属性控制的情况下,生成流畅的文本。
相应于上述各实施例及优选方案,本发明还提供了一种文本生成装置的实施例,如图8所示,具体可以包括如下部件:
目标属性生成模块101,用于根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性;
文本生成模块102,用于利用语言模型按逐个字词生成文本;
属性匹配模块103,用于每生成一个字词后,抽取已生成的全部文本的属性,并与所述目标属性进行匹配;
历史状态调整模块104,用于根据匹配结果调整所述语言模型的历史状态信息,生成下一个字词。
在其中一种可能的实现方式中,所述目标属性生成模块101包括:
多维特征提取单元,用于提取所述属性描述语句的多维特征;
第一语义表示单元,用于基于所述多维特征的融合结果,获得对应不同属性的若干语义表示;
整合单元,用于将若干所述语义表示编码到第一隐含语义空间,得到整体语义表示;
属性生成单元,用于根据所述整体语义表示,得到所述目标属性。
在其中一种可能的实现方式中,所述多维特征提取单元具体包括由以下各项构成的一种或多种组合:所述属性描述语句的文本特征提取组件、发音特征提取组件、字符结构特征提取组件、多属性区分特征提取组件、属性重要度特征提取组件。
在其中一种可能的实现方式中,所述历史状态调整模块104包括:
相似度计算单元,用于计算已生成的全部文本的属性与所述目标属性的相似度;
历史隐藏状态更新量计算单元,用于基于所述相似度及生成上一个字词时对历史隐藏状态的更新量,得到当前更新量;
历史隐藏状态更新单元,用于根据所述当前更新量,对所述语言模型的历史隐藏状态进行更新。
在其中一种可能的实现方式中,所述属性匹配模块103包括:
特征提取单元,用于当生成一个所述字词时,实时提取已生成的全部文本的特征;
第二语义表示单元,用于基于所述特征得到所述全部文本的语义表示;
第二编码单元,用于将所述语义表示编码到第二隐含语义空间,得到所述全部文本的属性。
在其中一种可能的实现方式中,所述文本生成装置还包括:
约束模块,用于在训练阶段,根据由所述匹配结果进行调整前后的历史状态信息的差异程度,对所述语言模型进行约束,以使所述语言模型的各历史状态接近;和/或
对抗模块,用于在训练阶段,基于已生成的所述全部文本和所述匹配结果,构建用于提升文本生成效果的对抗式生成网络。
应理解以上图8所示的文本生成装置的各个部件的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些部件可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分部件以软件通过处理元件调用的形式实现,部分部件通过硬件的形式实现。例如,某个上述模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它部件的实现与之类似。此外这些部件全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个部件可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些部件可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
综合上述各实施例及其优选方案,本领域技术人员可以理解的是,在实际操作中,本发明适用于多种实施方式,本发明以下述载体作为示意性说明:
(1)一种文本生成设备,其可以包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行前述实施例或等效实施方式的步骤/功能。
应理解,文本生成设备能够实现前述实施例提供的方法的各个过程。该设备中的各个部件的操作和/或功能,可分别为了实现上述方法实施例中的相应流程。具体可参见前文中关于方法、装置等实施例的描述,为避免重复,此处适当省略详细描述。
应理解,文本生成设备中的处理器可以是片上系统SOC,该处理器中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其它类型的处理器,例如:图像处理器(Graphics Processing Unit;以下简称:GPU)等,具体在下文中再作介绍。
总之,处理器内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器中。
(2)一种可读存储介质,在可读存储介质上存储有计算机程序或上述装置,当计算机程序或上述装置被执行时,使得计算机执行前述实施例或等效实施方式的步骤/功能。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的某些技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以如下所述软件产品的形式体现出来。
(3)一种计算机程序产品(该产品可以包括上述装置并可以存储于某存储介质中),该计算机程序产品在终端设备上运行时,使终端设备执行前述实施例或等效实施方式的文本生成方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述计算机程序产品可以包括但不限于是指APP;接续前文再做补充说明,上述设备/终端可以是一台计算机设备(例如手机、PC终端、云平台、服务器、服务器集群或者诸如媒体网关等网络通信设备等)。并且,该计算机设备的硬件结构还可以具体包括:至少一个处理器,至少一个通信接口,至少一个存储器和至少一个通信总线;处理器、通信接口、存储器均可以通过通信总线完成相互间的通信。其中,处理器可能是一个中央处理器CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network ProcessUnits;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路等,此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器等存储介质中;而前述的存储器/存储介质可以包括:非易失性存储器(non-volatilememory),例如非可移动磁盘、U盘、移动硬盘、光盘等,以及只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)等。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域技术人员可以意识到,本说明书中公开的实施例中描述的各模块、单元及方法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以及,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、设备等实施例而言,由于其基本相似于方法实施例,所以相关之处可参见方法实施例的部分说明即可。以上所描述的装置、设备等实施例仅仅是示意性的,其中作为分离部件说明的模块、单元等可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个地方,例如系统网络的节点上。具体可根据实际的需要选择其中的部分或者全部模块、单元来实现上述实施例方案的目的。本领域技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (11)

1.一种文本生成方法,其特征在于,包括:
根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性;
利用语言模型按逐个字词生成文本;
每生成一个字词后,抽取已生成的全部文本的属性,并与所述目标属性进行匹配;
根据匹配结果调整所述语言模型的历史状态信息,生成下一个字词,
所述属性生成策略包括:
提取所述属性描述语句的多维特征;
基于所述多维特征的融合结果,获得对应不同属性的若干语义表示;
将若干所述语义表示编码到第一隐含语义空间,得到整体语义表示;
根据所述整体语义表示,得到所述目标属性,
所述抽取已生成的全部文本的属性包括:
当生成一个所述字词时,实时提取已生成的全部文本的特征;
基于所述特征得到所述全部文本的语义表示;
将所述语义表示编码到第二隐含语义空间,得到所述全部文本的属性。
2.根据权利要求1所述的文本生成方法,其特征在于,所述多维特征包括由以下各项构成的一种或多种组合:所述属性描述语句的文本特征、发音特征、字符结构特征、多属性区分特征以及属性重要度特征。
3.根据权利要求1所述的文本生成方法,其特征在于,所述根据匹配结果调整所述语言模型的历史状态信息,生成下一个字词包括:
计算已生成的全部文本的属性与所述目标属性的相似度;
基于所述相似度及生成上一个字词时对历史隐藏状态的更新量,得到当前更新量;
根据所述当前更新量,对所述语言模型的历史隐藏状态进行更新;
根据更新后的历史隐藏状态得到下一个字词的概率分布。
4.根据权利要求1-3任一项所述的文本生成方法,其特征在于,所述方法还包括在训练阶段:
根据由所述匹配结果进行调整前后的历史状态信息的差异程度,对所述语言模型进行约束,以使所述语言模型的各历史状态接近;和/或
基于已生成的所述全部文本和所述匹配结果,构建用于提升文本生成效果的对抗式生成网络。
5.一种文本生成装置,其特征在于,包括:
目标属性生成模块,用于根据接收到的属性描述语句以及预设的属性生成策略,得到目标属性;
文本生成模块,用于利用语言模型按逐个字词生成文本;
属性匹配模块,用于每生成一个字词后,抽取已生成的全部文本的属性,并与所述目标属性进行匹配;
历史状态调整模块,用于根据匹配结果调整所述语言模型的历史状态信息,生成下一个字词,
所述目标属性生成模块包括:
多维特征提取单元,用于提取所述属性描述语句的多维特征;
第一语义表示单元,用于基于所述多维特征的融合结果,获得对应不同属性的若干语义表示;
整合单元,用于将若干所述语义表示编码到第一隐含语义空间,得到整体语义表示;
属性生成单元,用于根据所述整体语义表示,得到所述目标属性,
所述属性匹配模块包括:
特征提取单元,用于当生成一个所述字词时,实时提取已生成的全部文本的特征;
第二语义表示单元,用于基于所述特征得到所述全部文本的语义表示;
第二编码单元,用于将所述语义表示编码到第二隐含语义空间,得到所述全部文本的属性。
6.根据权利要求5所述的文本生成装置,其特征在于,所述多维特征提取单元具体包括由以下各项构成的一种或多种组合:所述属性描述语句的文本特征提取组件、发音特征提取组件、字符结构特征提取组件、多属性区分特征提取组件、属性重要度特征提取组件。
7.根据权利要求5所述的文本生成装置,其特征在于,所述历史状态调整模块包括:
相似度计算单元,用于计算已生成的全部文本的属性与所述目标属性的相似度;
历史隐藏状态更新量计算单元,用于基于所述相似度及生成上一个字词时对历史隐藏状态的更新量,得到当前更新量;
历史隐藏状态更新单元,用于根据所述当前更新量,对所述语言模型的历史隐藏状态进行更新;
概率分布获取单元,用于根据更新后的历史隐藏状态得到下一个字词的概率分布。
8.根据权利要求5-7任一项所述的文本生成装置,其特征在于,所述文本生成装置还包括:
约束模块,用于在训练阶段,根据由所述匹配结果进行调整前后的历史状态信息的差异程度,对所述语言模型进行约束,以使所述语言模型的各历史状态接近;和/或
对抗模块,用于在训练阶段,基于已生成的所述全部文本和所述匹配结果,构建用于提升文本生成效果的对抗式生成网络。
9.一种文本生成设备,其特征在于,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行如权利要求1~4任一项所述的文本生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1~4任一项所述的文本生成方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使所述终端设备执行权利要求1~4任一项所述的文本生成方法。
CN202010251846.8A 2020-04-01 2020-04-01 文本生成方法、装置和设备 Active CN111460833B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010251846.8A CN111460833B (zh) 2020-04-01 2020-04-01 文本生成方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010251846.8A CN111460833B (zh) 2020-04-01 2020-04-01 文本生成方法、装置和设备

Publications (2)

Publication Number Publication Date
CN111460833A CN111460833A (zh) 2020-07-28
CN111460833B true CN111460833B (zh) 2023-08-25

Family

ID=71685785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010251846.8A Active CN111460833B (zh) 2020-04-01 2020-04-01 文本生成方法、装置和设备

Country Status (1)

Country Link
CN (1) CN111460833B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131452A (zh) * 2020-08-31 2020-12-25 湖北大学 一种基于gpt-2模型的网络舆情引导方法及装置
CN112182210B (zh) * 2020-09-25 2023-11-24 四川华空天行科技有限公司 基于作文论据特征分类器的语言生成模型及写作支持方法
EP3979121A1 (en) * 2020-10-01 2022-04-06 Naver Corporation Method and system for controlling distributions of attributes in language models for text generation
CN112380832B (zh) * 2020-11-13 2024-01-30 苏州大学 文本匹配方法、装置、电子设备及计算机可读存储介质
CN112257393B (zh) 2020-12-22 2021-04-13 北京百度网讯科技有限公司 实现文本生成的方法、装置、设备和介质
CN112699643B (zh) * 2020-12-23 2024-04-19 车智互联(北京)科技有限公司 一种生成语言模型的方法和文章自动生成方法
CN113268952B (zh) * 2021-04-26 2024-03-01 网易(杭州)网络有限公司 文本生成方法、装置和电子设备
CN113420129B (zh) * 2021-05-08 2022-11-18 天津大学 一种基于大型通用预训练模型控制对话生成的方法
CN114444488B (zh) * 2022-01-26 2023-03-24 中国科学技术大学 一种少样本机器阅读理解方法、系统、设备及存储介质
CN114925668B (zh) * 2022-05-20 2023-04-07 电子科技大学 自动生成新闻的系统、方法及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684394A (zh) * 2018-12-13 2019-04-26 北京百度网讯科技有限公司 文本生成方法、装置、设备和存储介质
CN109885673A (zh) * 2019-02-13 2019-06-14 北京航空航天大学 一种基于预训练语言模型的自动文本摘要方法
CN109992668A (zh) * 2019-04-04 2019-07-09 上海冰鉴信息科技有限公司 一种基于自注意力的企业舆情分析方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107783960B (zh) * 2017-10-23 2021-07-23 百度在线网络技术(北京)有限公司 用于抽取信息的方法、装置和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684394A (zh) * 2018-12-13 2019-04-26 北京百度网讯科技有限公司 文本生成方法、装置、设备和存储介质
CN109885673A (zh) * 2019-02-13 2019-06-14 北京航空航天大学 一种基于预训练语言模型的自动文本摘要方法
CN109992668A (zh) * 2019-04-04 2019-07-09 上海冰鉴信息科技有限公司 一种基于自注意力的企业舆情分析方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
庞亮 ; 兰艳艳 ; 徐君 ; 郭嘉丰 ; 万圣贤 ; 程学旗 ; .深度文本匹配综述.计算机学报.2017,第40卷(第4期),全文. *

Also Published As

Publication number Publication date
CN111460833A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111460833B (zh) 文本生成方法、装置和设备
CN110489555B (zh) 一种结合类词信息的语言模型预训练方法
CN110334354B (zh) 一种中文关系抽取方法
CN107315737A (zh) 一种语义逻辑处理方法及系统
CN111738251A (zh) 一种融合语言模型的光学字符识别方法、装置和电子设备
CN111859964A (zh) 一种语句中命名实体的识别方法及装置
CN111581970B (zh) 一种网络语境的文本识别方法、装置及存储介质
CN112395417A (zh) 基于深度学习的网络舆情演化仿真方法及系统
CN113901170A (zh) 结合Bert模型和模板匹配的事件抽取方法及系统、电子设备
CN110991185A (zh) 一种文章中实体的属性抽取方法及装置
CN112487786A (zh) 一种基于乱序重排的自然语言模型预训练方法及电子设备
CN110751234A (zh) Ocr识别纠错方法、装置及设备
CN114239574A (zh) 一种基于实体和关系联合学习的矿工违规行为知识抽取方法
CN114298031A (zh) 文本处理方法、计算机设备及存储介质
CN114528387A (zh) 基于对话流自举的深度学习对话策略模型构建方法和系统
CN112364659B (zh) 一种无监督的语义表示自动识别方法及装置
CN116680575B (zh) 模型处理方法、装置、设备及存储介质
CN113297374A (zh) 一种基于bert和字词特征融合的文本分类方法
CN112131879A (zh) 一种关系抽取系统、方法和装置
CN113095063A (zh) 一种基于遮蔽语言模型的两阶段情感迁移方法和系统
CN116362242A (zh) 一种小样本槽值提取方法、装置、设备及存储介质
CN115906854A (zh) 一种基于多级对抗的跨语言命名实体识别模型训练方法
CN113010635B (zh) 一种文本纠错方法及装置
CN115438210A (zh) 文本图像生成方法、装置、终端及计算机可读存储介质
CN115130475A (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