基于本体的中医冠心病自动问答系统的设计与实现

基于本体的中医冠心病自动问答系统的设计与实现

ID:77658193

大小:3.70 MB

页数:68页

时间:2024-02-04

上传者:笑似︶ㄣ無奈
基于本体的中医冠心病自动问答系统的设计与实现_第1页
基于本体的中医冠心病自动问答系统的设计与实现_第2页
基于本体的中医冠心病自动问答系统的设计与实现_第3页
基于本体的中医冠心病自动问答系统的设计与实现_第4页
基于本体的中医冠心病自动问答系统的设计与实现_第5页
基于本体的中医冠心病自动问答系统的设计与实现_第6页
基于本体的中医冠心病自动问答系统的设计与实现_第7页
基于本体的中医冠心病自动问答系统的设计与实现_第8页
基于本体的中医冠心病自动问答系统的设计与实现_第9页
基于本体的中医冠心病自动问答系统的设计与实现_第10页
资源描述:

《基于本体的中医冠心病自动问答系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

分类号:TP319密级:公开UDC1綱2::单位代码石页士学位论文基于本体的中医冠心病自动问答系统的设计与实现2014524学号:作者:温思琦学位类别:工程硕士领域:计覚机柃太论文类型:工程软件开发2017年5月18日 沈阳工业大学硕士学位论文基于本体的中医冠心病自动问答系统的设计与实现DesignandImplementationofAutomaticQuestionAnsweringSystemBasedonOntologyforTraditionalChineseMedicineCoronaryArteryDisease作者:温思琦单位:信息科学与工程学院指导教师:王宏生副教授单位:沈阳工业大学协助指导教师:单位:单位:论文答辩日期:2017年5月18日学位授予单位:沈阳工业大学 独创性说明本人郑重声明:所呈交的论文是我个人在导师指导下进行的研究工作。,及取得的研究成果尽我所知,除了文中特别加以标注和致谢的地方外论文中不包含其他人己经发表或撰写的研究成果,也不包含为获得沈阳工业大学或其他教育机构的学位或证书所使用过的材料一。与我同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。签名:崎日期:关于学位论文使用授权的说明本学位论文作者和指导教师完全了解沈阳工业大学有关保留、使用学:位论文的规定,即学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权沈阳工业大学可以将学、位论文的全部或部分内容编入有关数据库进行检索交流,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。(保密的论文在解密后应遵循此规定)机.签名:k%!S^导师签名:日期: 摘要自动问答系统的出现极大地满足了人们高效地获取相关信息的需求,但目前的自动问答系统大多是基于常见问题集(FAQ)或者面向开放领域的,对于中医冠心病受限领域而言,必然存在答案专业性差、正确率低、语义理解力差、不灵活等的弊端。如何改进和设计自然语言处理(NLP)方案来适应中医冠心病自动问答系统是关键性的问题。中医冠心病本体节点犹如人脑中的神经元,利用构建中医冠心病本体来取代FAQ的知识存储方式,可在一定程度上减轻弊端。因此,本文着力于设计一种针对中医冠心病自动问答系统有效的NLP方案,并通过实现系统来验证方案的适用性和高效性。本文运用专家鉴定的中医文献资料构建出中医冠心病本体知识网络,为系统生成正确、专业性的答案奠定了基础。本文构建出的中医冠心病关键词词库、常用词词库、问题词词库、问句模板和词向量表,可实现对2962个中医冠心病领域关键词和约700篇中医古代文献的信息匹配和提取,并为本文设计的基于折半查找的逆向最大匹配算法的分词方法提供了基础。本文在研究面向受限领域自动问答系统的NLP关键技术基础上,设计了针对中医冠心病受限领域的自动问答系统的实现方案。本文根据问句特点将系统划分为三个问句处理阶段,对于每个阶段有不同的处理方式,分别是基于问句模板匹配方式、基于模式匹配方式和基于词向量相似度计算方式。本文自顶向下地阐述了系统的设计方案,并构建出了中医冠心病关键词模糊匹配算法和基于神经网络词向量的相似度算法,在保证答案准确性的前提下,大幅提升了系统的灵活性。本文运用Delphi7实现了基于本体的中医冠心病自动问答系统,运用Java语言实现了词向量的生成,用Excel和TXT类型的文件存储中医本体、关键词词库、问题词词库、常见词词典、问句模板等数据,通过对系统的测试,进一步验证了本文设计方案对基于本体的中医冠心病自动问答系统的适用性和智能性。本系统可将中医冠心病文献以更易于接受的方式服务于医务工作者、患者,对中医古文献再开发运用意义重大,也为中医领域自动问答系统的研究工作提供了研究范例。关键词:自动问答系统,冠心病,中文模糊匹配,词向量,相似度I AbstractTheemergenceofautomaticquestionansweringsystem(AQAS)hasgreatlysatisfiedthedemandofpeopleforaccessingtorelevantinformationefficiently.However,mostofthemodernQAsystemsarebasedonFrequentlyAskedQuestions(FAQ)inopenfields.ItisinevitablethattherearesomeinadequaciesinthefieldoftraditionalChinesemedicine(TCM)coronaryarterydisease(CAD),suchaspoorprofessionalanswers,lowaccuracy,poorsemanticcomprehensions,inflexibleforms.HowtoimproveanddesigntheNaturalLanguageProcessing(NLP)schemestoadapttotheautomaticquestionandansweringsystemsforCADisakeyprobleminTCMdomain.EachontologynodeofTCMCADlikesahumanbrainneuron,whichcanreducethedrawbacks,tosomeextent,byreplacingthetraditionalmethodsbasedonFAQ.Therefore,thispaperfocusesondesigningandimplementinganeffectiveNLPscheme,whichcanverifythefeasibilityandhigheffectivenessforAQASbasedonOntologyinTCMCAD.ThisthesisisbasedontheTCMliteratureauthenticatedbytheexpertstoconstructtheknowledgenetworkofOntologyinTCMCAD,whichlaysthefoundationofthesystemtogeneratecorrectandprofessionalanswers.TherelateddataconstructioninvolvestheTCMCADkeywordthesaurus,commonwordsthesaurus,questionwordsthesaurus,questionproblemtemplatesandwordvectortable,whichcanrealizeinformationmatchingandextractionfromabout2962keywordsofCADinTCMdomainand700piecesofancientChineseliterature.Andthestudyprovidesthebasicdataforthesystemandthedesignmethodsandalgorithms,especiallyforthewordsegmentationmethod,ReverseMaximumMatchingalgorithmbasedonbinarysearch.Afterresearchingthekeytechnologyofdomain-restrictedQAsysteminNLP,animplementationschemesofAQASinTCMCADisdesigned.Inthisthesis,thesystemisdividedintothreeprocessingphasesonthebasisofthequestionsentencecharacteristics.Foreachphase,therearedifferentprocessingmethods,whicharebasedonquestiontemplatematching,patternmatchingandsimilaritycalculationbasedonwordvector.Moreover,theoveralldesignschemesareexpounded,andtheTCMCADkeywordsfuzzymatchingalgorithmaredesigned,andthesimilarityalgorithmbasedonwordvectorfromneuralnetworkmodelingarebuilt.Ithasgreatlyenhancedthesystemflexibilitywithtakingthetheansweringaccuracyastheprerequisite.II ThisthesisusesDelphi7torealizetheAQASbasedonOntologyforCADinTCMfield.Moreover,thewordvectorsaregeneratedwithJavaandthedataisstoredwiththefilesofExcelandTXT,suchaskeywordsthesaurusofCADinTCMandcommonwordsthesaurus,questionwordsthesaurus,questionstemplatesandwordvectortable.Throughtestingthesystem,itfurtherverifiestheapplicabilityandintelligentofthedesignschemes.Therefore,thesystemcanservethedoctorsandpatientsbyamoreacceptableway.Furthermore,itisofgreatsignificanceinTCMancientliteraturedevelopments,andprovidesaparadigmforresearchingonAQASinTCMdomain.KeyWords:Automaticquestionansweringsystem,Coronaryarterydisease,Chinesefuzzymatching,Wordvector,SimilarityIII 目录摘要...........................................................................................................................................IAbstract...................................................................................................................................II第1章绪论.............................................................................................................................11.1课题背景与意义..........................................................................................................11.1.1课题背景.............................................................................................................11.1.2课题意义.............................................................................................................11.2国内外研究动态..........................................................................................................21.2.1国外研究动态.....................................................................................................21.2.2国内研究动态.....................................................................................................31.3本文主要工作内容......................................................................................................51.4本文组织结构..............................................................................................................51.5本章小结......................................................................................................................6第2章相关概念及其理论综述.............................................................................................72.1本体..............................................................................................................................72.2中文分词技术..............................................................................................................72.2.1中文分词概述......................................................................................................72.2.2逆向最大匹配算法的优势.................................................................................82.3神经网络语言模型......................................................................................................82.3.1神经网络语言模型概述.....................................................................................82.3.2词向量.................................................................................................................92.4基于Huffman树的CBOW语言模型......................................................................102.5Delphi简介................................................................................................................122.5.1Delphi由来与优势..........................................................................................122.5.2Delphi关键控件与类......................................................................................122.6本章小结....................................................................................................................13第3章系统的总体设计.......................................................................................................143.1系统研发目标............................................................................................................143.2系统总体框架设计....................................................................................................14IV 3.3系统的三类处理阶段................................................................................................153.4数据预处理................................................................................................................163.5问句处理子系统总体设计........................................................................................163.5.1问句预处理.......................................................................................................163.5.2问句模板匹配模块...........................................................................................173.5.3中医关键词提取模块.......................................................................................173.5.4问题词匹配模块...............................................................................................173.5.5中医词模糊匹配模块.......................................................................................173.5.6问题词语义距离计算模块...............................................................................173.6系统主控制界面总体设计........................................................................................173.7答案提取子系统总体设计........................................................................................183.7.1症状名检索模块...............................................................................................183.7.2代表方检索模块...............................................................................................183.7.3方药/方剂检索模块.........................................................................................183.7.4文献出处检索模块...........................................................................................183.7.5病机检索模块...................................................................................................183.7.6父类检索模块...................................................................................................193.8本章小结....................................................................................................................19第4章系统的详细设计与实现方案...................................................................................204.1系统三类处理阶段运行流程....................................................................................204.2数据预处理................................................................................................................224.3问句处理子系统详细设计........................................................................................254.3.1问句模板匹配模块...........................................................................................254.3.2分词、去停用词模块.......................................................................................264.3.3中医关键词提取模块.......................................................................................264.3.4问题词匹配模块...............................................................................................274.3.5基于本体的中医关键词模糊匹配算法...........................................................284.3.6基于词向量的语义相似度计算模块...............................................................314.4答案提取子系统详细设计........................................................................................354.4.1症状名检索模块...............................................................................................35V 4.4.2代表方检索模块...............................................................................................374.4.3方药/方剂检索模块.........................................................................................384.4.4文献出处检索模块...........................................................................................394.4.5病机检索模块...................................................................................................414.5本章小结....................................................................................................................42第5章系统的运行...............................................................................................................435.1实验平台....................................................................................................................435.2中医自动问答系统主控制界面................................................................................435.3答案提取子系统运行结果........................................................................................435.3.1症状名检索模块...............................................................................................435.3.2代表方检索模块...............................................................................................455.3.3方药/方剂检索模块.........................................................................................465.3.4文献出处检索模块...........................................................................................475.3.5病机检索模块...................................................................................................485.4问句处理子系统运行结果........................................................................................495.4.1中医冠心病关键词模糊匹配模块实验结果...................................................495.4.2词向量语义距离计算模块实验结果与反思...................................................545.5本章小结....................................................................................................................54第6章结论...........................................................................................................................55参考文献.................................................................................................................................56致谢.........................................................................................................................................59VI 沈阳工业大学硕士学位论文第1章绪论1.1课题背景与意义1.1.1课题背景随着信息时代的到来,网络信息量呈爆发式指数增长,进而推动着NLP的发展,为了满足人们的需求,自动问答系统应运而生。目前,人们主要是利用基于关键字匹配的搜索方式查询信息,检索得到的结果往往是成百上万相关内容的网页或文档,而在这庞大的数据信息中,用户往往需要进一步人工筛选出正确、真正满足需求的内容,而且对于受限领域的可靠性和权威性也有待考察。而自动问答系统可以在一定程度上弥补传统检索方式的一些缺陷,特别是应用于受限领域的自动问答系统检索效率高,答案准确可靠,越来越受到人们的欢迎,因此近年来逐渐成为国内外NLP领域研究的热点,也成为国际年度文本检索会议(TREC)关注的焦点之一[1]。国内外众多科研机构对自动问答系统的研究热度只增不减,并取得了可观的成果,知名的科研院所如:麻省理工大学,哥伦比亚大学,荷兰阿姆斯特丹大学,苏黎世大学,美国南加州大学[2]。随着智能手机的普及,国内外众多知名厂商已经将研发问答系统及其相关技术应用到手机、平板电脑、机器人等智能设备上,这类自动问答系统大多是属于基于网络爬取数据面向开放领域的,如:苹果,IBM,谷歌,微软,百度等。基于知识库的自动问答系统在回答受限领域专业性的问题上具有明显的优势。随着各个领域信息化的发展,知识库逐渐被知识图谱所取代,知识图谱的表现形式多样,有FAQ库的答案形式,有语义网形式,还有网络爬取信息后总结的知识网等等。本课题将中医冠心病本体作为本系统的知识图谱,可以解决网络知识匮乏、专业性差、正确率低、冗余多的问题。本课题所研发的自动问答系统是定位在语义层面的,本体表中的每个本体节点蕴含着一定的语义信息,节点之间具有语义关系,整个本体表构成一个中医冠心病知识网络,犹如人类大脑的神经元。根据辽宁中医大学的需要,本文将辽宁中医药大学专家总结的中医本体作为研究载体,旨在实现基于本体的中医冠心病自动问答系统。同时,本系统在很大程度上能减少中医冠心病领域的术语上的混乱,使得中医冠心病相关知识更清晰明了。1.1.2课题意义本系统的本体由辽宁中医药大学教授、专家总结所制,具有权威性,也是中医的资料宝库之一。本课题将中医冠心病知识库整合分类,形成了一套拥有完备功能的自动问答系统,中文自然语言处理技术还有很大的发展空间,所以做这项研究对受限领1 沈阳工业大学硕士学位论文域自动问答系统有一定的学术意义与应用价值。同时,本系统为方便地解决有关中医冠心病知识等方面的问题上提供帮助,对相关医疗工作者的工作有很大的帮助作用,为基于本体的自动问答系统在中医冠心病领域的应用上提供了范例,为相关理论的进一步研究提供了参考。1.2国内外研究动态1.2.1国外研究动态自动问答系统有着比较漫长的发展历史,人工智能之父图灵早在1950年发表的经典论文《ComputingMachineryandIntelligence》中,提出用“图灵测试”来鉴定智能设备的“机器智能”程度的观点。“图灵测试”的出现使得自动问答系统应运而生,很快地进入了人们的视线,随之研究学者纷纷加入这场科研浪潮[3]。早期出现的问答系统大多是聊天机器人或专家系统[4],随着互联网的普及和信息技术的飞速发展,人们追求信息时效性的愿望进一步推动了NLP技术的快速发展,而自动问答系统主要的研究内容离不开对自然语言的处理,所以NLP技术广泛地应用于自动问答系统中,随着NLP技术不断更新,自动问答系统也随之不断发展、完善起来。自动问答系统的发展历程可按时间大致分为以下几个发展阶段[5]:(1)20世纪60年代,早期的问答系统是基于模式匹配的专家系统和聊天机器人,经典的如:Eliza、LUNAR、MACSYMA、BaseBall等[3,6]。Eliza被公认为是第一个问世的问答系统,这类系统的特点是模拟特定领域的专家回答方式和内容,可以用自然语言的方式完成问答,通常采用模式匹配和替换的方法。但是,由于其知识库规模较小或者没有知识库,存在自动获取知识能力的瓶颈,知识覆盖率低且不易扩展,不能回答一些专业性的问题,所以没有发展成一套系统的技术[7]。(2)20世纪90年代,较为流行的是基于自由文本检索式的问答系统,如参加TREC的TrackQA测评的Textract、IBMPQ、Tequesta等[7]。这类系统的特点是无需建立大规模的知识库,其底层数据来源于非结构化的文档、网页等自由文本[8]。其主要使用信息检索(IR)和模式匹配的技术(KMP算法等)来提取自由文本信息,所以无法保证捕获的数据资源的正确性,也无法精确地屏蔽掉冗余的信息。20世纪末本世纪初,随着网络技术的快速发展,进而出现了基于Web检索技术的问答系统,知名的系统如:START、AnswerBus和AskJeeves等[3]。这类问答系统主要是依赖于网页的信息分析,然后抽取相应的条目并整理成答案返回给用户[3,9-10],有的问答系统还能以图表等可视化较强的方式返回给用户结果。2 第1章绪论(3)麻省理工学院于1993年12月,发布了世界上第一个基于Web的问答系统——START(http://start.atmel.com)[11]。START中存储了一个知识库,确切来讲,START是一个基于知识库和Web的智能搜索引擎[12-14],START优先将语义分析后的问句与自身两个数据库中的问题进行匹配,匹配成功直接返回答案;否则抽取关键词去网络中搜索信息返回给用户[15-17]。该系统致力于提供给用户“最准确的答案”,是一个优秀的基于Web的问答系统[18]。与以往传统的搜索引擎不同,这类问答系统为了提高效率,主要依靠人工维护的问句模板库,对问句的语义往往进行较浅层次的分析,进而返回给用户答案,所以人工维护的问句模板规模和优劣程度会直接影响系统生成答案的质量[3,19]。2001年,密歇根大学研发出AnswerBu(shttp://www.answerbus.com/index.shtml),它拥有较为成熟的技术,是面向开放领域支持多种语言的自动问答系统[20]。AnswerBus返回给用户的是句子长短不一的答案及其所在网页链接[21-22]。而AskJeeves(http://www.ask.com)也是一个功能很成熟知名度高的商用问答系统,其总部设在加州[23],该系统自运行以来,应用于很多领域,解决了众多用户的疑问。(4)本世纪10年代兴起的基于知识图谱的问答系统[24],典型的系统有IBM公司的Wason、WolframAlpha等。IBMWason的理念是“Watsonisacognitivetechnologythatcanthinklikeahuman”[25],可以分析文本、图像、音频和视频,并可以分析人的性格、语调和情感等,还具有一定的学习功能。WolframAlpha发明者评价其为“计算知识引擎”[25],它不仅能理解用户问句的语义迅速给出答案,还可以用图表的方式提供给用户一系列的相关信息。这类问答系统其底层数据通常是基于大规模知识图谱或者结构化的知识库。虽然,这些大规模结构化数据很大程度上奠定了知识智能化的基础,但是这些数据却难以被普通用户理解和利用。近年来,基于知识图谱的问答系统提供了一种获取问答系统可靠性答案的研究方向,并逐步成为该领域的研究热点。目前基于知识图谱的自动问答系统已成为QA研究的主流,在面向开放领域和受限领域的QA上都有许多相关研究,如YAGO、Freebase、NELL、DBpedia等[26]。同时,国外众多知名企业已将自动问答系统技术应用到其商品中,如:苹果(iPhone)推出的Siri应用,受到千万用户的关注和追捧;人机对战中,夺冠的IBMWatson等。随着NLP不断发展,到目前为止,其处理自然语言问句的方案通常结合这两种方法:基于信息抽取的方法和基于语义分析的方法[27]。1.2.2国内研究动态自动问答系统的研究在国内起步较晚,无论是在理论和技术上的研究,还是在实现和应用的方面上,与国外高水平研究相比均存在较大差距。但近些年来,国内在NLP3 沈阳工业大学硕士学位论文技术研究上有很大突破,不仅有很多科研机构纷纷参与到自动问答系统的研究中来,更是由于用户的需求,越来越多的手机、平板电脑等智能电子设备厂商参与到自动问答系统的研究中,如:浙江大学,复旦大学,中科院,哈尔滨工业大学,百度,中国移动,京东,淘宝等。由于语言的差异,中文自动问答系统要结合自身的特点设计,所以运用的方法有很大不同。虽然,中文比英文语法更加复杂,研究难度大,但是,经过许多科研机构和高校科研院所的努力,有了一定技术上的突破和成果。1980年代,国内专家系统的研究进展速度较快,仅“七五”期间列入国家攻关课题的专家系统项目就有26个[28]。国内专家系统的代表作是,由陆汝钤院士设计并主持研制的《天马》,《天马》涉及了我国国防、经济等20多个领域,已经取得了重要的学术成果,为社会的智能信息化作出了很大的贡献[29]。中国科学院早在1998年就开始研究基于本体的NLP的相关技术,在有了大量的科研成果基础上,不断追求着前沿技术[30]。在国内,对于本体知识库的构建,有不少跨领域的专家、学者通过合作的方式获得了比较成功的研究成果。其中较为突出的是陆汝钤院士主持并构建的我国大型通用常识知识库——盘古(Pangu),旨在提供中文NLP领域一个包罗万象的常识知识图谱,进而提高对自然语言的理解能力。还有曹存根博士带领大规模知识处理课题组潜心研究的国家知识基础设施(Nationalknowledgeinfrastructure,NKI)课题,在构建大规模知识图谱的基础上搭建了NKI自动问答系统,这项研究对我国国民经济和教育的稳健发展起到了很大的作用[31]。在目前用户对自动问答系统的需求与日俱增和研究热度不减的背景下,国内的众多知名企业也争先恐后地推出具有问答功能的产品。中国移动研究团队对自动问答系统研究较早并且取得了相当的研究成果,从2011年推出的“小e”到2016年推出的“10086智能客服机器人”,均可以通过短信互动的方式来回答用户的问题,还具有聊天等比较完善的功能。2013年,科大讯飞和中国移动强强合作研发的“灵犀语音助手”,它是国内语音综合识别率最高,国内市场占有率最大的智能语音识别问答系统[32]。2014年,京东首次对外开放的“JIMI客服机器人”,JIMI在“双十一”订单数量暴增期间服务了数百万的客户,在保证服务质量的前提下,有效缓解了人工客服的短时工作压力[33]。百度等搜索引擎也开始提供基于知识库的简单自然问句的回答[34],并将该领域筹划为未来主要研究方向之一,如在人机竞技节目中脱颖而出的百度机器人“小度”。而在上述领域和大部分的受限领域,应用较多的是基于FAQ知识库或基于Web检索技术的自动问答系统。4 第1章绪论1.3本文主要工作内容本文设计的基于本体的中医冠心病自动问答系统主要涉及中医冠心病本体知识建模、三个阶段问句分析、分词、去停用词、信息检索、关键词模糊匹配、词向量建模、语言模型以及词向量相似度算法等NLP技术,主要工作如下:(1)数据的预处理工作:构建约3000个节点的中医冠心病本体知识库,整理中医冠心病关键词词库、约6万个词的常用词词典和问题词词库,构建常见的问句模板用于问句的匹配。(2)设计并实现了针对中医冠心病领域问句的三个处理阶段,每一级处理阶段对应不同的问句处理方式,方法难度由易到难。(3)在问句进行分词、去停用词处理方面,本文设计了一种基于折半查找的逆向最大匹配算法处理中文问句,相比于传统的分词方法效率提高近一倍。(4)实现信息检索、提取功能,通过分析问句的语义,将下一步操作交付给应处理的模块,实现了中医冠心病方剂检索、病机检索、症状名检索、药方检索、文献出处检索等检索子系统,各个子系统内有实现提取问题答案的功能。(5)设计并实现中医冠心病关键词模糊匹配算法,分析分词之后词的种类,词分两个种类:包含于和被包含。主要思路是处理基于字面语义的模糊匹配。(6)在构建的三层神经网络上,运用“连续词袋”法(Continuousbagofwords,CBOW)训练基于哈夫曼树的语言模型,同时生成词向量,词向量将作为词之间的相似度计算的基础。(7)设计了一种基于神经网络语言模型的问题词词向量相似度算法,该算法用于处理对于系统来说难度系数最高的问题。1.4本文组织结构本文共分为六章。第1章:绪论。阐述了本文的选题背景与意义、国内外自动问答系统的研究情况、本文主要工作内容以及本文组织结构。第2章:相关概念及其理论综述。本章说明了本课题相关的一些理论概念以及本课题所使用的关键性技术,包括:本体的定义、浅谈选用逆向最大匹配分词算法的优势、基于神经网络语言模型的概述、基于Huffman树的CBOW语言模型和词向量的概念等。第3章:系统的总体设计。本章根据系统的研发目标,提出了该系统的总体设计方案。系统的总体功能设计主要分为二大方向:问句处理和答案提取;系统的总体运5 沈阳工业大学硕士学位论文行流程框架分为三个层次来处理:一级问句处理阶段、二级问句处理阶段和三级问句处理阶段。第4章:系统的详细设计与实现方案。本章由第三章系统的总体设计扩展开来,首先介绍了中医冠心病本体节点表,关键词词库、常用词词库、问题词库,问句模板的预处理工作,提出了基于折半查找的中文逆向最大分词算法,阐述了运用基于哈夫曼树的CBOW模型词向量的生成。然后,按照系统的三个问句处理阶段分别阐述了本文提出的三种算法:基于问句模板的模式匹配算法、基于本体的中医冠心病关键词模糊匹配算法和基于统计的词向量相似度算法的算法。最后,给出系统各个模块的详细实现方案。第5章:系统的运行。本章说明了本系统是基于Delphi平台实现的,词向量是基于Eclipse平台生成的,列出了根据第四章算法步骤实现的系统各个模块的具体运行效果。第6章:结论。对本文的工作进行了总结,针对本系统的不足,提出了对未来工作的展望。1.5本章小结本章主要阐述了受限领域自动问答的国内外研究情况及其现实意义,然后简要地介绍了本文主要工作内容和本文组织结构。6 沈阳工业大学硕士学位论文第2章相关概念及其理论综述2.1本体本体(Ontology)由哲学上的概念引入到人工智能(AI)领域后,被Studer定义[35,36]为“本体是明确的共享概念模型的形式化规范说明”。本体提供给某领域公共词表,并采用不同程度的结构化标准定义本体的含义及其之间的关系。在过去十年间,科研学者日益关注本体的构建。如今,本体已广泛应用于知识工程、人工智能以及跨学科的数据智能化领域。本体概念的出现极大地推动了知识图谱的发展,知识图谱犹如庞大的知识体系网络,其中每个本体节点包含特定的语义信息,从而在很大程度上消除了语义上的冗余和混乱,特别适用于解决语义理解上的二义性和多义性问题[36]。本体也促进了基于知识网络或知识图谱的内部信息共享,使系统的问题解答能力有了本质的飞跃。将本体这一利器与各领域相结合形成的特定领域的知识网络成为目前研究的趋势,并且逐渐应用到相关领域上,尤其是医学与本体技术相结合的研究方法得到了跨领域专家们的认同和支持。2.2中文分词技术2.2.1中文分词概述中文分词(ChineseWordSegmentation)是指将不间断的汉字序列按照规定的标准切分成独立的词序列的过程[37]。由于语言差异,各种语言规定词的标准各不相同,共享信息较少。英文分词技术起源较早、较为成熟,由于英文的行书格式是:单词之间以空格作为词之间的分隔符,所以英文分词技术相对简单。相比之下,中文行书格式是:除了标点符号外,每个句子中的汉字紧密相连,所以中文分词更复杂、困难。正是由于中文的每句话没有明显的形式上的分隔符,而且汉语博大精深,词的划分标准没有确切的定义,如:古代汉语中有不少是单个字代表一个词,所以中文成词的标准不一,往往通过常见词、字来作为分词的标准。根据汉语行书上的独特性,现存的中文分词技术主要可分为三类:基于词典的分词方法、基于语义理解的分词方法和基于统计模型的分词方法[37]。基于词典的分词方法是基于词典中的词匹配(又名字符串匹配)的分词方法,是目前为止应用最为广泛的中文分词技术之一。基于词典的分词方法主要思想是:按照规定的切分词的策略将待分析的汉字序列和词典中的词项逐一匹配,如果在词典中匹7 沈阳工业大学硕士学位论文配到了某个词,则说明匹配成功,同时划分出待分析汉字序列中的这个词。根据扫描汉字序列的方向,基于词典的分词方法可以分为正向匹配(扫描行文由左到右的方向)和逆向匹配(扫描行文由右到左的方向);根据不同长度汉字序列匹配优先级的情况,可以分为最长(最大)匹配和最短(最小)匹配[37]。常用的两种基于词典的中文分词方法是正向最大匹配和逆向最大匹配。同时,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配中文分词方法[38]。2.2.2逆向最大匹配算法的优势中文具有明显的特点:每个汉字代表特定的语义,词的语义重心偏向于词的后半部分。通常,正向最小匹配和逆向最小匹配中文分词算法使用较少[39]。实验结果表明:在只使用正向最大匹配算法分词的情况下,错误率约为1/170;在只使用逆向最大匹配算法分词的情况下,错误率约为1/247[39]。所以,采用逆向最大匹配算法的分词精度略高于正向最大匹配算法,语义歧义出现率也较低[37]。基于词典的逆向最大匹配算法作为中文分词技术中较基本的算法,在基于字符匹配分词方面得到的效果很好[38],特别在处理大文本上,由于该算法每次都能从大文本中取长度较长的汉字序列进行词匹配,因此从大文本文件中得到的匹配结果往往更接近实际的语义,其匹配成功率也远高于处理小文本的数据。目前,大多的中文分词技术都是在基于逆向最大匹配算法上作出改进的。2.3神经网络语言模型2.3.1神经网络语言模型概述语言建模方法是NLP领域的基础性研究问题。对于中医冠心病这一受限领域来说,基于神经网络语言建模(Neuralnetworklanguagemodeling,NNLM)思想是解决受限领域的语义问题的一种新兴方法,其依赖的最核心的基础是词向量(Wordembedding,又称为Distributedrepresentation)。词向量的兴起源于1985年,Hinton在论文《Learningdistributedrepresentationsofconcepts》中提出的词向量的分布表示(Distributedrepresentation)。随后,Bengio提出了基于Distributedrepresentation的语言模型,即NNLM。接着更多的学者开始关注NNLM领域的研究,在1991年,Miikkulainen和Dyer合作提出了最早利用NNLM解决问题的方案。2000年,Xu和Rudnicky紧接着对提出的NNLM方案做了进一步的改进[40]。8 第2章相关概念及其理论综述2.3.2词向量词向量顾名思义指的是向量化每个词。具体来说,将词映射到向量空间中,用多维连续实数的形式表示向量[41]。计算机在处理数据信息上具有天然的优势(计算机更擅长处理数字),将词转化成对应的词向量便于计算机进行数据处理,从传统的字面意义的语义分析层面升华到了计算机可以“理解”的层面上,这是一个重大的NLP领域技术的突破。词向量就如同人类大脑中的神经元细胞,每个词向量代表某种语义,人类大脑学习、记忆的功能是通过神经元之间信息传递、存储的过程,同样,词向量通过应用机器学习的算法来学习、训练,最终得到符合语义信息的词向量。通常,词向量的表式方法主要有两种,分别是:基于稀疏法的词向量和基于密集法的词向量[40]。基于稀疏法的词向量(One-hotrepresentation)是用一个长度为词典的大小的向量来表示每个词,可想而知,这种词向量不仅会耗费很大的存储空间、在词向量处理上也有一定的难度。在稀疏向量的分量表示中,形式上只有两种:非“1”即“0”。若向量中的项只有一个是“1”,其他全是“0”,那么“1”的位置对应该词在词典中的索引。例如,有这样的词典:[“症状”,“病情”,“什么”],按照稀疏向量的定义,“症状”、“病情”和“什么”对应的词向量分别是:[1,0,0]、[0,1,0]和[0,0,1]。虽然,稀疏向量的表示方式简单,没有复杂的计算,但是存在很大缺点:上述的词典如果长度过大会引发词向量维数的灾难,同时,无法体现出词义相近词之间的联系,更无法通过这样的词向量来预测语义信息。还是用上面的例子,“症状”和“病情”显然有着较紧密的联系,但转化成词向量以后,发现这两个向量相互正交,根本毫无关系。约在21世纪初,研究人员逐渐从原始的稀疏词向量表法研究出了现在的低维度词向量表示形式,基于密集法的词向量,即Distributedrepresentation。[40]密集向量采用低维空间表示法:一方面,解决了维数灾难问题,另一方面,在一定程度上,揭示了词向量之间的联系,从而提高了基于向量的语义信息领域的准确率。与稀疏向量相比,密集向量的维度明显较低,其数据表现形式多样,通常是一系列实数集,比如:[0.0792,−0.0177,−0.0107,0.1093,−0.0542,…,0.0256]等,维度以50维、100维和200维居多。密集向量非常适合运用机器学习算法来计算语义,其基本思路是通过学习算法训练每个词成一个长度大小固定的向量,所有训练好的向量构成整个词向量空间。密集向量最大的优势在于此向量长度可以自由选择,与词典规模大小无关[42]。上述列子:[“症状”,“病情”,“什么”],经过训练后,“症状”对应的向量可能是[1,0,1,0,1,0,0],而“病情”对应的可能是[1,0,1,0,0,0,1],而“什么”对应的可能是[0,1,0,0,0,1,0]。这样“症状”与“病情”向量积等于2,而“症状”与9 沈阳工业大学硕士学位论文“什么”的向量积等于0(正交)。从中可以发现,“症状”与“病情”之间的联系较为紧密,而“症状”与“什么”之间毫无关系。综上所述,密集向量相比于稀疏向量具有其明显的优势,该表示法能更准确地表现出词向量的语义信息和词向量之间的语义关系[42]。2.4基于Huffman树的CBOW语言模型CBOW是目前NNLM语言建模中较为流行的“连续词袋”法,CBOW的思路是根据上下文语境(待处理词的周围词)来预测待处理词可能出现的概率[42-45]。如在袋子中连续取词,只需取出数量足够多的词,并不关心取出词的先后顺序。简单说来,本实验CBOW方法的正向传播方式指的是:输入层是将被预测词周围几个词独热向量(One-hot)表示方式作为输入,隐藏层是对这几个词的词向量加权求和取均值,输出层输出的是待分析词的预测出现的事后概率。本文CBOW模型的反向传播是对结果的反馈,主要思想是运用随机梯度下降法来优化似然函数。CBOW模型,如图2.1所示。图2.1CBOW模型Fig.2.1CBOWModel换言之CBOW语言模型的最终目标是优化下面的似然函数,其副产品就是本文所用到的词向量,如公式(1.1):logp(w|Context(w))(1.1)wC在采用语言模型处理大规模结果输出的时候,分类器选用会直接影响词训练的效率[44]。本文采用基于哈夫曼(Huffman)编码的多分类分类器(HierarchicalSoftmax)将一部分不可能的词筛选掉,时间复杂度从O(V)级降到了O(logV)级。本文的HierarchicalSoftmax分类器利用Huffman树的分支特性,将接近一半的无关词排除掉,10 第2章相关概念及其理论综述相比于在全文本中用概率模型计算词向量的方法效率大幅提高。加入权重衰减(Weightdecay)来解决Softmax回归的参数冗余过拟合问题,保证代价函数唯一解[45]。HierarchySoftmax示意图,如图2.2所示。图2.2HierarchySoftmax示意图Fig.2.2HierarchySoftmax综上,条件概率如公式(1.2)[46]:wlwwwwp(d|X,)p(d|X,)(1.2)jwj1jwj1j2T其中为待定参数0,1,2,...,n,进一步分析得概率,如公式(1.3)[47]:ww(X),d0;wwwj1jp(dj|Xw,j1)ww(1.3)1(Xwj1),dj1根据d的取值(0或者1),将上述公式(1.3)合并列出,如公式(1.4):wwp(dw|X,w)Xw1dj1Xwdj(1.4)jwj1wj1wj1将上式代入目标似然函数中,每一项是一个Logistic回归,变换成如公式(1.5):wlwww1djwdjlogX1X(1.5)wj1wj1wCj2进一步化简,如公式(1.6):wlwwww1dlogXdlog1X(1.6)jwj1jwj1wCj2这个似然函数就是CBOW模型目标函数,接着就是采用梯度下降方法来优化这个函数,同时得到参数。11 沈阳工业大学硕士学位论文2.5Delphi简介2.5.1Delphi由来与优势Delphi是基于Windows开发平台的著名快速应用程序开发工具(Rapidapplicationdevelopment,RAD),也有一些专家称之为D语言。Delphi的前身是WindowsDOS时代风靡一时的“BorlandTurboPascal”,主创者是AndersHejlsberg,由美国宝兰(Borland)公司于1995年开发出最早版本[48]。经过数年的发展,在Delphi众多版本中,使用人数最多的版本是Delphi7。Delphi核心构架是由传统Pascal语言发展而来的弹性可重复利用的面向对象Pascal语言(ObjectPascal)。Delphi融合了先进的Windows图形界面设计思想,以全新的视角提供了“可视化”的集成开发环境(IDE)[48]。Delphi拥有当今世界上最领先的数据库处理技术、最快速的程序编辑器,采用简单易学而功能强大的面向对象的窗体和组件技术,这都无疑大大地提高了程序调试、运行的效率。在Delphi的评价中,最经典的描述是“真正的程序员用C++,聪明的程序员用Delphi”[49]。Delphi被称为第四代编程D语言,它具有简单易操作的可视化对象,高效的编译运行机制,组件功能丰富、灵活等的特点[49]。与VC相比,Delphi更易上手,实现的功能也毫不逊色;与VB相比,Delphi则拥有更强的功能,更灵活[50]。2.5.2Delphi关键控件与类(1)ListBox组件ListBox控件将“列表菜单”提供给用户,ListBox列表菜单具有可选择的功能,ListBox中有一条或者多条的项,每个项是待查询的信息,为用户选择检索项提供了功能实现途径。以下是其常用的属性和方法:1)MutiSelect:控制组件中可选条目的选择类型,多选(值为True)还是单选(值为False)[47]。2)Count:返回ListBox列表中项的数目[50]。3)Items:引用ListBox列表中全部项,并作为TString类型返回[51]。其中,Strings[Index:Integer]是表示以下标索形式引用ListBox列表的各项。用Items引用列表项可以实现对ListBox中项的操作,如:向列表中添加项的函数Add(constS:string);删除列表中的项的过程Delete(Index:Integer)等。4)ItemIndex:当选中列表菜单中的某项时,返回其索引值,若返回-1表示当前未选择任何值[49]。5)Sorted:将ListBox中的项按字符顺序自动排序。对组件中各项字符串进行排12 第2章相关概念及其理论综述序,可显示排序好字符串的列表菜单,每当向ListBox中添加项时,则会按照当前已排好的顺序将该项存放到ListBox中相应位置,可以保证列表按一定的顺序显示,同时有助于加速程序的运行。(2)Tstring类Delphi中存在一些支持组件但本身不是组件的类,而其他组件的属性中经常使用到这些类,如TString类。TString类、TCanvas类和TCollection类都是TPersistent的派生类[47]。TStrings作为抽象类,它没有真正的去实现操作字符串等组件方法,也不是利用基于API函数和消息的组件方法,只是定义了必要的访问和操作属于组件的字符串方法和属性,就可以对组件的字符串列表进行一系列的操作[47-50]。同样,TStrings类也不真正地去管理组件中字符串的内存,而是由使用TStrings类的组件来管理。TString类的巧妙设计可以更灵活地处理组件中的字符串,并将具体实现方法和属性转嫁给了TStrings类的派生组件,如:TMemo.Lines、TListBox.Items、和TComboBox.Items等。这些对象的属性都被定义为TStrings类型,但这些属性随着包含它们的派生类对象被实例化而改变。常用的TStrings类的过程和函数有以下几种:1)LoadFromFile(constFileName:string):从文本文件FileName中读取字符串列表。2)SaveToFile(constFileName:string):把字符串列表保存到文件FileName中。3)AddStrings(Strings:TStrings):从TStrings类型变量Stings中复制字符串追加到当前字符串列表的后面。4)Assign(Source:TPersistent):用TPersistent类型变量Source指定的字符串取代其本身。5)Add(constS:string):把字符串常量S加入到当前字符串列表中,并以Integer类型返回该字符串在列表中的索引[50]。2.6本章小结本章主要概述了本课题涵盖的相关概念及其理论,重点介绍的本课题所运用的关键技术包括:本体的概念、中文分词相关技术、神经网络语言模型概述、词的向量表示法、基于Huffman树的CBOW语言模型概述和Delphi简介。13 沈阳工业大学硕士学位论文第3章系统的总体设计3.1系统研发目标本系统研究目标是对海量中医冠心病文献资源进行收集整理和汇聚,将其丰富的历史文化知识和研究成果广为所用;系统采用便于操作、学习的自动问答形式实现,促进中医冠心病知识的普及和研究,结合现代信息技术的最新成果,挖掘中医冠心病古文献资源的潜在价值,服务于大众,让中华民族的中医文化宝库焕发新的活力。3.2系统总体框架设计本课题根据辽宁中医药大学的需求,按照系统的大致功能,将系统划分为两个子系统:问句处理子系统和答案提取子系统。问句处理子系统包括5个功能模块,分别是:问句模板匹配模块、分词去停用词模块、关键词问题词提取模块、关键词模糊匹配模块和问题词相似度计算模块;答案提取子系统包括6个功能模块,分别是:症状名检索模块、病机检索模块、代表方检索模块、方药方剂检索模块、文献出处检索模块和父类检索模块。基于本体的中医冠心病自动问答系统功能结构图,如图3.1所示。基于本体的中医冠心病自动问答系统问句处理子系统答案提取子系统关关问代代方文父问分键键题症病代方文父句词词词词状机表药献类模去问模相名检方方出检板停题糊似检索检剂处索匹用词匹度索模索检检模配词提配计模块模索索块模模取模算块块模模块块模块模块块块块图3.1基于本体的中医冠心病自动问答系统功能结构图Fig.3.1FunctionalstructureofAQASbasedonOntologyforTCMCAD14 第3章系统的总体设计3.3系统的三类处理阶段自然语言问句本身具有很强的随机性、不确定性,具体表现为:形式上的和语义上的随机、不确定。如果将问句按照统一的思路、步骤来处理,得到的结果会耗费很多时间,效率也得不到提升,并且造成一定程度的系统资源浪费。所以,本课题提出基于本体的中医冠心病自动问答系统三类处理阶段思想,按照问句处理的难易程度,划分系统为三个阶段处理:(1)基于问句模板匹配方式在系统一级处理阶段中,以“快速处理问句”为根本意图,采用基于问句模板匹配的方法对问句进行快速地语义信息提取,如果匹配失败,那么进入到二级处理阶段。(2)基于字面意义的中医冠心病关键词模糊匹配方式分析分词后的问句语义生成答案,这一阶段是对问句分词、去停用词、中医关键词模糊匹配等字面上的语义分析和处理,如果中医关键词模糊匹配失败会进入到三级处理阶段。(3)基于词向量语义相似度方式将一级、二级阶段无法处理的问句交付给三级处理阶段,这一阶段主要是对上述两个阶段处理的词进行问题词相似度计算,即问题词语义距离计算,排序得到名列前茅的预测词,与用户进行互动,进而调整问句语义方向,最后生成答案。基于本体的中医冠心病自动问答系统问句处理层次图,如图3.2所示。基于本体的中医冠心病自动问答系统一级问句处理阶段二级问句处理阶段三级问句处理阶段图3.2基于本体的中医冠心病自动问答系统问句处理层次图Fig.3.2QuestionprocessinghierarchyofAQASbasedonOntologyforTCMCAD15 沈阳工业大学硕士学位论文3.4数据预处理(1)本体表。本课题的本体表是从中医700多篇古文献中提取和总结而成的具有8层架构的树形结构表。(2)中医关键词库。有本体表生成,是系统匹配和提取关键词的依据,并在中医关键词前添加了该词在本体节点表中的坐标,方便查找。(3)问句模板。为实现快速检索,需要问句模板作支持,问句模板中将常见的问句按种类进行了区分,按列排列,每一列代表要执行的动作种类。(4)问题词词库。分词之后需要对词进行问题词匹配,问题词词库将发挥很大作用。在问题词词库中不仅列出了常见问题词,而且每个词都有前缀数字标明了要执行的检索的动作种类。(5)常用词词典、停用词词典。3.5问句处理子系统总体设计3.5.1问句预处理(1)分词由于本系统是自动问答系统,用户输入的可以是一段话,也可以是几个词,甚至几个字。根据汉语的特点:词义的重心通常偏后,本文采用基于折半查找的逆向最大匹配算法切词,将分好词的词存入文件中。简单说来,逆向最大匹配分词算法是:每次先截取最大的字符集(第一次即整个问句),在分词词典中用折半查找算法查找该词,若有匹配词,则标记为已分词存入文件,并在字符集中去掉找到的词,重复此步骤;若在分词词典中未找到该词,则将字符集中第一个汉字去掉,重复上述步骤,直到全部处理完字符集中的词。(2)去停用词标点符号、停用词对于计算机来说往往不会起到实际作用,所以将分好词的问句进行去标点符号、停用词等的操作,如“?”、“。”“是”、“啊”等,具体操作根据停用词词典来进行精确匹配、删除。(3)去问题词本文要识别出中医关键词,问题词与中医关键词相差较大,问题词如“症状名”、“病机”等,先要将识别出的问题词全部去掉,以免将问题词当做中医关键词来处理,影响效率。16 第3章系统的总体设计3.5.2问句模板匹配模块用户在输入问句之后,系统首先会进入一级处理阶段,在问句模板匹配模块中,根据现有的问句模板逐一匹配问句。因为问句模板都是些常见的问句,规模并不大,所以执行这个匹配过程会很快。3.5.3中医关键词提取模块在问句模板匹配成功的条件下,会进入到中医关键词提取模块,在这个模块中,主要是将问句中的问题语句去掉之后,对剩下的词提取出中医关键词,得到中医关键词之后,便可以输出结果。3.5.4问题词匹配模块在分词、去停用词模块之后,系统进入到了问题词匹配模块,考虑到效率问题,问题词词库相对于中医词词库要少的多,所以先进行问题词匹配,在这个模块中,将分好词、去停用词之后的词逐一进行问题词匹配,一旦匹配成功,则提取问题词的动作标记;如果匹配失败,说明该词不是问题词词库里的词,但有可能是其他问题词,要做匹配失败标记。3.5.5中医词模糊匹配模块由于语言种类的限制,中文处理不可能完全照搬比较成熟的英文处理方法和模式。针对本文的基于中医冠心病本体的自动问答系统的中医关键词模糊处理模块,本文提出了一种灵活的相适应的中医关键词模糊处理方案。对待处理词作出类型判断、分别对被包含类型和独立于类型做模糊匹配处理。相比于基于拼音的中文模糊匹配方法,这种方法省去了转换成拼音代码的中间环节,直接字符串比较,效率较高。3.5.6问题词语义距离计算模块问题词匹配失败了,并且中医词模糊匹配成功的话,会进入问题词语义距离计算模块,在这个模块中,系统通过计算被检索词与问句文本中的词进行语义距离计算,语义距离计算是通过求得每个词的词向量后,用距离函数得到与被检索词最接近距离的TOP3的词来预测问句的语义。3.6系统主控制界面总体设计运行程序,首先会进入中医自动问答系统的主控制界面,该界面要求清晰简洁地呈现给用户功能信息,界面有一个输入栏和一个按钮,还有一个提示栏。在用户输入完一句问句之后,系统后台进行处理,决定进行哪个处理阶段,再跳转到相应的答案提取窗口。该主控制窗口是系统的核心窗口,会控制系统的处理阶段和跳转模块。17 沈阳工业大学硕士学位论文3.7答案提取子系统总体设计3.7.1症状名检索模块用户在主控制界面输入问句命令检索后,系统会识别问句语义并跳转到症状名检索窗口,显示要查询的症状名Listbox栏,如果点击症状名中的某一项则显示其子症状名。在这个窗口会显示用户已经输入的问句,并有“与机器人的对话”栏提示用户下一步操作。3.7.2代表方检索模块用户在主控制界面输入问句命令检索后,系统会识别问句语义并跳转到代表方检索窗口。系统根据用户输入的中医词进行判断,如果输入的是子症状名则跳转到该窗口,问询用户选择病机和子病机;如果用户输入的是病机,则系统会让用户选择子病机,并输出代表方结果;如果用户输入的是子病机,系统跳到该窗口后,直接显示代表方结果。3.7.3方药/方剂检索模块用户在主控制界面输入问句命令检索后,系统会识别问句语义并跳转到药方成分检索窗口。主控制模块根据用户输入的代表方名称,执行方药/方剂检索,该窗口同代表方窗口,会同时把其病机和子病机呈现给用户,如果用户要查询相关病机的其他药方成分,可以点击选择病机和子病机,系统会显示给用户方药/方剂结果。3.7.4文献出处检索模块用户在主控制界面输入问句命令检索后,系统会识别问句语义并跳转到文献出处检索窗口。主控制模块根据用户输入的代表方名称,执行文献出处检索,该窗口同代表方窗口,会同时把其病机和子病机呈现给用户,如果用户要查询相关病机的其他代表方的出处,可以点击选择病机和子病机,系统会显示给用户文献出处结果。同时也可以查询该代表方的方药/方剂。3.7.5病机检索模块用户在主控制界面输入问句命令检索后,系统会识别问句语义并跳转到病机检索模块,病机检索模块对应病机检索窗口。病机检索窗口根据主控制模块传来的参数,进行判断是病机检索还是子病机检索。在这个模块中,如果用户想知道的是病机检索,在显示给用户病机检索结果之后,还可以进一步的进行子病机检索。18 第3章系统的总体设计3.7.6父类检索模块用户在主控制界面输入问句命令检索后,系统会识别问句语义并跳转到父类检索窗口。主控制模块根据用户输入的病机、子病机名称,执行其父类检索,跳转到父类检索窗口,显示检索结果。3.8本章小结本章从辽宁中医药大学实际需求的角度出发,首先阐述了系统的总体设计框架,包括:系统的功能模块和运行流程框架设计,然后主要说明了问句处理子系统和答案提取子系统的总体设计方案。19 沈阳工业大学硕士学位论文第4章系统的详细设计与实现方案4.1系统三类处理阶段运行流程基于本体的中医冠心病自动问答系统运行流程如下:(1)在主检索界面“请输入中文问句:”后的文本框内以中文形式输入中医冠心病相关的一个问句,可以包括标点符号。之后,系统将根据输入的内容自动进入相应的处理阶段。(2)一级处理阶段:优先级最高,系统根据问句模板进行匹配,如果匹配成功,则提取关键词,返回检索结果;如果匹配未成功,则进入二级处理阶段。(3)二级处理阶段:回到(1)的内容,因为问句模板未匹配成功,重新处理用户输入的该问题,在这个阶段,首先要进行的是问句分词,接着去掉标点符号,停用词,然后,再将分好词的文件和问题词库进行匹配,如果,匹配成功,则标记问题,接着进行提取关键词,返回查询结果;如果与问题词库匹配失败,则进入下一阶段:三级处理阶段。(4)三级处理阶段:在这个阶段,系统要执行大规模的语义分析任务,因为一级和二级处理阶段均不能匹配成功,在这个阶段还是要重新回到(3)分好词的文件,重新处理。由于考虑到系统的效率问题,系统首先要将分好词的文件中的词与中医关键词词库进行匹配,如果匹配成功,则标记中医关键词,再进入问题词距离计算模块;如果匹配失败,则模糊查找关键词,输出排名前10(TOP10)的中医关键词,对用户进行问询。问题词距离计算模块,会通过计算词向量之间的距离,得到排名前5(TOP5)的最相关距离排名,然后预测问句语义输出结果。系统三类处理阶段运行流程图,如图4.1所示。20 第4章系统的详细设计与实现方案开始用户输入模块匹一级:问句模板匹配配失匹败配成二级:分词、去停用词功匹配成功中医关键词匹配匹配失中医关键词提取模块败中医关键词模问题词匹配模块糊匹配匹匹配配匹匹成失配配功败成失功败三级:问题词相似度计算模块记录关键词并错误提示提示选择问题答案提取模块结束图4.1系统三类问句处理阶段运行流程图Fig.4.1Flowchartofthreequestionprocessingstagesforthesystem21 沈阳工业大学硕士学位论文4.2数据预处理本系统数据预处理工作量较大,主要包括中医冠心病本体表,问句模板,分词词典,停用词词典,问题词词库,下面一一说明。(1)中医冠心病本体表中医冠心病本体表是由辽宁中医药大学专家和本课题研究人员共同构建的,表中数据的节点项内容均源于中医古籍、文献,这保证了本体表数据的可靠性和准确性。中医冠心病本体表部分截图,如图4.2所示。图4.2中医冠心病本体表部分截图Fig.4.2aPartofTCMCADOntologyscreenshot(2)问句模板广泛收集常见的关于中医冠心病问句的常见的问句形式,问句模板中只列出问句形式不包含中医关键词。考虑到效率问题,在快速检索阶段用到问句模板,所以问句模板规模不能大,目的是快速。来源于专家、老师等学者的总结和网络资源。问句模板,如图4.3所示。图4.3问句模板Fig.4.3Questiontemplate22 第4章系统的详细设计与实现方案(3)分词词典分词词典是在常用词的基础上改进的,因为常用词几乎不包括中医关键词,往往会把中医关键词切分开,这样得到的结果显然不正确,如“手足汗出”这个中医关键词会被切分成“手足”、“汗”、“出”;同理部分问题词也不能正确切分,如“症类”会被切分成“症”、“类”。很明显,因为常用词词典中缺少中医关键词和部分问题词,所以不能正确切词。那么,就要把缺少的这部分词添加到常用词词典中,添加完之后要对词典进行排序,方便日后的检索。整理好的分词词典包含56279个词,分词词典部分截图,如图4.4所示。图4.4分词词典部分截图Fig.4.4aPartofwordssegmentationdictionaryscreenshot(4)停用词词典停用词词典包含感叹词,虚词,标点符号等,共494个词。注意不能包含问题词词库中的词,有可能是问题词的词已经全部去掉,停用词词典部分截图,如图4.5所示。23 沈阳工业大学硕士学位论文图4.5停用词词典部分截图Fig.4.5aPartofstopwordsdictionaryscreenshot(5)问题词词库问题词词库包含问题词和执行动作前缀,前缀用数字标记对于此问题词应该执行什么样的动作。为了提高检索的效率,问题词词库比较精炼,问题词词库截图,如图4.6所示。图4.6问题词词库Fig.4.6Questionwordsthesaurus24 第4章系统的详细设计与实现方案4.3问句处理子系统详细设计4.3.1问句模板匹配模块用户在输入问句之后,进入一级处理阶段,进行问句模板匹配模块,识别出问句种类,标记将要执行动作的类型。具体实现算法如下:(1)从主控制界面中的编辑框中读入用户输入的问句,去掉标点符号和非中文的字符。(2)将得到的句子与“问句模板.xls”的每一行每一列进行匹配,如果匹配成功,则标记问句动作,并进入到中医词提取阶段;如果匹配失败,则标记匹配失败,并进入到分词模块中。(3)提取中医词,将匹配成功的问句去掉,得到剩下的关键词与“中医关键词.txt”中的词逐一进行匹配,若匹配成功,则提取中医关键词坐标,返回结果。若匹配失败,则进入到中医词模糊匹配模块中。问句模板匹配模块算法流程图,如图4.7所示。开始读取输入框中的问将输入问句与“问句模板”逐项进行匹配是是否匹配否将提取中医词、去问句后的分词、去停用词模块词与中医关键词.txt中词逐一匹配是否匹配是否结合问句动作标记返回结中医词模糊匹配模块果,显示给用户结束图4.7问句模板匹配模块算法流程图Fig.4.7Flowchartofquestiontemplatematchingmodulealgorithm25 沈阳工业大学硕士学位论文4.3.2分词、去停用词模块(1)分词模块首先对用户输入的问句进行中文分词,采用基于折半查找的逆向最大匹配算法切词,然后再将分好词的问句去停用词。综合考虑各项影响因素后,本课题采用改进的基于词典的中文逆向最大分词算法,本课题的分词词典由三部词库组成,分别是:中医冠心病关键词词库、常用词词库、问题词词库。本课题提供了一种适应于课题自身特点的基于词典的快速分词算法,在保证分词的准确率的前提下,将折半查找算法思想融入到分词查找过程中,并且大幅提高了词典加载和分词的效率。基于折半查找的逆向最大匹配分词算法步骤如下:1)从句尾向前读入待分词字符串,读入字符串的长度由分词字典中最长单词决定。2)测试读入的字符串是否存在在字典中,如果存在的话,说明从词典中找到了对应词,从原始文本中删除这个字符串,进入(3),否则(4)。3)记录该词并存到另一个文件中(out_fenchi.txt),再调整起始坐标,重复1)。4)如果读入的字符串不存在字典中,从左至右其长度减1,重复1)继续在字典中查找。5)上述步骤完成后,如果均未找到则,直接输出”我无法理解,请换一种方式提问!”。(2)去停用词模块在分好词的文件中,将词逐一取出,用折半查找方法与停用词词典中的词对比,若找到,则删除分词问句中的此词汇,重复进行此步骤,直到文件中的词全部匹配完毕。4.3.3中医关键词提取模块在这个模块,将问句中的问题语句或者相关问题词去掉之后,对剩下的词提取出中医关键词,得到中医关键词之后,返回用户结果。具体的实现算法如下:(1)将主控制界面中的输入框中读入用户输入的问句,去掉问题语句或者问题词。(2)采用折半查找方法,将得到剩余词与“中医关键词.txt”中的词匹配。(3)如果匹配成功,提取中医关键词的坐标,结合问句动作标记返回用户结果。(4)如果匹配失败,进入到中医关键词模糊匹配模块。中医关键词提取模块算法流程图,如图4.8所示。26 第4章系统的详细设计与实现方案开始去掉输入框中的问题语句、问题词逐一取词,采用折半查找算法在中医关键词.txt中查找该词否是否匹配是提取该中医关键词的坐标中医关键词模糊匹配模块结合问句动作标记,返回用户检索结果结束图4.8中医关键词提取模块算法流程图Fig.4.8FlowchartofTCMkeywordsextractionmodulealgorithm4.3.4问题词匹配模块在分词、去停用词模块之后,系统进入到了问题词匹配模块,由于问题词词库规模不大,可以直接与分好词、去停用词之后的词逐一匹配,一旦匹配成功,则提取问题词在词库中的前缀动作标记;如果匹配失败,说明不是问题词词库里的问题词,也有可能是问题词,要做匹配失败标记,之后通过中医关键词模糊匹配模块再决定是否进行问题词相似度计算模块。具体实现算法如下:(1)将得到的词直接与问题词词库中的词匹配。(2)若匹配成功,则提取问题词的前缀动作标记。(3)若匹配失败,做匹配失败标记,并进入到中医关键词模糊匹配模块。问题词匹配模块算法流程图,如图4.9所示。27 沈阳工业大学硕士学位论文开始剩余词与问题词词库匹配否是否匹配是提取问题词的前缀动作标记做匹配失败标记中医关键词模糊匹配模块结束图4.9问题词匹配模块算法流程图Fig.4.9Flowchartofquestion-wordsmatchingmodulealgorithm4.3.5基于本体的中医关键词模糊匹配算法(1)主要思想和考虑因素概述通常,为了提高中文模糊匹配的效率,会采用基于拼音的中文模糊匹配方法,但是由于本系统需要采用《中医冠心病关键词词库》,一方面,将词典词逐一转换成拼音码需要一定的工作量和时间;另一方面,在检索时,还要进行拼音码到汉字之间的互相转换,造成冗余,所以本文直接采用汉字对汉字的匹配方式。既然已经分好词,而且该词不在《中医冠心病关键词词库》中,那么说明:该词在字典里不在《中医冠心病关键词词库》里。主要思想是:检索《中医冠心病关键词词库》,逐一取出分词后的词,看有无中医词库包含该词的词,并做标记和计数;计数的目的主要是统计分词剩下的词在《中医冠心病关键词词库》中对于同一个词的共用次数,比如,分词处理后剩下的词:手,汗出,那么在《中医冠心病关键词词库》中有:手足汗出,则计数为2,说明手足汗出这个词包含2个待处理词。同时把待处理词的长度记录下来,方便以后的程序做比较。28 第4章系统的详细设计与实现方案对于待处理词字数和种类与某个中医关键词一致但顺序不同的词,我们认为大部分情况下并不可能存在这种词,可以将情况等同于找到最大共用词考虑。比如:“手足出汗”,分词后肯定不会是手足出汗,正常情况下结果会是手足,出汗,而“手足汗出”才是《中医冠心病关键词词库》中的最与待处理词相似的词,虽然从表面看来只是顺序不同,但用计算机处理的话,可以通过计算手足汗出的共用次数是2,因为总共就两个待处理词,所以是最大共用次数,那么首先输出它,注意这种情况的前提条件是字数相同。所以在排序中,共用词内部的长度也是要考虑的一个重要因素。(2)两种类型分别处理进入到中医关键词匹配阶段时,说明处理后的词虽然在系统大字典中,但不在中医关键词词典中。那么,这待处理的词要么是被某个《中医冠心病关键词词库》中的词包含,要么是待处理的词的某个字在《中医冠心病关键词词库》中的某个词里,要么是独立于《中医冠心病关键词词库》与任何中医关键词都不匹配。综上所述,待处理词与中医关键词有两种主要关系:被包含于或独立于。对于以上步骤得到的词,我们用以下方法对其进行处理:1)“被包含于”关系类型从《中医冠心病关键词词库》中,逐一取出词,用flag作外部判读标记,用flag_inside作内部标记,将取出的中医关键词与每个待处理词模糊匹配(非精确匹配,只要求词的首字被中医关键词包含),如果有2个以上的待处理词与同一中医关键词相匹配,用flag_inside计数待处理词个数,并将flag赋值为最大的flag_inside值,同时将中医关键词的词串,坐标,长度存储在结构体binglie中;如果没有找到共用的中医关键词,将flag赋值为1,将该词存储在结构体top_zy中。否则,进入到(2)。2)“独立于”类型由于被包含于关系的匹配失败,接下来要对待处理词全部拆分开成汉字,再进行模糊处理。拆分的汉字存入zi数组中,flag此时应为0,再与中医关键词词典匹配,结果存放在top_dandu结构体中。3)输出的结果也分两种类型:“被包含于”类型中,先输出共用词中含待处理词个数最多的词,共用词输出完之后再按长度由小到大的原则输出非共用词;“独立于”类型中,按检索各个待处理汉字的顺序输出前10个。4)在以上的结构体存储过程中是动态变化的,每次存储之前要对所有的结构体数组进行判断,如果结构体数组有未存满的,则存入空着的结构体数组中;如果所有结构体数组全满,则将待处理词与现有的结构体数组词用选择查找方法比较长度、共用词个数等方面的情况,再作出是否取代现有结构体的决定。29 沈阳工业大学硕士学位论文(3)中医冠心病关键词模糊匹配模块详细设计方案中医冠心病关键词模糊匹配模块,会对在中医关键词精确匹配提取模块提取失败的词做进一步的模糊处理,系统根据去掉问题词之后剩下的词,逐一与《中医冠心病关键词词库》中的词进行比对。比对结果按《中医冠心病关键词词库》中包含被检索词和字的个数来分别存储,优先返回多个词共同检索出的共用词,和《中医冠心病关键词词库》中含有被检索词/字的长度相对较小的。最后结合用户选择的关键词和询问用户选择的问题词输出结果;如果均未有成功的模糊匹配结果,那么返回用户提示信息,要求用户重新输入。详细的步骤如下:1)将预处理得到的词与中医词词库中的词比对。2)比对时按先进先出原则,越往后比对的被检索词,检索出的相关词比重占的越大,这符合分词中的逆向最大匹配原则,着重把分词文件中的重心放在了整个问句的前端,因为问句的前端往往是相关的中医关键词词汇。3)返回结果按多个词共同检索出的共用词最优先,即:同一个中医词词库中的词包含越多的被检索词,那么最优先返回包含被检索词个数最多的那个。4)返回结果按检出词的长度大小次优先,由小到大排序,只要前10个最短的检出词。5)返回整体结果,问询用户想要知道哪个中医关键词的信息。6)若比对均失败,即,无相关检出词,则没有意义继续进行,要提示用户重新输入问句。中医关键词模糊匹配模块算法流程图,如图4.10所示。30 第4章系统的详细设计与实现方案开始剩余词按被包含关系与中医词词库中的词逐一比对按先进先出原则,重心放在问句前端否比对成功是最优先:检出词包含越多的被无实际意义的提问,要检索词越优先输出求用户重新输入问句次优先:检出词的长度越小越优先输出返回结果,问询用户结束图4.10中医关键词模糊匹配模块算法流程图Fig.4.10FlowchartoffuzzymatchingofTCMkeywordsmodulealgorithm4.3.6基于词向量的语义相似度计算模块(1)语料库的收集与构建本文针对中医冠心病的受限领域进行研究,所以疑问句具有很强的针对性、独特性,如果运用普遍的统一的语料库来实现,运行效果不佳。为获得良好的实验效果,首先要广泛收集相关的语料库,语料库的大小和质量会直接影响实验的效果,语料库的构建工作对于本实验相当重要,本文主要收集途径来源于专家医师的问句总结、网络数据、患者的问句和筛选后的“搜狗数据实验室”数据。由于这些数据冗余较多、规律性不明显,本文在运用“基于本体的中医冠心病自动问答系统”的中文分词系统基础上,采用人工汇总的方式将数据整理成规范的问题词文件(包括去重操作)。整理好的问句文件共165组常见问句形式(去掉关键词),大体上覆盖了中医冠心病领31 沈阳工业大学硕士学位论文域的常见问句。针对本文的需求,本文问题词向量语料库中的数据已经将中医冠心病关键词去除,主要是以下两点原因:1)如果将整个完整的问句放到语料库中所得的词向量文件大小会达到2GB以上,算法在处理词向量上所用的时间大大增加,不利于系统快速地得到结果,影响系统的交互性;2)由于中医冠心病关键词之间的相似程度并不主要受问题词词向量距离的影响,其相似度受本体节点表和中医冠心病关键词字面的影响较大。故将中医冠心病关键词和中医冠心病问题词分开处理,可大大提高系统的运行效率。(2)词向量的生成步骤通俗来说,本文所用的词向量是通过统计问句语料库中问题词的概率来生成的,本文将问题词在语料库中出现的概率设定为生成一个1×200的列矩阵,这个矩阵唯一代表着词汇本身,训练之后每个词向量是唯一的密集型词向量。本文采用基于神经网络的机器学习算法来训练基于Huffman树的CBOW语言模型,并在训练后得到每个问题词所对应的词向量。具体来说分为以下几个步骤:1)问句语料库分词。本文将问句文本进行分词,采用“基于本体的中医冠心病自动问答系统”的基于折半查找的逆向最大匹配分词算法。2)设定初始值。词向量的初始值设定为随机数,学习率初始值为0.25。3)统计词频。遍历一遍问句语料库,统计出每个词出现的频率,包括所有的问题词,不排除停用词,是因为停用词虽然有特殊性和没有普适性,但还是会对结果产生一定的影响,但是标点符号均已经去掉,就是出现频率太高的词,如逗号,句号等等,这些停用词没有区分度。4)构建Huffman树结构,对节点进行哈夫曼编码。依照每个词的词频构造Huffman树,每个叶节点代表着词表中的一个词,所有的非叶节点存储着Huffman树构建过程中的中间参数向量(初始化为0)。Huffman编码随着Huffman树的构建过程生成,每个词会有唯一的二进制Huffman编码,其编码反映了词节点的位置。构建好的Huffman树的叶节点整体作为三层神经网络的输出层,非叶结点作为隐藏层的一部分,通过训练不断调整各层参数。5)训练。通过训练将每个词映射成K=200维实数向量。(3)词向量的训练本文采用三层神经网络结构的语言模型建立训练模型,在优化过程中获得词向量,神经网络的三层分别是:输入层(Input),映射层(Projection)和输出层(Output)。本文的语言模型是基于Huffman树的CBOW模型,在建立语言模型之前,本文用可移32 第4章系统的详细设计与实现方案动的窗口来设定上下文语境的大小,程序中用windows变量来表示,默认大小为5,换言之,程序运行时只考虑上下文5个词的语义,除此之外不予考虑,也就是说假设一个词只与周围5个词有关且不考虑词之间的先后顺序。本文的问句语料库上下文是以下的形式:病理,[症状,属于,吃,什么,药方,哪些],出处......本文基于Huffman树的CBOW模型及其优化模型算法的实现步骤如下:1)输入层:windows=5个1×V的向量,分别跟V×N大小的系数矩阵W1相乘得到windows个1×N的隐藏层向量。2)隐藏层:向量再加权求和取平均值得到最终隐藏层输出。隐藏层的输出向量是与一个N×V大小的系数矩阵W2相乘得到1×V大小向量作为输出。3)输出层:语料库中的词作为叶节点构建Huffman树,隐藏层的每个神经元都会与Huffman树上的每个节点相关联,构建Huffman树的过程是沿着Huffman树不停地进行Logistic分类(二分类)的过程,随着分类的进行会对上一层的参数进行更正,直到最后达到叶节点。最后,得到的输出向量中每个元素代表着文档里每个词的事后概率,正向传播一个阶段结束。4)反向传播:从输出层按照随机梯度下降方法逆向对每个向量的学习率等参数进行修正。按上述步骤遍历一遍文本,有重复的词会重复学习训练。5)优化。语料库越大运行得到的结果越准确,但随之而来的运行耗时也会大幅增加。为了加快数据的读取速度,本文生成的词向量存储在TXT类型文件中,词向量表的部分截图,如图4.11所示。33 沈阳工业大学硕士学位论文图4.11词向量表Fig.4.11Wordvectortable(4)语义距离相似度计算的详细设计向量在空间中是有方向的,在本实验中,词向量的方向比词向量本身的值更具有判断性。本实验语义采用的相似度算法是基于词向量语义距离的余弦法计算出待处理词与语料库中词的相似度值,得到的相似度值是在(-1,1)之间的小数,将结果排序取出较大值的前3项用来预测与待处理词语义较相似的词。语义距离相似度计算公式,如公式(4.1):mndisC*C(4.1)ijii,j其中,m是词向量的个数,n是词向量维数,C代表词向量,是权重调整参数。相似度算法分为学习训练部分和实践测试部分,步骤分别如下:(5)学习训练部分的相似度算法1)取出输入参数中的待处理词并求出该词在语料词向量库中的位置,即行数line。2)将待处理词对应行存储的200维词向量取出,分别与语料词向量库中的其他词向量按照公式(4.1)计算问题词词向量的相似度。3)将得到的所有语义距离计算结果存盘并排序。4)取出前5项作为预测相似的语义词。5)反馈学习训练的结果,优化如下的损失函数,调整学习率等参数变量值,目的是优化预测的结果。(6)实践测试部分的相似度算法1)取出输入参数中的待处理词并求出该词在语料词向量库中的位置,即行数line。34 第4章系统的详细设计与实现方案2)将待处理词对应行存储的200维词向量取出,分别与语料词库中的其他词按照相似度计算公式(4.1)计算词向量间语义距离。3)将得到的所有语义距离计算结果存盘并排序。4)取出前3项作为预测相似的语义词。(7)相似度算法参数优化的说明相似度算法是一个学习并且反馈的过程,一次运行后的结果可能并不理想、得到的语义并不接近相似的词,当然,目前判断语义词之间接近程度的方式还尚未成熟,本实验只能就作者的思维方式来判断语义接近的程度。在得到不理想的结果后,本实验再次运用随机梯度下降算法来调整相似度算法的参数,同时也进行了人工操作的干预,目的是让得到的结果尽量地满足需求。4.4答案提取子系统详细设计4.4.1症状名检索模块系统在主控制界面处理数据之后,识别出用户要检索症状名时,则调用症状名检索模块,症状名检索模块对应症状名检索窗口。在症状名检索窗口中,有两个Listbox:一个显示症状名,另一个显示子症状名,用户可以双击项目进行选择。还有一个“人机对话栏”提示用户如何操作。具体实现算法如下:(1)将系统传递来的要检索的相关中医关键词及其坐标备份,打开“本体(标注完成).xls”。(2)若传递的中医关键词在“本体(标注完成).xls”中的第一列,则去找其子节点(即症状名那列),将其所有子节点列出,同时把相关症状名在“本体(标注完成).xls”中的坐标记录在数组中,并提示用户可双击症状名的某一行来获取子症状名;若传递的中医关键词坐标在本体节点表的第二列,则查找该中医关键词的子节点,输出到子症状名栏中;若传递的中医关键词不在本体节点表中的第一列,则提示用户重新输入。(3)当用户双击症状名的某一行时,从记录数组中计算出该症状名的坐标,然后再找该症状名的子症状名,并输出到子症状名栏中。中医冠心病症状名检索模块算法流程图,如图4.12所示。35 沈阳工业大学硕士学位论文开始备份相关中医关键词及其坐标,打开本体节点表是中医关键词坐标是否在第一列否找其子节点,将其所有子节点列出在症状名栏中是中医关Y键词坐标是否在第二列查找其子节点,输否出到子症状名栏中提示用户重新输入用户双击某行查找此行的症状名的子节点,输出到子症状名中结束图4.12中医冠心病症状名检索模块算法流程图Fig.4.12FlowchartofTCMCADsymptomsmoduleretrievalalgorithm36 第4章系统的详细设计与实现方案4.4.2代表方检索模块系统识别出问句语义并跳转到代表方检索窗口,根据传递的中医关键词进行判断,如果输入的是子症状名则跳转到该窗口,若该中医关键词的坐标在第三列(子症状名列),则弹出代表方、方药、出处窗口,问询用户选择病机和子病机;如果用户输入的是病机,则系统会让用户选择子病机,并输出代表方结果;如果用户输入的是子病机,系统跳到该窗口后,直接显示代表方结果。具体实现算法如下:(1)得到系统传递的中医关键词坐标,备份相关中医关键词及其坐标,打开本体节点表。(2)若该词坐标在本体节点表中第三列(子症状名列),则弹出代表方、方药、出处窗口,该窗口有一个TEdit,两个TListbox,两个Combobox,一个TRichEdit和一个Tmemo。其中TEdit显示用户输入的问题,Combobox2显示该中医关键词的所有子节点(病机),当用户选择Combobox2中的某一项时,Combobox1显示该项的所有子节点(子病机),再接着查找子节点(代表方)并在Listbox1中显示所有项目,Tmemo1为用户提供人机交互对话框。(3)若该词的坐标在本体节点表中第四列(病机),则查找其子节点(子病机)并输出到Combobox1中,提示用户选择要检索的子病机,用户选择后再查找子病机的子节点(代表方)输出到listbox1中。(4)若该词的坐标在本体节点表中第五列(子病机),则查找其子节点,然后输出到Listbox1代表方栏中。(5)若该词的坐标在其他列,提示用户“抱歉,我不太理解!请换一种方式提问。”。中医冠心病代表方检索模块算法流程图,如图4.13所示。37 沈阳工业大学硕士学位论文开始备份相关中医关键词及其坐标,打开本体节点表判断该中医关键词所在的列第三列第四列第五列其他列找其子节点(病机)输出到病找其子节点(子病机),将所查找其子节点(代表方),输机选择框Combobox2中有子节点列出在Combobo2中出到代表方栏Listbox1中当用户选择某一病机时,找其当用户选择某一子病机时,找显示“抱歉,我不子节点(子病机)输出到子病其子节点(代表方),输出到太理解!请换一种机选择框Combobox1中代表方Listbox1中,显示结果方式提问。”找其子节点(代表方)输出到代表方Listbox1中,显示结果结束图4.13中医冠心病代表方检索模块算法流程图Fig.4.13FlowchartofTCMCADrepresentativeretrievalmodulealgorithm4.4.3方药/方剂检索模块系统识别出用户输入的问句语义“用户想要查询相关的方药/方剂”,备份输入的中医关键词,判断中医关键词的坐标所在的列数,若在本体节点表中的第六列则,查找其子节点(药)并输出到药的RichEdit1栏;若在其他列,则显示提示框“很抱歉,我不太理解!请换一种方式提问”。具体实现算法如下:(1)备份传递的中医关键词及其坐标,打开“本体(标注完成).xls”。38 第4章系统的详细设计与实现方案(2)判断该词所在的列数,若在“本体(标注完成).xls”的第六列,查找其子节点(药)并输出到药的RichEdit1栏。(3)若该词在其他列,则显示提示框“很抱歉,我不太理解!请换一种方式提问。”。中医冠心病方药/方剂检索模块算法流程图,如图4.14所示。开始备份传递的中医关键词及其坐标,打开本体(标注完成).xls该词是否在是第六列否查找其子节点(药)并输显示提示框“很抱歉,出到药的RichEdit1栏我不太理解!请换一种方式提问。”结束图4.14中医冠心病方药/方剂检索模块算法流程图Fig.4.14FlowchartofTCMCADprescriptionretrievalmodulealgorithm4.4.4文献出处检索模块系统识别出问句语义“用户想要了解该代表方的出处”,则跳转到代表方、方药、出处检索窗口。该模块根据用户输入的代表方名称,执行文献出处检索,该窗口同代表方、方药窗口,同时把其病机和子病机呈现给用户。具体实现算法如下:(1)备份主控制界面传来的中医关键词及其坐标,打开“本体(标注完成).xls”。(2)判断若中医关键词坐标在第六列(代表方),则找其子节点输出到“药方”RichEdit1栏,再找其子节点输出到“出处”Listbox2栏,把该词输出到“代表方”Listbox1栏,找该词的父节点输出到“子病机”Combobox1栏,再找其父节点输出到“病机”Combobox2栏。39 沈阳工业大学硕士学位论文(3)若中医关键词坐标在其他列,则提示“很抱歉,我无法理解!”。文献出处检索模块算法流程图,如图4.15所示。开始备份传递的中医关键词及其坐标,打开本体(标注完成).xls该词是否在第六列是否查找其子节点(药)并输出到药的RichEdit1栏显示提示框“很抱歉,我无法理解!”再找其子节点输出到“出处”Listbox2栏把该词输出到“代表方”Listbox1栏找该词的父节点输出到“子病机”Combobox1栏找其父节点输出到“病机”Combobox2栏结束图4.15文献出处检索模块算法流程图Fig.4.15Flowchartofliteratureretrievalmodulealgorithm40 第4章系统的详细设计与实现方案4.4.5病机检索模块系统此时识别出问句语义“用户想要了解相关的病机”,跳转到病机检索模块。病机检索窗口中包含一个Edit1:用于显示用户输入的问句,两个Listbox:用于显示检索结果,一个Memo:用于提示用户的“人机对话”栏。病机检索窗口根据主控制模块传来的中医关键词在本体节点表中的列数,进行判断是病机检索还是子病机检索。再分别作出返回结果。具体实现算法如下:(1)备份主控制界面传来的中医关键词及其坐标,打开“本体(标注完成).xls”。(2)判断该中医关键词的坐标在本体节点表中列的情况。(3)若该词在本体节点表中的第三列(子症状名),则用户想通过子症状名知道其病机,找该词在本体节点表中的孩子并输出到Listbox1病机栏中,并提示用户当双击病机栏中的某一项时,会在Listbox2子病机栏中显示这一项的其所有的子病机。(4)当用户双击病机栏中的某一项时,在本体节点表中找到其孩子,并在子病机栏中列出所有的子病机。(5)若该词在本体节点表中的第四列(病机),则用户想知道病机的子病机是什么,在本体节点表中找到该病机的所有孩子(子病机),并输出到子病机栏中。(6)若该词在本体节点表中的其他列,则返回给用户“请先查询出子病机,再检索”。中医冠心病病机检索模块算法流程图,如图4.16所示。41 沈阳工业大学硕士学位论文开始备份传递的中医关键词及其坐标,打开本体(标注完成).xls判断该词所在列第三列第四列其他列查找其子节点(病机)并输查找其子节点(子病机)并显示提示框“请先查询出出到Listbox1病机栏中输出到Listbox2子病机栏中子病机,再检索”当用户双击某一项时,查找这一项的所有子节点(子病机)并输出到Listbox2子病机栏中结束图4.16中医冠心病病机检索算法流程图Fig.4.16FlowchartofTCMCADpathogenesisretrievalmodulealgorithm4.5本章小结本章详细设计了系统各个功能模块的解决方案,给出了方案设计的流程和算法,为实现本系统的功能做好充足的准备。42 沈阳工业大学硕士学位论文第5章系统的运行5.1实验平台硬件平台:CPU为IntelCoreI3,内存为4G。操作系统:Windows7。开发工具:Delphi7、Eclipse。5.2中医自动问答系统主控制界面运行程序,用户进入中医自动问答系统,在问句输入框里输入一句问句,之后按确认按钮,跳转至相应的界面。中医自动问答系统主控制界面,如图5.1所示。图5.1中医冠心病自动问答系统主控制界面Fig.5.1MaincontrolinterfaceofTCMCADautomaticquestionansweringsystem5.3答案提取子系统运行结果5.3.1症状名检索模块用户进入到症状名检索模块中,系统显示症状名检索窗口,用户操作过程如下:(1)举例来说,用户在主控制界面输入“寒热的症状名有哪些?”这一问句,按“搜一下”按钮,系统识别出语义后跳转到相应的窗口。(2)症状名窗口中显示所有的“寒热”的症状名列表。(3)双击任何一个症状名列表中的症状,在子症状名列表中列出其所有的子症状名,并作出提示。43 沈阳工业大学硕士学位论文(4)当再次双击子症状名列表中的项时,提示“再无子症状名!”。主控制界面检索症状名,如图5.2所示。图5.2主控制界面检索症状名Fig.5.2Maincontrolinterfaceretrievessymptom显示症状名,双击“症状名”检索其子症状名时,显示所有的子症状名,双击“子症状名”中的某项时,提示“无子症状!”,症状名检索界面,如图5.3所示。图5.3症状名检索界面Fig.5.3Symptomretrievalinterface44 第5章系统的运行5.3.2代表方检索模块用户在主控制界面输入问句命令检索后,系统识别问句语义并跳转到代表方检索窗口。进入到代表方检索模块中,系统显示代表方、方药、出处检索窗口,用户操作过程如下:(1)举例来说,用户在主控制界面输入“手足汗出有什么代表方?”这一问句,按“搜一下”按钮,系统识别出语义后跳转到相应的窗口。(2)代表方、方药、出处窗口中重申用户输入的问句,并提示用户进行病机选择。(3)一旦用户在病机选择框中选择某一病机,提示用户进行子病机选择。(4)一旦用户选择了某一子病机,则将所有代表方列出在代表方栏中,并提示用户可双击某一代表方查看其方药。(5)用户查看到了其药方之后,也可以点击“出处”按钮,查看文献出处。主控制界面检索代表方界面,如图5.4所示。图5.4主控制界面检索代表方界面Fig.5.4Maincontrolinterfaceretrievesrepresentative用户选择病机、选择子病机,显示代表方如图,双击“代表方”中的某项时,显示其药方,点击“出处”按钮显示文献出处,显示代表方、药方和文献出处界面,如图5.5所示。45 沈阳工业大学硕士学位论文图5.5显示代表方、药方和文献出处界面Fig.5.5Displayrepresentative,prescription,anddocumentprovenance5.3.3方药/方剂检索模块用户在主控制界面输入问句命令检索后,系统识别到问句语义并跳转到方药检索窗口,该窗口同代表方、方药、出处窗口。进入到方药检索模块中,用户操作过程如下:(1)举例来说,用户在主控制界面输入“十枣汤的成分?”这一问句,按“搜一下”按钮,系统识别出语义后跳转到相应的窗口。(2)进入到代表方、方药、出处窗口,显示代表方、药,并提示用户如果想查询出处按“出处”按钮。(3)单击“出处”按钮,系统在出处栏中显示文献出处名称。主控制界面检索方药,如图5.6所示,显示方药,点击“出处”按钮显示文献出处,显示代表方、文献出处界面,如图5.7所示。46 第5章系统的运行图5.6主控制界面检索方药Fig.5.6Maincontrolinterfaceretrievesprescription图5.7显示代表方、文献出处界面Fig.5.7Showtherepresentativeandtheliteraturesourceinterface5.3.4文献出处检索模块用户在主控制界面输入问句命令检索后,系统识别到问句语义并跳转到文献出处检索窗口,该窗口同代表方、方剂、出处窗口。进入到文献出处检索模块中,用户操作过程如下:(1)举例来说,用户在主控制界面输入“肾气丸出自哪?”这一问句,按“搜一下”按钮,系统识别出语义后跳转到相应的窗口。(2)显示该代表方的出处,并一同显示代表方、其病机、其子病机、方药。主控制界面检索文献出处界面,如图5.8所示。47 沈阳工业大学硕士学位论文图5.8主控制界面检索文献出处界面Fig.5.8Maincontrolinterfaceretrievesliteraturesource显示文献出处界面,如图5.9所示。图5.9显示文献出处界面Fig.5.9Documentssourceinterface5.3.5病机检索模块用户在主控制界面输入问句命令检索后,系统识别到问句语义并跳转到病机检索窗口,该窗口同代表方、方剂、出处窗口。进入到病机检索模块中,用户操作过程如下:(1)举例来说,用户在主控制界面输入“遍身不通怎么回事?”这一问句,按“搜一下”按钮,系统识别出语义后跳转到相应的窗口。(2)进入到病机检索窗口,系统显示出该症状名的所有病机。48 第5章系统的运行(3)当用户双击病机栏中的某一项是,在子病机栏中列出其所有的子病机。主控制界面检索病机,如图5.10所示;显示病机、子病机界面,如图5.11所示。图5.10主控制界面检索病机Fig.5.10Maincontrolinterfaceretrievespathogenesis图5.11显示病机、子病机界面Fig.5.11Displaypathogenesis,pathogenesisinterface5.4问句处理子系统运行结果5.4.1中医冠心病关键词模糊匹配模块实验结果(1)被包含于类型的运行结果用户通过中医冠心病自动问答系统输入一句中文问句,如“出汗怎么办?”。点击按钮“搜一下”,系统运行程序进行处理,因为“出汗”在《中医冠心病关键词词49 沈阳工业大学硕士学位论文库》中没有匹配的词,所以系统判断出进入到“中医冠心病关键词模糊匹配”窗口,点击“确认中医关键词模糊检索”按钮,系统显示出所有经过筛选后与“出汗”相关的词,并提示用户选择,此时进行的是“被包含于”类型词的中医关键词模糊检索,会看到,系统列出了所有包含“汗出”、“汗”、“出”的词。“被包含于”类型词的问句输入实例,如图5.12所示。图5.12“被包含于”类型词的问句输入实例Fig.5.12anExampleof“containedin”typewordsinput系统在处理问句后,弹出中医冠心病关键词模糊匹配界面,用户选择想要检索的内容,“被包含于”类型词模糊匹配运行结果,如图5.13所示。图5.13“被包含于”类型词模糊匹配运行结果Fig.5.13“Containedin”typewordsfuzzymatchingresults50 第5章系统的运行系统记录用户查询关键词并且弹出问题选择窗口,问题类型选择界面,如图5.14所示。图5.14问题类型选择界面Fig.5.14Questiontypesselectioninterface系统弹出子症状名选择窗口,请用户选择子症状名后系统弹出相应结果,“被包含于”类型词运行结果,如图5.15所示。图5.15“被包含于”类型词运行结果Fig.5.15Runningresultsof“Containedin”typewords(2)独立于类型的运行结果用户通过中医冠心病自动问答系统输入一句中文问句,如“为什么面部发青?”。51 沈阳工业大学硕士学位论文点击按钮“搜一下”,系统判断出进入到“中医冠心病关键词模糊匹配”窗口,点击“确认中医关键词模糊检索”按钮,由于“面部”“发青”属于现代汉语常见词,在《中医冠心病关键词词库》中中医关键词并没有任何词包含它,所以该词属于“独立于”类型,系统将其拆分成字再检索,会看到系统列出了“面”、“发”和“青”相关的词,并没有“部”相关的词,说明《中医冠心病关键词词库》中没有“部”相关的词,“独立于”类型词的问句输入实例,如图5.16所示。图5.16“独立于”类型词的问句输入实例Fig.5.16anExampleof"independent"typewordsinput系统处理问句后弹出中医冠心病关键词模糊匹配界面,用户选择想要检索的内容,“独立于”类型词的运行结果,如图5.17所示。图5.17“独立于”类型词的运行结果Fig.5.17Runningresultsof"independent"typewords52 第5章系统的运行(3)两种类型问句在传统的基于关键字检索系统上的运行结果传统的检索系统大多是基于关键字、关键词的检索方式,以上的带有两种类型词的问句在传统的基于关键字检索系统上的运行结果举例,如图5.18、5.19所示。图5.18带有“被包含于”类型词的问句在基于关键字检索系统的运行结果Fig.5.18Runningresultsof"independent"typewordsbasedonkeywordsretrievalsystem图5.19带有“独立于”类型词的问句在基于关键字检索系统的运行结果Fig.5.19Runningresultsof"independent"typewordsbasedonkeywordsretrievalsystem可以发现传统的检索系统并不能处理用户提出的这些类问题,实际上基于关键字的检索系统在处理自然语言问句上的能力十分有限,为适应时代发展需求,转变传统的检索方式是大势所趋。53 沈阳工业大学硕士学位论文5.4.2词向量语义距离计算模块实验结果与反思运行程序,当待处理词是“哪类”时,第一次试验得到的词向量语义距离相似度排名前33项的结果,排序结果柱状图,如图5.20所示。图5.20排序结果柱状图Fig.5.20Sortingresultshistogram由结果可知,排在第一位的哪些与哪类属于语义相近的词,而“成分”或者“药方”属于同一类别的概念,说明程序对语料库的词概率统计计算得到的结果是:当待处理词是“哪类”时,本实验预测出用户最想知道关于“成分”、“药方”的知识,其次“征兆”、“病理”这一类别,再者是关于文献“出自”哪的知识。尽管如此,本实验在这样的情况下发现了一些问题,比如排在第四位的“是”,我们从“是”根本判断不出任何语义的信息,但是还是排在了前列位置,这说明“是”在语料库中与“哪类”在一起出现的概率较大,同时也提示我们要视情况忽略这类的停用词,先关注排在前列的非停用词,如果前列均为停用词,那么本实验预测的语义也就是停用词这类无实际意义的语义信息了。5.5本章小结本章通过运行、测试基于本体的中医冠心病自动问答系统,进一步验证了设计方案的可行性、适用性和实用性。54 沈阳工业大学硕士学位论文第6章结论本文从搭建基于本体的中医冠心病问答系统的研究目的出发,致力于服务相关医务工作者和患者朋友,根据辽宁中医药大学专家提供的中医冠心病本体知识库以及实际需求,研究并实现了基于本体的中医冠心病自动问答系统。本文首先调研国内外自动问答系统实现的相关技术,并根据系统的逻辑框架和运行流程设计出了系统总体实现方案,之后详细地设计了各个功能模块解决方案。本文主要完成的工作如下:(1)数据预处理。本文从700多篇中医古代文献中提取关键词,整理成容量为2962个词的中医关键词.txt,构建问题词词库.txt、问句模板.txt,生成了中医冠心病本体(标注完成).xls,中医文献标注结果.xls、中医文献作者朝代年份表.xls,收集并整理常用词词库.txt和停用词词库.txt。在这些数据强有力的支持下,才可实现从海量中医数据中高效地提取信息的需求,也为本文提出的相关算法提供了实际测试数据。(2)本文分析并总结了三类问句形式,并根据问句形式划分系统为三类处理方式,分别对应着系统的三个处理阶段,三类问句处理方式是:基于问句模板方式、基于字面意义的模式匹配方式和基于词向量相似度方式。(3)本文提出了适用性的中医关键词模糊匹配算法,将中医冠心病关键词分两类来处理,实现了基于字面语义的模糊匹配功能。(4)通过研究基于CBOW模型的词向量生成机制,本文生成了词向量表.txt,并提出了基于统计模型的词向量相似度算法来计算词向量之间的语义相似程度。(5)本文提出了基于折半查找的逆向最大匹配分词算法,实验证明该算法适应于本系统的需求。(6)自顶向下地设计并实现了系统各个功能模块,提供了信息提取和检索功能。由于研究时间有限,本系统虽可上线运行,但仍存留一些问题,主要表现为以下几个方面:(1)系统要加强用户体验上的细节处理,优化系统交互体验,提高系统访问速度,美化系统界面,加强系统测试查缺补漏。(2)在衡量相似度算法的优劣程度上缺少专业的规章和指导,目前没有统一衡量的标准,所以需要和领域专家继续合作交流。(3)关于中医冠心病受限领域的问题语料库还不够广泛,语料库的大小会直接影响相似度计算的结果,本系统仍需继续收集相关的语料。55 沈阳工业大学硕士学位论文参考文献[1]LaiS,LiuK,HeS,etal.Howtogenerateagoodwordembedding[J].IEEEIntelligentSystems,2015,31(6):5-14.[2]钱宏泽.基于中草药语义网的自动问答系统的研究与实现[D].杭州:浙江大学,2016.[3]王东升,王石,王卫民.基于本体和语义文法的上下文相关问答[J].中文信息学报,2016,30(2):142-152.[4]王丽月,叶东毅.面向游戏客服场景的自动问答系统研究与实现[J].计算机工程与应用,2016,52(17):152-159.[5]LevyO,GoldbergY.Neuralwordembeddingasimplicitmatrixfactorization[J].AdvancesinNeuralInformationProcessingSystems,2014.[6]杨思春,戴新宇,陈家骏.面向开放域问答的问题分类技术研究进展[J].电子学报,2015,43(8):1627-1636.[7]张栋,李寿山,周国栋.基于答案辅助的半监督问题分类方法[J].计算机工程与科学,2015,37(12):2352-2357.[8]王仲远,程健鹏,王海勋.短文本理解研究[J].计算机研究与发展,2016,53(2):262-269.[9]刘秉权,徐振,刘峰.面向问答社区的答案摘要方法研究综述[J].中文信息学报,2016,30(1):1-8.[10]钱强,庞林斌,高尚.一种基于词共现图的受限领域自动问答系统[J].计算机应用研究,2013,30(3):841-843.[11]郭中锋.智能健康知识问答系统的研究与实现[D].沈阳:东北大学,2014.[12]刘康,张元哲,纪国良.基于表示学习的知识库问答研究进展与展望[J].ActaAutomaticaSinica,2016,42(6):807-818.[13]殷耀明,张东站.基于关系向量模型的句子相似度计算[J].计算机工程与应用,2014,50(2):198-203.[14]张培颖,房龙云.多特征结合的词语相似度计算模型[J].计算机技术与发展,2014(12):37-40.[15]GoldbergY,LevyO.Word2vecexplained:derivingMikolovetal.'snegative-samplingword-embeddingmethod[J].EprintArxiv,2014.[16]LingW,DyerC,BlackAW,etal.Twosimpleadaptationsofword2vecforsyntaxproblems[C]//Conferenceofthenorthamericanchapteroftheassociationforcomputationallinguistics.HumanLanguageTechnologies,2015.[17]ZhangD,XuH,SuZ,etal.Chinesecommentssentimentclassificationbasedonword2vecandSVMperf[J].ExpertSystemswithApplications,2015,42(4):1857-1863.[18]RongX.Word2vecparameterlearningexplained[J].ComputerScience,2014.[19]蒋宗礼,赵洁.关联首尾段落与首尾语句的多特征融合段落相似度计算[J].计算机与现代化,2016(9):10-14.[20]常毅.开放领域的问答系统研究[D].北京:中国科学院研究生院(计算技术研究所),2004.56 参考文献[21]ZhengZ.AnswerBusquestionansweringsystem[C]//Internationalconferenceonhumanlanguagetechnologyresearch.MorganKaufmannPublishersInc,2003:399-404.[22]佚名.知识图谱与问答系统前沿技术研讨会暨清华大学“计算未来”博士生论坛顺利召开[J].中文信息学报,2016(2):141-141.[23]IBM.IBMWatson.[2017-03-01].https://www.ibm.com/watson.[24]NikfarjamA,SarkerA,O’ConnorK,etal.Pharmacovigilancefromsocialmedia:miningadversedrugreactionmentionsusingsequencelabelingwithwordembeddingclusterfeatures[J].JournaloftheAmericanMedicalInformaticsAssociation,2015,22(3):671-681.[25]BianJ,GaoB,LiuTY.Knowledge-powereddeeplearningforwordembedding[C]//Europeanconferenceonmachinelearningandknowledgediscoveryindatabases.Springer-VerlagNewYork,Inc,2014:132-148.[26]山显辉.银联客户服务自动问答系统的设计与实现[D].西安:西安电子科技大学,2016.[27]GangulyD,RoyD,MitraM,etal.Wordembeddingbasedgeneralizedlanguagemodelforinformationretrieval[C].InternationalACMSIGIRConference,2015:795-798.[28]张旭华,李茹,王智强.框架关系推理在阅读问答中的应用[J].小型微型计算机系统,2016,37(7):1455-1458.[29]MelamudO,LevyO,DaganI.aSimplewordembeddingmodelforlexicalsubstitution[C].theWorkshoponVectorSpaceModelingforNaturalLanguageProcessing,2015:1-7.[30]王树西.基于文本模式推理的问答系统研究[D].北京:中国科学院研究生院(计算技术研究所),2005.[31]高俊杰.领域本体在自动问答系统中的应用研究[D].太原:山西大学,2010.[32]毛先领,李晓明.问答系统研究综述[J].计算机科学与探索,2012,06(3):193-207.[33]OmerL,RannS,MosheT.Undivideandconquer:Onsellingadivisibleandhomogeneousgood[J].BEJournalofTheoreticalEconomics,2014,15(1):1-23.[34]LevyO,RemusS,BiemannC,etal.DosuperviseddistributionalmethodsreallylearnlexicalInferencerelations?[C].ConferenceoftheNorthAmericanChapteroftheAssociationforComputationalLinguistics:HumanLanguageTechnologies,2015:970-976.[35]搜狗百科.本体[EB/OL].[2017-01-16].http://baike.sogou.com/v65372402.html.[36]王大禹,杨硕,崔蒙.中文中医本体定量评测研究[J].中国数字医学,2017,12(2):16-18.[37]情报科学,2007,25(9):1398-1400.褚晓敏,朱巧明,周国栋.自然语言处理中的篇章主次关系研究[J].计算机学报,2017(4).[38]WangP,QianY,SoongFK,etal.WordembeddingforrecurrentneuralnetworkbasedTTSsynthesis[C]//ICASSP2015-2015IEEEinternationalconferenceonacoustics.SpeechandSignalProcessing.IEEE,2015:4879-4883.[39]罗桂琼,费洪晓,戴弋.基于反序词典的中文分词技术研究[J].计算机技术与发展,2008,18(1):80-83.[40]孙镜涛.Facebook通过10亿单词构建有效的神经网络语言模型.[2016-11-28].http://www.inf57 沈阳工业大学硕士学位论文oq.com/cn/news/2016/11/Facebook-10-words-Neural-network.[41]MuñozCP,NietoBB,MorillejoEA.Monitoringofofficialdegreequalifications:thekeyroleofacademicqualityassurancesystems(AQAS)[J].UniversitasPsychologica,2013,12(1):209-220.[42]KenterT,BorisovA,RijkeMD.SiameseCBOW:Optimizingwordembeddingsforsentencerepresentations[C]//MeetingoftheAssociationforComputationalLinguistics.2016:941-951.[43]周建政,谌志群,李治.问答系统中问题模式分类与相似度计算方法[J].计算机工程与应用,2014,50(1):116-120.[44]ButtenheimAM,SethuramanK.MMRvaccinationstatusofchildrenexemptedfromschool-entryimmunizationmandates[J].Vaccine,2015,33(46):6250-6.[45]詹晨迪,凌震华,戴礼荣.面向知识库问答中复述问句评分的词向量构建方法[J].模式识别与人工智能,2016,29(9):825-831.[46]TzurG,LevyA,MeiriE,etal.MicroRNAexpressionpatternsandfunctioninendodermaldifferentiationofhumanembryonicstemcells[J].PlosOne,2008,3(11):e3726.[47]Multiangle.自己动手写Word2vec.[2016-07-12].http://blog.csdn.net/u014595019/article/details/51884529.[48]魏同,李绍稳,耿凡凡.基于领域本体的用户兴趣模型构建方法研究[J].计算机技术与发展,2017(3):65-69.[49]刘至润.基于结构化数据的双语自动问答系统研究与实现[D].北京:北京理工大学,2016.[50]AhmedN,CampbellM.Variationalbayesianlearningofprobabilisticdiscriminativemodelswithlatentsoftmaxvariables[J].IEEETransactionsonSignalProcessing,2011,59(7):3143-3154.58 沈阳工业大学硕士学位论文致谢本文是作者于沈阳工业大学信息科学与工程学院学习和研究的总结。本课题是沈阳工业大学与辽宁中医药大学合作的项目的后续研究。在此,我要特别感谢我的导师、朋友和家人。时光荏苒,岁月如梭,回顾三年的硕士学习生涯,我最感激的人是我的导师王宏生老师,是他指引我的研究方向,如灯塔般照亮我迷茫的心,王老师不仅在学术上给予我很大的帮助和指导,更在生活上给予我关怀。王老师为人和蔼,治学严谨,不辞辛苦地帮我指出我的研究中存在的问题,而且耐心地为我答疑解惑。同时,我要感谢我的学长、学姐,他们无私地为我的研究提供素材,这样我才能站在一定基础上来做更深入的研究。我要感谢远在异国他乡的朋友赵培江博士和盐谷老师,在我的研究遇到瓶颈时给我提出了新的方向,让我豁然开朗有了新思路。我还要感谢我的同窗刘石磊同学,在我论文写作等方面给予我宝贵的建议。最后,我要感谢我的家人,感谢他们多年来支持我的学习和对我无微不至的关怀。人生有涯,而学海无涯,我学习的脚步不会停留,我会继续努力,将所学知识学以致用,回报社会,回报祖国!59

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭