论文部分内容阅读
问答技术是目前自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向,它旨在构建一个能够自动回答人类用自然语言提出的问句的系统——问答系统。在调查研究中,本课题发现当前许多问答系统仅具备回答简单问句(如“中国的国庆节是什么时候?”)的能力,而对于比较复杂的问句(如“姚明的身高和体重是什么?”“姚明女儿的身高是多少”)无法有效理解和回答。本文认为许多复杂的问句中存在多个问题的复合,可以被分解为问答系统能够回答的简单问句,因而提出了复合问句分解任务。本文将复合问句分解任务分为两个子任务:复合问句的分类任务和复合问句的子问句生成任务,并对两个任务分别构建了相应数据集以进行研究。针对复合问句分解任务缺乏可用的中文语料的情况,本文自行从百度知道、《一站到底》节目、HotpotQA等来源搜集了相关语料,根据问句的句法结构和解答方式定义了四种类型的复合问句,并制定了详细的标注规则,构建了包含5100多句复合问句的复合问句分类和子问句生成的数据集。复合问句的分类任务旨在识别出简单问句和不同类型的复合问句,本文认为复合问句具有比较显著的语法和语义特征,并基于此对相关机器学习和深度学习算法进行了研究,包括:基于树核SVM的分类器、基于双向GRU的分类器、利用基于预训练BERT模型微调的分类器,最高取得了0.9240的问句分类准确率。复合问句的子问句生成任务旨在生成可用以回答原复合问句的多个简单问句。不同于过去研究中采用的基于规则或基于序列标注的方法,本文基于序列到序列的神经网络模型的对复合问句的子问句生成方法进行了研究,在研究中对指示器-生成器网络模型(Pointer-Generator-Net)进行了改进以提升在子问句生成任务中的效果。考虑到构建的数据集对于神经网络的文本生成任务来说相对较小,本研究在复合问句的子问句生成任务的训练数据上应用了数据增强的方法,包括基于可复述词替换和基于模板填充的方法,构建了包含数万条数据的增强训练数据。除此之外,本研究还提出了一些其他技巧以提升生成子问句的效果,最终在此任务上达到了0.9376的ROUGE-L F指标,在人工评价时取得了0.57的正确率。