一种关键词查找的树结构及实现方法

文档序号:10655238阅读:204来源:国知局
一种关键词查找的树结构及实现方法
【专利摘要】一种关键词查找的树结构及实现方法,涉及互联网网络领域,包括建立过程,将所有关键词建成所述树结构;查找过程,获取文章的第一个字作为当前字,判断根节点的下一级,是否有包含当前字的子节点,若否,结束;若是,将当前字加入已存在关键词后面;在所述子节点没有结束标识的情况下,去掉文章的当前字,剩余的文章为子文章,子文章的第一个字作为新的当前字,判断所述子节点的下一级,是否有包含新的当前字的子节点,若否,结束;若是,将新的当前字继续加入到已存在关键词后面,再次同理判断,直至找到子节点的结束标识,返回已存在关键词;并将文章所有的字查找完毕。本发明节约关键词的查找时间,提高关键词查找效率。
【专利说明】
一种关键词查找的树结构及实现方法
技术领域
[0001]本发明涉及互联网领域,具体来讲涉及一种关键词查找的树结构及实现方法。【背景技术】
[0002]在互联网网络领域中,需要经常对用户发布的内容(以下简称文章)进行审核。审核的方式通常为:将通常需要审核的关键性词汇生成一个关键词列表,借助关键词列表,每次选取关键词列表中的一个关键词,然后查找该关键词是否在文章中出现,直至整个关键词列表中的每个关键词否在文章中查找完毕。
[0003]但是现有技术中,通常一个关键词列表中含有大量的关键词,而一篇文章中,并不可能包含关键词列表中所有的关键词。如果将关键词列表中的每个关键词都在文章中查找一遍,那么有多少个关键词,就要查找多少遍文章,关键词查找浪费的时间较长,导致关键词查找的效率低。
【发明内容】

[0004]针对现有技术中存在的缺陷,本发明的目的在于提供一种关键词查找的树结构及实现方法,节约关键词的查找时间,提高关键词查找效率。
[0005]为达到以上目的,本发明采取一种关键词查找的树结构,包括一个根节点和多级子节点,每级子节点有多个,每个子节点都为关键词中的一个字,且每个关键词中,后一个字位于前一个字的下一级子节点,每个关键词的最后一个字所在的子节点,具有一个表示结束的结束标识。
[0006]本发明还提供一种关键词查找实现方法,包括:建立过程,根据关键词列表,将所有关键词建成所述树结构;查找过程,初始化一个空字符串作为已存在关键词,获取文章的第一个字作为当前字,根据所述树结构,判断根节点的下一级,是否有包含当前字的子节点,若否,结束;若是,将当前字加入已存在关键词后面;在所述子节点没有结束标识的情况下,去掉文章的当前字,剩余的文章为子文章,子文章的第一个字作为新的当前字,判断所述子节点的下一级,是否有包含新的当前字的子节点,若否,结束;若是,将新的当前字继续加入到已存在关键词后面,再次同理判断,直至找到子节点的结束标识,返回已存在关键词;并将文章所有的字查找完毕。
[0007]在上述技术方案的基础上,所有关键词建成的树结构称为全局树,关键词中的每一个字都是其根节点的一个子节点,且第一个字是根节点的下一级子节点。
[0008]在上述技术方案的基础上,建立过程中,在关键词列表中含有关键词的时候,取出一个关键词作为当前关键词,并将当前关键词从关键词列表中删除。[〇〇〇9]在上述技术方案的基础上,建立过程中,取出当前关键词的第一个字作为当前字, 判断根节点的下一级,是否有包含当前字的子节点,若否,将当前字作为一个子节点插入根节点,若是,将去除第一个字的关键词作为新的当前关键词,取第一个字作为新的当前字, 将所述子节点和下级节点作为新的树,同理循环处理。
[0010]在上述技术方案的基础上,当去除当前字后,关键词为空时,则给当前字所在的子节点设置一个结束标识。[〇〇11]在上述技术方案的基础上,初始化一个空字符串作为已存在关键词之后,判断当前文章是否为空,若是,结束;若否,将建成的树结构作为当前树,进行当前文章中第一个字的判断。
[0012]在上述技术方案的基础上,将当前字加入已存在关键词后面之后,进一步判断当前子节点是否设置有结束标识,若是,查找成功,结束;若否,将当前子节点和下级节点作为当前子树,将去掉第一字的剩余文章为当前子文章,进行内部查找。
[0013]在上述技术方案的基础上,进行内部查找时,将当前子文章的第一个字作为新的当前字,进行下一级子节点的判断,若下一级子节点含有新的当前字,则继续添加到已存在关键词后面,并且将下一级子节点再次当成新的子节点,将新的子节点和下级子节点作为新的当前子树,进一步循环。
[0014]在上述技术方案的基础上,内部查找中,当查找到的子节点设置有结束标识,视为查找成功,返回已存在关键词,结束。
[0015]本发明的有益效果在于:对于文章中的每个字,依次在树结构中进行查找,当树结构中第一级子节点中的字,与文章中的字不符合,则表示所有关键词中都没有这个字,查找文章中的下一个字;当第一级子节点含有该字,再去查找下文章中一个字是存在于下一级子节点中,直至找到的子节点含有结束标识,表明一个关键词查找完毕。本方法可以高效的查找出文章中是否含有关键词,节约关键词的查找时间,提高关键词查找效率。【附图说明】
[0016]图1为本发明实施例树结构的示意图;
[0017]图2为本发明树结构的建立过程流程图;
[0018]图3为本发明查找过程的流程图。【具体实施方式】
[0019]以下结合附图及实施例对本发明作进一步详细说明。
[0020]本发明关键词查找的树结构,包括一个根节点和多级子节点,每级子节点有多个。 每个子节点都为关键词中的一个字,且每个关键词中,第一个字是根节点的下一级子节点, 后一个字位于前一个字的下一级子节点;每个关键词的最后一个字所在的子节点,都具有一个结束标识,用来表示这个关键词的结束。
[0021]如图1所示,为树结构的一个实施例。假定关键词列表中包括专利、互联网、互联网系统、关键词、非关键词和无关紧要这些关键词。根节点下面的包括多级子节点,第一级子节点中的字分别为每个关键词的第一个字,如:专、互、关、非和无。然后每个第一级子节点的下一级子节点中,分别是关键词中的第二个字,如:利、联、键、关和关。又由于关键词“专利”只有两个字,因此“利”字所在的子节点,带有一个结束标识,即“完”。然后其余关键词中的第三个字再设置于第三级子节点,以此类推,直至所有关键词中的字都设置在一个子节点中。
[0022]如图2所示,本发明树结构的建立过程,树结构是根据关键词列表中所有关键词建立的,还称为全局树,具体包括如下步骤:
[0023]A101.判断关键词列表是否为空,若是,结束;若否,进入A102。
[0024]A102.从关键词列表中取出一个关键词作为当前关键词,并将此当前关键词从关键词列表中删除。[〇〇25]A103 ?将全局树作为当前树。
[0026]A104.从当前关键词取出第一个字,作为当前字。
[0027]A105.判断根节点的下一级节点中,是否有包含当前字的子节点,若是,进入A106; 若否,进入A107。[〇〇28]A106.将当前字作为一个子节点,插入到当前树的根节点。
[0029]A107.去除当前关键词的第一个字,判断去除第一个字后的当前关键词是否为空, 若是,进入A108;若否,进入A109。
[0030]A108.给当前子节点(S卩A105、A106中的子节点)设置一个结束标记。[〇〇31]A109.将去除第一个字的当前关键词,作为新的当前关键词,将所述子节点和下级节点作为新的树,跳转到A104。
[0032]如图3所示,本发明基于上述树结构的关键词查找方法,具体查找过程包括如下步骤:[〇〇33]B101.获取待查找文章作为当前文章,初始化一个空字符串作为已存在关键词。[〇〇34]B102.判断当前文章是否为空,若是,进入B117;若否,进入B103。[〇〇35]B103.将全局树和作为当前树。
[0036]B104.获取当前文章的第一个字作为当前字。
[0037]B105.根据当前树,判断根节点的下一级子节点中,是否有包含当前字的子节点, 若是,进入B106;若否,进入B116。[〇〇38]B106.将当前字追加到已存在关键词后面。[〇〇39]B107.判断当前的子节点是否有结束标记,若是,进入B115;若否,进入B108。[〇〇4〇] B108.将当前子节点和下级节点作为当前子树,将文章去掉第一个字,将去掉第一字的剩余文章为当前子文章,进入B109。[〇〇411B109.判断当前子文章是否为空,若是,进入B117;若否,进入B110。
[0042]B110.获取当前字文章的第一个字作为新的当前字。
[0043]Bill.判断当前子树的下一级子节点中,是否有包含新的当前字的子节点,若否, 进入B117;若是,进入B112。
[0044]B112.将新的当前字继续追加到已存在关键词的后面。
[0045]B113.判断包含新当前字的子节点中,是否有结束标识,若是,进入B115;若否,进入B114〇
[0046]B114.将包含新当前字的子节点作为当前子节点,以及下级子节点作为当前子树, 当前子文章去掉第一个字作为新的当前子文章,转入B109。[〇〇47] B115.查找成功,返回已存在关键词,结束。[〇〇48] B116.将当前文章去除第一个字,作为新的当前文章,转到B102。
[0049]B117.查找失败,结束。
[0050] 上述查找过程中,涉及到两个查找的过程,一个是基于全局树查找的过程,一个是在此基础上,在内部循环进行查找的内部查找过程,内部查找包括B109至B114;是在各级子节点中进行的查找。[0051 ]下面以图1中的树结构为例,以“这是一篇专利的草稿文章”作为待查询文章,进一步说明查找过程。[〇〇52]首先获取“这是一篇专利的草稿文章”,作为当前文章,初始化一个空字符串作为已存在关键词。[〇〇53]由于当前文章不为空,将全局树作为当前树,获取当前文章的第一个字“这”。[〇〇54]根节点下一级子节点不包含“这”字,去掉“这”字,将“是一篇专利的草稿文章”作为新的当前文章,重新进行查找。
[0055]同理,依次去掉“是”、“一”、“篇”这几个字,直至剩下“专利的草稿文章”。此时,根节点下一级子节点包含“专”字,将“专”字加入已存在关键词后面。
[0056]然后判断“专”字所在子节点不包含结束标识,将该子节点及下级子节点(含有 “利”字的子节点)作为当前子树,以“利的草稿文章”作为当前子文章进一步查找。[〇〇57]获取第一个字“利”,当前子树的子节点包含“利”字,将“利”继续追加到已存在关键词后面(即,继续加在“专”的后面),已存在关键词后面增加两个字“专利”。并且,含有 “利”字的子节点设置有结束标识,返回最原始的已存在关键词(也就是空字符串),结束。
[0058]最后,按照上述内容,依次查找后面剩余的字,直至文章结束。
[0059]本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【主权项】
1.一种关键词查找的树结构,其特征在于:包括一个根节点和多级子节点,每级子节点 有多个,每个子节点都为关键词中的一个字,且每个关键词中,后一个字位于前一个字的下 一级子节点,每个关键词的最后一个字所在的子节点,具有一个表示结束的结束标识。2.—种基于权利要求1所述树结构的关键词查找实现方法,其特征在于,包括:建立过程,根据关键词列表,将所有关键词建成所述树结构;查找过程,初始化一个空字符串作为已存在关键词,获取文章的第一个字作为当前字, 根据所述树结构,判断根节点的下一级,是否有包含当前字的子节点,若否,结束;若是,将 当前字加入已存在关键词后面;在所述子节点没有结束标识的情况下,去掉文章的当前字, 剩余的文章为子文章,子文章的第一个字作为新的当前字,判断所述子节点的下一级,是否 有包含新的当前字的子节点,若否,结束;若是,将新的当前字继续加入到已存在关键词后 面,再次同理判断,直至找到子节点的结束标识,返回已存在关键词;并将文章所有的字查 找完毕。3.如权利要求2所述的关键词查找的实现方法,其特征在于:所有关键词建成的树结构 称为全局树,关键词中的每一个字都是其根节点的一个子节点,且第一个字是根节点的下 一级子节点。4.如权利要求2所述的关键词查找的实现方法,其特征在于:建立过程中,在关键词列 表中含有关键词的时候,取出一个关键词作为当前关键词,并将当前关键词从关键词列表 中删除。5.如权利要求4所述的关键词查找的实现方法,其特征在于:建立过程中,取出当前关 键词的第一个字作为当前字,判断根节点的下一级,是否有包含当前字的子节点,若否,将 当前字作为一个子节点插入根节点,若是,将去除第一个字的关键词作为新的当前关键词, 取第一个字作为新的当前字,将所述子节点和下级节点作为新的树,同理循环处理。6.如权利要求5所述的关键词查找的实现方法,其特征在于:当去除当前字后,关键词 为空时,则给当前字所在的子节点设置一个结束标识。7.如权利要求2所述的关键词查找的实现方法,其特征在于:初始化一个空字符串作为 已存在关键词之后,判断当前文章是否为空,若是,结束;若否,将建成的树结构作为当前 树,进行当前文章中第一个字的判断。8.如权利要求7所述的关键词查找的实现方法,其特征在于:将当前字加入已存在关键 词后面之后,进一步判断当前子节点是否设置有结束标识,若是,查找成功,结束;若否,将 当前子节点和下级节点作为当前子树,将去掉第一字的剩余文章为当前子文章,进行内部 查找。9.如权利要求8所述的关键词查找的实现方法,其特征在于:进行内部查找时,将当前 子文章的第一个字作为新的当前字,进行下一级子节点的判断,若下一级子节点含有新的 当前字,则继续添加到已存在关键词后面,并且将下一级子节点再次当成新的子节点,将新 的子节点和下级子节点作为新的当前子树,进一步循环。10.如权利要求9所述的关键词查找的实现方法,其特征在于:内部查找中,当查找到的 子节点设置有结束标识,视为查找成功,返回已存在关键词,结束。
【文档编号】G06F17/30GK106021397SQ201610315781
【公开日】2016年10月12日
【申请日】2016年5月12日
【发明人】张利平
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1