一种基于分词的模糊语句搜索方法技术

技术编号:16175740 阅读:43 留言:0更新日期:2017-09-09 02:58
本发明专利技术公开了一种基于分词的模糊语句搜索方法,该方法通过对原文进行分词,记录分词起始位置;对重复出现的词语合并,记录重复出现的词语起始位置;对关键字进行分词,关键字分词的个数记为i,原文中至少出现一次的关键字分词的个数记为w;计算出现率p,出现率p大于预设值,用关键字的分词结果进行搜索,得到关键字分词在原文中位置,出现率p小于预设值,退出搜索;计算关键字分词在原文中位置之间的距离d,比较距离d与相应关键词自身长度之间的差值k是否在容许的数值范围内,差值k在容许的数值范围内,匹配到模糊搜索的结果。本发明专利技术可以实现对做过混淆、词语顺序跟换过的语句进行检索,检索结果更加准确,提高了检索效率。

【技术实现步骤摘要】
一种基于分词的模糊语句搜索方法
本专利技术涉及一种基于分词的模糊语句搜索方法,属于信息安全

技术介绍
在网络日益发达的今天,有益信息与造成不稳定因素的信息也随之日益泛滥,为了网民的思想健康,也为了社会的和谐,在许多对外公共场合下,有些内容是要经过审查才能显示的。在网络审查初期,都是通过人工审核,这种审核方式虽然准确且智能,但是与网络文字产生的速度相比,其效率就显的微不足道了!现阶段虽然通过关键词自动过滤,但是准确性非常低,容易过滤到本身不是不良内容的信息,同时也无法保证将相关的不良内容全部过滤掉。现阶段,常见的词语搜索算法有两种,一种是基于分词的词语搜索,另一种是基于多模匹配的词语搜索。基于的分词的搜索,即先对原文进行分词,然后对要搜索的关键字进行匹配,但是这种算法只能对词语进行搜索,对语句无法匹配;基于多模匹配的搜索,即使用ACBM、Wu-Manber等算法进行匹配,既可以搜索词语也可以搜索语句,但是无法分析语义。这两种算法有一种情况均无法匹配,如,以关键字“某地出租车停业”为例,但是原文中内容为“停业某地出租车”或者“某地的出租车停业”,这样子就无法搜索到该关键字,虽然可以通过缩小或更换关键词的方式进行搜索,但是搜索结果的混乱性很大,情况太多,缩小或更换的关键字可能不完整,而且会大大降低搜索的速率。可见基于分词的词语搜索、基于多模匹配的词语搜索两种搜索算法存在不足,不能对做过混淆、词语顺序跟换过的语句进行搜索。
技术实现思路
本专利技术的目的在于提供一种基于分词的模糊语句搜索方法,用以解决现有方法不能对做过混淆、词语顺序跟换过的语句进行搜索的问题。本专利技术解决上述技术问题的技术方案如下:一种基于分词的模糊语句搜索方法,所述的搜索方法包括如下步骤:步骤一:对待检索范围内的原文进行分词,记录每个分词在原文中的起始位置;步骤二:原文进行分词后,对重复出现的词语进行合并,并记录每个重复出现的词语在原文中的起始位置;步骤三:对需要检索的关键字进行分词,关键字分词的个数记为i,待检索范围内的原文中至少出现一次的关键字分词的个数记为w;步骤四:计算关键字分词在检索范围内的原文的出现率p,p=w/i,出现率p大于预设定的数值,对原文的分词结果使用关键字的分词结果进行搜索,得到每个关键字分词在原文中出现的位置,出现率p小于预设定的数值,退出搜索;步骤五:计算不同关键字分词在原文中出现的位置之间的距离d,比较距离d与相应关键词自身长度之间的差值k是否在容许的数值范围内,差值k在容许的数值范围内,匹配到模糊搜索的结果。需要说明的是分词可以采用现有的分词算法如基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法,分词方法属于现有技术。基于分词的模糊语句搜索方法中,所述的起始位置指分词结果第一个文字的初始字符位置,待检索范围内的原文字符编号自0开始。以“停业某地出租车”为例,分词为“停业”“某地”“出租车”三个结果,分词“停业”的位置为0。基于分词的模糊语句搜索方法中,所述的待检索范围内的原文、需要检索的关键字采用UTF-8编码格式。UTF-8编码格式是一种针对Unicode的可变长度字符编码,又称万国码,UTF-8编码格式下,根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。UTF-8编码可以通过屏蔽位和移位操作快速读写。字符串比较时strcmp()和wcscmp()的返回结果相同,因此使排序变得更加容易。基于分词的模糊语句搜索方法中,所述的步骤三中关键字分词在原文中至少出现一次记为1,关键字分词在原文中没有出现记为0,w为至少出现一次的关键字分词个数。需要进一步说明的是w并非关键字分词在原文中出现的次数,而是在原文中有出现情况的关键字分词个数,以“停业某地出租车”为例,分词为“停业”“某地”“出租车”三个结果,在待检索的原文范围内如果“停业”一次没有出现,而“某地”“出租车”两个词均有出现,不管“某地”“出租车”在待检索的原文范围内出现几次,此时的w则为2。基于分词的模糊语句搜索方法中,所述的步骤四中出现率p大于等于0小于等于1,出现率指的是关键字分词在待检索范围内的原文出现过的个数占关键字分词个数的比例,关键字分词在原文中出现多次表示该关键字分词在原文中出现,关键字分词在待检索范围内的原文出现过的个数记录增加1个;所述的预设定的数值为大于等于0小于等于1的值,预设定的数值越接近于1表示关键字分词在原文中的出现率越大,p大于预设定的数值存在对原文的分词结果使用关键字的分词结果进行搜索的必要性。以“停业某地出租车”为例,分词为“停业”“某地”“出租车”三个结果,在待检索的原文范围内如果“停业”一次没有出现,而“某地”“出租车”两个词均有出现,此时的w则为2,关键字“停业某地出租车”分词个数为3,此时,出现率p则为2/3,由于w的值不可能超过分词个数3,因此出现率p大于等于0小于等于1,设预设定的数值为3/4,出现率p为2/3大于3/4,因此存在对原文的分词结果使用关键字的分词结果进行搜索的必要性。在待检索的原文范围内如果“停业”“某地”一次没有出现,而只有“出租车”一个词有出现,此时出现率p则为1/3,出现率p为1/3小于预设定的数值3/4,因此没必要对原文的分词结果使用关键字的分词结果进行搜索。可见预设定的数值根据检索的准确性确定,预设定的数值越大检索的准确性越高。基于分词的模糊语句搜索方法中,所述的步骤五中距离d与相应关键词自身长度之间的差值k超出容许的数值范围,退出该检索结果的显示;所述的容许的数值范围根据差值k与相应关键词自身长度确定,差值k与相应关键词自身长度相等说明原文中不存在混淆、词语顺序现象,差值k与相应关键词自身长度存在数值差表示关键词在原文中存在混淆、词语顺序现象,差值k与相应关键词自身长度存在数值差越大表示原文中存在混淆、词语顺序现象可能性越小。距离d与相应关键词自身长度之间的差值k超出容许的数值范围,表明待检索范围内的原文内容不存在与检索关键字相同或类似的内容,也就不存在检索结果的展示,距离d与相应关键词自身长度之间的差值k在容许的数值范围内,表明待检索范围内的原文内容存在与检索关键字相同或类似的内容,将检索结果及做过混淆、词语顺序跟换过的结果也一一检索出来,更详细的说明将在下文具体实施方式中做进一步交代。基于分词的模糊语句搜索方法中,所述的步骤五中不同关键字分词指的是对关键字进行分词后的不同分词结果,不同分词结果在原文中出现的位置之间的距离d。以“停业某地出租车”为例,分词为“停业”“某地”“出租车”三个结果,在待检索的原文中可能做过混淆、词语顺序跟换,因此需要计算“停业”“某地”“出租车”三者之中两两之间的在原文中出现的位置之间的距离d。基于分词的模糊语句搜索方法中,所述的分词是指对语句的拆分,将语句拆分为字、词组。对关键字的拆分并不限于词组,可以是单个文字或多个文字。本专利技术方法具有如下优点:通过对待检索范围内的原文进行分词,记录每个分词在原文中的起始位置;原文进行分词后,对重复出现的词语进行合并,并记录每个重复出现的词语在原文中的起始位置;对需要检索的关键字进行分词,关键字分词的个数记为i本文档来自技高网...
一种基于分词的模糊语句搜索方法

【技术保护点】
一种基于分词的模糊语句搜索方法,其特征在于:所述的搜索方法包括如下步骤:步骤一:对待检索范围内的原文进行分词,记录每个分词在原文中的起始位置;步骤二:原文进行分词后,对重复出现的词语进行合并,并记录每个重复出现的词语在原文中的起始位置;步骤三:对需要检索的关键字进行分词,关键字分词的个数记为i,待检索范围内的原文中至少出现一次的关键字分词的个数记为w;步骤四:计算关键字分词在检索范围内的原文的出现率p,p=w/i,出现率p大于预设定的数值,对原文的分词结果使用关键字的分词结果进行搜索,得到每个关键字分词在原文中出现的位置,出现率p小于预设定的数值,退出搜索;步骤五:计算不同关键字分词在原文中出现的位置之间的距离d,比较距离d与相应关键词自身长度之间的差值k是否在容许的数值范围内,差值k在容许的数值范围内,匹配到模糊搜索的结果。

【技术特征摘要】
1.一种基于分词的模糊语句搜索方法,其特征在于:所述的搜索方法包括如下步骤:步骤一:对待检索范围内的原文进行分词,记录每个分词在原文中的起始位置;步骤二:原文进行分词后,对重复出现的词语进行合并,并记录每个重复出现的词语在原文中的起始位置;步骤三:对需要检索的关键字进行分词,关键字分词的个数记为i,待检索范围内的原文中至少出现一次的关键字分词的个数记为w;步骤四:计算关键字分词在检索范围内的原文的出现率p,p=w/i,出现率p大于预设定的数值,对原文的分词结果使用关键字的分词结果进行搜索,得到每个关键字分词在原文中出现的位置,出现率p小于预设定的数值,退出搜索;步骤五:计算不同关键字分词在原文中出现的位置之间的距离d,比较距离d与相应关键词自身长度之间的差值k是否在容许的数值范围内,差值k在容许的数值范围内,匹配到模糊搜索的结果。2.根据权利要求1所述的一种基于分词的模糊语句搜索方法,其特征在于:所述的起始位置指分词结果第一个文字的初始字符位置,待检索范围内的原文字符编号自0开始。3.根据权利要求1所述的一种基于分词的模糊语句搜索方法,其特征在于:所述的待检索范围内的原文、需要检索的关键字采用UTF-8编码格式。4.根据权利要求1所述的一种基于分词的模糊语句搜索方法,其特征在于:所述的步骤三中关键字分词在原文中至少出现一次记为1,关键字分词在原文中没有出现记为0,w为至少出现一次的关键字分词个数。5....

【专利技术属性】
技术研发人员:常帅邓皓钟
申请(专利权)人:北京安数云信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1