摘 要:在问答型机器人领域,问题型数据占据十分重要的位置。由于传统方法中模板的局限性、高人工成本等因素阻碍了对问题生成模型的应用价值挖掘。随着深度学习的发展,问题生成领域存在的局限性得到了解决的契机。基于深度学习,在循环神经网络、Transformer二者优势下构造了新型神经网络框架,实验结果显示算法基本克服了在传统方法中存在的困难。在未来,对数据的不断完善和加工,数据集与模型强联,使之运用于各个行业,如人工客服方面逐步解绑员工服务,依赖训练有素的问答模型做服务应对。
Research on large-scale question data generation based on deep learning
HU Yue
China Information Technology Designing & Consulting Institute Co.,Ltd.
Abstract:In the field of question answering robots, question based data plays a very important role. Due to the limitations of templates and high labor costs in traditional methods, the application value mining of question generation models is hindered. With the development of deep learning, there is an opportunity to solve the limitations existing in the field of question generation. Based on deep learning, a new neural network framework is constructed with the advantages of recurrent neural network and Transformer. The experimental results show that the algorithm basically overcomes the difficulties existing in traditional methods. In the future, the continuous improvement and processing of data, the data set will be strongly linked with the model, so that it can be used in various industries. For example, manual customer service will be gradually unbound employee services, it will rely on the trained question answering r models for service response.
Keyword:Deep learning; Question generation; Neural network; Question answering;
1 引言
随着5G时代的到来,人们对便捷化、智慧化的生活更加向往。人工智能作为当下最为火热的话题和研究方向,其目标是将人类的智能拓展到机器上,以此提高人类的生活质量。自然语言作为思维与交流的主要工具,对人工智能具有十分重要的研究意义。
问题生成[1,2,3](Question Generation,简称QG)为自然语言生成领域[4]的研究分支,其目标是基于所提供的数据资料,生成对应的问句,该问句的答案包含在提供的数据资料中。根据训练数据的不同,问题生成可分为基于文本的QG、基于知识库的QG、基于数据库的QG等。由于生成与目标问句一致且流畅的自然语言问句需要大量的数据集进行训练,因此近年来,知识库得到广泛应用。大型公司收集和整理对应的业务知识库,形式上通常为非结构型文本,为了方便研究者在人工智能和机器学习相关方面的探索,也有以结构型文本集成大规模的知识库,例如FreeBase[5]。文中基于知识库的问题生成模型,旨在以提供的结构型知识库中事实三元组中的宾语为问题项,生成相应的自然语言形式的问句。
在最初的问题生成研究领域,大部分工作是基于手工制定的规则。然而,定义的规则有较大的局限性,如生成的问题较为单一,仅从一个事实三元组中难以获取更多信息,导致无法考虑到具有丰富语义的情况,并且在面向大规模知识库时,无法保证根据谓语编写的规则能全覆盖所有三元组,这意味着需要人力经常更新。跟随深度学习的热潮,研究者们近些年常使用神经网络的方法自动生成更具多样化的问句[1,2,3],且不受限于规则的局限性和人工的高成本,使问题生成的应用价值得到充分发挥。例如,问答机器人属于智慧化能力的代表,其问答系统[6]则需要大量标签数据进行模型训练以应对提问形式的多元化,问题生成模型可为问答系统提供丰富的训练集;在教育体系中提供自测验和知识牵引;在医院临床问诊中也可提供数据支持等。
基于循环神经网络、Transformer[7]、注意力机制[8,9]等,充分利用算法结构的顺序性和并行性,搭建新型的问题生成框架。通过当前最大开放域数据集Simple Questions[10]展示不同框架下的知识库问题生成模型的性能效果,对数据集保持相同的预处理下,模型的性能指数最好。
2 知识库
信息化发展带来的知识碎片不断膨胀,百度百科、360百科、wiki百科等系统收集了海量的知识内容,方便人们索引信息。随着网络生活愈发普遍,用户可在各平台上随时分享新的知识,各行业利用该契机,打造出属于自己的新型知识库,例如联通依托百度知道,推出联通企业知道平台,收集海量知识,并提供用户相关通信与业务的知识查询。
根据领域范围,知识库可分为开放型和限定型两类。如百度百科这类无特定领域限制的内容为开放型知识库,而如联通这类限制于特定领域收集的知识为限定型知识库。
通常,知识库大都以文本的形式呈现,面对人工智能的热潮,文本形式的知识对于计算机的理解和计算都存在很大障碍。因此,技术人员将非结构的文本知识以更加简洁的结构形式来表示,如三元组。三元组以主语、谓语、宾语三部分组成,形成结构化的知识库,如表1为三元组的结构化知识库的展示。
3 问题生成
问题生成是自然语言生成的研究分支,与机器翻译[11,12]相似,通过所给的文本数据生成所需的以自然语言描述的句子。随着序列到序列的研究深入,以三个具有阶段代表性的方法提出一个新的算法模型,展示该四种问题生成模型的不同性能:
(1)基于规则的方法,直接匹配谓词选择问题模板;
(2)基于循环神经网络系列作为编码器和解码器;
(3)基于Transformer[7]仅使用多头注意力层和全连接层;
(4)考虑融合Transformer与循环神经网络进行问题生成模型。
以上四种模型的输入序列保持相同的预处理,即不做词向量的预训练。
3.1 基于模板的问题生成模型
基于模板的问题生成模型将整个训练集中问句的主语用占位符标记,从而成为问句的模板集。如表2,当给定一个事实三元组F作为输入时,在模板集中随机选择一个与F关系词相同的问句模板T,然后将F中的主语替换模板问句T中的占位符,输出F对应的问题句Q。
3.2 基于循环神经网络的问题生成模型
面向深度学习的问题生成模型常采用由编码器(Encoder)和解码器(Decoder)组成的Encoder-Decoder框架[13],完成序列到序列(sequence-to-sequence,简称seq2seq[11])的自然语言生成任务。
在该框架中,研究者常用RNN及改进的网络(如LSTM[14],GRU[13])作为编码器和解码器,以长短期记忆网络LSTM搭建模型。解码器在预测t时刻的输出时,结合编码器输出的上下文向量c和t-1时刻之前已预测的输出序列y<t={y1,⋯,yt-1},对t时刻的输出的概率预测进行计算,最终得到输出的可变长度序列y={y1,⋯,ym},t时刻输出的计算公式如式(1):
问题生成模型主要训练目标公式(1),提高问句的预测能力。
随着研究的深入,Bahdanau等人[9]提出注意力机制(Attention机制),将输入序列的不同词汇贡献值得以在预测目标句时得到发挥,该机制也进一步推动了框架的发展。在编码时,通过Attention机制的计算,捕捉输入序列中不同词汇的重要性,分配不同的权重,加强了解码器输出序列的预测效果。注意力机制权重计算通常使用softmax表示:
其中eij=f (st-1,hj),f为计算匹配度的函数,st-1为解码阶段中上一个输出的隐藏层状态向量,hj是编码器输出的隐藏层状态向量。此时,公式(1)中的上下文向量c的计算因αtj而改变,根据不同单词的重要度,每个时刻的上下文向量都有所不同,如式(3):
3.3 基于Transformer的问题生成模型
Transformer[7]是当下最为火热的神经网络框架之一,在面世初,便在十多个自然语言处理任务中取得突破,为自然语言处理领域多个研究任务带来了新的高点。Transformer仅有由多头Attention机制和前馈神经网络堆叠构成,遵循Encoder-Decoder结构框架,舍弃主流RNN的顺序结构和递归思路,提出效率更高的并行性计算结构,是当下最火热的序列到序列模型。基于Transformer进行问题生成的建模训练,测试Transformer在问题生成任务上的性能效果。
Transformer的核心为Attention机制的堆叠,Attention机制的计算使用点乘方法Scaled Dot-product实现,如式(4):
其中,Q向量(查询),K向量(键)和V向量(值)为输入序列经过三种不同的全连接网络输出的语义向量。dk是维度常数,对向量进行缩放,避免产生过大的值。
Transformer的编码器和解码器对公式(4)实行堆叠和多层线性变换,最终输出任务结果。
3.4 基于Transformer与循环神经网络的问题生成模型
考虑到编码层需要尽量对输入序列捕捉所有词汇的语义信息及全局信息,而作为解码器的输出层则更偏向利用单词序列的顺序信息。因此,提出将Transformer的并行计算结构融入到输入序列进行编码,而解码层则以循环神经网络搭建并预测输出序列。
编码层与0节中保持一致,通过并行结构抓取输入序列中的语义信息。解码层的结构与2.2节相似,但时间步t的预测输出如式(5):
其中,W0是权重矩阵,是当前t时刻码层输出的隐藏层状态st经过注意力机制计算后的结果,如公式(6):
公式(6)中的ct和st与2.2节所述seq2seq中的解码器计算一致。
4 实验结果与分析
4.1 数据集
由于制作一个大规模且标准的数据集需要大量人力和财力,为保证实验数据具有说服力,采用已有的大型开放域标签数据集Simple Questions对不同问题生成模型的性能进行阐述。Simple Questions是当前最大的问题答案的数据集,是从知识库Free Base(包含超24亿个事实三元组)中选取的超十万的三元组进行人工生成的问句,该数据集囊括的实体、谓词等信息的数量如表3所示,表3中词汇量为预先将数据集中的大小写和特殊字符预先处理后进行统计的。
4.2 评价指标
采用在自然处理领域常用的两个自动评价指标对模型进行评价:BLEU[15]和Meteor[16]。
BLEU:在2002年由IBM提出,作为机器翻译任务的评价指标。其总体思想是通过生成的句子与标准句子的n元组匹配度,求最终的准确率。n元组指连续的单词个数为n,根据n元组将BLEU划分成多种类别,如BLEU-1,BLEU-2,BLEU-3,BLEU-4,文中使用从BLEU指标为以上四者的均值。
Meteor:对准确率和单词的召回率进行加权调和平均数,解决了BLEU指标存在的一些缺陷,考虑到同义词匹配等问题。
4.3 实验结果
表3在Simple Que Stions数据集下,不同问题生成模型的训练效果展示,表4中所述模型的输入端相同的预处理,即均为不做预处理的三元组。
从表4中可以观察到,随着研究的推进,问题生成模型的性能也在逐渐提高,特别是Transformer结构的提出,在相同的预处理下,其性能得到显著的提升。
Template模型基于规则的方法,根据输入的三元组序列,在模板集中选出谓词相同的模板。按该方法生成的问题基本无误,但缺少多样性,出现相同句型重复情况,且当出现模板集中不存在的谓词时,则无法正常输出问句。
Seq2Seq模型通过神经网络搭建模型,通过语义训练,解决了新谓词不匹配的问题。Seq2Seq模型结合了Template的方法,将问句中的主语实体用占位符代替,在完成预测之后再用主语实体替换回来,Serban等人[1]将这种方法指定为SP。同时还对模板进行了改进,对不同类别的主语实体都进行了分类,如属于地点的主题就用占位符〈location placeholder〉代替,Serban等人将这种方法指定为MP。与Template模型相比,SP的BLEU (+1.91)和Meteor (+1.95)均有所提升。MP的效果略低于SP[BLEU (-0.51)&Meteor (-0.1)],但与Template模型相比,都有提升。
Transformer模型的并行结构克服了seq2seq模型的顺序性计算的限制,在面对长句预测时具备更好的性能。优于seq2seq模型中性能的最好SP[BLEU (+5.82)&Meteor (+1.28)]。
表中第5行提出的Transformer结构与循环神经网络结合的算法Trans RNN,在均不进行预处理的操作下模型性能效果最佳,优于seq2seq[BLEU (+7.98)&Meteor (+1.84)]和Transformer模型[BLEU (+2.16)&Meteor (+0.56)]。
实验结果证实了在不同结构层采用对应的并行或顺序性计算结构的有效性。
在实验结果中,我们发现出现频率越高的专业词汇,生成的问句更加流畅通顺。因此,我们推测在特定领域,如运营商的业务咨询等,使用具有该领域的术语训练集,会获得更好的效果。
5 基于问题生成的应用
5.1 问题生成与问答系统
问答系统[6]是智能对话的重要研究模块,众多的科技公司在智能对话领域均进行了研究改进以及实用,在生活中我们可以随时体验到,如国内华为公司的小艺、小米公司的小爱同学等,国外苹果公司的siri、微软的小冰等。经过对现有对话系统的体验后,我们发现这些系统能够准确回答的问题是有限的,特别是在开放域上的问答对话,主要是缺少数据集和模型训练。
对问题生成模型的研究成果表明,不仅在标签数据上的人力财力上减轻了压力,还能根据问答系统的不同,提供对应且丰富的标签数据,若想针对同一个三元组生成具备多样性的标签问答对时,可在问题生成模型的解码端采用beam search[11],同时生成多个问句。丰富的标签数据集,有助于提高对问答系统的性能训练。Duan等人[18]展示了问题生成对问答系统的应用价值。
问题生成模型为问答系统提供标签数据进行训练的流程如图1所示:
首先,问题生成模型与问答系统的训练集保持一致,应用相同的数据集进行问题生成模型的训练。
其次,在问答系统对应的知识库中抽取与训练集不同的事实三元组,利用问题生成模型生成具备多样性的一个或多个问句,生成的问句与对应的三元组构成新的补充训练数据集。
然后,原有数据集与新生成的标签数据增大问答系统的训练数据集,以丰富的训练数据加强对问答模型的训练。
5.2 问题生成与自动问诊
医院里常出现人满为患、医生长时间问诊,以及病人会出现报错科室等情况,不仅容易造成双方时间的浪费,还经常出现病人花了很长时间排队却无法及时就诊的现象。此时问题生成模型便可提供缩短就诊时间的功能。问题生成任务根据所给数据资料的不同,会有不同的功能效果,如Yue等人[19]基于seq2seq[11]框架训练问题生成模型来加强临床问答的QA模型,其实验结果证明了通过问题生成模型增强QA语料的实用性与效益性。
根据医院需求训练问诊模型,解决在大型医院中存在的普遍问题。通过统计出不同科室医生会问的问题与所有可能出现的症状及相关建议,制作对应的标签数据,进行问题训练及时给出相应的指引,问答情况也能够直接提供到医生那作为问诊的重要参考资料,达到节省时间的目的。
6 总结
问题生成任务除了为问答系统提供丰富的标签数据形成对偶学习外,在众多领域都具备实用价值,如语义理解,自动问诊、教育知识牵引与辅助等。随着大数据与深度学习的发展,问题生成任务的研究逐渐深入,其多方位的商业价值等待着被挖掘。
参考文献
[1] Serban I V, García-Durán A, Gulcehre C, et al. Generating factoid questions with recurrent neural networks:The 30M factoid Question-Answer corpus[C]. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics(ACL), 2016:588-598.
[2] Lindberg D, Popowich F, Nesbit J, et al. Generating natural language questions to support learning on-line[C]. Proceedings of the14th European Workshop on Natural Language Generation, 2013:105-114.
[3] Du X, Shao J, Cardie C. Learning to ask:Neural question generation for reading comprehension[C]. Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics(ACL), 2017:1342-1352.
[4] 张建华,陈家骏.自然语言生成综述[J].计算机应用研究,2006, 23(8):1-3.
[5] Bollacker K, Cook R G, Tufts P, et al. Freebase:a shared database of structured general human knowledge[C]. national conference on artificial intelligence, 2007:1962-1963.
[6] 吴友政,赵军,段湘煜,等.问答式检索技术及评测研究综述[J].中文信息学报, 2005, 19(3):2-14.
[7] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]. Advances in neural information processing systems, 2017:5998-6008.
[8] Luong T, Pham H, Manning C D. Effffective approaches to attention-based neural machine translation[C]. Proceedings of the 2015Conference on Empirical Methods in Natural Language Processing(EMNLP), 2015:1412-1421.
[9] Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv:1409.0473, 2014.
[10] Bordes A, Usunier N, Chopra S, et al. Large-scale simple question answering with memory networks[J]. arXiv preprint arXiv:1506.02075, 2015.
[11] Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks[C]. Advances in neural information processing systems, 2014:3104-3112.
[12] Luong T, Sutskever I, Le Q, et al. Addressing the rare word problem in neural machine translation[C]. Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics(ACL),2015:11-19.
[13] Cho K, van Merrinboer B, Gulcehre C, et al. Learning phrase representations using RNN Encoder-Decoder for statistical machine translation[C]. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing(EMNLP), 2014:1724-1734.
[14] Hochreiter S, Schmidhuber J. Long short-term memory[J].Neural computation, 1997, 9(8):1735-1780.
[15] Papineni K, Roukos S, Ward T, et al. BLEU:A method for automatic evaluation of machine translation[C]. Proceedings of the 40th annual meeting on association for computational linguistics. Association for Computational Linguistics, 2002:311-318.
[16] Denkowski M, Lavie A. Meteor universal:Language specific translation evaluation for any target language[C]. Proceedings of the ninth workshop on statistical machine translation, 2014:376-380.
[17] Md. Arafat Sultan, Shubham Chandel, Ramón Fernandez Astudillo, Vittorio Castelli. On the Importance of Diversity in Question Generation for QA[]. ACL 2020:5651-5656.
[18] Duan N, Tang D, Chen P, et al. Question generation for question answering[C]. Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, 2017:866-874.
[19] Yue X, ZhangXF, Yao Z, et al. CliniQG4QA:Generating Diverse Questions for Domain Adaptation ofClinical Question Answering[J]. 2020.