CN111737986A - 一种基于多叉树的搜索词推荐方法及系统 - Google Patents
一种基于多叉树的搜索词推荐方法及系统 Download PDFInfo
- Publication number
- CN111737986A CN111737986A CN202010415190.9A CN202010415190A CN111737986A CN 111737986 A CN111737986 A CN 111737986A CN 202010415190 A CN202010415190 A CN 202010415190A CN 111737986 A CN111737986 A CN 111737986A
- Authority
- CN
- China
- Prior art keywords
- word
- hot
- characters
- node
- chain
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004891 communication Methods 0.000 claims description 12
- 230000004927 fusion Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于多叉树的搜索词推荐方法及系统。该方法包括:A、多叉树词链数据生成过程:将每个热词拆分为多个单独文字,按照文字在热词中从前到后的排序生成一个词链,每个文字为词链中的一个节点,将不同词链中相同文字对应的节点作为公用节点,生成多叉树词链数据;B、搜索词推荐过程:根据当前已输入文字查找多叉树词链数据,将与已输入文字匹配的词链作为推荐词。本发明通过多叉树算法搭建方式,将现有技术中的耗时1000ms优化到1ms以下的方式,并降低机器成本,由昂贵的高性能服务器和昂贵数据库软件投入转变为普通机器横向扩展投入,并且投入按照数据使用量可选。
Description
技术领域
本发明涉及搜索引擎搜索词推荐领域,更具体地说,涉及一种基于多叉树的搜索词推荐方法及系统。
背景技术
人们在使用搜索引擎时会输入待搜索词,搜索引擎会根据用户输入的文字显示多个推荐词,用户可进行选择,以减少用户文字输入量。现有技术使用右模糊匹配算法提供推荐词,用户在搜索引擎输入文字后,使用这些输入文字扫描磁盘,并返回推荐热词,例如排名前十的推荐热词。但这种右模糊匹配算法存在以下缺陷:右模糊匹配有严格的数量限制,如超过100W行数据的情况下,大量使用右模糊匹配会带来计算机磁盘读取瓶颈,占满服务器IO 存储。即时升级SSD固态硬盘,也无法解决根源问题,昂贵的SSD固态升级也只能提升不到20%的响应速度,访问量大时仍然会占满磁盘读写IO。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于多叉树的搜索词推荐方法及系统。
本发明解决其技术问题所采用的技术方案是:构造一种基于多叉树的搜索词推荐方法,包括:
A、多叉树词链数据生成过程:将每个热词拆分为多个单独文字,按照文字在热词中从前到后的排序生成一个词链,每个文字为所述词链中的一个节点,将不同词链中相同文字对应的节点作为公用节点,生成所述多叉树词链数据;
B、搜索词推荐过程:根据当前已输入文字查找所述多叉树词链数据,将与所述已输入文字匹配的词链作为推荐词。
进一步,在本发明所述的基于多叉树的搜索词推荐方法中,所述根据当前已输入文字查找所述多叉树词链数据包括:
b1、提取所述已输入文字的首个文字,查找所述多叉树词链数据中与所述首个文字匹配的节点;
b2、所述已输入文字的剩余文字依序逐一匹配所述首个文字匹配节点的分支节点;
b3、所述已输入文字全部匹配完成后,继续读取所述已输入文字对应的所有节点所在词链的剩余节点。
进一步,在本发明所述的基于多叉树的搜索词推荐方法中,所述继续读取所述已输入文字对应的所有节点所在词链的剩余节点包括:
继续读取所述已输入文字对应的所有节点所在词链的剩余节点直至遇到结束节点,所述结束节点为所述多叉树词链数据生成过程每个热词的结束文字对应的节点。
进一步,在本发明所述的基于多叉树的搜索词推荐方法中,所述将与所述已输入文字匹配的词链作为推荐词包括:
将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词。
进一步,在本发明所述的基于多叉树的搜索词推荐方法中,所述将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词包括:
将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链中所有节点对应的文字按照从前到后的匹配顺序组合为推荐词。
进一步,在本发明所述的基于多叉树的搜索词推荐方法中,在多叉树词链数据生成过程中:根据所述热词的属性信息将所述多叉树词链数据分为多个多叉树词链子数据;
所述根据当前已输入文字查找所述多叉树词链数据包括:根据所述已输入文字的首个文字的属性信息选择对应的多叉树词链子数据,根据当前已输入文字查找选定的所述多叉树词链子数据。
进一步,本发明所述的基于多叉树的搜索词推荐方法还包括:
C、多叉树词链数据更新过程:将每个更新热词拆分为多个单独文字,按照文字在所述更新热词中从前到后的排序生成一个更新词链,每个文字为所述更新词链中的一个节点,将所述更新词链中每个节点与现有多叉树词链数据进行相同节点融合,更新所述多叉树词链数据。
进一步,在本发明所述的基于多叉树的搜索词推荐方法中,在多叉树词链数据更新过程:
若所述热词节点模块包括多个热词节点子模块,则根据所述更新热词的属性信息将对应的更新词链更新至对应属性的多叉树词链子数据中。
进一步,在本发明所述的基于多叉树的搜索词推荐方法中,所述文字为汉字,所述属性信息为文字对应的汉语拼音的首字母的排序。
进一步,在本发明所述的基于多叉树的搜索词推荐方法中,所述文字为汉字、外语单词、阿拉伯数字中的一种或几种。
另外本发明还提供一种基于多叉树的搜索词推荐系统,包括搜索引擎热词推荐模块、热词查询服务器、热词加载服务器和多个热词数据源,所述搜索引擎热词推荐模块安装在用户终端的搜索引擎上,所述热词查询服务器包括用户网关代理服务模块和热词节点模块;
所述搜索引擎热词推荐模块通信连接所述用户网关代理服务模块,所述用户网关代理服务模块通信连接所述热词节点模块,所述热词节点模块通信连接所述热词加载服务器;所述热词加载服务器通信连接每个所述热词数据源;
所述热词加载服务器接收所有所述热词数据源发送的热词,并发送至所述热词节点模块存储,所述热词节点模块将每个热词拆分为多个单独文字,按照文字在热词中从前到后的排序生成一个词链,每个文字为所述词链中的一个节点,将不同词链中相同文字对应的节点作为公用节点,生成多叉树词链数据;
所述搜索引擎热词推荐模块用于接收用户输入的文字,将已输入文字发送至所述用户网关代理服务模块,所述用户网关代理服务模块将所述已输入文字传输至所述热词节点模块,所述热词节点模块根据所述已输入文字查找所述多叉树词链数据,将与所述已输入文字匹配的词链作为推荐词;
所述热词节点模块将查询得到的所述推荐词发送至所述用户终端的搜索引擎显示。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,所述热词节点模块根据所述已输入文字查找所述多叉树词链数据包括:
提取所述已输入文字的首个文字,查找所述多叉树词链数据中与所述首个文字匹配的节点;所述已输入文字的剩余文字依序逐一匹配所述首个文字匹配节点的分支节点;所述已输入文字全部匹配完成后,继续读取所述已输入文字对应的所有节点所在词链的剩余节点。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,所述热词节点模块中所述继续读取所述已输入文字对应的所有节点所在词链的剩余节点包括:
继续读取所述已输入文字对应的所有节点所在词链的剩余节点直至遇到结束节点,所述结束节点为所述多叉树词链数据生成过程每个热词的结束文字对应的节点。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,所述热词节点模块中所述将与所述已输入文字匹配的词链作为推荐词包括:
将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,所述热词节点模块中所述将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词包括:
将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链中所有节点对应的文字按照从前到后的匹配顺序组合为推荐词。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,所述热词节点模块包括多个热词节点子模块,所述热词加载服务器根据所述热词的属性信息将所述多叉树词链数据分为多个多叉树词链子数据,每个所述热词节点子模块对应一个所述多叉树词链子数据;
所述用户网关代理服务模块根据所述已输入文字的首个文字的属性信息选择对应的热词节点子模块,所述热词节点子模块根据当前已输入文字查找选定的所述多叉树词链子数据。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,所述热词加载服务器接收多个所述热词数据源发送的更新热词,将每个更新热词拆分为多个单独文字,按照文字在更新热词中从前到后的排序生成一个更新词链,每个文字为所述更新词链中的一个节点,将所述更新词链中每个节点与现有多叉树词链数据进行相同节点融合,更新所述多叉树词链数据。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,若所述热词节点模块包括多个热词节点子模块,则根据所述更新热词的属性信息将对应的更新词链更新至对应属性的多叉树词链子数据中。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,所述文字为汉字,所述属性信息为文字对应的汉语拼音的首字母的排序。
进一步,在本发明所述的基于多叉树的搜索词推荐系统中,所述文字为汉字、外语单词、阿拉伯数字中的一种或几种。
实施本发明的一种基于多叉树的搜索词推荐方法及系统,具有以下有益效果:本发明通过多叉树算法搭建方式,将现有技术中的耗时1000ms优化到 1ms以下的方式,并降低机器成本,由昂贵的高性能服务器和昂贵数据库软件投入转变为普通机器横向扩展投入,并且投入按照数据使用量可选。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是实施例1提供的一种基于多叉树的搜索词推荐系统的结构示意图;
图2是实施例1提供的一种基于多叉树的搜索词推荐系统的结构示意图;
图3是实施例1和实施例2提供的多叉树词链数据的结构示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
实施例1
参考图1、图2和图3,本实施例的基于多叉树的搜索词推荐系统中文字包括但不限于汉字、外语单词、阿拉伯数字等,其中外语单词可为英语单词、法语单词、德语单词、西班牙语单词等,所有语言的文字都可使用本实施例的基于多叉树的搜索词推荐系统。
本实施例的基于多叉树的搜索词推荐系统包括搜索引擎热词推荐模块、热词查询服务器、热词加载服务器和多个热词数据源,搜索引擎热词推荐模块安装在用户终端的搜索引擎上,热词查询服务器包括用户网关代理服务模块和热词节点模块。搜索引擎热词推荐模块通信连接用户网关代理服务模块,用户网关代理服务模块通信连接热词节点模块,热词节点模块通信连接热词加载服务器;热词加载服务器通信连接每个热词数据源。
热词加载服务器接收所有热词数据源发送的热词,并发送至热词节点模块存储,热词节点模块将每个热词拆分为多个单独文字,按照文字在热词中从前到后的排序生成一个词链,每个文字为词链中的一个节点,将不同词链中相同文字对应的节点作为公用节点,生成多叉树词链数据。例如,图3中多叉树词链数据包括:“中华人民”、“中华民族”、“人山人海”、“国泰民安”,其中,
热词“中华人民”对应的词链包含中华人民“中”、“华”、“人”、“民”4 个节点,且“民”字对应节点为该词链的结束节点;
热词“中华民族”对应的词链包含“中”、“华”、“民”、“族”4个节点,且“族”字对应节点为该词链的结束节点;
热词“人山人海”对应的词链包含“人”、“山”、“人”、“海”4个节点,且“海”字对应节点为该词链的结束节点;
热词“国泰民安”对应的词链包含“国”、“泰”、“民”、“安”4个节点,且“安”字对应节点为该词链的结束节点,结束节点在多叉树词链数据中需进行标记。
另外,节点“华”和节点“人”是公用节点,公用节点在多叉树词链数据中需进行标记。
搜索引擎热词推荐模块用于接收用户输入的文字,将已输入文字发送至用户网关代理服务模块,用户网关代理服务模块将已输入文字传输至热词节点模块,热词节点模块根据已输入文字查找多叉树词链数据,将与已输入文字匹配的词链作为推荐词。热词节点模块将查询得到的推荐词发送至用户终端的搜索引擎显示。例如,用户输入“中华”两个文字后,遍历上述实施例的多叉树词链数据可得到与“中华”匹配的词链有“中华民族”和“中华人民”。
进一步,本实施例的基于多叉树的搜索词推荐系统中热词节点模块根据已输入文字查找多叉树词链数据包括:提取已输入文字的首个文字,查找多叉树词链数据中与首个文字匹配的节点;已输入文字的剩余文字依序逐一匹配首个文字匹配节点的分支节点;已输入文字全部匹配完成后,继续读取已输入文字对应的所有节点所在词链的剩余节点。例如,用户输入“中华”两个文字后,首先提取首个文字“中”,在上述实施例的多叉树词链数据中查找到“中”字对应的节点;然后“华”字去匹配“中”字节点对应的分支,通过匹配得到“华”字对应的节点。确定“中”“华”两个节点后,继续读取已输入文字对应的所有节点所在词链的剩余节点,即确定“中”“华”两个节点所处的词链,本实施例中“中”“华”两个节点所处的词链包括两个“中华民族”和“中华人民”。
进一步,本实施例的基于多叉树的搜索词推荐系统中热词节点模块中继续读取已输入文字对应的所有节点所在词链的剩余节点包括:继续读取已输入文字对应的所有节点所在词链的剩余节点直至遇到结束节点,结束节点为多叉树词链数据生成过程每个热词的结束文字对应的节点。本实施例中两个词链中词链“中华民族”的结束节点为“族”字对应的节点,词链“中华人民”对应的结束节点为“民”字对应的节点。
本实施例的基于多叉树的搜索词推荐系统中热词节点模块中将与已输入文字匹配的词链作为推荐词包括:将已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词。例如词链“中”“华”“民”“族”对应的推荐词为“中华民族”;词链“国”、“泰”、“民”、“安”对应的推荐词为“国泰民安”。
进一步,本实施例的基于多叉树的搜索词推荐系统中热词节点模块中将已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词包括:将已输入文字对应的所有节点所在所有词链中节点数量最少的词链中所有节点对应的文字按照从前到后的匹配顺序组合为推荐词。例如本实施例中“中”“华”两个节点所处的词链包括两个“中华民族”和“中华人民”,其中“中华民族”和“中华人民”为节点数量最少的词链,则将“中华民族”和“中华人民”作为推荐词。
参考图2,本实施例的基于多叉树的搜索词推荐系统中热词节点模块包括多个热词节点子模块,热词加载服务器根据热词的属性信息将多叉树词链数据分为多个多叉树词链子数据,每个热词节点子模块对应一个多叉树词链子数据。用户网关代理服务模块根据已输入文字的首个文字的属性信息选择对应的热词节点子模块,热词节点子模块根据当前已输入文字查找选定的多叉树词链子数据。热词节点子模块的数量可根据需要设置,通过扩充热词节点子模块的数量实现搜索词库的热词数量增加。本实施例中热词加载服务器和用户网关代理服务模块使用相同的属性信息,即热词加载服务器和用户网关代理服务模块使用相同的文字分发算法。
作为选择,本实施例的基于多叉树的搜索词推荐系统中热词加载服务器接收多个热词数据源发送的更新热词,将每个更新热词拆分为多个单独文字,按照文字在更新热词中从前到后的排序生成一个更新词链,每个文字为更新词链中的一个节点,将更新词链中每个节点与现有多叉树词链数据进行相同节点融合,更新多叉树词链数据。
本实施例的基于多叉树的搜索词推荐系统中若热词节点模块包括多个热词节点子模块,则根据更新热词的属性信息将对应的更新词链更新至对应属性的多叉树词链子数据中。作为选择,在本实施例的基于多叉树的搜索词推荐系统中文字为汉字,属性信息为文字对应的汉语拼音的首字母的排序。可以理解,不同语言中文字的规律不同,可根据每种语言中文字的排序规律确定文字的属性信息,以及更新热词的属性信息。
本实施例通过多叉树算法搭建方式,将现有技术中的耗时1000ms优化到 1ms以下的方式,并降低机器成本,由昂贵的高性能服务器和昂贵数据库软件投入转变为普通机器横向扩展投入,并且投入按照数据使用量可选。
实施例2
本实施例的基于多叉树的搜索词推荐方法中文字包括但不限于汉字、外语单词、阿拉伯数字等,其中外语单词可为英语单词、法语单词、德语单词、西班牙语单词等,所有语言的文字都可使用本实施例的基于多叉树的搜索词推荐方法。具体的,本实施例的基于多叉树的搜索词推荐方法包括下述步骤:
A、多叉树词链数据生成过程:将每个热词拆分为多个单独文字,按照文字在热词中从前到后的排序生成一个词链,每个文字为词链中的一个节点,将不同词链中相同文字对应的节点作为公用节点,生成多叉树词链数据。例如,图3中多叉树词链数据包括:“中华人民”、“中华民族”、“人山人海”、“国泰民安”,其中,
热词“中华人民”对应的词链包含中华人民“中”、“华”、“人”、“民”4 个节点,且“民”字对应节点为该词链的结束节点;
热词“中华民族”对应的词链包含“中”、“华”、“民”、“族”4个节点,且“族”字对应节点为该词链的结束节点;
热词“人山人海”对应的词链包含“人”、“山”、“人”、“海”4个节点,且“海”字对应节点为该词链的结束节点;
热词“国泰民安”对应的词链包含“国”、“泰”、“民”、“安”4个节点,且“安”字对应节点为该词链的结束节点,结束节点在多叉树词链数据中需进行标记。
另外,节点“华”和节点“人”和是公用节点,公用节点在多叉树词链数据中需进行标记。
B、搜索词推荐过程:根据当前已输入文字查找多叉树词链数据,将与已输入文字匹配的词链作为推荐词。
本实施例的基于多叉树的搜索词推荐方法中根据当前已输入文字查找多叉树词链数据包括:
b1、提取已输入文字的首个文字,查找多叉树词链数据中与首个文字匹配的节点;
b2、已输入文字的剩余文字依序逐一匹配首个文字匹配节点的分支节点;
b3、已输入文字全部匹配完成后,继续读取已输入文字对应的所有节点所在词链的剩余节点。
进一步,本实施例的基于多叉树的搜索词推荐方法中继续读取已输入文字对应的所有节点所在词链的剩余节点包括:继续读取已输入文字对应的所有节点所在词链的剩余节点直至遇到结束节点,结束节点为多叉树词链数据生成过程每个热词的结束文字对应的节点。
进一步,本实施例的基于多叉树的搜索词推荐方法中将与已输入文字匹配的词链作为推荐词包括:将已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词。
进一步,本实施例的基于多叉树的搜索词推荐方法中将已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词包括:将已输入文字对应的所有节点所在所有词链中节点数量最少的词链中所有节点对应的文字按照从前到后的匹配顺序组合为推荐词。
作为选择,本实施例的基于多叉树的搜索词推荐方法中在多叉树词链数据生成过程中:根据热词的属性信息将多叉树词链数据分为多个多叉树词链子数据。则根据当前已输入文字查找多叉树词链数据包括:根据已输入文字的首个文字的属性信息选择对应的多叉树词链子数据,根据当前已输入文字查找选定的多叉树词链子数据。
作为选择,本实施例的基于多叉树的搜索词推荐方法还包括:
C、多叉树词链数据更新过程:将每个更新热词拆分为多个单独文字,按照文字在更新热词中从前到后的排序生成一个更新词链,每个文字为更新词链中的一个节点,将更新词链中每个节点与现有多叉树词链数据进行相同节点融合,更新多叉树词链数据。
本实施例的基于多叉树的搜索词推荐方法中在多叉树词链数据更新过程:若热词节点模块包括多个热词节点子模块,则根据更新热词的属性信息将对应的更新词链更新至对应属性的多叉树词链子数据中。作为选择,在本实施例的基于多叉树的搜索词推荐方法中,文字为汉字,属性信息为文字对应的汉语拼音的首字母的排序。
本实施例通过多叉树算法搭建方式,将现有技术中的耗时1000ms优化到 1ms以下的方式,并降低机器成本,由昂贵的高性能服务器和昂贵数据库软件投入转变为普通机器横向扩展投入,并且投入按照数据使用量可选。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据此实施,并不能限制本发明的保护范围。凡跟本发明权利要求范围所做的均等变化与修饰,均应属于本发明权利要求的涵盖范围。
Claims (20)
1.一种基于多叉树的搜索词推荐方法,其特征在于,包括:
A、多叉树词链数据生成过程:将每个热词拆分为多个单独文字,按照文字在热词中从前到后的排序生成一个词链,每个文字为所述词链中的一个节点,将不同词链中相同文字对应的节点作为公用节点,生成所述多叉树词链数据;
B、搜索词推荐过程:根据当前已输入文字查找所述多叉树词链数据,将与所述已输入文字匹配的词链作为推荐词。
2.根据权利要求1所述的基于多叉树的搜索词推荐方法,其特征在于,所述根据当前已输入文字查找所述多叉树词链数据包括:
b1、提取所述已输入文字的首个文字,查找所述多叉树词链数据中与所述首个文字匹配的节点;
b2、所述已输入文字的剩余文字依序逐一匹配所述首个文字匹配节点的分支节点;
b3、所述已输入文字全部匹配完成后,继续读取所述已输入文字对应的所有节点所在词链的剩余节点。
3.根据权利要求2所述的基于多叉树的搜索词推荐方法,其特征在于,所述继续读取所述已输入文字对应的所有节点所在词链的剩余节点包括:
继续读取所述已输入文字对应的所有节点所在词链的剩余节点直至遇到结束节点,所述结束节点为所述多叉树词链数据生成过程每个热词的结束文字对应的节点。
4.根据权利要求3所述的基于多叉树的搜索词推荐方法,其特征在于,所述将与所述已输入文字匹配的词链作为推荐词包括:
将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词。
5.根据权利要求4所述的基于多叉树的搜索词推荐方法,其特征在于,所述将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词包括:
将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链中所有节点对应的文字按照从前到后的匹配顺序组合为推荐词。
6.根据权利要求1至5中任一项所述的基于多叉树的搜索词推荐方法,其特征在于,在多叉树词链数据生成过程中:根据所述热词的属性信息将所述多叉树词链数据分为多个多叉树词链子数据;
所述根据当前已输入文字查找所述多叉树词链数据包括:根据所述已输入文字的首个文字的属性信息选择对应的多叉树词链子数据,根据当前已输入文字查找选定的所述多叉树词链子数据。
7.根据权利要求6所述的基于多叉树的搜索词推荐方法,其特征在于,还包括:
C、多叉树词链数据更新过程:将每个更新热词拆分为多个单独文字,按照文字在所述更新热词中从前到后的排序生成一个更新词链,每个文字为所述更新词链中的一个节点,将所述更新词链中每个节点与现有多叉树词链数据进行相同节点融合,更新所述多叉树词链数据。
8.根据权利要求7所述的基于多叉树的搜索词推荐方法,其特征在于,在多叉树词链数据更新过程:
若所述热词节点模块包括多个热词节点子模块,则根据所述更新热词的属性信息将对应的更新词链更新至对应属性的多叉树词链子数据中。
9.根据权利要求8所述的基于多叉树的搜索词推荐方法,其特征在于,所述文字为汉字,所述属性信息为文字对应的汉语拼音的首字母的排序。
10.根据权利要求1所述的基于多叉树的搜索词推荐方法,其特征在于,所述文字为汉字、外语单词、阿拉伯数字中的一种或几种。
11.一种基于多叉树的搜索词推荐系统,其特征在于,包括搜索引擎热词推荐模块、热词查询服务器、热词加载服务器和多个热词数据源,所述搜索引擎热词推荐模块安装在用户终端的搜索引擎上,所述热词查询服务器包括用户网关代理服务模块和热词节点模块;
所述搜索引擎热词推荐模块通信连接所述用户网关代理服务模块,所述用户网关代理服务模块通信连接所述热词节点模块,所述热词节点模块通信连接所述热词加载服务器;所述热词加载服务器通信连接每个所述热词数据源;
所述热词加载服务器接收所有所述热词数据源发送的热词,并发送至所述热词节点模块存储,所述热词节点模块将每个热词拆分为多个单独文字,按照文字在热词中从前到后的排序生成一个词链,每个文字为所述词链中的一个节点,将不同词链中相同文字对应的节点作为公用节点,生成多叉树词链数据;
所述搜索引擎热词推荐模块用于接收用户输入的文字,将已输入文字发送至所述用户网关代理服务模块,所述用户网关代理服务模块将所述已输入文字传输至所述热词节点模块,所述热词节点模块根据所述已输入文字查找所述多叉树词链数据,将与所述已输入文字匹配的词链作为推荐词;
所述热词节点模块将查询得到的所述推荐词发送至所述用户终端的搜索引擎显示。
12.根据权利要求11所述的基于多叉树的搜索词推荐系统,其特征在于,所述热词节点模块根据所述已输入文字查找所述多叉树词链数据包括:
提取所述已输入文字的首个文字,查找所述多叉树词链数据中与所述首个文字匹配的节点;所述已输入文字的剩余文字依序逐一匹配所述首个文字匹配节点的分支节点;所述已输入文字全部匹配完成后,继续读取所述已输入文字对应的所有节点所在词链的剩余节点。
13.根据权利要求12所述的基于多叉树的搜索词推荐系统,其特征在于,所述热词节点模块中所述继续读取所述已输入文字对应的所有节点所在词链的剩余节点包括:
继续读取所述已输入文字对应的所有节点所在词链的剩余节点直至遇到结束节点,所述结束节点为所述多叉树词链数据生成过程每个热词的结束文字对应的节点。
14.根据权利要求13所述的基于多叉树的搜索词推荐系统,其特征在于,所述热词节点模块中所述将与所述已输入文字匹配的词链作为推荐词包括:
将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词。
15.根据权利要求14所述的基于多叉树的搜索词推荐系统,其特征在于,所述热词节点模块中所述将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链作为推荐词包括:
将所述已输入文字对应的所有节点所在所有词链中节点数量最少的词链中所有节点对应的文字按照从前到后的匹配顺序组合为推荐词。
16.根据权利要求11至15中任一项所述的基于多叉树的搜索词推荐系统,其特征在于,所述热词节点模块包括多个热词节点子模块,所述热词加载服务器根据所述热词的属性信息将所述多叉树词链数据分为多个多叉树词链子数据,每个所述热词节点子模块对应一个所述多叉树词链子数据;
所述用户网关代理服务模块根据所述已输入文字的首个文字的属性信息选择对应的热词节点子模块,所述热词节点子模块根据当前已输入文字查找选定的所述多叉树词链子数据。
17.根据权利要求16所述的基于多叉树的搜索词推荐系统,其特征在于,所述热词加载服务器接收多个所述热词数据源发送的更新热词,将每个更新热词拆分为多个单独文字,按照文字在更新热词中从前到后的排序生成一个更新词链,每个文字为所述更新词链中的一个节点,将所述更新词链中每个节点与现有多叉树词链数据进行相同节点融合,更新所述多叉树词链数据。
18.根据权利要求17所述的基于多叉树的搜索词推荐系统,其特征在于,若所述热词节点模块包括多个热词节点子模块,则根据所述更新热词的属性信息将对应的更新词链更新至对应属性的多叉树词链子数据中。
19.根据权利要求18所述的基于多叉树的搜索词推荐系统,其特征在于,所述文字为汉字,所述属性信息为文字对应的汉语拼音的首字母的排序。
20.根据权利要求11所述的基于多叉树的搜索词推荐系统,其特征在于,所述文字为汉字、外语单词、阿拉伯数字中的一种或几种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010415190.9A CN111737986A (zh) | 2020-05-15 | 2020-05-15 | 一种基于多叉树的搜索词推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010415190.9A CN111737986A (zh) | 2020-05-15 | 2020-05-15 | 一种基于多叉树的搜索词推荐方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737986A true CN111737986A (zh) | 2020-10-02 |
Family
ID=72647409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010415190.9A Pending CN111737986A (zh) | 2020-05-15 | 2020-05-15 | 一种基于多叉树的搜索词推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737986A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682090A (zh) * | 2012-04-26 | 2012-09-19 | 焦点科技股份有限公司 | 一种基于聚合词树的敏感词匹配处理系统及方法 |
CN102768681A (zh) * | 2012-06-26 | 2012-11-07 | 北京奇虎科技有限公司 | 一种用于搜索输入的推荐系统及方法 |
CN104331434A (zh) * | 2014-10-22 | 2015-02-04 | 乐视网信息技术(北京)股份有限公司 | 一种生成搜索提示词服务的方法及其装置 |
CN105955986A (zh) * | 2016-04-18 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种字符的转换方法及装置 |
CN106934006A (zh) * | 2017-03-08 | 2017-07-07 | 中国银行股份有限公司 | 基于多叉树模型的页面推荐方法及装置 |
CN107665217A (zh) * | 2016-07-29 | 2018-02-06 | 苏宁云商集团股份有限公司 | 一种用于搜索业务的词汇处理方法及系统 |
CN107992481A (zh) * | 2017-12-25 | 2018-05-04 | 中科鼎富(北京)科技发展有限公司 | 一种基于多叉树的正则表达式匹配方法、装置及系统 |
CN108694186A (zh) * | 2017-04-07 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 数据发送方法及服务器应用、计算设备及计算机可读介质 |
CN109753648A (zh) * | 2018-11-30 | 2019-05-14 | 平安科技(深圳)有限公司 | 词链模型的生成方法、装置、设备及计算机可读存储介质 |
CN110851722A (zh) * | 2019-11-12 | 2020-02-28 | 腾讯云计算(北京)有限责任公司 | 基于字典树的搜索处理方法、装置、设备和存储介质 |
-
2020
- 2020-05-15 CN CN202010415190.9A patent/CN111737986A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682090A (zh) * | 2012-04-26 | 2012-09-19 | 焦点科技股份有限公司 | 一种基于聚合词树的敏感词匹配处理系统及方法 |
CN102768681A (zh) * | 2012-06-26 | 2012-11-07 | 北京奇虎科技有限公司 | 一种用于搜索输入的推荐系统及方法 |
CN104331434A (zh) * | 2014-10-22 | 2015-02-04 | 乐视网信息技术(北京)股份有限公司 | 一种生成搜索提示词服务的方法及其装置 |
CN105955986A (zh) * | 2016-04-18 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种字符的转换方法及装置 |
CN107665217A (zh) * | 2016-07-29 | 2018-02-06 | 苏宁云商集团股份有限公司 | 一种用于搜索业务的词汇处理方法及系统 |
CN106934006A (zh) * | 2017-03-08 | 2017-07-07 | 中国银行股份有限公司 | 基于多叉树模型的页面推荐方法及装置 |
CN108694186A (zh) * | 2017-04-07 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 数据发送方法及服务器应用、计算设备及计算机可读介质 |
CN107992481A (zh) * | 2017-12-25 | 2018-05-04 | 中科鼎富(北京)科技发展有限公司 | 一种基于多叉树的正则表达式匹配方法、装置及系统 |
CN109753648A (zh) * | 2018-11-30 | 2019-05-14 | 平安科技(深圳)有限公司 | 词链模型的生成方法、装置、设备及计算机可读存储介质 |
CN110851722A (zh) * | 2019-11-12 | 2020-02-28 | 腾讯云计算(北京)有限责任公司 | 基于字典树的搜索处理方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102880649B (zh) | 一种个性化信息处理方法和系统 | |
CN102479191B (zh) | 提供多粒度分词结果的方法及其装置 | |
CN106682169B (zh) | 一种应用标签挖掘方法、装置和应用搜索方法、服务器 | |
CN103186524B (zh) | 一种地名识别方法和装置 | |
CN117056471A (zh) | 知识库构建方法及基于生成式大语言模型的问答对话方法和系统 | |
CN102043808B (zh) | 利用网页结构抽取双语词条的方法及设备 | |
CN106682170B (zh) | 一种应用搜索方法和装置 | |
CN105917327A (zh) | 用于将文本输入到电子设备中的系统和方法 | |
CN104657439A (zh) | 用于自然语言精准检索的结构化查询语句生成系统及方法 | |
US20180173694A1 (en) | Methods and computer systems for named entity verification, named entity verification model training, and phrase expansion | |
CN104657440A (zh) | 结构化查询语句生成系统及方法 | |
US11947608B2 (en) | Search term recommendation method and system based on multi-branch tree | |
CN111506621A (zh) | 一种数据统计方法及装置 | |
CN109299219A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
CN107480262A (zh) | 一种基于网页的数据库通用管理系统 | |
CN105573990A (zh) | 外语句子制作支援装置以及方法 | |
CN105574092A (zh) | 信息挖掘方法和装置 | |
CN104169912A (zh) | 信息处理终端和方法,以及信息管理设备和方法 | |
CN111325022A (zh) | 识别层级地址的方法和装置 | |
CN115470323B (zh) | 一种基于分词技术提高建筑行业搜索精度的方法 | |
CN109726295A (zh) | 品牌知识图谱显示方法、装置、图服务器及存储介质 | |
CN107025263A (zh) | 用于数据库语句的语句解析方法 | |
CN111625638A (zh) | 一种问句处理方法、装置、设备及可读存储介质 | |
CN116955720A (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN106156262A (zh) | 一种搜索信息处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |