中文开放域问答系统的问题分类研究
2019-07-08夏艳辉
夏艳辉
摘要:中文问答系统通常由问题分析、信息检索、答案抽取组成。其中,问题分析中的问题的分类是否准确会直接关系到提取答案的准确度,所以在问答系统中起到关键性作用。本文主要介绍了中文问答系统的结构、问题分类体系以及方法,并提出结合基于规则的模式匹配与基于统计的机器学习的方法对问题进行分类,从而提高分类的准确度。
Abstract: Chinese question answering system usually consists of question analysis, information retrieval and answer extraction. Among them, whether the classification of the question in the question analysis is accurate is directly related to the accuracy of extracting the answer, so it plays a key role in the question and answer system. This paper mainly introduces the structure, question classification system and method of Chinese question answering system, and proposes a classification based on rule-based pattern matching and statistical-based machine learning to improve the accuracy of classification.
關键词:开放域;中文问答系统;问题分类
Key words: open-domain;Chinese question answering system;question classification
中图分类号:TP391.1 文献标识码:A 文章编号:1006-4311(2019)16-0147-03
0 引言
在问答系统中,用户输入自然语言查询语句后,系统便会给出精准的答案。比如用户在问答系统中输入“中国有多少个民族?”,系统就会给出准确的答案“56个”。因此,对于问答系统的研究正如火如荼的进行着。对于用户输入的问题的类别分析通常按照答案的类型把问题归到对应的语义类别,比如用户提问“三峡大坝在哪里?”,就能够了解到其想得到的结果是一个地名,因此,此问题应该归为地名类。问题分类作为问答系统中的一个关键部分,它的主要作用包括以下两点:①通过对问题类别的划分,可以一定程度的缩小候选答案空间,从而提高输出答案的正确率;②系统可以依据对问题划分的不同类型来调节答案的选择策略[1]。综上所述,问题分类对问答系统的结果至关重要,分类的优劣会直接关系到问答系统最终答案的质量[2]。
1 相关研究
1.1 开放域问答系统研究现状
人工智能刚刚兴起时,就有研究者提出设计自动问答系统,试图让计算机用自然语言的方式,来回答用户的问题。以前的问答系统主要用于特定的领域,利用某个领域的专家知识来检索答案,如BASEBALL和LUNAR等[3]。在检索技术与Internet的不断发展后,面向大量文档的开放域问答也开始进入了研究者的视野。国外早期开发的具有代表性的开放域问答系统有麻省理工大学的Start、密歇根大学的AnswerBus[4]、华盛顿大学的MULDER系统等。其中,Start是最早基于Web的一款简单的自动问答系统[5],而MULDER是第一个全自动问答系统,它没有知识库,而是完全从Internet上检索答案。
与国外研究相比,中文问答系统的研究开始的比较晚,进展也较为缓慢。目前,国内较为活跃的研究机构主要有:中国科学院计算所、自动化所、哈尔滨工业大学、北京语言大学、清华大学等。其中,中国科学院计算所开发的NKI系统能够使用户通过自然语言进行提问,如天气预报、人物、中医疾病、地理等方面的问题,并可以获得较为满意的答案[6]。
1.2 问题分类研究现状
国外关于英文问题分类的研究起步稍早,大多使用基于规则的方法。这种方法的核心就是划分问题的关键词,然后根据关键词(组合)映射到具体的问题类型,以此进行问题分类。例如提出有关Where或者Why的问题,就能够依据这些疑问词直接确定问题的类型,而不需要标记语料库,并且有着较高的准确性和针对性,因此,这种方法对大多数问题来说是有效的[7]。但是,该方法依据的规则大多是人为总结的,同时和分类体系紧密相关,所以其工作量往往比较大并且灵活性比较低。随着计算机技术的发展,大量机器学习的方法被学者应用到了英文问题的分类中,以减少划分问题类别的工作量。Dell Zhang提出采用支持向量机(SVM)的方法来划分英文问题的类别[8]。Phil Blunsom通过最大熵模型从句法和语义中提取特征,并得到了较好的分类结果[9]。
中文与英文问题在一定程度上有相似的地方,比如它们都没有上下文环境、包含的信息量都很少等等,但是,中文问题在语义、词义和歧义等方面有一些问题[7]。在中文问题的分类中,张宇将分词和词性作为特征值,采用贝叶斯模型对问题的类别进行划分,从而展开了中文问题分类的研究[10]。文勖通过句法的结构信息提取问题的主干来进行分类,从而减少分类噪音,提高精度[2]。刘里提出句法依存关系和词性相结合的一个问题属性的核函数,提取术语、词性、依赖关系的“HED”词和问句词后,通过核函数的值来计算词语、词性的依存关系以及路径,通过SMO算法得到支持向量,取得了很好的效果[11]。