hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web...

39
( ) 本本(本) 本本本本本本本本本本 本本本 本本本本本 本本 2012 本 本本 本本 () 本本 12 本本本 本本本本本 本本 1227403006 本本 本本本本 本本 本本 本本

Transcript of hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web...

Page 1: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

本 科 毕 业 设 计 ( 论 文 )

学 院 ( 部 ) 计算机科学与技术学院题 目 中文问答系统中问题分类的

研究与实现

年级 2012 级 专业

软件工程(嵌入式软件人才培养方

向)

班级12 嵌入式

卓越工程师 学号 1227403006

姓 名 龚晨指导教师 张民 职称 教授论文提交日期 2016.5.21

Page 2: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

目 录前 言 ................................................................................................................................................1

第一章 绪 论.....................................................................................................................................2

1.1 研究背景及意义..........................................................................................2

1.2 研究进展......................................................................................................3

1.3 本文的组织结构..........................................................................................4

第二章 问题定义与数据集介绍..............................................................................................5

2.1 问题定义......................................................................................................5

2.2 数据集介绍..................................................................................................5

2.2.1 哈工大问题集....................................................................................5

2.2.2 百度知道问题集................................................................................5

2.3 数据集的划分..............................................................................................6

2.4 评价指标......................................................................................................8

2.5 本章小结......................................................................................................8

第三章 基于线性模型的问题分类方法................................................................................9

3.1 线性模型的基本原理..................................................................................9

3.1.1 基本形式............................................................................................9

3.1.2 将问题分类作为多元分类问题........................................................9

3.2 线性模型的实现........................................................................................10

3.2.1 特征模板..........................................................................................10

3.2.2 训练阶段..........................................................................................12

3.2.3 测试阶段..........................................................................................12

I

Page 3: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

3.3 实验结果分析............................................................................................13

3.4 本章小结....................................................................................................16

第四章 基于最大熵模型的问题分类方法........................................................................17

4.1 最大熵模型的基本原理............................................................................17

4.1.1 基本形式..........................................................................................17

4.1.2 将问题分类作为多元分类问题......................................................18

4.2 最大熵模型的实现....................................................................................18

4.2.1 特征模板..........................................................................................18

4.2.2 训练阶段..........................................................................................18

4.2.3 测试阶段..........................................................................................18

4.3 哈工大问题集上最大熵模型调参............................................................19

4.3.1mini batch size 调参..........................................................................19

4.3.2 学习速率调参..................................................................................20

4.3.3 正则项 C 调参..................................................................................21

4.3.4 特征贡献分析..................................................................................22

4.3.5 最大熵模型和线性模型比较..........................................................24

4.4 本章小结....................................................................................................25

第五章 总结与展望....................................................................................................................26

5.1 本文总结....................................................................................................26

5.2 后续展望....................................................................................................27

参考文献.......................................................................................................................................... 28

致 谢 30

II

Page 4: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

摘 要问答系统允许用户以自然语言提出问题并直接返回答案。和传统搜索引擎相比,问

答系统可以更加准确地提供用户需要的信息,更好的满足当前互联网信息大爆炸时代下用户的需求。问题分类作为问答系统中一个重要的预处理任务,对后续的答案检索、抽取和生成起着重要作用。

本文以中文问答系统中的问题分类为研究对象。我们首先分析了现有的各种问题分类方法并比较其优缺点,进而分别实现了基于线性模型和基于最大熵模型的问题分类系统,最终在两种数据集上进行实验验证。在线性模型的实现过程中,首先对问句进行分词、标注词性、分析依存句法等预处理,然后人工定义的特征模板抽取特征向量,构建特征空间,进而利用在线学习方法估计特征权重,最终使用训练得到模型进行预测。在最大熵模型的实现过程中,对问句的预处理和特征提取过程与线性模型一致,使用梯度下降法估计特征权重。实验结果表明,本文使用的两种方法都能有效实现问题分类,其中最大熵模型的分类性能优于线性模型 2%左右。

关键词:问答系统;问题分类;线性模型;最大熵模型

III

Page 5: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

Abstract

Question answering systems allow users to ask questions in natural language and return the answer directly. Compared with traditional search engines, question answering systems can more accurately provide information in need and better meet users’ demands under the present era of information explosion. As an important preprocessing task in question answering, question classification plays an important role in latter subsequent steps such as answer retrieval, extraction, and generation.

This paper targets at question classification in Chinese question answering. Firstly, we make a thorough survey on existing methods of question classification and compare their advantages and disadvantages. Next, we implement two question classification systems based on linear model and maximum entropy model, respectively. Finally, we conduct experiments on two data sets to verify the effectiveness of our methods. To realize the linear model, we first apply different levels of preprocessing to the input sentences, such as word segmentation, part-of-speech tagging and dependency parsing. Then, we extract feature vectors using our manually designed feature templates, collect the feature space, and learn the feature weights with the online training method. Finally, we use the trained model to make prediction on test data. To realize the maximum entropy model, we apply the same procedures of preprocessing and feature extraction with the case of the linear model. The main difference is that we use the gradient descent method to estimate the feature weights. The experimental results show that both systems achieves satisfactory results, and the classification performance of the maximum entropy model is better than the linear model by about 2%.

Keywords: Question Answering System; Question Classification; Linear Model; Maximum Entropy Model

IV

Page 6: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

前 言问答系统(Question Answering,QA)是目前自然语言处理领域的研究热点。它允许

用户以自然语言形式提出问题,在分析所提问题的基础上,通过信息检索技术检索出相关文档,然后抽取出答案,从而自动地将简洁、正确的答案返回给用户。问答系统能够以比传统搜索引擎更快的速度,更加准确地获取用户需要的信息。

问答系统一般包括问题分类、问题扩展、搜索引擎、答案抽取和答案选择五个主要部分[1]。问题分类作为问答系统的第一个模块,是系统中的重要环节,其目的是让系统知道用户想要寻找什么类型的答案,即在给定的分类体系下,根据问句的内容自动地确定问句的类别。问题分类对后续的问题扩展、信息检索、答案抽取和答案选择模块起指导性的作用,正确的问题分类不仅能有效缩小候选答案的范围,提高答案的准确率,还能为答案选择方法提供策略,即针对不同的问题类型来制定适合该类型的答案选择规则。

本文以中文问答系统中的问题分类子模块为研究对象,分析比较现有的问题分类方法并实现了对问题的有效分类,完成的主要工作有:

(1)对数据集进行分词、词性标注、句法分析等预处理。(2)提取问题特征,如词语 unigram,bigram,词性 unigram,中心词与修饰词

bigram 等。(3)分别实现了线性模型和最大熵模型两种分类器来进行问题类别的判定。(4)对问题分类进行测试,并对测试结果进行合理分析。

1

Page 7: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

第一章 绪 论本章首先介绍了课题的研究背景和意义,其次简单介绍了问题分类的研究进展和现

状,在本章的最后介绍了论文的组织结构。

1.1 研究背景及意义互联网信息大爆炸时代的到来使人们对网络信息的需求越来越强烈,目前传统的搜

索引擎主要基于关键字匹配来进行查询,用户只需输入一些关键字,搜索引擎就能返回成百上千个相关网页。然而,这种传统的搜索引擎也存在一定的不足:第一,搜索引擎返回的网页众多,用户需要逐个阅读筛选,才能抽取出满足需求的有效信息,该过程耗时费力;第二,很多时候用户的需求表述复杂,不能仅用简单的几个关键词来准确地概括提炼,当用户输入的关键词不够明确时,搜索引擎自然不能返回令人满意的答案。因此,能够更高效、准确获取用户需求信息的问答系统应运而生。

问答系统允许用户以自然语言而非关键词组合的形式提出问题,如“苏州大学具有多少年的历史?”,然后在分析所提问题的基础上,通过信息检索技术检索出相关文档,接着抽取出答案,最终自动地将简洁、正确的答案直接返回给用户,如“116年”,因而不再需要用户从成百上千个相关网页中逐一寻找感兴趣的信息。

问答系统可应用于客服系统、聊天机器人、知识检索等方面。在客服系统方面,中国移动的智能客服基于短信,可以支持用户通过自然语言的方

式来进行移动业务和服务方面的咨询。淘宝的智能客服可实时语义分析客户的聊天内容,并给出推荐答案,提升客服效率。

在聊天机器人方面,苹果公司的 SIRI 可以让使用者以语音或文字的方式输入问题,从而获取餐厅路线、天气预报信息、解答用户疑惑如“珠穆朗玛峰多高?”“美国的 GDP 是

2

Page 8: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

多少?”等。在知识检索方面,百度知道的智能机器人可在百度题库中检索关键字并进行匹配,

然后返回答案给用户。中科院计算所的《红楼梦》人物关系问答系统允许用户用自然语言询问《红楼梦》中的人物关系。

问答系统一般由问题分类、问题扩展、搜索引擎、答案抽取和答案选择五个主要模块组成,问题分类作为问答系统的第一个模块,是系统的重要组成部分。正确的问题分类不仅能有效缩小候选答案的范围,还能决定答案选择的策略,针对不同的问题类型来制定适合该类型的答案选择规则,因此问题分类模块的准确率对整个系统的性能有着举足轻重的影响。

1.2 研究进展20世纪 60年代人工智能刚起步时,学者们就开始探究让计算机智能地回答人们用自

然语言提出的问题,随后,最初的自动问答系统诞生。其中 BASEBALL 和 LUNAR 是当时较为著名的问答系统。

20世纪 70 到 80年代间,随着文本理解和问题回答研究的发展,新的问答系统不断问世, 如能够为 UNIX操作相关问题提供答案的 UC 系统。但是,由于早期的知识数据集较少,限制了问答系统的回答领域且导致系统的准确率不高。

20世纪 90年代以来,问答系统的回答领域进一步拓宽,准确率由过去的 30%左右增长到 50%以上。自 1999年文本检索会议(TREC)引入问答系统评测专项(QATrack)后,面向大规模文本的英语书面通用 QA 取得很大进展。如 1993年MIT 的 Start 是第一个面向互联网的自然语言问答系统,1995年 Richard开发第一个聊天机器人 Alice。比较成熟的自动问答系统还有 Askjeeves, Answerbus, MULDER, LAMP 等。国内也有不少研究机构参与了中文问答系统研究的工作,如哈尔滨工业大学提出了

3

Page 9: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

基于句法结构分析的中文问题分类等算法,中科院计算所和北京理工大学分别研发了基于特定领域的问答系统——《红楼梦》人物关系问答系统和银行领域自动问答系统等。与英文问答系统相比,由于中文的语法、语义的复杂性等多种因素,中文问答系统起步较晚,不够成熟。就问答系统的问题分类子模块而言,现有的问题分类方法主要分为两大类,一种是

基于规则的方法,另一种是基于统计的机器学习方法[2]。基于规则的分类方法在早期使用广泛,它依据人的先验知识来人工制定分类规则,

从而进行问题类别的判定。比如,在文献[3]中,Biswas 等通过抽取特定问题类型的语法模式来匹配问题类别;在文献[4]中,Hovy 等利用 276 个手写规则确定问题类型;在文献[5]中,Brill 等用 15 个正则表达式进行问题分类。由于问题的类别与疑问词有很大关联,分类规则大多根据疑问词编写,但是对于有些不含疑问词或者疑问词不能明确辨识问题类别的问句则很难处理。因此基于规则的分类方法具有对人的先验知识依赖性高,缺乏一定的客观性,需要耗费较多人力资源和时间的不足。

基于统计的机器学习方法对已标注语料进行统计学习,选择能有效表达问题类别的特征,设计分类模型来判定问题类别。比如,在文献[6]中,文勖等使用句法分析的结果,选取问题的主干和疑问词及其附属成分作为分类的特征,利用改进的贝叶斯分类器 [6]分类;在文献[7]中,Zhang 等利用树核函数提取特征,以词汇为基础,引入句法结构特征进行英文分类;在文献[8]中,贾可亮等使用知网语义树的路径信息计算问句之间的语义相似度,利用 k-近邻进行问句分类;在文献[9]中,孙景广等提取句法结构、问题的疑问词、疑问意向词及其在知网中的首义原作为分类特征,选取最大熵模型作为分类器。与早期基于规则的分类方法相比,基于统计的机器学习方法克服了人为因素多的不足,表现出更好的性能,具有良好的适用性。

4

Page 10: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

1.3 本文的组织结构本文根据研究内容分为五个章节:第一章绪论,首先介绍了课题的研究背景和意义,其次简单介绍了问题分类的研究

进展和现状,在本章的最后介绍了论文的组织结构。第二章给出了问题定义,对文中使用的两种数据集:哈工大问题集和百度知道问题

集进行了详细说明,最后介绍了问题分类性能的评价标准。第三章介绍基于线性模型的问题分类方法。首先详细阐述了线性模型的基本原理,

随后给出了线性模型的实现过程,并分析了实验结果,最后对该章内容进行了简要总结。第四章本章介绍基于最大熵模型的问题分类方法。首先介绍了最大熵模型的基本原

理,接着给出了线性模型的实现过程,然后分析了实验结果,最后总结该章内容。第五章总结全文,提出未来工作的设想与展望。

5

Page 11: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

第二章 问题定义与数据集介绍本章给出了问题分类的定义,详细说明了文中所使用的两种数据集:哈尔滨工业大

学信息检索研究室提供的数据集和百度知道问题集的分类体系,并且介绍了问题分类性能的评价标准,最后进行了本章小结。

2.1 问题定义问题分类是问答系统中的重要环节,其目的是让系统知道用户想要寻找什么类型的

答案,即在给定的分类体系下,根据问句的内容自动地确定问句的类别,如询问原因、询问时间、询问地点等,从而更快更准确地抽取答案。本文主要研究中文问答系统中的问题分类子模块。

2.2 数据集介绍本文使用两种数据集进行实验,一种是哈尔滨工业大学社会计算与信息检索研究中

心(HIT-SCIR)提供的数据集,本文简称为哈工大问题集,另一种是百度知道问题集。

2.2.1 哈工大问题集

哈工大问题集参考国外已有的问题分类体系,依据客观世界对物体的划分并结合中文语言特色将所有问题分为 7 个大类,每个大类又进一步细分为若干小类,总共涵盖了85 个小类,如表 2.1 所示。

2.2.2 百度知道问题集

6

Page 12: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

百度知道问题集从百度知道的网页上收集,它由问题标题、问题描述和用户选取的最佳答案组成,如表 2.2 所示。

百度知道与其他社区问答系统一样,由网民自主创造内容,当提问者提交问题时,他们需要从给定的问题分类体系中选取问题所述类别。百度知道问题集依据问题的主题内容分类,总共包含 14 个大类和 150 个小类,分类体系如表 2.3 所示。

表 2.1 HIT-SCIR 问题分类体系人物(HUM) 特定人物、团体、机构、公司、人物描述、人物列举、人物其他地点(LOC) 宇宙、星辰、星球、城市、大陆、国家、省、河流、湖泊、山脉、大洋、岛屿、

建筑、地点列举、地址、其他数字(NUM) 温度、面积、体积、重量、速度、频率、距离、钱数、数量、顺序、倍数、百分

比、号码、时间长度、范围、数字列举、其他时间(TIME) 年、月、日、季节、时代、年代、朝代、星期、节气、节假日、时间、时间范

围、时间列举、其他实体(OBJ) 物质、动物、植物、微生物、身体、材料、机具、用品、衣物、食物、药物、毒

品、货币、票据、语言、事件、疾病、艺术品、服务、文字作品、学术、学科、法律、职位、职业、符号、奖励、刑法、类别、权利、颜色、宗教、运动、术语、列举、其他

描述(DES) 简写、表达、意思、方式、原因、定义、判断、其他未 知(Unknown)

未知

表 2.2 百度知道问题集的一个实例组成部分 问题实例问题标题 三国杀的问题问题描述 在南蛮玩经常碰到网络问题什么错误而且掉了就回不去是怎么回事?能解决吗?最佳答案 这应该是网络问题,或者是你电脑上安装的软件问题

7

Page 13: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

2.3 数据集的划分本文将哈工大问题集和百度知道问题集都按照 7:1:2 的比例划分为训练集、开发集和

测试集三个部分来进行实验,数据集分布的具体情况如表 2.4 所示。

表 2.3 百度知道问题分类体系体育运动 体育名人、健身、奥运赛事、女子运动、小球运动、户外运动、棋牌麻将、武术

搏击、游泳、田径、篮球、足球、运动用品医疗健康 中医、人体常识、儿科、内科、医院、外科、男科商业理财 个人理财、产业信息、企业管理、保险、创业投资、商务文书、基金、外汇、经

济研究、股票、财务税务、贸易、银行业务地区 上海、云南、北京、台湾、吉林、四川、天津、宁夏、安徽、山东、山西、广

东、广西、新疆、江苏、江西、河北、河南、浙江、海南、海外地区、湖北、湖南、澳门、甘肃、福建、西藏、贵州、辽宁、重庆、陕西、青海、香港

娱乐休闲 动漫、博彩、宠物、幽默滑稽、度假旅游、摄影摄像、收藏、明星、星座运势、电影、电视、花鸟鱼虫、谜语、音乐

教育科学 人文学科、出国留学、升学入学、外语学习、学习帮助、理工学科、职业教育、院校信息

文化艺术 书画美术、历史话题、器乐声乐、地理、文学、民俗传统、舞蹈游戏 久游游戏、光宇游戏、单机游戏、巨人游戏、手机游戏、掌机游戏、桌上游戏、

电视游戏、百度游戏、盛大游戏、网易游戏、网络游戏、网页游戏、腾讯游戏、金山游戏

烦恼 夫妻、家庭关系、恋爱、情感情绪、校园生活生活 保健养生、婚嫁、家居装修、家电、服装首饰、生活常识、礼节礼仪、美容塑

身、美食烹饪、育儿、购房置业、购物、购车养车、起名电子数码 手机通讯电脑网络 操作系统系统故障、电脑装机、百度、硬件、程序设计、软件社会民生 公务办理、其他社会话题、军事、宗教、实事政治、求职就业、法律资源共享 数字证书共享、文档报告共享、注册码邀请码、视频共享、软件共享、音频歌曲

共享

8

Page 14: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)表 2.4 数据集分布情况统计

训练集 开发集 测试集哈工大问题集 问题数 4491 557 1248

句子数 4491 557 1248

词语数 33540 4765 8275

百度知道问题集 问题数 21182 2857 6144

句子数 114979 15850 39698

词语数 1211701 170727 362817

2.4 评价指标本文用小类准确率来评价问题分类子模块的性能,准确率越高则性能越好。

(2.1)

2.5 本章小结中文问答系统问题分类模块的主要任务是自动将所有问题按照给定的分类体系划分

为不同类别,从而有效缩小答案检索范围,决定答案的选择策略。为了使实验结果更为客观,本文分别使用哈工大问题集和百度知道问题集进行训练和测试,并以小类准确率作为评价分类模块性能的指标。

9

Page 15: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

第三章 基于线性模型的问题分类方法本章介绍基于线性模型的问题分类方法。在本章的开始,首先详细阐述了线性模型

的基本原理,随后给出了线性模型的实现过程,并分析了实验结果,最后对本章内容进行了简要总结。

3.1 线性模型的基本原理3.1.1 基本形式

给定实例 ,该实例由 n 个特征描述,其中 xi 表示 x 在第 i 个特征上的取值,线性模型通过学习特征的线性组合来得到一个进行预测的函数,如公式(3.1)所示。

f ( x )=w1 x1+w2 x2+…+wn xn (3.1)用向量形式可表示为: f ( x )=wT x (3.2)线性模型(linear model)的表达形式较为简单,建模方便,是一种重要的机器学习

方法。该模型同时还具有很强的可理解性,其中w能够直观地描述出实例各个特征在预测中的重要程度。比如若要通过学习“ f ( x )=0.2 ∙ x学习+0.2 ∙ x工作+0.6 ∙ x品德”来预测一个同学的综合素质,则表示要全面考虑该同学的学习、工作、品德三个方面来判断其综合素质的好坏,其中品德最为重要,学习和工作位居其后,两者重要程度相同。另外,在线性模型中引入层级结构或高维映射可演变出功能更为强大的非线性模型[10]。

3.1.2 将问题分类作为多元分类问题

10

Page 16: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

问题分类的主要任务为:给定一个句子和分类体系,要求确定该句子在当前分类体系下的类别。例如,给定问题:“世界上第一个诺贝尔物理奖获得者是谁?”和基于答案实体类别的分类体系,要求模型预测问题的类别。

线性模型中,定义问题 Q 标为类别 c 的分值为: Score(Q ,c)=w ∙ f (Q ,c) (3.3)其中,f (Q ,c)表示将问题Q标为类别c时对应的特征向量, f (.)也可以看成一个特征抽

取函数,返回一个特征向量,该特征向量为稀疏特征向量,即只有很少的特征对应的值为 1,绝大多数特征对应为 0。w是特征权重向量,和 f (.)的维度一致,每一个特征都有一个唯一的权重。由于模型之间利用特征权重向量和特征向量的点积,所以称为线性模型,即分值与特征向量之间为线性关系[11]。进而获得分值最高的类别:

c¿=argmaxScore

c∈C(Q ,c ),其中C表示类别集合。 (3.4)

3.2 线性模型的实现3.2.1 特征模板

在提取特征前,本文对数据集所有数据进行分句。分句的规则为:首先将句号、感叹号、问号、省略号、分号等作为分句标点对句子进行划分;接着判断分句后的句子长度,若句子长度大于两百个字则将该句中的逗号、顿号作为分句标点对句子进一步细分;然后再一次判断分句后的句子长度,若句子长度仍大于 200 个字,则将句子中每 100 个字分为一个单句,至此,分句完成。进而使用苏州大学人类语言技术研究所提供的工具http://hlt-la.suda.edu.cn 进行自动分词、词性标注和依存句法分析,如图 3.1 所示。

11

Page 17: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

图 3.1 使用苏州大学人类语言技术研究所提供的工具分词、标注词性、分析依存句法在做问题分类时,需要把有价值的信息都添加到线性模型中,这些信息称为特征。

特征模板的作用是描述需要用哪些信息。本文选取问题的词语、词性和依存关系作为特征。特征模板如下:

表 3.1 特征模板特征 含义01 :wi 非停用词一元模型02 :wi ° wi+1 所有词语二元模型03 : pi 非停用词词性04 : whi

° w i中心词和修饰词

05 : phi° w i

中心词词性和修饰词06 : whi

° p i中心词和修饰词词性

在特征模板中,°表示字符串连接;w i表示问句中的第 i 个词语; pi表示问句中第 i 个词语的词性;whi表示问句中第 i 个词修饰的中心词; phi表示问句中第 i 个词修饰的中心词的词性。比如在图 3.1 的例子中,w1 为“我们”, p1为“PN”,wh1为“称呼”, ph1为“VV”。

12

Page 18: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

需要说明的是,在实验过程中发现停用词对问题分类准确率有一定的影响,如表 3.2

所示。表 3.2 在线性模型上停用词对分类准确率的影响

特征 小类准确率哈工大问题集 百度知道问题集

所有词语的一元模型 66.17% 37.50%

过滤停用词的一元模型 68.75% 44.37%

所有词语的二元模型 73.92% 44.17%

过滤停用词的二元模型 70.38% 43.40%

从表 3.2 中可以看出,词语的一元模型过滤停用词后比不过滤停用词时准确率高,而二元模型由于过滤停用词会破坏两个词语间的连贯性,因此不过滤停用词准确率较高。本文使用的停用词表以哈工大停用词表为基础,并分别根据两个数据集分类体系的特点稍加修改。针对哈工大问题集,由于疑问词为问题分类提供了有价值的信息,疑问词不能作为停用词处理,因此将哈工大停用词表中的疑问词从停用词表中去除,保留了 739 个停用词。针对百度知道问题集以话题领域为分类依据的分类体系,疑问词对分类的性能并未起到积极作用,因此仍保留哈工大停用词表中的疑问词,此时共有停用词 767 个1。

3.2.2 训练阶段

给定数据集D,设计特征模板列表,训练阶段的结果是输出模型:一个特征集合和每个特征的权重,如:

表 3.3 输出模型格式01: 红军 2

02 :红军长征 303 :NN 2

04 : 长征 ° 红军 1

1 停用词表网址:http://kirosummer.github.io/2016/05/19/%E9%97%AE%E9%A2%98%E9%9B%86%E5%81%9C

%E7%94%A8%E6%AD%A4%E8%A1%A8/

13

Page 19: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)05 : NN ° 红军 106 : 长征° NN 1

……

在表 3.3 中,每一行的左侧是一个具体的特征,右侧是该特征对应的权重。训练阶段的主要步骤如下:

1)确定特征空间,即收集训练数据中所有特征。具体操作为顺序处理数据集 D中所有训练实例。对于每一个实例,根据特征模板列表,得到具体的特征,添加到特征空间中。

2)用在线学习方法估计特征权重向量w和v。核心思想为:首先将特征权重向量初始化为 0。然后遍历数据集 D中所有问句,对于每一个问句,遍历所有类别,通过公式(3.4)计算获得分值最高的类别。若计算所得分值最高的类别与该问句的实际类别不同,则根据公式(3.5)和(3.6)分别更新特征权重w和v。不断迭代重复以上步骤,直至收敛。w k+1=wk+ f (Q ,creal )−f (Q ,c¿) ,其中creal表示问句Q的实际类别 (3.5)

v=v+wk +1 (3.6)3)输出包含特征集合和权重的模型,并写到磁盘上,格式如表 3.2 所示。在线学习算法的伪代码如算法 3.1 所示。

3.2.3 测试阶段

遍历测试集所有问句,对于每一个问句,遍历所有类别,通过公式(3.4)计算获得分值最高的类别,若获得分值最高的类别与该问句实际类别相同,表示模型对该问句分类正确,反之则表示分类不正确。统计测试集中被正确分类的问句数量,用公式( 2.1)计算小类准确率来评估分类性能。

14

Page 20: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

算法 3.1 在线学习算法Input: Labeled data D, and Feature space εOutput: Feature weights w ,vInitialization: v=0 ,w0=0 , k=0 ;for m=1 to M do {iterations}

for j=1 to N do {for sentence Q j}

c¿=argmax

c∈Cw ∙ f (Q j , c)

if c¿≠ creal then {creal is the correct tag}

w k+1=wk+ f (Q j , creal)− f (Q j , c¿)

v=v+wk +1

k=k+1 end if

end forend forOutput w ,v

3.3 实验结果分析本文选取问题的词语、词性和依存关系作为特征,特征模板如表 3.1 所示。在实验中

发现,选取不同的特征组合,对问题分类的准确率有一定的影响。有的特征对分类的准确率作出了贡献,而有的特征则对分类造成了负面影响。因此,为了发现不同特征对分类性能的影响,在实验中依次加入单个特征并对实验结果进行比较。表 3.4 是在哈工大问题集上进行实验的结果。

表 3.4 中,w和v表示特征权重,它们的更新方法如上一节中的公式(3.5)和(3.6)所示,v是w的累加和,一般来说,使用v作为特征权重比使用w作为特征权重性能更好更稳定。以准确率最高的特征组合(3)的迭代过程为例,如图 3.1 所示,其中横坐标表示迭代次数,纵坐标表示分类准确率,从实验中可以看出,在迭代过程中, v的准确率持续高于w,且v对应的曲线更稳定、平滑。需要说明的是,在实验中如果连续 20次迭代的准确率都没有提高则认为已经收敛,停止迭代。

15

Page 21: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

表 3.4 线性模型在哈工大问题集上的实验结果特征组合 特征组合

编号线性模型

w v 问题中的所有非停用词一元模型 (1) 67.39% 68.75%

问题中的所有非停用词一元模型+ 问题中所有词二元模型

(2) 71.52% 73.92%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词

(3) 73.38% 75.05%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词+ 问题中所有非停用词词性

(4) 73.01% 73.32%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词+ 问题中所有非停用词词性+ 问题中心词词性和修饰词词性

(5) 71.36% 73.12%

16

Page 22: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

图 3.1 线性模型在哈工大问题集开发集上的迭代过程折线图

因此在下文比较不同特征组合对分类性能的影响时,主要以v的准确率作为参考。

如表 3.4 所示,在特征中添加所有词的二元模型比只使用问题中所有非停用词的一元模型作为特征准确率有了较大提升,准确率由 68.75%上升到 73.92%,由此可以发现在哈工大问题集提供的以客观世界对物体划分的分类体系中,问题的上下文信息对分类作出了较大贡献。在此基础上,继续添加问题中心词和修饰词的词语组合作为特征,准确率再次上升了 1%左右,可以看出句法依存结构对当前分类体系下的问题分类也起到了积极作用。而将非停用词、中心词和修饰词的词性加入特征后,分类准确率有了小幅度的下降。实验结果表明,在当前分类体系下词语的一元、二元模型和句法的修饰词、中心词组合特征对问题分类的准确率贡献最大,而词性特征则对分类造成了负面影响。

为了使实验结果更为客观,本文在另一数据集百 度知道问题集上也进行了实验。同样也在实验中依次加入词语一元模型、二元模型、问题中心词和修饰词、词性等特征并对实验结果进行分析比较,如表 3.5 所示。

表 3.5 线性模型在百度知道问题集上的实验结果17

小类准确率

(%

迭代次数

Page 23: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)特征组合 特征组合

编号线性模型

w v 问题中的所有非停用词一元模型 (1) 42.58% 44.37%

问题中的所有非停用词一元模型+ 问题中所有词二元模型

(2) 42.22% 44.17%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词

(3) 40.63% 42.50%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词+ 问题中所有非停用词词性

(4) 39.36% 40.54%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词+ 问题中所有非停用词词性+ 问题中心词词性和修饰词词性

(5) 39.15% 40.39%

用线性模型在百度知道问题集上分类的结果与在哈工大问题集上分类的结果相比有较大幅度的降低,通过分析数据发现造成分类器误分类的原因主要有两个:第一个原因是百度知道以话题领域对问题进行划分,如体育运动、医疗健康、商业理财等类别,有的问题可以从属于多个类别,因此不同标记者对问题的类别会产生不同的理解,而数据集中只给每个问题标记了一种类别,分类的差异性会对分类准确性造成负面影响。第二个原因是,由用户标记的百度知道问题集中存在噪声,因而影响了分类器的准确率。

尽管在百度知道问题集上的分类效果没有在哈工大问题集上理想,仍然可以通过依次加入单个特征并分析实验结果来比较不同特征对百度知道问题集分类性能的影响。从表 3.5 中可以看出,只使用所有非停用词的一元模型作为特征时训练的模型分类准确率最高,而在特征中继续添加所有词的二元模型、中心词和修饰词以及词性后准确率有所下降,这与哈工大问题集的实验结果不同。由此发现,同一特征对不同分类体系下的分类性能可能会造成不同影响,比如在以客观物体为分类依据的体系下,词语的二元模型特征能有效提高分类准确率,而在以话题领域为分类依据的体系下,词语的二元模型特征

18

Page 24: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

却对分类的准确性造成了干扰,起了负面作用。所以在对不同分类体系进行问题分类时,需要根据情况调节特征组合,以达到较好的分类效果。

3.4 本章小结本章详细介绍了线性模型的基本原理和实现过程,分别在哈工大问题集和百度知道

问题集上进行实验。经测试,小类准确率最高分别为 75.05%和 44.37%,后者准确率不佳的两大主要原因是分类的差异性和数据集中较多噪声的存在。

19

Page 25: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

第四章 基于最大熵模型的问题分类方法本章介绍基于最大熵模型的问题分类方法。在本章的开始,首先介绍了最大熵模型

的基本原理,接着给出了线性模型的实现过程,然后分析了实验结果,包括调参和特征选择等,最后总结本章内容。

4.1 最大熵模型的基本原理4.1.1 基本形式

给定实例 x 和对应的类别 y,根据最大熵原理,条件概率表示形式为:p ( y|x )= 1

Z (x)e∑

kwk f k(x , y)

(4.1)

其中, 是归一化因子,保证概率之和为 1,如公式(4.2)所示:Z ( x )=∑

y∈Te∑

kwk f k( x, y)

(4.2)w k为特征权值,关于最大熵原理的具体推导,请参考文献[13]。从推导中可以看出,

最大熵原理与最大化对数线性模型的似然等价。给定数据集 D,数据的对数似然为:

L ( D; wk )=∑i=1

N

log p( y i∨xi) (4.3)

需要用梯度下降法求解对数似然的最大值。对公式(4.3)求w k的偏导数,得到梯度为:

20

Page 26: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

∂L (D ;w k )∂wk

=∂∑

i=1

N

logp( y i∨xi)

∂ wk(4.4)

¿∂∑

i=1

N

∑k

wk f k (x , y )−logZ (x )

∂wk

¿∑i=1

N

(f ¿¿ k ( x , y )−∑yϵT

f k (x , y )× e∑

kwk f k(x , y)

Z (x))¿

¿∑i=1

N

(f k ( x , y )−∑y∈T

p( y∨x) f k (x , y ))

4.1.2 将问题分类作为多元分类问题

在问题分类中,假设给定问题 和类别集合 ,则问题 被标为类别 的概率为:p ( y|Q; w )= ew∙ f (Q,c)

∑y '∈T

ew ⋅ f (Q, c) (4.5)

其中,f (Q ,c)表示将问题Q标为类别c时对应的特征向量, f (.)也可以看成一个特征抽取函数,返回一个特征向量,该特征向量为稀疏特征向量,即只有很少的特征对应的值为 1,绝大多数特征对应为 0。w是特征权重向量,和 f (.)的维度一致,每一个特征都有一个唯一的权重。

4.2 最大熵模型的实现4.2.1 特征模板

在使用最大熵模型进行问题分类时,与第三章的线性模型一样,选取词语、词性、句法分析得到的中心词和修饰词的组合作为特征,如表 3.1 所示。

4.2.2 训练阶段

21

Page 27: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

最大熵模型的训练阶段与线性模型的训练阶段大体相同,步骤如下:1)确定特征空间,提取训练数据中所有特征。2)用随机梯度下降算法估计特征权重向量w。该算法的核心思想是:极小化模型的

损失函数,在该过程中一次降低一个误分类点的梯度,通过不断迭代减少损失函数,直到为 0。随机梯度下降算法的伪代码如算法 4.1 所示。

3)输出包含特征集合和权重的模型,并写到磁盘上。

4.2.3 测试阶段

遍历测试集所有问句,对于每一个问句,遍历所有类别,通过公式(3.4)计算获得分值最高的类别,若获得分值最高的类别与该问句实际类别相同,表示模型对该问句分类正确,反之则表示分类不正确。统计测试集中被正确分类的问句数量,用公式( 2.1)计算小类准确率来评估分类性能。

算法 4.1 随机梯度下降算法Input: Labeled data D, and Feature space εOutput: Feature weights wInitialization: w0=0 , 梯度向量g=0 , k=0 ,B=75 , b=0 ;for m=1 to M do {iterations}

for j=1 to N do {for sentence Q j}

g=g+( f (Q j , creal)−∑c∈T

p(c∨Q j ;w k) f (Q j , c))

b=b+1 if B=b then {batch is over,update weights}w k+1=wk+ηg

k=k+1 , b=0 , g=0 end if

end forend forOutput w

22

Page 28: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

4.3 哈工大问题集上最大熵模型调参本节我们对最大熵模型中的参数,mini batch size,学习速率,正则项 C 进行调整。

我们使用 Linear Model 中最好的特征集合,即只使用表 3.4 中的特征组合(3)进行实验。

4.3.1mini batch size 调参

在最大熵模型中使用梯度下降算法进行训练时,引入 mini batch size 是指对 batch size

个样本训练累积的梯度和一次性更新特征权重,从而增加模型的泛化性,缓和模型过拟合。增大 batch size 能够减少训练震荡,使梯度的下降方向更准确,用更少的迭代次数就能训练完数据集。然而盲目地增大 batch size也存在一定的缺点,过大的 batch size虽然能够减少迭代次数,但是会使权重更新变得缓慢,大大增加优化过程的时间。因此在实验中需要调整参数,选取合适的 batch size,才能达到最优效果。

在调整参数 mini barch size 时,使用在线性模型中分类效果最好的特征组合:所有非停用词的一元模型、所有词语的二元模型、中心词和修饰词特征组合在哈工大问题集上进行训练。先固定正则化因子为 0、学习速率参数为 10,通过改变mini batch size 的大小并比 较实 验结 果来选取 最合适的 batch size 。在 实验 中, 设置 batch size 大小 分别 为1,10,50,100,实验结果如图 4.1 所示。

23

Page 29: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

图 4.1 在哈工大问题集上 batch size 取不同值时的迭代情况

从实验结果图 4.1 中,可以看出在哈工大问题集上,当 mini batch size=1 时,模型的准确率最高,随着 batch size 的增加,训练完数据集所需的迭代次数在减少,但准确率不一定随着 batch size 的增加而增加。因此,不可盲目增加 batch size,要根据数据集具体情况选定效果最优的参数。

4.3.2 学习速率调参

在使用梯度下降法对最大熵模型训练的过程中,更新特征权重时,梯度向量前的系数称为学习速率,该参数决定了模型训练的速度。当 η太小时,会导致收敛速度很慢,当 η 取值太大时,可能导致特征权重更新步伐过大,直接越过了分类准确率最优的解。因此,设置合理的学习速率至关重要。一般情况下,在模型训练的初期,分类准确率提高较快,而在后期准确率变化越来越小,趋向于收敛。因此,本文根据迭代过程中准确率增长速度先快后慢的特点使用可变的学习速率,

如公式(4.6)所示,其中 表示第 i次迭代后的特征权重, 表示第 i次迭代的梯度。在训练初期,学习速率较大,随着迭代次数的增多,学习速率逐渐变小。从而在优化过

24迭代次数

小类准确率(%

Page 30: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

程中,越接近收敛时,训练的“步伐”越小。

(4.6)

在调整 η 的过程中,固定 mini batch size=1,正则化因子 C=0,先对 η粗调节,再细调节。在实验中设置了 η 的大小为 10,50,75,100,150,在哈工大问题集上实验结果如图 4.4 所示。

图 4.2 在哈工大问题集上 η 取不同值时的问题分类准确率

从 η 调参的结果图中可以看出,当 η=75 时分类准确率最高,为 75.04%。

4.3.3 正则项 C 调参

为了防止训练得到的模型参数过拟合,在实验中加入正则项 C来约束模型参数,如公式(4.7)所示。

L ( D; w )=L ( D ;w )− c2∑k

w2 (4.7)

最大熵原理和最大化对数线性模型的似然是等价的,在公式(4.10)中,L(D ;w)表

25

迭代次数

ηη

ηη

η

小类准确率(%

小类准确率(%

Page 31: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

示数据的对数似然,w是模型参数, 为正则项的权重,即在最大化数据似然的同时,让权重尽可能小。此时,梯度为:

∂L( D; w)∂w

=∂ L(D ;w)

∂w−Cw(4.8)

在调整正则项 C 的过程中,首先固定 batch 的值为 1,η 的值为 75,再改变 C 的大小并对实验结果进行比较来获得最合适的正则项。实验中设置 C 的值10−2,10−3,10−4,实验结果如图 4.3 所示。

图 4.3 在哈工大问题集上正则化项 C 取不同值时的问题分类准确率

实验结果显示正则化项 C 的设置对模型准确率的影响并不显著,当 C=10−3和10−4时分类性能最好,准确率为 75.04%。

在对百度知道问题集训练的过程中发现,使用以上三小节在哈工大问题集上得到的最优调参结果进行实验效果较好,因此不再对百度知道问题集重新调整参数。

4.3.4 特征贡献分析

最大熵模型中特征选择的方法与上一章的线性模型一样,选取问题的词语、词性和

26

迭代次数

小类准确率(%

Page 32: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

依存关系作为特征,特征模板如表 3.1 所示。为了发现不同特征对分类性能的影响,在实验中依次加入单个特征并对实验结果进行比较。表 4.1 是在哈工大问题集上进行实验的结果。如表 4.1 所示,在特征中添加所有词的二元模型比只使用问题中所有非停用词的一元

模型准确率有了一定的提高,从 73.32%上升到 76.04%,问题的上下文信息有利于分类性能的提高。继续在特征中添加问题中心词和修饰词的词语组合,准确率又上升了 0.3%左右,可以看出句法依存结构对当前分类体系下的问题分类也起到了积极作用。而将非停用词、中心词和修饰词的词性加入特征后,分类准确率有了小幅度的下降。实验结果表明,选取问题中所有非停用词一元模型、所有词二元模型、问题中心词和修饰词作为特征时,训练效果最佳,准确率为 76.36%。

表 4.1 最大熵在哈工大问题集上的实验结果特征组合 特征组合编号 最大熵模型

问题中的所有非停用词一元模型 (1) 73.32%

问题中的所有非停用词一元模型+ 问题中所有词二元模型

(2) 76.04%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词

(3) 76.36%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词+ 问题中所有非停用词词性

(4) 75.16%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词+ 问题中所有非停用词词性+ 问题中心词词性和修饰词词性

(5) 74.12%

与上一章节一样,为了使实验结果更为客观,在另一数据集百度知道上也进行了实验。同样也在实验中依次加入词语一元模型、二元模型、问题中心词和修饰词、词性等特征

27

Page 33: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

并对实验结果进行分析比较,实验结果如表 4.2 所示。从表 4.2 中可以看出,只使用所有非停用词的一元模型作为特征时训练的模型分类准

确率最高,继续加入其他特征则对分类性能造成了负面影响,导致了准确率的降低,这与第三章使用线性模型进行实验得出的结论相同。

表 4.2 最大熵在百度知道问题集上的实验结果特征组合 特征组合编号 最大熵模型

问题中的所有非停用词一元模型 (1) 47.32%

问题中的所有非停用词一元模型+ 问题中所有词二元模型

(2) 46.15%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词

(3) 46.03%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词+ 问题中所有非停用词词性

(4) 42.24%

问题中的所有非停用词一元模型+ 问题中所有词二元模型+ 问题中心词和修饰词+ 问题中所有非停用词词性+ 问题中心词词性和修饰词词性

(5) 41.97%

4.3.5 最大熵模型和线性模型比较

将在哈工大问题集和百度知道问题集上使用最大熵模型进行问题分类的实验结果与上一章使用线性模型分类的结果比较,分别选取性能最好的特征集合和模型参数的实验结果,如表 4.3 所示:

28

Page 34: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)表 4.3 线性模型和最大熵模型实验结果比较

开发集 测试集哈工大问题集 线性模型 75.04% 74.84%

最大熵模型 77.20% 76.36%

百度知道问题集 线性模型 46.31% 44.37%

最大熵模型 48.44% 47.32%

通过比较发现,在百度知道问题集上使用最大熵模型比使用线性模型分类性能有小幅度的提高。

4.4 本章小结本章介绍了最大熵模型的基本原理和实现方法,并详细说明了调参和特征选择过程

最大熵模型在哈工大问题集和百度知道问题集两个数据集上测试的小类准确率最高分别为 76.36%和 47.32%,与在线性模型上的测试结果相比,准确率分别提高了 1.52%和2.95%,结果表明最大熵模型在分类问题上要优于线性模型。

29

Page 35: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

第五章 总结与展望5.1 本文总结

在当前互联网信息大爆炸的时代,由于问答系统能够允许用户以自然语言提出问题并直接返回答案而不是成百上千个网页,与传统的搜索引擎相比能更高效准确地获取信息,更加迎合用户的需求,因此问答系统已成为自然语言处理领域的研究热点。而问题分类作为问答系统的首要模块对后续的答案抽取和选择起到了指导作用,分类的准确率对问答系统性能有很大的影响,因此问题分类模块是问答系统中不可缺少的部分。

本文主要研究中文问答系统中的问题分类子模块,介绍了问题分类的研究进展,使用线性模型和最大熵模型两种分类器分别在哈工大问题集和百度知道问题集上进行实验。

本文的主要成果如下:(1)实现了基于线性模型的问题分类方法。首先对问句进行分词、标注词性、分析

依存句法等预处理,然后确定特征空间,提取训练集中所有特征,接着用在线学习方法估计特征权重,在哈工大问题集和百度知道问题集上测试,小类准确率分别为 77.57%和46.41%。

(2)实现了基于最大熵模型的问题分类方法。与用线性模型分类一样,需要先对问句进行分词、标注词性、分析依存句法等预处理,然后提取特征,接着用梯度下降方法估计特征权重,调节mini batch size,学习速率,正则项等参数,在在哈工大问题集和百度知道问题集上测试,小类准确率分别为 77.95%和 48.44%。

(3)比较了用线性模型和最大熵模型在两种数据集上实验的结果,分析了在百度知道问题集上分类效果不佳的原因一是由于分类的多样性,即同一问题可能从属与多个类别,二是由于数据本身存在噪声,从而影响了分类的准确性,前者造成的分类效果不理

30

Page 36: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)想难以避免,后者则可以通过减少数据中噪声来提高分类性能。

当然,本文也存在以下的不足:(1)在选择特征的过程中,本文只考虑了词语、词性、依存句法关系等特征的组合,

并未讨论和尝试其他可能更有效的特征,如问句的疑问词和焦点词,引入 tf-idf 特征权重等。

(2)对于类似百度知道问题集这种数据本身存在较多噪声的数据集并没有考虑到一种能削弱噪声影响的算法。

5.2 后续展望在今后,还有以下几点工作可以进一步完成:(1)尝试其它可能对分类性能起积极作用的特征,比如问句的疑问词和焦点词, tf-

idf 权重等。(2)使用其他机器学习方法进行问题分类的研究,如 SVM算法、神经网络等,比

较各种方法的优劣以寻求一种更适合问题分类的算法。(3)问答系统一般由问题分类、问题扩展、搜索引擎、答案抽取和答案选择五个主

要模块组成。本文只研究了问题分类子模块,在未来工作中将进一步优化分类模块,逐步开发后续的答案检索、抽取和选择等子模块,从而实现完整的问答系统。

31

Page 37: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

参考文献[1] 文勖, 张宇, 刘挺, 等. 基于句法结构分析的中文问题分类[J]. 中文信息学报, 2006, 02:

33-39.

[2] 董才正, 刘柏嵩. 面向问答社区的中文问题分类[J]. 计算机应用, 2016, v. 36: No. 20804:

1060-1065.[3] BISWAS P, SHARAN A, KUMAR R. Question classification using syntactic and rule

based approach[C]//Proceedings of the 2014 International Conference on Advances in

Computing,Communications and Informatics.Piscataway,NJ: IEEE,2014: 1033-1038.

[4] E. Hovy, L. Gerber, U. Hermjakob, C. - Y. Ravichandran. Toward Semantics-BasedAnswer Pinpointing. [C]//Proceedings of the First International Conference on Human Language Technology Research (HLT 2001). 2001. 1-7.

[5] E. Brill, S. Dumais, M. Banko. An analysis of the AskMSR question-answering system. [C]//Proceedings of 2002 Conference on Empirical Methods in Natural Language Processing (EMNLP 2002). 2002. 257-264.

[6] 张宇, 刘挺, 文勖. 基于改进贝叶斯模型的问题分类[J]. 中文信息学报, 2005, 02: 100-

105.[7] Zhang D, Lee W S. Question classification using support vector machines[C]// Proceedings

ofthe 26th annual international ACM SIGIR conference on Research and development in information retrieval. New York: ACM Press, 2003: 26-32.

[8] 贾可亮 ,樊孝忠 , 许 进忠 . 基 于 KNN 的汉语 问 句 分 类 [J]. 微电子学 与 计算机,2008,01:156-158.

[9] 孙景广, 蔡东风, 吕德新, 等. 基于知网的中文问题自动分类[J]. 中文信息学报, 2007,

01: 90-95.

[10] 周志华. 机器学习[M]. 北京: 清华大学出版社, 2016.

[11] 李正华. Linear Model(用于分类问题)讲课要点[N]. 2015.11.

[12] 李航. 统计学习方法[M]. 清华大学出版社, 2012, 03: 80-88.

[13] 李正华. 最大熵与对数线性模型(用于分类问题)讲课要点[N]. 2015.12.

[14] Huang Z, Thint M, Qin Z. Question Classification using Head Words and their Hypernyms[C]// EMNLP. 2008: 927-936.

32

Page 38: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)[15] 周建政, 谌志群, 李治, 等. 问答系统中问题模式分类与相似度计算方法[J]. 计算机工程

与应用, 2014, 01: 116-120.

[16] 郑实福, 刘挺, 秦兵, 等. 自动问答综述[J]. 中文信息学报, 2002, 06: 46-52.

[17] Wei-Nan Zhang, Yu Zhang, Shibin Xiao, Liangwei Wang, Ting Liu. Exploring Domain Specific Feature Weights for Question Classification Enhancement in Community based QA Services[J]. Journal of Computational Information Systems, 2013:2373-2381. 

[18] 张志昌, 张宇, 刘挺, 等.基于线索词识别和训练集扩展的中文问题分类[J]. 高技术通讯,

2009, 19(2): 111-118.

33

Page 39: hlt.suda.edu.cnhlt.suda.edu.cn/images/8/86/中文问答系统中问题... · Web view第三章基于线性模型的问题分类方法9 3.1线性模型的基本原理9 3.1.1基本形式9

苏州大学本科生毕业设计(论文)

致 谢 大学四年时光如白驹过隙,转眼已接近尾声。在即将完成本科毕业论文之际,我要向

每一位陪伴我、支持我、鼓励我、教导我的人表示最诚挚的感谢。 首先要感谢我的指导老师张民老师,张老师循循善诱,总能在百忙之中为我及时解答

疑惑,他严谨的治学态度和科学的工作方法都对我有极大的影响和帮助。我还要特别感谢课题组的李正华老师,从文献的阅读到方法的设计与实现上,李老师都给予了我悉心指导,他认真负责的工作作风深深感染了我。我还要感谢苏州大学人类语言技术研究所提供工具 http://hlt-la.suda.edu.cn,对我论文的完成给予了很大帮助。也非常感谢张志昌老师和张伟男老师向我提供了数据集和相关材料。同样也要谢谢和我一起愉快度过毕业设计时期的同组保研同学们:何正球、汪琪、夏庆荣,正是由于他们的帮助和支持,我才能解决一个一个的困难和疑惑,直至本文的完成。

最后,我要感谢我的家人,谢谢我的父母始终在我身后给予默默的支持和鼓励,才使我四年的学业得以完成。

34