基于相关词语语义分析的全文检索系统的制作方法
【专利摘要】本发明属于信息检索技术,提供一种基于相关词语语义分析的全文检索系统,包括查询信息接收模块、基于相关词语的概念语义分析模块、语义知识库模块、检索模块、索引库、索引模块、基于相关词语的主题语义分析模块、结果集处理模块和数据服务器。本发明系统是对传统互联网搜索引擎的改进,能够对文档进行基于相关词语的概念语义分析和基于相关词语的主题语义分析,从而使用户可得到更准确、更全面、更智能化的查询结果。
【专利说明】基于相关词语语义分析的全文检索系统
【技术领域】
[0001]本发明属于信息检索技术,具体涉及一种基于相关词语语义分析的全文检索系统。
【背景技术】
[0002]随着社会的快速发展,科学技术的不断进步,人们所能接触的信息也成几何级的增长,这些信息不断累积便形成了我们熟知的“海量数据”。那么如何在海量数据中准确而快速地检索到用户需要的信息成为了互联网信息时代所面临的机遇和挑战,搜索引擎的出现在一定程度上解决了这个问题。传统的搜索引擎主要采用的技术是对需要检索的文档集进行预处理如中文分词,去停用词等,并对文档集建立倒排索引,然后对用户提交的查询词或者查询语句进行检索,并通过计算它们与文档之间的相似度来排序检索到的文档,最后将结果返回给用户。
[0003]一直以来,搜索引擎在用户提交检索请求的时候只是把用户输入的查询语句和文档集进行一个简单的匹配,然后以简单的统计学方法来对文档集进行检索排序。但这远远达不到用户的需求,也不能很好的挖掘出文档中每个词对文档主题的贡献度,尽管有些搜索引擎可以根据用户需求进行简单的扩展或者个性化的检索。但是这些都没有挖掘出文档中深层次的语义信息,这使得很多在字面形式上和查询无关但是在语义上和查询语句很紧密的文档没有被检索出来,从而造成了搜索引擎检索的不全面性和不完整性。同样,只是仅仅从字面形式来对用户输入的查询语句和文档进行匹配使得用户得到的结果往往不是自己所需要的。尤其是汉语博大精深,很多字或者词具有多种含义,在不同的语境中表达着不同的含义,而且有些含义差别很大,以上这些都是搜索引擎在搜索时遇到的瓶颈。
[0004]随着信息检索技术的发展,为了很好的满足用户的需求,简单的从统计的角度来对查询语句进行匹配显然已经不能满足时代的需求了。人们需要搜索引擎能够智能化地去理解用户查询语句的内在含义,同时也能够充分地去挖掘文档中词语对文档主题的贡献度,从语义贡献度的角度对查询语句和文档进行智能化地匹配,这样能够给用户一个更准确、更全面和更人性化的查询结果。为了提高搜索引擎的检索性能,我们在检索系统中采用基于相关词语的概念语义分析方法和基于相关词语的主题语义分析方法,将传统的基于关键字或者词匹配的检索系统提升到基于相关词语的语义分析基础上,这是提高检索准确率的关键之处。
【发明内容】
[0005]本发明是为了克服上面所说的传统搜索引擎的不足,提出一种基于相关词语语义分析的全文检索系统。该系统采用了基于相关词语的概念语义分析方法和基于相关词语的主题语义分析方法,能够准确分析和计算相关词语与语义标签之间的语义相关量化关系,这里语义标签是指代语义中的一个知识单元,也即概念。而且该系统还能够得到相关词语对文档主题的贡献度,从而使搜索引擎能很好地理解文档的语义和查询语句的语义而不是简单地统计词频和查询匹配,进而使搜索引擎更准确地理解用户的需求,返回给用户更加全面、智能的检索结果。该系统是对传统互联网搜索引擎的改进,能够对文档进行基于相关词语的概念语义分析和基于相关词语的主题语义分析,从而使用户可得到更准确、更全面、更智能化的查询结果。
[0006]本发明是由以下技术方案实现的:基于相关词语语义分析的全文检索系统,本系统包括查询信息接收模块、基于相关词语的概念语义分析模块、语义知识库模块、检索模块、索引库、索引模块、基于相关词语的主题语义分析模块、结果集处理模块和数据服务器。
[0007]查询信息接收模块用于接收用户输入的查询语句,对查询语句进行中文分词和去停用词处理之后,将其提交给基于相关词语的概念语义分析模块并且提交给检索模块进行检索服务。
[0008]基于相关词语的概念语义分析模块采用基于相关词语的概念语义分析方法,得到词语之间的语义相关量化关系,并提交给语义知识库模块。
[0009]语义知识库模块存储词语及其相关词群和贡献度信息。从查询信息接收模块中得到用户输入的查询词,在语义知识库中检索,将查询词对应的相关词群及贡献度返回给基于相关词语的概念语义分析模块。
[0010]检索模块为用户提供检索服务。检索模块负责接收查询信息接收模块的指令,将查询语句提交给索引库进行查询匹配、返回所有与查询语句匹配的文档信息,并对检索结果集进行排序处理,将排序后的结果集提交给结果集处理模块。
[0011]索引库存储由索引模块对文档建立的索引,索引库还根据检索模块提交的查询请求在索引中快速检索,并将结果返回给检索模块。
[0012]索引模块接收数据服务器提供的文档,对文档内容,标题和自定义信息进行中文分词和去停用词处理得到索引词,利用索引词和文档相关信息建立索引。
[0013]基于相关词语的主题语义分析模块采用基于相关词语的主题语义分析方法,通过对文档进行主题语义分析,得到每个词与文档之间的语义相关量化关系,即对文档主题的贡献度,最后把这些运用到检索中提高搜索引擎的检索效果。
[0014]结果集处理模块用于接收来自检索模块的结果集,并根据索引库的信息建立结果集的文摘信息和快照信息,并对返回结果进行反显、回显和分页处理。
[0015]数据服务器用于存储知识数据词典,如中文分词词典,停用词表等、文档集,为基于相关词语的概念语义分析模块提供数据资源和管理服务,为基于相关词语的主题语义分析模块和索引模块提供文档集。
[0016]本发明系统针对目前搜索引擎不能很好地理解文档中词对文档主题的语义贡献度的缺点和不能智能化地反馈搜索结果而提出了以下两个方面的解决办法:基于相关词语的概念语义分析方法和基于相关词语的主题语义分析方法。通过从文档中词语的位置关系获取相关词语对语义标签的贡献度和对文档相关词语的主题进行语义分析,得到相关词语对主题的贡献度,进而找到在语义上与查询语句相关的文档,从而使搜索引擎很好地理解文档的语义而不是通过简单的统计词频去匹配。这使得搜索引擎能更好地理解用户的需求,给用户更加全面、智能的结果反馈。具体而言,本发明具有如下特点:
(I)查全率高:该系统能对相关词语进行概念语义分析,不同于传统搜索引擎在统计的基础上进行查找,该系统能够在概念语义层次上对查询进行匹配,避免了词语对文档贡献度的丢失带来的影响,从而提高了检索的查全率。
[0017](2)查准率高:该系统通过对文档进行主题语义相关分析,对文档主题信息进行量化分析,返回语义上最相关的检索结果文档,给用户提供最准确的检索结果,实现查询语句与检索结果文档的准确匹配,从而提高检索的查准率。
[0018](3)智能化高:通过相关词语的主题语义分析,该系统能够对相关词语进行主题语义分析得到相关词语对文档主题的贡献度,准确理解用户的查询含义。同时系统通过相关词语的主题语义分析,能够准确理解文档的主题信息,消除掉不符合语义的检索结果。通过概念和主题相结合的语义分析,检索系统能够理解查询语句和文档的语义,最终检索出准确合理的结果,满足用户的检索需求。
【专利附图】
【附图说明】
[0019]图1是本发明基于相关词语语义分析的全文检索系统的体系结构图。
[0020]图2是本发明基于相关词语语义分析的全文检索系统的模块结构示意图。
[0021]图3是本发明中查询信息接收模块的工作流程图。
[0022]图4是本发明中基于相关词语的概念语义分析模块流程图。
[0023]图5是本发明中基于相关词语的概念语义分析模块中相关词语概念语义获取流程图。
[0024]图6是本发明中检索模块的工作流程图。
[0025]图7是本发明中基于相关词语的主题语义分析模块中文档层次语义处理的概率模型图。
[0026]图8是本发明中结果集处理模块的工作流程图。
【具体实施方式】
[0027]下面结合附图和实施例对本发明作进一步详细说明。
[0028]如图1所示,本发明提供的基于相关词语语义分析的全文检索系统包括查询信息接收模块100、基于相关词语的概念语义分析模块200、语义知识库300、检索模块400、索引库500、索引模块600、基于相关词语的主题语义分析模块700、结果集处理模块800和数据服务器900。
[0029]查询信息接收模块100用于接收用户输入的查询信息并进行一定的规范化处理,如中文分词、去停用词等,然后请求检索模块400进行检索服务。
[0030]如图3所示,查询信息接收模块100的处理流程为:(I)用户输入查询语句,提交查询请求;(2)系统将用户查询请求提交给检索模块400。
[0031]基于相关词语的概念语义分析模块200通过对从数据服务器900得到的文档运用基于相关词语的概念语义分析方法得到相关词对语义标签的贡献度,把它们提交到语义知识库模块300,然后计算文档中词的词频和词的反文档频率的乘积的大小,得到其中乘积较大的几个词,从语义知识库模块300中查找这几个词对应的相关词,将它们作为基于相关词语的主题语义分析模块700的输入,最后通过基于相关词语的主题语义分析得到了文档的每一个词在这些主题上的分布,从而达到充分理解文档含义的目的。
[0032]语义知识库300存储词语及其相关词群和贡献度信息。对查询语句语义处理模块200提交的查询词,在库中检索,将查询词对应的相关词及贡献度返回给基于相关词语的概念语义分析模块200。
[0033]检索模块400为用户提供检索系统的使用界面,并提供准确、完备的检索服务;查询模块410负责接收查询信息接收模块100的指令;根据查询内容在索引库500中进行查询匹配,返回与查询语句匹配的所有文档信息,根据系统的文档排序打分算法(系统使用Lucene的文档打分算法并融合基于相关词语的主题语义分析模块700得到的相关词语对文档贡献度的加权),对返回的所有文档进行排序,最后将排序后的结果集递交给结果集处理模块800。
[0034]索引库500用于存储由索引模块600对文档及其对应主题相关信息建立的索引,索引库500还根据检索模块400提交的查询请求在索引中快速检索和排序,并返回检索模块400所提交请求的对应结果。
[0035]索引模块600用于接收数据服务器900提供的文档,并接收基于相关词语的主题语义分析模块700提供的词语对文档的语义贡献度,对文档内容,标题和自定义信息处理得到索引词,对索引词和文档相关信息建立索引。
[0036]基于相关词语的主题语义分析模块700接收数据服务器900提供的文档集,通过对其进行相关词语的主题语义分析,提取文档层次词语对文档语义贡献度,并将其提交给索引模块600。
[0037]结果集处理模块800用于接收来自检索模块400的结果集,并根据索引库500的信息建立结果集的文摘信息和快照信息,并对返回结果进行反显、回显和分页处理。
[0038]数据服务器900用于存储文档集,为基于相关词语的概念语义分析模块200提供数据资源和管理服务,为索引模块600和基于相关词语的主题语义分析模块700提供数据支持。
[0039]下面分别举例对基于相关词语的概念语义分析模块200、检索模块400、基于相关词语的主题语义分析模块700和结果集处理模块800作进一步的详细说明。
[0040]如图2所示,基于相关词语的概念语义分析模块200包括文档预处理模块210和语义相关度获取模块220。
[0041]文本预处理模块210对文档进行中文分词、去停用词(包括标点、数字、单字和其它一些无意义的词)以及文档特征提取和词频统计、文档向量化等操作。这里中文分词都是采用双向最大匹配分词算法。
[0042]该模块涉及的双向最大匹配分词算法的思想是:(1)从左向右取待切分句子的个字符作为匹配字段,?为字典中最长词条个数。(2)查找词典进行匹配,若匹配成功,则将匹配字段作为一个词切分出来,否则将匹配字段的最后一个字去掉,进行再次匹配,重复以上过程,直到切分出所有词为止。(3)按照上面的逆向进行匹配,若匹配不成功,将匹配字段的前一个字去掉,重复以上过程,直到切分出所有词为止。(4)将(I)、(2)和(3)的结果进行比较,从而决定正确的分词。
[0043]语义相关度获取模块220,采用基于相关词语的概念语义分析方法来获取词对语义标签的语义贡献度。
[0044]在基于相关词语的概念语义分析方法中,我们把传统的词语相关度获取方法与词与词之间位置关系进行了有效的融合。充分考虑了词与词之间的位置和它们之间相关贡献度的关系。
[0045]传统的词语相关度获取方法认为人们遇到一个新概念(知识)时,往往是将存储在人脑中已有的概念与新碰到的概念建立起一定的联系,这种联系在一定程度上反映在词与词之间,词与词之间的这种紧密的关系就是词对语义标签的贡献度。
[0046]首先需要说明的是我们是通过从网络百科全书中获取关联语义知识来获取词对语义标签的贡献度的。
[0047]传统的方法流程如下:
(I)用户在浏览词条解释正文时点击正文当中的内部链接即可链接到其他词条的解释页面,我们认为这些词条和被解释词条在语义上是相关的,并将一个词条的内部链接词条记为Inner。
[0048](2)词条与被解释的词条在语义上是有关联的,将其记为在百科中一个词条可以属于多个开放分类,这些类别信息共同反映了这个词条的语义知识。
[0049](3)百科词条Z自身属于的开放分类集合Csev,该词解释正文中所有内部链接词条所属于的开放分类的集合Ciimef与用户添加的该词条的相关词条所属于的开放分类的集合的并集定义为i司条Z的开放分类语义知识集合SC1。
[0050](4)相关词语贡献度的计算可以通过比较语义词Z的开放分类语义知识集合SC|与其相关词语Wi的开放分类语义知识集合SCwl而得到。
[0051 ] (5)在计算语义词L与相关词语Ifl之间的语义关联度时,首先定义一个开放分类
语义知识向量K,开放分类语义知识向量的维数?I= ISC1 USCwlI每一维代表一个开放分
类,记为--。语义词ζ的开放分类语义知识向量1^在/7维上的值即为I的开放分类语义知
识集合5C!中对应开放分类Cp出现的频次。对相关词^I开放分类语义知识向量Fwl也有同样的定义。
[0052] (6)最后相关词语FF1与语义词I的语义关联度公式如下:
【权利要求】
1.基于相关词语语义分析的全文检索系统,包括查询信息接收模块、基于相关词语的概念语义分析模块、语义知识库模块、检索模块、索引库、索引模块、基于相关词语的主题语义分析模块、结果集处理模块和数据服务器; 所述查询信息接收模块用于接收用户输入的查询语句,对查询语句进行中文分词和去停用词处理之后,将其提交给基于相关词语的概念语义分析模块并且提交给检索模块进行检索服务; 所述基于相关词语的概念语义分析模块采用基于相关词语的概念语义分析方法,得到词语之间的语义相关量化关系,并提交给语义知识库模块; 所述语义知识库模块用来存储词语及其相关词群和贡献度信息,从查询信息接收模块中得到用户输入的查询词,在语义知识库中检索,将查询词对应的相关词群及贡献度返回给基于相关词语的概念语义分析模块; 所述检索模块为用户提供检索服务,检索模块负责接收查询信息接收模块的指令,将查询语句提交给索引库进行查询匹配,返回所有与查询语句匹配的文档信息,并对检索结果集进行排序处理,将排序后的结果集提交给结果集处理模块; 所述索引库用来存储由索引模块对文档建立的索引,索引库还根据检索模块提交的查询请求在索引中快速检索,并将结果返回给检索模块; 所述索引模块用来接收数据服务器提供的文档,对文档内容,标题和自定义信息进行中文分词和去停用词处理得到索引词,利用索引词和文档相关信息建立索引; 所述基于相关词语的主题语义分析模块采用基于相关词语的主题语义分析方法,通过对文档进行主题语义分析,得到每个词与文档之间的语义相关量化关系,即对文档主题的贡献度,最后把这些运用到检索中提高搜索引擎的检索效果; 所述结果集处理模块用于接收来自检索模块的结果集,并根据索引库的信息建立结果集的文摘信息和快照信息,并对返回结果进行反显、回显和分页处理; 所述数据服务器用于存储知识数据词典、文档集,为基于相关词语的概念语义分析模块提供数据资源和管理服务,为基于相关词语的主题语义分析模块和索引模块提供文档集。
2.根据权利要求1所述的基于相关词语语义分析的全文检索系统,其特征在于:所述基于相关词语的概念语义分析模块包括文本预处理模块和语义相关度获取模块; 所述文本预处理模块主要对查询语句进行预处理,包括中文分词、去停用词;这里采用双向最大匹配分词方法对查询语句进行分词处理,然后去掉停用词,得到查询词序列,并提交给语义相关度获取模块; 所述语义相关度获取模块采用基于相关词语的概念语义分析方法来获取词对语义标签的语义贡献度; 在基于相关词语的概念语义分析方法中,把传统的词语相关度获取方法与词与词之间位置关系进行有效的融合; 通过从网络百科全书中获取关联语义知识来获取词对语义标签的贡献度的; 传统的方法流程如下: (I)用户在浏览词条解释正文时点击正文当中的内部链接即可链接到其他词条的解释页面,我们认为这些词条和被解释词条在语义上是相关的,并将一个词条的内部链接词条记为Inner ; (2)词条与被解释的词条在语义上是有关联的,将其记为在百科中一个词条可以属于多个开放分类,这些类别信息共同反映了这个词条的语义知识; (3)百科词条Z自身属于的开放分类集合Csev,该词解释正文中所有内部链接词条所属于的开放分类的集合&--@与用户添加的该词条的相关词条所属于的开放分类的集合
的并集定义为词条Z的开放分类语义知识集合SCi ; (4)相关词语贡献度的计算可以通过比较语义词Z的开放分类语义知识集合SC1与其相关词语Wi的开放分类语义知识集合SCwl而得到 ; (5)在计算语义词Z与相关词语竭之间的语义关联度时,首先定义一个开放分类语义知识向量K,开放分类语义知识向量的维数η = ISC1 U SCwl I每一维代表一个开放分类,记为Cp,语义词Z的开放分类语义知识向量F1在P维上的值即为I的开放分类语义知识集合Sq中对应开放分类‘出现的频次,对相关词_开放分类语义知识向量Pwl也有同样的定义; (6)最后相关词语与语义词I的语义关联度公式如下:
3.根据权利要求1所述的基于相关词语语义分析的全文检索系统,其特征在于:所述基于相关词语的主题语义分析模块包括文本预处理模块和语义建模模块; 所述文本预处理模块主要对文档进行预处理,包括中文分词、去停用词;这里采用双向最大匹配分词方法对文档进行分词处理,然后去掉停用词; 所述语义建模模块采用基于相关词语的主题语义分析方法来获取词对文档语义贡献度; 基于相关词语的主题语义分析方法具体如下: 在基于相关词语的概念语义分析模块中我们得到了相关词和语义标签的相关度simLj(wi}kj),其中i,j分别表示第i个词和第j个语义标签,这些相关词对应语义标签的语义贡献度代表了它们彼此之间的语义关系,在基于相关词语的主题语义分析模块中得到的Fiig —[Ditf3(IVr)是相关词语对应相关主题的语义关系,将这种语义关系重新映射回对应的语义标签,公式如下:
4.根据权利要求1所述的基于相关词语语义分析的全文检索系统,其特征在于:所述检索模块是本系统提供给用户检索文本信息的模块,它包括查询模块和排序模块; 查询模块从索引库中按检索打分公式查找所有匹配的文档信息,从匹配的文档信息中选择出满足查询要求的那部分文档信息作为结果集,并将结果集发送给排序模块; 排序模块用于对来自查询模块的结果集进行排序,该模块根据查询词在概念语义层次、主题语义层次对文档贡献度、在文档中的出现频率,以及文档长度和文档的反转频率等因素进行排序;其排序打分公式如下:
5.根据权利要求1所述的基于相关词语语义分析的全文检索系统,其特征在于:所述结果集处理模块是用户查询显示的界面,它包括头信息显示模块、反显模块、回显模块和分页处理模块; 所述头信息显示模块用于显示查询结果的提示信息,如果检索模块返回的结果集不为空,则在页首显示查询用时和结果集中的文档数;如果检索模块没有检索到匹配的结果,则显示结果不存在的提示信息; 所述反显模块用于对检索模块返回的文档结果集和索引库的文档摘要中的关键词做强调突出处理;具体方法是:对原查询语句中的词加红色高亮; 所述回显模块用于显示返回给用户的快照和文档摘要信息;页面内容以标题、摘要的形式,按条罗列;标题为超链接形式,用户可以打开检索内容所在的原文;文档摘要显示原文中含有检索内容的一段摘要;具体形式类似于Google、百度等搜索引擎的返回形式;所述分页处理模块用于将结果集的多篇文档分页显示,页尾标注在十页范围内供用户选择,为了增强用户体验和提升检索速度,每次翻页只返回当前文档的结果,不返回全部结果集。
【文档编号】G06F17/27GK103838833SQ201410061245
【公开日】2014年6月4日 申请日期:2014年2月24日 优先权日:2014年2月24日
【发明者】张茂元, 邹春燕, 陈水银, 张红, 管益龙, 贺凡黎, 华丽君, 罗贤亮, 吴德钰, 袁芳, 孟琼瑶 申请人:华中师范大学