CN111027292B - 一种限定采样文本序列生成方法及其系统 - Google Patents
一种限定采样文本序列生成方法及其系统 Download PDFInfo
- Publication number
- CN111027292B CN111027292B CN201911200838.4A CN201911200838A CN111027292B CN 111027292 B CN111027292 B CN 111027292B CN 201911200838 A CN201911200838 A CN 201911200838A CN 111027292 B CN111027292 B CN 111027292B
- Authority
- CN
- China
- Prior art keywords
- word
- text sequence
- vector
- mask
- generator
- 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
Images
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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 Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供的限定采样文本序列生成方法及系统,该方法包括:将初始文本序列输入对抗网络模型,获取预输出文本序列的第一个词;基于词表掩模的方法,利用生成器根据第一个词,从字典数据库中选取第一个词的下一个词,构成预输出文本序列;基于词表掩模的方法,根据预输出文本序列,继续选取预输出文本序列的下一个词,获取新的预输出文本序列,直至总词数达到设定阈值,将其输入至判别器进行判别,并根据分类判别结果计算更新梯度;更新生成器的参数,并再次输入初始文本序列至更新后的生成器中;直至生成器和判别器均收敛后,输出目标文本序列。本实施例提供的方法及系统,通过改进制定文本规则精简了采样空间,改善了生成文本质量。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种限定采样文本序列生成方法及其系统。
背景技术
近年来,随着人工智能的不断发展,自然语言处理也受到了广泛关注。其中,文本生成作为自然语言处理领域中长期研究的课题之一,被应用于多种技术,如机器翻译、文本摘要、自动问答、智能客服等。文本生成旨在于连续的具体语境下,预测生成语法和语义正确的单词序列,是交互式人工智能系统不可或缺的组成部分。
目前,已有许多学者在在文本生成上取得了非凡的成就。在实现文本生成任务时,我们常采用前馈神经网络和循环神经网络。然而,基本的循环神经网络往往会对训练数据的分布过分依赖,而若采用人工模板提高文本生成的质量,则其通用性和扩展性都会大大降低。目前,完全基于数据科学的文本生成方法还没能取得令人满意的成果。
例如,现有技术中存在的一种应用于终端设备发布社交消息的场景中的文本生成方法及终端设备,通过对目标图像进行识别,得到该目标图像的内容信息;根据用户的用词习惯,生成与该内容信息对应的文本信息。该方法及装置主要用于解决用户为待发布的图像添加一段描述性的文本信息,导致发布消息的过程耗时较长的问题。
上述方案存在如下缺陷:该方案采用深度学习模型,能根据目标图像和用户的用词习惯生成与内容信息对应的文本信息,可以减少用户构思并编辑文本信息的时间。但该方案只提出了一种可能的文本生成解决方案,并没有给出具体的算法,其文本生成的效果尚未明确。
再例如,现有技术中还存在一种医疗文本的生成方法,通过利用词向量表示医疗文档的词汇并对医疗文档进行文本分类;获得医疗文档的最佳的输出序列标注;获得医疗文档的关键词集的索引,将索引随机打乱顺序,得到新的医疗文档及其对应的序列标注;采用基于生成式对抗网络的生成模型训练生成并输出医疗文本;获取生成的医疗文本的BLEU参数;对生成的医疗文本进行评估,最终得到目标医疗文本。
但是该方案也存在着不可克服的缺陷,表现在:该方案利用词向量对文本进行标注并获得关键词集的索引;随后随机打乱索引,得到新的对应的序列标注;最后,基于生成式对抗网络的生成模型训练生成输出新的目标文本。这一方案,通过先获得词集的索引,然后仅根据随机打乱的索引生成新的文本,并不具有很强的自我文本生成能力,模板痕迹过重,扩展性不高。
发明内容
有鉴于此,本发明实施例提供一种限定采样文本序列生成方法及其系统,用以解决现有技术中解决在生成式对抗网络中离散文本无法反向传播梯度的缺陷。
第一方面,本发明实施例提供一种限定采样文本序列生成方法,包括以下步骤:
S1:将初始文本序列输入至训练好的对抗网络模型,获取预输出文本序列的第一个词,对抗网络模型包括生成器和判别器。
S2:基于词表掩模的方法,利用生成器根据第一个词,从字典数据库中选取所述第一个词的下一个词,构成预输出文本序列。
S3:基于词表掩模的方法,根据预输出文本序列,继续选取预输出文本序列的下一个词,获取新的预输出文本序列。
S4:迭代执行步骤S2-S3,直至新的预输出文本序列的总词数达到设定阈值时,将新的预输出文本序列 输入至判别器进行判别,并根据分类判别结果计算更新梯度。
S5:根据更新梯度更新所述生成器的参数,并再次输入初始文本序列至更新后的生成器中。
S6:迭代执行步骤S2-S5直至生成器和判别器均收敛后,输出目标文本序列。
进一步地,上述基于词表掩模的方法,根据所述预输出文本序列,继续选取所述预输出文本序列的下一个词,获取新的预输出文本序列,包括:
利用Word2Vector语言模型,将字典数据库中的每个文本数据转换成对应的词向量,获取字典向量集;计算字典向量集中的每个词向量的词掩模向量;根据预输出文本序列中最新生成的m个词的词掩模向量,获取当前时间步的掩模向量;根据当前时间步的掩模向量,确定预输出文本序列的下一个词,获取新的预输出文本序列。
进一步地,上述计算字典向量集中的每个词向量的词掩模向量,包括:
计算每个词向量在真实序列中,后面出现的k个邻近词向量与字典向量集中所有词向量之间的相似度,其中k≥1;若k个邻近词向量中任一邻近词向量的所有相似度均小于设定阈值,则在词向量的掩模向量M上置0,否则置1,从而获取每个任一邻近词向量的掩模向量;根据所有邻近词向量的掩模向量确定词向量的掩模向量。
进一步地,上述计算每个词向量在真实序列中,后面出现的k个邻近词向量与字典向量集中所有词向量之间的相似度,包括:
其中,A和B分别表示k个邻近词向量中任一邻近词向量以及字典向量集中的任一词向量;n为词向量的维度。
进一步地,上述根据所有邻近词向量的掩模向量确定词向量的掩模向量,包括:
进一步地,上述根据预输出文本序列中最新生成的m个词的词掩模向量,获取当前时间步的掩模向量,包括:
进一步地,上述根据当前时间步的掩模向量,确定预输出文本序列的下一个词,获取新的预输出文本序列,包括:
利用当前时间步的掩模向量对字典向量集中的每个词向量进行过滤,获取过滤后的字典向量集;利用生成器从过滤后的字典向量集中选择预输出文本序列的下一个词。
进一步地,在上述将初始文本序列输入至训练好的对抗网络模型之前,还包括对于对抗网络模型进行预训练,其中:
生成器的优化目标函数为:
判别器的优化目标函数为:
其中,其中,Y~Pdata为真实数据正样本;Y~Gθ为生成器产生的负样本, Dφ(Y)为经判别器的输出结果,E为期望值计算函数,φ为生成器的参数。
第二方面,本发明实施例提供一种限定采样文本序列生成系统,包括:第一运算单元、第二运算模块、第三运算模块、第一判断循环模块、第四运算模块以及第二判断循环模块,其中:
第一运算单元,用于将初始文本序列输入至训练好的对抗网络模型,获取预输出文本序列的第一个词,所述对抗网络模型包括生成器和判别器;
第二运算模块,用于基于词表掩模的方法,利用所述生成器根据所述第一个词,从字典数据库中选取所述第一个词的下一个词,构成预输出文本序列;
第三运算模块,用于基于词表掩模的方法,根据所述预输出文本序列,继续选取所述预输出文本序列的下一个词,获取新的预输出文本序列;
第一判断循环模块,用于判断所述新的预输出文本序列的总词数是否达到设定阈值。其中,阈值的设定可根据Box Muller随机生成方法在15至25 之间来模拟生成,达到与真实数据集序列长度相似的效果;若达到设定阈值,则将所述新的预输出文本序列 输入至所述判别器进行判别,并根据分类判别结果计算更新梯度;
第四运算模块,用于根据所述更新梯度更新所述生成器的参数,并再次输入所述初始文本序列至更新后的生成器中;
第二判断循环模块,用于判断所述生成器和判别器是否均收敛后;若均收敛,则输出目标文本序列。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的限定采样文本序列生成方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面任一项所述的限定采样文本序列生成方法的步骤。
本发明实施例提供的限定采样文本序列生成方法及其系统,通过利用文本信息中所存在的高度抽象的语法语义信息,建立词表掩模的方法。并利用该方法,在生成器进行目标文本序列生成时,对字典数据库中进行动态精简,实现了通过改进制定文本规则,精简采样空间,改善了生成文本质量的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种限定采样文本序列生成方法的流程示意图;
图2为本发明实施例提供的一种限定采样文本序列生成方法中词向量掩模的获取示意图;
图3为本发明实施例提供的一种限定采样文本序列生成系统的结构示意图;
图4为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
文本生成任务旨在模拟并生成连续的文本序列数据,可看成一个连续的决策过程,是非监督学习中的一个重要问题。虽然在现有技术中,存在文本自动生成方面的研究及应用,但所生成的文本质量往往不佳而或局限于特定领域缺少通用性。由于,文本信息存在着高度抽象的语法语义信息,而传统的生成方法只停留在文字符号表面,对于文本语法结构,整体信息难以进行合理表征;而利用深度学习等方法进行的文本生成往往面临着训练不可控,模型难以收敛的问题。
本专利针对上述文本自动生成过程中所面临的问题,提出了一种基于词表掩模和生成对抗网络的限定采样文本生成方法。该方法结合强化学习和生成式对抗网络构建文本生成模型,利用强化学习解决在生成式对抗网络中离散文本无法反向传播梯度的问题;同时,针对网络结构中蒙特卡洛采样随机不充分的问题,改进制定文本规则,降低采样空间,以改善生成文本质量。
图1为本发明实施例提供的一种限定采样文本序列生成方法的流程示意图,如图1所示,具体包括以下步骤:
步骤S1:将初始文本序列输入至训练好的对抗网络模型,获取预输出文本序列的第一个词,对抗网络模型包括生成器和判别器;
步骤S2:基于词表掩模的方法,利用生成器根据第一个词,从字典数据库中选取第一个词的下一个词,构成预输出文本序列;
步骤S3:基于词表掩模的方法,根据预输出文本序列,继续选取预输出文本序列的下一个词,获取新的预输出文本序列;
步骤S4:迭代执行步骤S2-S3,直至新的预输出文本序列的总词数达到设定阈值时,将新的预输出文本序列 输入至判别器进行判别,并根据分类判别结果计算更新梯度;
步骤S5:根据更新梯度更新生成器的参数,并再次输入初始文本序列至更新后的生成器中;
步骤S6:迭代执行步骤S2-S5直至生成器和判别器均收敛后,输出目标文本序列。
对抗网络模型(Generative Adversarial Networks,简称GAN),是一种深度学习模型,是无监督学习最具前景的方法之一。该模型通过(至少)两个模块:生成器(Generative Model)和判别器(Discriminative Model)的互相博弈学习产生收敛性和准确性高的输出。
在本发明实施例中,生成器和判别器可以不限定为神经网络,仅限定两者具有能够拟合相应的生成和判断的函数即可,但最好为神经网络网络模型。具体地,可以基于长短期记忆神经网络(LSTM)为基本单元构建生成对抗网络的生成器;同时可以采用卷积神经网络构建判别器。
进一步地,在将初始文本输入至训练好的对抗网络模型之前,即在步骤 S1之前还可以先基于词表掩模的方法,对字典数据库中的每一个数据进行掩模计算,然后根据输入至对抗网络模型中的初始文本序列,确定出当前步的向量掩模,并利用该向量掩模对当前步的字典数据库进行掩模操作,将与此初始文本序列关系度不高,易造成文本质量差的备选词进行剔除,降低采样空间,以提高第一个词的生成效率,以及生成质量的目的。
进一步地,在本发明实施例中由于生成器是逐个词进行生成的,当生成一个新的词后,结合之前生成的部分预输出文本序列,构成一个新的预输出文本序列,直至新的预输出文本序列的长度达到输出目标文本序列的长度时,则送入至判别器中进行判别。
在本发明另一实施例中,生成器是还是逐个词进行生成的,但当生成一个新的词后,利用蒙特卡洛搜索(MC Search)的方法对剩余序列进行采样补全,并将补全后的新的预输出文本序列送入至判别器中进行判别。
最后,根据判别器的判断结果,确定最后的预输出文本序列是否符合收敛性的要求。若符合,则输出目标文本序列;若不符合,则选取奖励值(reward) 大的动作的梯度作为更新梯度,并利用该更新梯度对生成器的参数进行更新,然后再次迭代执行上述步骤。
但在上述两个实施例中,在生成预输出文本序列的下一个词时,均是通过从字典数据库中进行选取,但由于数据库中的词数较多,若过不对数据库中的词进行语法语义的相关,则会造成整个对抗网络模型的离散文本无法反向传播梯度的问题,收敛性差。
在本发明实施例中,通过建立词表掩模方法,根据已经建立的部分预输出文本序列,以及字典数据库中所有的词之间的语法语义关联关系,从字典数据库中选取该部分预输出文本序列的下一个词,并构建新的预输出文本序列。
本发明实施例提供的限定采样文本序列生成方法,通过利用文本信息中所存在的高度抽象的语法语义信息,建立词表掩模的方法。并利用该方法,在生成器进行目标文本序列生成时,对字典数据库中进行动态精简,实现了通过改进制定文本规则,精简采样空间,改善了生成文本质量的目的。
基于上述实施例的内容,作为一种可选实施例,其中上述基于词表掩模的方法,根据预输出文本序列,继续选取所述预输出文本序列的下一个词,获取新的预输出文本序列,包括但不限于以下方法:
利用Word2Vector语言模型,将字典数据库中的每个文本数据转换成对应的词向量,获取字典向量集;计算字典向量集中的每个词向量的词掩模向量;根据预输出文本序列中最新生成的m个词的词掩模向量,获取当前时间步的掩模向量;根据当前时间步的掩模向量,确定所述预输出文本序列的下一个词,获取新的预输出文本序列。
进一步地的,上述计算字典向量集中的每个词向量的词掩模向量的方法,可以是:计算每个词向量在真实序列中,后面出现的k个邻近词向量与字典向量集中所有词向量之间的相似度,其中k≥1;若k个邻近词向量中任一邻近词向量的所有相似度均小于设定阈值,则在词向量的掩模向量M上置0,否则置1,从而获取每个所述任一邻近词向量的掩模向量;根据所有邻近词向量的掩模向量确定所述词向量的掩模向量。
进一步地,其中计算每个词向量在真实序列中,后面出现的k个邻近词向量与字典向量集中所有词向量之间的相似度的方法,可以是利用以下相似度计算公式来进行的:
其中,A和B分别表示k个邻近词向量中任一邻近词向量以及字典向量集中的任一词向量;n为词向量的维度。
具体地,由于文本数据相互之间的差异性大、处理难度高、不易进行数字化处理,在本实施例中,首先利用Word2Vector语言模型,将所有涉及到的文本数据进行向量化处理。
进一步地,遍历字典数据库中的每一个词,找出该词在整个字典数据库中后续关联度较高的词,以便在后续采样过程中进行限定。例如“天气”一词后面关联度较高的词有“好”、“坏”、“晴朗”、“阴雨连绵”等等形容天气状态的形容词。
例如,对字典数据库中的当前词Word进行掩模向量的定义,首先根据 Word存在语法语义关联关系确定出其在真实序列中,其后面将最可能出现的 k个词Wordnextk与字典数据库中所有的n个词之间的余弦距离,并将该余弦距离用相似度来进行表征。
进一步地,当获取到当前词Word其后的可能出现的词Wordnextk与字典数据库中所有的n个词之间的的相似度后,即构建每个当前词Wordi与一个 k*n的掩膜向量(记为Maski)的对应关系。
进一步地,对该向量进行归一化处理,即将k个邻近词向量中任一邻近词向量的所有相似度均小于设定阈值,则在所述词向量的掩模向量上置0,否则置1,即完成将k*n的掩膜向量转化成了1*n的掩膜向量,且该掩膜向量的由0或1构成。
具体地,上述根据所有邻近词向量的掩模向量确定每个词向量的掩模向量,可以根据以下公式计算获取:
进一步地,对该掩模向量中的每个值进行归一化处理的方法,利用以下公式进行处理:
其中,Wk为第k个邻近词向量,Vocan为字典数据库中第n个词,Sim为对第k个邻近词向量与第n个词进行相似度计算,为第k个邻近词向量与字典数据库中第n个词之间的相似度值,参数k以及相似度的设定阈值 ThSim可以根据实际检测精度以及具体地实验测试来获取。
本发明实施例提供的限定采样文本序列生成方法,通过利用文本信息中所存在的高度抽象的语法语义信息,对整个字典数据库进行词表掩模表达,并基于转换后的词掩模,在生成器进行目标文本序列生成时,对字典数据库中进行动态精简,实现了通过改进制定文本规则,精简采样空间,改善了生成文本质量的目的。
基于上述实施例的内容,作为一种可选实施例,当完成了对于字典向量集中所有词向量的掩膜向量的定义之后,则上述根据预输出文本序列中最新生成的m个词的词掩模向量,获取当前时间步的掩模向量,包括:
作为一种可选实施例,设要获取的目标文本序列的词长度为20,则每个预输出文本的词长度均为20,当在进行预输出文本序列生成的过程中,假设当前时间步为W4(即t=4),可以获取当前时间步之前已经生成的m(设m=3) 个词的掩模向量,然后利用或运算对上述3个词的掩模向量进行运算,从而获取到当前时间步的掩模向量Mt。
基于上述实施例的内容,作为一种可选实施例,上述根据当前时间步的掩模向量,确定预输出文本序列的下一个词,获取新的预输出文本序列,包括:
利用当前时间步的掩模向量对字典向量集中的每个词向量进行过滤,获取过滤后的字典向量集;利用生成器从过滤后的字典向量集中选择预输出文本序列的下一个词。
具体地,使用Mt对字典向量集进行掩模操作,将与已经生成的部分预输出文本序列关系度不高,易造成文本质量差的备选词进行剔除,降低了采样空间提高效率,同时也达到了提高文本质量的目的。
基于上述实施例的内容,作为一种可选实施例,在上述将初始文本序列输入至训练好的对抗网络模型之前,还包括对建立的对抗网络模型进行预训练,其中,所述生成器的优化目标函数为:
所述判别器的优化目标函数为:
其中,Y~Pdata为真实数据正样本;Y~Gθ为生成器产生的负样本,Dφ(Y)为经判别器的输出结果,E为期望值计算函数,φ为生成器的参数。
RNN是一种用于处理序列数据的神经网络,相比于一般的神经网络来说,能够处理序列变化的数据,比如某个单词的意思会因为上文提到的内容不同而有不同的含义,RNN就能够很好地解决这类问题。而LSTM是一种记忆 RNN上做出改进的特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸等缺陷,主要通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息;而不像普通的RNN那样只能够无差别的记忆叠加方式,依次对于长序列的数据处理优势明显。但也因为引入了很多内容,导致参数变多,也使得训练难度加大了很多。有鉴于此,在本发明实施例中,选用长短期记忆神经网络(LSTM)构建生成器,同时利用卷积神经网络(RNN) 构建判别器,是综合考虑两个不同的神经网络的特性做出的合理选择,利用 LSTM进行长序列的生成,同时利用RNN对获取的结果进行判断。
在训练的过程中,生成器的目标就是尽量生成真实的文本序列去欺骗判别器。而对判别器进行训练的目标就是尽量把生成器生成的文本序列和真实的文本序列进行区分。这样,生成器和判别器就构成了一个动态的“博弈过程”。在最理想的状态下,当生成器生成的文本序列G(z),对于判别器来说,它难以判定该文本序列G(z)究竟是不是真实的,即D(G(z))=0.5,则此时,认为对于对抗网络模型的训练完成。
具体地,在本发明实施例中,提供一种预训练方法,包括:
首先对训练样本集进行去噪处理,并将样本集中的所有的文本数据通过Word2Vector语言模型转化为向量Vs;
采用循环神经网络构建生成器Gθ,以长短期记忆神经网络作为具体单元,将向量Vs作为神经网络的输入,采用最大似然估计的方式预训练生成器。
采用交叉熵作为损失函数,利用每个单元输出的联合概率分布选择生成序列,并将生成器生成的文本数据作为负样本集合记为Yθ。其中,生成器生成的文本序列记为:
Y1:T=(y1,...yT),yi∈y,
其中,Y1:T表示生成器生成的文本序列;yi为第i个负样本集合,T为负样本集合的个数;
采用卷积神经网络构建判别器Dφ,设置卷积核大小等相应网络参数,将初始文本序列的数据作为正样本YTruth和生成器生成的所有负样本Yθ一起输入至判别器中进行预训练。
基于上述实施例的内容,作为一种可选实施例,在进入对抗生成阶段,对原始GAN生成器优化函数进行改进,得到梯度增强版的优化目标,即将生成器Gθ的优化目标设置为:
进一步地,利用判别器输出的概率作为生成器的奖励,生成器需最大化奖励期望,该总奖励期望为:
其中,Gθ(a|s)=P(a|s;θ)表示状态s下选择动作a的概率,体现网络做决策的能力;动作奖励值函数记为Qθ(s,a),表示状态s做下动作a后,根据策略生成器Gθ完成后续动作获得的总奖励期望;T表示生成器生成的第T个词汇。
需要说明的是,在本发明实施例中可以对生成器与判别器进行交替训练,例如可以采用生成器训练1次,判别器训练3次的方式,完成对于对抗网络模型的训练。
为了更清楚的展示本发明实施例的技术方案,特发明提供以下具体实施例,如图2所示:
在本发明的实例中,采用COCO数据集作为真实文本数据进行实验,其中,COCO数据集是微软团队获取的一个可以用来图像识别的数据集,其中有对图像的人工文本描述并以此作为真实样本。具体地,在训练判别器时,使用有监督的训练方式,将真实数据作为正样本(预训练集),将生成器生成的序列作为负样本,损失函数使用交叉熵损失函数。在训练生成器时,固定判别器的参数,生成器网络采用逐字符的生成方式,并将已经生成的部分预输出文本序列用过采样的方式得到完整序列送入判别器获得奖励值,以梯度下降的方式优化生成器的参数来获取最高的奖励。本发明实例具体步骤描述如下:
对数据集进行去噪等预处理,将待增强的数据集文本数据(字典数据库的所有数据利用Word2Vector方法转化为向量Vs;同时,以长短期神经网络 (LSTM)为基本单元构建生成器Gθ,以卷积神经网络(CNN)构建判别器Dφ,将数据输入进行预处理。其中,向量Vs可表示为如下:
[0.09750147 0.12574093 0.84731793 ... 0.69222506 0.390592940.8774194]
进一步地,对生成器和判别器预训练完成后进入对抗生成阶段。结合强化学习理论,将生成器生成文本序列最后一步动作后得到完整序列(即预输出文本序列)送入判别器进行判别,输出的概率作为生成器的奖励,生成器就是要最大化奖励期望。
进一步地,对于字典数据库的所有词计算其后k个词与备选空间中所有词的余弦距离,计算结果可如下表示:
[[0.86316486 0.41882128 0.50780519 ... 0.4162313 0.551106630.61128194]
[0.50893082 0.12300942 0.36226878 ... 0.6022229 0.764817610.73225567]
[0.15975381 0.90979895 0.30924375 ... 0.27582124 0.598448320.08447051]
...
[0.50718517 0.50251312 0.76780685 ... 0.55606288 0.721414670.5407658]
[0.4899017 0.57530272 0.10148381 ... 0.22472898 0.200225630.07129613]
[0.87690288 0.31681272 0.78216977 ... 0.69658028 0.402184140.14504021]]。
进一步地,设置当前步采样时的词表掩模,词表大小为8000,制定 8000*8000的向量,每列相当于待产生的下一个词的备选空间,如果k次计算相似度均小于预设阈值Th,则在对应的掩模向量上置0,否则置1,由此得到字典数据库中每个词对应的掩模向量M。
进一步地,由最新生成的m个词的词掩模向量通过或运算计算得到当前时间步的词掩模向量Mt,计算结果可如下表示:
[[1.1.1....1.0.0.]
[1.1.0....1.0.1.]
[0.0.1....1.1.0.]
[0.0.0....0.1.0.]
[1.1.1....1.1.0.]
[0.1.0....0.0.1.]]
进一步地,生成预输出文本序列的每一个当前词时间步时,采用蒙特卡洛搜索MCSearch的方法对剩余序列进行采样补全,并在字典数据库中使用掩模向量Mt进行过滤,同时将判别器的平均得分作为当前词的奖励期望。
如图3所示,本发明实施例还提供一种限定采样文本序列生成系统,包括但不限于以下结构:第一运算单元11、第二运算模块12、第三运算模块 13、第一判断循环模块14、第四运算模块15和第二判断循环模块16,其中:
第一运算单元11,用于将初始文本序列输入至训练好的对抗网络模型,获取预输出文本序列的第一个词,该对抗网络模型包括生成器和判别器;
第二运算模块12,用于基于词表掩模的方法,利用生成器根据第一个词,从字典数据库中选取第一个词的下一个词,构成预输出文本序列;
第三运算模块13,用于基于词表掩模的方法,根据预输出文本序列,继续选取预输出文本序列的下一个词,获取新的预输出文本序列;
第一判断循环模块14,用于判断新的预输出文本序列的总词数是否达到设定阈值。其中,设定阈值的设定可根据Box Muller随机生成方法在15至 25之间来模拟生成,达到与真实数据集序列长度相似的效果;若达到设定阈值,则将新的预输出文本序列 输入至判别器进行判别,并根据分类判别结果计算更新梯度;
第四运算模块15,用于根据更新梯度更新所述生成器的参数,并再次输入初始文本序列至更新后的生成器中;
第二判断循环模块16,用于判断生成器和判别器是否均收敛后;若均收敛,则输出目标文本序列。
本本发明实施例提供的限定采样文本序列生成系统,通过利用文本信息中所存在的高度抽象的语法语义信息,建立词表掩模的方法。并利用该方法,在生成器进行目标文本序列生成时,对字典数据库中进行动态精简,实现了通过改进制定文本规则,精简采样空间,改善了生成文本质量的目的。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器 430中的逻辑指令,以执行如下步骤:以下步骤:
S1:将初始文本序列输入至训练好的对抗网络模型,获取预输出文本序列的第一个词,对抗网络模型包括生成器和判别器。S2:基于词表掩模的方法,利用生成器根据第一个词,从字典数据库中选取所述第一个词的下一个词,构成预输出文本序列。S3:基于词表掩模的方法,根据预输出文本序列,继续选取预输出文本序列的下一个词,获取新的预输出文本序列。S4:迭代执行步骤S2-S3,直至新的预输出文本序列的总词数达到设定阈值时,将新的预生成文本序列输入至判别器进行判别,并根据分类判别结果计算更新梯度。 S5:根据更新梯度更新所述生成器的参数,并再次输入初始文本序列至更新后的生成器中。S6:迭代执行步骤S2-S5直至生成器和判别器均收敛后,输出目标文本序列。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括以下步骤:S1:将初始文本序列输入至对抗网络模型,该对抗网络模型包括生成器和判别器,该生成器中包含至少一个特征反馈网络模块;S2:特征反馈网络模块用于从判别器中调取高阶特征,并基于高阶特征生成指导特征向量;S3:生成器基于指导特征向量,生成预输出文本序列中的下一个词,并将新构建的预输出文本序列输入至判别器中;S4:判别器根据新构建的预输出文本序列和初始文本序列更新高阶特征;S5:迭代执行上述步骤S2-S4,直至新构建的预生成文本序列的总词数达到设定阈值,将预生成文本序列输入至判别器进行判别,并根据分类判别结果计算更新梯度;S6:根据更新梯度更新生成器的参数,并再次输入初始文本序列至更新后的生成器中;S7:迭代执行上述步骤S2至S6直至生成器和判别器均收敛后,输出目标文本序列。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种限定采样文本序列生成方法,其特征在于,包括:
S1:将初始文本序列输入至训练好的对抗网络模型,获取预输出文本序列的第一个词,所述对抗网络模型包括生成器和判别器;
S2:基于词表掩模的方法,利用所述生成器根据所述第一个词,从字典数据库中选取所述第一个词的下一个词,构成预输出文本序列;
S3:基于词表掩模的方法,根据所述预输出文本序列,继续选取所述预输出文本序列的下一个词,获取新的预输出文本序列;
S4:迭代执行步骤S2-S3,直至所述新的预输出文本序列的总词数达到设定阈值时,将所述新的预输出文本序列 输入至所述判别器进行判别,并根据分类判别结果计算更新梯度;
S5:根据所述更新梯度更新所述生成器的参数,并再次输入所述初始文本序列至更新后的生成器中;
S6:迭代执行步骤S2-S5直至所述生成器和判别器均收敛后,输出目标文本序列;
所述基于词表掩模的方法,根据所述预输出文本序列,继续选取所述预输出文本序列的下一个词,获取新的预输出文本序列,包括:
利用Word2Vector语言模型,将所述字典数据库中的每个文本数据转换成对应的词向量,获取字典向量集;
计算所述字典向量集中的每个词向量的词掩模向量;
根据所述预输出文本序列中最新生成的m个词的词掩模向量,获取当前时间步的掩模向量;
根据所述当前时间步的掩模向量,确定所述预输出文本序列的下一个词,获取新的预输出文本序列。
2.根据权利要求1所述的限定采样文本序列生成方法,其特征在于,所述计算所述字典向量集中的每个词向量的词掩模向量,包括:
计算每个所述词向量在真实序列中,后面出现的k个邻近词向量与所述字典向量集中所有词向量之间的相似度,其中k≥1;
若所述k个邻近词向量中任一邻近词向量的所有相似度均小于设定阈值,则在所述词向量的掩模向量上置0,否则置1,从而获取每个所述任一邻近词向量的掩模向量;
根据所有所述邻近词向量的掩模向量确定所述词向量的掩模向量。
6.根据权利要求1所述的限定采样文本序列生成方法,其特征在于,所述根据所述当前时间步的掩模向量,确定所述预输出文本序列的下一个词,获取新的预输出文本序列,包括:
利用所述当前时间步的掩模向量对所述字典向量集中的每个词向量进行过滤,获取过滤后的字典向量集;
利用所述生成器从所述过滤后的字典向量集中选择所述预输出文本序列的下一个词。
8.一种限定采样文本序列生成系统,其特征在于,包括:
第一运算单元,用于将初始文本序列输入至训练好的对抗网络模型,获取预输出文本序列的第一个词,所述对抗网络模型包括生成器和判别器;
第二运算模块,用于基于词表掩模的方法,利用所述生成器根据所述第一个词,从字典数据库中选取所述第一个词的下一个词,构成预输出文本序列;
所述基于词表掩模的方法,根据所述预输出文本序列,继续选取所述预输出文本序列的下一个词,获取新的预输出文本序列,包括:
利用Word2Vector语言模型,将所述字典数据库中的每个文本数据转换成对应的词向量,获取字典向量集;
计算所述字典向量集中的每个词向量的词掩模向量;
根据所述预输出文本序列中最新生成的m个词的词掩模向量,获取当前时间步的掩模向量;
根据所述当前时间步的掩模向量,确定所述预输出文本序列的下一个词,获取新的预输出文本序列;
第三运算模块,用于基于词表掩模的方法,根据所述预输出文本序列,继续选取所述预输出文本序列的下一个词,获取新的预输出文本序列;
第一判断循环模块,用于判断所述新的预输出文本序列的总词数是否达到设定阈值;若达到设定阈值,则将所述新的预输出文本序列 输入至所述判别器进行判别,并根据分类判别结果计算更新梯度;
第四运算模块,用于根据所述更新梯度更新所述生成器的参数,并再次输入所述初始文本序列至更新后的生成器中;
第二判断循环模块,用于判断所述生成器和判别器是否均收敛后;若均收敛,则输出目标文本序列。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的限定采样文本序列生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200838.4A CN111027292B (zh) | 2019-11-29 | 2019-11-29 | 一种限定采样文本序列生成方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200838.4A CN111027292B (zh) | 2019-11-29 | 2019-11-29 | 一种限定采样文本序列生成方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111027292A CN111027292A (zh) | 2020-04-17 |
CN111027292B true CN111027292B (zh) | 2021-05-28 |
Family
ID=70203470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911200838.4A Active CN111027292B (zh) | 2019-11-29 | 2019-11-29 | 一种限定采样文本序列生成方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111027292B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813941A (zh) * | 2020-07-23 | 2020-10-23 | 北京来也网络科技有限公司 | 结合rpa和ai的文本分类方法、装置、设备及介质 |
CN112115264B (zh) * | 2020-09-14 | 2024-03-22 | 中科苏州智能计算技术研究院 | 面向数据分布变化的文本分类模型调整方法 |
CN112328750A (zh) * | 2020-11-26 | 2021-02-05 | 上海天旦网络科技发展有限公司 | 训练文本判别模型的方法及系统 |
CN113158695A (zh) * | 2021-05-06 | 2021-07-23 | 上海极链网络科技有限公司 | 一种面向多语言混合文本的语义审核方法与系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909621A (zh) * | 2017-11-16 | 2018-04-13 | 深圳市唯特视科技有限公司 | 一种基于双生成对抗网络的医学图像合成方法 |
CN108460717A (zh) * | 2018-03-14 | 2018-08-28 | 儒安科技有限公司 | 一种基于双判别器的生成对抗网络的图像生成方法 |
CN110347819A (zh) * | 2019-06-21 | 2019-10-18 | 同济大学 | 一种基于正负样本对抗训练的文本摘要生成方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9613312B2 (en) * | 2014-09-18 | 2017-04-04 | Ehsan Mousavi Khaneghah | PMamut: runtime flexible resource management framework in scalable distributed system based on nature of request, demand and supply and federalism |
CN109190684B (zh) * | 2018-08-15 | 2022-03-04 | 西安电子科技大学 | 基于素描及结构生成对抗网络的sar图像样本生成方法 |
CN110134969B (zh) * | 2019-05-27 | 2023-07-14 | 北京奇艺世纪科技有限公司 | 一种实体识别方法和装置 |
-
2019
- 2019-11-29 CN CN201911200838.4A patent/CN111027292B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909621A (zh) * | 2017-11-16 | 2018-04-13 | 深圳市唯特视科技有限公司 | 一种基于双生成对抗网络的医学图像合成方法 |
CN108460717A (zh) * | 2018-03-14 | 2018-08-28 | 儒安科技有限公司 | 一种基于双判别器的生成对抗网络的图像生成方法 |
CN110347819A (zh) * | 2019-06-21 | 2019-10-18 | 同济大学 | 一种基于正负样本对抗训练的文本摘要生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111027292A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110609891B (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN111027292B (zh) | 一种限定采样文本序列生成方法及其系统 | |
CN110110062B (zh) | 机器智能问答方法、装置与电子设备 | |
CN109299237B (zh) | 基于行动者评论家强化学习算法的循环网络人机对话方法 | |
WO2021204014A1 (zh) | 一种模型训练的方法及相关装置 | |
CN111046178B (zh) | 一种文本序列生成方法及其系统 | |
CN111858878B (zh) | 从自然语言文本中自动提取答案的方法、系统及存储介质 | |
CN115511069A (zh) | 神经网络的训练方法、数据处理方法、设备及存储介质 | |
CN111858898A (zh) | 基于人工智能的文本处理方法、装置及电子设备 | |
CN113705196A (zh) | 基于图神经网络的中文开放信息抽取方法和装置 | |
CN114048729A (zh) | 医学文献评价方法、电子设备、存储介质和程序产品 | |
CN113111190A (zh) | 一种知识驱动的对话生成方法及装置 | |
CN112559706A (zh) | 对话生成模型的训练方法、对话方法、设备以及存储介质 | |
CN110472746B (zh) | 一种基于人工智能的编码预测方法和系统 | |
CN117076608A (zh) | 一种基于文本动态跨度的整合外部事件知识的脚本事件预测方法及装置 | |
CN116450855A (zh) | 基于知识图谱的问答机器人的回复生成策略方法及系统 | |
CN113722477B (zh) | 基于多任务学习的网民情绪识别方法、系统及电子设备 | |
CN113094504A (zh) | 基于自动机器学习的自适应文本分类方法及装置 | |
CN113761874A (zh) | 事件事实性预测方法、装置、电子设备与存储介质 | |
CN111325387A (zh) | 可解释法律自动判决预测方法及装置 | |
CN112685558B (zh) | 一种情感分类模型的训练方法及装置 | |
CN114840697B (zh) | 一种云服务机器人的视觉问答方法及系统 | |
CN117436457B (zh) | 反讽识别方法、装置、计算设备及存储介质 | |
CN116991982B (zh) | 基于人工智能的交互式对话方法、装置、设备及存储介质 | |
US20230042234A1 (en) | Method for training model, device, and storage medium |
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 |