一种基于语法格式的分词检索方法及系统与流程

文档序号:12124189阅读:695来源:国知局
一种基于语法格式的分词检索方法及系统与流程

本发明涉及大数据检索领域,具体涉及一种基于语法格式的分词检索方法及系统。



背景技术:

随着互联网行业的飞速发展,互联网上的文本规模越来越大,信息资源也不断增加,冗余信息量也随之增加,导致从海量数据中获取有价值信息的难度增加,用户感兴趣的信息容易淹没在大量的冗余信息中。

为了海量数据中获取有价值的信息,通常需要对自然语言进行处理,进而将与检索词相匹配的的结果按一定的顺序排列,即相关度排列,不同搜索引擎对文本索引方案不相同,导致检索结果也各不相同。

当下比较流行的一些索引方案为:基于词库的分词索引、基于正则表达式的分词索引、基于空格等特殊字符的分词索引以及一些自定义分词索引。其中基于词库的分词索引是目前搜索引擎中应用最为广泛、分词检索效果最好的方案,比如Apache Lucene(Apache旗下的一款开源全文检索项目),Apache Solr(Apache旗下的一款开源全文检索项目),ElasticSearch(一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎)等。

但是基于词库的分词索引在使用前,需要一个强大且充足的词库,否则难以得到较好的分词、检索效果;但是,词库需要实时更新和维护,需要耗费大量的人力,成本较高。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于语法格式的分词检索方法及系统,能够降低更新和维护的频率,进而降低维护成本。

为达到以上目的,本发明采取的技术方案是:

一种基于语法格式的分词检索方法,

根据中文语法大全定义的语法标准,将词和词组进行分类并建立语法分词数据库,所述语法标准包括词组的构词规则和构形规则,所述构词规则根据中文语法中的词性定义中心词和无意义词;所述构形规则定义词组的文序;

从用户的检索词中筛选出含有中心词且符合构词规则的词组,将筛选出的词组中无意义的词去除后索引分词结果。

在上述技术方案的基础上,从用户的检索词中筛选出含有中心词且符合构词规则的词组具体包括以下步骤:判断检索词是否包含中心词,将包含中心词的检索词作为潜在语法文本;

以潜在语法文本中的中心词为中心,按照构形规则将潜在语法文本分隔成词组,将仅包含一个当前构形规则的语法词组作为合法词组,即所对应的检索词符合语法分词数据库。

在上述技术方案的基础上,所述构词规则中的词性将词分为名词、动词、形容词、数词、量词和代词,所述中心词为动词。

在上述技术方案的基础上,将筛选出的词中无意义的词去除后,判断分词后的词组是否超过八个字节,并在超过八个字节时采用语法分词数据库之外的数据库进行分词,再索引分词结果。

在上述技术方案的基础上,所述步骤S1之后还包括以下步骤:将不符合语法分词数据库的检索词采用语法分词数据库之外的数据库进行分词,并得到索引分词结果。

在上述技术方案的基础上,所述语法分词数据库之外的数据库为细粒度标准分词数据库。

一种基于语法格式的分词检索系统,该系统包括数据库建立模块、输入模块、判断分词模块和索引模块;

所述数据库建立模块用于建立语法分词数据库;

所述输入模块用于向检索系统中输入检索词并发送给判断分词模块;

所述判断分词模块用于判断检索词是否符合语法分词数据库,并将符合语法分词数据库的检索词进行分词,生成分词结果,并将分词结果发送给索引模块;

所述索引模块用于根据分词结果进行检索。

在上述技术方案的基础上,所述判断分词模块包括中心词判断模块、分隔模块、构形判断模块、去除模块和字节判断模块;

所述中心词判断模块用于判断检索词中是否包括中心词,并将包括中心词的检索词发送至分隔模块;

所述分隔模块用于以中心词为中心将检索词分隔成语法词组,并将语法词组发送至构形判断模块;

所述构形判断模块用于判断语法词组的排列方式是否仅包含一个与构形规则相匹配的语法词组,并将匹配的语法词组即合法词组发送至去除模块;

所述去除模块用于去除合法词组中无意义的词组,并将去除后的词组发送至字节判断模块;

所述字节判断模块用于判断去除无意义词组后的合法词组是否超过八个字节,并将不超过八个字节的词组发送至索引模块。

与现有技术相比,本发明的优点在于:

(1)本发明的一种基于语法格式的分词检索方法及系统,根据语法规则对检索词进行分词,通过判断检索词中是否存在中心词、词组是否与构形规则相匹配、合法词组是否超过八个字节,进而来判断该检索词是否采用语法分词,判断方法比较简单;且根据语法建立词库的方法比较简单,与现有的数据库相比,语法分词数据库不仅比较强大,而且分词效果较好,得到的结果比较准确;在使用时,由于语法本身的更新较慢,因此,能够降低语法分词数据库更新和维护的频率,进而降低维护成本。

附图说明

图1为本发明实施例中基于语法格式的分词检索方法的流程图;

图2为本发明实施例中基于语法格式的分词检索系统的结构框图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种基于语法格式的分词检索方法,包括以下步骤:

首先根据中文语法大全定义的语法标准,将词和词组进行分类并建立语法分词数据库,语法标准包括词组的构词规则和构形规则,构词规则根据中文语法中的词性定义中心词和无意义词;构词规则中的词性将词分为名词、动词、形容词、数词、量词和代词,定义构词规则中任一一种词作为中心词,本实施例中的中心词为动词,无意义词为拟声词、形容词、数词和量词,构形规则定义词组的文序,如词组的组成为名称+动词+名词;

然后从用户的检索词中筛选出含有中心词且符合构词规则的词组,将筛选出的词组中无意义的词去除后索引分词结果。

参见图1所示,本实施例中,根据上述语法分词数据库进行分词检索的具体步骤为:

S1、输入检索词,转入步骤S2。

S2、判断检索词是否包含中心词,若是,将该中心词作为潜在语法文本,转入步骤S3;否则转入步骤S6,使用语法分词数据库之外的数据库对检索词进行分词。

S3、以潜在语法文本中的中心词为中心,按照构形规则将潜在语法文本分隔成若干词组,转入步骤S4。

S4、判断若干词组的排列方式是否仅包含一个与构形规则相匹配的语法词组,若是,该词组为合法词组,转入步骤S5;否则,使用语法分词数据库之外的数据库进行分词,转入步骤S7。

S5、去除合法词组中无意义的词组,无意义词组包括介词和拟声词,转入步骤S6。

S6、判断将去掉无意义词组后的合法词组是否超过八个字节,若是,转入步骤S7;否则,转入步骤S8。

S7、使用语法分词数据库意外的数据库对检索词进行分词,转入步骤S8。

S8、索引分词结果。

下面,通过三个实施例对本发明进行详细说明。

定义构形规则为名词+动词+名词,中心词为动词如“吃”“喝”,“踢”,“拽”等。

实施例1

以“我踢足球”为检索词,系统先查找改检索词中的动词,并确认包括动词“踢”,判断该检索词为潜在语法文本。

以“踢”为中心,分隔检索词:“我”,“踢”,“足球”,有且只有一个符合构形规则名词+动词+名词,且不包含其他语法格式,为合法语法结构。

将分隔后的检索词作为分割词组,判断得到该词组不超过八个字符,将该词组输入语法分词数据库进行检索,得到索引分词结果。

实施例2

以“我看小明踢足球”为检索词,系统先查找该检索词中的动词,并确认包括动词“踢”,判断该检索词为潜在语法文本。

以“踢”为中心,分隔检索词:“我看小明”,“踢”,“足球”,符合构形规则为名词+动词+名词,但是,“我看小明”本身也符合构形规则为名词+动词+名词,即该词组中存在两个符合构形规则的词组,则该词组不能判定为合法语法结构,需要通过语法分词数据库之外的数据库进行分词再进行索引。

实施例3

以“叶公好龙”为检索词,系统先查找该检索词中的动词,并确认包括动词“好”,判断该检索词为潜在语法文本。

以“好”为中心,分隔检索词:“叶公”,“好”,“龙”,有且只有一个符合构形规则名词+动词+名词,且不包含其他语法格式,为合法语法结构。

将分隔后的检索词作为分割词组,判断得到该词组不超过八个字符,将该词组输入语法分词数据库进行检索,得到索引分词结果。

参见图2所示,本发明实施例提供一种基于语法格式的分词检索系统,包括数据库建立模块、输入模块、判断分词模块和索引模块。

数据库建立模块用于建立语法分词数据库,输入模块用于向检索系统中输入检索词并发送给判断分词模块。

判断分词模块用于判断检索词是否符合语法分词数据库,并将符合符合语法分词数据库的检索词进行分词,发送给索引模块。

索引模块用于根据分词结果进行检索。

本实施例中的判断分词模块包括中心词判断模块、分隔模块、构形判断模块、去除模块和字节判断模块。

中心词判断模块用于判断检索词中是否包括中心词,并将包括中心词的检索词发送至分隔模块。

分隔模块用于以中心词为中心将检索词分隔成语法词组,并将语法词组发送至构形判断模块。

所述构形判断模块用于判断语法词组的排列方式是否仅包含一个与构形规则相匹配的语法词组,并将匹配的语法词组即合法词组发送至去除模块。

去除模块用于去除合法词组中无意义的词组,并将去除后的词组发送至字节判断模块。

字节判断模块用于判断去除无意义词组后的合法词组是否超过八个字节,并将不超过八个字节的词组发送至索引模块。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1