一种用于搜索输入的推荐系统及方法技术方案

技术编号:10747090 阅读:139 留言:0更新日期:2014-12-10 18:37
本发明专利技术公开了一种用于搜索输入的推荐系统及方法,涉及搜索引擎领域。所述系统包括:关键词获取单元,适于根据用户输入获得搜索关键词;查找树存储单元,适于以树形数据结构存储汉字,树中每个数据节点存储一个汉字,以及包含所述汉字的推荐词的地址信息;推荐词词库,适于存储所述推荐词;地址获取单元,适于根据搜索关键词查询查找树存储单元,获得推荐词的地址信息;推荐单元,适于根据地址信息查询推荐词词库获得推荐词,并将推荐词推荐给用户。所述系统及方法,在查找树存储单元中,令每个数据节点记录包含该节点字符的所有推荐词的地址信息,从而提高了推荐词的查询速度,克服了推荐词库容量增大导致查询速度降低的问题。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,涉及搜索引擎领域。所述系统包括:关键词获取单元,适于根据用户输入获得搜索关键词;查找树存储单元,适于以树形数据结构存储汉字,树中每个数据节点存储一个汉字,以及包含所述汉字的推荐词的地址信息;推荐词词库,适于存储所述推荐词;地址获取单元,适于根据搜索关键词查询查找树存储单元,获得推荐词的地址信息;推荐单元,适于根据地址信息查询推荐词词库获得推荐词,并将推荐词推荐给用户。所述系统及方法,在查找树存储单元中,令每个数据节点记录包含该节点字符的所有推荐词的地址信息,从而提高了推荐词的查询速度,克服了推荐词库容量增大导致查询速度降低的问题。【专利说明】本专利技术专利申请是申请日为2012年06月26日、申请号为201210215120.4、名称为“置”的中国专利技术专利申请的分案申请。
本专利技术涉及搜索引擎
,特别涉及。
技术介绍
Suggest (搜索建议)是一种根据用户已输入的查询词,提供建议提示的技术。在互联网中,搜索人的责任就是帮助用户,以更快的速度,更少的操作,更准确地获取待搜索信息。 用户在搜索框中进行输入时,往往要输入很多关键词,还可能会切换输入法。而且用户在输好关键词后,还可能面临输入错误的情况,比如同音别字。最后,用户也可能并不确定输入什么样的关键词,能够非常恰当地代表自己的想法。suggest就是为了提升用户在输入框中输入关键词时的体验,其可以缩短用户的键入,对用户的输入进行纠错,更重要的是可以推荐出很多贴近用户想法的关键词。 实现suggest,一般需要中文到拼音的标注过程和索引查询过程两个环节。拼音标注,就是把中文短语翻译成其相应的拼音,这个过程的难点在于多音字的处理,其一般只在直接根据中文关键词进行索引查询所得推荐词过少的情况下使用。suggest的索引查询通常基于hashmap(基于哈希表的Map接口),查询过程必须性能过硬,因为用户在输入一个关键词的过程中会多次调用suggest服务。 拼音标注环节中,对于多音字的处理,通常的做法,是将多音字的读音进行枚举,比如“音乐”,将其翻译成“yinyue”和“yinle”,将“乐视网”翻译成“yueshiwang”和“leshiwang”。这种翻译单纯基于单个汉字的读音,而不考虑其使用环境。因此,可能会造成冗余的拼音索引,扰乱正确结果,并且不利于引导用户认识到自己的拼音错误。 在由拼音得到中文查询串的过程中,由于对多音字的处理不当,也可能会引入搜索噪音,比如用户在百度搜索框中输入“yueshi”,本想查询月食相关信息,但此时suggest给出的推荐词包括“乐视网”和“钥匙”等明显无关的信息,而“月食”几乎被这些无关信息所淹没。 通常的查询方式,词典里的数据集越大,需要遍历的子树越大,导致查找消耗的时间随数据集的增大而增加,影响用户的使用体验。
技术实现思路
本专利技术要解决的技术问题是:如何提供,以提高推荐词查找速度,克服现有方案中推荐词查找速度随数据集的增大而降低的问题。 为解决上述技术问题,本专利技术提供一种用于搜索输入的推荐系统,所述系统包括:关键词获取单元、查找树存储单元、推荐词词库、地址获取单元和推荐单元; 所述关键词获取单元,适于根据用户输入获得搜索关键词; 所述查找树存储单元,适于以树形数据结构存储汉字,树中每个数据节点存储一个汉字,以及包含所述汉字的推荐词的地址信息; 所述推荐词词库,适于存储所述推荐词; 所述地址获取单元,适于根据所述搜索关键词查询所述查找树存储单元,获得所述推荐词的地址信息; 所述推荐单元,适于根据所述地址信息查询所述推荐词词库获得所述推荐词,并将所述推荐词推荐给用户。 其中,所述用户输入为拼音输入或者中文输入。 其中,所述推荐词词库中还存储对应所述推荐词的拼音; 所述关键词获取单元,适于根据所述拼音输入查询所述推荐词词库,得到所述拼音输入对应的引导中文,并将所述引导中文作为搜索关键词;或者,直接将所述中文输入作为搜索关键词。 其中,所述地址获取单元,适于根据所述引导中文查询所述查找树存储单元,得到所述引导中文为前缀的引导推荐词的地址信息;所述推荐单元,适于根据所述引导推荐词的地址信息查询所述推荐词词库获得相应的推荐词,然后推荐给用户;或者, 所述地址获取单元,适于根据所述中文输入查询所述查找树存储单元,得到所述中文输入为前缀的初级推荐词的地址信息;所述推荐单元,适于根据所述初级推荐词的地址信息查询所述推荐词词库获得相应的初级推荐词,并将所述初级推荐词推荐给用户。 其中,所述系统还包括:多音词词库和标注单元; 所述多音词词库,适于存储中文和所述中文对应的拼音标注; 所述标注单元,适于在所述初级推荐词数量小于预设阈值时,查询所述多音词词库以得到对应所述中文输入的拼音标注; 所述关键词获取单元,还适于根据所述拼音标注再次查询所述推荐词词库,得到所述拼音标注对应的扩展中文; 所述地址获取单元,还适于根据所述扩展中文查询所述查找树存储单元,得到所述扩展中文为前缀的扩展推荐词的地址信息; 所述推荐单元,还适于根据所述扩展推荐词的地址信息查询推荐词词库获得相应的推荐词,然后推荐给用户。 其中,所述多音词词库中以拼音组合的方式对应包含多音字的中文短语。 其中,所述推荐词词库中以拼音组合的方式对应包含多音字的中文短语。 其中,所述查找树存储单元采用Double Array Trie树结构存储汉字。 本专利技术还提供一种用于搜索输入的推荐方法,包括步骤: A:根据用户输入获得搜索关键词; B:根据所述搜索关键词查询查找树存储单元,获得推荐词的地址信息;所述查找树存储单元,适于以树形数据结构存储汉字,树中每个数据节点存储一个汉字,以及包含所述汉字的推荐词的地址信息; C:根据所述推荐词的地址信息查询推荐词词库获得推荐词,并将所述推荐词推荐给用户;所述推荐词词库,适于存储所述推荐词。 其中,所述用户输入为中文输入或者拼音输入。 其中,当所述用户输入为中文输入时,所述步骤A具体包括: Al:接收用户的中文输入,并将所述中文输入直接作为搜索关键词。 其中,所述步骤B具体包括: B1:查询查找树存储单元,在所述中文输入的最末字符对应的节点处找到以所述中文输入为前缀的初级推荐词的地址信息。 其中,所述步骤BI后还包括: B2:根据所述初级推荐词的地址信息判断相应的初级推荐词的数量是否大于等于预设阈值,如果是,执行步骤C ;否则,根据所述初级推荐词的地址信息查询推荐词词库获得所述初级推荐词,执行步骤B3 ; B3:对所述初级推荐词进行扩展,得到扩展推荐词的地址信息。 其中,所述步骤B3具体包括: B301:根据所述初级推荐词查询多音词词库,得到所述初级推荐词对应的拼音标注; B302:根据所述拼音标注查询所述推荐词词库,得到所述拼音标注对应的扩展中文; B303:根据所述扩展中文查询所述查找树存储单元,在所述扩展中文的最末字符对应的节点处获得所述扩展中文为前缀的扩展推荐词的地址信息。 其中,所述步骤B301中,采用正向最大匹配算法查询所述多音词词库,得到所述初级推荐词对应的拼音标注。 其中,所本文档来自技高网
...

【技术保护点】
一种用于搜索输入的推荐系统,其特征在于,所述系统包括:关键词获取单元、查找树存储单元、推荐词词库、地址获取单元和推荐单元;所述关键词获取单元,适于根据用户输入获得搜索关键词;所述查找树存储单元,适于以树形数据结构存储汉字,树中每个数据节点存储一个汉字,以及包含所述汉字的推荐词的地址信息;所述推荐词词库,适于存储所述推荐词;所述地址获取单元,适于根据所述搜索关键词查询所述查找树存储单元,获得所述推荐词的地址信息;所述推荐单元,适于根据所述地址信息查询所述推荐词词库获得所述推荐词,并将所述推荐词推荐给用户。

【技术特征摘要】

【专利技术属性】
技术研发人员:胡毅
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1