一种建立输入建议的数据处理方法和系统的制作方法

文档序号:8922582阅读:478来源:国知局
一种建立输入建议的数据处理方法和系统的制作方法
【技术领域】
[0001] 本发明涉及搜索领域,尤其涉及一种建立输入建议的数据处理方法和系统。
【背景技术】
[0002] 搜索引擎是用于对互联网上的信息资源进行搜集整理,然后为用户提供查询的系 统,它包括信息搜集、信息整理和用户查询。通常,用户在搜索引擎中输入关键词进行检索, 搜索引擎从索引数据库中找到匹配该关键词的内容反馈给用户。
[0003] 目前,许多搜索引擎提供与用户原始搜索查询相关的一系列建议的搜索查询。所 述一系列建议的搜索查询又称为输入建议,是指在输入框输入的过程中,根据当前的部分 输入,提示建议的完整的输入字符串。例如,搜索引擎可以包括接收文本输入的查询输入区 域,搜索服务提供针对该文本输入的搜索查询建议,用户可以选择一个搜索查询建议作为 搜索查询词。输入建议,主要用于在用户输入的过程中根据已有的部分输入,推荐用户可能 输入的完整文本,辅助启发用户快速完成文本输入。例如,用户的原始搜索查询是"中",搜 索引擎可以建议与之相关的搜索查询为"中国"、"中心"、以及"中医"等。
[0004] 目前提供输入建议的方法主要包括:生成输入建议线下索引和提供线上输入建议 两个部分。所述生成输入建议线下索引部分,可以称为建立输入建议,可以包括:为全部推 荐的词条列举出所有前缀;对于前缀相同的不同词条进行合并,并为合并了前缀的推荐词 条生成倒排索引;对每一个前缀的倒排索引根据具体业务需要进行排序,然后截取最重要 的前N个词条作为该前缀的输入建议,生成前缀索引。所述提供线上输入建议可以包括:根 据用户在文本框中的当前输入查找所述前缀索引,根据所述前缀索引返回索引记录,所述 索引记录即为提供的输入建议。
[0005] 在实现本申请过程中,发明人发现现有的建立输入建议的技术中至少存在如下问 题:
[0006] 由于推荐词条数据较多,而每一个推荐词条的完整列出的前缀数目也很多,因此 全部推荐词条所列举出的所有前缀的数量非常庞大,而根据上述数量非常庞大的所有前缀 所建立的倒排索引中,有大量的索引项几乎不会被用到,例如一些前缀长度较长的索引项, 如果较短前缀所指向的词条较少,建立的索引中完全可以包括所述较长前缀所指向的词 条,那么该较长前缀的索引项就不会被用到。上述说明可以看出,该方法建立的输入建议索 引中存在冗余。

【发明内容】

[0007] 本发明的目的在于提供一种提供输入建议的方法和系统,以实现降低建立的输入 建议索引的冗余程度。
[0008] -种建立输入建议的数据处理方法,包括:
[0009] 为每一词条生成长度小于或等于第一长度的前缀,并将所述前缀作为当前前缀, 将所述第一长度作为当前长度;
[0010] 合并所有当前前缀中内容相同的前缀,为合并后的当前前缀和对应的词条生成倒 排索引;
[0011] 判断所述倒排索引中每一前缀指向词条的个数是否大于预设值N,以及:
[0012] 若所述倒排索引中存在指向词条个数大于N的前缀,对倒排索引中词条个数大于 N的前缀截取词条;根据倒排索引中前缀长度等于当前长度且词条个数为(N+1)的前缀,更 新当前前缀和当前长度,将更新后的当前前缀和当前长度返回至合并前缀的步骤重新进行 处理;
[0013] 若每一前缀指向词条的个数均小于或等于N,则将所述倒排索引作为建立的输入 建议索引进行输出。
[0014] 优选方案中,所述对倒排索引中词条个数大于N的前缀截取词条,包括:对倒排索 引中词条个数大于N的前缀,若前缀长度小于当前长度,截取前缀指向的前N个词条,若前 缀长度等于当前长度,截取前缀所指向的前(N+1)个词条。
[0015] 优选方案中,所述根据倒排索引中前缀长度等于当前长度且词条个数为(N+1)的 前缀,更新当前前缀和当前长度,包括:根据词条内容将所述前缀长度等于当前长度且词条 个数为(N+1)的前缀增加一个字节,形成新的前缀,将新增了前缀的所有前缀的作为更新后 的当前前缀,将当前长度加1作为更新后的当前长度。
[0016] 优选方案中,所述第一长度的取值最小为3。
[0017] 优选方案中,所述N的取值最小为5。
[0018] 优选方案中,所述方法中为每一词条生成长度小于或等于第一长度的前缀之前, 还包括:对词条进行预处理;所述对词条进行预处理至少包括下述方式之一:
[0019] 去除词条中无意义的字符;所述无意义的字符包括空格、标点符号;
[0020] 将词条内容中的大小写以及简繁体进行统一。
[0021] 一种建立输入建议的数据处理系统,包括:前缀生成单元、倒排索引生成单元、第 一判断单元、判断截取单元、更新单元;其中,
[0022] 所述前缀生成单元,用于为每一词条生成长度小于或等于第一长度的前缀,将所 述前缀作为当前前缀,将所述第一长度作为当前长度;
[0023] 所述倒排索引生成单元,用于合并当前前缀中内容相同的前缀,为合并后的当前 前缀及前缀对应的词条生成倒排索引;
[0024] 所述第一判断单元,用于判断所生成的倒排索引中每一前缀指向词条的个数是否 大于N,若词条个数大于N,则进入判断截取单元进行处理,若每一前缀指向词条的个数均 小于或等于N,则将所述倒排索引作为建立的输入建议索引进行输出;
[0025] 所述判断截取单元,用于对倒排索引中对于词条个数大于N的前缀截取词条;
[0026] 所述更新单元,用于根据倒排索引中前缀长度等于当前长度且词条个数为(N+1) 的前缀,更新当前前缀和当前长度,将更新后的当前前缀和当前长度返回至倒排索引生成 单元重新进行处理。
[0027] 优选方案中,所述判断截取单元包括:长度判断单元、截取单元;其中,
[0028] 所述长度判断单元,用于判断当前前缀中每一个前缀的长度是否小于当前长度;
[0029] 所述截取单元,用于对长度判断单元的结果中前缀长度小于当前长度的前缀所指 向的词条截取前N个词条,对长度判断单元结果中前缀长度等于当前长度的前缀所指向的 词条截取前(N+1)个词条。
[0030] 优选方案中,所述更新单元包括:前缀更新单元、当前长度更新单元;其中,
[0031] 所述前缀更新单元,用于对长度判断单元的结果中前缀长度等于当前长度的前 缀,根据词条内容将所述前缀内容增加一个字节,形成新的前缀,将新增了前缀的所有前缀 的更新为当前前缀;
[0032] 所述当前长度更新单元,用于将当前长度加1作为更新后的当前长度。
[0033] 优选方案中,所述倒排索引生成单元包括:合并单元、索引单元;其中,
[0034] 所述合并单元,用于对所有当前前缀中内容相同的前缀进行合并;
[0035] 所述索引单元,用于为合并后的当前前缀和前缀对应的词条生成倒排索引。
[0036] 优选方案中,所述第一判断单元包括:个数判断单元、输出单元;其中,
[0037] 所述个数判断单元,用于判断倒排索引生成单元生成的倒排索引中当前前缀中每 一前缀指向的词条的个数是否大于N个;
[0038] 所述输出单元,用于输出倒排索引,具体地,若个数判断单元的判断结果中,每一 前缀指向词条的个数均小于或等于N个,则输出倒排索引生成单元中的倒排索引结果。
[0039] 优选方案中,所述建立输入建议的数据处理系统,还包括:词条预处理单元;所述 词条预处理单元,用于为每一词条进行预处理。
[0040] 一种基于所述建立输入建议的数据处理方法建立的索引提供输入建议的方法,包 括:
[0041] 设置第二长度,判断接收到的查询串的长度是否大于第二长度,对长度小于或者 等于第二长度的查询串,将其对应的倒排索引作为输入建议的结果;
[0042] 对于长度大于第二长度的查询串,根据第二长度对所述查询串进行截断;
[0043] 判断截断后的查询串对应的倒排索引中词条数是否大于N,词条数大于N的,更新 第二长度,返回更新后的第二长度重新进行截断,直至查询串截断后所对应的词条数小于 或等于N;
[0044] 对于长度大于第二长度且查询串截断后词条数小于或等于N的查询串,过滤掉不 匹配的词条;
[0045] 输出查询串的输入建议结果。
[0046] 优选方案中,所述更新第二长度包括:将第二长度加1作为更新后的第二长度。
[0047] 优选方案中,所述过滤掉不匹配的词条,具体包括:将截断的查询串对应的所有词 条和查询串从第一个字符开始进行一一比对,将词条中前x个字符与查询串不完全相同的 词条过滤掉;所述x表示查询串的长度。
[0048] 优选方案中,所述将截断的查询串查找到的倒排索引中的所有词条和查询串进行 一一比对,包括:在进行比对的过程中,当查询串与词条的字符不是相同的语言时,将查询 串和词条中的内容都转换为拼音后再进行比对。
[0049] 优选方案中,所述输出查询串的输入建议结果,包括:对于查询串长度小于第二长 度的,直接输出对应的词条作为查询串的输入建议结果;对于截断后查询不到相同的索引 的,返回空值作为查询串的输入建议结果;对于截断后进行查询的索引,将过滤掉不匹配的 词条的结果作为查询串的输入建议结果。
[0050] 优选方案中,所述设置第二长度包括:设置第二长度的值等于第一长度的值。
[0051]一种基于所述建立输入建议的数据处理系统建立的索引提供输入建议的系统,包 括:长度查询单元、查询串截断单元、判断更新单元、过滤单元、建议输出单元;其中,
[0052]所述长度查询单元,用于设置第二长度,查询接收到的查询串的长度是否大于第 二长度,对查询串的长度小于或者等于第二长度的,将其对应的倒排索引作为输入建议的 结果;
[0053]所述查询串截断单元,用于对于长度大于第二长度的查询串,根据第二长度对所 述查询串进行截断;
[0054]所述判断更新单元,用于判断截断后的查询串对应的倒排索引中词条数是否大于N,词条数大于N的,更新第二长度值并返回至查询串截断单元重新进行截断,直至查询串 截断后词条数小
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1