CN116522894A - 一种多阶段文本生成方法 - Google Patents
一种多阶段文本生成方法 Download PDFInfo
- Publication number
- CN116522894A CN116522894A CN202310425111.6A CN202310425111A CN116522894A CN 116522894 A CN116522894 A CN 116522894A CN 202310425111 A CN202310425111 A CN 202310425111A CN 116522894 A CN116522894 A CN 116522894A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- story
- word
- keyword
- prompt
- 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 28
- 238000012549 training Methods 0.000 claims abstract description 14
- 238000010276 construction Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 27
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 3
- 238000011282 treatment Methods 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims description 2
- 238000006467 substitution reaction Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 12
- 102100023961 ADP-ribosylation factor-like protein 2-binding protein Human genes 0.000 description 5
- 101000757692 Homo sapiens ADP-ribosylation factor-like protein 2-binding protein Proteins 0.000 description 5
- 101000934823 Homo sapiens Barttin Proteins 0.000 description 5
- 238000012360 testing method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013507 mapping Methods 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
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- 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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多阶段文本生成方法,其步骤包括:1)构建知识库2)构建多个样本,每一样本包括提示x、概念c和后续文本y,x与y构成一个标准故事,c来源于y中的词;故事生成模型包括知识检索模块、知识选择模块和故事生成模块;3)利用样本训练故事生成模型,知识检索模块根据输入样本中的提示x,根据数据库中检索出相似度最高的N条知识生成外部知识将x与c拼接得到联合提示x’,将x’和输入知识选择模块,生成输入信息中每个词的相关系数;故事生成模块根据各词的相关系数生成预测故事,优化模型参数;4)根据待生成的目标故事确定提示并将其输入训练后的故事生成模型,得到目标故事文本。本发明可生成长文本。
Description
技术领域
本发明属于自然语言处理领域,具体涉及一种多阶段的、显式融入外部知识的长文本生成方法。该方法具有联想相关知识的能力,对其生成高质量的故事文本具有很大的帮助,可以满足多种知识驱动型文本生成任务的需求。
背景技术
研究的故事生成任务属于长文本生成的领域。相比于其他类型的文本生成任务,如短输入到短输出的对话生成,长输入到短输出的摘要生成,故事生成是短输入到长输出的文本生成任务,这要求故事生成模型具有“联想”的能力。故事生成模型具有联想相关知识的能力,对其生成高质量的故事文本具有很大的帮助。研究者因此将故事生成任务归纳为知识驱动型的任务。
以往基于知识的故事生成方法使用从知识图谱中构造的基于模板的知识作为外部知识库,这些知识与真实故事之间存在一定的差距。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种多阶段文本生成方法。本发明首先针对故事生成任务是知识驱动型任务的特点,在序列到序列的模型的基础上,引入了知识增强的方式。具体而言,本发明构造了贴近故事生成的外部知识库,使用语义相似度检索到相关的外部知识,在利用这些知识进行故事生成前,通过知识选择模块对知识的相关性进行判断。此外,本发明使用了常识和词义知识对故事生成模型进行增强。通过知识检索和选择模块,本发明缓解了数据和模型结构局限性的问题,让模型具备了更好地联系相关知识的能力,从而也实现了更好的文本生成效果。
本发明利用真实的故事文本作为外部知识库,更适合故事生成的任务;针对故事生成任务,设计了一个多阶段的、显式融入外部知识的故事生成方法。本发明提出的方法包含三大部分,分别是知识检索,知识选择和故事生成。
本发明的技术方案为:
一种多阶段文本生成方法,其步骤包括:
1)构建知识库其包括知识库/>和/>知识库/>包含领域内的知识,知识库
包含领域外的知识;所述知识的形式是若干个关键词,从每一条知识选取一部分信息作为该知识的索引部分,剩余信息作为该知识的扩展部分;
2)构建多个样本用于训练故事生成模型,每一样本包括提示x、概念c和后续文本y,提示x与后续文本y构成一个标准故事,概念c来源于后续文本y中的词;提示x=(x1,x2,...,xn)、概念c=(c1,c2,..,cp)、后续文本y=(y1,y2,...,ym),cp为第p个概念,xn为提示x中的第n个分词,ym为后续文本y中的第m个分词;所述故事生成模型包括知识检索模块、知识选择模块和故事生成模块;
3)利用所述样本训练所述故事生成模型,所述知识检索模块根据输入样本中的提示x,在所述数据库中检索出与该提示x相似度最高的N条知识作为候选知识,将该N条候选知识的扩展部分进行合并与去重,得到一个关键词集合作为外部知识/>kl为外部知识/>中的第l个关键词;将样本中的提示x与概念c拼接得到联合提示x’,将联合提示x’和外部知识输入所述知识选择模块,生成输入信息中每个词与该样本中后续文本y的相关系数并输入给所述故事生成模块;所述故事生成模块根据各词的相关系数生成预测故事,并根据预测故事与对应的标准故事计算损失函数,根据损失函数值计算反向梯度优化所述知识选择模块的参数;
4)根据待生成的目标故事确定提示X并将其输入训练后的所述故事生成模型,得到目标故事文本。
进一步的,所述知识选择模块为所述外部知识中的每个关键词构建一伪标签,外部知识/>中的第i个关键词ki的伪标签为qi,所述知识选择模块的损失函数为 u1、u2、u3分别为权重系数,R1、R2、R3分别为外部知识/>中与后续文本y强相关、中等相关和不相关的关键词集合;通过损失函数值/>优化更新所述知识选择模块的参数。
进一步的,为所述外部知识中的每个关键词构建伪标签的方法为:获取所述外部知识/>中的每个关键词的同义词、上位词和下位词,根据词与词之间的上下位词关系得到一个上位词-下位词树;然后根据所述外部知识/>中的每个关键词ki和后续文本y的相关程度确定关键词ki的伪标签;如果关键词ki为后续文本y中的一个词或其同义词,则关键词ki的伪标签为强相关;如果关键词ki为后续文本y中的一个词的近义词,且关键词ki与该近义词在上位词-下位词树中的距离小于或等于2,则关键词ki的伪标签为中等相关,否则该关键词ki的伪标签为不相关。
进一步的,所述知识选择模块包括一个基于BERT的编码器、一个两层的前向神经网络;所述基于BERT的编码器对输入信息进行编码,得到输入信息中每个词的嵌入表示并发送给所述前向神经网络,生成输入信息中每个词与该样本中后续文本y的相关系数。
进一步的,所述知识检索模块采用双编码器分别计算出提示x的编码表示和知识的索引部分z的编码表示,并将其映射到同一个嵌入表示空间,得到提示x的向量d(x)、知识的索引部分的向量d(z);然后计算向量d(x)与向量d(z)的内积,得到提示x与索引部分z对应的知识的相似度。
进一步的,所述故事生成模块包括基于多头自注意机制的编码器和基于多头自注意机制的解码器;所述故事生成模块将输入的联合提示x’和外部知识组成序列:w1,w2,...,wt;wt为序列第t个词,t=n+p+l,序列中的前n+p个词为(x1,x2,...,xn,c1,…cp),后面为外部知识/>构建一个相关系数向量/>ρ1~ρl代表外部知识k1~kl的相关系数;所述故事生成模块采用编码器对输入信息进行编码,在解码阶段,采用解码器根据之前解码出的词以及编码器的输出,预测出下一个词yi;其中,编码、解码过程中将所述相关系数向量/>加到多头自注意机制的结果向量/>上,即利用调整后向量/>替换结果向量/> +代表向量的按元素相加;所述故事生成模块的损失函数为负的对数似然函数。
进一步的,所述联合提示x’中设有分割符号[SEP],用于分割提示x与外部知识并为提示x中的词、外部知识/>中的词分别设置段编号和位置编号。
进一步的,对于提示x中的词,段编号均为0,词的位置编号从0开始递增;对于外部知识中的词,段编号均为1,词的位置编号固定为同一个数M。
进一步的,将一个故事用若干个关键词进行描述,得到一所述知识;将每一所述知识的第一句作为索引部分。
本发明预先建立一个知识库构建多个样本,每一样本包括提示x、概念c和后续文本y;本发明对基于知识的故事生成的任务进行定义。根据要生成的故事文本y,给定输入提示x=(x1,x2,...,xn),相关概念c=(c1,c2,..,cp),任务的目标是生成后续的故事文本y=(y1,y2,...,ym),n与m代表提示和故事文本的长度,p为概念的个数,xn代表x中的第n个分词,yn代表y中的第m个分词。其中概念c来源于y中的词,概念c是为生成y提供的辅助选项。x和y拼接成一个连贯的故事。模型可以在/>中检索相关的知识辅助故事的生成。在本发明的方法中,本发明针对知识库/>的构造以及如何利用知识库中的知识进行了方法上的设计。
本发明的故事生成模型架构图如图1所示,其包含三个主要的部分,从左至右分别为:
·知识检索:根据当前的提示x,从知识库中检索可能相关的知识,知识的形式是若干个关键词;
·知识选择:该模块的输入包含原始的输入x和知识检索阶段检索的知识,负责对知识进行选择,具体做法是为每个关键词预测一个分数,用于知识的选择以及后续故事生成模块对知识利用的权重;
·故事生成:该模块的输入为原始的输入x和知识检索阶段检索的知识,此外还包括知识选择模块预测的分数,输出为最终的故事。接下来的各子章节详细地介绍方法的细节,包括知识库的构建、模型的各个部分、以及训练和测试。
具体而言,本发明首先构建了知识库其包括两类知识库:/>和/>分别代表领域内和领域外的知识。/>构建于ROCStories数据集的训练集部分,可以被视为领域内知识。而/>构建于公开的故事数据集,被视为外部的常识知识。
构建好知识库之后,本发明的模型在生成故事的时,可以从其中挑选出合适的故事作为参考知识。
检索到相关的知识后,一个直接利用这些知识的方法是将它们和原始的提示拼接在一起,作为序列到序列模型的输入。但是,检索到的知识不都是相关的,它们对生成故事的重要程度也不尽相同。虽然序列到序列模型可以隐式地学习到知识不同部分的重要性,但是显式的模型设计以及额外的知识选择的信号能够对生成效果的提升起到很大作用。因此,本发明设计了一个知识选择的模块,它的作用是去预测每个关键词ki的重要性分数。
为了增强故事生成模型的利用知识的能力,本发明利用常识和词义知识对故事生成模块进行额外地训练,以达到让模型隐式地具备常识推理的能力。因此本发明构造了常识和词义知识的训练数据集,用于故事生成模型的预训练学习。
故事生成模块的部分如图1的最右部分所示。本发明使用了基于多头自注意机制的序列到序列BART模型作为基础框架。
本发明的优点如下:
1.满足用户对于多种长文本生成的需求。
2.高效利用外部知识辅助生成任务。
附图说明
图1为本发明架构图。
具体实施方式
下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明实例基于ROCStories和Children’s Book Test数据集。本领域技术人员应该清楚地明白,在具体实施过程中也可以采取其他候选信息集。
部分一:知识库的构建:
记和/>的合集为/> 中的每一条知识在处理前,实质上是一则短故事,将一个故事用若干个关键词进行描述,得到一条知识。对于/>其中的知识对应于ROCStories的训练集中的一个样本。对于/>为了构造出和ROCStories中故事相似的短故事,本发明首先从Children’s Book Test数据集中选择记叙类的文章,之后将文章分解为若干个块。具体来说,本发明将文章切分为每5句话的小块,以匹配ROCStories中5句话的故事。对于/>中的每一条知识,本发明将它的第一句话作为索引部分,后续的句子作为扩展部分。索引部分将在之后知识检索阶段用于和提示x计算相似度,而扩展部分将作为候选的知识。对于扩展部分,本发明进一步地提取出其中非停用词的动词和名词作为关键词。经过这些处理之后,/>中的每一条知识就包含了作为索引的句子,记为sindex,以及作为扩展的一系列关键词。应当要注意的是,每条知识所包含的关键词个数不一定是相同的。
部分二:知识检索模块:
给定一个输入的提示x,模型首先在中检索出具有相似上下文(即知识的索引部分,一般为故事的第一句话)的若干条知识作为候选知识。本发明使用了一个双编码器的结构,计算出x和索引部分的编码表示,将它们映射到同一个嵌入表示空间:
d(x)=BERT1(x)
d(z)=BERT2(z)
其中z代表一个知识条目中的索引部分sindex,d(·)代表·的嵌入表示,BERT1和BERT2是两个基于BERT的编码器。之后本发明计算x和z的相似度:
s(x,z)=<d(x),d(z)>
<a,b>代表向量a和b的内积。本发明选择相似度最高的N条知识,使用这N条知识的扩展部分,对它们进行合并与去重,得到一个关键词集合这将作为后续模型的外部知识。
部分三:知识选择模块:
知识选择模块的主体结构是一个基于BERT的编码器。模块以联合提示x’和外部知识为输入。联合提示x’的形式为:
x1…xn[KEYWORD]c1…cp
为了使模型区分出提示和知识,本发明在提示x’的末尾增加了[SEP]特殊符号,以分割提示x与外部知识此外,对它们使用不同的段编号和位置编号。对于提示x中的词,段编号为0;对于外部知识中的词,段编号为1。位置编号如模型图中的pi所示,满足pi=i。即提示中词的位置编号从0开始递增,而知识中词的位置编号固定为一个较大的数M。对知识中的词使用固定的位置编号的原因在于它们之间没有相对顺序关系。在经过BERT的计算之后,对每个关键词本发明都会得到一个嵌入表示(由于单个的关键词可能被分割为多个子词,在输入时,将子词的词嵌入表示进行平均池化作为该关键词的表示。在故事生成模块中,处理方式相同)。之后这些词的嵌入表示会经过一个两层的前向神经网络,对于第i个关键词,可以得到一个与y的相关系数ρi(值域在0到1之间),关键词的相关系数会作为知识选择的依据以及在后续故事生成模块中的自注意机制中发挥作用。
通过相关系数,本发明可以将知识选择模块和故事生成模块连接起来,在故事生成模块中,预测的故事和标准的故事计算损失函数,在计算反向梯度的时候,相关系数就会将梯度传导到知识选择模块,从而知识选择模块可以受到标准故事的监督信号,进而知识选择模块中的基于BERT的编码器参数可以得到更新。为了得到一个更好的知识选择模块,本发明提出使用更多的监督信号来训练知识选择模块。由于缺乏标准的知识,即不存在标准的知识标签,因此本发明为外部知识的每个关键词构建了伪标签。
为了构建伪标签,我们需要同义词(Synonym)、上位词(Hypernym)和下位词(Hyponym)的信息。我们使用Wordnet(https://wordnet.princeton.edu/)提供的接口(接口由NLTK工具包提供,详见http://www.nltk.org)以获取这些信息。一个词的下位词是比该词更具体的表述。比如enjoy和devour,前者是“享受,欣赏”的含义,而devour的一个含义为“狼吞虎咽地吃光,津津有味地看”,因此devour可看作为更加具象化的enjoy,所以可以作为enjoy的下位词。对应地,enjoy则为devour的上位词,是devour的更加抽象化的表达。一个词可以有多个下位词和多个上位词。通过词与词之间的上下位词关系,就可以得到一个上位词-下位词树。
给定一个提示x,标准的故事y=(y1,y2,...,yn),检索到的外部知识本发明根据每个关键词ki和后续故事文本y的相关程度,将它们进行归类,并赋予不同大小的相关值:
·强相关:关键词是某个yi或者是它的同义词。这类关键词的相关值为1;
·中等相关:关键词和某个yi有相近的含义。相近的定义为:如果两个词在上位词-下位词树中的距离小于等于2,则它们的含义相近。这类关键词的相关值为0.5;
·不相关:不属于上述两类的关键词,相关值为0。
得到伪标签之后,记第i个关键词ki的伪标签为qi,伪标签具体为强相关、中等相关或不相关;本发明可以计算ρi和qi之间的均方误差作为知识选择模块的损失函数。由于三类标签的关键词的比例不均衡,为了防止模型偏向于预测数目多的类别,本发明对不同类别的关键词设置不同的权重;知识选择模块的损失函数为:
u1、u2、u3分别为强相关、中等相关和不相关类别的权重系数,R1、R2、R3分别为外部知识中与后续文本y强相关、中等相关和不相关的关键词集合。通过在/>上进行训练,知识选择模块的参数能够直接在伪标签的监督信号下进行更新。
部分四:故事生成模块:
本发明使用了基于多头自注意机制的序列到序列BART模型作为基础框架。该模块的输入为联合提示x’和外部知识将他们统一表示为:
w1,w2,...,wt
其中t是联合提示x’和外部知识组成的序列中所有词的个数,前n+p个词为(x1,x2,...,xn,c1,…cp),为联合提示x’中的词,后面为{k1,k2,...,kl}的部分,为外部知识的部分。整个输入被一个基于多头自注意机制的双向编码器所编码。在解码阶段,当要预测出下一个词yi时,解码器会使用到之前解码出的词以及编码器的输出。与知识选择模块对位置编号的设置一样,在故事生成模块中,/>中词的位置编号均为M。
故事生成模块的结构和普通的BART一样,唯一的不同之处在于本发明往BART中引入了相关系数ρi。这些系数在编码器和解码器中都参与了计算。在传统的自注意机制中,给定一个询问向量v,注意力机制会计算v和每个wi的表示hi的内积,结果向量记为该向量会经过一个放缩的Softmax操作得到注意力权重。为了引入相关系数ρ,本发明构建了一个相关系数向量/>其内容为:
其中ρ1~ρl代表外部知识k1~kl的相关系数。之后本发明将加到/>上,得到一个调整后向量/>
这里的+代表向量的按元素相加,会在故事生成模块的编码器和解码器中所有自注意操作中代替/>
对于故事生成模块的损失函数,采取了负的对数似然函数:
其中,p(yi)代表在当前步输出的词表概率分布中词yi的概率。
部分五:融入常识与词义知识:
为了增强故事生成模型的利用知识的能力,利用常识知识和词义知识对故事生成模块进行额外地训练,以达到让模型隐式地具备常识推理的能力。因此构造了常识知识和词义知识的训练数据集,用于故事生成模型的预训练学习。
本发明使用了两类的知识对故事生成模型进行预训练。第一,本发明采用知识图谱ConceptNet内的三元组,使用模板将三元组变成文本。比如将(eiffel tower,AtLocation,paris)变为eiffel tower is at paris,将(telephone,UsedFor,communication)变为telephone is used for communication。这些知识作为常识知识。第二,本发明将Wordnet中的上位词、下位词和同义词转为文本句子,如devour是enjoy的下位词,则本发明构造出句子enjoy contains devour,对于follow和adopt,则构造出句子follow equals adopt。本发明针对ROCStories数据集中的所有关键词,根据Wordnet找到它们的上位词、下位词和同义词,按照上述方法构造出文本句子。这些知识作为词义知识。常识知识文本有1174267条,词义知识文本有315950条。为了构造出适合于BART的训练数据,本发明对知识文本中的若干词用[MASK]进行替代,得到掩码后的句子。将掩码后的句子作为输入,让故事生成模型去预测原始句子。在具体进行掩码时,随机对文本中的一个词进行掩码。特别地,对于常识文本,在掩码时不考虑停用词和标点。
部分六:实际应用阶段:
在实际应用中,我们只需要输入提示x,就能生成一个完整的故事。如果对故事内容有控制需求,额外输入一些概念词就可以得到符合要求的文本。
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (9)
1.一种多阶段文本生成方法,其步骤包括:
1)构建知识库其包括知识库/>和/>知识库/>包含领域内的知识,知识库包含领域外的知识;所述知识的形式是若干个关键词,从每一条知识选取一部分信息作为该知识的索引部分,剩余信息作为该知识的扩展部分;
2)构建多个样本用于训练故事生成模型,每一样本包括提示x、概念c和后续文本y,提示x与后续文本y构成一个标准故事,概念c来源于后续文本y中的词;提示x=(x1,x2,...,xn)、概念c=(c1,c2,..,cp)、后续文本y=(y1,y2,...,ym),cp为第p个概念,xn为提示x中的第n个分词,ym为后续文本y中的第m个分词;所述故事生成模型包括知识检索模块、知识选择模块和故事生成模块;
3)利用所述样本训练所述故事生成模型,所述知识检索模块根据输入样本中的提示x,在所述数据库中检索出与该提示x相似度最高的N条知识作为候选知识,将该N条候选知识的扩展部分进行合并与去重,得到一个关键词集合作为外部知识/>kl为外部知识/>中的第l个关键词;将样本中的提示x与概念c拼接得到联合提示x’,将联合提示x’和外部知识/>输入所述知识选择模块,生成输入信息中每个词与该样本中后续文本y的相关系数并输入给所述故事生成模块;所述故事生成模块根据各词的相关系数生成预测故事,并根据预测故事与对应的标准故事计算损失函数,根据损失函数值计算反向梯度优化所述知识选择模块的参数;
4)根据待生成的目标故事确定提示X并将其输入训练后的所述故事生成模型,得到目标故事文本。
2.根据权利要求1所述的方法,其特征在于,所述知识选择模块为所述外部知识中的每个关键词构建一伪标签,外部知识/>中的第i个关键词ki的伪标签为qi,所述知识选择模块的损失函数为/>u1、u2、u3分别为权重系数,R1、R2、R3分别为外部知识/>中与后续文本y强相关、中等相关和不相关的关键词集合;通过损失函数值/>优化更新所述知识选择模块的参数。
3.根据权利要求2所述的方法,其特征在于,为所述外部知识中的每个关键词构建伪标签的方法为:获取所述外部知识/>中的每个关键词的同义词、上位词和下位词,根据词与词之间的上下位词关系得到一个上位词-下位词树;然后根据所述外部知识/>中的每个关键词ki和后续文本y的相关程度确定关键词ki的伪标签;如果关键词ki为后续文本y中的一个词或其同义词,则关键词ki的伪标签为强相关;如果关键词ki为后续文本y中的一个词的近义词,且关键词ki与该近义词在上位词-下位词树中的距离小于或等于2,则关键词ki的伪标签为中等相关,否则该关键词ki的伪标签为不相关。
4.根据权利要求1或2或3所述的方法,其特征在于,所述知识选择模块包括一个基于BERT的编码器、一个两层的前向神经网络;所述基于BERT的编码器对输入信息进行编码,得到输入信息中每个词的嵌入表示并发送给所述前向神经网络,生成输入信息中每个词与该样本中后续文本y的相关系数。
5.根据权利要求1所述的方法,其特征在于,所述知识检索模块采用双编码器分别计算出提示x的编码表示和知识的索引部分z的编码表示,并将其映射到同一个嵌入表示空间,得到提示x的向量d(x)、知识的索引部分的向量d(z);然后计算向量d(x)与向量d(z)的内积,得到提示x与索引部分z对应的知识的相似度。
6.根据权利要求1所述的方法,其特征在于,所述故事生成模块包括基于多头自注意机制的编码器和基于多头自注意机制的解码器;所述故事生成模块将输入的联合提示x’和外部知识组成序列:w1,w2,...,wt;wt为序列第t个词,t=n+p+l,序列中的前n+p个词为(x1,x2,...,xn,c1,…cp),后面为外部知识/>构建一个相关系数向量ρ1~ρl代表外部知识k1~kl的相关系数;所述故事生成模块采用编码器对输入信息进行编码,在解码阶段,采用解码器根据之前解码出的词以及编码器的输出,预测出下一个词yi;其中,编码、解码过程中将所述相关系数向量/>加到多头自注意机制的结果向量/>上,即利用调整后向量/>替换结果向量/>+代表向量的按元素相加;所述故事生成模块的损失函数为负的对数似然函数。
7.根据权利要求1或2或3所述的方法,其特征在于,所述联合提示x’中设有分割符号[SEP],用于分割提示x与外部知识并为提示x中的词、外部知识/>中的词分别设置段编号和位置编号。
8.根据权利要求7所述的方法,其特征在于,对于提示x中的词,段编号均为0,词的位置编号从0开始递增;对于外部知识中的词,段编号均为1,词的位置编号固定为同一个数M。
9.根据权利要求1所述的方法,其特征在于,将一个故事用若干个关键词进行描述,得到一所述知识;将每一所述知识的第一句作为索引部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310425111.6A CN116522894A (zh) | 2023-04-20 | 2023-04-20 | 一种多阶段文本生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310425111.6A CN116522894A (zh) | 2023-04-20 | 2023-04-20 | 一种多阶段文本生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116522894A true CN116522894A (zh) | 2023-08-01 |
Family
ID=87402310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310425111.6A Pending CN116522894A (zh) | 2023-04-20 | 2023-04-20 | 一种多阶段文本生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116522894A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117610513A (zh) * | 2024-01-22 | 2024-02-27 | 南开大学 | 一种基于知识保护及选择的主题文本生成方法 |
CN117787224A (zh) * | 2023-12-27 | 2024-03-29 | 江南大学 | 一种基于多源异构特征融合的可控故事生成方法 |
-
2023
- 2023-04-20 CN CN202310425111.6A patent/CN116522894A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117787224A (zh) * | 2023-12-27 | 2024-03-29 | 江南大学 | 一种基于多源异构特征融合的可控故事生成方法 |
CN117610513A (zh) * | 2024-01-22 | 2024-02-27 | 南开大学 | 一种基于知识保护及选择的主题文本生成方法 |
CN117610513B (zh) * | 2024-01-22 | 2024-04-02 | 南开大学 | 一种基于知识保护及选择的主题文本生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840287B (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN110929030B (zh) | 一种文本摘要和情感分类联合训练方法 | |
US20240161732A1 (en) | Multi-dialect and multilingual speech recognition | |
US9830315B1 (en) | Sequence-based structured prediction for semantic parsing | |
CN106202010B (zh) | 基于深度神经网络构建法律文本语法树的方法和装置 | |
CN114020862B (zh) | 一种面向煤矿安全规程的检索式智能问答系统及方法 | |
CN109661664B (zh) | 一种信息处理的方法及相关装置 | |
CN116522894A (zh) | 一种多阶段文本生成方法 | |
CN109977220B (zh) | 一种基于关键句和关键字的反向生成摘要的方法 | |
CN112183094A (zh) | 一种基于多元文本特征的中文语法查错方法及系统 | |
CN111767718A (zh) | 一种基于弱化语法错误特征表示的中文语法错误更正方法 | |
CN110688450A (zh) | 一种基于蒙特卡洛树搜索的关键词生成方法、基于强化学习的关键词生成模型及电子设备 | |
KR20210044559A (ko) | 출력 토큰 결정 방법 및 장치 | |
CN113761890A (zh) | 一种基于bert上下文感知的多层级语义信息检索方法 | |
CN116662502A (zh) | 基于检索增强的金融问答文本生成方法、设备及存储介质 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
CN114817494A (zh) | 基于预训练和注意力交互网络的知识型检索式对话方法 | |
CN116450787A (zh) | 一种基于多模态知识增强的生成式对话方法和系统 | |
CN117648469A (zh) | 一种基于对比学习的交叉双塔结构答案选择方法 | |
CN114972907A (zh) | 基于强化学习和对比学习的图像语义理解及文本生成 | |
CN113793599B (zh) | 语音识别模型的训练方法和语音识别方法及装置 | |
CN115033733A (zh) | 音频文本对生成方法、电子设备和存储介质 | |
US11966700B2 (en) | Neural tagger with deep multi-level model | |
CN114218921A (zh) | 一种优化bert的问题语义匹配方法 | |
CN112528003B (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 |