对象推荐方法、装置和计算机设备制造方法及图纸

技术编号:36755323 阅读:21 留言:0更新日期:2023-03-04 10:46
本申请实施例提供了一种对象推荐方法,其特征在于,方法,包括:获取针对于待推荐对象的搜索文本;对搜索文本进行切分,得到搜索文本对应的文本字符;在预先构建的数组中对文本字符进行前缀索引,得到文本字符对应的第一匹配结果;根据第一匹配结果,在预先构建的双数组Trie树中对文本字符进行最大匹配,得到搜索文本的文本分词;利用文本分词,从推荐对象数据库中,获取与文本分词相匹配的待推荐对象。在本申请实施例提供的该方法中,将原本双数组Trie树中的一部分数据,例如单子节点树结构,存储在数组中,从而,避免形成一个庞大的树干,消耗服务器的内存,解决了消耗内存大的问题。解决了消耗内存大的问题。解决了消耗内存大的问题。

【技术实现步骤摘要】
对象推荐方法、装置和计算机设备


[0001]本申请涉及信息搜索领域,特别是涉及一种对象推荐方法、装置和计算机设备。

技术介绍

[0002]用户在购物平台进行采购时,通常会

货比三家

,通过比较多个同类商品,最终选择合适的商品下单。由于购物平台存在海量商品数据,而人工筛选同类商品的效率低下,因此目前通常采用智能推荐技术进行同类商品的筛选和推荐,实现系统快速帮用户筛选同类商品,使采购参考数据更加全面,整体采购效率进一步提升。
[0003]对于智能推荐技术,“分词”一直是一项十分重要且基础的步骤。分词就是将句子、段落、文章这种长文本,分解为以字词为单位的数据结构,方便后续的处理分析工作。在现有的分词技术中,多采用双数组Trie树算法对搜索文本进行分词,然而,现有的双数组Trie树,由于如果一个词与其他词的前缀不一样,会展开一个新的树干去存储,所以会形成一个庞大的树干,消耗服务器的内存。因此,存在消耗内存大的问题。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种优化内存占用的对象推荐方法、装置和计算机设备。
[0005]第一方面,本申请提供了一种对象推荐方法。所述方法包括:
[0006]获取针对于待推荐对象的搜索文本;
[0007]对所述搜索文本进行切分,得到所述搜索文本对应的文本字符;
[0008]在预先构建的数组中对所述文本字符进行前缀索引,得到所述文本字符对应的第一匹配结果;所述数组包括单子节点树结构;<br/>[0009]根据所述第一匹配结果,在预先构建的双数组Trie树中对所述文本字符进行最大匹配,得到所述搜索文本的文本分词;所述双数组Trie树包括多子节点树结构;
[0010]利用所述文本分词,从推荐对象数据库中,获取与所述文本分词相匹配的待推荐对象。
[0011]在其中一个实施例中,在预先构建的数组中对所述文本字符进行前缀索引,得到所述文本字符对应的第一匹配结果,包括:将所述文本字符中的第一个字符和第二个字符进行组合,得到第一词条;在所述数组中匹配所述第一词条;在匹配成功的情况下,确定所述第一匹配结果为所述数组包括所述第一词条;在匹配失败的情况下,确定所述第一匹配结果为所述数组不包括所述第一词条。
[0012]在其中一个实施例中,根据所述第一匹配结果,在预先构建的双数组Trie树中对所述文本字符进行最大匹配,得到所述搜索文本的文本分词,包括:在所述第一匹配结果为所述数组包括所述第一词条的情况下,将所述第一词条的最后一个字符作为当前字符;获取所述文本字符中的所述当前字符的下一个字符,由所述第一词条和所述下一个字符组合得到第二词条;并将所述第二词条作为当前词条;在所述双数组Trie树中查询所述当前词
条,得到与所述当前词条对应的当前匹配结果;在所述当前匹配结果为所述双数组Trie树不包括所述当前词条且所述当前词条不是所述双数组Trie树中的词的前缀的情况下,将所述当前词条作为所述文本分词中的一个分词。
[0013]在其中一个实施例中,在所述双数组Trie树中查询所述当前词条,得到与所述当前词条对应的当前匹配结果之后,还包括:在所述当前匹配结果为所述双数组Trie树包括所述当前词条,或所述当前词条是所述双数组Trie树中的词的前缀的情况下,将所述当前词条的最后一个字符作为当前字符;获取所述文本字符中的所述当前字符的下一个字符,由所述当前词条和所述下一个字符组合得到新的当前词条,并返回执行在所述双数组Trie树中查询所述当前词条,得到与所述当前词条对应的当前匹配结果的步骤,直到所述当前匹配结果为所述双数组Trie树不包括所述当前词条且所述当前词条不是所述双数组Trie树中的词的前缀。
[0014]在其中一个实施例中,根据所述第一匹配结果,在预先构建的双数组Trie树中对所述文本字符进行最大匹配,得到所述搜索文本的文本分词,包括:在所述第一匹配结果为所述数组不包括所述第一词条的情况下,将所述第一词条中的第一个字符作为当前字符;获取所述文本字符中的所述当前字符的下一个字符,由所述当前字符和所述下一个字符组合得到当前词条;在所述双数组Trie树中查询所述当前词条,得到与所述当前词条对应的当前匹配结果;在所述当前匹配结果为所述双数组Trie树不包括所述当前词条且所述当前词条不是所述双数组Trie树中的词的前缀的情况下,将所述当前词条作为所述文本分词中的一个分词。
[0015]在其中一个实施例中,所述方法还包括:在数据池中查询所述搜索文本;所述数据池包括历史已分词文本;在所述数据池中不存在所述搜索文本的情况下,对所述搜索文本进行切分,得到所述搜索文本对应的文本字符。
[0016]在其中一个实施例中,利用所述文本分词,从推荐对象数据库中,获取与所述文本分词相匹配的待推荐对象,包括:获取所述文本分词的分词个数;将预设重复率阈值和所述分词个数的乘积确定为所述搜索文本与所述推荐对象数据库中的匹配文本的重复分词个数;在所述重复分词个数大于或者等于预设匹配阈值的情况下,将所述匹配文本对应的对象确定为所述待推荐对象。
[0017]第二方面,本申请还提供了一种对象推荐装置,其特征在于,所述装置包括:
[0018]第一获取模块,用于获取针对于待推荐对象的搜索文本;
[0019]切分模块,用于对所述搜索文本进行切分,得到所述搜索文本对应的文本字符;
[0020]第一匹配模块,用于在预先构建的数组中对所述文本字符进行前缀索引,得到第一匹配结果;所述数组包括单子节点树结构;
[0021]第二匹配模块,用于根据所述第一匹配结果,在预先构建的双数组Trie树中对所述文本字符进行最大匹配,得到所述搜索文本的文本分词;所述双数组Trie树包括多子节点树结构;
[0022]第二获取模块,用于利用所述文本分词,从推荐对象数据库中,获取与所述文本分词相匹配的待推荐对象。
[0023]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0024]获取针对于待推荐对象的搜索文本;
[0025]对所述搜索文本进行切分,得到所述搜索文本对应的文本字符;
[0026]在预先构建的数组中对所述文本字符进行前缀索引,得到所述文本字符对应的第一匹配结果;所述数组包括单子节点树结构;
[0027]根据所述第一匹配结果,在预先构建的双数组Trie树中对所述文本字符进行最大匹配,得到所述搜索文本的文本分词;所述双数组Trie树包括多子节点树结构;
[0028]利用所述文本分词,从推荐对象数据库中,获取与所述文本分词相匹配的待推荐对象。
[0029]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0030]获取针对于待推荐对象的搜索文本;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对象推荐方法,其特征在于,所述方法,包括:获取针对于待推荐对象的搜索文本;对所述搜索文本进行切分,得到所述搜索文本对应的文本字符;在预先构建的数组中对所述文本字符进行前缀索引,得到所述文本字符对应的第一匹配结果;所述数组包括单子节点树结构;根据所述第一匹配结果,在预先构建的双数组Trie树中对所述文本字符进行最大匹配,得到所述搜索文本的文本分词;所述双数组Trie树包括多子节点树结构;利用所述文本分词,从推荐对象数据库中,获取与所述文本分词相匹配的待推荐对象。2.根据权利要求1所述的方法,其特征在于,所述在预先构建的数组中对所述文本字符进行前缀索引,得到所述文本字符对应的第一匹配结果,包括:将所述文本字符中的第一个字符和第二个字符进行组合,得到第一词条;在所述数组中匹配所述第一词条;在匹配成功的情况下,确定所述第一匹配结果为所述数组包括所述第一词条;在匹配失败的情况下,确定所述第一匹配结果为所述数组不包括所述第一词条。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一匹配结果,在预先构建的双数组Trie树中对所述文本字符进行最大匹配,得到所述搜索文本的文本分词,包括:在所述第一匹配结果为所述数组包括所述第一词条的情况下,将所述第一词条的最后一个字符作为当前字符;获取所述文本字符中的所述当前字符的下一个字符,由所述第一词条和所述下一个字符组合得到第二词条;并将所述第二词条作为当前词条;在所述双数组Trie树中查询所述当前词条,得到与所述当前词条对应的当前匹配结果;在所述当前匹配结果为所述双数组Trie树不包括所述当前词条且所述当前词条不是所述双数组Trie树中的词的前缀的情况下,将所述当前词条作为所述文本分词中的一个分词。4.根据权利要求3所述的方法,其特征在于,所述在所述双数组Trie树中查询所述当前词条,得到与所述当前词条对应的当前匹配结果之后,还包括:在所述当前匹配结果为所述双数组Trie树包括所述当前词条,或所述当前词条是所述双数组Trie树中的词的前缀的情况下,将所述当前词条的最后一个字符作为当前字符;获取所述文本字符中的所述当前字符的下一个字符,由所述当前词条和所述下一个字符组合得到新的当前词条,并返回执行在所述双数组Trie树中查询所述当前词条,得到与所述当前词条对应的当前匹配结果的步骤,直到所述当前匹配结果为所述双数组Trie树不包括所述当前词条且所述当前词条不是所述双数组Trie树中的词的前缀。5.根...

【专利技术属性】
技术研发人员:李宏斌何雯何剑斌郑鸿王华汪倩刘少君胡建陈杰樊智坤
申请(专利权)人:南方电网互联网服务有限公司
类型:发明
国别省市:

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

1