资源描述:
《基于本体的中文智能答疑系统研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
上海交通大学硕士学位论文基于本体的中文智能答疑系统研究与实现姓名:宗裕朋申请学位级别:硕士专业:软件工程指导教师:吴刚;姜丽红20071201 上海交通大学硕士学位论文摘要基于本体的中文智能答疑系统研究与实现摘要随着互联网的普及,网上信息越来越丰富。但是,传统搜索引擎有许多不足之处,它返回的是许多相关的网页,而不是准确的答案。另外,它仅以关键词索引,没有触及到语义信息,因此很难真正理解用户的意图。而在问答(QuestionAnswering,QA)系统中,用户可以使用自然语言进行提问,系统通过对问题分析和理解,直接返回给用户答案。因此问答系统更好地满足了用户的要求。可以说,QA系统是新一代的搜索引擎。近年来,本体(Ontology)受到人工智能领域的普遍关注,并得到了广泛应用。在受限领域QA中采用本体知识库,可以更好的表示知识之间的内在关系,知识的组织更加合理,减少冗余存储,也有利于进行基于语义的答案抽取。本文在分析当前智能答疑系统的前提下,将本体技术引入智能答疑系统(IntelligentQuestionAnsweringSystem,IQAS),构建出一个针对银行个人业务的领域本体,将该本体作为语义理解的信息基础,这样就将在一定程度上改善现有QA中语义理解不足的问题。本文的系统设计模型主要有两个核心模块和两个核心资源,核心模块分别为语法分析模块(LinguisticAnalysis,LA)和语义相似度服务模块(SemanticSimilarityService,SSS)。首先LA将用户的问题经过分词、词性标注和问题模式匹配后得到查询语法块(QueryLinguisticBlock,QLB),并找出对应的问题模式,然后SSS再基于领域本体库和《知网》第I页 上海交通大学硕士学位论文摘要(Hownet)将查询语法块(QLB)映射成与领域本体库相关的本体语义块(OntologySemanticBlock,OSB)。核心资源分别为领域本体库和问题模式库。本文首先根据银行业务领域答疑系统的特点,构建出一个小型领域本体库。然后通过对常见问题的语法分析,建立了问题模式库。对于QLB无法直接映射到OSB的情况,IQAS将计算原问题与一组候选问题的语义相似度,如果计算出的语义相似度高于阈值,则认为这两个问题是相似的,从而将候选问题的答案作为原问题的“替补”答案。针对语义相似度的计算,本文提出了一种基于上下文的计算本体内概念间语义相似度的算法,从概念的父代和子代两个角度进行计算。该算法充分考虑了概念所处的具体环境,充分利用了本体中概念的语义信息。通过本文的研究表明,基于本体的智能答疑系统可以有效地利用领域本体的信息资源,在一定程度上解决了目前答疑系统对语义理解不足的问题,并且能够具有较高的准确率。关键词:本体,答疑系统,语义相似度,问题模式第II页 上海交通大学硕士学位论文ABSTRACTResearchandImplementationofChineseIntelligentAnsweringSystemBasedonOntologyAbstractWiththedevelopmentofInternet,netresourcesbecameincreasinglyrich.However,traditionalsearchengineexistmanydisadvantages.Forexample,itreturnedthewebpagesnottheexactanswers.Furthermore,itwastoodifficulttounderstandthepurposebecausetraditionalsearchenginewhichbasedonthekeywordindexdidnotdealwiththesemanticinformation.ButtheusercouldaskthenaturelanguagequestionsintheQuestionAnsweringSystemwhichreturnedtheanswersdirectlyafteranalyzingandprocessingthequestions.SoitwassaidQAsystemwasthenewgenerationsearchengine.Recently,OntologywaspaidmoreandmoreattentionandgotmanyapplicationsintheArtificialIntelligencearea.InthecloseddomainQAsystem,Ontologyknowledgebasecouldexpresstheinnerrelationandframeworkreasonablyandreducedtheredundancy,whichwasbenefittodrawingouttheanswersbasedonsemantics.AfteranalyzingthecurrentQAsystem,thepaperimportedontologytechniqueintoIntelligentQuestionAnsweringSystem,andbuiltadomainontologyfacedtobankpersonalbusiness.Theontologywastheinformationfoundationofsemanticunderstanding.ThenitwouldimprovethelackingofsemanticprocessinginthecurrentQAsystem.ThereweretwokeymodulesandtwocoreresourcesintheIQASdesignmodel.TheonemodulewasLinguisticAnalysis;theotherwasSemanticSimilarityService.Firstly,wheninputtinganaturallanguagequestion,LAtooksplittingword,wordmarkupandquestionpatternmatching,thenreturnedQueryLinguisticBlockandfoundthecorrespondingquestion第III页 上海交通大学硕士学位论文ABSTRACTpattern.Secondly,SemanticSimilarityServicemappedQueryLinguisticBlockintoOntologySemanticBlock,whichbasedonthedomainontologybaseandHownet.Thetwocoreresourceswereontologyknowledgebaseandquestionpatternbase.Atfirstwebuilttheontologybasedonthefeatureofbankbusinessdomain,andthenthepatternbasewassetupafteranalyzingcommonquestions.WhenQLBwasunabletomapintoOSBdirectly,IQASwouldcalculatethesemanticsimilaritybetweensourcequestionoftheuserandthereplacedquestion.Ifthevalueofthesemanticsimilaritybetweenthemwasgreaterthanthecriticalvalue,wewouldconsiderthemsimilar.Sotheanswerofthereplacedquestionwasthe‘closest’answer.Asemanticsimilarityalgorithmbasedoncontextwasbroughtforward,whichcalculatedtheconceptsimilarityofparentandchildonesintheontology.Thespecificenvironmentofconceptswasconsideredfully,andthealgorithmtookadvantageofthesemanticinformationofconcepts.Theresearchofthepapershowedthat,IQAScouldmakefulluseofthesemanticinformationofdomainontology,anditalsosolvedtheproblemoflackingsemanticunderstandingofthecurrentQAsystemtosomeextendandhadahighcorrectnessratio.Keywords:Ontology,QuestionAnsweringSystem,SemanticSimilarity,QuestionMode第IV页 上海交通大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:宗裕朋日期:2008年1月7日 上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在本学位论文属于不保密√。(请在以上方框内打“√”)学位论文作者签名:宗裕朋日期:2008年1月7日年解密后适用本授权书。指导教师签名:吴刚日期:2008年1月7日 上海交通大学硕士学位论文第一章绪论绪论1.1研究背景问答(QA)系统在信息或知识交流共享过程中,一直具有重要的地位。随着信息社会、知识经济的到来,传统的被动式知识传授已逐步让位于主动式知识探究。人们可以通过教育网站获得某门学科系统地知识,通过政务网站获得某方面的政策法规,通过商务网站获得某一领域或者某一类商品的商务信息。获得的方式已不再满足于最初的消极浏览、关键字检索,人们更希望用最自然,最高效的方式——自然语言问答来表达自己对知识的获取意愿和疑问。本体(Ontology)是一个哲学概念,它指的是对万物本源的追问。近年来,本体受到人工智能领域的普遍关注,并得到了广泛应用。在受限领域QA中采用本体知识库,可以更好的表示知识之间的内在关系,知识的组织更加合理,减少冗余存储,也有利于进行基于语义的答案抽取。目前,国内外很多研究机构都对答疑系统展开了深入的研究。答疑系统虽然已在教育、政府、医院和银行等领域得到了广泛的应用。但是,大多数的答疑系统存在着一些不容忽视的弊端。(1)采用关键词查询方式,搜索效果不理想并且要求用户具有关键词分解的能力。(2)信息可重用率低。(3)答疑的内容作为宝贵的信息资源,无法有效存储和管理。(4)反馈答案的针对性和有效性较差等。针对现有的网上答疑系统,我们引入本体的技术来构造一个领域本体,将该领域本体中包含的知识表示和语义关系应用到网上答疑系统中去。领域本体是本体的一种,针对网上答疑系统面向的某个特定领域,在领域本体中应该包含该领域内的概念、概念的属性、属性对应的实例以及概念与概念之间的关联。这样就把先前的数据库扩展成了一个含有丰富的语义信息的本体库,在一定程度上可以改善目前答疑系统中存在的语义理解不足等问题。第1页 上海交通大学硕士学位论文绪论1.2研究现状国外网站一般都有较好的交互和答疑功能,同时,国外也出现了一些比较成型的,能够为用户解答开放领域或受限领域的问答系统。这些问答系统有:(1)AskJeeves:该系统是美国公司开发的,网址为http://www.askjeeves.com。允许用户用自然语言句子提问,检索系统会自动分析用户的提问,然后通过与用户的交互进一步明确用户的真正意图,这使得用户能够充分表达自己的检索要求,这种检索方式检索到的网页比单纯基于关键词的网页更符合用户的需求。但是,返回的结果仍然是网页,而不是问句的直接答案。(2)START:是麻省理工学院开发的问答系统。于1993年开始发布在Internet上,网址为http://www.ai.mit.edu/projects/infolab/。该系统是第一个面向国际互联网的自然语言问答系统,它能够回答针对MIT信息实验室的地理学知识的用户提问,例如对于问句“Whatisthelongestriverintheworld.”START将会回答“Withalengthof4,180miles,theNileRiveristhelongestriverintheworld.”同时,该系统的答案不局限于文本,也可以是图片、声音或动画等。START系统使用主题——关系——对象三元组的形式存放系统知识以及回答问句,回答问句的能力比较有限,系统的精确性和鲁棒性都比较差[1][2]。同时该系统只支持英语。(3)AnswerBus:网址为http://answerbus.coli.uni-sb.de/index.shtml,也是一个比较成熟的问答系统。AnswerBus是一个多语种的自动问答系统,它不仅可以回答英语的问句,还可以回答法语、西班牙语、德语、意大利语和葡萄牙语的问句。(4)FAQFind:芝加哥大学人工智能实验室开发的FAQFind。该系统预先收集“问答对”库(FAQ库),通过使用语义网分析和概念匹配技术,采用基于向量的搜索引擎从问答对文件中抽取答案。国内的智能答疑系统一般是作为远程网络平台的一个子系统,而不是一个独立的问答系统。很多远程网络平台只是提供一些简单的答疑方式,并没有专门的答疑系统。另外,国内还有一些答疑系统采用较复杂技术,实现了智能的答疑。它们大体上可以分为两类:(1)基于FAQ库的智能答疑系统比较典型的是上海交通大学的远程智能答疑系统。该系统的库存储了用户可能提出的问答对。系统根据用户输入的自然语言句子,自动抽取其中的关键词和库中问句进行关键词匹配,并将最匹配的问句的答案从库中返回给用户。也就是,这类系统只第2页 上海交通大学硕士学位论文绪论是采用简单的基于关键词的匹配技术,并没有涉及用户问句语义理解方面的技术。哈尔滨工业大学也开发过基于常见问句库的问答系统。与上面介绍的系统不同的是,它考虑了词语的语义,采用基于语义的句子相似度计算方法来实现问句的答疑。该系统运用《知网》计算用户问句与库中的问句的词语语义相似度,进而得到句子之间的相似度,将相似度满足一定条件的问句对应的答案从库中返回给用户,这种解答方式深入到了词语的语义。答疑效果要比上面的系统好。(2)基于全文检索的智能答疑系统基于全文检索的智能答疑系统主要利用了信息检索技术来实现答疑。它的特点是知识库不是现成的问句答案对,而是相关文档库。对用户问句进行自然语言理解后,采用信息检索技术对文档库中的文档进行检索后,将文档按与查询的相似度排序输出,最后系统对相似度比较高的文档采用答案抽取技术进行答案抽取后返回给用户。如华南理工大学就开发过类似的系统。针对目前国内外智能答疑系统的发展现状的研究发现,主要存在以下问题:(1)国内的智能答疑系统没有国外发展得快,技术还不成熟。国外的研究成果已经能够在特定领域发挥作用,但是由于这些系统大都是以英语为背景进行研究的,还不能直接移植到中文中来。这是由于中文在使用当中比英文要复杂得多,例如中文需要进行分词处理、英语可以通过词形和时态等的变换来帮助表达意思,而汉语很少具有这些形态的变化,只能以字义和词义为中心来表达意思等。但是,我们可以借鉴国外的研究思路,应用到中文智能答疑系统中。(2)基于全文检索的智能答疑系统,使系统可以回答的问句范围大大加大了,答疑能力得到大大增强。但是,用户的全部问句都完全利用信息检索技术来实现,系统的答疑速度会比较慢,一些用户常问的问句都要重复进行文档库的检索,会很浪费时间,影响用户对系统的使用基于库的智能答疑系统,采用简单的基于关键词的匹配技术不能给用户较准确的答案。运用《知网》计算用户问句与知识库中的问句的词语语义相似度,进而得到句子之间的相似度的答疑系统,虽然考虑了语义这方面,但是没有考虑句子中词语的权重信息。1.3研究意义本文以银行业务领域为例研究智能答疑系统,客户需要到各个银行与工作人员通过面对面的方式来进行答疑。这种方式客户虽然可以得到较为满意的答案,但是同时也存在着很多缺点。对于银行来说,这种方式耗费了大量的人力资源,每个银行根据第3页 上海交通大学硕士学位论文绪论其业务量都需要安排一定数量的工作人员对客户进行答疑,并且客户提出的问题具有很大的相似性和重复性,如果我们将智能答疑系统引入各大银行的门户网站,就可以在一定程度降低银行的人力资源成本,而且良好的答疑系统也提高了银行自身的信誉。对于客户来将也避免了来往于银行的时间,并且直接通过网上的智能答疑系统就能得到满意的答案。1.4研究内容为了对答疑系统进行改进,本文以领域本体作为语义理解的信息基础,如何建立领域本体以及如何充分利用本体中的语义信息是本文的研究的重点。因此基于领域本体的答疑系统要致力于以下三个方面内容的研究:(1)答疑系统的领域本体的构建方法这是答疑系统的基础部分,领域本体构建的好坏将直接影响到答疑系统的准确率。因此在建立的过程中,我们从领域本体所涉及的范围,应用领域本体的目的和答疑的特点等方面来进行考虑。开发一个本体的过程一般包含定义本体中的概念、组织概念与概念之间的关系、然后定义概念的属性并描述其属性的值。这样就可以形成一个较完整的知识库。(2)问题模式匹配用户的问题表述形式多种多样,同一个问题可以用不同的提问方式来表达,但是答疑系统中大多数都是遵从固定的模式。例如提疑问词+定语(一个或多个)+问点。可以结合本体中存储的信息对一般问题模式进行分析研究,建立一个适合答疑系统的问题模式库。(3)问题模糊匹配算法不是所有的问题都能直接映射到本体知识库中,对这些问题借用语义相似度计算找出相近问题。在对目前的比较常用的算法进行分析的基础上,为了充分利用本体中的语义结构信息,提出一个针对答疑系统的基于上下文的模糊匹配算法。1.5论文结构本文在对答疑系统中用户的问题从语义层面上进行理解,提出自己的解决方案,并通过实验进行验证,本文的大致结构如下:第一章:“绪论”,介绍论文的研究背景、研究现状、研究意义、研究内容及论文第4页 上海交通大学硕士学位论文绪论结构。第二章:基于本体的智能答疑系统的模型”,对原型系统的设计目标和模型进行了详细的阐述。第三章:智能答疑系统的领域本体构造”,阐述了领域本体设计原则及步骤,构建适合答疑系统特点的领域本体。第四章:基于本体的智能答疑系统的问题模式匹配”,对中文常见问题结构进行分析,构建答疑系统的问题模式,并对用户提出的问题进行模式匹配。第五章:基于本体的智能答疑系统的语义相似度计算方法”,介绍了典型的语义相似度计算方法,对本体中不同概念之间的语义相似度计算进行了详细的研究,并提出了一种基于上下文的语义相似度计算方法。第六章:基于本体的中文智能答疑系统实现”,对答疑系统实现过程中的关键技术进行详细的阐述,并且通过实验对各项指标进行测试,从而验证本文提出的技术和算法的有效性。第七章:“总结与展望”,总结全文并对本文中需要进一步研究的地方进行阐述。第5页“““““ 上海交通大学硕士学位论文第二章基于本体的智能答疑系统的模型第二章基于本体的智能答疑系统的模型2.1系统设计目标智能答疑系统的研究主要致力于改善现有的答疑模式,利用建立的银行领域本体库中的资源,通过机器处理充分理解用户提出的问句,从而返回答案,减轻银行业务人员的负担,提高银行服务的质量和效率。因此答疑系统的总目标是系统自动理解用户提出的问句,给出较为满意的答案。银行领域中所涵盖的知识繁多,建立适应整个银行领域的本体知识库工作量巨大,很难实现。本文所涉及到的是银行业务领域,主要是满足客户对常见银行个人(非企业)业务提问的需求。笔者建立智能答疑系统具有以下两个主要功能:(1)自然语言处理功能自然语言处理功能主要是指把用户提出的自然语言问句文本转化为计算机能够处理的语言。包括分词、词性标注和问题分类,是整个智能答疑系统实现的基础。(2)查询功能这一功能是智能答疑系统的核心。计算机理解自然语言后,在本体知识库中进行检索,返回与问句文本相似的一组问题,并按相似度的高低有序的排列。其中问句相似度计算的方法设计的好坏直接影响整个答疑系统最终效能。除了满足上述的两大功能外,智能答疑系统也应该满足性能上的需求。智能答疑系统的性能主要从智能性和准确性两个因素考虑。如果智能性差,就体现不出自然语言理解的特点,就失去了智能的意义。如果准确性太低,就失去设计答疑系统的意义。(1)智能性智能性方面是指系统借助本体的语义信息对自然语言的理解。如用户输入“什么是网上银行?”、“网银是什么?”和“网上银行的定义?”应该认为是同一个问句,这就为回答问句的准确性提供了一定的保证。(2)准确性用户输入问句后,要求返回的答案与问句相匹配,答疑系统应该返回用户所想要第6页 上海交通大学硕士学位论文第二章基于本体的智能答疑系统的模型的答案。系统的准确性主要考虑以下三个方面问句:1)不同用户输入相同的问句,但表达方式不一样,给出的答案要求正确、一致,如“如何挂失建行龙卡?”和“龙卡怎样挂失”;2)用户两次输入问句中使用同义或者近义的关键词问句,系统也能够给出答案;3)用户使用相关词语提问,系统也能给出适当答案。2.2系统设计模型2.2.1系统的数据模型首先,我们以一个简化的瀑布模型来描述本文介绍的智能答疑系统的数据模型,如图2-1。在这个简化模型中可以看出,用户输入的自然语言问题经过语法分析和查询分类转化为一组查询语法块(QueryLinguisticBlock,QLB),这组查询语法块作为语义相似度服务的输入做进一步处理,输出与具体领域本体相关的本体语义块(OntologySemanticBlock,QSB)。输入自然语言问题语法分析&查询分类查询语法块(QLB)本体语义块(OSB)语义相似度服务(SemanticSimilaritySevice)答案引擎答案图2-1智能答疑系统的数据模型Fig.2-1theIQASdatamodel例如,在银行业务领域里,用户提问“交行信用卡的透支额度是多少?”,在经过语法分析后,将这个问句切分成这样一组查询语法块:<交行,信用卡,透支额度,多少>,“交行”和“信用卡”两个概念是透支额度的定语,“透支额度”是该问题的问点,疑问词是“多少”。然后语义相似度服务(SemanticSimilarityService,SSS)将QLB映射成OSB<(交通银行,信用卡)信用额度>,SSS会基于领域本体库和《知网》将用户提出的问题进行规范化,因此OSB中出现的概念都是规范化的概念,这样有利于系统对问题的第7页 上海交通大学硕士学位论文第二章基于本体的智能答疑系统的模型理解以及答案的提取。2.2.2系统的架构智能答疑系统的开发平台为VisualStudio2005,采用Client-Server结构。中文分词与词性标注采用的是哈尔滨工业大学开发的LTPDLLLibrary,图2-2描述了智能答疑系统架构中各个不同的组件。语法分析模块(LA)和语义相似度服务模块(SSS)是IQAS中的两个核心模块。LA的主要任务是对自然语言进行分词、词性标注和问题分类。问题的自动分类是基于领域问题模式库的,LA通过正则表达式对用户提出的问题与问题模式库进行匹配,这个功能将在第四章详细讨论。SSS的主要功能是计算语义查询块中的概念与领域本体中规范概念间的语义相似度。具体的相似度算法将在第五章进行阐述。为了减少对本体知识库的访问和保证实时的答疑速度,以及多用户并发访问服务器情况下的正常运行,IQAS在初始化的过程中,将一些本体知识库的资源进行缓存。这些缓存信息是动态的,IQAS会根据访问量的多少等一些参数动态更新这些信息。为了使IQAS更适应具体的领域背景,配置文件是不可或缺的。很多重要的参数都保存在这个配置文件中,例如领域本体名、服务名、登陆信息以及领域本体中一些具有特别含义的概念等。此外,配置文件中还有一个参数与领域本体相关,那就是疑问词。疑问词在不同的领域中所涉及到的概念可能是不同的,例如“谁”,在有的领域是询问“人”,而在有的领域是询问“组织”。本文涉及到的银行业务领域,“多少”,“哪里”和“什么”分别对应着“数量/电话号码”、“地点”和“定义”。第8页 上海交通大学硕士学位论文自然语言分词组件第二章基于本体的智能答疑系统的模型领域问题模式库语法分析模块查询接口查询语法块相似度用户提问用户反馈语义相似度服务模块计算服务?答案初始答案本体语义块配置文件回答接口答案引擎知网本体Hownet知识库图2-2智能答疑系统的架构Fig.2-2theIQASglobalarchitecture2.3本章小结本章介绍了智能答疑系统(IQAS)的设计目标和设计模型。第一节主要阐述了自然语言处理功能和查询功能,以及智能性和准确性两个性能上的需求。第二节主要从系统的数据模型和架构两个方面介绍了IQAS的原型。第9页 上海交通大学硕士学位论文第三章智能答疑系统的领域本体构造第三章智能答疑系统的领域本体构造3.1本体3.1.1本体的定义Ontology最早是一个哲学上的概念,从哲学的范畴来说,Ontology是客观存在的一个系统的解释或说明,关心的是客观现实的抽象本质。1993年,Gruber给出了Ontology的一个最为流行的定义[3],即“Ontology是概念模型的明确的规范说明”。后来,Borst在此基础上,给出了Ontology的另外一种定义[4]:“Ontology是共享概念模型的形式化规范说明”。Studer等对上述两个定义进行了深入的研究,认为Ontology是共享概念模型的明确的形式化规范说明。这包含四层含义[5]:概念模型、明确(explicit)、形式化和共享。“概念模型”指通过抽象出客观世界中一些现象的相关概念而得到的模型。概念模型所表现的含义独立于具体的环境状态。“明确”指所使用的概念及使用这些概念的约束都有明确的定义。“形式化”指Ontology是计算机可读的(即能被计算机处理)。“共享”指Ontology中体现的是共同认可的知识,反映的是相关领域中公认的概念集,即Ontology针对的是团体而非个体的共识。Ontology的目标是捕获相关领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇(术语)和词汇间相互关系的明确定义。本文中所涉及到的本体主要是指知识工程领域的本体,虽然目前对本体还没有一个公认的定义,对本体的描述也各不相同。但是我们还是可以发现它们有一些公共的特征,即概念化、形式化说明、领域知识和共同认可的客观存在。因此我们可以认为:本体由于组织较高层次的知识抽象,描述领域知识,它通过捕获相关专业领域的知识,确定领域内共同认可的概念和概念间的关系,从而提供对该领域的共同理解。第10页 上海交通大学硕士学位论文第三章智能答疑系统的领域本体构造3.1.2本体的分类本体的分类可以从多个角度来考虑,目前还没有能够被广泛接受的分类标准。由于我们在本文中讨论的智能答疑系统是针对某个特定领域的,其中用到的本体属于领域本体的范畴,因此我们这里参照Guarino在文献[8]中提出的本体分类标准。Guarino指出以详细程度和领域依赖度两个维度作为对本体划分的基础。详细程度是相对的、较模糊的一个概念,指描述或刻画建模对象的程度。详细程度高的称作参考本体,详细程度低的称为共享本体。依照领域依赖程度,可以细分为顶级(TopLevel)本体、领域(Domain)本体、任务(Task)本体和应用(Application)本体四类。其中,顶级本体描述的是最普通的概念及概念之间的关系,如空间、时间、事件、行为等,与具体的应用无关,其他种类的本体都是该类本体的特例。领域本体描述的是特定领域中的概念及概念之间的关系。任务本体描述的是特定任务或行为中的概念及概念之间的关系。应用本体描述的是依赖于特定领域和任务的概念及概念之间的关系。3.1.3智能答疑系统的本体特点从功能上来看,本体同数据库有些相似,两者都能在某种程度上独立于应用程序获得对数据或者知识的独立性[9]。不同的是,Ontology通过在应用程序之外去确定和管理领域的语义信息而获得语义的独立性,而数据库模式通过建立规范及对应用程序之外存储的数据元素的管理获得数据的独立性。Ontology提供的是领域的知识,数据库模式则侧重的是提供数据容器的结构。Ontology的目标重点在于知识的共享,数据库模式则不侧重这个问题。可见,本体在表述知识上是比较完整和全面的,语义信息也很丰富,而且它还提供了对知识推导的支持。答疑系统中使用的本体属于领域本体。领域本体是本体的一种,它包含某个特定领域内的所有概念(某个领域里的术语在领域本体里称为概念)、概念的属性以及概念之间的关联,并使用形式化的方法将概念、概念的属性、概念之间的关联关系表达出来,以方便计算机直接进行操作,并能对知识进行推导。第11页 上海交通大学硕士学位论文第三章智能答疑系统的领域本体构造3.2领域本体设计原则Gruber在1993年提出了本体的五点设计原则[3]:明确性/客观性:本体应该用自然语言对所定义的术语给出明确的、客观的语义定义。一致性:由术语得出的推论同术语本身的含义是相容的。可扩展性:本体提供一个共享的词汇,这个共享的词汇可以支持在己有的概念基础上定义新的术语,以满足特殊的需求,而无须修改己有的概念定义。最小编码误差:本体应该处于知识的层次,而与特定的符号级编码无关。对本体表示形式的选择不应该只考虑表示上或者实现上的方便。概念的描述不应该依赖于某一种特殊的符号层的表示方法,不能依赖于某种确定的语言,因为实际的系统可能采用不同的知识表示方法。最小本体承诺:对待建模对象给出尽可能少的约束。3.3领域本体构造步骤本体的创建过程是一个相当费时费力的过程,需要一套完善的工程化的系统方法支持。答疑系统中的领域本体是针对某个特定领域的,本文将以银行个人业务为例构建领域本体。1.确定本体的专业领域与范畴首先,我们要明确构建的本体所要覆盖的专业领域、使用该本体的目的、本体应该能回答哪些类型的问题以及它的系统维护者与应用对象。这些问题限制模型的范畴,所以需要相对稳定。例如在本文中是以银行个人业务作为研究对象的,那么该领域本体覆盖的专业就是银行涉及到个人(非企业)的业务,应用该领域本体的目的是利用智能答疑系统解决用户关于银行常见个人业务的疑问,它的应用对象是对银行个人业务感兴趣或有疑问的客户。确定领域本体范围的方法之一是列出基于本体的知识库能够回答的问题清单。通过这些问题可以得到对这个领域本体是否包含回答这些类型问题的足够的信息、问题的答案是否需要特定层次的详细信息或特定专业领域的表示方法、这些问题是否保留成为提纲形式,而不需要细化的解释。2.复用现有本体第12页 上海交通大学硕士学位论文第三章智能答疑系统的领域本体构造我们应该考虑在现存的资源中有没有可以为某个特殊的领域和任务所能提炼和扩展的本体。如果系统需要和其它的应用平台进行互操作,而这个应用平台又与特定的本体或受控词表连锁在一起,那么复用现有的本体是行之有效的方法。许多本体已经以电子资源的形式可以利用,并且可以被转入你所使用的本体开发环境中。本体的表达形式并不重要,因为现在许多知识表示系统能够转入转出本体。即使一个知识表示系统不能直接对某种形式的本体起作用,该本体从这种形式转换为另外一种形式也不是很困难的一件事。目前在网上和一些文献中有一些可以复用的本体。例如:Ontolingu的本体文库、DAML的本体文库、UNSPSC和DMOZ等。3.列出领域本体中的概念列出一份所有术语的清单,这些术语是需要声明或解释给使用者的,包括我们所要讨论的术语,术语所具有的属性,对于这些术语我们将要说些什么等。例如说,和银行业务相关的重要术语包括:信用卡、开户、挂失、网上银行、利息等;首先,需要一份最全的术语清单,而不要担心清单上的概念之间的关系或概念所具有的属性会有所重复。4.列出每个概念的属性和属性值仅仅有类还不能提供足够的信息来回答基于本体的知识库中的问题,因此除了定义类外,还必须描绘概念间的内在结构。我们已经从创建的术语清单中选择了类名,剩下的大部分术语就属于类的属性了,例如:龙卡的透支额度、美元的汇率。5.确定概念的关联关系根据《知网》的描述,概念与概念之间的各种关系大约有7种,如上下位关系、同义关系、反义关系、部分整体关系、事件角色关系、场所事件关系、相关关系等。我们认为,对于智能答疑系统而言,主要用到这些关系中的3种,即为同义关系、部分整体关系和上下位关系。(1)同义关系领域中的同一概念可能存在不同的表示方法。例如,银行卡中“MasterCard”又称“万事达卡”。因此,这两个概念就存在着同义关系。如图3-1,用不带箭头的实线来表示同义关系。MasterCard万事达卡图3-1同义关系Fig.3-1Synonymy-ofrelation第13页 上海交通大学硕士学位论文第三章智能答疑系统的领域本体构造(2)部分整体关系如果概念A是概念B的一个组成部分,则称概念A同概念B之间存在部分整体关系。例如,四大国有银行包括中国工商银行、中国农业银行、中国银行、中国建设银行。如图3-2,我们可以用带箭头的虚线来表示这种部分整体关系。四大国有银行中国工商银行中国农业银行中国银行中国建设银行图3-2部分整体关系Fig.3-2Part-ofrelation(3)上下位关系上下位关系表示的是概念之间包含与被包含的关系,也可以称为继承关系。例如,“软件开发模型”包含“瀑布模型”、“增量模型”、“喷泉模型”和“螺旋模型”,因此概念“瀑布模型”继承了概念“软件开发模型”,或者称概念“瀑布模型”是概念“软件开发模型”的特化,而概念“软件开发模型”是概念“瀑布模型”的泛化。如图3-3,我们用实线粗箭头来表示这种概念之间的上下位关系。银行卡理财卡借记卡准贷记卡贷记卡证券卡图3-3继承关系Fig.3-3Kind-ofrelation6.定义概念的等级体系在领域本体中建立概念等级体系的方法有以下几种:(1)由某一领域中最大的概念开始,而后再通过添加子类将这些概念细化。(2)由最底层、最细小的概念的定义开始,然后将这些细化的类组织在更综合的概念之下。(3)首先定义很多非常显而易见的概念,然后分别将它们进行恰当地归纳和细化。从一些顶层概念着手,将它们与一些中级概念关联起来。第14页 上海交通大学硕士学位论文第三章智能答疑系统的领域本体构造至于在具体实现时采取哪种方法,则依赖于开发人员对特定领域的个人观点。7.创建实例为领域本体中的概念类添加实例。例如对概念“理财卡”,可以添加“钻石卡”、“白金卡”、“金卡”、“银卡”等作为它的实例。如图3-4,我们用实线细箭头来表示概念的实例关系。理财卡钻石卡白金卡金卡银卡图3-4实例关系Fig.3-4Instance-ofrelation8.概念的形式化描述我们采用类来对领域本体中的概念、概念的定义、属性等对象进行描述。<概念>::=实体类{概念的定义:属性:同义关系:{}部分整体关系:上下位关系:相关关系:实例:}例如,概念“借记卡”可以描述为:<借记卡>::=实体类{概念的定义:<借记卡是指先存款后消费(或取现),没有透支功能的银行卡。按功能不同,又可分为转账卡(含储蓄卡)、专用卡及储值卡,是一种具有存取款功能的卡,它还附加了转账、买基金、炒股等众多理财等功能,还提供了大量增值服务。>第15页 上海交通大学硕士学位论文第三章智能答疑系统的领域本体构造属性:<优势:自由刷卡的同时享受活期存款利率,办理各项代收代付业务轻松自如。>同义关系:{}上下位关系:<银行卡(父概念)>相关关系:<中国建设银行,中国农业银行,中国银行……(“发行”关系)>实例:<储蓄卡,生肖卡,储蓄联名卡>}9.银行本体关系网龙卡拥有持卡人客户人卡号卡发行银行信用卡借记卡网站普通信用卡注:Kind_of:储蓄卡instance_of:办理Attribute_of:营业柜台Part_of:中国建设银行relevant_of:图3-5银行本体间关系网络示意图Fig.3-5SketchmapofrelationnetworkofBankOntology3.4本章小结本章首先介绍了本体的定义和分类,并阐述了智能答疑系统中蕴含的本体特点。在第三节中详细介绍了如何构建领域本体,一个完善的领域本体是智能答疑系统的基础,它将直接影响到语义相似度计算的准确性以及答疑系统的智能性。第16页 上海交通大学硕士学位论文第四章基于本体的智能答疑系统的问题模式匹配第四章基于本体的智能答疑系统的问题模式匹配在基于自然语言的答疑系统中,首先需要对用户所提出的问题进行分析处理。对于同一个问题,用户可能有多种提问方式。因此,需要对问题多种提问方式的情况进行分析,以便能够得到一种或多种统一的表示方式,这种表示方式称之为问题模式,方便于答疑系统的处理。基于这种想法,提出用问题模式抽取的方法。中文的问句分为疑问句、反问句和设问句,本文主要针对的银行领域只处理询问信息的疑问句。疑问句主要分为是非问句、选择问句和特指问句。本文对这三种类型的问句都提出了相应的解决方案。本章讨论的问题模式主要针对的是非问句和特指问句。关于选择问句将在第六章进行讨论。4.1构造问题模式库当用户提出问题后,语法分析模块需要将自然语言转换成查询语法块(QLB),这个预处理的过程有助于进行下一步的语义相似度计算服务(SSS)和找出准确的问题答案。该系统的分词组件采用的是哈尔滨工业大学开发的LTPDLLLibrary。在LTP执行后,系统将得到一组对用户问题进行了词性标注的QLB集合,这些QLB包括疑问词、名词、动词、形容词等。值得注意的是,在语法分析阶段是独立于本体知识库的,即QLB中的词语并非领域本体中的规范概念,而只是一系列用户自定义(可能与本体库的概念一致或相似)的术语。根据对百度知道(http://zhidao.baidu.com)中关于银行业务问题的分析,笔者总结出三种主要的问题模式,它们分别是判断型、描述型和事件型。4.1.1判断型问题模式这类问题通常的答案很简单,“是”或者“否”。例如,银行卡会不会自动注销?”、“交通银行能不能‘以卡办卡’?”它们通常含有“是不是”、“有没有”和“会不会”这样的特征词,所以,该问题模式也是很好识别的。然而,凭借领域本体很难直接找出问题的答案,因为在本体知识库中基本上不可第17页 上海交通大学硕士学位论文第四章基于本体的智能答疑系统的问题模式匹配能存在“银行卡不能自动注销”这样的知识。但是,知识库中却很可能存在“银行卡自动注销的期限为三年”的知识。所以,我们有必要将判断型问题模式转化为描述型模式。例如“银行卡会不会自动注销?”可以根据“银行卡”和“自动注销”两个QLB,在语义相似度服务阶段将问题转化为“银行卡自动注销的期限是多少?”通过问题模式的转换可以一定程度上解决不能直接回答判断型问题的困扰,但是同时另外一个弊端又出现了,当领域本体库中由于缺少转换后的描述型问题的知识,使系统给出否定的答案。例如,知识库中不存在“以卡办卡”的概念,所以对于“交通银行能不能‘以卡办卡’?”做出“不能”的答复,而实际上答案应该是肯定的。这个弊端只有通过与用户进行实时交互或者完善领域本体的知识的方式才能得以克服。4.1.2描述型问题模式描述型问题模式分为简单型和复杂型。例如,“什么是网上银行?”就属于简单型,转换为QLB:<什么,网上银行>,网上银行前不存在任何定语。“建设银行龙卡的信用额度是多少”则属于复杂型,转换为QLB:<(建设银行,龙卡),信用额度,多少>,可以看出存在的三个名词中,“信用额度”是真正的问点,而“建设银行”和“龙卡”是定语(修饰词),“建设银行”是“龙卡”的定语,“龙卡”是“信用额度”的定语。根据汉语的语法习惯,往往最后出现的名词是问点。距离问点越近的名词所携带的信息量更具体,例如,“龙卡”比“建设银行”更具体,系统可直接根据“龙卡”去查询它的属性是否含有“信用额度”,而无需借助“建设银行”这个概念的信息。4.1.3事件型问题模式这种问题模式的问题询问的是一个具体的事件(或者说是概念与概念间的具体关系)。例如,“如何申请交通银行的信用卡?”该问句转换为QLB<如何,申请,交通银行,信用卡>,该问题的问点是“关系”,即客户与交通银行的信用卡的申请关系。该模式的问题通常含有动词,像例子中的“申请”,这个动词反映的就是施动者与受动者的关系。第18页 上海交通大学硕士学位论文第四章基于本体的智能答疑系统的问题模式匹配4.2问题模式的规范化4.2.1问题模式的确定借助领域词库的信息对用户提出的问题进行分词和词性标注处理后,能够得到一组查询语法块(QLB),然后对这些QLB进行分析来确定问题模式。如图4-1,首先判断是否含有动词,如果含有动词则问题就属于上述的事件型问题模式。如果不存在动词,进一步判断是否含有判断特征词,例如“是不是”,“有没有”等,如果含有这类词语,则问题属于判断型问题模式。对于既没有动词又没有判断特征词的问题系统会暂时把其归为描述型问题模式。如果QLB含有多个名词,则问题属于复杂的描述型模式,QLB中将有一个或多个名词来修饰问点。当然,随着问题的增多,可能出现用户提出的问题不属于以上三种问题模式,这时,有一种解决方法就是扩容问题模式库。随着问题模式库的增加,一方面可以提高用户提出的问题与问题模式的匹配度,但另一方面也会增加进行问题模式匹配的复杂度,同时还可能出现一个问题属于多个问题模式的情况。本章提出的这三种问题模式基本涵盖了用户提问的典型问题(除了选择问句),并且模式之间是不相交的。第19页 上海交通大学硕士学位论文第四章基于本体的智能答疑系统的问题模式匹配问句分词/词性标注查询语法块(QLB)是否含有动词否是否含有是是判断特征词否判断型问题模式描述型问题模式名词个数>1否是简单描述型复杂描述型事件型问题模式图4-1问题模式匹配流程图Fig.4-1Questionpatternmatchingflowchart4.2.2查询语法块的转化由于中文语言表述具有多样性的特点,同义表意往往有许多字眼上的差别,按照提问句子的单一表达进行检索,只能得到字面上有相同内容的问句,而很多字面上不同但表意吻合的问句将不可避免地被忽略掉。利用本体技术为原理的关键词改写与扩展能一定程度地解决此问题。主要原理是对之前提取出来的查询语法块通过领域词库获取同义词,一并加入到查询序列进行检索。这一步骤的增加能提高问题匹配的查全率和查准率。当用户提出的问题不够准确时(例如领域词输入错误),还可以根据领域词库的信息,将错误的查询语法块进行转化。第20页 上海交通大学硕士学位论文第四章基于本体的智能答疑系统的问题模式匹配4.3本章小结本章详细论述了IQAS中问题的模式匹配。用户输入一个自然语言描述的问题,IQAS按照分词算法对问题进行自动分词和词性标注,得到问题的QLB。借助领域词库和问题模式库中的信息,对这组QLB进行分析,确定问题的模式。问题模式分为三类:判断型、描述型和事件型。第21页 上海交通大学硕士学位论文第五章基于本体的智能答疑系统的语义相似度计算方法第五章基于本体的智能答疑系统的语义相似度计算方法第四章我们给出了借助领域词库和问题模式库进行问句模式匹配方法,但是很多情况下查询语法块(QLB)与领域本体库的概念不是完全一致的,即QLB不能直接映射成为OSB。因此,我们就需要借助领域本体的语义信息,检索与QLB相似的概念形成一组候选的语义本体块(OSB)集。在这一章中,我们给出了一种语义模糊匹配的方法,其基本原理是将用户提出的自然语言问题和一组候选的OSB进行语义相似度的计算,将计算出的语义相似度同已设定好的语义相似度阈值进行比较,若计算出的语义相似度高于语义相似度阈值,则认为该OSB提供的答案与原问题答案是相似的。5.1典型的语句相似度计算方法5.1.1基于向量空间模型的TFIDF方法向量空间模型(Vector-spacemodels,即VSM)[11][12][13][14]的主要思想是按照信息中各个关键词的出现频率建立关键词向量,根据各关键词向量在向量空间中的夹角确定用户文档与对象的特征向量的相似度,把最相似的对象返回给用户,并通过用户反馈,更新用户文档。向量空间模型是60年代末由Salton,G.等人提出的,它是近些年来所研究的信息检索方法的一个分支[15]。由于向量空间模型是建立在规范的数学模型基础上,所以该模型在信息检索领域应用最为广泛。其中最为著名的应用该模型的检索系统是Smart系统。向量空间模型用特征项及其相应权值代表文档信息,所以其应用前提是一篇文档的中心涵义能通过其中的词汇信息(即特征项)体现出来。在进行信息检索时,文档与查询请求之间的相关程度是通过向量运算来描述的。VSM的基本概念如下:1.2.文档(Document):泛指一般的文献或文献中的片断,通常用来表示一篇文章。特征项(Term):当文档的内容被简单的看成是它含有的基本语言单位(字、词、词组或短语等)所组成的集合时,这些基本的语言单位统称为特征项,即文档可以用第22页 上海交通大学硕士学位论文第五章基于本体的智能答疑系统的语义相似度计算方法项集(TermList)表示为D(t1,t2,L,ti,Ltn),其中ti是第i个特征项,1≤i≤n。3.4.5.特征项权值(TermWeight):对于含有n个项的文档D(t1,t2,L,ti,Ltn),特征项ti常常被赋予一定的权值w,表示他们在文档中的重要程度,即D(,,L,,L),为描述方便,将文档简记为,w所示:Q=(q1,q2,L,qi,Lqn),qi是用户查询请求中第i个特征项的权值,1≤i≤n。VSM:给定一篇文档D(,,L,,L),由于ti在文档中既可以重复出现又应该有先后次序的关系,分析起来有一定的难度。为简化分析,可以暂不考虑ti在文档中的先后顺序并要求ti互异(即没有重复)。这时可把,,w,w,w相似度(Similarity):用来度量文档之间或用户的信息需求之间的(内容)相关程度。,u与用户需求模型U向量之间的相似度用公式(5-1)来计算:n∗uk=1或用向量的夹角余弦值来表示,见公式(5-2):(5-1)Sim(D,U)=cos(d,u)=nk=1nnk=1k=122kkk∗uk(5-2)将文档表示成能单独加权和操作的特征项集合,再在TD空间上计算文档向量和用户需求模型之间的相似度[16][17][18],最后提供给用户一组按相似度降序排列的文档列表。第23页D(w12,L,wi,Lwn)。同理,用户的信息需求也可以用向量形式表示出来,如下t12t,L,tn看成一个n维的坐标系,而w12,L,wn为相应的坐标值,从而D(w12,L,wi,Lwn)可以看成是n维空间(特征项文档空间,即TD空间)中的一个向量。我们称(w12,L,wi,Lwn)为文档D的向量表示。相应地,用户需求模型也表示为空间向量模型,表示为U(u12,L,ui,Lun)文档DSim(D,U)=∑wkkurr∑w(∑w)⋅(∑u) 上海交通大学硕士学位论文第五章基于本体的智能答疑系统的语义相似度计算方法以上阐述了向量空间模型的基本思想,下面我们对哈尔滨工业大学王洋等提出的句子相似度计算模型在FAQ中的应用[10]进行分析,若FAQ中所有包含的所有的词为w1、w2、……、wn。,则FAQ中的每一个问句都可以用一个n维的向量:T=来表示,Ti代表问句中的关键词,Ti(1≤i≤n)的计算方法为:设n为在这个问句中出现的个数,m为FAQ中含有Ti的问句的个数,M为FAQ中问句的总数,那么Ti=n*log(M/m)。从这个式子中可以看出,出现次数多的词将赋予较高值,但这样的词并不一定具有较高的log(M/m)值。例如,在汉语中的“的”出现的频率非常高,即TF的值(n值)很大,但由于“的”在很多文档中都出现,它对于分辨各个文档并没有太大的帮助,它的IDF值(log(M/m))将是一个很小的数。因此,该方法综合地考虑了一个词的出现频率和这个词对不同文档的分辨能力。用同样的方法,可以计算目标问句的维向量T’=。得到T和T’后,它们所对应的两个句子之间的相似度就可以利用T和T’这两个向量之间夹角的余弦值来表示,见公式(5-3):’nni=1i=1ni=1iii2’(5-3)TFIDF方法综合考虑了不同的词在问句中出现频率(TF值)和这个词在整个中对不同句子的分辨能力(IDF值)。通过测试一些实例发现该方法效果并不明显。该方法只有当句子所包含的词比较多时效果才好,因为它是一种统计的方法,只有当句子包含的词数越多,相关词才会重复出现,这种统计的效果才能体现出来,而在本系统中,用户提出的问句大多是单个句子,句子中包含的词的个数往往不足以体现这种方法的效果,因此TFIDF方法在本系统中不具有实用性。5.1.2基于语义相似度的计算方法计算句子语义相似度,需要一定的语义知识资源作为基础。这里主要采用董振东和董强先生创建的《知网》作为系统的语义知识资源,来讨论哈尔滨工业大学的王洋[8]的相似度。要计算词语之间相似度首先需要计算两个词之间的语义距离。《知网》中存在Entity、Event、Attribution等10棵义原树,但是有些义原树里面的义原没有父第24页Sim(T,T)=∑T∑∑TT2等在问答系统中提出的句子相似度算法。计算句子语义相似度,先要计算词语之间 上海交通大学硕士学位论文第五章基于本体的智能答疑系统的语义相似度计算方法子关系,并不体现上述的词与词之间的上下位特征,因此无法使用。王洋等在10棵义原树中总共选取了以下6棵义原树用来计算词的语义距离:Entity、Event、Attribution、Avalue、Quantity、Qvalue。王洋等把语义距离定义为两个词对应的义原在义原树中的最短距离。他们认为如果两个词中有一个词的义原无法在上述中提到的6棵义原树中找到,或者两个词的义原分别处于两个不同的义原树,认为这两个词之间的语义距离为∞。设两个词的U、V之间的语义距离为p,那么U、V之间的相似度可以用公式(5-4)计算:Sim(U,V)=D0(H−L))p≠∞p=∞(5-4)这里的H和L是两个词之间相似度可能取得的最大和最小值。在王洋等创建的系统中,令还H=1,L=0。D是U、V所在的义原树的中两个义原的语义距离可能的最大取值。即如果某个义原树中深度最大的两个义原的深度分别为D1、D2,那么这棵语义树的D=D1+D2。注意,根据上面所说,当p≠∞时,U、V的义原必定是在同一棵义原树中,因此关于D的定义是合理的。有了词与词之间的语义相似度就可以计算句子间的语义相似度。设两个句子A和B,设A包含的词A1、A2……、Am,B包含的词B1、B2……、Bn。词Ai(1≤i≤m)和Bj(1≤j≤n)之间的相似度S(Ai,Bj)表示,这样就得到一个m*n的矩阵,见公式(5-5):S(A1,B1)S(A1,B2)...S(A1,Bn)............S(Am,B1)S(Am,B2)...S(Am,Bn)(5-5)利用这个矩阵,可以用公式得到A,B两个句子之间的语义相似度Sim(A,B),见公式(5-6):Sim(A,B)=mi=1i1i2inm(5-6)该计算方法没有考虑词语在句子中的权重,同时对一个语句的分句或短语发生整体的移动后的相似度计算也存在的一定的不足,没有充分利用问句文本的特征信息,对本系统不具有实用性,本文提出新的语句相似度计算方法,该算法将问句中的词语第 25页H−(p×M(A,B)=∑max(S(A,B),S(A,B),...,S(A,B)) 上海交通大学硕士学位论文第五章基于本体的智能答疑系统的语义相似度计算方法分为问点、定语、疑问词和判断特征词,然后分别借助领域本体库和《知网》的语义信息来计算语句的相似度,能够在一定程度上提高IQAS的智能性和准确性。5.2本文的语句相似度计算方法5.2.1词语相似度计算针对IQAS的特殊性,本文将问句中词语计算相似策略度分为两类。一类是采用基于《知网》的词汇语义相似度计算方法,主要针对疑问词和一些通用概念(非领域概念),例如“如何开通网上银行?”中的“如何”和“开通”。另一类是基于领域本体库的,主要是针对问点和定语,例如“建行的龙卡大学生卡的透支额度是多少?”,问点“透支额度”和定语“建行”、“龙卡”和“大学生卡”都属于银行业务这个特定领域,所以语义相似度借助领域本体库的信息,采用基于上下文的语义相似度计算方法,下面将详细阐述基于上下文的语义相似度算法。5.2.2自底向上相似度计算方法本体的上层概念,可能是一个很模糊的概念,甚至名称与实质含义联系不大,此时根据《知网》[4]计算出的相似度,准确性很低。例如,两个本体中都存在一个相同名字的概念“教员”,其中一个的子概念为“博士后,教授,讲师,领导,管理员”,另一个的子概念为“教授,讲师,博士后”,则这两个概念虽然在运用《知网》计算时其语义相似度为1,实际不准确。所以自顶向下这个方向采用基于信息量的模型计算语义相似度。如果两个概念共享的信息越多,那么它们在语义上就越接近,语义相似度就越大。每个概念都是从它们的祖先结点细化的,理论上说该概念应该包含着它祖先结点的所有信息内容。如果两个概念同时拥有一个祖先结点,那么它们就都共同拥有该祖先结点的信息内容。根据以上原理,两个概念的语义相似度可以用两个概念的最近共同祖先结点所包含的信息内容来衡量。如果一个概念在该特定领域的文集中出现的概率越大,那么说明该概念越抽象,它所携带的信息量就越少;反之,就越多。例如,在下图的分类结构中,抽象概念“脊椎动物”所携带的信息量要远远的少于更为具体的概念“胎生动物”。第26页 上海交通大学硕士学位论文脊椎动物第五章基于本体的智能答疑系统的语义相似度计算方法动物界无脊椎动物哺乳动物鸟类鱼类软体动物节肢动物胎生动物卵生动物头足纲腹足纲金丝猴熊猫鸭嘴兽乌贼章鱼图5-1动物分类结构Fig.5-1thelevelstructureofanimal概念的信息量可以通过如下公式(5-7)来计算[7]:Sinfo(e)=log1p(e)(5-7)其中p(e)指概念e在文集中出现的概率,Sinfo(e)是概念所拥有的信息量。在一个等级结构中,随着结点层次的上升,p(e)增大,则Sinfo(e)减少,它们是一种反单调关系。依据以上原理,存在于本体中两个概念之间的语义相似度可以用公式(5-8)来计算:e∈Top(e1,e2)e∈Top(e1,e2)1p(e)](5-8)其中Top(e1,e2)是结点e1和e2的共同的祖先结点集。它们的语义相似度则取它们共同祖先结点中含有信息量最多的一个。体现在本体的等级网络中,就是等于最近的共同祖先结点的信息量。如图所示,概念“熊猫”和概念“鸭嘴兽”的最近共同祖先是概念“哺乳类”。那么它们之间的语义相似度值应该等于概念“哺乳类”的所包含的信息量。若存在多重继承的情况,那么对于两个概念在本体网络中可能存在多个共同的最近祖先。在所有的共同最近祖先结点中选取信息量值最大的一个。下面的等式定义了多重继承下语义相似度计算公式(5-9):第27页Sim1(e1,e2)=max[Sinfo(e)]=max[log 上海交通大学硕士学位论文第五章基于本体的智能答疑系统的语义相似度计算方法Sim1(e1,e2)=max[Sim(t1,t2)]t1∈Top(e1)t2∈Top(e2)(5-9)其中Top(e1)表示e1所有祖先结点的集合,Top(e2)表示e2所有祖先结点的集合。基于上层结点的方法虽然对概念的范畴进行了划分,但是没有考虑与该概念有一定相似度但是相似度不大的情况。因此本文综合考虑概念的底层结点,利用《知网》计算本体底层概念间相似度,然后基于底层概念间相似度两两比较计算上层概念间相似度,将底层概念相似度较小的值也考虑进来。5.2.3自顶向下相似度计算方法本体中,一个概念的含义由它的直接子概念的含义组成,所有子概念组合起来,能够很好地描述概念的含义,因而通过子概念间相似度计算上层概念间相似度,其所得结果精确度较高。假设A为本体中的一个上层概念,B为本体中的另一个上层概念,通过对A中的每个子概念与B中每个子概念间的最大相似度和进行均值计算,获得A与B间相似度公式(5-10):Sim2(A,B)=∑maxS(ai,bj)+∑maxS(bj,ai)ai∈Abj∈BN(A)+N(B)(5-10)注:N(A)、N(B)分别表示A、B所包含的子概念的个数;Sim2(A,B)表示上层概念间的语义相似度5.2.4基于上下文计算方法本文提出了一种基于上下文的语义相似度算法,既考虑概念的上层概念又兼顾它的子概念,即从自底向上和自顶向下两个方向来分析计算概念语义相似度。在自底向上这个方向上,利用了搜索引擎Google作为大型语料库计算概念间语义相似度,一定程度上弥补了数据稀疏问题;在自顶向下这个方向上,通过计算子概念集间的相似度得出上层概念的间相似度。该算法计算概念的直接父概念和子概念,有效的降低了计算量;同时又克服了仅仅利用概念自身计算语义相似度所带来的过于片面的缺点。综合考虑概念的上下文,用概念的父概念和子概念进行描述,首先计算公共父概念所携带的信息量,再计算子概念集间的最大相似度并进行均值计算。因此,基于上下文的概念间语义相似度计算公式(5-11)如下:第28页bj∈Bbj∈A 上海交通大学硕士学位论文第五章基于本体的智能答疑系统的语义相似度计算方法Sim(A,B)=è1Sim1(A,B)+è2Sim2(A,B)(5-11)注:+è5.2.5问句相似度计算用户提出的问句经过分词后,最后包含四种类型的词语:问点、定语、疑问词和判断特征词。它们就相当于是问句的特征项,而它们对于问句的重要程度也是不同的,因此我们需要对它们进行赋权,权重由高到低为问点、定语、疑问词和判断特征词。领域本体库中的词语采用上述的基于上下文的语义相似度计算方法,而通用词语采用基于《知网》的语义相似度计算方法。这种策略既借助了领域本体库的特殊性,又运用了《知网》的通用性。前面介绍了词语之间的语义相似度的定义与计算方法,句子之间的语义相似度的计算方法采用方法如下:设有两个向量A和B:A=(A1,A2,...,Am)B=(B1,B2,...,Bn)构造A与B的相似矩阵M(A,B):S(A1,B1)S(A1,B2)...S(A1,Bn)............S(Am,B1)S(Am,B2)...S(Am,Bn)则句子A中与句子B的句子相似度为公式(5-13):m·max(S(A,Bi=1(5-12)(5-13)mi=1i=1ëi表示各类词语的权重由此可见,用这种方式计算的句子之间的语义相似度的准确性很大程度上依赖前面介绍的词语之间的语义相似度。第29页M(A,B)=Sim(A,B)=∑ëii,B1),S(Ai,B2),...,S(Ain))∑ë 上海交通大学硕士学位论文第五章基于本体的智能答疑系统的语义相似度计算方法5.3本章小结本章详细论述了语句相似度计算在智能答疑系统中的应用,并提出了基于上下文的语义相似度算法,并对算法进行了详细的分析,最后阐述了借助领域本体库和《知网》分别计算领域词语相似度和通用词语相似度的策略。第30页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现第六章基于本体的中文智能答疑系统实现6.1问题模式匹配与语句相似度计算相结合智能答疑系统的优劣性在于它的智能性,智能性的高低直接影响到系统的性能,那么系统在智能方面的关键点是什么呢?通过分析发现,问题的关键在于:用户提出的问句与领域本体知识库的匹配程度,本系统采用问题模式匹配与语句相似度计算结合的策略来提高智能性。首先用户提出的问题与问题模式库进行匹配,检索出问题的相关模式并得到一组QLB,然后基于领域本体库的语义信息将QLB转化为OSB,在这个过程中会将用户提出的不规范术语“进化”为领域本体库中的规范概念,并且将在本体中查找与问题对应的概念集或概念间的关系(即问题的答案),当不能在OSB的概念中找到对应的概念属性或概念关系作为答案时,IQAS将检索其父代和子代概念是否存在相关或相似属性或关系,即计算原问题的OSB与各个候选问题OSB的语义相似度,值得注意的是,OSB中的词语的根据其词性的不同其权重也是不同的,例如问点的权重高于定语的权重;定语的权重高于疑问词(特征词)的权重;距离问点越近的定语权重越高。最终得出原问题与候选问题的句子相似度,若高于阈值,则返回给用户该候选问题的答案。若存在多个高于阈值的候选问题,则列举出语义相似度高的前几位候选集合。第31页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现6.2语义相似度计算测试6.2.1实验结果表6-1各类词语权重参数Table6-1Weightparametersofkindsofword注:定语的权重指所有定语权重之和,若存在n个定语,则第i个定语的权重为ini=1×w定语第32页QuestionTypeWordTypeWeight判断型问题模式定语0.3问点0.7描述型问题模式定语0.3问点0.7事件性问题模式定语0.5问点(动词短语)0.5不确定问题模式疑问词(特征词)0.2定语0.3问点0.5∑i 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现表6-2语句相似度计算实验部分结果Table6-2Experimentresultofsentencesimilaritycalculating注:相似度阈值为0.6第33页SourcequestionQLBSourceOSBBackupquestionBackupOSBWordSimilarityWeightSentenceSimilarity工行怎样开通网银?<工行,怎样,开通,网银><(工行,网银),开通方法>中国工商银行-网上银行-开通方法<中国工商银行,网上银行,开通方法>10.5*1/31.00010.5*2/310.5牡丹卡的年费是多少?<牡丹卡,年费,多少><(牡丹卡),年费>牡丹卡-年费<牡丹信用卡,年费>0.6290.30.88910.7哪个的银行的信用卡好?<哪个,银行,信用卡,好><哪个,(银行),信用>中国银行-信用卡-种类<哪些,(中国银行),信用卡>0.750.20.6500.6120.30.6320.5招行定期整存整取的利率是多少?<招行,定期,整存整取,利率,多少><(招行,定期,整存整取),利率>定期-整存整取-三年-年利率<(招商银行,定期,整存整取,三年),年利率>10.3*1/100.70210.3*2/1010.3*3/1000.3*4/100.7460.7建设银行的卡会不会自动注销?<建设银行,卡,会不会,自动注销><建设银行,卡,自动注销,期限>中国建设银行-银行卡-自动注销-期限<(中国建设银行,银行卡,自动注销),期限>10.3*1/60.9580.5820.3*2/610.3*3/610.7活期、零存整取、整存整取的利息是多少?<活期,零存整取,整存整取,利息,多少><(活期,零存整取,整存整取),利息>定期-整存整取-三年-年利率<(定期,整存整取,三年),年利率>0.3680.3*1/60.64110.3*2/600.3*3/60.7460.7工行贷记卡能透支多少?<工行,贷记卡,透支,多少><(工行,贷记卡),透支额度>中国工商银行-贷记卡-金卡-透支额度<(中国工商银行,贷记卡,金卡),透支额度10.3*1/60.94210.3*2/60.6140.3*3/610.7农行卡异地打款要不要手续费?<农行,卡,异地打款,要不要,手续费><农业银行,卡,异地打款,手续费>中国农业银行-银行卡-异地汇款,手续费<(中国农业银行,银行卡,异地汇款),手续费>10.3*1/60.9580.5820.3*2/610.3*3/610.7四大国有银行信用卡如何免年费?<四大国有银行,信用卡,如何,免年费><(四大国有银行,信用卡,免年费),使用方法>中国建设银行-信用卡-免年费-使用方法<(中国建设银行,信用卡,免年费),使用方法>0.4680.3*1/60.92310.3*2/610.3*3/610.7 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现6.2.2实验分析由表6-2可以看出,候选问题有的可以代替原问题,例如第一个问题,虽然候选问题(Backupquestion)与原问题(Sourcequestion)不是完全一致,但是它们的相似度却是1,因为领域本体库中有同义关系,该问题中“工行”与“中国工商银行”、“网银”与“网上银行”都是这样关系。又如,第二个问题中,虽然问题不够具体,但是IQAS还是可以通过语义相似度计算找出类似问题。当然,IQAS也存在“误操作”,例如第三个问题,原问题的含义是想比较各银行的信用卡,但是IQAS却通过计算相似度找出了一个“伪替补”问题。所以,系统的识别“替补”问题的标准就显得很重要,下一节我们将讨论阈值如何确定。6.2.3阈值的确定在计算语义相似度的算法中,把用户的问题同候选的问题进行模糊匹配,可以返回一组与用户问题接近的答案。但是由于采用的是模糊匹配算法,因此返回的答案不可能完全符合要求。那么到底返回几个答案才是合适的呢?这就是我们在算法中提到的阈值的作用了,一旦确定了阈值,就将所有所求相似度大于该阈值的答案返回给用户。然而,阈值的确定是比较困难的。一般情况下,可以先设定一个初始值,然后通过多次的实验来修正初始值,从而得到一个较为满意的阈值。在我们的原型系统中,首先人为地设定了一个较高的初始值,然后通过多次实验来验证该值是否能满足用户的需要。如果不能,就降低这个初始阈值,再次通过实验来验证它,如此循环修正,直到得到一个较为稳定的值为止。6.3答疑能力测试IQAS允许用户提出的问题不需要与领域本体库中的规范概念完全一致,因为IQAS的智能性正体现在当用户提出了一个“不太专业”的问题,而它却可以提供专业的答案。但是IQAS是要求用户对相关领域有一定的了解,哪怕对一些概念存在误解。因此,本章作为实验数据的问题源均是对银行个人业务有一定了解的用户提出的。对于IQAS的完整评价是基于系统本身的答疑能力和用户的满意度两方面的。系统自身的答疑能力体现在解决不同类型问题的能力,而用户满意度则体现在答案的准第34页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现确率上。经过分析,IQAS提供的错误答案是由不同层次引起的,我们将出错的原因划分为以下五类:(1)概念错误(Conceptualfailure):该错误是指用户提出的问题本身就存在错误。(2)知识错误(Knowledgefailure):该错误发生在领域本体库中不包含问题所涉及到的知识。例如缺少回答的必要数据信息。(3)模式错误(Patternfailure):该错误发生在LA阶段,用户提出的自然语言问题可能结构过于复杂而导致无法在问题模式库中进行匹配。(4)语义错误(Semanticfailure):该错误发生在SSS阶段,基于领域本体库一组QLB经过相似度计算映射到一组错误的OSB上。(5)服务错误(Servicefailure):发生该错误的原因大多数情况下是因为IQAS缺少合适的服务(例如评价服务),而不是因为IQAS领域本体库自身的缺陷。用户的问题中的术语对应领域本体库中的概念,问题中的动词对应领域本体库中关系,而问题中的一些变量可能对应于本体知识库中的实例。所以,答案准确的判断标准就是基于领域本体库的一个查询。为了得出一个准确的答案,IQAS就需要将问题与本体知识库进行匹配,一个正确的答案就是可以在领域本体库中查找出一个对应或相似的本体子集(可能是一组概念集,也可能是一个概念间的关系)。如果领域本体库中没有问题涉及的相关知识(即Knowledgefailure),IQAS将不能给出答案。值得注意的是这类错误是不属于IQAS的缺陷,因为领域本体不可能包含所有用户提出问题所涉及的知识,我们可以通过学习机制对本体知识库进行有效的扩充,从而在一定程度上解决Knowledgefailure。同时,IQAS可能需要用户的实时反馈来对一组候选的映射中进行辨认,这种反馈并不是一种错误。我们将在性能测试时对反馈机制进行评估。6.3.1实验结果笔者从百度知道的银行业务问题集合中上收集了120道,这些样本中包含各种不同类型的问题,而且问题来自不同的提问者,因此,该测试集具有普遍性。第35页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现图6-1百度知道的银行业务问题Fig.6-1BankBusinessProblemsfromBaiduzhidao通过实验数据表明(见表6-3),在120个问题中IQAS能够回答其中的77个(即成功进行了问题与领域本体的映射),大约占总数的64.2%,考虑到用户提问存在的多样性和非规范性,这个结果是不错的。做进一步分析,在这77个问题中有63个问题是可以成功解答的,而另外14个问题虽然可以进行问题模式匹配和相似度计算服务并成为一组OSB,但由于领域本体库自身信息的不完善不能给出正确答案,这个局限性是可以通过领域本体库的扩充得到解决的。第36页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现表6-3智能答疑系统的实验结果Table6-3ExperimentresultofIQAS6.3.2错误分析下面我们分别对各种典型的错误(除去知识错误)加以分析,为进一步改进IQAS提供依据。模式错误(Patternfailure):存在11.7%的问题的答案错误源自Patternfailure,这个比例在四种错误中也是最高的(除去知识错误)。事实上,因为自然语言自身的复杂性就导致了问题模式的多样化,我们很难对用户的提问方式加以限制。Patternfailure绝大多数是因为问题本身的结构过于复杂或过于简单,而导致IQAS无法识别或误解其问题模式。例如:“普通银行卡在ATM机上办理跨行转账如何收费,每天或每次第37页Totalnum.Basenum.PercentageSuccessincreatingvalidOSBs,orifitfailsduetoanontologyknowledgefailureTotalnumberof‘can’answering7712064.2%(77/120)Totalnumberofsuccessfulansweringwithoutknowledgefailure6312052.5%(63/120)Totalnumberofwithonlyknowledgefailure1412011.7%(14/120)IQASfailuresTotalnumberfailures4212035%(42/120)Conceptualfailure71205.8%(7/120)Patternfailure1412011.7%(14/120)Semanticfailure91207.5%(9/120)Servicefailure1212010%(10/120)IQASeasilyreformulatedquestionsTotalnumberquestioneasilyreformulated244257.1%(24/42)WithKnowledgefailure102441.7%(10/24)Successfulanswering142458.3%(14/24) 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现转账金额有无限制?”该问题的结构非常复杂,既包含“办理”这样的动词,又包含“有无”这样的判断特征词。在这种情况下,IQAS将无法获取其真正的问题模式。事实上,该问题包含着三个问点,“如何办理跨行转账”、“跨行转账的天最高限额”和“跨行转账的次最高限额”。又如,“关于牡丹卡的问题?”缺少必要的问点,因此IQAS会列举出牡丹卡的相关属性,通过反馈机制得以确认具体的问点。服务错误(Servicefailure):在120个测试问题集中,有相当比例(10%)的问题是选择问句,它涉及到概念间的比较或选择。例如,“农行和工行哪个异地汇款省钱?”、“信用卡哪个银行好?”和“哪个银行的网银功能好?”。我们将在下一小节中提出解决方案。语义错误(Semanticfailure):7.5%的语义错误是因为虽然通过SSS能够在领域本体库中查找出相似的OSB,但是与原问题的真正语义存在偏差。在以下几种情况下会出现Semanticfailure。1)缩略语的使用:比如“中银”一般情况下是指“中国银行”,但是有的用户提出的问题实际是涉及“中信银行”也采用“中银”进行缩写。例如“中银魔力卡的最大透支额度是多少?”2)疑问词“多久”在IQAS中不能识别。3)并列关系:例如“活期、整存整取、零存整取的是什么意思?”,这个问题IQAS会将其作为描述型问题模式进行处理,把“活期”和“整存整取”当成“零存整取”的定语,即将原问题转化为“零存整取是什么意思?”。4)动词短语:有些词含有动词,但是实际上其本身是名词属性,IQAS会误认为是动词导致语义理解错误。例如“什么是个人结算账户?”就会将“结算”识别为一个动词。概念错误(Conceptualfailure):这类错误是来自问题本身的关系或概念,例如“建行的龙卡借记卡的透支额度是多少?”,问题中龙卡借记卡为透支额度的定语,然而透支额度为信用卡的属性,所以在经过语义相似度计算后,IQAS将找出相似问题“建行的龙卡信用卡的透支额度是多少?”并给出答案。6.3.3选择问句在百度知道的银行业务问题集中,存在一类问题用户经常提出,但是IQAS却很难用领域本体知识直接解决的。例如,“中行万事达、VISA卡和都市卡哪个年费高?”“工行和招行哪个网银功能好?”、“四大国有银行哪个服务最好?”等。这类问题通常含有选择特征词(例如“哪个”),属于选择问句,对于回答这类问题存在以下难点:问题经常涉及到排名或者评价,领域本体库中缺少类似的知识,即使存在相关知识,也只是某个概念的知识,而缺乏相关概念间的比较。本文的解决方案是当识别出问题第38页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现是选择问句时,触发一个服务——“评价服务”(EvaluationService),专门用于对用户提出的比较对象进行“打分”。对于能够在领域本体中能够获得的知识,直接抽取进行比较,例如“中行万事达、VISA卡和都市卡哪个年费高?”,IQAS直接查询各个卡的年费再进行排序即可。而对于一些需要进行抽象评价的问题,例如“四大国有银行哪个服务最好?”IQAS不做直接回答,因为“服务好”没有具体的审核标准,IQAS只对“投诉率”、“排队等待时间”、“服务网点数量”等一些具体的服务指标进行排序。6.3.4问题重构完全依靠IQAS来辨别自然语言的不明确性显然是相当困难的,所以如果我们在增强IQAS的互动性,即引入用户的反馈机制,则系统将在性能上得以很大程度上的提升(如图6-2)。用户的实时反馈使各种类型的错误数都在一定程度上减小,用户可以很容易的重构57.1%(24/42)的问题,虽然IQAS对于Knowledgefailure(10/24)的问题还是不能给出准确答案,但是问题重构后58.3%(14/24)得以解决。WithoutfeedbackWithfeedback1510149125647260PatternfailureSemanticfailureConceptualfailureServicefailure图6-2反馈前后错误数据对比Fig.6-2Failurenumberwithoutandwithfeedback通过图6-2我们发现,Failure减少比例较多的是Conceptualfailure、Semanticfailure和Patternfailure,通过实时反馈可以消除二义性、获取候选概念集的真正语义和补充问题缺少的概念等,下面分别举例加以说明。在图6-3中,“中银”这个概念一般是指“中国银行”,但是对于“中银魔力卡的最大透支额是多少?”这个问题则不是。当IQAS映射到领域本体库时,发现“中国银行”不存在“魔力卡”这个概念,所以IQAS列出了所有可能的候选概念让用户实第39页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现时反馈,这样IQAS就能获取到“正确”的问题。在图6-4中,问题本身并没有错误,但是本体知识库中只有“牡丹卡”子概念的“牡丹信用卡金卡”、“牡丹信用卡普通卡”等的“信用额度”,即IQAS需要比“牡丹卡”更具体的卡种,所以IQAS列举出“牡丹卡”的所有子代概念来进一步确定问题。在图6-5中,问题也不存在错误,IQAS也可以检索到问点“利息”(“年利率”),但是问题还是不够具体,因为该问题对应着多个答案,所以IQAS就要求用户补充必要的定语(“定期”的年限)。图6-3二义性的例子Fig.6-3exampleofambiguity第40页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现图6-4候选子概念的例子Fig.6-4exampleofreplacedchildconception图6-5缺少概念的例子Fig.6-5exampleoflackingconception第41页 上海交通大学硕士学位论文第六章基于本体的中文智能答疑系统实现6.4本章小结本章主要介绍了IQAS关键技术的实现,通过实验对语义相似度和答疑能力进行了测试,实验结果表明了本文设计的IQAS的有效性。并且对实验数据进行了详细的分析,为系统的进一步改进打下了良好的基础。第42页 上海交通大学硕士学位论文第七章总结与展望第七章总结与展望7.1主要结论答疑系统是一个综合性的课题,涉及到自然语言处理、自然语言语义的理解、存储数据的结构组织、信息检索等多个方面。传统的答疑系统在语义的理解上的处理非常之少。本文利用领域本体的丰富语义信息构造了一个基于本体的智能答疑系统,在一定程度上解决了传统答疑系统的语义理解不足的问题,并通过实验验证了系统答疑的准确率和自身的答疑能力,取得了较为满意的效果,所完成的主要工作和创新点如下:(1)论述了本体的基本概念,并以银行个人业务领域为例,构造了一个适合智能答疑系统的领域本体。(2)本文采用问题模式库和基于语义的句子相似度计算方法相结合的策略,问题模式库偏重于问题的语法信息,而相似度计算则更注重于问题的语义信息,起到了互补的作用。(3)分析用户提出的常见问题,构造了一个问题模式库。通过问题模式匹配的方式代替传统答疑系统中完全依靠全文检索的方式,在很大程度上提高了系统的性能。(4)针对领域本体,提出了一种基于上下文的语义相似度计算方法。该算法计算概念的直接父概念和子概念,有效的降低了计算量;同时又克服了仅仅利用概念自身计算语义相似度所带来的过于片面的缺点。(5)对于不能直接映射到本体知识库的问题,则将原问题与领域本体中抽取的一组候选问题集进行语义相似度的计算,将计算出的语义相似度同已设定好的阈值进行比较,若计算出的语义相似度高于阈值,则返回相似问题对应的答案。(6)引入问题重构机制,在一定程度上优化了智能答疑系统的性能。第43页 上海交通大学硕士学位论文第七章总结与展望7.2研究展望本文探讨的基于本体的智能答疑系统仍然存在许多不足之处,需要继续研究和改进,包括以下内容:(1)对用户以自然语言提出的问题的分词处理还不是很完善,主要原因是基于中文的自然语言处理技术不是一门特别完善的技术,需要进一步改进。(2)本文中设计的基于本体的智能答疑系统是在银行个人领域的,其面对的用户主要是咨询有关银行业务的客户,用户的问题也是围绕银行业务展开的。以这种方式组织本体库有一定的局限性,它割裂了整个经济领域的横向联系,不利于用户进行基于知识的高层次的提问。今后可以考虑设计具有独立平台的、跨领域知识的智能答疑系统,或者是支持多本体的智能答疑系统。(3)由于本体工程的开发是一个反复迭代的过程,目前本体的构建以及日后的不断补充都是人工完成的,费时又费力。应该让机器自动生成并完善本体,这也是我们今后要继续研究的问题。第44页 上海交通大学硕士学位论文参考文献参考文献[1]刘亚军,徐易,高莉莎.智能答疑系统中快速定位算法的研究与实现.东南大学学报,2003,33(4):410~413[2]李保利,樊孝忠.智能搜索和自动应答技术的研究.计算机时代,2003(7):1~5[3]GruberTR.ATranslationapproachtoportableontologyspecifications[J].KnowledgeAcquisition,1993,5(2):199-220.[4]BorstWN.Constructionofengineeringontologiesforknowledgesharingandreuse[D].Enschede:PhDthesis,UniversityofTwente,1997.[5]StuderR,BenjaminsVR,FenselD.Knowledgeengineering,principlesandmethods[J].DataandKnowledgeEngineering,1998,25(1-2):161-197.[6]刘群,李素建.基于《知网》的词汇语义相似度计算.第三届汉语词汇语义学研讨会论文集.2002:59~76.[7]赵赟,刘亚军.智能答疑系统中语义网的研究与应用.微机发展.2003(13):35~36.[8]GuarinoN.SemanticMatching:FormalOntologicalDistinctionsforInformationOrganization,Extraction,andIntegration.SummerSchoolonInformationExtraction,Frascati,July1997.[9]何海芸,袁春风.基于Ontology的领域知识构建技术综述.计算机应用研究.2005(3):14~18.[10]王洋,秦兵,郑实福.句子相似度计算在FAQ中的应用.http://nlp.org.cn.[11]Tak,W.Y.,andHector,G.M.,TheSIFTinformationDisseminationSystem.www_db.Stanford.edu/pub/papers/main.ps[12]Tak,W.Y.,andHector,G.M.,SIFT–AToolforDisseminationSystem.www_db.Stanford.edu/pub/sift/sift.ps[13]Konstan,J.A.,Miller,B.N.,Maltz,D.,Herlocker,J.L.,Gordon,L.R.,andRiedl,J.GroupLens:ApplyingCollaborativeFilteringtoUsenetNews.CommunicationsoftheACM,1997[14]Resnick,P.,lacovou,N.,Suchak,M.,Bergstrom,P.,andRiedl,j.Grouplens:AnOpenArchitectureforCollaborativeFilteringofNetnews,InProceedingofACMCSCW’94ConferenceonComputer-SupportedCooperativeWork,1994[15]Salton,G.etal.AVectorSpaceModelforAutomaticIndexing,CommunicationsofACM,Nov.1975,Vol.18(5):613-620第45页 上海交通大学硕士学位论文参考文献[16]Dahlen,B.J.,Konstan,J.A.,Herlocker,J.L.,Good,N.,Borchers,A.,andRiedl,J.,Jump-startingMovielens:UserBenefitsofStartingaCollaborativeFilteringSystemwith“DeadData”.UniversityofMinnesotaTR98-017,1998[17]Herlocker,J.,Konstan,J.A.,Borchers,A.,andRiedl,J.AnAlgorithmicFrameworkforPerformCollaborativeFiltering.ProceedingofSIGIR,1999[18]Herlocker,J.L.,Konstan,J.A.,andRiedl,J.,ExplainingCollaborativeFilteringRecommendations.Proceedingsofthe2000ConferenceonComputerSupportedCooperativeWork,2000[19]ANHaidoan,JayantMadhanvan,PrdroDomingos.LearningtoMapbetweenOntologiesontheSemanticWeb.Proceedingsofthe11thinternationalconferenceonWorldWideWeb,NewYorkUSA:ACMPress,2002,662~673[20]徐彩娜,徐建良.基于语义的查询重新定义及其应用.微计算机信息,2006,24-2:230~232[21]李仲生,王家琴.基于本体的上层概念间相似度计算的研究.科学技术与工程,2007,7:2396~2398[22]L.Hirschman,R.Gaizauskas,NaturalLanguagequestionanswering:theviewfromhere,Nat.Lang.Eng.7(4)(2001)275–300(specialissueonQuestionAnswering).[23]VanessaLopez,VictoriaUren,EnricoMotta,MichelePasin,AquaLog:Anontology-drivenquestionansweringsystemfororganizationalsemanticintranets.WebSemantics:Science,ServicesandAgentsontheWorldWideWeb5(2007)72–105.[24]VanessaLopez,EnricoMotta,VictoriaUren,AquaLog:Anontology-drivenQuestionAnsweringSystemtointerfacetheSemanticWeb.ProceedingsoftheHumanLanguageTechnologyConferenceoftheNAACL,CompanionVolume,pages269–272,NewYorkCity,June2006.[25]Vargas-Vera,M.,Motta,E.,Domingue,J.:AQUA:AnOntology-DrivenQuestionAnsweringSystem.InMaybury,M.(editor),NewDirectionsinQuestionAnswering,AAAIPress(2003).[26]Zheng,Z.:TheAnswerBusQuestionAnsweringSystem.Proc.oftheHumanLanguageTechnologyConference(HLT2002).SanDiego,CA.March24-27,2002.[27]樊孝忠,李宏乔.银行领域汉语自动问答系统BAQS的研究与实现.北京理工大学学报,2004(6):528~532[28]NatalyqF.Noy,OntologyDevelopment:AGuidetoCreatingYourFirstOntologyhttp://www.ksl.stanford.edu/people/dlm/papers/ontology-tutorial-noy-mcguinness-abstract.html1994-03-05[29]张晓辉.支持自然语言提问的答疑系统的设计与实现[硕士论文].天津大学电子信息工程学院,2006-01[30]李良富,樊孝忠,李宏乔.语义相似计算驱动领域自动问答.北京理工大学学报,2005(11)[31]杨明华,钱乐秋,赵文耘,彭鑫.特定领域本体的构造方法.计算机工程,2006(41-1)[32]LopezV.,PasinM.andMottaE.AquaLog:AnOntology-portableQuestionAnsweringSystemfortheSemanticWeb.Inproceedingsofthe2ndEuropeanSemanticWebConference(2005)第46页 上海交通大学硕士学位论文参考文献[33]郑丽萍,李光耀,梁永全,沙静.本体中概念相似度的计算.计算机工程与应用,2006(30)[34]张亮,黄河燕,胡春玲.中文问答系统模型研究.情报学报,2005(25)[35]ChangCCK,Garcia-MolinaH.Conjunctiveconstraintmappingfordatatranslation.http://www.acm.org/pubs/contents/proceedings/dl/276675,2005-02-14[36]NoyNF,MusenMA.SMARTautomatedsupportforontologymergingandalignment.http://smi-web.stanford.edu/ausless/smi-web/reports/SM-199900813.pdf,2005-02-14[37]李志辉,周竹荣.基于领域知网的中文智能答疑系统.四川理工学院学报,2005(4)[38]陶利强,樊孝忠,刘杰,陈康.基于本体的受限领域问答系统知识库的构建及答案抽取.http://www.paper.edu.cn[39]赵慧.基于.net平台的智能答疑系统的研究与实现[硕士论文].江苏大学计算机科学与通信工程学院,2006-01[40]李爽,陈丽.国内外网上智能答疑系统比较研究.中国电化教育,2003(1)[41]吴友政,赵军,段湘煜,徐波.问答式检索技术及评测研究综述中文信息学报,2005(3)[42]赵赟,刘亚军.基于本体的问答查询系统关键技术的研究与实现[硕士论文].东南大学计算机系,2004-03第47页 上海交通大学硕士学位论文IQAS:智能答疑系统VSM:向量空间模型SSS:相似度服务模块LA:语法分析模块QLB:查询语法块OSB:本体语义块符号与标记(附录1)附录1第48页 上海交通大学硕士学位论文致谢致谢回顾两年半的求学历程,充满了挑战与机遇,也得到了许多人的鼓励与无私帮助。从刚刚入学对研究一无所知的懵懂少年,到现在学业略有小成即将毕业踏入社会的成熟青年,这其中有许多感动我的人与事。只有借以下的文字表述我心中感激的万一。感谢我的指导老师吴刚副教授在两年多时间里的言传身教,悉心栽培。有幸聆听先生的教诲是我人生中最大的收获。先生丰富的知识,踏实的作风让我受益良多。在论文的写作过程中,从选题、原型设计到定稿期间几经修改,无不得到先生莫大的帮助,花费了先生大量的指导审阅时间,从而使得论文终于能如期完成。感谢姜丽红、蔡鸿鸣老师在学习科研以及项目工作中给我的指导和帮助。通过实验室项目的实践,让我掌握了扎实的开发能力,对我论文工作中原型系统的设计与实现有着非常大的帮助。感谢肖伟、朱艳、张浩和张辰同学在课题研究中的集思广益。感谢软件学院ERP实验室的全体同学,是他们共同创造了一个和谐向上,积极进取的实验室工作环境,也带给了我丰富多彩的研究生生活。最后感谢我的家人与身边的挚友。你们总在我身边默默支持我,在我失意的时候也极力地帮助鼓励我,让我感到莫大的幸福。第49页 上海交通大学硕士学位论文攻读硕士学位期间已发表或录用的论文攻读硕士学位期间已发表或录用的论文[1]宗裕朋,吴刚.一种基于上下文的语义相似度算法.《微计算机信息》(已录用)第50页