发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种进行应用推荐的方法和装置。
依据本发明的一个方面,提供了一种进行应用推荐的方法,其中,该方法包括:
获取用户的应用相关行为数据;
根据该用户的应用相关行为数据,确定该用户的应用相关属性数据;
将待推荐应用的详情页中的标签与该用户的应用相关属性数据进行匹配,并根据匹配程度进行排序;
将排序在前的预设数量的应用推荐给该用户。
可选地,
所述用户的应用相关行为数据包括:用户的应用下载行为数据和\或用户的应用浏览行为数据。
可选地,
所述获取用户的应用相关行为数据包括:获取用户的历史应用相关行为数据,以及实时获取用户当前的应用相关行为数据。
可选地,该方法进一步包括:
应用的详情页中有关于该应用的一个或多个标签,这些标签被设置为标签链接,使得每个标签被点击时跳转到与该标签相应的应用列表页;对于应用的每个标签,根据该标签被点击的次数确定该标签关于该应用的准确性权重;
对于一个标签待修正的当前应用,在当前标签修正周期,
获取当前应用的当前标签集合中的各标签的准确性权重;
获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重;
对当前应用的当前标签集合和推荐补充标签集合进行合并得到标签并集,标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确定权重和该标签在推荐补充集合中的权重的加权和;
对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签,用修正后的标签对当前应用的详情页中的标签进行更新。
可选地,所述获取当前应用的当前标签集合中的各标签的准确性权重包括:
当前应用的当前标签集合中的每个标签的准确性权重=该标签被点击的次数/当前应用的详情页被访问的次数;
其中,该标签被点击的次数是该标签在当前标签修正周期内被点击的次数,或者是该标签在当前标签修正周期内被点击的次数以及该标签在前第二预设值个标签修正周期内分别被点击的次数的加权和。
可选地,所述获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重包括:
获取当前应用的相似应用集合{S1,S2,…,Sn};
将相似应用集合中的各应用的当前标签集合的并集作为当前应用的推荐补充标签集合;
其中,SIMSi为相似应用集合中的第i个应用与当前应用的相似度,WSi为该标签关于该第i个应用的准确性权重。
可选地,所述获取当前应用的相似应用集合{S1,S2,…,Sn}包括:
获取用户对应用的浏览行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第三预设值的应用的集合作为当前应用的相似应用集合;
或者,
获取用户对应用的下载行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第四预设值的应用的集合作为当前应用的相似应用集合;
或者,
获取用户对应用的安装行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第五预设值的应用的集合作为当前应用的相似应用集合;
或者,统计通过点击当前应用的详情页中的标签后,从跳转的相应的应用列表页下载的各应用的下载次数,取下载次数为前第六预设值的应用作为当前应用的相似应用集合。
可选地,所述标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确定权重和该标签在推荐补充集合中的权重的加权和包括:
标签并集中的每个标签的权重=a×该标签在当前应用的当前标签集合中的准确定权重+b×该标签在推荐补充集合中的权重;
其中,a+b=1,且a大于b。
可选地,该方法在对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签之前进一步包括:
将当前应用的原始标签集合补充到所述标签并集的尾部。
可选地,
迭代执行上述的修正应用的标签的方法,在每个标签修正周期完成一次迭代。
可选地,该方法进一步包括:
获取当前应用的相似应用集合;
如果相似应用集合中有第七预设值个应用具有相同的标签,则将该标签添加到当前应用的当前标签集合中。
可选地,该方法进一步包括:
对于相似应用集合中的每个应用,获取该应用的相应应用集合;
如果该应用的相似应用集合中有第七预设值个应用具有相同的标签,则将该标签添加到该应用的当前标签集合中;以此类推。
根据本发明的另一方面,提供了一种进行应用推荐的装置,该装置包括:
行为数据获取单元,适于获取用户的应用相关行为数据;
用户属性确定单元,适于根据该用户的应用相关行为数据,确定该用户的应用相关属性数据;
匹配单元,适于将待推荐应用的详情页中的标签与该用户的应用相关属性数据进行匹配,并根据匹配程度进行排序;
推荐单元,适于将排序在前的预设数量的应用推荐给该用户。
可选地,
所述行为数据获取单元,适于获取用户的应用下载行为数据和\或用户的应用浏览行为数据。
可选地,
所述行为数据获取单元,适于获取用户的历史应用相关行为数据,以及实时获取用户当前的应用相关行为数据。
可选地,该装置进一步包括:
标签管理单元,适于在应用的详情页中加入关于该应用的一个或多个标签,将这些标签设置为标签链接,使得每个标签被点击时跳转到与该标签相应的应用列表页;并且适于对于应用的每个标签,根据该标签被点击的次数确定该标签关于该应用的准确性权重;
当前标签集合获取单元,适于对于一个标签待修正的当前应用,在当前标签修正周期,获取当前应用的当前标签集合中的各标签的准确性权重;
推荐补充标签集合获取单元,适于获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重;
合并单元,适于对当前应用的当前标签集合和推荐补充标签集合进行合并得到标签并集,标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确定权重和该标签在推荐补充集合中的权重的加权和;
标签管理单元,进一步适于对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签,用修正后的标签对当前应用的详情页中的标签进行更新。
可选地,
所述当前标签集合获取单元获取的当前应用的当前标签集合中的各标签的准确性权重=该标签被点击的次数/当前应用的详情页被访问的次数;
其中,该标签被点击的次数是该标签在当前标签修正周期内被点击的次数,或者是该标签在当前标签修正周期内被点击的次数以及该标签在前第二预设值个标签修正周期内分别被点击的次数的加权和。
可选地,所述推荐补充标签集合获取单元包括:相似应用集合获取单元和推荐补充权重获取单元;
相似应用集合获取单元,适于获取当前应用的相似应用集合{S1,S2,…,Sn};
推荐补充权重获取单元,适于将相似应用集合中的各应用的当前标签集合的并集作为当前应用的推荐补充标签集合; 其中,SIMSi为相似应用集合中的第i个应用与当前应用的相似度,WSi为该标签关于该第i个应用的准确性权重。
可选地,
所述相似应用集合获取单元,适于获取用户对应用的浏览行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第三预设值的应用的集合作为当前应用的相似应用集合;
或者,
适于获取用户对应用的下载行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第四预设值的应用的集合作为当前应用的相似应用集合;
或者,
适于获取用户对应用的安装行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第五预设值的应用的集合作为当前应用的相似应用集合;
或者,适于统计通过点击当前应用的详情页中的标签后,从跳转的相应的应用列表页下载的各应用的下载次数,取下载次数为前第六预设值的应用作为当前应用的相似应用集合。
可选地,
所述合并单元得到的标签并集中的每个标签的权重=a×该标签在当前应用的当前标签集合中的准确定权重+b×该标签在推荐补充集合中的权重;
其中,a+b=1,且a大于b。
可选地,在所述标签管理单元对标签并集中的各标签按权重从大到小排列,取前第一预设值个标签作为当前应用的修正后的标签之前,该装置进一步包括:
原始标签集合补充单元,适于将当前应用的原始标签集合补充到所述标签并集的尾部。
可选地,该装置进一步包括:
迭代单元,适于迭代执行上述的修正应用的标签的方法,在每个标签修正周期完成一次迭代。
可选地,所述相似应用集合获取单元,适于获取当前应用的相似应用集合;
所述标签管理单元,适于在相似应用集合中有第七预设值个应用具有相同的标签时,将该标签添加到当前应用的当前标签集合中。
可选地,其中,
所述相似应用集合获取单元,进一步适于对于相似应用集合中的每个应用,获取该应用的相似应用集合;
所述标签管理单元,进一步适于在该应用的相似应用集合中有第七预设值个应用具有相同的标签时,将该标签添加到该应用的当前标签集合中;以此类推。
由上述可知,本发明提供的技术方案通过分析用户的应用相关行为数据,得到与用户的应用相关属性相匹配的应用数据,进而对于不同的用户,根据他们的口味、喜好和需求给出更加精确的推荐,实现了应用推荐的智能化、个性化和自动化,解决了当前基于大众行为的推荐方案的缺少个性化的缺陷,满足用户需求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种进行应用推荐的方法的流程图。如图1所示,该方法包括:
步骤S110,获取用户的应用相关行为数据;
步骤S120,根据该用户的应用相关行为数据,确定该用户的应用相关属性数据;
步骤S130,将待推荐应用的详情页中的标签与该用户的应用相关属性数据进行匹配,并根据匹配程度进行排序;
步骤S140,将排序在前的预设数量的应用推荐给该用户。
可见,上述的方法通过分析用户的应用相关行为数据,得到与用户的应用相关属性相匹配的应用数据,进而对于不同的用户,根据他们的口味、喜好和需求给出更加精确的推荐,实现了应用推荐的智能化、个性化和自动化,解决了当前基于大众行为的推荐方案的缺少个性化的缺陷,满足用户需求。
图2示出了根据本发明一个实施例的推荐系统产品架构示意图。如图2所示,推荐系统200主要分为五层结构,包括:产品展现层210、服务端前端接口220、推荐数据接口230、推荐引擎240和数据层250。
产品展现层210,适于在PC端或移动终端向用户展示推荐给该用户的应用;
服务端前端接口220,适于将推荐数据接口返回的推荐数据重新封装成前端能展示的形式;
推荐数据接口230,适于取得不同推荐引擎的数据,拼装成统一的推荐数据;
推荐引擎240,适于根据不同的算法推荐与用户的应用相关行为数据相匹配的数据;
数据层250,包括应用数据库、推荐数据库和用户数据库,其中,应用数据库中包括各应用的ID、名称、标签和分类等;推荐数据库中包括推荐系统在以往计算出的推荐数据;用户数据库包括用户的应用相关行为数据,如用户的应用点击行为数据、用户的应用浏览行为数据和用户的应用下载行为数据等。
通过产品展现层210的应用展示,使得用户发生应用相关行为,一方面可以对用户应用相关行为数据进行收集,记录在数据层250中,并通过推荐引擎230进行实时计算或离线计算;另一方面可以将数据层250中的相关数据放入统计后台,以防止由于数据量过大引起的数据层数据溢出。
目前各应用的标签一般由专业运营人员或者用户去标注,人工标注标签来源于标注者对应用的主观感受的概括,往往会产生标注信息准确性差;标注信息不完全;冷门应用的标注完全缺失等问题。
标注信息的不准确和不完全将会导致本发明的进行应用推荐的方法的失效,因此,需要进一步探讨关于如何进行标签修正的技术方案。
图3示出了根据本发明一个实施例的一种修正应用的标签的方法的流程图。如图3所示,该方法包括:
步骤S310,在应用的详情页中加入关于该应用的一个或多个标签,将这些标签设置为标签链接,使得每个标签被点击时跳转到与该标签相应的应用列表页;对于应用的每个标签,根据该标签被点击的次数确定该标签关于该应用的准确性权重;
步骤S320,对于一个标签待修正的当前应用,在当前标签修正周期,获取当前应用的当前标签集合中的各标签的准确性权重;
步骤S330,获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重;
步骤S340,对当前应用的当前标签集合和推荐补充标签集合进行合并得到标签并集,标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确定权重和该标签在推荐补充集合中的权重的加权和;
步骤S350,对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签,用修正后的标签对当前应用的详情页中的标签进行更新。
可见,上述的方法通过对用户行为的统计获取到应用的当前标签集合、当前标签集合中各标签的准确性权重、推荐补充标签集合和推荐补充标签集合中各标签的权重,综合分析当前标签集合和推荐补充集合,得到修正后的标签集合,实现了对应用的标签的自动修正和更新,解决了由于人工标注而产生的各种问题,使得标注信息准确、完全、且对于冷门应用无缺失,进而使得本发明提供的进行应用推荐的方法更加准确和有效。
图9A示出了本发明一个实施例的应用详情页的界面示意图。如图9A所示,当前应用为“XX新闻”应用,在其应用详情页中,包括两个当前标签:“新闻资讯”和“新闻”,点击每个标签,就会跳转到与该标签相应的应用列表页,图9B示出点击“新闻”标签后跳转到的应用列表页。
在本发明的一个实施例中,步骤S320中获取的当前应用的当前标签集合中的各标签的准确性权重=该标签被点击的次数/当前应用的详情页被访问的次数。其中,该标签被点击的次数是该标签在当前标签修正周期内被点击的次数,或者是该标签在当前标签修正周期内被点击的次数以及该标签在前第二预设值个标签修正周期内分别被点击的次数的加权和。
以图9A所示的当前应用“XX新闻”为例,其当前标签集合为{新闻资讯,新闻},则“新闻”标签的准确性权重=“新闻”标签被点击的次数/“XX新闻”应用的详情页被访问的次数。其中,“新闻”标签被点击的次数是它在当前标签修正周期内被点击的次数,或者是它在当前标签修正周期内被点击的次数以及该标签在前第二预设值个标签修正周期内分别被点击的次数的加权和。在本实施例中,设当前标签修正周期为1天,且设第二预设值为1,“新闻”标签被点击的次数是它在今天被点击的次数,或者是它在今天被点击的次数以及该标签在昨天被点击的次数的加权和。分别以W(Today)和W(Yesterday)表示“新闻”标签在今天和昨天的准确性权重,则“新闻”标签的准确性权重=W(Today)×0.5+W(Yesterday)×0.5,其中,0.5为权重,可根据实际情况设置。“新闻资讯”标签的准确性权重计算过程与之类似。
本实施例最终得到当前应用“XX新闻”带有准确性权重的当前标签集合:{新闻(W11),新闻资讯(W12)},其中,W11和W12分别代表“新闻”标签和“新闻资讯”标签的准确性权重。
在本发明的一个实施例中,步骤S330中获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重包括:
获取当前应用的相似应用集合{S1,S2,…,Sn};将相似应用集合中的各应用的当前标签集合的并集作为当前应用的推荐补充标签集合; 其中,SIMSi为相似应用集合中的第i个应用与当前应用的相似度,WSi为该标签关于该第i个应用的准确性权重。
在本发明的一个实施例中,获取当前应用的相似应用集合的过程包括:获取用户对应用的浏览行为数据,并将获取的数据表示成该应用的一个向量,通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度,取与当前应用的相似度大于第三预设值的应用的集合作为当前应用的相似应用集合;或者,获取用户对应用的下载行为数据,并将获取的数据表示成该应用的一个向量,通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度,取与当前应用的相似度大于第四预设值的应用的集合作为当前应用的相似应用集合;或者,获取用户对应用的安装行为数据,并将获取的数据表示成该应用的一个向量,通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度,取与当前应用的相似度大于第五预设值的应用的集合作为当前应用的相似应用集合;或者,统计通过点击当前应用的详情页中的标签后,从跳转的相应的应用列表页下载的各应用的下载次数,取下载次数为前第六预设值的应用作为当前应用的相似应用集合。
图9C示出了本发明一个实施例的当前应用的相似应用集合的示意图。以图9C为例,说明在本发明的一个实施例中获得当前应用的推荐补充标签集合的过程,如图9C所示,当前应用为“XX新闻”应用,其推荐补充标签集合的获取基于以下四个方面:
1、基于浏览数据:获取用户对应用的浏览行为数据,并将获取的数据表示成该应用的一个向量,如,获取一天之内的每个整点时刻“XX新闻”应用的用户浏览量,得到“XX新闻”应用的基于浏览量的24维0-1向量(C1,C2,C3,…,C23,C24),同理,对于其他应用,也可得到其他应用的基于浏览量的24维0-1向量(c1,c2,c3,…,c23,c24),利用余弦相似度公式计算“XX新闻”应用的向量与其它各应用的向量之间的角度的余弦值:
可以知道,该值越大,向量之间的夹角越小,表明二者越相似,即相似度越高。
取与“XX新闻”应用的相似度大于第三预设值的应用的集合作为当前应用的相似应用集合,在本实施例中,取相似度在前5名的应用作为相似应用,则得到“XX新闻”应用的相似应用集合{S1,S2,S3,S4,S5}为{央视新闻,今日头条,凤凰新闻,搜狐新闻,今日头条新闻},对应的相似度为{SIMS1,SIMS2,SIMS3,SIMS4,SIMS5},这五个应用的当前标签集合的并集{新闻,新闻资讯,实时,直播,头条,媒体,互动}作为“XX新闻”应用的推荐补充标签集合,设第j个标签对于五个相似应用的准确性权重分别为{WS1j,WS2j,WS3j,WS4j,WS5j},则推荐补充标签集合中第j个标签关于“XX新闻”应用的权重=SIMS1×WS1j+SIMS2×WS2j+SIMS3×WS3j+SIMS4×WS4j+SIMS5×WS5j。
本实施例最终得到当前应用“XX新闻”带有权重的推荐补充标签集合:{新闻(W21),新闻资讯(W22),实时(W23),直播(W24),头条(W25),媒体(W26),互动(W27)},其中,W2j代表第j个标签对于“XX新闻”应用的权重。
2、基于下载数据:与基于浏览数据的获取过程同理,不再赘述,在本实施例中,取相似度在前5名的应用作为相似应用,得到“XX新闻”应用的相似应用集合为{今日头条,央视新闻,360浏览器,搜狐新闻,360天气};
3、基于安装数据:与基于浏览数据及基于下载数据的获取过程同理,不再赘述,在本实施例中,取相似度在前5名的应用作为相似应用,得到“XX新闻”应用的相似应用集合为{360天气,360安全换季,360浏览器,万年历,360影视大全};
4、基于反馈数据:“XX新闻”应用的详情页中的标签包括{新闻,新闻资讯},点击“新闻”标签或者“新闻资讯”标签后,跳转到相应的应用列表页,统计在相应的应用列表页的各应用的下载次数,在本实施例中,取下载次数为前5的应用作为“XX新闻”应用的相似应用集合,为{凤凰新闻,央视新闻,今日头条新闻,搜狐新闻,微信}。
在本发明的一个实施例中,步骤S340中标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确性权重和该标签在推荐补充集合中的权重的加权和是指:标签并集中的每个标签的权重=a×该标签在当前应用的当前标签集合中的准确定权重+b×该标签在推荐补充集合中的权重;其中,a+b=1,且a大于b,以保证推荐补充的标签排序在标签并集中的尾部。
由前文可知,在本发明的一个实施例中,当前应用为“XX新闻”应用,其当前标签集合中的准确性权重为{新闻(W11),新闻资讯(W12)},推荐补充集合中的权重为{新闻(W21),新闻资讯(W22),实时(W23),直播(W24),头条(W25),媒体(W26),互动(W27)},此处选择了基于浏览数据获取到的推荐补充集合的原因是,对于“XX新闻”应用该类应用,浏览数据代表用户的寻找过程,用户寻找过程往往是趋于功能相似的应用,更符合当前应用的标签修正场景。在本实施例中设a=0.7,b=0.3,因此,标签并集{新闻,新闻资讯,实时,直播,头条,媒体,互动}中,第j个标签的权重(Wj)=0.7×W1j+0.3×W2j,其它标签的权重的计算过程与之同理,最终结果为{新闻(W1),新闻资讯(W2),实时(W3),直播(W4),头条(W5),媒体(W6),互动(W7)},其中Wj代表第j个标签在当前应用“XX新闻”中的修正后的权重。
在本发明的一个实施例中,在步骤S350对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签之前进一步包括:将当前应用的原始标签集合补充到所述标签并集的尾部。以解决上述的当前标签集合和推荐补充标签集合为空或很少的情况。
图9D示出了本发明一个实施例的一种修正应用的标签的数据流转示意图。如图9D所示,在修正当前应用的标签的过程中,主要获取到三种数据:当前标签的准确性权重集合、原始标签集合和推荐补充标签集合,在不同情况下做综合加权处理,得到更新后的应用详情页中的标签集合。
在上述各实施例的基础上,迭代执行上述的修正应用的标签的方法,在每个标签修正周期完成一次迭代。
每次修正后的标签等待下一个标签修正周期内用户点击反馈来进一步调整,如此在尽量减少错误的基础上,通过长时间的迭代不断修正标签结果。
在本发明的一个实施例中,在上述各实施例的基础上,图3所示的方法进一步包括:获取当前应用的相似应用集合;如果相似应用集合中有第七预设值个应用具有相同的标签,则将该标签添加到当前应用的当前标签集合中。
与之相对应地,对于相似应用集合中的每个应用,获取该应用的相应应用集合;如果该应用的相似应用集合中有第七预设值个应用具有相同的标签,则将该标签添加到该应用的当前标签集合中;以此类推。
图9E示出了本发明一个实施例的标签在相似应用中流转的示意图。如图9E所示,如果应用APP11的当前标签集合为{t3},应用APP11相似应用集合为{APP111,APP112,APP113},如果在该相似应用集合中有第七预设值个应用具有相同的标签,本实施例中第七预设值为2,应用APP111的当前标签集合为{t1,t2},应用APP112的当前标签集合为{t1,t2},则将标签t1,t2添加到应用APP11的当前标签集合中,使其变为{t1,t2,t3},此时应用APP11与应用APP12作为应用APP1的相似应用,且应用APP11与应用APP12具有相同的标签t1,则应用APP11的标签修正结果又对应用APP1产生了影响,原本应用APP1是标签缺失的情况,现在则可修正为APP1{t1}。因此,通过本方法可以使相似应用集合中的有效标签不断在相似应用中流转。
在本发明的其他实施例中,包含上述实施例中的任意两个或两个以上的组合。
图4示出了根据本发明一个实施例的一种修正应用的标签的方法的流程图。如图4所示,示出了获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重的方法,该方法包括:
步骤S410,获取当前应用的相似应用集合{S1,S2,…,Sn};
在本步骤中,获取当前应用的相似应用集合包括:获取用户对应用的浏览行为数据,并将获取的数据表示成该应用的一个向量,通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度,取与当前应用的相似度大于第三预设值的应用的集合作为当前应用的相似应用集合;或者,获取用户对应用的下载行为数据,并将获取的数据表示成该应用的一个向量,通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度,取与当前应用的相似度大于第四预设值的应用的集合作为当前应用的相似应用集合;或者,获取用户对应用的安装行为数据,并将获取的数据表示成该应用的一个向量,通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度,取与当前应用的相似度大于第五预设值的应用的集合作为当前应用的相似应用集合;或者,统计通过点击当前应用的详情页中的标签后,从跳转的相应的应用列表页下载的各应用的下载次数,取下载次数为前第六预设值的应用作为当前应用的相似应用集合。
步骤S420,将相似应用集合中的各应用的当前标签集合的并集作为当前应用的推荐补充标签集合;
步骤S430, 其中,SIMSi为相似应用集合中的第i个应用与当前应用的相似度,WSi为该标签关于该第i个应用的准确性权重。
本实施例的其他步骤以及具体应用情景在上文已详细阐述,在此不再赘述。本实施例通过对用户行为的统计得到当前应用的相似应用集合,进一步得到推荐补充标签集合及其权重,解决了一些应用中有效标签缺失的情况,使得修正后的标签准确性大幅提高。
图5示出了根据本发明一个实施例的一种进行应用推荐的装置的示意图。如图5所示,该装置500包括:行为数据获取单元510、用户属性确定单元520、匹配单元530和推荐单元540。
行为数据获取单元510,适于获取用户的应用相关行为数据;
用户属性确定单元520,适于根据该用户的应用相关行为数据,确定该用户的应用相关属性数据;
匹配单元530,适于将待推荐应用的详情页中的标签与该用户的应用相关属性数据进行匹配,并根据匹配程度进行排序;
推荐单元540,适于将排序在前的预设数量的应用推荐给该用户。
可见,上述装置通过分析用户的应用相关行为数据,得到与用户的应用相关属性相匹配的应用数据,进而对于不同的用户,根据他们的口味、喜好和需求给出更加精确的推荐,实现了应用推荐的智能化、个性化和自动化,解决了当前基于大众行为的推荐方案的缺少个性化的缺陷,满足用户需求。
由于前文中所述的目前人工标注应用标签的不准确性,为了保证本发明的顺利实施,本发明实施例中的进行应用推荐的装置进一步包括修正应用的标签的装置,下文中将进一步讨论关于修正应用的标签的装置如何修正标签的技术方案。
图6示出了根据本发明一个实施例的一种修正应用的标签的装置的示意图。如图6所示,示出了一种用于修正应用的标签的装置,该装置600包括:标签管理单元610、当前标签集合获取单元620、推荐补充标签集合获取单元630和合并单元640。
标签管理单元610,适于在应用的详情页中加入关于该应用的一个或多个标签,将这些标签设置为标签链接,使得每个标签被点击时跳转到与该标签相应的应用列表页;并且适于对于应用的每个标签,根据该标签被点击的次数确定该标签关于该应用的准确性权重;
当前标签集合获取单元620,适于对于一个标签待修正的当前应用,在当前标签修正周期,获取当前应用的当前标签集合中的各标签的准确性权重;
推荐补充标签集合获取单元630,适于获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重;
合并单元640,适于对当前应用的当前标签集合和推荐补充标签集合进行合并得到标签并集,标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确定权重和该标签在推荐补充集合中的权重的加权和;
标签管理单元610,进一步适于对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签,用修正后的标签对当前应用的详情页中的标签进行更新。
可见,上述的装置600中的当前标签集合获取单元620和推荐补充标签集合获取单元630通过对用户行为的统计获取到应用的当前标签集合、当前标签集合中各标签的准确性权重、推荐补充标签集合和推荐补充标签集合中各标签的权重,合并单元640综合分析当前标签集合和推荐补充集合,得到修正后的标签集合,实现了对应用的标签的自动修正和更新,与现有技术相比,修正后的标签补充了应用中缺失的标签信息,并使得标签信息的准确性大幅提高,进一步提高了本发明中一种进行应用推荐的装置的可靠性和有效性。
本实施例的具体应用情景在上文已详细阐述,在此不再赘述。
图7示出了根据本发明一个实施例的一种修正应用的标签的装置的示意图。如图7所示,该装置700包括:标签管理单元710、当前标签集合获取单元720、相似应用集合获取单元730、推荐补充权重获取单元740和合并单元750,其中,标签管理单元710、当前标签集合获取单元720和合并单元750的功能与图6中所示的完全相同,在此不再赘述。
相似应用集合获取单元730,适于获取当前应用的相似应用集合{S1,S2,…Sn};
推荐补充权重获取单元740,适于将相似应用集合中的各应用的当前标签集合的并集作为当前应用的推荐补充标签集合, 其中,SIMSi为相似应用集合中的第i个应用与当前应用的相似度,WSi为该标签关于该第i个应用的准确性权重。
本实施例的具体应用情景在上文已详细阐述,在此不再赘述。本实施例相似应用集合获取单元730通过对用户行为的统计得到当前应用的相似应用集合,推荐补充权重获取单元740进一步得到推荐补充标签集合及其权重,解决了一些应用中有效标签缺失的情况,使得修正后的标签准确性大幅提高。
图8示出了根据本发明一个实施例的一种修正应用的标签的装置的示意图。如图8所示,该装置800包括:标签管理单元810、当前标签集合获取单元820、推荐补充标签集合获取单元830、合并单元840和原始标签集合补充单元850,其中,标签管理单元810、当前标签集合获取单元820和合并单元840的功能与图6中所示的完全相同,在此不再赘述。
原始标签集合补充单元850,适于在标签管理单元810对标签并集中的个标签按权重从大到小修正,取前第一预设值个标签作为当前应用的修正后的标签之前,将当前应用的原始标签集合补充到所述标签并集的尾部。
本实施例的具体应用情景在上文已详细阐述,在此不再赘述。
综上所述,本发明提供的技术方案通过统计用户的应用相关行为数据与应用的标签的匹配度,向用户推荐用户感兴趣的应用,实现了应用推荐技术方案的智能化和个性化;不仅如此,本发明提供的技术方案还通过统计用户对应用中标签的点击行为,利用得到的当前标签集合、推荐补充标签集合和原始标签集合,实现了修正应用的标签的自动化和智能化,提高了修正方案的准确性,修正了原人工标注中产生的标签信息不完全的问题,对冷门应用的标签信息进行了补充,极大的提高了应用的标签与当前应用的匹配性,进一步提高了进行应用推荐技术方案的可靠性,满足用户需求。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种进行应用推荐的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种进行应用推荐的方法,其中,该方法包括:
获取用户的应用相关行为数据;
根据该用户的应用相关行为数据,确定该用户的应用相关属性数据;
将待推荐应用的详情页中的标签与该用户的应用相关属性数据进行匹配,并根据匹配程度进行排序;
将排序在前的预设数量的应用推荐给该用户。
A2、如权利要求A1所述的方法,其中,
所述用户的应用相关行为数据包括:用户的应用下载行为数据和\或用户的应用浏览行为数据。
A3、如权利要求A1所述的方法,其中,
所述获取用户的应用相关行为数据包括:获取用户的历史应用相关行为数据,以及实时获取用户当前的应用相关行为数据。
A4、如权利要求A1所述的方法,其中,该方法进一步包括:
应用的详情页中有关于该应用的一个或多个标签,这些标签被设置为标签链接,使得每个标签被点击时跳转到与该标签相应的应用列表页;对于应用的每个标签,根据该标签被点击的次数确定该标签关于该应用的准确性权重;
对于一个标签待修正的当前应用,在当前标签修正周期,
获取当前应用的当前标签集合中的各标签的准确性权重;
获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重;
对当前应用的当前标签集合和推荐补充标签集合进行合并得到标签并集,标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确定权重和该标签在推荐补充集合中的权重的加权和;
对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签,用修正后的标签对当前应用的详情页中的标签进行更新。
A5、如权利要求A4所述的方法,其中,所述获取当前应用的当前标签集合中的各标签的准确性权重包括:
当前应用的当前标签集合中的每个标签的准确性权重=该标签被点击的次数/当前应用的详情页被访问的次数;
其中,该标签被点击的次数是该标签在当前标签修正周期内被点击的次数,或者是该标签在当前标签修正周期内被点击的次数以及该标签在前第二预设值个标签修正周期内分别被点击的次数的加权和。
A6、如权利要求A4所述的方法,其中,所述获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重包括:
获取当前应用的相似应用集合{S1,S2,…,Sn};
将相似应用集合中的各应用的当前标签集合的并集作为当前应用的推荐补充标签集合;
其中,SIMSi为相似应用集合中的第i个应用与当前应用的相似度,WSi为该标签关于该第i个应用的准确性权重。
A7、如权利要求A6所述的方法,其中,所述获取当前应用的相似应用集合{S1,S2,…,Sn}包括:
获取用户对应用的浏览行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第三预设值的应用的集合作为当前应用的相似应用集合;
或者,
获取用户对应用的下载行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第四预设值的应用的集合作为当前应用的相似应用集合;
或者,
获取用户对应用的安装行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第五预设值的应用的集合作为当前应用的相似应用集合;
或者,统计通过点击当前应用的详情页中的标签后,从跳转的相应的应用列表页下载的各应用的下载次数,取下载次数为前第六预设值的应用作为当前应用的相似应用集合。
A8、如权利要求A4所述的方法,其中,所述标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确定权重和该标签在推荐补充集合中的权重的加权和包括:
标签并集中的每个标签的权重=a×该标签在当前应用的当前标签集合中的准确定权重+b×该标签在推荐补充集合中的权重;
其中,a+b=1,且a大于b。
A9、如权利要求A4所述的方法,其中,该方法在对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签之前进一步包括:
将当前应用的原始标签集合补充到所述标签并集的尾部。
A10、如权利要求A4-A9中任一项所述的方法,其中,
迭代执行上述的修正应用的标签的方法,在每个标签修正周期完成一次迭代。
A11、如权利要求A4-A9中任一项所述的方法,其中,该方法进一步包括:
获取当前应用的相似应用集合;
如果相似应用集合中有第七预设值个应用具有相同的标签,则将该标签添加到当前应用的当前标签集合中。
A12、如权利要求A11所述的方法,其中,该方法进一步包括:
对于相似应用集合中的每个应用,获取该应用的相应应用集合;
如果该应用的相似应用集合中有第七预设值个应用具有相同的标签,则将该标签添加到该应用的当前标签集合中;以此类推。
本发明还公开了B13、一种进行应用推荐的装置,其中,该装置包括:
行为数据获取单元,适于获取用户的应用相关行为数据;
用户属性确定单元,适于根据该用户的应用相关行为数据,确定该用户的应用相关属性数据;
匹配单元,适于将待推荐应用的详情页中的标签与该用户的应用相关属性数据进行匹配,并根据匹配程度进行排序;
推荐单元,适于将排序在前的预设数量的应用推荐给该用户。
B14、如权利要求B13所述的装置,其中,
所述行为数据获取单元,适于获取用户的应用下载行为数据和\或用户的应用浏览行为数据。
B15、如权利要求B13所述的装置,其中,
所述行为数据获取单元,适于获取用户的历史应用相关行为数据,以及实时获取用户当前的应用相关行为数据。
B16、如权利要求B13所述的装置,其中,该装置进一步包括:
标签管理单元,适于在应用的详情页中加入关于该应用的一个或多个标签,将这些标签设置为标签链接,使得每个标签被点击时跳转到与该标签相应的应用列表页;并且适于对于应用的每个标签,根据该标签被点击的次数确定该标签关于该应用的准确性权重;
当前标签集合获取单元,适于对于一个标签待修正的当前应用,在当前标签修正周期,获取当前应用的当前标签集合中的各标签的准确性权重;
推荐补充标签集合获取单元,适于获取当前应用的推荐补充标签集合,并确定推荐补充标签集合中各标签关于当前应用的权重;
合并单元,适于对当前应用的当前标签集合和推荐补充标签集合进行合并得到标签并集,标签并集中的每个标签的权重等于该标签在当前应用的当前标签集合中的准确定权重和该标签在推荐补充集合中的权重的加权和;
标签管理单元,进一步适于对标签并集中的各标签按权重从大到小排序,取前第一预设值个标签作为当前应用的修正后的标签,用修正后的标签对当前应用的详情页中的标签进行更新。
B17、如权利要求B16所述的装置,其中,
所述当前标签集合获取单元获取的当前应用的当前标签集合中的各标签的准确性权重=该标签被点击的次数/当前应用的详情页被访问的次数;
其中,该标签被点击的次数是该标签在当前标签修正周期内被点击的次数,或者是该标签在当前标签修正周期内被点击的次数以及该标签在前第二预设值个标签修正周期内分别被点击的次数的加权和。
B18、如权利要求B16所述的装置,其中,所述推荐补充标签集合获取单元包括:相似应用集合获取单元和推荐补充权重获取单元;
相似应用集合获取单元,适于获取当前应用的相似应用集合{S1,S2,…,Sn};
推荐补充权重获取单元,适于将相似应用集合中的各应用的当前标签集合的并集作为当前应用的推荐补充标签集合; 其中,SIMSi为相似应用集合中的第i个应用与当前应用的相似度,WSi为该标签关于该第i个应用的准确性权重。
B19、如权利要求B18所述的装置,其中,
所述相似应用集合获取单元,适于获取用户对应用的浏览行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第三预设值的应用的集合作为当前应用的相似应用集合;
或者,
适于获取用户对应用的下载行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第四预设值的应用的集合作为当前应用的相似应用集合;
或者,
适于获取用户对应用的安装行为数据,并将获取的数据表示成该应用的一个向量;通过计算两个应用的两个向量之间的余弦相似度得到这两个应用的相似度;取与当前应用的相似度大于第五预设值的应用的集合作为当前应用的相似应用集合;
或者,适于统计通过点击当前应用的详情页中的标签后,从跳转的相应的应用列表页下载的各应用的下载次数,取下载次数为前第六预设值的应用作为当前应用的相似应用集合。
B20、如权利要求B16所述的装置,其中,
所述合并单元得到的标签并集中的每个标签的权重=a×该标签在当前应用的当前标签集合中的准确定权重+b×该标签在推荐补充集合中的权重;
其中,a+b=1,且a大于b。
B21、如权利要求B16所述的装置,其中,在所述标签管理单元对标签并集中的各标签按权重从大到小排列,取前第一预设值个标签作为当前应用的修正后的标签之前,该装置进一步包括:
原始标签集合补充单元,适于将当前应用的原始标签集合补充到所述标签并集的尾部。
B22、如权利要求B16-B21中任一项所述的装置,其中,该装置进一步包括:
迭代单元,适于迭代执行上述的修正应用的标签的方法,在每个标签修正周期完成一次迭代。
B23、如权利要求B16-B21中任一项所述的装置,其中,所述相似应用集合获取单元,适于获取当前应用的相似应用集合;
所述标签管理单元,适于在相似应用集合中有第七预设值个应用具有相同的标签时,将该标签添加到当前应用的当前标签集合中。
B24、如权利要求B23所述的装置,其中,
所述相似应用集合获取单元,进一步适于对于相似应用集合中的每个应用,获取该应用的相似应用集合;
所述标签管理单元,进一步适于在该应用的相似应用集合中有第七预设值个应用具有相同的标签时,将该标签添加到该应用的当前标签集合中;以此类推。