CN106021397A - 一种关键词查找的树结构及实现方法 - Google Patents
一种关键词查找的树结构及实现方法 Download PDFInfo
- Publication number
- CN106021397A CN106021397A CN201610315781.2A CN201610315781A CN106021397A CN 106021397 A CN106021397 A CN 106021397A CN 201610315781 A CN201610315781 A CN 201610315781A CN 106021397 A CN106021397 A CN 106021397A
- Authority
- CN
- China
- Prior art keywords
- word
- current
- child node
- node
- article
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种关键词查找的树结构及实现方法,涉及互联网网络领域,包括建立过程,将所有关键词建成所述树结构;查找过程,获取文章的第一个字作为当前字,判断根节点的下一级,是否有包含当前字的子节点,若否,结束;若是,将当前字加入已存在关键词后面;在所述子节点没有结束标识的情况下,去掉文章的当前字,剩余的文章为子文章,子文章的第一个字作为新的当前字,判断所述子节点的下一级,是否有包含新的当前字的子节点,若否,结束;若是,将新的当前字继续加入到已存在关键词后面,再次同理判断,直至找到子节点的结束标识,返回已存在关键词;并将文章所有的字查找完毕。本发明节约关键词的查找时间,提高关键词查找效率。
Description
技术领域
本发明涉及互联网领域,具体来讲涉及一种关键词查找的树结构及实现方法。
背景技术
在互联网网络领域中,需要经常对用户发布的内容(以下简称文章)进行审核。审核的方式通常为:将通常需要审核的关键性词汇生成一个关键词列表,借助关键词列表,每次选取关键词列表中的一个关键词,然后查找该关键词是否在文章中出现,直至整个关键词列表中的每个关键词否在文章中查找完毕。
但是现有技术中,通常一个关键词列表中含有大量的关键词,而一篇文章中,并不可能包含关键词列表中所有的关键词。如果将关键词列表中的每个关键词都在文章中查找一遍,那么有多少个关键词,就要查找多少遍文章,关键词查找浪费的时间较长,导致关键词查找的效率低。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种关键词查找的树结构及实现方法,节约关键词的查找时间,提高关键词查找效率。
为达到以上目的,本发明采取一种关键词查找的树结构,包括一个根节点和多级子节点,每级子节点有多个,每个子节点都为关键词中的一个字,且每个关键词中,后一个字位于前一个字的下一级子节点,每个关键词的最后一个字所在的子节点,具有一个表示结束的结束标识。
本发明还提供一种关键词查找实现方法,包括:建立过程,根据关键词列表,将所有关键词建成所述树结构;查找过程,初始化一个空字符串作为已存在关键词,获取文章的第一个字作为当前字,根据所述树结构,判断根节点的下一级,是否有包含当前字的子节点,若否,结束;若是,将当前字加入已存在关键词后面;在所述子节点没有结束标识的情况下,去掉文章的当前字,剩余的文章为子文章,子文章的第一个字作为新的当前字,判断所述子节点的下一级,是否有包含新的当前字的子节点,若否,结束;若是,将新的当前字继续加入到已存在关键词后面,再次同理判断,直至找到子节点的结束标识,返回已存在关键词;并将文章所有的字查找完毕。
在上述技术方案的基础上,所有关键词建成的树结构称为全局树,关键词中的每一个字都是其根节点的一个子节点,且第一个字是根节点的下一级子节点。
在上述技术方案的基础上,建立过程中,在关键词列表中含有关键词的时候,取出一个关键词作为当前关键词,并将当前关键词从关键词列表中删除。
在上述技术方案的基础上,建立过程中,取出当前关键词的第一个字作为当前字,判断根节点的下一级,是否有包含当前字的子节点,若否,将当前字作为一个子节点插入根节点,若是,将去除第一个字的关键词作为新的当前关键词,取第一个字作为新的当前字,将所述子节点和下级节点作为新的树,同理循环处理。
在上述技术方案的基础上,当去除当前字后,关键词为空时,则给当前字所在的子节点设置一个结束标识。
在上述技术方案的基础上,初始化一个空字符串作为已存在关键词之后,判断当前文章是否为空,若是,结束;若否,将建成的树结构作为当前树,进行当前文章中第一个字的判断。
在上述技术方案的基础上,将当前字加入已存在关键词后面之后,进一步判断当前子节点是否设置有结束标识,若是,查找成功,结束;若否,将当前子节点和下级节点作为当前子树,将去掉第一字的剩余文章为当前子文章,进行内部查找。
在上述技术方案的基础上,进行内部查找时,将当前子文章的第一个字作为新的当前字,进行下一级子节点的判断,若下一级子节点含有新的当前字,则继续添加到已存在关键词后面,并且将下一级子节点再次当成新的子节点,将新的子节点和下级子节点作为新的当前子树,进一步循环。
在上述技术方案的基础上,内部查找中,当查找到的子节点设置有结束标识,视为查找成功,返回已存在关键词,结束。
本发明的有益效果在于:对于文章中的每个字,依次在树结构中进行查找,当树结构中第一级子节点中的字,与文章中的字不符合,则表示所有关键词中都没有这个字,查找文章中的下一个字;当第一级子节点含有该字,再去查找下文章中一个字是存在于下一级子节点中,直至找到的子节点含有结束标识,表明一个关键词查找完毕。本方法可以高效的查找出文章中是否含有关键词,节约关键词的查找时间,提高关键词查找效率。
附图说明
图1为本发明实施例树结构的示意图;
图2为本发明树结构的建立过程流程图;
图3为本发明查找过程的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明关键词查找的树结构,包括一个根节点和多级子节点,每级子节点有多个。每个子节点都为关键词中的一个字,且每个关键词中,第一个字是根节点的下一级子节点,后一个字位于前一个字的下一级子节点;每个关键词的最后一个字所在的子节点,都具有一个结束标识,用来表示这个关键词的结束。
如图1所示,为树结构的一个实施例。假定关键词列表中包括专利、互联网、互联网系统、关键词、非关键词和无关紧要这些关键词。根节点下面的包括多级子节点,第一级子节点中的字分别为每个关键词的第一个字,如:专、互、关、非和无。然后每个第一级子节点的下一级子节点中,分别是关键词中的第二个字,如:利、联、键、关和关。又由于关键词“专利”只有两个字,因此“利”字所在的子节点,带有一个结束标识,即“完”。然后其余关键词中的第三个字再设置于第三级子节点,以此类推,直至所有关键词中的字都设置在一个子节点中。
如图2所示,本发明树结构的建立过程,树结构是根据关键词列表中所有关键词建立的,还称为全局树,具体包括如下步骤:
A101.判断关键词列表是否为空,若是,结束;若否,进入A102。
A102.从关键词列表中取出一个关键词作为当前关键词,并将此当前关键词从关键词列表中删除。
A103.将全局树作为当前树。
A104.从当前关键词取出第一个字,作为当前字。
A105.判断根节点的下一级节点中,是否有包含当前字的子节点,若是,进入A106;若否,进入A107。
A106.将当前字作为一个子节点,插入到当前树的根节点。
A107.去除当前关键词的第一个字,判断去除第一个字后的当前关键词是否为空,若是,进入A108;若否,进入A109。
A108.给当前子节点(即A105、A106中的子节点)设置一个结束标记。
A109.将去除第一个字的当前关键词,作为新的当前关键词,将所述子节点和下级节点作为新的树,跳转到A104。
如图3所示,本发明基于上述树结构的关键词查找方法,具体查找过程包括如下步骤:
B101.获取待查找文章作为当前文章,初始化一个空字符串作为已存在关键词。
B102.判断当前文章是否为空,若是,进入B117;若否,进入B103。
B103.将全局树和作为当前树。
B104.获取当前文章的第一个字作为当前字。
B105.根据当前树,判断根节点的下一级子节点中,是否有包含当前字的子节点,若是,进入B106;若否,进入B116。
B106.将当前字追加到已存在关键词后面。
B107.判断当前的子节点是否有结束标记,若是,进入B115;若否,进入B108。
B108.将当前子节点和下级节点作为当前子树,将文章去掉第一个字,将去掉第一字的剩余文章为当前子文章,进入B109。
B109.判断当前子文章是否为空,若是,进入B117;若否,进入B110。
B110.获取当前字文章的第一个字作为新的当前字。
B111.判断当前子树的下一级子节点中,是否有包含新的当前字的子节点,若否,进入B117;若是,进入B112。
B112.将新的当前字继续追加到已存在关键词的后面。
B113.判断包含新当前字的子节点中,是否有结束标识,若是,进入B115;若否,进入B114。
B114.将包含新当前字的子节点作为当前子节点,以及下级子节点作为当前子树,当前子文章去掉第一个字作为新的当前子文章,转入B109。
B115.查找成功,返回已存在关键词,结束。
B116.将当前文章去除第一个字,作为新的当前文章,转到B102。
B117.查找失败,结束。
上述查找过程中,涉及到两个查找的过程,一个是基于全局树查找的过程,一个是在此基础上,在内部循环进行查找的内部查找过程,内部查找包括B109至B114;是在各级子节点中进行的查找。
下面以图1中的树结构为例,以“这是一篇专利的草稿文章”作为待查询文章,进一步说明查找过程。
首先获取“这是一篇专利的草稿文章”,作为当前文章,初始化一个空字符串作为已存在关键词。
由于当前文章不为空,将全局树作为当前树,获取当前文章的第一个字“这”。
根节点下一级子节点不包含“这”字,去掉“这”字,将“是一篇专利的草稿文章”作为新的当前文章,重新进行查找。
同理,依次去掉“是”、“一”、“篇”这几个字,直至剩下“专利的草稿文章”。此时,根节点下一级子节点包含“专”字,将“专”字加入已存在关键词后面。
然后判断“专”字所在子节点不包含结束标识,将该子节点及下级子节点(含有“利”字的子节点)作为当前子树,以“利的草稿文章”作为当前子文章进一步查找。
获取第一个字“利”,当前子树的子节点包含“利”字,将“利”继续追加到已存在关键词后面(即,继续加在“专”的后面),已存在关键词后面增加两个字“专利”。并且,含有“利”字的子节点设置有结束标识,返回最原始的已存在关键词(也就是空字符串),结束。
最后,按照上述内容,依次查找后面剩余的字,直至文章结束。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种关键词查找的树结构,其特征在于:包括一个根节点和多级子节点,每级子节点有多个,每个子节点都为关键词中的一个字,且每个关键词中,后一个字位于前一个字的下一级子节点,每个关键词的最后一个字所在的子节点,具有一个表示结束的结束标识。
2.一种基于权利要求1所述树结构的关键词查找实现方法,其特征在于,包括:
建立过程,根据关键词列表,将所有关键词建成所述树结构;
查找过程,初始化一个空字符串作为已存在关键词,获取文章的第一个字作为当前字,根据所述树结构,判断根节点的下一级,是否有包含当前字的子节点,若否,结束;若是,将当前字加入已存在关键词后面;在所述子节点没有结束标识的情况下,去掉文章的当前字,剩余的文章为子文章,子文章的第一个字作为新的当前字,判断所述子节点的下一级,是否有包含新的当前字的子节点,若否,结束;若是,将新的当前字继续加入到已存在关键词后面,再次同理判断,直至找到子节点的结束标识,返回已存在关键词;并将文章所有的字查找完毕。
3.如权利要求2所述的关键词查找的实现方法,其特征在于:所有关键词建成的树结构称为全局树,关键词中的每一个字都是其根节点的一个子节点,且第一个字是根节点的下一级子节点。
4.如权利要求2所述的关键词查找的实现方法,其特征在于:建立过程中,在关键词列表中含有关键词的时候,取出一个关键词作为当前关键词,并将当前关键词从关键词列表中删除。
5.如权利要求4所述的关键词查找的实现方法,其特征在于:建立过程中,取出当前关键词的第一个字作为当前字,判断根节点的下一级,是否有包含当前字的子节点,若否,将当前字作为一个子节点插入根节点,若是,将去除第一个字的关键词作为新的当前关键词,取第一个字作为新的当前字,将所述子节点和下级节点作为新的树,同理循环处理。
6.如权利要求5所述的关键词查找的实现方法,其特征在于:当去除当前字后,关键词为空时,则给当前字所在的子节点设置一个结束标识。
7.如权利要求2所述的关键词查找的实现方法,其特征在于:初始化一个空字符串作为已存在关键词之后,判断当前文章是否为空,若是,结束;若否,将建成的树结构作为当前树,进行当前文章中第一个字的判断。
8.如权利要求7所述的关键词查找的实现方法,其特征在于:将当前字加入已存在关键词后面之后,进一步判断当前子节点是否设置有结束标识,若是,查找成功,结束;若否,将当前子节点和下级节点作为当前子树,将去掉第一字的剩余文章为当前子文章,进行内部查找。
9.如权利要求8所述的关键词查找的实现方法,其特征在于:进行内部查找时,将当前子文章的第一个字作为新的当前字,进行下一级子节点的判断,若下一级子节点含有新的当前字,则继续添加到已存在关键词后面,并且将下一级子节点再次当成新的子节点,将新的子节点和下级子节点作为新的当前子树,进一步循环。
10.如权利要求9所述的关键词查找的实现方法,其特征在于:内部查找中,当查找到的子节点设置有结束标识,视为查找成功,返回已存在关键词,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610315781.2A CN106021397A (zh) | 2016-05-12 | 2016-05-12 | 一种关键词查找的树结构及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610315781.2A CN106021397A (zh) | 2016-05-12 | 2016-05-12 | 一种关键词查找的树结构及实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106021397A true CN106021397A (zh) | 2016-10-12 |
Family
ID=57100707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610315781.2A Pending CN106021397A (zh) | 2016-05-12 | 2016-05-12 | 一种关键词查找的树结构及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106021397A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682102A (zh) * | 2016-12-02 | 2017-05-17 | 中国通信建设集团设计院有限公司 | 一种基于关键字集合的信息匹配方法 |
CN107622045A (zh) * | 2017-08-09 | 2018-01-23 | 联动优势科技有限公司 | 一种信息处理方法及设备 |
CN108694186A (zh) * | 2017-04-07 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 数据发送方法及服务器应用、计算设备及计算机可读介质 |
CN117272938A (zh) * | 2023-11-22 | 2023-12-22 | 神思电子技术股份有限公司 | 一种用于文本生成的动态限定域解码方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727499A (zh) * | 2010-01-07 | 2010-06-09 | 广东国笔科技股份有限公司 | 一种存储单词库、及搜索单词的方法及系统 |
CN102682017A (zh) * | 2011-03-15 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种信息检索方法和系统 |
CN103514287A (zh) * | 2013-09-29 | 2014-01-15 | 深圳市龙视传媒有限公司 | 一种构建索引树的方法、汉语词汇搜索的方法及相关装置 |
CN105183788A (zh) * | 2015-08-20 | 2015-12-23 | 及时标讯网络信息技术(北京)有限公司 | 一种基于关键词字典树检索的中文ac自动机工作方法 |
CN105260354A (zh) * | 2015-08-20 | 2016-01-20 | 及时标讯网络信息技术(北京)有限公司 | 一种基于关键词字典树构造的中文ac自动机工作方法 |
-
2016
- 2016-05-12 CN CN201610315781.2A patent/CN106021397A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727499A (zh) * | 2010-01-07 | 2010-06-09 | 广东国笔科技股份有限公司 | 一种存储单词库、及搜索单词的方法及系统 |
CN102682017A (zh) * | 2011-03-15 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种信息检索方法和系统 |
CN103514287A (zh) * | 2013-09-29 | 2014-01-15 | 深圳市龙视传媒有限公司 | 一种构建索引树的方法、汉语词汇搜索的方法及相关装置 |
CN105183788A (zh) * | 2015-08-20 | 2015-12-23 | 及时标讯网络信息技术(北京)有限公司 | 一种基于关键词字典树检索的中文ac自动机工作方法 |
CN105260354A (zh) * | 2015-08-20 | 2016-01-20 | 及时标讯网络信息技术(北京)有限公司 | 一种基于关键词字典树构造的中文ac自动机工作方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682102A (zh) * | 2016-12-02 | 2017-05-17 | 中国通信建设集团设计院有限公司 | 一种基于关键字集合的信息匹配方法 |
CN106682102B (zh) * | 2016-12-02 | 2019-07-19 | 中国通信建设集团设计院有限公司 | 一种基于关键字集合的信息匹配方法 |
CN108694186A (zh) * | 2017-04-07 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 数据发送方法及服务器应用、计算设备及计算机可读介质 |
CN107622045A (zh) * | 2017-08-09 | 2018-01-23 | 联动优势科技有限公司 | 一种信息处理方法及设备 |
CN107622045B (zh) * | 2017-08-09 | 2021-02-23 | 联动优势科技有限公司 | 一种信息处理方法及设备 |
CN117272938A (zh) * | 2023-11-22 | 2023-12-22 | 神思电子技术股份有限公司 | 一种用于文本生成的动态限定域解码方法、设备及介质 |
CN117272938B (zh) * | 2023-11-22 | 2024-02-20 | 神思电子技术股份有限公司 | 一种用于文本生成的动态限定域解码方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021397A (zh) | 一种关键词查找的树结构及实现方法 | |
US10069931B2 (en) | Method and system for pushing recommended friend to user of social network | |
CN104156352A (zh) | 一种中文事件的处理方法及系统 | |
CN101727464B (zh) | 获取别称匹配对的方法及装置 | |
CN102722558B (zh) | 一种为用户推荐提问的方法和装置 | |
CN102968431B (zh) | 一种基于依存树的中文实体关系挖掘的控制装置 | |
CN104320312B (zh) | 网络应用安全测试工具及模糊测试用例生成方法和系统 | |
CN106682012A (zh) | 商品对象信息搜索方法及装置 | |
CN104408067B (zh) | 一种多树结构的数据库设计方法及装置 | |
CN104239321B (zh) | 一种面向搜索引擎的数据处理方法及装置 | |
CN103218375A (zh) | 一种poi信息补充方法及装置 | |
CN106021556A (zh) | 地址信息处理方法及装置 | |
CN106485211B (zh) | 一种基于二叉树的文本行精确定位方法 | |
CN105893626A (zh) | 一种用于核电工程的索引库创建方法及其采用其方法的索引系统 | |
CN101446978A (zh) | 基于频繁项集挖掘的核心节点发现方法 | |
CN109951393A (zh) | 网段查找方法及装置 | |
CN103853770B (zh) | 一种抽取论坛网页中帖子内容的方法及系统 | |
CN102325161B (zh) | 一种基于查询工作量估算的xml分片方法 | |
CN103400050B (zh) | 一种多人协同的核反应堆风险确定方法及系统 | |
CN114168591A (zh) | 寻找树形结构数据路径节点的方法 | |
CN106547877B (zh) | 基于6w业务逻辑模型的数据元智能标识解析方法 | |
CN103294791A (zh) | 一种可扩展标记语言模式匹配方法 | |
CN107222334A (zh) | 适用于社交网络的基于核心三角的局部社团发现方法 | |
CN106815315A (zh) | 一种基于突发事件情景链的情景推理方法及系统 | |
CN102012897A (zh) | 一种实现高命中率的逐词比对方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |
|
RJ01 | Rejection of invention patent application after publication |