一种利用语义分析的垂直搜索引擎系统与方法

文档序号:6599752阅读:240来源:国知局
专利名称:一种利用语义分析的垂直搜索引擎系统与方法
技术领域
本发明涉及搜索引擎系统,更具体地说,涉及一种语义分析技术,以及利用该语义分析技术实现的垂直搜索引擎系统与方法。
背景技术
搜索引擎已经成为人们获取信息的重要手段,它现在已经取代门户网站,成为人们上网的首选入口。目前搜索引擎所采用的技术,基本是以全文检索为主的。其一般原理就是利用倒排文件的技术,将待搜索的文字文本建立索引,然后利用关键词匹配的检索技术,从索引库中,把包含相关关键词的内容返回给用户。关键词检索技术一般利用词频等统计信息计算索引库中的文档和关键词的相关度,然后按照相关度排序的方式给出包含这些关键词的文档。这种技术把关键词当做一个字符串进行统计处理,基本上没有考虑关键词本身的语义和关键词所在的语言环境。随着搜索引擎的普及,人们对搜索引擎的期望也越来越高,把自然语言处理的技术,特别是语义处理技术融合到搜索引擎中,成为搜索引擎的发展趋势。也有很多企业在做各种积极的尝试。美国powerset搜索引擎,在引擎中增加了语法分析,考虑了主谓宾的因素,能区分“A打败B”和“B打败A”是两种不同的请求。Powerset只针对wikipedia进行了搜索,没有提供互联网全网搜索。Powerset已被微软公司收购。美国的hakia搜索引擎, 利用施乐公司的自然语言处理技术,能对同义、泛化等现象进行处理。Congnition搜索引擎能搜索wiki、法律、健康等内容,它在搜索时能区分每个词不同的词义,可以根据词义选择搜索结果。Silobreaker在关系搜索上做了一些探索,surfcanon在消除主流搜索引擎(比如google)的搜索结果上做了一些尝试,能对搜索结果的相关性进行调整。Swotti在产品评价上,能对评价进行分级,并分析出积极消极因素。Jodange在观点提取方面做了一些工作,能提取在特定议题上拥有影响力的人物,监测他们的观点如何随时间的推移而转变,以及他们如何推动媒体及公众的情绪变化。另外,W3C也在推动语义网的研究,希望能对互联网的内容加上语义标签,但总体来说,语义网还处在研究阶段。可以看出,目前的研究基本还处在词语层面和语法层面(powerset、hakia、 congnition等),或者针对某一方面的语义(swotti、jodange等),还没有考虑句子,甚至更大范围的语义语境对搜索的影响。如专利号98101921. 8模拟大脑语言感知过程的自然语言句类分析方法中的句类分析方法

发明内容
本发明的目的是提供一种利用语义分析的垂直搜索引擎系统与方法,以解决针对现有搜索引擎技术还处在词语层面和语法层面,或者针对某一方面的语义,还没有考虑句子,甚至更大范围的语义语境对搜索的影响的缺陷。本发明解决其技术问题所采用的技术方案是采用以句为单位的语义分析技术,
5提取文本中每个句子所表示的语境属性,并对语境属性进行切分标注;在索引时,为每种类型的语境属性单独建立索引;在检索时,可以对不同语境属性进行独立检索,也可以进行组合检索。本发明所述的系统,包括负责对文本进行分析,提取文本中的语境属性,形成带语境属性的标注文本的文本语义分析模块;负责调用文本语义分析模块,并根据分析结果, 为待索引文本,在索引库中建立索引的索引系统模块;负责接收用户的搜索请求,对请求进行解析,从索引库中检索到相应的结果,对结果进行合并和相关度计算,并返回给用户的检索系统模块;文本语义分析模块包含一个在管理员配置垂直搜索引擎时,根据所属的行业和领域的特点,所定义的文本语境属性的分类标准的本体定义模块、一个根据本体定义模块,对待索引文档进行分析,提取文档中每个句子的语境属性模块,并把语境属性标注到原始文档中,形成带语境属性的标注文本。所述的文本语义分析模块,以句子为单位,对文本中的每个句子进行语境属性提取;提取的依据是以xml形式表示,定义了本体所属的领域或行业、描述、定义者和定义时间,同时定义了多组语境属性kmProp ;提取过程中,综合了三方面的因素特征词出现的次数、特征词的概念属性(动词、抽象概念、具体概念)加权,以及特征词在句子中的语义地位加权;在所述的多组语境属性kmProp中,每个语境属性<SemProp>中有<name>表示属性名称,<tag>表示标注在文本中的标签,还有〈Character〉表示该属性的特征词,特征词可以有多个,之间用逗号隔开。所述文本语义分析模块包括以下步骤步骤21中,把文本以句号为单位断开,对每个句子进行处理;步骤22中,判断当前句子是否已经到文本末尾;如果是,则转步骤四;否则转步骤 23 ;步骤23中,调用句子语境属性提取模块(具体流程参见下文),提取句子的语境属性 SemPropN ;步骤M中,判断当前句子提取的属性 mPr0pN是否是该文本的第一个属性;如果是,则转步骤25 ;否则转步骤沈;步骤25中,在文本的起始处设置属性开始标志<kmPropN> ;转步骤21进行下一句处理;步骤沈中,判断当前提取的属性^mPropN和该文本的上一个属性kmPropN-l是否一样;如果是,则转步骤21进行下一句处理;否则转步骤27 ;步骤27中,在当前句子之前,设置上一个属性的结束标志〈AemPropN-D ;步骤28中,在当前句子之前,设置当前属性的开始标志〈SemPropN〉;转步骤21进行下一句处理;步骤四中,在文本末尾处设置最后一个属性的结束标志〈/SemPropN〉;步骤210中,输出带属性标志的标注文本。所述文本语义分析模块中的语境属性模块包括以下步骤步骤32中,对句子进行分词处理;步骤33中,分析句子的语义结构(使用专利号为98101921. 8,模拟大脑语言感知过程的自然语言句类分析方法中的句类分析方法,分析句子的语义结构);步骤34中,根据本体定义14,提取句子中所有的属性特征词;步骤35中,对每个特征词word,取出它所属的属性kmPropi,该属性的权值为 weight (SemPropi) = 1 ;步骤36中,判断特征词word的词性;如果是动词,则转步骤37 ;如果是抽象概念, 则转步骤38 ;如果是具体概念,则转步骤39 ;步骤37中,特征词word的词性是动词,则weight (SemPropi) +5 ;步骤38中,特征词word的词性是抽象概念(抽象概念的定义是其所指的对象不具有物理属性的概念,可参见文献《HNC(概念层次网络)理论导论》苗传江著,一般的,比如外交、差距等词语都是抽象概念),则weight (SemPropi) +2 ;步骤39中,特征词word的词性是具体概念(具体概念的定义是其所指的对象具有物理属性的概念,可参见文献《HNC(概念层次网络)理论导论》苗传江著,一般的,比如手机、自行车等词语都是具体概念),则weight (SemPropi) +1 ;步骤310中,判断特征词word在句子语义结构(该语义结构是经过步骤33得到的)中的位置,如果它是句子的核心(句子核心的判断可参见专利98101921. 8),则转步骤 312 ;如果它是语义块(语义块的定义可参见专利98101921. 8)的核心,则转步骤311 ;否则转 313 ;步骤311 中,给属性 SemPropi 的权值乘以 2, weight (SemPropi) = weight (SemPropi)*2 ;步骤312 中,给属性 SemPropi 的权值乘以 3,weight (SemPropi) = weight (SemPropi) *3 ;步骤313 中,给属性 SemPropi 的权值乘以 l,weight (SemPropi) = weight (SemPropi)*1 ;步骤314中,对句子中提取的所有的属性kmPropi按权值排序,取出权值最大的一个 SemPropMax ;步骤315中,输出kmPropMax为句子的语境属性。所述索引系统模块是对每个文档的标注结果,提取其语境属性,为每个语境属性在索引库中单独建立索引,索引库中的每个索引,都是以按字词混排的倒排文件形式存储。所述的索引模块,索引过程包括以下步骤步骤41中,判断是否已到文本末尾;如果是,则结束;否则转步骤42 ;步骤42中,提取下一个属性开始标志<kmPropN> ;步骤43中,提取该属性的结束标志</^emPropN> ;步骤44中,对开始标志和结束标志之间的内容wordlist,进行分词;步骤45中,判断当前属性^mPropN是否在索引库中已存在;如果是,则转步骤 47 ;否则转步骤46 ;步骤46中,在索引库17中增加一个子库,其名为^mPropN ;转步骤47 ;步骤47中,把wordlist的分词结果,如果是词,则把词索引加入到索引子库 SemPropN中;如果是字,则把字索引加入到索引子库kmPropN中。所述检索系统模块包括搜索请求分析、对索引库的检索,以及检索结果生成三个子模块;搜索请求分析模块解析用户的请求,给出每个语境属性的请求串和语境属性之间的逻辑关系(与、或、非等);搜索请求分析模块在搜索请求串中,语境属性有几种表示方式可以在请求串中用语境属性”或者“语境属性”来表示;可以在搜索页面上,采用勾选的方式选择(类似于google搜索引擎的高级检索);所述的搜索请求分析模块把请求串解析为多个子请求串Qi以及Qi之间的逻辑关系,其中可以用“ 0 ”来表示层次关系;所述子请求串Qi用以下方式表示,其中Qi表示解析出的一个子请求串,wordlist表示Qi这个子请求串所包含的检索词,SemPropi表示Qi子请求串所对应的语境属性,Ql =WordLiStiSemProplQ2 =WordListiSemProp2Qn WordLi StiSemPropN所述对索引库的检索模块包括以下步骤步骤M中,对每个Qi进行检索;步骤55中,选择Qi对应的语境属性kmPropi所在的子索引库SemPropi_index ;步骤56中,在子索引中,对Qi的wordlist中的每个词语word 进行检索;步骤57中,对每个word检索返回的结果,进行word和文档之间的相关度计算,并排序;步骤58中,对wordlist中的所有词语word的检索结果集,进行与操作,形成子请求串Qi的结果集;检索结果生成模块包括以下步骤步骤59中,利用子请求串Qi之间的逻辑关系53,对所有Qi的结果集进行逻辑运算;步骤510中,对结果集进行相关度调整;并输出结果集给用户12。本发明的优点在于,利用语境属性来表示词语所在的语言环境,语境属性综合了词语的出现次数、词语的概念属性和词语在句子中的语义地位,这样在检索时,可以增加语言环境的限定,使得检索结果的相关度更好。本发明特别适合于企业搜索、垂直搜索等与领域相关的搜索引擎系统,也适合于通用搜索引擎对大量“暗网”数据的处理。


图1是本发明的语义搜索引擎系统示意图;图2是本发明的文本语义分析流程图;图3是本发明的句子语境属性提取流程图;图4是本发明的索引流程图;图5是本发明的检索流程图。
具体实施例方式下面将结合附图及实施例对本发明作进一步说明。1.系统主要操作本发明所述的语义搜索引擎系统示意图如附图1所示。系统主要有三个操作过程文本语义分析操作、索引操作和搜索操作。索引操作会调用语义分析操作,他们都是在后台,由管理员完成的,对普通用户是不可见的;搜索操作负责接收用户的搜索请求,从索引库中,检索到相应的内容,并返回给用户。文本语义分析的依据是本体定义,因此在分析之前,管理员必须先给出本体定义。对索引操作,本发明的重点在于语境属性对索引的影响,至于索引库的结构和具体的存储方式,和一般搜索引擎方法类似,不做特殊说明。对检索操作,本发明的重点在于检索过程如何增加语境属性的影响,至于如何从索引库中检索、相关度的具体计算方式等,和一般搜索引擎方法类似,不做特殊说明。在本发明所述的系统中,所述的待索引文档11,主要指文字文本,包括网页(html 或xml格式)和纯文本。在本发明所述的系统中,所述的用户12,是指通过网页上的搜索框,提交搜索请求,获取搜索结果的人。在本发明所述的系统中,所述的本体定义14,是管理员配置垂直搜索引擎时,根据所属的行业和领域的特点,所定义的文本语境属性的分类标准。在本发明所述的系统中,所述的文本语义分析13,是根据本体定义14,对文本进行分析,提取文本中每个句子的语境属性,并把语境属性标注到原始文本中,形成带语境属性的标注文本15。在本发明所述的系统中,所述的索引过程16,是对每个文档的标注结果15,提取其语境属性,为每个语境属性在索引库17中单独建立索引。索引库17中的每个索引,都是以按字词混排的倒排文件形式存储。在本发明所述的系统中,所述的检索过程,是指接收到用户12的请求,搜索请求分析模块19对请求进行解析,检索模块18负责从索引库17中检索到相应的结果,检索结果生成模块110对18返回的结果进行合并和相关度计算,并返回给用户12。所述的本体定义14,是一个以xml形式表示的映射文件,该映射文件格式如下<Sem0nto><domain> </domain><desc> </desc><author></author><time> </time><SemProp><name> </name><tag> </tag><Character>wordl, word2,…,wordn</Character)</SemProp></Sem0nto>所述的映射文件中,以<Sem0nto>开始,以</^em0nto>结束。〈domain〉表示该本
体所属的领域或行业,<desc>是对该本体文件的一些描述,〈author〉是该本体的定义者, <time>是该本体定义的时间。映射文件中可以有多组<SemPropX/^emProp>,来定义多组语境属性。每个语境属性〈SemProp〉中有〈name〉表示属性名称,<tag>表示标注在文本中的标签,还有〈Character〉表示该属性的特征词,特征词可以有多个,之间用逗号隔开。
每个语境属性<SemProp>的<tag>会出现在标注结果15中。每个<SemProp>在索引库17中对应一个索引。所述的文本语义分析13,其输入是待索引文本11,其输出是语境属性标注结果 15。该模块利用语义分析技术,对文本中的每个句子进行语境属性提取,如果相邻两个句子的语境属性相同,则合并他们成为一个语境属性标注。对每个句子处理时,如果本体定义14 中语境属性的特征词出现,则激活语境属性提取。提取过程中,综合了三方面的因素特征词出现的次数、特征词的概念属性(动词、抽象概念、具体概念)加权,以及特征词在句子中的语义地位加权。具体过程可参见下面的实施例。所述的索引模块16,其输入是标注结果15,其输出是索引库17。该模块负责从标注结果中获取语境属性,对每个语境属性建立不同的子索引。索引过程需要对每个语境属性之间的文本进行分词,对其中的词语建立词索引,对其中不能构成词的单字建立字索引。所述的检索模块,其输入是用户12输入的搜索请求,其输出是返回给用户12的搜索结果。检索模块包括搜索请求分析19,对索引库的检索18,以及检索结果生成110三个子模块。搜索请求分析19负责解析用户的请求,给出每个语境属性的请求串和语境属性之间的逻辑关系(与、或、非等)。索引库的检索18负责对每个语境属性的请求串进行检索, 它只给出相应子索引的结果集。检索结果生成110负责对18返回的结果集,按照语境属性之间的逻辑关系,进行集合运算,并计算相关度。下面结合具体实施例,说明文本语义分析操作、句子语境属性提取操作、索引操作流程和检索操作流程。2.文本语义分析操作文本语义分析流程图如附图2所示。文本语义分析的输入是待索引文本11和本体定义14。假设一个本体定义如下<Sem0nto><domain>IT</domain><desc>IT电子产品说明书的本体定义</desc><author> ^H </author><time>2009-12-3</time><SemProp><name> 构成 </name><tag>const</tag><Character),1 </Character></SemProp><SemProp><name> 功能 </name><tag>func</tag><Character)</Character></SemProp><SemProp>

<name> 计算机 </name> <tag>category</tag 〈Character〉显示器,键盘,硬盘,内存〈/Character〉 </SemProp></Sem0nto>例子计算机由显示器、硬盘、内存、CPU等构成。显示器显示内容给用户。硬盘的功能是存储数据。文本语义分析步骤如下步骤21中,把文本以句号为单位断开,对每个句子进行处理;步骤22中,判断当前句子是否已经到文本末尾;如果是,则转步骤四;否则转步骤 23 ;步骤23中,调用句子语境属性提取模块(具体流程见“句子语境属性提取操作”), 提取句子的语境属性^mPropN ;步骤M中,判断当前句子提取的属性 mPr0pN是否是该文本的第一个属性;如果是,则转步骤25 ;否则转步骤沈;步骤25中,在文本的起始处设置属性开始标志〈SemPropN〉;转步骤21进行下一句处理;步骤沈中,判断当前提取的属性^mPropN和该文本的上一个属性kmPropN-l是否一样;如果是,则转步骤21进行下一句处理;否则转步骤27 ;步骤27中,在当前句子之前,设置上一个属性的结束标志〈AemPropN-D ;步骤28中,在当前句子之前,设置当前属性的开始标志〈SemPropN〉;转步骤21进行下一句处理;步骤四中,在文本末尾处设置最后一个属性的结束标志〈/SemPropN〉;步骤210中,输出带属性标志的标注文本;经过上述步骤,对文本中的每个句子都做了语境属性的标注,给出了每个句子所表示的语言环境。这样,相当于给文本中的每个词语都赋予了语境属性。对下面的文本的标注结果如下所示〈const〉计算机由显示器、硬盘、内存、CPU等构成。显示器用于显示内容给用户。 </const><func>硬盘的功能是存储数据。</func>3.句子语境属性提取操作句子语境属性提取流程图如附图3所示。句子语境属性提取模块的输入是一个句子31,和本体定义14。例子S1计算机由显示器、硬盘、内存、CPU等构成。S2显示器显示内容给用户。S3 硬盘的功能是存储数据。句子语境属性提取步骤如下步骤32中,对句子进行分词处理;步骤33中,调用句类分析方法,分析句子的语义结构;例子Sl {计算机} :B+{由} + {显示器、硬盘、内存、CPU等} :B+{构成} =E0S2{显示器} :B+{显示} :E+{内容给用户} :C。
S3{硬盘的功能}出+{是} :E+{存储数据} =B0(其中,B表示语义结构中的对象,E是核心动词,C是内容。)步骤34中,根据本体定义14,提取句子中所有的属性特征词;Sl 显示器、硬盘、内存、CPU构成S2 显示器S3 硬盘功能步骤35中,对每个特征词word,取出它所属的属性kmPropi,该属性的权值为 weight (SemPropi) = 1 ;例子:S1显示器、硬盘、内存、CPU weight (category) = 4构成 weight (const) = 1S2 显示器 weight (category) = 1S3 硬盘 weight (category) = 1功能 weight (func) = 1步骤36中,判断特征词word的词性;如果是动词,则转步骤37 ;如果是抽象概念, 则转步骤38 ;如果是具体概念,则转步骤39 ;步骤37中,特征词word的词性是动词,则weight GemPropi)+5 ;例子=Sl 构成 weight (const) =1+5 = 6步骤38中,特征词word的词性是抽象概念(抽象概念的定义是其所指的对象不具有物理属性的概念比如外交、差距等词语都是抽象概念),则weight (SemPropi) +2 S3 功能 weight (func) = 1+2 = 3步骤39中,特征词word的词性是具体概念(具体概念的定义是其所指的对象具有物理属性的概念比如手机、自行车等词语都是具体概念),则weight (SemPropi)不变;例子Sl显示器、硬盘、内存、CPU weight (category) = 4构成 weight (const) = 1+5 = 6S2 显示器 weight (category) = 1S3 硬盘 weight (category) = 1功能 weight (func) =1+2 = 3步骤310中,判断特征词word在句子语义结构(该语义结构是经过步骤33得到的)中的位置,如果它是句子的核心,则转步骤312 ;如果它是语义块的核心,则转步骤311 ; 否则转313 ;步骤311 中,给属性 kmPropi 的权值乘以 2,weight (SemPropi)= weight (SemPropi)*2 ;例子:S1显示器、硬盘、内存、CPU weight (category) = 4*2 = 8构成 weight (const) = 1+5 = 6S2 显示器 weight (category) = 1*2 = 2S3 硬盘 weight (category) = 1功能 weight (func) = 1+2 = 3*2 = 6
12
步骤312 中,给属性 kmPropi 的权值乘以 3,weight (SemPropi)= weight (SemPropi)*3 ;例子:S1 构成 weight (const) = 1+5 = 6*3 = 18步骤313 中,给属性 kmPropi 的权值乘以 1,weight (SemPropi)= weight (SemPropi)*1 ;Sl 显示器、硬盘、内存、CPU weight (category) = 4*2 = 8构成 weight (const) = 1+5 = 6*3 = 18S2 显示器 weight (category) = 1*2 = 2S3 硬盘 weight (category) = 1功能 weight (func) = 1+2 = 3*2 = 6步骤314中,对句子中提取的所有的属性kmPropi按权值排序,取出权值最大的一个 SemPropMax ;仿Ij子Sl SemPropMax = 18S2 SemPropMax = 2S3 SemPropMax = 6步骤315中,输出kmPropMax为句子的语境属性;例子Sl :constS2 :constS3 func句子语境属性提取过程中,综合了三方面的因素特征词出现的次数。特征词的每次出现,都会给其权值weight至少加1 ;特征词的概念属性。不同的概念属性(动词、抽象概念、具体概念),其权值weight 的加权不同;特征词在句子中的语义地位加权。特征词在句子语义结构中的位置不同,说明它的作用也不同,因此也有不同的加权。4.索引操作索引流程图如附图4所示。索引模块的输入是待索引文本的标注结果15。索引模块的步骤如下步骤41中,判断是否已到文本末尾;如果是,则结束;否则转步骤42 ;步骤42中,提取下一个属性开始标志<kmPropN> ;步骤43中,提取该属性的结束标志</^emPropN> ;步骤44中,对开始标志和结束标志之间的内容wordlist,进行分词;步骤45中,判断当前属性kmPropN是否在索引库中已存在;如果是,则转步骤 47 ;否则转步骤46 ;步骤46中,在索引库17中增加一个子库,其名为^mPropN ;转步骤47 ;步骤47中,把wordlist的分词结果,如果是词,则把词索引加入到索引子库 SemPropN中;如果是字,则把字索引加入到索引子库kmPropN中;5.检索操作
检索流程图如附图5所示。检索模块接收用户12的搜索请求。假设有两个文档Docl和Doc2,其中都包含“显示器”,其标注结果如下Docl :<c0nSt>计算机由显示器、硬盘、内存、CPU等构成。显示器显示内容给用户。 </const><func>硬盘的功能是存储数据。</func>Doc2 :<funC>该纤维材料可用于制作显示器的防辐射屏保。</func>例子检索“显示器,在语境属性“构成const”中,并且包含关键词“功能”检索模块的步骤如下步骤51中,对搜索请求串进行解析,在搜索请求串中,语境属性可以有几种表示方式可以在请求串中用语境属性”或者“语境属性”来表示;可以在搜索页面上,采用勾选的方式选择(类似于google搜索引擎的高级检索);请求串解析的结果有两个1)每个语境属性的检索串52,可以表示为如下。其中Qi表示解析出的一个子请求串,wordlist表示Qi这个子请求串所包含的检索词,SemPropi表示Qi子请求串所对应的语境属性。如果没有“(^emPropN”,则说明不需要匹配语境属性。Ql =WordLiStiSemProplQ2 =WordListiSemProp2Qn WordListiSemPropN例子Q1显示器 OconstQ2 功能2)子请求串Qi之间的逻辑关系53。其中可以用“ 0 ”来表示层次关系。比如 “ (Q1&Q2) |Q3”表示Ql子请求串先和Q2子请求串做逻辑与,其结果再和Q3做逻辑或。例子Q1&Q2步骤M中,对每个Qi进行检索;步骤55中,选择Qi对应的语境属性kmPropi所在的子索引库kmPropi_index ;例子Ql选择const子索引Q2不选择子索引步骤56中,在子索引中,对Qi的wordlist中的每个词语word 进行检索;例子Q1在const中检索“显示器”Q2在所有子索引中检索“功能”步骤57中,对每个word检索返回的结果,进行word和文档之间的相关度计算,并排序;步骤58中,对wordlist中的所有词语word的检索结果集,进行与操作,形成子请求串Qi的结果集;例子:resultQl {docl}ResultQ2 {docl}
步骤59中,利用子请求串Qi之间的逻辑关系53,对所有Qi的结果集进行逻辑运算;例子:Result = {result} &{result2}步骤510中,对结果集进行相关度调整;并输出结果集给用户12。例子=Result = {docl}
权利要求
1.一种利用语义分析技术实现垂直搜索引擎的方法,其特征在于,采用以句为单位的语义分析技术,提取文本中每个句子所表示的语境属性,并对语境属性进行切分标注;在索引时,为每种类型的语境属性单独建立索引;在检索时,可以对不同语境属性进行独立检索,也可以进行组合检索。
2.一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于它包括负责对文本进行分析,提取文本中的语境属性,形成带语境属性的标注文本的文本语义分析模块;负责调用文本语义分析模块,并根据分析结果,为待索引文本,在索引库中建立索引的索引系统模块;负责接收用户的搜索请求,对请求进行解析,从索引库中检索到相应的结果,对结果进行合并和相关度计算,并返回给用户的检索系统模块;文本语义分析模块包含一个在管理员配置垂直搜索引擎时,根据所属的行业和领域的特点,所定义的文本语境属性的分类标准的本体定义模块、一个根据本体定义模块,对待索引文档进行分析,提取文档中每个句子的语境属性模块,并把语境属性标注到原始文档中,形成带语境属性的标注文本。
3.根据权利要求2所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述的文本语义分析模块,以句子为单位,对文本中的每个句子进行语境属性提取;提取的依据是以xml形式表示,定义了本体所属的领域或行业、描述、定义者和定义时间,同时定义了多组语境属性^^^叩;提取过程中,综合了三方面的因素特征词出现的次数、 特征词的概念属性(动词、抽象概念、具体概念)加权,以及特征词在句子中的语义地位加权;在所述的多组语境属性kmProp中,每个语境属性〈SemProp〉中有〈name〉表示属性名称,<tag>表示标注在文本中的标签,还有〈Character〉表示该属性的特征词,特征词可以有多个,之间用逗号隔开。
4.根据权利要求3所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述文本语义分析模块包括以下步骤步骤21中,把文本以句号为单位断开,对每个句子进行处理;步骤22中,判断当前句子是否已经到文本末尾;如果是,则转步骤四;否则转步骤23 ;步骤23中,调用句子语境属性提取模块,提取句子的语境属性kmPropN ;步骤M中,判断当前句子提取的属性kmPropN是否是该文本的第一个属性;如果是, 则转步骤25 ;否则转步骤沈;步骤25中,在文本的起始处设置属性开始标志〈SemPropN〉;转步骤21进行下一句处理;步骤沈中,判断当前提取的属性^mPropN和该文本的上一个属性kmPropN-1是否一样;如果是,则转步骤21进行下一句处理;否则转步骤27 ;步骤27中,在当前句子之前,设置上一个属性的结束标志〈AemPropN-D ;步骤观中,在当前句子之前,设置当前属性的开始标志〈SemPropN〉;转步骤21进行下一句处理;步骤四中,在文本末尾处设置最后一个属性的结束标志〈/SemPropN〉;步骤210中,输出带属性标志的标注文本。
5.根据权利要求3所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述文本语义分析模块中的语境属性模块包括以下步骤步骤32中,对句子进行分词处理;2步骤33中,分析句子的语义结构;步骤34中,根据本体定义14,提取句子中所有的属性特征词; 步骤35中,对每个特征词word,取出它所属的属性kmPropi,该属性的权值为 weight (SemPropi) = 1 ;步骤36中,判断特征词word的词性;如果是动词,则转步骤37 ;如果是抽象概念,则转步骤38 ;如果是具体概念,则转步骤39 ;步骤37中,特征词word的词性是动词,则weight (SemPropi) +5 ; 步骤38中,特征词word的词性是抽象概念,则weight (SemPropi) +2 ; 步骤39中,特征词word的词性是具体概念,则weight (SemPropi) +1 ; 步骤310中,判断特征词word在句子语义结构(该语义结构是经过步骤33得到的) 中的位置,如果它是句子的核心,则转步骤312 ;如果它是语义块的核心,则转步骤311 ;否则转313 ;步骤311 中,给属性 SemPropi 的权值乘以 2,weight GemPropi) = weight (SemPropi) ; 步骤 312 中,给属性 SemPropi 的权值乘以 3,weight GemPropi) = weight (SemPropi) ; 步骤 313 中,给属性 SemPropi 的权值乘以 1,weight (SemPropi) = weight (SemPropi) * 1 ; 步骤314中,对句子中提取的所有的属性kmPropi按权值排序,取出权值最大的一个 SemPropMax ;步骤315中,输出kmPropMax为句子的语境属性。
6.根据权利要求2所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述索引系统模块是对每个文档的标注结果,提取其语境属性,为每个语境属性在索引库中单独建立索引,索引库中的每个索引,都是以按字词混排的倒排文件形式存储。
7.根据权利要求6所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述的索引模块,索引过程包括以下步骤步骤41中,判断是否已到文本末尾;如果是,则结束;否则转步骤42 ; 步骤42中,提取下一个属性开始标志〈SemPropN〉; 步骤43中,提取该属性的结束标志〈/SemPropN〉; 步骤44中,对开始标志和结束标志之间的内容wordlist,进行分词; 步骤45中,判断当前属性kmPropN是否在索引库中已存在;如果是,则转步骤47 ;否则转步骤46 ;步骤46中,在索引库17中增加一个子库,其名为kmPropN ;转步骤47 ; 步骤47中,把wordlist的分词结果,如果是词,则把词索引加入到索引子库MmPropN 中;如果是字,则把字索引加入到索引子库kmPropN中。
8.根据权利要求2所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述检索系统模块包括搜索请求分析、对索引库的检索,以及检索结果生成三个子模块;搜索请求分析模块解析用户的请求,给出每个语境属性的请求串和语境属性之间的逻辑关系(与、或、非等);搜索请求分析模块在搜索请求串中,语境属性有几种表示方式可以在请求串中用语境属性”或者“语境属性”来表示;可以在搜索页面上,采用勾选的方式选择(类似于google搜索引擎的高级检索);所述的搜索请求分析模块把请求串解析为多个子请求串Qi以及Qi之间的逻辑关系,其中可以用“()”来表示层次关系;所述子请求串Qi用以下方式表示,其中Qi表示解析出的一个子请求串,wordlist表示Qi这个子请求串所包含的检索词,SemPropi表示Qi子请求串所对应的语境属性, Ql =WordListiSemPropl Q2 =WordListiSemProp2 Qn WordLiStiSemPropN 所述对索引库的检索模块包括以下步骤 步骤M中,对每个Qi进行检索;步骤55中,选择Qi对应的语境属性kmPropi所在的子索引库kmPropi_index ; 步骤56中,在子索引中,对Qi的wordlist中的每个词语word进行检索;步骤57中,对每个word检索返回的结果,进行word和文档之间的相关度计算,并排序;步骤58中,对wordl i st中的所有词语word的检索结果集,进行与操作,形成子请求串 Qi的结果集;检索结果生成模块包括以下步骤步骤59中,利用子请求串Qi之间的逻辑关系53,对所有Qi的结果集进行逻辑运算; 步骤510中,对结果集进行相关度调整;并输出结果集给用户12。
全文摘要
本发明公开了一种利用语义分析的垂直搜索引擎系统与方法。该系统包括文本语义分析、索引系统、检索系统三个模块。文本语义分析模块以句为单位,提取文本中每个句子所表示的语境属性,并对语境属性进行切分标注;语境属性综合了词语的出现次数、词语的概念属性和词语在句子中的语义地位;索引模块为每种类型的语境属性单独建立索引;在检索时,可以对不同语境属性进行独立检索,也可以进行组合检索。本发明的优点在于,利用语境属性来表示词语所在的语言环境,这样在检索时,可以增加语言环境的限定,使得检索结果的相关度更好。本发明特别适合于企业搜索、垂直搜索等与领域相关的搜索引擎系统,也适合于通用搜索引擎对大量“暗网”数据的处理。
文档编号G06F17/30GK102200975SQ201010132348
公开日2011年9月28日 申请日期2010年3月25日 优先权日2010年3月25日
发明者晋耀红 申请人:北京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1