软件工程硕士毕业论文范文篇一
第1章 绪论
1.1研究背景及意义
随着人们生活水平提高,人们对美食的追求俨然从“吃的饱”转变为“吃的好”。“吃的好”不仅意味着食品或菜品的味道好,同时也包括吃的健康、有营养。身处互联网时代,对于解答“吃的好”相关问题,人们首先想到的是通过搜索引擎进行搜索。例如,某道菜怎么做?某种食材怎么吃最有营养?通过搜索互联网上海量的数据能给人们在“吃的好”方面的问题上提供很多帮助。然而,用户在获取这些帮助的同时也必须忍受搜索引擎低效带来的种种问题。例如,想要的信息隐藏在某个网页众多的背景知识和无关链接当中,用户需要浏览很多无关内容才能找到感兴趣的信息。又例如,排名靠前的网页返回的答案类似,但都不是想要的信息,用户需要浏览多个网页才能找到想要的目标信息。除此之外,对于一些需要知识进行支持的问句,例如“怀孕八个月可以吃用鱼做的什么菜”,搜索引擎并不能给出准确的答案。针对这些问题,基于美食知识库的问答系统是一种很好的解决方案。以美食知识作为知识库,可以返回用户更专业的答案,而问答系统可接受用户输入的自然语言问句并返回一个或少数几个精准的答案,可以解决搜索引擎输入为关键字带来的语义理解能力有限,无法返回准确答案问题。对问答系统输入“胡萝卜中胡萝卜素含量为多少?”,系统返回:“1.67~12.1mg/100g”。但由于目前大多数问答系统采用网页作为知识库,网页的非结构化特征使得问答系统抽取精准答案异常复杂且准确率不高。本体技术的发展为问答系统信息抽取提供了新的解决方案,本体是概念与概念间关系的集合,通过本体对知识进行组织,能实现知识的共享、重用和推理。基于本体构建的知识库中数据之间存在语义关系,本体中的数据采取结构化存储,使得基于本体知识库的信息抽取简单、高效。这决定了采用本体组织知识库的问答系统可以更高效、智能的处理用户的提问。
……….
1.2国内外研究现状
英文问答系统研究开始的较早,20 世纪 50 年代的“图灵测试”[1]是关于问答系统最早的构想。通过自然语言问答的方式判断机器是否具有智能。受客观条件限制,问答系统并未在那个时期发展起来。英文问答系统经历了由特定领域到开放领域的的过程。20 世纪 60 年代开始,随着人工智能技术的发展,智能问答系统开始进入起步阶段。这时的系统基于限定领域、结构化数据,由于知识库的建立依赖专家,也称为专家系统[2]。BASEBALL[3]和 LUNAR[4]是其中的佼佼者。BASEBALL 能回答美国篮球联赛的相关问题,LUNAR 可以回答与阿波罗登月计划取回的岩石样本分析结果有关的问题。这类问答系统擅长回答某一领域知识问题,其回答得好坏一定程度上取决于知识的数量和质量。早期的问答系统多采用报刊杂志、百科全书等作为语料库。知识库由领域专家手工录入,这些系统需要耗费巨大的人力物力。20 世纪 90 年代开始,伴随着互联网技术的飞速发展,人类进入信息爆炸时期,互联网上的网页开始成为新的数据源。问答系统的研究从人工智能领域转为信息检索领域、从限定领域进入开放领域。这一时期的问答系统接收用户输入的自然语言问句,返回文档片段或者文档链接。此类问答系统被称为检索式问答系统,实质上仍基于搜索引擎,AnswerBus[5]、Askjeeves[6]是检索式问答系统中的代表。问答系统发展中的一个里程碑事件是 1999 年举办的 TREC-8 会议。会议上开始对问答系统进行测评,即 QATrack[7]。国内外各大著名院校和科研机构例如 IBM、微软、斯坦福大学、复旦大学、中科院等纷纷将自己开发的系统加入测评。IBM 的Guru[8]QA 和 Microsoft 的 ASKMSR[9]是其中很有代表性的系统。
……….
第2章 本体和语义理解综述
2.1本体
基于本体的问答系统只是问答系统众多类型中的一种。本体以其自身优势适合作为知识库的组织方式。本体是概念与概念间关系的集合,其本身就是一种知识体系。以此为基础构建知识库,便于知识的组织、管理和维护。本体最早是个哲学概念,用来研究世界上的各种实体和他们之间的关系。目前,广泛被接受的本体定义是 Studer 提出的,认为本体是明确的形式化的共享概念模型[20]。Perez 等人将本体的构成归纳为 5 个基本元素[21]:概念类、关系、函数、公理和实例,详细说明如表 2.1 所示:由于实践领域不同、知识体系不唯一和相关技术的不成熟,对于本体的构建不同的组织机构提出了不同的构建方法,较著名的有 IDEF-5 法、骨架法、TOVE 法、Methontology 法、循环和获取法和七步法等。虽然方法各异,但 Gruber[22]提出的构建规则得到了业内的普遍认可,RDF(Resource Description Framework)是由 W3C 设计的一种用于描述 web 上资源的通用描述框架。RDF 提供了针对数据描述的模型和语法[23],使得依此构建的数据可以被计算机阅读和理解,为数据交换、连接和重用提供了结构基础。RDF 数据的表示方式为三元组,公式表示为 S=
……….
2.2语义理解
语义理解指机器理解自然语言。随着互联网的发展,出现了各种各样需要理解自然语言的系统,如智能手机语音控制系统、机器人控制系统、大型数据库的解析系统、问答系统等。自然语言意思的表达受语境、说话人语气和说话人习惯等影响,很多情况下句子中还包含需要推理的隐含信息。机器理解人的语言是个十分复杂的研究方向,需要结合传统语义学、语言计算和自动推理等,核心目标是找到一种能将自然语言自动构建成机器能理解的语言的表达方式,并能执行推理。采用逻辑公式作为自然语言与机器能理解语言的桥梁并通过句子结构自动构建逻辑形式是一种不错的方式。Blackburn 和 Bos[26]为使用一阶逻辑公式作为语义表达形式做了有力的论证。一阶逻辑强大、灵活、通用,可以表述大多数情况。一阶逻辑公式包括两部分:用户输入的内容和函数。内容包括:实体、谓词、关系和变量。函数包括:逻辑连接词、量词、其他标点符号(包括逗号和括号)等。一阶逻辑公式,有如下几种表示:原子表示:喜欢(小红,小明)连接:男人(小明) 喜欢(小红,小明)量词表示: x(男人( x))基于一阶逻辑公式的处理过程如下:首先,输入一个句子。例如“小明抽烟。每个抽烟的人都打呼噜。”其次,进行句法分析得出:(S(NP 小明))(VP 抽烟))。然后再进行语义分析,得出“抽烟(小明)”。最后,根据一阶逻辑推理可推理出: x(抽烟( x) 打呼噜( x)),抽烟(小明) 打呼噜(小明)。这个例子证明了一阶逻辑公式具有推理能力。为了完成问句的语义理解,除了现在表达语言,还需要自动构建方法。
……….
第 3 章 基于爬虫的美食本体构建.......13
3.1 美食本体的构建过程..........13
3.2 美食实例的收集.........15
3.3 美食本体与其他开放链接数据的连接..........19
3.3.1 连接 DBpedia.......19
3.3.2 连接 GeoNames...19
3.4 本章小结...........20
第 4 章 问句语义理解........21
4.1 语义理解流程 ...21
4.2 预处理阶段 .......22
4.3 逻辑形式的生成.........24
4.4 打分模型...........27
4.5 SPARQL 查询的构建..........29
4.6 本章小结...........32
第 5 章 系统实现和实验结果分析.......33
5.1系统结构...........33
5.2 系统实现...........34
5.3 实验结果和分析........38
5.4 本章小结...........44
第5章 系统实现和实验结果分析
5.1系统结构
系统的主要结构如图 5.1 所示,系统分为四层:用户层、自然语言处理层、查询推理层和本体层。用户层用于接收用户查询和展示系统返回的答案,提供自然语言查询接口、资源链接查询接口和 SPARQL 查询接口;自然语言处理层用接收来自用户的自然语言问句,并将其处理成 SPARQL 查询;查询推理层接收来自用户的SPARQL 查询,进行推理然后返回答案;本体层存储美食本体和与美食本体建立关联的链接开放数据。本体层中的美食网站数据是美食本体实例的数据源,爬虫在本体的指导下,爬取美食网站数据并以三元组的形式组成实例。本系统在 WINDOWS 7 系统下采用 Java 语言在 eclipse 平台上开发,JDK 版本为 1.7.0,本体构建工具为 Protégé4.3。本体查询和推理平台为 LarKC[45]。LarKC 是欧盟第七研究框架计划的语义技术重大研究与开发项目,其目标是开发海量语义数据处理与推理平台。LarKC 平台是一个采用 Java 实现的语义数据处理系统,支持本体的存储、推理和查询,也是一个基于工作流的平台,可以根据语义