当前位置: 首页 > 专利查询>蔡堃专利>正文

文本搜索方法和系统技术方案

技术编号:29222892 阅读:12 留言:0更新日期:2021-07-10 01:04
本发明专利技术提供了文本搜索方法和系统,其针对用户输入文本可能造成输入错误的情况,其利用拼音树确定文本的搜索顺序,再对用户输入的文本内容进行排序和压缩得到特征值,然后对从拼音树搜索到的节点集合的每个节点的特征值和用户输入的文本的特征值进行基于二分法判断的文本比对,以及对完全比对成功的内容和不完全比对成功的内容按照不同优先级进行返回,以便于快速地和广泛地搜索出相应的结果,从而能够准确地搜索出输入完全匹配的内容和拼音正确但输入文字不正确的内容,以此提高中文搜索的效率和可靠性。的效率和可靠性。的效率和可靠性。

【技术实现步骤摘要】
文本搜索方法和系统


[0001]本专利技术涉及工业生产仿真设计的
,特别涉及文本搜索方法和系统。

技术介绍

[0002]关键字搜索是指在预定的文本中搜索某个关键字的技术,其广泛应用于互联网和软件开发领域中。目前,通常使用倒排索引的方式来进行关键字搜索,其能够实现将用户搜索的内容先去通过前缀树搜索得到关键字,再通过关键字将对应的关联文档返回回来,从而完成对关键字的搜索。但是,现有技术的关键字搜索方式注重于精准型的搜索模式而非广泛匹配的搜索模式。比如现代拼音输入法在输入拼音的过程中,往往依照用户输入的拼音优先展示用户常用的中文词语,而非真正用户在本次搜索中需要的中文词语,使用户错误输入拼音相同但文字不同的中文,导致无法查询到关键字;又或者因为用户因故意避开敏感词去输入非敏感的中文词语或者拼音,导致无法触发屏蔽检测;即用户会输入错误中文汉字或用拼音代替中文,导致文本搜索的结果可能性和可靠性被降低了。同时,对于小微公司或个人创业者来说,若想要搭建一套简单可用的分布式的搜索或关键字检测系统,在搭建、调试、代码接入和运行维护上都要付出较高的成本和精力。

技术实现思路

[0003]针对现有技术存在的缺陷,本专利技术提供文本搜索方法和系统,其包括构建文本索引库和文本的搜索,构建文本索引库包括:确定需要搜索的文本A1及其对应的搜索结果C1,并生成该文本A1对应的特征值A2;将该文本A1分解得到包含拼音的数组的集合{B1、B2、...、Bn};根据该包含拼音的数组的集合{B1、B2、...、Bn}和该特征值A2,构建形成关于该搜索结果C1的拼音树形式的文本索引库;而文本的搜索包括:将输入的目标文本M1中包含的所有文本转换为拼音文本M2;将输入的该目标文本M1处理得到对应的特征值M3;以拼音文本M2作为搜索依据,对该文本索引库进行搜索,得到符合拼音文本M2的节点集合,再依据所获得的节点集合中每个节点的特征值和该特征值M3进行匹配,反馈得到该文本索引库中的节点内容作为搜索结果;可见,该文本搜索方法和系统是针对用户输入文本可能造成输入错误的情况,其利用拼音树确定文本的搜索顺序,再对用户输入的文本内容进行排序和压缩得到特征值,然后对从拼音树搜索到的节点集合的每个节点的特征值和用户输入的文本的特征值进行基于二分法判断的文本比对,以及对完全比对成功的内容和不完全比对成功的内容按照不同优先级进行返回,以便于快速地和广泛地搜索出相应的结果,从而能够准确地搜索出输入完全匹配的内容和拼音正确但输入文字不正确的内容,以此提高中文搜索的效率和可靠性。
[0004]本专利技术提供文本搜索方法,其特征在于,其包括构建文本索引库的过程和文本的搜索过程,其中:
[0005]所述构建文本索引库的过程包括:
[0006]第一、确定需要搜索的文本A1及其对应的搜索结果C1,并生成所述文本A1对应的
特征值A2;
[0007]第二、将所述文本A1分解得到包含至少1个拼音组的集合{B1、B2、

、Bn};其中,Bi表示第i个拼音组,i=1,2,3

n;n表示所述文本A1分解得到的拼音组的数量;
[0008]第三、根据所述集合{B1、B2、

、Bn}和所述特征值A2,构建关于所述搜索结果C1的拼音树形式的文本索引库;
[0009]所述文本的搜索过程包括:
[0010]第一、将输入的目标文本M1中包含的所有文本转换为对应的拼音文本M2,拼音文本M2是目标文本M1中所有最小单元各自对应的最小元素依序构成的文本,所述最小元素为最小单元对应的字符,所述最小单元包括中文字符、英文单词、字母或符号,所述字符包括字母和/或符号;
[0011]第二、对输入的所述目标文本M1进行处理得到对应的特征值M3;
[0012]第三、根据所述拼音文本M2和所述特征值M3,对所述拼音树形式的文本索引库进行搜索,得到目标文本M1对应的搜索结果;
[0013]进一步,在所述构建文本索引库的过程中,将所述文本A1分解得到包含至少1个拼音组的集合{B1、B2、

、Bn}具体包括:
[0014]以中文字符、英文单词、字母、符号为最小单元,将所述文本A1依序进行切分,并将切分出的中文字符替换为对应的汉语拼音,从而得到所述文本A1对应的一组以汉语拼音、英文单词和符号为最小元素的字符组F1;
[0015]依序取所述字符组F1中的每一个最小元素为字符头、以排列在该字符头后面的所有最小元素为后续字符,将每个字符头和该个字符头对应的后续字符依序排列,组成该个字符头对应的一个拼音组,从而最终生成每个字符头各自对应的拼音组;将第i个字符头对应的拼音组表示为所述Bi,最终构成所述集合{B1、B2、

、Bn};
[0016]进一步,在所述构建文本索引库的过程中,根据所述集合{B1、B2、

、Bn}和所述特征值A2,构建关于所述搜索结果C1的拼音树形式的文本索引库具体包括:
[0017]将拼音组Bi对应拼音树的第i个分支,第i个分支包括依序连接的ni个节点,ni表示拼音组Bi包括的所有最小元素中字符的总数量;所述字符包括字母和/或符号;ni个节点上依序承载拼音组Bi的相应字符;
[0018]所述拼音树的每个分支对应的叶子节点上承载所述特征值A2和所述搜索结果C1,从而形成所述文本索引库;
[0019]进一步,在所述文本的搜索过程中,根据所述拼音文本M2和所述特征值M3,对所述拼音树形式的文本索引库进行搜索,得到目标文本M1对应的搜索结果,其包括:
[0020]在所述拼音树T的每个分支中搜索所述拼音文本M2,
[0021]若确定所述拼音树T的任何一个分支中不包含所述拼音文本M2,则返回空白形式的搜索结果;
[0022]若确定所述拼音树T的至少一个分支中包含所述拼音文本M2,则确定所述目标文本M1对应的特征值M3;
[0023]判断所述至少一个分支中每个分支对应的叶子节点上承载的特征值是否包含所述特征值M3,最后将匹配到的叶子节点反馈作为搜索结果;
[0024]进一步,在所述中文文本的搜索过程中,判断所述至少一个分支中每个分支对应
的叶子节点上承载的特征值是否包含所述特征值M3,最后将匹配到的叶子节点反馈作为搜索结果具体包括:
[0025]对所述至少一个分支中每个分支对应的叶子节点上承载的特征值和特征值M3进行二分法判断;
[0026]若所述至少一个分支中每个分支对应的叶子节点上承载的特征值均不包含所述特征值M3,则返回空白形式的搜索结果;
[0027]若所述至少一个分支中存在至少一个第二目标分支对应的叶子节点上承载的特征值包含所述特征值M3,则根据每个第二目标分支对应的叶子节点上承载的特征值与特征值M3之间的匹配度输出相应的搜索结果;
[0028]进一步,在所述文本的搜索过程中,根据所述拼音文本M2和所述特征值M3,对所述拼音树形式的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.文本搜索方法,其特征在于,其包括构建文本索引库的过程和文本的搜索过程,其中:所述构建文本索引库的过程包括:第一、确定需要搜索的文本A1及其对应的搜索结果C1,并生成所述文本A1对应的特征值A2;第二、将所述文本A1分解得到包含至少1个拼音组的集合{B1、B2、

、Bn};其中,Bi表示第i个拼音组,i=1,2,3

n;n表示所述文本A1分解得到的拼音组的数量;第三、根据所述集合{B1、B2、

、Bn}和所述特征值A2,构建关于所述搜索结果C1的拼音树形式的文本索引库;所述文本的搜索过程包括:第一、将输入的目标文本M1中包含的所有文本转换为对应的拼音文本M2,拼音文本M2是目标文本M1中所有最小单元各自对应的最小元素依序构成的文本,所述最小元素为最小单元对应的字符,所述最小单元包括中文字符、英文单词、字母或符号,所述字符包括字母和/或符号;第二、对输入的所述目标文本M1进行处理得到对应的特征值M3;第三、根据所述拼音文本M2和所述特征值M3,对所述拼音树形式的文本索引库进行搜索,得到目标文本M1对应的搜索结果。2.如权利要求1所述的文本搜索方法,其特征在于:在所述构建文本索引库的过程中,将所述文本A1分解得到包含至少1个拼音组的集合{B1、B2、

、Bn}具体包括:以中文字符、英文单词、字母、符号为最小单元,将所述文本A1依序进行切分,并将切分出的中文字符替换为对应的汉语拼音,从而得到所述文本A1对应的一组以汉语拼音、英文单词、字母和符号为最小元素的字符组F1;依序取所述字符组F1中的每一个最小元素为字符头、以排列在该字符头后面的所有最小元素为后续字符,将每个字符头和该个字符头对应的后续字符依序排列,组成该个字符头对应的一个拼音组,从而最终生成每个字符头各自对应的拼音组;将第i个字符头对应的拼音组表示为所述Bi,最终构成所述集合{B1、B2、

、Bn}。3.如权利要求2所述的文本搜索方法,其特征在于:在所述构建文本索引库的过程中,根据所述集合{B1、B2、

、Bn}和所述特征值A2,构建关于所述搜索结果C1的拼音树形式的文本索引库具体包括:将拼音组Bi对应拼音树的第i个分支,第i个分支包括依序连接的ni个节点,ni表示拼音组Bi包括的所有最小元素中字符的总数量;所述字符包括字母和/或符号;ni个节点上依序承载拼音组Bi的相应字符;所述拼音树的每个分支对应的叶子节点上承载所述特征值A2和所述搜索结果C1,从而形成所述文本索引库。4.如权利要求2所述的文本搜索方法,其特征在于:在所述文本的搜索过程中,根据所述拼音文本M2和所述特征值M3,对所述拼音树形式的文本索引库进行搜索,得到目标文本M1对应的搜索结果,其包括:在所述拼音树T的每个分支中搜索所述拼音文本M2,若确定所述拼音树T的任何一个分支中不包含所述拼音文本M2,则返回空白形式的搜
索结果;若确定所述拼音树T的至少一个分支中包含所述拼音文本M2,则确定所述目标文本M1对应的特征值M3;判断所述至少一个分支中每个分支对应的叶子节点上承载的特征值是否包含所述特征值M3,最后将匹配到的叶子节点反馈作为搜索结果。5.如权利要求4所述的文本搜索方法,其特征在于:在所述中文文本的搜索过程中,判断所述至少一个分支中每个分支对应的叶子节点上承载的特征值是否包含所述特征值M3,最后将匹配到的叶子节点反馈作为搜索结果具体包括:对所述至少一个分支中每个分支对应的叶子节点上承载的特征值和特征值M3进行二分法判断;若所述至少一个分支中每个分支对应的叶子节点上承载的特征值均不包含所述特征值M3,则返回空白形式的搜索结果;若所述至少一个分支中存在至少一个第二目标分支对应的叶子节点上承载的特征值包含所述特征值M3,则根据每个第二目标分支对应的叶子节点上承载的特征值与特征值M3之间的匹配度输出相应的搜索结果。6.如权利要求1所述的文本搜索方法,其特征在于:在所述文本的搜索过程中,根据所述拼音文本M2和所述特征值M3,对所述拼音树形式的文本索引库进行搜索,得到目标文本M1对应的搜索结果,其包括:对于拼音文本M2,依序提取所述拼音文本M2中的最小元素;根据所述拼音文本M2中的最小元素,计算拼音树T中每个分支与所述拼音文本M2之间的匹配率;将匹配率按照从大到小的顺序进行排序;将位于前N位的匹配率对应的分支作为所述拼音文本M2匹配的第一目标分支;N为预设值,为大于或等于1的正整数;对每个第一目标分支对应的叶子节点上承载的特征值与特征值M3进行二分法判断;若每个第一目标分支对应的叶子节点上承载的特征值均不包含所述特征值M3,则返回空白形式的搜索结果、或者将所述第一目标分支对应的叶子节点上承载的搜索结果作为所述特征值M3对应的搜索结果进行反馈;若至少一个第一目标分支对应的叶子节点上承载的特征值包含所述特征值M3,则根据每个第一目标分支对应的叶子节点上承载的特征值与特征值M3之间的匹配度输出相应的搜索结果。7.如权利要求6所述的文本搜索方法,其特征在于:按照如下公式(1)、(2)、(3)计算拼音树T中每个分支与所述拼音文本M2之间的匹配率:按照如下公式(1)、(2)、(3)计算拼音树T中每个分支与所述拼音文本M2之间的匹配率:按照如下公式(1)、(2)、(3)计算拼音树T中每个分支与所述拼音文本M2之间的匹配率:
其中,Y1(M2|d
i
)表示拼音文本M2与拼音树T中第i个分支之间的匹配率;|d
i
|表示拼音树中第i个分支d
i
的长度;|T|表示拼音树T中所有分支的总长度;t
j
表示拼音文本M2中第j个最小元素;tf(t
j
,T)表示拼音文本M2中第j个最小元素在拼音树T中出现的频率;sf(t
j
,d
i
)表示拼音文本M2中第j个最小元素在拼音树T中第i个分支中出现的频率;|d|表示拼音树T中所有分支的长度平均值;P(t
j...

【专利技术属性】
技术研发人员:蔡堃
申请(专利权)人:蔡堃
类型:发明
国别省市:

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

1