CN114996424B - 一种基于深度学习的弱监督跨域问答对生成方法 - Google Patents
一种基于深度学习的弱监督跨域问答对生成方法 Download PDFInfo
- Publication number
- CN114996424B CN114996424B CN202210616432.XA CN202210616432A CN114996424B CN 114996424 B CN114996424 B CN 114996424B CN 202210616432 A CN202210616432 A CN 202210616432A CN 114996424 B CN114996424 B CN 114996424B
- Authority
- CN
- China
- Prior art keywords
- question
- answer
- model
- text
- 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.)
- Active
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/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
Abstract
本发明涉及自然语言处理技术中的文本生成领域,公开了一种基于深度学习的弱监督跨域问答对生成方法,该方法能够针对输入的文本,生成相关的“问题‑答案”对,通过使用答案片段抽取模块取代原有的答案生成模型或实体抽取模型,能够从文本中提取出更优质的答案;通过优化问题生成模块的结构和引入改进后的虚拟对抗训练策略,缓解原有模型生成的问题句与文本和答案片段的相关性低、在语法和逻辑上的准确性差,等各个方面的问题;通过引入改进后的伪标签训练方法,以弱监督的方式,同时利用到了有标注的和无标注的、不同数据域的数据信息进行模型训练,降低了模型在域迁移过程中的性能损失,提升了模型在目标域上的生成质量。
Description
技术领域
本发明涉及自然语言处理技术中的文本生成领域,公开了一种基于深度学习的弱监督跨域问答对生成方法。
背景技术
问答对生成任务指的是:给定一段文本,首先(用模型)为这段文本生成一(或多)个答案,然后(用模型)为每个答案生成相对应的问题。对于模型生成的答案,要求是不能超出给定文本的内容范围之外。对于模型生成的问题,要求该问题是可以用给定文本所提供的信息来回答的,并且与生成该问题时所给定的答案是对应的。
问答对生成方法有两个主要的应用场景:
首先,该方法能为下游的问答任务提供数据增强,问答任务需要模型针对给定的文本和问题,从文本中提取信息生成答案,训练问答模型的过程中需要用到大量的人工标注的问答对,但是人工标注通常是昂贵且费时费力的,此时可以使用问答对生成模型来对已有的数据进行增强,进而下游的问答模型的效果,整个过程相比人工标注更加高效;
其次是在教育和培训领域,给定一批原始的文档资料,该方法能基于此生成一系列相关的问答对,这些问答对可以被引入到教学过程的各个方面,作为一种有效的辅助手段
与传统的问答对生成任务不同的是,在跨域或弱监督条件场景下,模型在开源数据集(源数据域,例如,基于新闻语料构建数据集)上进行训练,为另一数据域下的文本(目标数据域。例如,政策文件数据)生成相应的问答对,这一特殊的应用场景带来了下述两个问题:
跨域:不同数据域(例如,新闻文本和政策文件)的数据分布具有显著差异,如果将文本序列生成任务按照下述公式进行建模(其中,xt表示生成序列中的第t个字符,LM表示待训练的语言模型):P(xt|x1,x2,…,xt-1)=LM(x1,x2,…,xt-1),则源域与目标域中,转移概率P的统计分布具有显著差异,这对模型的泛化能力提出了更高的要求。
弱监督条件:训练模型所用的源数据域上既有文本,也有对应的问答对;但模型将被应用到的目标数据域只有原始的政策文本,没有与之对应的问答对,这使得难以针对目标数据域的数据分布特点调整模型的内部参数,继而优化模型在目标数据域上的性能表现。
同时,基于标注数据的定量评估指标也无法被用于评估模型在目标数据域上的表现。
早期的技术方案主要采用基于词编码、循环神经网络和指针网络的模型结构,这种模型结构由于词编码和循环神经网络的固有缺陷(难以捕捉全局、长距离、多层次的语义信息)而被后续提出的基于预训练模型(如BERT等)的结构所取代,由于BERT等预训练模型并不能直接用于文本生成任务,所以在使用它们得到输入文本的向量表示后,还需要通过解码层,以及后续的解码算法,才能得到最终的输出数据,其后又涌现出可以直接用于生成的预训练模型,不过在效果上并不一定优于“BERT+解码”的模式。
前文所述的场景(即,跨域和弱监督条件)在问答对生成方法的实际应用中有较强的普遍性,因为实际业务所面向的某个特定领域上往往不存在有标注的开源数据集。但是,现有的技术方案只关注于在同一个有监督的数据域上进行模型的训练、应用和测试评估,如果存在跨域的需求,则是直接把在源数据域上训练完毕的模型拿到目标数据域上使用,没有考虑针对跨域及弱监督条件进行优化;此外,现有的技术方案下生成的问答对在“生成问题与给定文本的相关性、生成问题在语法和逻辑上的准确性,以及生成答案相对给定文本的重要程度”等各个方面的生成质量上都存在一定的局限性。
发明内容
本发明的目的在于提供一种基于深度学习的弱监督跨域问答对生成方法,在一定程度上缓解了传统问答对生成方法所固有的生成数据的质量低的问题。
为了实现上述技术效果,本发明采用的技术方案是:
一种基于深度学习的弱监督跨域问答对生成方法,包括如下步骤:
S1、在有标注的源数据域上,训练答案片段抽取模块;答案片段抽取模块的功能为:输入给定文本,输出抽取自给定文本的片段作为答案;
S2、在有标注的源数据域上,训练问题生成模块,问题生成模块的功能为:输入给定文本,以及抽取自给定文本的“答案”,生成相对应的“问题”句;
S3、在无标注的目标数据域上,使用训练好的答案片段抽取模块为待预测文本抽取答案片段;
S4、在无标注的目标数据域上,使用训练好的问题生成模块,基于待预测文本和步骤S3中抽取得到的答案片段,迭代生成相应的问题句。
进一步地,步骤S1中答案片段抽取模块的具体训练流程为:将源数据域中的给定文本输入到答案片段抽取模块中,输入的文本先经过编码变成向量表示,再经过计算,最后输出给定文本中的每一个字符成为答案片段的起始字符和终止字符的概率;因为源数据域是有标注的,所以这两组概率的实际值是已知的,是两个独热向量。
进一步地,步骤S3中答案片段抽取模块的具体使用流程为:将待预测文本输入答案片段抽取模块中,文本先经过编码变成向量表示,再经过计算,最后输出待预测文本中的每一个字符成为答案片段的起始字符的概率,选出概率最高的K个起始字符,接着针对选出来的每个起始字符,根据模型输出的后续文本序列中的每个字符成为答案片段的终止字符的概率,选出每个起始字符对应的最概然的终止字符,即可得到K个最概然的答案片段。
进一步地,步骤S2中的问题生成模块的具体训练流程为:将源数据域的给定文本,以及人工标注的“答案”和“问题”拼接起来输入问题生成模块中,模型将以迭代的方式,每次输出一个尺寸为“1×词表大小”的概率向量,该概率向量指出了词表中每个词成为输出的问题序列的第i个字符的概率,同时,因为源数据域是有标注的,所以每一步的概率的实际值是已知的,是一个独热向量。
进一步地,步骤S4中问题生成模块的具体使用流程为:在目标数据域上,使用训练好的问题生成模块,为待预测文本和答案片段抽取得到的答案,迭代生成相应的问题句;在迭代的第i步,模型的输入包括待预测文本、答案片段,以及前面第1~i-1步已经生成的问题序列,模型的输出是第i步对应的概率向量;这个概率向量表示,在待预测文本、答案,以及待生成的问题的前i-1个字符都已知的情况下,词表中的各个字符成为待生成的问题的第i个字符的概率分布;使用解码算法,根据每一步的概率分布,从词表中解码出实际输出的问题。
进一步地,解码算法可以是确定性的集束搜索算法、贪心检索算法,或随机性的核采样算法、TopP采样算法中的任意一种。
进一步地,步骤S2中训练问题生成模块时,引入改进后的虚拟对抗学习算法,以提升模型的指标性能和鲁棒性,具体流程为:
a1.每投入一份训练数据,根据其中的输入样本x(i),可以编码得到输入样本的向量表示H(i);上标(i)表示这是投入的第i份数据对应的输入样本和向量表示;
a2.根据H(i),模型首先通过前向传播计算训练损失L1(θ,x(i),y(i)),其中,下标1表示这是第1轮迭代求得的训练损失;接着通过反向传播,得到训练损失对于H(i)的梯度,记为其中,下标1表示这是第1轮迭代求得的梯度;θ表示模型参数;x(i)和y(i)分别表示投入的第i份训练数据中的输入和输出样本;
a4.根据梯度g1,计算得到“字符级别”的扰动向量η1,其中下标1表示这是第1轮迭代求得的扰动;字符级别的扰动向量η与序列级别的扰动向量μ的区别在于,η会乘以一个字符级别的放缩因子,以体现不同字符在上下文中的重要性区别;第t次迭代的放缩因子记为nt,其中,n1是一个全1向量,记为n1=1;
其中,α、β和∈是预先设定好的超参数,Lt(θ,x(i),y(i))为第t轮迭代求得的训练损失,gt为第t轮迭代求得的梯度,μt为第t轮迭代求得的扰动,ηt为第t轮迭代求得的“序列级别”的扰动,为第t轮迭代的“字符级别”的输入,with∈ball的含义是,如果某次迭代计算得到的μ或η的模长超过了∈,则将其模长重新设置为∈,方向不变,相当于最终求得的扰动向量μ或η被“约束”在了半径为∈的高维的球体内;
a7.假设预定义的迭代求解次数为J,则取最后一次迭代计算得到的为第i份数据对应的对抗样本;在训练问题生成模块的过程中,除原有的步骤外,将对抗样本输入模块,要求模型的输出依旧向标注的输出序列优化,以提高模型的鲁棒性。
进一步地,步骤S2中训练问题生成模块时,还采用伪标签训练方法对“问题生成模块”的在跨域场景下的性能表现进行优化,以及采用多任务训练的方式,引入辅助训练的鉴别器模块,优化伪标签训练的过程,具体流程为:
c1.使用按上文所述方式训练好的问题生成模块,在目标数据域上生成问题句,同时对于生成的每个问题句,计算其生成过程中,模型给出的每一步的转移概率的对数和,得到的值即为给定输入的情况下模型生成该问题的可能性度量,也就是该问题的置信度,使用公式表示如下:
Y={y1,y2,...,yN}
其中,Y表示模型输出的问题句,C(Y)表示Y的置信度,yN表示Y中的某个字符,转移概率P(yt|x,y<t)的含义是,已知全部输入序列和前t-1个输出序列,模型生成字符yt的概率,N表示问题句Y所包含的字符数;
c2.选出模型生成的问题句中,置信度最大的M个问题句,这些生成的问题句,和生成它们时所用的输入数据,构成包含噪声的监督信号,因此也被称为伪标签训练数据;使用这些伪标签训练数据,训练步骤S3中训练好的问题生成模块一个轮次,使之能够更好地拟合目标域的数据分布;
c3.步骤c1-c2的问题生成模块可以视为由两个部分组成:特征编码网络、输出网络;输入数据被输入到问题生成模块后,首先通过特征编码网络,将其编码成包含其语义信息的向量表示,这一向量表示会被传递给输出网络,输出网络据此生成输出序列;在特征编码网络后面连接一个辅助训练的鉴别器模块,接着在源数据域和目标数据域上训练这个由特征编码网络和鉴别器构成的网络:训练该网络所需的监督信号包括:
1)输入数据:源数据域和目标数据域上的输入数据,即文本和答案;
2)输出数据:一个分类结果,即判断输入数据是来自于源数据域还是目标数据;
c4.迭代执行上述的c1~c3步,每次迭代后,使用人工评测或自动化的无监督评测指标,评估模型在目标数据域上的性能表现,如果某次迭代后模型效果不再提升,则取该次迭代得到的问题生成模型作为最终的结果。
与现有技术相比,本发明所具备的有益效果是:
1、本发明通过使用答案片段抽取模块取代原有的答案生成模型或实体抽取模型,能够从待预测文本中提取出更优质、相对于文本重要性更高的答案,同时方法的稳定性也有所提升;
2、通过优化问题生成模块的结构和引入改进后的虚拟对抗训练策略,缓解原有模型生成的问题句与待预测文本和答案片段的相关性低、在语法和逻辑上的准确性差,等各个方面的问题;
3、通过引入改进后的伪标签训练方法,以弱监督的方式,同时利用了有标注(源数据域)的和无标注(目标数据域)的、不同数据域的数据信息进行模型训练,降低了模型在域迁移过程中的性能损失,提升了模型在目标域上的生成质量。
附图说明
图1为实施例中答案片段抽取模块工作流程图;
图2为实施例中问题生成模块工作流程图;
图3为实施例中采用伪标签训练方法对生成的问题进行优化的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
实施例
参见图1、图2和图3,一种基于深度学习的弱监督跨域问答对生成方法,包括如下步骤:
S1、在有标注的源数据域上,训练答案片段抽取模块;答案片段抽取模块的功能为:输入给定文本,输出抽取自给定文本的片段作为答案;
本实施例中,源数据域是有标注的,每个给定文本对应有人工标注的“答案”和“问题”,训练答案片段抽取模块时,使用的监督信号是:给定文本作为输入,相对应的“答案”作为输出;答案片段抽取模块的具体训练流程为:将源数据域中的给定文本输入到答案片段抽取模块中,输入的文本先经过编码变成向量表示,再经过计算,最后输出给定文本中的每一个字符成为答案片段的起始字符和终止字符的概率;因为源数据域是有标注的,所以这两组概率的实际值是已知的,是两个独热向量。训练阶段的优化目标是使得模型输出的概率向量尽可能地接近实际的独热(one-hot)向量。
本实施例中的答案片段抽取模块的功能是,输入“给定文本”,输出适合作为答案的“文本片段”。答案片段抽取模块的结构如图1所示,本实施例中输入的文本和答案数据首先通过BERT进行编码,得到它们的向量表示,接着通过多层感知网络构成的分类层,得到给定文本中的每一个字符成为答案片段的起始字符和终止字符的概率(分别记为Ps,i和Pe,i,表示给定文本中的第i个字符Ti成为答案片段的起始和终止字符的概率,其中i=1,2,…,N,N为文本长度)。要完成答案片段的抽取,只需确定答案片段的第一个(起始)和最后一个(终止)字符的位置,这组位置信息可以被表示为两个独热(one-hot)向量,并且在训练阶段是已知的。因此,答案片段抽取模块训练目标是令模型预测的概率向量Ps和Pe(Ps=Ps,1,Ps,2,...Ps,N,Pe=Pe,1,Pe,2,...Pe,N)尽可能地接近作为真实值的两个独热向量。
S2、在有标注的源数据域上,训练问题生成模块,问题生成模块的功能为:输入给定文本,以及抽取自给定文本的“答案”,生成相对应的“问题”句;
本实施例中问题生成模块的具体训练流程为:将源数据域的给定文本,以及人工标注的“答案”和“问题”拼接起来输入问题生成模块中,模型将以迭代的方式,每次输出一个尺寸为“1×词表大小”的概率向量,该概率向量指出了词表中每个词成为输出的问题序列的第i个字符的概率,同时,因为源数据域是有标注的,所以每一步的概率的实际值是已知的,是一个独热向量。训练阶段的优化目标是使得模型在每一步输出的概率向量尽可能接近实际的独热向量。其中,人工标注的“问题”虽然被输入到模型中,但在迭代的第i步,只有前面的i-1个字符对于模型是可见的。
S3、在无标注的目标数据域上,使用训练好的答案片段抽取模块为待预测文本抽取答案片段;
本实施例中,目标数据域是无标注的,只有待预测文本,没有相对应的、人工标注的“答案”和“问题”;因此答案片段抽取模块的具体使用流程为:将待预测文本输入答案片段抽取模块中,文本先经过编码变成向量表示,在经过后续网络的计算中,分类层首先根据待预测文本的向量表示预测Ps,i,由此选出概率最高的K个起始字符,接着针对每个起始字符,预测从该字符开始到文本结尾的序列中,每个字符的Pe,i,选出其中概率最高的字符作为答案判断的终止字符;由此,K个起始字符以及一一对应的K个终止字符一起,确定了K个最概然的答案片段,作为答案片段抽取模块的输出结果。
S4、在无标注的目标数据域上,使用训练好的问题生成模块,基于待预测文本和步骤S3中抽取得到的答案片段,迭代生成相应的问题句。
本实施例中问题生成模块的具体使用流程为:在目标数据域上,使用训练好的问题生成模块,为待预测文本和答案片段抽取得到的答案,迭代生成相应的问题句;在迭代的第i步,模型的输入包括待预测文本、答案片段,以及前面第1~i-1步已经生成的问题序列,模型的输出是第i步对应的概率向量;这个概率向量表示,在待预测文本、答案,以及待生成的问题的前i-1个字符都已知的情况下,词表中的各个字符成为待生成的问题的第i个字符的概率分布;使用解码算法,根据每一步的概率分布,从词表中解码出实际输出的问题。
如图2所示,待预测文本、答案以及前面第1~i-1步已经生成的问题序列,被输入到BERT中进行编码,其中某个字符相对于BERT是否“可见”是由注意力遮罩层定义的。编码后得到的向量表示通过由全连接层堆叠成的多层感知网络后,经过解码算法,生成输出的问题序列的第i个字符。本实施例中模型的注意力遮罩层仿照了UniLM模型的结构设计:在源数据域上的训练阶段,待生成的问题句是已知的,模型的目标是使得其输出尽可能更好地拟合这个给定的标准句,因此,在生成输出序列的第T步,模型可以看到全部的输入序列(文本和答案),以及标准句的前T-1个字符;在目标数据域上的预测阶段,待生成的问题句是未知的,因此,在生成输出序列的第T步,模型可以看到全部的输入序列(文本和答案),以及前面前面第1~T-1步已经生成的输出序列(问题)。结合步骤S3和S4,可以为无标注的待预测文本生成了相应的“问题-答案”对。
本实施例中的解码算法可以是确定性的集束搜索算法、贪心检索算法,或随机性的核采样算法、TopP采样算法中的任意一种。本实施例中优先使用集束搜索算法。
在本实施例中,通过使用答案片段抽取模块取代原有的答案生成模型或实体抽取模型,能够从待预测文本中提取出更优质、相对于待预测文本重要性更高的答案,同时方法的稳定性也有所提升;通过优化问题生成模块的结构和引入改进后的虚拟对抗训练策略,缓解原有模型生成的问题句与待预测文本和答案片段的相关性低、在语法和逻辑上的准确性差,等各个方面的问题。
相比于生成式方法,从文本中抽取得到的答案,具有更高的确定性与可控性;此外也规避了当答案不包含在待预测文本中时生成式方法的效果差的问题。
此外,本专利的答案抽取模块可以得到“长答案”,而抽取实体作为答案的方法则不能。实际场景下,长答案的情况是较为常见的,例如,某件事的原因(对应的问题为why)、达到某个目标的方法(对应的问题为how)等。
在训练问题生成模块时,为缓解传统问题生成模型的生成质量问题,本实施例引入了改进后的“虚拟对抗学习策略(Virtual Adversarial Training)”对“问题生成模块”进行优化。该策略在本任务中起到了数据增强的作用,但是相较于通过同义词替换等传统方法实现的数据增强,虚拟对抗学习能够构造难度更高、更有价值的对抗样本。进而使得模型在预测阶段,遭遇训练数据集中未见或少见的字符时,仍能预测出高质量的问题句,提升模型的指标性能和鲁棒性,具体包括:
a1.每投入一份训练数据,根据其中的输入样本x(i),可以编码得到输入样本的向量表示H(i);因为x(i)是一些离散、不可微的序列,无法直接参与模型的计算,所以后续操作的都将针对H(i)进行。上标(i)表示这是投入的第i份数据对应的输入样本和向量表示;
a2.根据H(i),模型首先通过前向传播计算训练损失L1(θ,x(i),y(i)),其中,下标1表示这是第1轮迭代求得的训练损失(同理,Lt(θ,x,y)为第t轮迭代求得的训练损失);接着通过反向传播,得到训练损失对于H(i)的梯度,记为g1,其中,下标1表示这是第1轮迭代求得的梯度(同理,gt为第t轮迭代求得的梯度);θ表示模型参数;x(i)和y(i)分别表示投入的第i份训练数据中的输入和输出样本;
a4.根据梯度g1,计算得到“字符级别”的扰动向量η1,其中下标1表示这是第1轮迭代求得的扰动(同理,ηt为第t轮迭代求得的扰动);字符级别的扰动向量η与序列级别的扰动向量μ的区别在于,η会乘以一个字符级别的放缩因子,以体现不同字符在上下文中的重要性区别;第t次迭代的放缩因子记为nt,其中,n1是一个全1向量,记为n1=1;
其中,Lt(θ,x(i),y(i))为第t轮迭代求得的训练损失,gt为第t轮迭代求得的梯度,μt为第t轮迭代求得的扰动,ηt为第t轮迭代求得的“序列级别”的扰动,为第t轮迭代的“字符级别”的输入,α、β和∈是预先设定好的超参数;在迭代求解扰动μ的过程中,每次迭代,都在之前的结果上加一个模长为α,方向为梯度方向的向量,而with∈ball的含义是,如果某次迭代计算得到的μ的模长超过了∈,则将其模长重新设置为∈,相当于最终求得的扰动向量μ被“约束”在了半径为∈的高维的球体内,即满足条件||μ(i)||<∈,而∈的取值又满足条件∈<<||H(i)||,由不等式的传导性,μ(i)||<<||H(i)||,因此又称通过这种方式构造的扰动向量是“微小”的扰动。
α、β和∈在实际实验中的取值视具体场景而定(需要尝试不同的取值,然后选择效果最优的那一组)。通常的调试方法是,首先粗调∈(例如,令其取值为1,0.1,0.01...),找出令训练效果最优的范围,接着在这个范围内精调∈。α和β的调试方法亦同(通常令α比∈小一个量级)。
a7.假设预定义的迭代求解次数为J,则取最后一次迭代计算得到的为第i份数据对应的对抗样本。在训练问题生成模块的过程中,除原有的步骤外,将对抗样本输入模块,要求模型的输出依旧向标注的输出序列优化,以提高模型的鲁棒性。
本实施例中为应对目标数据域与源数据域数据分布不一致的问题,优化问题生成模型在跨域场景下的性能表现,引入了改进后的“伪标签训练策略(Pseudo Labell-ing)”,使得在源数据下训练得到的模型,能够较好地拟合目标数据域下的数据分布,缓解因跨域而导致模型性能损失,具体流程为:
c1.使用步骤S3中训练好的问题生成模块,在目标数据域上生成问题句,同时对于生成的每个问题句,计算其生成过程中,模型给出的每一步的转移概率的对数和,得到的值即为给定输入的情况下模型生成该问题的可能性度量,也就是该问题的置信度,使用公式表示如下:
Y={y1,y2,...,yN}
其中,Y表示模型输出的问题句,C(Y)表示Y的置信度,yN表示Y中的某个字符,转移概率P(yt|x,y<t)的含义是,已知全部输入序列和前t-1个输出序列,模型生成字符yt的概率,N表示问题句Y所包含的字符数;
c2.选出模型生成的问题句中,置信度最大的M个问题句,这些生成的问题句,和生成它们时所用的输入数据(文本和答案),构成包含噪声的监督信号,因此也被称为伪标签训练数据。使用这些伪标签训练数据,训练(在当前场景下,也被称为“微调”)步骤S3中训练好的问题生成模块一个轮次(Epoch),使之能够更好地拟合目标域的数据分布。
c3.前述的问题生成模块可以视为由两个部分组成:特征编码网络、输出网络。输入数据被输入到问题生成模块后,首先通过特征编码网络,将其编码成包含其语义信息的向量表示,这一向量表示会被传递给输出网络,输出网络据此生成输出序列;在特征编码网络后面连接一个辅助训练的鉴别器模块,接着在源数据域和目标数据域上训练这个由特征编码网络和鉴别器构成的网络:训练该网络所需的监督信号包括(1)输入数据:源数据域和目标数据域上的输入数据(文本和答案)(2)输出数据:一个分类结果,即判断输入数据是来自于源数据域还是目标数据。具体来说,输入该网络的,来自源数据域或目标数据域上输入数据,首先通过特征编码网络,将其编码成包含其语义信息的向量表示,接着这一向量表示会被传递给鉴别器模块,鉴别器模块据此输出相应的分类结果。需要注意的是,这里引入鉴别器模块的目标,并不是为了得到其输出的分类结果,而是希望通过训练由特征编码网络和鉴别器模块所构成的网络,间接地对特征编码网络进行训练和调整优化。由于特征编码网络的输出是输入数据的向量表示,这个向量表示的准确值是未知的,所以无法构造监督信号来直接训练、优化特征编码网络。但是,由“输入数据”和“它所来自哪个数据域”构成的监督信号是易得的,因此通过上述的方式,我们间接地实现了对特征编码网络的训练和优化,因为由特征编码网络和鉴别器构成的网络训练得越好,则说明组成网络的两个部分的效果都得到了优化,具体对于特征编码网络来说,则说明它能使得来自不同数据域的输入数据在其编码得到的向量表示空间上更加稀疏,这将有益于后续的输出网络得到更准确的输出序列。
c4.迭代执行上述的c1~c3步,每次迭代后,使用人工评测或自动化的无监督评测指标,评估模型在目标数据域上的性能表现(这里的模型指的是特征编码网络和输出网络组成的模型,不包括c3中提到鉴别器模块,鉴别器模块只是训练过程中的一个辅助模块,训练结束后就不再使用了),如果某次迭代后模型效果不再提升,则取该次迭代得到的问题生成模型作为最终的结果。
相较于传统的伪标签训练算法,本实施例使用的领域迁移策略,能够把源数据域和目标数据域的数据分布(在特征模块定义的特征空间上)拉开,进而有效地优化答案片段抽取模块得到的文本表示。同时,步骤c1、c2定义的伪标签训练过程,和c3定义的基于鉴别器的辅助训练过程,存在一定的对抗作用,能够有效防止伪标签训练过程中的过拟合问题。
相比于抽取实体作为答案的方法,在源数据域上,根据人工标注的答案片段训练得到的答案片段抽取模块,还“考虑”了抽取出来的答案对于待预测文本的重要性。具体来说,给定文本中包含多个实体片段,每个实体片段的信息量和重要性是不同的,有的实体片段并不适合作为答案,如果“抽取实体作为答案”,将引入噪声,并且这个噪声会传递给后续的问题生成阶段:针对一个低信息量的、甚至是不适合作为答案的片段,问题生成模型生成的问题句势必也是低质量的;相比之下,人工标注答案片段时,通常会有意识地挑选出适合的、信息量/重要性高的片段,因此根据人工标注的答案片段训练得到的答案片段抽取模块能(在一定程度上)抽取出更适合作为答案的片段。
通过引入改进后的伪标签训练方法,以弱监督的方式,同时利用了有标注(源数据域)的和无标注(目标数据域)的、不同数据域的数据信息进行模型训练,降低了模型在域迁移过程中的性能损失,提升了模型在目标域上的生成质量。
需要说明的是,本实施例采用BERT将输入的文字序列编码为包含其语义信息的向量表示,其他具有类似功能的预训练编码模型都可以适用于本发明。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于深度学习的弱监督跨域问答对生成方法,其特征在于,包括如下步骤:
S1、在有标注的源数据域上,训练答案片段抽取模块;答案片段抽取模块的功能为:输入给定文本,输出抽取自给定文本的片段作为答案;
S2、在有标注的源数据域上,训练问题生成模块,问题生成模块的功能为:输入给定文本,以及抽取自给定文本的“答案”,生成相对应的“问题”句;
S3、在无标注的目标数据域上,使用训练好的答案片段抽取模块为待预测文本抽取答案片段;
S4、在无标注的目标数据域上,使用训练好的问题生成模块,基于待预测文本和步骤S3中抽取得到的答案片段,迭代生成相应的问题句。
2.根据权利要求1所述的一种基于深度学习的弱监督跨域问答对生成方法,其特征在于,步骤S1中答案片段抽取模块的具体训练流程为:将源数据域中的给定文本输入到答案片段抽取模块中,输入的文本先经过编码变成向量表示,再经过计算,最后输出给定文本中的每一个字符成为答案片段的起始字符和终止字符的概率;因为源数据域是有标注的,所以这两组概率的实际值是已知的,是两个独热向量。
3.根据权利要求2所述的一种基于深度学习的弱监督跨域问答对生成方法,其特征在于,步骤S3中答案片段抽取模块的具体使用流程为:将待预测文本输入答案片段抽取模块中,文本先经过编码变成向量表示,再经过计算,最后输出待预测文本中的每一个字符成为答案片段的起始字符的概率,选出概率最高的K个起始字符,接着针对选出来的每个起始字符,根据模型输出的后续文本序列中的每个字符成为答案片段的终止字符的概率,选出每个起始字符对应的最概然的终止字符,即可得到K个最概然的答案片段。
4.根据权利要求1所述的一种基于深度学习的弱监督跨域问答对生成方法,其特征在于,步骤S2中的问题生成模块的具体训练流程为:将源数据域的给定文本,以及人工标注的“答案”和“问题”拼接起来输入问题生成模块中,模型将以迭代的方式,每次输出一个尺寸为“1×词表大小”的概率向量,该概率向量指出了词表中每个词成为输出的问题序列的第i个字符的概率,同时,因为源数据域是有标注的,所以每一步的概率的实际值是已知的,是一个独热向量。
5.根据权利要求1所述的一种基于深度学习的弱监督跨域问答对生成方法,其特征在于,步骤S4中问题生成模块的具体使用流程为:在目标数据域上,使用训练好的问题生成模块,为待预测文本和答案片段抽取得到的答案,迭代生成相应的问题句;在迭代的第i步,模型的输入包括待预测文本、答案片段,以及前面第1~i-1步已经生成的问题序列,模型的输出是第i步对应的概率向量;这个概率向量表示,在待预测文本、答案,以及待生成的问题的前i-1个字符都已知的情况下,词表中的各个字符成为待生成的问题的第i个字符的概率分布;使用解码算法,根据每一步的概率分布,从词表中解码出实际输出的问题。
6.根据权利要求5所述的一种基于深度学习的弱监督跨域问答对生成方法,其特征在于,解码算法可以是确定性的集束搜索算法、贪心检索算法,或随机性的核采样算法、TopP采样算法中的任意一种。
7.根据权利要求4所述的一种基于深度学习的弱监督跨域问答对生成方法,其特征在于,步骤S2中训练问题生成模块时,引入改进后的虚拟对抗学习算法,以提升模型的指标性能和鲁棒性,具体流程为:
a1.每投入一份训练数据,根据其中的输入样本x(r),可以编码得到输入样本的向量表示H(i);上标(i)表示这是投入的第i份数据对应的输入样本和向量表示;
a2.根据H(i),模型首先通过前向传播计算训练损失L1(θ,x(i),y(i)),其中,下标1表示这是第1轮迭代求得的训练损失;接着通过反向传播,得到训练损失对于H(i)的梯度,记为g1,其中,下标1表示这是第1轮迭代求得的梯度;θ表示模型参数;x(i)和y(i)分别表示投入的第i份训练数据中的输入和输出样本;
a4.根据梯度g1,计算得到“字符级别”的扰动向量η1,其中下标1表示这是第1轮迭代求得的扰动;字符级别的扰动向量η与序列级别的扰动向量μ的区别在于,η会乘以一个字符级别的放缩因子,以体现不同字符在上下文中的重要性区别;第t次迭代的放缩因子记为nt,其中,n1是一个全1向量,记为n1=1;
其中,α、β和∈是预先设定好的超参数,Lt(θ,x(i),y(i))为第t轮迭代求得的训练损失,gt为第t轮迭代求得的梯度,μt为第t轮迭代求得的扰动,ηt为第t轮迭代求得的“序列级别”的扰动,为第t轮迭代的“字符级别”的输入,with∈ball的含义是,如果某次迭代计算得到的μ或η的模长超过了∈,则将其模长重新设置为∈,方向不变,相当于最终求得的扰动向量μ或η被“约束”在了半径为∈的高维的球体内;
8.根据权利要求7所述的一种基于深度学习的弱监督跨域问答对生成方法,其特征在于,步骤S2中训练问题生成模块时,还采用伪标签训练方法对“问题生成模块”的在跨域场景下的性能表现进行优化,以及采用多任务训练的方式,引入辅助训练的鉴别器模块,优化伪标签训练的过程,具体流程为:
c1.使用按上文所述方式训练好的问题生成模块,在目标数据域上生成问题句,同时对于生成的每个问题句,计算其生成过程中,模型给出的每一步的转移概率的对数和,得到的值即为给定输入的情况下模型生成该问题的可能性度量,也就是该问题的置信度,使用公式表示如下:
Y={y1,y2,...,yN}
其中,Y表示模型输出的问题句,C(Y)表示Y的置信度,yN表示Y中的某个字符,转移概率P(yt|x,y<t)的含义是,已知全部输入序列和前t-1个输出序列,模型生成字符yt的概率,N表示问题句Y所包含的字符数;
c2.选出模型生成的问题句中,置信度最大的M个问题句,这些生成的问题句,和生成它们时所用的输入数据,构成包含噪声的监督信号,因此也被称为伪标签训练数据;使用这些伪标签训练数据,训练步骤S3中训练好的问题生成模块一个轮次,使之能够更好地拟合目标域的数据分布;
c3.步骤c1-c2的问题生成模块可以视为由两个部分组成:特征编码网络、输出网络;输入数据被输入到问题生成模块后,首先通过特征编码网络,将其编码成包含其语义信息的向量表示,这一向量表示会被传递给输出网络,输出网络据此生成输出序列;在特征编码网络后面连接一个辅助训练的鉴别器模块,接着在源数据域和目标数据域上训练这个由特征编码网络和鉴别器构成的网络:训练该网络所需的监督信号包括:
1)输入数据:源数据域和目标数据域上的输入数据,即文本和答案;
2)输出数据:一个分类结果,即判断输入数据是来自于源数据域还是目标数据;
c4.迭代执行上述的c1~c3步,每次迭代后,使用人工评测或自动化的无监督评测指标,评估模型在目标数据域上的性能表现,如果某次迭代后模型效果不再提升,则取该次迭代得到的问题生成模型作为最终的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210616432.XA CN114996424B (zh) | 2022-06-01 | 2022-06-01 | 一种基于深度学习的弱监督跨域问答对生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210616432.XA CN114996424B (zh) | 2022-06-01 | 2022-06-01 | 一种基于深度学习的弱监督跨域问答对生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114996424A CN114996424A (zh) | 2022-09-02 |
CN114996424B true CN114996424B (zh) | 2023-05-09 |
Family
ID=83032080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210616432.XA Active CN114996424B (zh) | 2022-06-01 | 2022-06-01 | 一种基于深度学习的弱监督跨域问答对生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996424B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563779A (zh) * | 2018-04-25 | 2018-09-21 | 北京计算机技术及应用研究所 | 一种基于神经网络的无模板自然语言文本答案生成方法 |
CN109933661A (zh) * | 2019-04-03 | 2019-06-25 | 上海乐言信息科技有限公司 | 一种基于深度生成模型的半监督问答对归纳方法和系统 |
CN111914074A (zh) * | 2020-07-16 | 2020-11-10 | 华中师范大学 | 基于深度学习与知识图谱的限定领域对话生成方法及系统 |
CN111966796A (zh) * | 2020-07-21 | 2020-11-20 | 福建升腾资讯有限公司 | 问答对提取方法、装置、设备及可读存储介质 |
CN112183091A (zh) * | 2020-10-12 | 2021-01-05 | 深圳壹账通智能科技有限公司 | 问答对生成方法、装置、电子设备及可读存储介质 |
CN112287093A (zh) * | 2020-12-02 | 2021-01-29 | 上海交通大学 | 基于半监督学习和Text-to-SQL模型的自动问答系统 |
CN113672708A (zh) * | 2020-05-13 | 2021-11-19 | 武汉Tcl集团工业研究院有限公司 | 语言模型训练方法、问答对生成方法、装置及设备 |
CN113836895A (zh) * | 2021-02-08 | 2021-12-24 | 宏龙科技(杭州)有限公司 | 一种基于大规模问题自学习的无监督机器阅读理解方法 |
CN113836281A (zh) * | 2021-09-13 | 2021-12-24 | 中国人民解放军国防科技大学 | 一种基于自动问答的实体关系联合抽取方法 |
CN114077655A (zh) * | 2020-08-17 | 2022-02-22 | 北京金山数字娱乐科技有限公司 | 一种答案抽取模型的训练方法及装置 |
CN114357120A (zh) * | 2022-01-12 | 2022-04-15 | 平安科技(深圳)有限公司 | 基于faq的无监督式检索方法、系统及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678816B2 (en) * | 2017-08-23 | 2020-06-09 | Rsvp Technologies Inc. | Single-entity-single-relation question answering systems, and methods |
-
2022
- 2022-06-01 CN CN202210616432.XA patent/CN114996424B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563779A (zh) * | 2018-04-25 | 2018-09-21 | 北京计算机技术及应用研究所 | 一种基于神经网络的无模板自然语言文本答案生成方法 |
CN109933661A (zh) * | 2019-04-03 | 2019-06-25 | 上海乐言信息科技有限公司 | 一种基于深度生成模型的半监督问答对归纳方法和系统 |
CN113672708A (zh) * | 2020-05-13 | 2021-11-19 | 武汉Tcl集团工业研究院有限公司 | 语言模型训练方法、问答对生成方法、装置及设备 |
CN111914074A (zh) * | 2020-07-16 | 2020-11-10 | 华中师范大学 | 基于深度学习与知识图谱的限定领域对话生成方法及系统 |
CN111966796A (zh) * | 2020-07-21 | 2020-11-20 | 福建升腾资讯有限公司 | 问答对提取方法、装置、设备及可读存储介质 |
CN114077655A (zh) * | 2020-08-17 | 2022-02-22 | 北京金山数字娱乐科技有限公司 | 一种答案抽取模型的训练方法及装置 |
CN112183091A (zh) * | 2020-10-12 | 2021-01-05 | 深圳壹账通智能科技有限公司 | 问答对生成方法、装置、电子设备及可读存储介质 |
CN112287093A (zh) * | 2020-12-02 | 2021-01-29 | 上海交通大学 | 基于半监督学习和Text-to-SQL模型的自动问答系统 |
CN113836895A (zh) * | 2021-02-08 | 2021-12-24 | 宏龙科技(杭州)有限公司 | 一种基于大规模问题自学习的无监督机器阅读理解方法 |
CN113836281A (zh) * | 2021-09-13 | 2021-12-24 | 中国人民解放军国防科技大学 | 一种基于自动问答的实体关系联合抽取方法 |
CN114357120A (zh) * | 2022-01-12 | 2022-04-15 | 平安科技(深圳)有限公司 | 基于faq的无监督式检索方法、系统及介质 |
Non-Patent Citations (2)
Title |
---|
Automating Reading Comprehension by Generating Question and Answer Pairs;Vishwajeet Kumar等;《Advances in Knowledge Discovery and Data Mining》;335-348 * |
基于决策树和马尔可夫链的问答对自动提取;刘佳宾等;《中文信息学报》;第21卷(第2期);46-51 * |
Also Published As
Publication number | Publication date |
---|---|
CN114996424A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929515B (zh) | 基于协同注意力和自适应调整的阅读理解方法及系统 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN110210032B (zh) | 文本处理方法及装置 | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN114757182A (zh) | 一种改进训练方式的bert短文本情感分析方法 | |
US11475225B2 (en) | Method, system, electronic device and storage medium for clarification question generation | |
CN111125333B (zh) | 一种基于表示学习与多层覆盖机制的生成式知识问答方法 | |
CN113609284A (zh) | 一种融合多元语义的文本摘要自动生成方法及装置 | |
Balaraman et al. | Domain-aware dialogue state tracker for multi-domain dialogue systems | |
CN108763230B (zh) | 利用外部信息的神经机器翻译方法 | |
CN111553159B (zh) | 一种问句生成方法及系统 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN113822054A (zh) | 基于数据增强的中文语法纠错方法及装置 | |
CN114781651A (zh) | 基于对比学习的小样本学习鲁棒性提升方法 | |
CN114218928A (zh) | 一种基于图知识和主题感知的抽象文本摘要方法 | |
CN115293138A (zh) | 一种文本纠错方法及计算机设备 | |
CN111444328A (zh) | 一种带有解释生成的自然语言自动预测推断方法 | |
CN114611492A (zh) | 一种文本顺滑方法、系统和计算机设备 | |
Savci et al. | Comparison of pre-trained language models in terms of carbon emissions, time and accuracy in multi-label text classification using AutoML | |
CN117034961B (zh) | 一种基于bert的中法互译质量测评方法 | |
CN114298055A (zh) | 基于多级语义匹配的检索方法、装置、计算机设备和存储介质 | |
CN116720498A (zh) | 一种文本相似度检测模型的训练方法、装置及其相关介质 | |
CN114996424B (zh) | 一种基于深度学习的弱监督跨域问答对生成方法 | |
CN116484851A (zh) | 基于变异字符检测的预训练模型训练方法及装置 | |
Baas et al. | Transfusion: Transcribing speech with multinomial diffusion |
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 |