首页> 中国专利> 一种基于内容的计算移动应用相似性的方法

一种基于内容的计算移动应用相似性的方法

摘要

本发明涉及一种基于内容的计算移动应用相似性的方法。包括如下步骤:在获取大量移动应用信息后,进行移动应用信息的提取,包括应用名称、应用类型、应用描述和应用大小等;将应用描述信息进行分词;将分词完毕后的内容分为两份,一份整合后作为word2vec的模型的训练语料,另一份存成文档集的形式并进行TF-IDF的计算,然后将结果存入HBase数据仓库;进行app相似性查询及计算。实施本发明的一种基于内容的计算移动应用相似性的方法,具有以下有益效果:可以快速的响应app的相似性查询,基于内容的app特征及描述信息能够很好地代指app,准确率高,可提高app的搜索及推荐的准确率。

著录项

  • 公开/公告号CN105677695A

    专利类型发明专利

  • 公开/公告日2016-06-15

    原文格式PDF

  • 申请/专利权人 杭州圆橙科技有限公司;

    申请/专利号CN201510776878.9

  • 发明设计人 吴明晖;刘泽民;金苍宏;应晶;

    申请日2015-11-13

  • 分类号G06F17/30(20060101);

  • 代理机构杭州宇信知识产权代理事务所(普通合伙);

  • 代理人张宇娟

  • 地址 310016 浙江省杭州市上城区海潮路53号274室

  • 入库时间 2023-12-18 15:32:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-08

    授权

    授权

  • 2016-07-13

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20151113

    实质审查的生效

  • 2016-06-15

    公开

    公开

说明书

技术领域

本发明涉及数据信息检索及推荐系统领域,特别涉及一种通过信息检索而 完成的基于特征内容的计算移动应用相似性的方法。

背景技术

随着移动互联网的日益兴盛以及“互联网+”的提出,移动互联网的便捷性 与高效性越来越为人们所熟知。O2O(OnlineToOffline,线上到线下)概念的 提出及各种线上线下的应用,不仅快速促进了商品的买卖,也极大的丰富了人 们的生活。

在大众的“互联网+”的生活中,海量的移动应用(MobileApplications,简 称app)占据着举足重要的地位。国内各大移动应用市场为大众的app需求提供 了强有力的支撑。在移动应用市场中,用户往往会搜索自己需要的app。但在这 样海量的条件下,对作为非专业人员的大众用户来说,会出现很多搜索的结果 并不是自己需要的情况。因此,急需一种方法,可以在用户查询相关app的同 时,能够为用户提供一些相似的app,用以满足用户可能的粗略查询等。同时在 推荐系统中,可以主动为用户推荐一些与用户终端上安装的app类似的移动应 用,根据用户的喜好来推荐移动应用可以提高推荐的准确率。

现有的对于应用的相似性计算,有基于底层代码和接口的相似性计算。这 些基于代码层的相似性计算,无法直接反映普通用户的语义需求,且开发完成 的移动应用app均是完整的.apk文件,无法获取其底层的代码细节,故已经不适 应用户的当前需求。

对于应用的相似性计算,同时还有基于app内容的相似性计算方法。大部 分的基于内容的相似性计算方法是基于app的描述信息,因为描述信息是能够 描述一个app本身比较权威的资料。但是,现有的描述信息的计算方法一般是 基于词袋模型来做的。词袋模型没有考虑词与词之间的顺序,这样就忽略了很 多词的上下文关系,在计算向量间的相似性时,比如两个近义词,由于不是同 一个词,很有可能使得相似性变小而出现很大的误差。

同时,计算相似性应用时,现有大多数方法并未将app的其他诸如名称、 类别及大小等信息考虑在内。而有的方法又将诸如app的评论信息也加入其中。 据我们观察发现,app的评论信息的质量非常差,一般无法反应出app的真实内 容。

因此,针对目前现有的技术中存在的上述缺陷,有必要进行研究,提供一 种方案,解决现有技术中存在的缺陷,使得相似性计算方法能够更深层次的依 赖于app特征信息。

发明内容

本发明的目的在于提供一种移动应用app的相似性计算方法,用于更好的 从海量app库中找到某个app的最相似app,以便提高app的搜索的准确率和推 荐的成功率。

为实现上述目的,本发明的技术方案为:

一种基于内容的计算移动应用相似性的方法,包括如下步骤:

S10.爬取大量app数据并进行数据的特征整理,将整理好的特征保存到数 据库中,建立一个特征库以供查询;

S20.根据待查询app的特征信息,在所述特征库中进行查询及计算,找出 待查询app的相似app;所述待查询app的特征信息由用户提供或从所述特征库 中查询得到。

进一步的,步骤S10包括以下步骤:

S101.将大量app数据爬取下来,结构化整理后存入到数据库中;

S102.将所述数据库中每个app的描述信息单独整合成文件,然后分别分 词;

S103.分词完成后得到的数据,一份拷贝作为完整语料库合并,然后使用 word2vec进行语料库的训练;另一份拷贝则按照原有的文件结构,进行各文档 间TF-IDF的计算,得出每个文档中所有关键词的权重;

S104.将计算得出的关键词及其权重写入HBase中,其中行对应每个app 包名,列对应所有关键词,值为关键词权重,建立特征库以供查询;

S105.计算出app的名称、类型、描述和应用大小四个方面特征的相似性并 以各自的权重进行整合,作为算法最后的相似性值。

进一步的,步骤S20包括以下步骤:

S201.获取要查询的app的包名作为其唯一名称;

S202.在HBase中的特征库库中,按照app的包名进行横向查询,找出此 app所有的关键词;

S203.对于每个关键词,分别使用word2vec找出这个关键词前K个近义词 进行扩展;

S204.将扩展后的关键词进行权重的整合,并挑选出其前N个关键词作为 此app的绝对关键词;

S205.根据绝对关键词,按列查询HBase中的特征库,将所述绝对关键词 对应的所有的app查询出来,并将app的权重进行整合;

S206.分别计算这些app与待查询app之间的名称、类别及大小的相似值, 然后将这些app与待查询app之间的描述信息、名称、类别及大小的相似值按照 各自的权重进行整合,作为这些app与待查询app之间的相似性值;

S207.将整合后的app按照权重降序排列,建立app的相似性排序,权重越 大的即为越相似的app。

本发明的有益效果是:提供了一种移动应用app的相似性计算方法,用于 更好的从海量app库中找到某个app的最相似app,以便提高app的搜索的准确 率和推荐的成功率。具体表现在如下方面:

1)使用app的描述信息,同时使用word2vec进行近义词的计算,不仅能够 很好地反映app的具体语义内容,同时能够结合描述信息中的上下文关系,更 好的挖掘出其中的近义词特征;

2)结合了app的名称、类型、大小及描述信息,充分使用app的特征,同 时将app的评论等的内容较差的信息排除在外,计算结果更准确全面;

3)使用HBase作为数据仓库进行数据的查询,对于海量的app数据可以更 快速的进行处理。

附图说明

图1为本发明的基于内容的计算移动应用相似性的方法的实施例的流程示 意图。

具体实施方式

为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述, 但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本 发明权利要求的限制。

本发明提供了一种基于内容的计算移动应用相似性的方法,依赖于app的 名称、描述信息、类型及大小等特征,找到与此app最为相似的app,具体包括 以下步骤:

S1.爬取大量app数据并进行数据的特征整理,将整理好的特征保存到数据 库中,建立一个特征库以供查询;

S2.根据待查询app的特征信息,在所述特征库中进行查询及计算,找出待 查询app的相似app;所述待查询app的特征信息由用户提供或从所述特征库中 查询得到。

下面结合具体实施方式,对上述内容作进一步详细说明。

步骤S10,从网上爬取大量app的相关信息,其中包括app的名称、类别、 大小及描述信息,并将这些信息保存到关系型数据库中。

步骤S20,提取出所有app的描述信息,并将此信息分为两部分,分别进行 计算,包括以下步骤:

S201与S202,从数据库中获取所有的app数据,并将其名称、类型、大小 及描述信息读取出来;

S203,将app描述信息分成单独的文档的形式,首先将各个文档的内容在 去掉停止词并且添加保留词的前提下进行分词,然后对整个文档集计算其 TF-IDF(TermFrequency–InverseDocumentFrequency,词频-逆文档频率)值, 得到每个文档的关键词及其权重;

S204,将所有的分好词后的app描述信息组成一个大的文档,然后将其作 为word2vec的训练语料库,进行训练;

S205,将步骤S203的结果内容存入到HBase数据仓库中,以便进行基于 app描述信息的数据检索。将每个文档对应的app包名作为HBase的rowkey, 将所有关键词作为HBase的列内容。当存储一款计算后的app的描述信息时, 其包名作为rowkey,其所有的关键词作为对应的列,同时关键词的权重值作为 列对应的值。这样不仅能够快速的查找某款app对应的信息,同时能够动态的 扩展其对应的关键词,方便检索;

步骤S30,找一种能够将根据相似性结果进行权重调整的方法,将app的名 称、类型、大小及描述信息进行整合,在保持得到最优相似app的条件下,使 用多组案例计算出这四个属性组合的最佳权重。

步骤S40,将数据准备完毕后,便可以开始进行相似app的检索步骤,其内 容进一步包括如下步骤:

S401,得到待检索app的包名;

S402,根据待检索的app包名,在HBase中检索出其作为rowkey所对应的 行,并从中找到其对应的所有关键词及权重;

S403,将所有的关键词使用word2vec的训练结果进行同义词扩展,并将扩 展出来的词计算其加权权重,然后将相同的词进行合并,同时将权重相叠加;

S404,依据扩展出的关键词及其权重,将每个词列中的权重均归一化后, 在HBase数据仓库中纵向查找其对应的app。每个词对应多个app,然后计算出 每个app的权重,并进行整合,降序并过滤出根据描述信息最相似的多个app;

S405,根据S404得出的app,提取它们的名称、类型、大小等信息;

S406,使用编辑距离的方法计算app名称与检索app的名称的相似性;

S407,使用分类讨论的方法计算app的类型与检索app类型的相似性:

S408,计算app的大小与检索app的相似性。使用公式:

Similarity=1-|sizex-sizea|sizemax-sizemin

其中,a为待检索app,x为S404中计算出的基于描述信息相似的每个app, sizemax为这些相似app的占用最大空间的app的大小,sizemin为这些相似app的 占用最小空间的app的大小。

S409,将app的名称、类型、大小及描述信息计算出的相似度依据每个属 性的权重进行加权整合,得到一个最终的相似度值,也即以下公式:

Similarity=λ1Simname2Simcategory3Simsize4Simdescription

其中,name指app名称,category指app类型,size指app的大小,description 指app描述信息,分别指计算出的整合各方面权重时app名称、类型、大小及描 述信息的权重,且有λ1234=1。

然后按照Similarity值将结果进行排序并过滤,得到最后的最相似的一个或 多个app。

以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指 出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还 可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的 保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号