CN102200975B - 一种利用语义分析的垂直搜索引擎系统 - Google Patents
一种利用语义分析的垂直搜索引擎系统 Download PDFInfo
- Publication number
- CN102200975B CN102200975B CN2010101323488A CN201010132348A CN102200975B CN 102200975 B CN102200975 B CN 102200975B CN 2010101323488 A CN2010101323488 A CN 2010101323488A CN 201010132348 A CN201010132348 A CN 201010132348A CN 102200975 B CN102200975 B CN 102200975B
- Authority
- CN
- China
- Prior art keywords
- module
- text
- attribute
- context attributes
- sentence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种利用语义分析的垂直搜索引擎系统。该系统包括文本语义分析、索引系统、检索系统三个模块。文本语义分析模块以句为单位,提取文本中每个句子所表示的语境属性,并对语境属性进行切分标注;语境属性综合了词语的出现次数、词语的概念属性和词语在句子中的语义地位;索引模块为每种类型的语境属性单独建立索引;在检索时,可以对不同语境属性进行独立检索,也可以进行组合检索。本发明的优点在于,利用语境属性来表示词语所在的语言环境,这样在检索时,可以增加语言环境的限定,使得检索结果的相关度更好。本发明特别适合于企业搜索、垂直搜索等与领域相关的搜索引擎系统,也适合于通用搜索引擎对大量“暗网”数据的处理。
Description
技术领域
本发明涉及搜索引擎系统,更具体地说,涉及一种语义分析技术,以及利用该语义分析技术实现的垂直搜索引擎系统。
背景技术
搜索引擎已经成为人们获取信息的重要手段,它现在已经取代门户网站,成为人们上网的首选入口。
目前搜索引擎所采用的技术,基本是以全文检索为主的。其一般原理就是利用倒排文件的技术,将待搜索的文字文本建立索引,然后利用关键词匹配的检索技术,从索引库中,把包含相关关键词的内容返回给用户。关键词检索技术一般利用词频等统计信息计算索引库中的文档和关键词的相关度,然后按照相关度排序的方式给出包含这些关键词的文档。这种技术把关键词当做一个字符串进行统计处理,基本上没有考虑关键词本身的语义和关键词所在的语言环境。
随着搜索引擎的普及,人们对搜索引擎的期望也越来越高,把自然语言处理的技术,特别是语义处理技术融合到搜索引擎中,成为搜索引擎的发展趋势。也有很多企业在做各种积极的尝试。美国powerset搜索引擎,在引擎中增加了语法分析,考虑了主谓宾的因素,能区分“A打败B”和“B打败A”是两种不同的请求。Powerset只针对wikipedia进行了搜索,没有提供互联网全网搜索。Powerset已被微软公司收购。美国的hakia搜索引擎,利用施乐公司的自然语言处理技术,能对同义、泛化等现象进行处理。Congnition搜索引擎能搜索wiki、法律、健康等内容,它在搜索时能区分每个词不同的词义,可以根据词义选择搜索结果。Silobreaker在关系搜索上做了一些探索,surfcanon在消除主流搜索引擎(比如google)的搜索结果上做了一些尝试,能对搜索结果的相关性进行调整。Swotti在产品评价上,能对评价进行分级,并分析出积极消极因素。Jodange在观点提取方面做了一些工作,能提取在特定议题上拥有影响力的人物,监测他们的观点如何随时间的推移而转变,以及他们如何推动媒体及公众的情绪变化。另外,W3C也在推动语义网的研究,希望能对互联网的内容加上语义标签,但总体来说,语义网还处在研究阶段。
可以看出,目前的研究基本还处在词语层面和语法层面(powerset、hakia、congnition等),或者针对某一方面的语义(swotti、jodange等),还没有考虑句子,甚至更大范围的语义语境对搜索的影响。如:专利号98101921.8模拟大脑语言感知过程的自然语言句类分析方法中的句类分析方法
发明内容
本发明的目的是提供一种利用语义分析的垂直搜索引擎系统,以解决针对现有搜索引擎技术还处在词语层面和语法层面,或者针对某一方面的语义,还没有考虑句子,甚至更大范围的语义语境对搜索的影响的缺陷。
本发明解决其技术问题所采用的技术方案是:
一种利用语义分析技术实现垂直搜索引擎的系统,它包括:文本语义分析模块、索引系统模块和检索系统模块,其中,所述文本语义分析模块负责对文本进行分析,提取文本中的语境属性,形成带语境属性的标注文本;所述索引系统模块负责调用文本语义分析模块,并根据分析结果,为待索引文本,在索引库中建立索引;所述检索系统模块负责接收用户的搜索请求,对请求进行解析,从索引库中检索到相应的结果,对结果进行合并和相关度计算,并返回给用户;
所述索引系统模块包括以下模块:
模块41,判断是否已到文本末尾;如果是,则结束;否则转模块42;
模块42,提取下一个属性开始标志<SemPropN>;
模块43,提取该属性的结束标志</SemPropN>;
模块44,对开始标志和结束标志之间的内容wordlist,进行分词;
模块45,判断当前属性SemPropN是否在索引库中已存在;如果是,则转模块47;否则转模块46;模块46,在索引库(17)中增加一个子库,其名为SemPropN;转模块47;
模块47,用于wordlist的分词结果加入到索引库,如果是词,则把词索引加入到索引子库SemPropN中;如果是字,则把字索引加入到索引子库SemPropN中;
所述索引系统模块负责调用文本语义分析模块,并根据分析结果,为待索引文本,在索引库中建立索引;所述检索系统模块包括搜索请求分析模块、对索引库的检索模块,以及检索结果生成模块三个子模块;
搜索请求分析模块解析用户的请求,给出每个语境属性的请求串和语境属性之间的逻辑关系;搜索请求分析模块在搜索请求串中,语境属性有几种表示方式:在请求串中用“语境属性”或者“:语境属性”来表示;在搜索页面上,采用勾选的方式选择;所述的搜索请求分析模块把请求串解析为多个子请求串Qi以及Qi之间的逻辑关系,其中用“()”来表示层次关系;所述子请求串Qi用以下方式表示,其中Qi表示解析出的一个子请求串,wordlist表示Qi这个子请求串所包含的检索词,SemPropi表示Qi子请求串所对应的语境属性,
Q1:wordListSemProp1
Q2:wordListSemProp2
Qn:wordListSemPropN
所述对索引库的检索模块包括:
模块54,对每个Qi进行检索;
模块55,选择Qi对应的语境属性SemPropi所在的子索引库SemPropi_index;
模块56,在子索引库SemPropi_index中,对Qi的wordlist中的每个词语word进行检索;
模块57,对每个word检索返回的结果,进行word和文档之间的相关度计算,并排序;
模块58,对wordlist中的所有词语word的检索结果集,进行与操作,形成子请求串Qi的结果集;
检索结果生成模块包括:
模块59,利用子请求串Qi之间的逻辑关系(53),对所有Qi的结果集进行逻辑运算;
模块510,对结果集进行相关度调整;并输出结果集给用户(12);
文本语义分析模块包含一个本体定义模块、一个语境属性模块,其中,该本体定义模块在管理员配置垂直搜索引擎时,根据所属的行业和领域的特点,所定义文本语境属性的分类标准;该语境属性模块根据本体定义模块,对待索引文档进行分析,提取文档中的每个句子的语境属性,并把语境属性标注到原始文档中,形成带语境属性的标注文本。
所述的文本语义分析模块,以句子为单位,对文本中的每个句子进行语境属性提取;提取的依据是以xml形式表示,定义了本体所属的领域或行业、描述、定义者和定义时间,同时定义了多组语境属性SemProp;提取过程中,综合了三方面的因素:特征词出现的次数、特征词的概念属性加权,以及特征词在句子中的语义地位加权,其中所述的概念属性指特征词是动词、抽象概念、具体概念;在所述的多组语境属性SemProp中,每个语境属性<SemProp>中有<name>表示属性名称,<tag>表示标注在文本中的标签,还有<Character>表示该属性的特征词,特征词有多个,之间用逗号隔开。
所述文本语义分析模块包括以下模块:
模块21,用于把文本以句号为单位断开,对每个句子进行处理;
模块22中,用于判断当前句子是否已经到文本末尾;如果是,则转模块29;否则转模块23;
模块23,用于调用句子语境属性提取模块,提取句子的语境属性SemPropN;
模块24,用于判断当前句子提取的属性SemPropN是否是该文本的第一个属性;如果是,则转模块25;否则转模块26;
模块25,用于在文本的起始处设置属性开始标志<SemPropN>;转模块21进行下一句处理;
模块26,用于判断当前提取的属性SemPropN和该文本的上一个属性SemPropN-1是否一样;如果是,则转模块21进行下一句处理;否则转模块27;
模块27,用于在当前句子之前,设置上一个属性的结束标志</SemPropN-1>;
模块28,用于在当前句子之前,设置当前属性的开始标志<SemPropN>;转模块21进行下一句处理;
模块29,用于在文本末尾处设置最后一个属性的结束标志</SemPropN>;
模块210中,用于输出带属性标志的标注文本。
所述文本语义分析模块中的语境属性模块包括:
模块32,用于对句子进行分词处理;
模块33,用于分析句子的语义结构;
模块34,用于根据本体定义(14),提取句子中所有的属性特征词;
模块35,用于对每个特征词word,取出它所属的属性SemPropi,该属性的权值为weight(SemPropi)=1;
模块36,用于判断特征词word的词性;如果是动词,则weight(SemPropi)+5;如果是抽象概念,则weight(SemPropi)+2;如果是具体概念,则weight(SemPropi)+1;
模块310,用于判断特征词word在句子语义结构中的位置,如果它是句子的核心,则给属性SemPropi的权值乘以3;如果它是语义块的核心,则给属性SemPropi的权值乘以2;否则给属性SemPropi的权值乘以1;
模块314中,用于对句子中提取的所有的属性SemPropi按权值排序,取出权值最大的一个SemPropMax;
模块315,用于输出SemPropMax为句子的语境属性。
本发明的优点在于,利用语境属性来表示词语所在的语言环境,语境属性综合了词语的出现次数、词语的概念属性和词语在句子中的语义地位,这样在检索时,可以增加语言环境的限定,使得检索结果的相关度更好。本发明特别适合于企业搜索、垂直搜索等与领域相关的搜索引擎系统,也适合于通用搜索引擎对大量“暗网”数据的处理。
附图说明
图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形式表示的映射文件,该映射文件格式如下:
<SemOnto>
<domain> </domain>
<desc> </desc>
<author> </author>
<time> </time>
<SemProp>
<name> </name>
<tag> </tag>
<Character>word1,word2,…,wordn</Character>
</SemProp>
</SemOnto>
所述的映射文件中,以<SemOnto>开始,以</SemOnto>结束。<domain>表示该本体所属的领域或行业,<desc>是对该本体文件的一些描述,<author>是该本体的定义者,<time>是该本体定义的时间。映射文件中可以有多组<SemProp></SemProp>,来定义多组语境属性。每个语境属性<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。
假设一个本体定义如下:
<SemOnto>
<domain>IT</domain>
<desc>IT电子产品说明书的本体定义</desc>
<author>张三</author>
<time>2009-12-3</time>
<SemProp>
<name>构成</name>
<tag>const</tag>
<Character>构成,组成,包括</Character>
</SemProp>
<SemProp>
<name>功能</name>
<tag>func</tag>
<Character>用于,功能</Character>
</SemProp>
<SemProp>
<name>计算机</name>
<tag>category</tag
<Character>显示器,键盘,硬盘,内存</Character>
</SemProp>
</SemOnto>
例子:计算机由显示器、硬盘、内存、CPU等构成。显示器显示内容给用户。硬盘的功能是存储数据。
文本语义分析模块如下:
模块21中,把文本以句号为单位断开,对每个句子进行处理;
模块22中,判断当前句子是否已经到文本末尾;如果是,则转模块29;否则转模块23;
模块23中,调用句子语境属性提取模块(具体流程见“句子语境属性提取操作”),提取句子的语境属性SemPropN;
模块24中,判断当前句子提取的属性SemPropN是否是该文本的第一个属性;如果是,则转模块25;否则转模块26;
模块25中,在文本的起始处设置属性开始标志<SemPropN>;转模块21进行下一句处理;
模块26中,判断当前提取的属性SemPropN和该文本的上一个属性SemPropN-1是否一样;如果是,则转模块21进行下一句处理;否则转模块27;
模块27中,在当前句子之前,设置上一个属性的结束标志</SemPropN-1>;
模块28中,在当前句子之前,设置当前属性的开始标志<SemPropN>;转模块21进行下一句处理;
模块29中,在文本末尾处设置最后一个属性的结束标志</SemPropN>;
模块210中,输出带属性标志的标注文本;
经过上述模块,对文本中的每个句子都做了语境属性的标注,给出了每个句子所表示的语言环境。这样,相当于给文本中的每个词语都赋予了语境属性。
对下面的文本的标注结果如下所示:
<const>计算机由显示器、硬盘、内存、CPU等构成。显示器用于显示内容给用户。</const><func>硬盘的功能是存储数据。</func>
3.句子语境属性提取操作
句子语境属性提取流程图如附图3所示。
句子语境属性提取模块的输入是一个句子31,和本体定义14。
例子:S1计算机由显示器、硬盘、内存、CPU等构成。S2显示器显示内容给用户。S3硬盘的功能是存储数据。
句子语境属性提取模块如下:
模块32中,对句子进行分词处理;
模块33中,调用句类分析方法,分析句子的语义结构;
例子:S1{计算机}:B+{由}+{显示器、硬盘、内存、CPU等}:B+{构成}:E。
S2{显示器}:B+{显示}:E+{内容给用户}:C。
S3{硬盘的功能}:B+{是}:E+{存储数据}:B。
(其中,B表示语义结构中的对象,E是核心动词,C是内容。)
模块34中,根据本体定义14,提取句子中所有的属性特征词;
S1:显示器、硬盘、内存、CPU
构成
S2显示器
S3硬盘
功能
模块35中,对每个特征词word,取出它所属的属性SemPropi,该属性的权值为weight(SemPropi)=1;
例子:S1:显示器、硬盘、内存、CPU weight(category)=4
构成weight(const)=1
S2显示器weight(category)=1
S3硬盘weight(category)=1
功能weight(func)=1
模块36中,判断特征词word的词性;如果是动词,则转模块37;如果是抽象概念,则转模块38;如果是具体概念,则转模块39;
模块37中,特征词word的词性是动词,则weight(SemPropi)+5;
例子:S1:构成weight(const)=1+5=6
模块38中,特征词word的词性是抽象概念(抽象概念的定义是其所指的对象不具有物理属性的概念比如外交、差距等词语都是抽象概念),则weight(SemPropi)+2;
S3功能weight(func)=1+2=3
模块39中,特征词word的词性是具体概念(具体概念的定义是其所指的对象具有物理属性的概念比如手机、自行车等词语都是具体概念),则weight(SemPropi)不变;
例子:S1:显示器、硬盘、内存、CPU weight(category)=4
构成weight(const)=1+5=6
S2显示器weight(category)=1
S3硬盘weight(category)=1
功能weight(func)=1+2=3
模块310中,判断特征词word在句子语义结构(该语义结构是经过模块33得到的)中的位置,如果它是句子的核心,则转模块312;如果它是语义块的核心,则转模块311;否则转313;
模块311中,给属性SemPropi的权值乘以2,weight(SemPropi)=weight(SemPropi)*2;
例子:S1:显示器、硬盘、内存、CPU weight(category)=4*2=8
构成weight(const)=1+5=6
S2显示器weight(category)=1*2=2
S3硬盘weight(category)=1
功能weight(func)=1+2=3*2=6
模块312中,给属性SemPropi的权值乘以3,weight(SemPropi)=weight(SemPropi)*3;
例子:S1:构成weight(const)=1+5=6*3=18
模块313中,给属性SemPropi的权值乘以1,weight(SemPropi)=weight(SemPropi)*1;
S1:显示器、硬盘、内存、CPU weight(category)=4*2=8
构成weight(const)=1+5=6*3=18
S2显示器weight(category)=1*2=2
S3硬盘weight(category)=1
功能weight(func)=1+2=3*2=6
模块314中,对句子中提取的所有的属性SemPropi按权值排序,取出权值最大的一个SemPropMax;
例子:S1:SemPropMax=18
S2:SemPropMax=2
S3:SemPropMax=6
模块315中,输出SemPropMax为句子的语境属性;
例子:S1:const
S2:const
S3:func
句子语境属性提取过程中,综合了三方面的因素:
特征词出现的次数。特征词的每次出现,都会给其权值weight至少加1;
特征词的概念属性。不同的概念属性(动词、抽象概念、具体概念),其权值weight的加权不同;
特征词在句子中的语义地位加权。特征词在句子语义结构中的位置不同,说明它的作用也不同,因此也有不同的加权。
4.索引操作
索引流程图如附图4所示。
索引模块的输入是待索引文本的标注结果15。
索引模块的模块如下:
模块41中,判断是否已到文本末尾;如果是,则结束;否则转模块42;
模块42中,提取下一个属性开始标志<SemPropN>;
模块43中,提取该属性的结束标志</SemPropN>;
模块44中,对开始标志和结束标志之间的内容wordlist,进行分词;
模块45中,判断当前属性SemPropN是否在索引库中已存在;如果是,则转模块47;否则转模块46;
模块46中,在索引库17中增加一个子库,其名为SemPropN;转模块47;
模块47中,把wordlist的分词结果,如果是词,则把词索引加入到索引子库
SemPropN中;如果是字,则把字索引加入到索引子库SemPropN中;
5.检索操作
检索流程图如附图5所示。
检索模块接收用户12的搜索请求。
假设有两个文档Doc1和Doc2,其中都包含“显示器”,其标注结果如下:
Doc1:<const>计算机由显示器、硬盘、内存、CPU等构成。显示器显示内容给用户。</const><func>硬盘的功能是存储数据。</func>
Doc2:<func>该纤维材料可用于制作显示器的防辐射屏保。</func>
例子:检索“显示器,在语境属性“构成const”中,并且包含关键词“功能”
检索模块的如下:
模块51中,对搜索请求串进行解析,在搜索请求串中,语境属性可以有几种表示方式:
可以在请求串中用“语境属性”或者“:语境属性”来表示;
可以在搜索页面上,采用勾选的方式选择(类似于google搜索引擎的高级检索);
请求串解析的结果有两个:
1)每个语境属性的检索串52,可以表示为如下。其中Qi表示解析出的一个子请求串,wordlist表示Qi这个子请求串所包含的检索词,SemPropi表示Qi子请求串所对应的语境属性。如果没有“SemPropN”,则说明不需要匹配语境属性。
Q1:WordListSemProp1
Q2:WordListSemProp2
Qn:WordListSemPropN
例子:Q1:显示器const
Q2:功能
2)子请求串Qi之间的逻辑关系53。其中可以用“()”来表示层次关系。比如:“(Q1&Q2)|Q3”表示Q1子请求串先和Q2子请求串做逻辑与,其结果再和Q3做逻辑或。
例子:Q1&Q2
模块54中,对每个Qi进行检索;
模块55中,选择Qi对应的语境属性SemPropi所在的子索引库SemPropi_index;
例子:Q1选择const子索引
Q2不选择子索引
模块56中,在子索引库SemPropi_index中,对Qi的wordlist中的每个词语word进行检索;
例子:Q1在const中检索“显示器”
Q2在所有子索引中检索“功能”
模块57中,对每个word检索返回的结果,进行word和文档之间的相关度计算,并排序;
模块58中,对wordlist中的所有词语word的检索结果集,进行与操作,形成子请求串Qi的结果集;
例子:resultQ1:{doc1}
ResultQ2:{doc1}
模块59中,利用子请求串Qi之间的逻辑关系53,对所有Qi的结果集进行逻辑运算;
例子:Result={result}&{result2}
模块510中,对结果集进行相关度调整;并输出结果集给用户12。
例子:Result={doc1}
Claims (4)
1.一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于它包括:文本语义分析模块、索引系统模块和检索系统模块,其中,所述文本语义分析模块负责对文本进行分析,提取文本中的语境属性,形成带语境属性的标注文本;所述索引系统模块负责调用文本语义分析模块,并根据分析结果,为待索引文本,在索引库中建立索引;所述检索系统模块负责接收用户的搜索请求,对请求进行解析,从索引库中检索到相应的结果,对结果进行合并和相关度计算,并返回给用户;
所述索引系统模块包括以下模块:
模块41,判断是否已到文本末尾;如果是,则结束;否则转模块42;
模块42,提取下一个属性开始标志<SemPropN>;
模块43,提取该属性的结束标志</SemPropN>;
模块44,对开始标志和结束标志之间的内容wordlist,进行分词;
模块45,判断当前属性SemPropN是否在索引库中已存在;如果是,则转模块47;否则转模块46;模块46,在索引库(17)中增加一个子库,其名为SemPropN;转模块47;
模块47,用于wordlist的分词结果加入到索引库,如果是词,则把词索引加入到索引子库SemPropN中;如果是字,则把字索引加入到索引子库SemPropN中;
所述索引系统模块负责调用文本语义分析模块,并根据分析结果,为待索引文本,在索引库中建立索引;所述检索系统模块包括搜索请求分析模块、对索引库的检索模块,以及检索结果生成模块三个子模块;
搜索请求分析模块解析用户的请求,给出每个语境属性的请求串和语境属性之间的逻辑关系;搜索请求分析模块在搜索请求串中,语境属性有几种表示方式:在请求串中用“语境属性”或者“:语境属性”来表示;在搜索页面上,采用勾选的方式选择;所述的搜索请求分析模块把请求串解析为多个子请求串Qi以及Qi之间的逻辑关系,其中用“()”来表示层次关系;所述子请求串Qi用以下方式表示,其中Qi表示解析出的一个子请求串,wordlist表示Qi这个子请求串所包含的检索词,SemPropi表示Qi子请求串所对应的语境属性,
Q1:wordListSemProp1
Q2:wordListSemProp2
Qn:wordListSemPropN
所述对索引库的检索模块包括:
模块54,对每个Qi进行检索;
模块55,选择Qi对应的语境属性SemPropi所在的子索引库SemPropi_index;
模块56,在子索引库SemPropi_index中,对Qi的wordlist中的每个词语word进行检索;
模块57,对每个word检索返回的结果,进行word和文档之间的相关度计算,并排序;
模块58,对wordlist中的所有词语word的检索结果集,进行与操作,形成子请求串Qi的结果集;
检索结果生成模块包括:
模块59,利用子请求串Qi之间的逻辑关系(53),对所有Qi的结果集进行逻辑运算;
模块510,对结果集进行相关度调整;并输出结果集给用户(12);
文本语义分析模块包含一个本体定义模块、一个语境属性模块,其中,该本体定义模块在管理员配置垂直搜索引擎时,根据所属的行业和领域的特点,所定义文本语境属性的分类标准;该语境属性模块根据本体定义模块,对待索引文档进行分析,提取文档中的每个句子的语境属性,并把语境属性标注到原始文档中,形成带语境属性的标注文本。
2.根据权利要求1所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述的文本语义分析模块,以句子为单位,对文本中的每个句子进行语境属性提取;提取的依据是以xml形式表示,定义了本体所属的领域或行业、描述、定义者和定义时间,同时定义了多组语境属性SemProp;提取过程中,综合了三方面的因素:特征词出现的次数、特征词的概念属性加权,以及特征词在句子中的语义地位加权,其中所述的概念属性指特征词是动词、抽象概念、具体概念;在所述的多组语境属性SemProp中,每个语境属性<SemProp>中有<name>表示属性名称,<tag>表示标注在文本中的标签,还有<Character>表示该属性的特征词,特征词有多个,之间用逗号隔开。
3.根据权利要求2所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述文本语义分析模块包括以下模块:
模块21,用于把文本以句号为单位断开,对每个句子进行处理;
模块22中,用于判断当前句子是否已经到文本末尾;如果是,则转模块29;否则转模块23;
模块23,用于调用句子语境属性提取模块,提取句子的语境属性SemPropN;
模块24,用于判断当前句子提取的属性SemPropN是否是该文本的第一个属性;如果是,则转模块25;否则转模块26;
模块25,用于在文本的起始处设置属性开始标志<SemPropN>;转模块21进行下一句处理;
模块26,用于判断当前提取的属性SemPropN和该文本的上一个属性SemPropN-1是否一样;如果是,则转模块21进行下一句处理;否则转模块27;
模块27,用于在当前句子之前,设置上一个属性的结束标志</SemPropN-1>;
模块28,用于在当前句子之前,设置当前属性的开始标志<SemPropN>;转模块21进行下一句处理;
模块29,用于在文本末尾处设置最后一个属性的结束标志</SemPropN>;
模块210中,用于输出带属性标志的标注文本。
4.根据权利要求2所述的一种利用语义分析技术实现垂直搜索引擎的系统,其特征在于,所述文本语义分析模块中的语境属性模块包括:
模块32,用于对句子进行分词处理;
模块33,用于分析句子的语义结构;
模块34,用于根据本体定义(14),提取句子中所有的属性特征词;
模块35,用于对每个特征词word,取出它所属的属性SemPropi,该属性的权值为weight(SemPropi)=1;
模块36,用于判断特征词word的词性;如果是动词,则weight(SemPropi)+5;如果是抽象概念,则weight(SemPropi)+2;如果是具体概念,则weight(SemPropi)+1;
模块310,用于判断特征词word在句子语义结构中的位置,如果它是句子的核心,则给属性SemPropi的权值乘以3;如果它是语义块的核心,则给属性SemPropi的权值乘以2;否则给属性SemPropi的权值乘以1;
模块314中,用于对句子中提取的所有的属性SemPropi按权值排序,取出权值最大的一个SemPropMax;
模块315,用于输出SemPropMax为句子的语境属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101323488A CN102200975B (zh) | 2010-03-25 | 2010-03-25 | 一种利用语义分析的垂直搜索引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101323488A CN102200975B (zh) | 2010-03-25 | 2010-03-25 | 一种利用语义分析的垂直搜索引擎系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102200975A CN102200975A (zh) | 2011-09-28 |
CN102200975B true CN102200975B (zh) | 2013-12-11 |
Family
ID=44661661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101323488A Expired - Fee Related CN102200975B (zh) | 2010-03-25 | 2010-03-25 | 一种利用语义分析的垂直搜索引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102200975B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799661A (zh) * | 2012-07-09 | 2012-11-28 | 北京中科希望软件股份有限公司 | 一种对电子文件进行语义检索的方法和系统 |
CN103838732A (zh) * | 2012-11-21 | 2014-06-04 | 大连灵动科技发展有限公司 | 一种生活服务领域垂直搜索引擎 |
CN103020295B (zh) * | 2012-12-28 | 2016-01-27 | 新浪网技术(中国)有限公司 | 一种问题标签标注方法及装置 |
US9846604B2 (en) | 2014-11-14 | 2017-12-19 | International Business Machines Corporation | Analyzing data sources for inactive data |
CN105677725A (zh) * | 2015-12-30 | 2016-06-15 | 南京途牛科技有限公司 | 一种用于旅游垂直搜索引擎的前置解析方法 |
CN105677823B (zh) * | 2016-01-04 | 2019-07-23 | 上海精学锐信息科技有限公司 | 一种问答整理的方法及装置 |
US10176232B2 (en) | 2016-03-01 | 2019-01-08 | Microsoft Technology Licensing, Llc | Blending enterprise content and web results |
CN106528872B (zh) * | 2016-12-06 | 2019-09-24 | 北京至上泽思信息技术有限公司 | 一种在大数据环境下的数据搜索方法 |
CN107247609B (zh) * | 2017-06-30 | 2020-07-14 | 江西博瑞彤芸科技有限公司 | 字库维护管理方法 |
CN108763356A (zh) * | 2018-05-16 | 2018-11-06 | 深圳市三宝创新智能有限公司 | 一种基于相似句搜索的智能机器人闲聊系统及方法 |
CN109033478B (zh) * | 2018-09-12 | 2022-08-19 | 重庆工业职业技术学院 | 一种用于搜索引擎的文本信息规律分析方法与系统 |
CN109615006B (zh) * | 2018-12-10 | 2021-08-17 | 北京市商汤科技开发有限公司 | 文字识别方法及装置、电子设备和存储介质 |
CN111161737A (zh) * | 2019-12-23 | 2020-05-15 | 北京欧珀通信有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN112052369A (zh) * | 2020-08-27 | 2020-12-08 | 安徽聚戎科技信息咨询有限公司 | 一种大数据智能检索方法 |
CN113934819B (zh) * | 2021-10-14 | 2024-07-26 | 陈鹏 | 基于context的标签管理方法、装置、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1335574A (zh) * | 2001-09-05 | 2002-02-13 | 罗笑南 | 智能语义搜索方法 |
CN101246492A (zh) * | 2008-02-26 | 2008-08-20 | 华中科技大学 | 基于自然语言的全文检索系统 |
CN101388026A (zh) * | 2008-10-09 | 2009-03-18 | 浙江大学 | 一种基于领域本体的语义索引方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984035B2 (en) * | 2007-12-28 | 2011-07-19 | Microsoft Corporation | Context-based document search |
US20100049761A1 (en) * | 2008-08-21 | 2010-02-25 | Bijal Mehta | Search engine method and system utilizing multiple contexts |
-
2010
- 2010-03-25 CN CN2010101323488A patent/CN102200975B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1335574A (zh) * | 2001-09-05 | 2002-02-13 | 罗笑南 | 智能语义搜索方法 |
CN101246492A (zh) * | 2008-02-26 | 2008-08-20 | 华中科技大学 | 基于自然语言的全文检索系统 |
CN101388026A (zh) * | 2008-10-09 | 2009-03-18 | 浙江大学 | 一种基于领域本体的语义索引方法 |
Non-Patent Citations (4)
Title |
---|
一个基于语境框架的文本特征提取算法;晋耀红等;《计算机研究与发展》;20040430;第41卷(第4期);582-586 * |
基于语境框架的文本相似度计算;晋耀红;《计算机工程与应用》;20041231;36-39 * |
晋耀红.基于语境框架的文本相似度计算.《计算机工程与应用》.2004,36-39. |
晋耀红等.一个基于语境框架的文本特征提取算法.《计算机研究与发展》.2004,第41卷(第4期),582-586. |
Also Published As
Publication number | Publication date |
---|---|
CN102200975A (zh) | 2011-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102200975B (zh) | 一种利用语义分析的垂直搜索引擎系统 | |
Babar et al. | Improving performance of text summarization | |
Hu et al. | Enhancing text clustering by leveraging Wikipedia semantics | |
Hai et al. | Identifying features in opinion mining via intrinsic and extrinsic domain relevance | |
US8108204B2 (en) | Text categorization using external knowledge | |
CN104598607B (zh) | 推荐搜索短语的方法及系统 | |
Lin et al. | Social annotation in query expansion: a machine learning approach | |
Vercoustre et al. | Entity ranking in wikipedia | |
EP2307951A1 (en) | Method and apparatus for relating datasets by using semantic vectors and keyword analyses | |
Rahman et al. | Improvement of query-based text summarization using word sense disambiguation | |
Bagalkotkar et al. | A novel technique for efficient text document summarization as a service | |
CN104765779A (zh) | 一种基于YAGO2s的专利文档查询扩展方法 | |
Bellaachia et al. | Hg-rank: A hypergraph-based keyphrase extraction for short documents in dynamic genre | |
Xu et al. | Improving pseudo-relevance feedback with neural network-based word representations | |
Wang et al. | A semantic query expansion-based patent retrieval approach | |
Abudalfa et al. | Survey on target dependent sentiment analysis of micro-blogs in social media | |
Hu et al. | Embracing information explosion without choking: Clustering and labeling in microblogging | |
Chen et al. | WordNet-powered web services discovery using kernel-based similarity matching mechanism | |
Moumtzidou et al. | Discovery of environmental nodes in the web | |
Guo et al. | Web-based chinese term extraction in the field of study | |
Chahal et al. | An ontology based approach for finding semantic similarity between web documents | |
Ren et al. | Role-explicit query extraction and utilization for quantifying user intents | |
Hajlaoui et al. | Enhancing patent expertise through automatic matching with scientific papers | |
Zhang et al. | Topic level disambiguation for weak queries | |
Zheng et al. | An improved focused crawler based on text keyword extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131211 Termination date: 20210325 |