[发明专利]一种面向中文分词的搜索算法有效
申请号: | 201810422499.3 | 申请日: | 2018-05-05 |
公开(公告)号: | CN108846016B | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 金城;陶仕谦;唐士芳;吴渊;张玥杰;冯瑞;薛向阳 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F16/953 | 分类号: | G06F16/953;G06F40/284 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 中文 分词 搜索 算法 | ||
本发明属于文本搜索引擎技术领域,具体为一种面向中文分词的搜索算法。本发明算法主要分为两个阶段:离线构建索引阶段和在线查找阶段。在离线构建索引阶段,首先提取所有原始字符串集合的后缀串集合,然后由后缀串集合生成改进的后缀树;在在线查找阶段,首先根据基于后缀树的索引模型得到关键词的查询结果,然后量化关键词和查询结果的匹配程度,最后将查询结果按匹配程序由高到低排序后返回。本发明通过一种改进的基于后缀树的索引结构来平衡索引构建时间和占用空间,使用本发明的索引结构的搜索效率远高于对结果集暴力计算匹配度并排序的效率。
技术领域
本发明属于文本搜索引擎技术领域,具体涉及一种面向中文分词的搜索算法。
背景技术
搜索引擎是一种在线信息搜索工具,将符合用户搜索关键字的一系列搜索结果返回给用户。当今社会是个信息爆炸的时代,面对着数不尽的信息,如何快速精确定位用户想要的信息是最迫切的需求之一,信息搜索技术也因此得到快速的发展和应用。
搜索最常见的形式是文本搜索,无论用户的目标资源是文字、图像、音频甚至是视频,只要输入的格式是文本,都可以归结到本发明搜索的范围内。现在除了谷歌、必应、雅虎等提供的全网站搜索功能外,特定领域的搜索需求也越来越大。在特定领域中(比如仅面向电视节目),由于资源的种类有局限性,所以搜索的条件一般能做到十分明确,另外数据集的大小也在可接受的范围内,在这些前提下可以对搜索引擎做出很多有针对性的优化。
目前中文搜索系统的相关技术主要有倒排索引、正排索引、署名文件、后缀树等。其中倒排索引综合性能较好且最常用,但在实际应用中,应用倒排索引模型处理大文本集合时,对CPU资源、内存空间和I/O都是十分严峻的考验。
发明内容
本发明的目的在于提出一种面向中文分词的搜索算法,应用于智能化的中文搜索引擎系统,使之能够快速地根据关键字返回搜索结果,并将结果按匹配程度由高到低排序后展示给用户。
本发明提出的面向中文分词的搜索算法,主要可以分为两个阶段:离线构建索引阶段和在线查找阶段。在离线构建索引阶段,首先提取所有原始字符串集合的后缀串集合,然后由后缀串集合生成改进的后缀树;在在线查找阶段,首先根据基于后缀树的索引模型得到关键词的查询结果,然后量化关键词和查询结果的匹配程度,最后将查询结果按匹配程序由高到低排序后返回。
一、离线构建索引阶段,具体步骤为:
(1)由原数据集生成后缀串集合
T(S)表示带有分隔符($)和结束符(#)的字符串S所组成的原数据集,其中第i个字符串的索引ID为i(1≤i≤n)。假设WBS表示从分隔符处开始的后缀串,NWBS表示不从分隔符处开始的后缀串。由T(S)生成带索引ID的后缀串集合T(WBS)和T(NWBS)的具体步骤如下:
第一步:遍历T(S)中的所有字符串,提取每个字符串的所有后缀串si,构成集合T*(s1),T*(s2)…T*(sn)[1]。其中后缀串是指字符串S从位置i开始到S末尾结束符的一个子串,即若S用C1C2…Cn表示,则CiCi+1…Cn称为S的一个后缀串(1≤i≤n);
第二步:剔除T*(s1),T*(s2)…T*(sn)中所有以分隔符($)或结束符(#)为首的后缀串;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810422499.3/2.html,转载请声明来源钻瓜专利网。