一种基于关键词的长文本问答对生成系统的制作方法

文档序号:22891312发布日期:2020-11-10 18:17阅读:270来源:国知局
一种基于关键词的长文本问答对生成系统的制作方法

本发明涉及一种长文本问答对的处理技术,具体涉及一种基于关键词的长文本问答对生成系统。



背景技术:

基于文本的问答对生成是一项根据给定文档生成在句法和语义上有意义且相关的问答对的任务。给定一个文档,有可能产生许多问题和答案。但是并非所有生成的问答对都与用户的观点相关。在生成问答对时,如果有用户指定的关键词(或主题)作约束,就能生成更有针对性和实际指导意义的问答对。

例如,图1显示了从文档中生成的一组与不同方面相关的问答对。当用户指定了“元素属性”这一关键词时,问题“氧气的原子数是多少?”比起“氧气是什么时候被发现的?”更适合被提问。当用户对“化学反应”这一主题更感兴趣时,问答对4和5更能突出这个方面。

然而,现有的问答对生成的工作大多都是用如下步骤生成的:1)提取有意义的短语作为文档中的答案;2)生成有关文档和特定答案范围的问题。现有的方法以及现存的数据集都没有考虑过基于关键词针对文本生成问答对,因此,很容易生成一些无意义的、用户不关心的问答对。



技术实现要素:

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

本发明的目的在于解决上述问题,提供了一种基于关键词的长文本问答对生成系统,实现了根据文本及关键词生成与关键词相关且有意义的问答对。

本发明的技术方案为:本发明揭示了一种基于关键词的长文本问答对生成系统,系统包括生成模块和评估模块,生成模块输出数据至评估模块,生成模块用于针对段落文本及关键词生成与关键词相关的问答对,评估模块用于通过自动评估的方式评价问答对的质量,其中生成模块基于三阶段生成模型生成与关键词相关的问答对。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,生成模块基于三阶段生成模型的配置为:生成模块包括依次串联的段落检索单元、答案范围提取单元以及问题生成单元,其中这三个单元单独训练。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,段落检索单元用于基于信息检索模型,根据关键词从文本中检索出候选问答对在长文本中所处的候选段落,输出到答案范围提取单元,其中信息检索模型包括tf-idf,bm25及bert三种检索算法。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,答案范围提取单元用于从候选段落中提取出可能存在的答案范围,输出到问题生成单元,答案范围提取单元的提取算法包括:命名实体识别、指针网络和组块分析。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,问题生成单元接收段落检索单元检索出的候选段落和答案范围提取单元提取出的答案范围,根据候选段落和答案范围中的其中一个答案,生成问题并和答案组成与关键词相关的问答对,问题生成单元的生成算法包括:序列-序列方法及unilm模型。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,问题生成单元还通过添加对偶模型生成问题。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,生成模块还基于三阶段过滤生成模型实现,配置为:生成模块在依次串联的段落检索单元、答案范围提取单元、问题生成单元之后还串联一个问答对过滤器,问答对过滤器用于进一步挑选出和关键词相关的问答对。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,问答对过滤器分别通过相关性分类器和相似度计算实现。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,生成模块进一步配置为按照问答对和关键词的相关度进行排序,将关键词和有序的问答对列表输入到评价模块,评价模块针对整个问答对,使用一个端到端的指标来对每对生成的问答对进行评分。

根据本发明的基于关键词的长文本问答对生成系统的一实施例,评价模块进一步配置为计算真实值的问答对和生成的问答对的分数矩阵,其中评价模块的评估指标包括bleu、meteor和rouge-l。

本发明对比现有技术有如下的有益效果:本发明系统中的段落检索单元通过寻找和关键词相关的段落,极大程度上缩小了生成问答对的文本范围,提升了问答对生成的准确度。此外,本发明系统中的问题生成单元考虑了关键词对问题生成的作用,限制模型生成和关键词相关的问题。因此,在三阶段生成模型的三个单元中,对关键词进行了显示的建模,让三个单元的模型都能充分感知到关键词的约束。再者,本发明系统中的问答对过滤器通过训练分类器以及计算相似度对生成的问答对进行筛选,只保留和关键词最相关的问答对,提升生成问答对的准确度。最后,本发明的评估模块与以往单独评价答案或问题的评价方法不同,本发明的评估模块是通过计算每一个真值和生成值之间答案和问题的分数的乘积,实现了对生成问答对的整体评估,这种评估方法倾向于挑选问题和答案的质量都很高的问答对。另外,该评估方法通过计算recision@k以及mrr,更关注于已生成的问答对和真值的相关性。

附图说明

在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。

图1示出了根据文档的不同关键词生成问答对的示例的示意图。

图2示出了本发明的基于关键词的长文本问答对生成系统的一实施例的原理图。

图3示出了本发明的生成模块中的三阶段生成模型的实现原理图。

图4示出了本发明的生成模块中的三阶段及过滤生成模型的实现原理图。

图5a示出了bert的网络训练结构的示意图。

图5b示出了bert的模型预测结构的示意图。

具体实施方式

以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。

图2示出了本发明的基于关键词的长文本问答对生成系统的一实施例的原理。请参见图2,本实施例的长文本问答对生成系统包括生成模块和评估模块。生成模块的数据输出至评估模块。

生成模块用于针对段落及关键词进行问答对的生成。

评估模块用于通过自动评估的方式评价问答对的质量。

生成模块的输入是文本及关键词集合,输出是与每一个关键词相关的问答对。生成模块主要有两种实现方式,分别为:三阶段生成模型以及三阶段过滤生成模型。三阶段生成模型包括如下三个单元:段落检索单元、答案范围提取单元以及问题生成单元。这三个单元单独训练,并在生成模块中进行串联,三阶段生成模型的实现原理如图3所示。三阶段及过滤生成模型是在三阶段生成模型中串联的末端,增加一个问答对过滤器,挑选出和关键词相关的问答对,三阶段及过滤生成模型的实现原理如图4所示。

如图3所示,在三阶段生成模型中,生成模块的输入是文本及关键词,经过段落检索单元、答案范围提取单元以及问题生成单元的处理,生成问答对输出。

段落检索单元的具体实现如下。

段落检索单元的输入是由n个段落组成的文档{p1,p2,…,pn}以及关键词(aspect),段落检索单元的输出是与关键词aspect相关的段落集合。

段落检索单元实现了根据关键词从文本中检索相关段落的功能。该功能的具体处理是将关键词作为query且将若干段落组成的文本作为目标文档,实现信息检索模型。将输入的关键词记为q,将输入的段落记为p。段落检索单元分别实现了tf-idf,bm25及bert三种检索算法,三种算法均可以单独作为段落检索单元的模型。

tf-idf(termfrequency–inversedocumentfrequency,词频-逆向文件频率)是一种统计方法,以评估某个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。它的计算如下:

其中nq,p是段落p中关键词q出现的次数,∑knk,p是段落p中的单词总数,n是所有段落的总数,df是关键词q出现的段落数。在计算tf-idf(q,p)时,需要去掉q,p中的停用词。

bm25是对关键词q进行语素解析,生成语素qi,对于每个段落p,计算每个语素qi与p的相关性得分,最后进行加权求和得到关键词q与p的相关性得分。

它的计算如下:

其中,wi是语素qi的权重,通常通过idf进行计算。k1,k2,b为调节因子,本实施例在训练时选取经验设置k1=2,b=0.75,fi是qi在p中的出现频率,qfi是qi在关键词q中的出现频率。pl是段落p的长度,avgpl是所有段落的平均长度。

bert则是训练一个分类器学习关键词q和段落p的相关性。网络的训练结构如图5a所示,模型的输入数据的格式为“[cls]q[sep]p”,标签代表q和p的相关性,如果相关,标签为1,反之为0。模型的预测结构如图5b所示,将计算得到的每一个样本的正例置信度作为q和p的相关度,通过排序获得相关段落列表。该排序模型以3e-6的学习率以及3个迭代周期在bertbase上进行了微调。

段落检索单元的意义在于,当文本过长时,可以根据关键词(aspect)先行快速定位到长文本对应的候选相关段落。然后在候选段落上进行后续耗时较长的神经网络模型处理。与常规信息检索的目的不同,三阶段生成法中的段落检索单元的输入是用户关心的主题词,检索结果是候选问题对所在的候选段落,是一个中间结果。

段落检索单元将检索出的相关段落输入到答案范围提取单元。答案范围提取单元的输入是段落p以及关键词aspect,结果会标注出段落p中的所有答案范围a。

答案范围提取单元实现了从候选段落中提取出可能存在的答案范围。该功能的实现可选择多种不同的方式,分别是ner(namedentityrecognition,命名实体识别)、pointernetwork(指针网络)、chunking(组块分析)任务。其中ner通过python包spacy实现。答案范围提取单元中的算法可以在原来的实现上添加关键词进行训练。

指针网络是一个序列-序列的拓展,本实施例用它从原段落中提取答案范围。源输入是段落,目标输出是源序列中的位置。以编码器rnn(recurrentneuralnetwork,循环神经网络)产生的编码为条件,训练自回归解码器rnn来满足这些位置。本实施例将解码器的注释向量表示为其中na是答案的数量,对应于第一个答案在源序列中的开始位置和结束位置。本实施例使用解码器和解码器之间的注意力机制对进行参数化。编码器向量表示为其中d代表文本,p代表关键词,wi是第i个单词,w1是学习的参数矩阵。解码器每一步的输入是来自段落的与解码器指向的开始和结束位置相对应的单词。该算法在每一步都从softmax向量中贪婪地选择最佳位置,删除重复的关键短语后输出结果。本实施例使用256维(向前和向后128个)的双向lstm来编码文档,并使用256维的lstm作为指针网络中的解码器。网络中每一层的输出均使用0.5的丢失率。

chunking任务利用stanfordnlp从输入段落中抽取短语,被抽取短语的类型如表1所示。

表1被抽取为答案的短语类别

接下来,段落检索单元检索出的相关段落、以及答案范围提取单元提取出的答案范围会输入到问题生成单元。

问题生成单元实现根据候选段落和答案范围中的某一个答案生成问题,并和答案组成与关键词相关的问答对。在问题生成单元中实现了序列-序列方法,例如unilm(unifiedlanguagemodelpre-trainingfornaturallanguageunderstandingandgeneration)。模型的输入为三元组<p,aspect,ai>(<段落,关键词,答案i>),输出是答案ai对应的问题qi,<qi,ai>是段落中的第i个问题-答案对。

在序列-序列方法中,实现了带有maxout指针和门控自注意力网络的段落级神经问题生成模型。该模型使用lstm实现自注意力机制来对段落进行编码,并使用另一个lstm生成具有拷贝机制的单词序列。然后通过从关键词到段落的注意力机制获得编码。

up=lstm(ep,mp)

ua=lstm(ea)

up=gatedattention(ua,up)

其中ep和ea分别是段落和关键词的词嵌入表示,up和ua是由lstm编码后得到的向量。mp标识了段落中的每个单词是在答案之内还是之外。该模型使用2层lstm作为rnn单元进行编码和解码。编码部分使用了双向lstm,隐藏层大小为600,在相邻lstm层间应用0.3的丢失率。词嵌入使用了300维度的预训练glove词向量,并在训练过程中将其冻结。优化时将sgd用作优化器,最初将学习率设置为0.1,并且从第8个时期开始每隔2个时期减半。对模型进行了总共20个迭代的训练,且用于参数更新的最小批量为64。经过训练,从困惑度最低的四个模型中选择迭代次数最多的模型作为最终模型。在预测解码期间,使用波束大小为10的波束搜索,在每个波束生成eos时停止解码。

unilm模型实现了序列-序列的预训练语言模型。对于每个输入三元组<p,aspect,ai>,使用“[sep]”符号来分割段落、关键词和答案:“p[sep]aspect[sep]ai”。其中是p段落,aspect是关键词,ai是段落中的第i个答案。unilm模型以5e-5的学习率进行半精确度训练,并经过8次迭代进行微调。

在问题生成单元中,可以添加问答对偶模型生成问题。即对每一个四元组<p,aspect,qi,ai>,可以用<p,aspect,qi>训练阅读理解模型找到ai,同时用<p,aspect,ai>生成qi。利用对偶模型提高问题生成的准确性。

如图4所示的三阶段过滤生成模型是在三阶段生成模型后串联一个问答对过滤器,以帮助整个系统筛选出更相关的问答对。

问答对过滤器分别通过相关性分类过滤器和相似度过滤器计算实现。

相关性分类过滤器通过微调bert训练得到。本实施例中使用两类序列分类器作为过滤器,将<p,qi,ai>作为输入,并输出布尔值作为问答对是否与关键词相关的判断。为了更好地区分输入序列的不同片段,本实施例在不同部分之间添加了“[sep]”标记。

相似度过滤器即选择问题和关键词的相似度以及答案和关键词的相似度的最大值作为问答对和关键词的相似度:

score(qi,ai)=max(sim(p,qi),sim(p,ai))

sim(p,qi)=cosinesimilarity(bert(p),bert(qi))

sim(p,ai)=cosinesimilarity(bert(p),bert(ai))

通过bert分别将段落p、问题qi以及答案ai进行编码后进行相关度训练,损失函数为hingeloss:

其中,yi是相关性标签,相关取1,反之取0。该模型以1e-5的学习率以及3个迭代周期在bertbase上进行了微调。

上式中,sim()是相似度的计算,这里使用cosinesimilarity(余弦相似度)作为相似度的度量。bert是词向量经过bert网络后的输出。

问答对过滤器可以添加其他的筛选办法,如:利用阅读理解模型回答问题qi,通过比较回答出的答案a’i和提取的ai获得问答对得分;或者训练上述对偶模型,分别计算生成的qi和a’i的分数后求和或取最大值获得问答对得分。

生成模块按照问答对和关键词的相关度进行排序,将关键词和有序的问答对列表输入到评价模块。

如图2所示,评价模块通过自动评估的方式对生成的问答对进行评价。

在评价模块中,对于整个问答对,使用一个端到端的指标来对每对生成的问答对进行评分。本实施例是以关键词为单位来检查问答对。给定一个文档和一个关键词aspect,就存在一组真实值的问答对(q,a)和一组生成的问答对计算真实值和生成值的分数矩阵m,它的每一项si,j是真实值的问答对(qi,ai)与预测问答对之间的分数。si,j的计算如下:

其中,答案的评估选择单词级的f1,是在答案的单次级别上的精确率和召回率的平均;问题的评估选择文本生成的常见方法bleu(bilingualevaluationunderstudy,双语评估替补),meteor和rouge-l(recall-orientedunderstudyforgistingevaluation)。本实施例分别用precision@k以及mrr作为问答对的最终评价标准precision@k是对返回的问答对列表进行排序后,计算前k个结果的准确度,mrr是对所有返回的排序后结果进行平均倒数排名计算。

对于一个关键词,有:

precision@k=avg(maxi(si,j))

在计算precision@k时,k是某一个关键词下真值问答对的数量。系统最终的得分需要计算precision@k以及mrr在所有关键词上的平均。

尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协作的一个或多个微处理器、或任何其他此类配置。

结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。

在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1