一种用于应用程序的推荐方法及系统的制作方法_3

文档序号:9844123阅读:来源:国知局
,当然,在具体实施过程中,不限于以下几种情况。
[0226] ①欧几里得距离(Euclidean Distance),其计算公式如下:
[0227]
----------------------...............[1]
[0228] 其中,X表示第一特征向量,Y表示第二特征向量。
[0229] ②明可夫斯基距离(Minkowski Distance)
[0230] 其中,明氏距离是欧氏距离的推广,是对多个距离度量公式的概括性的表述。其计 算公式如下:
[0231]
Γ0.? 磨: 象雇*·.?'? '??· ?·+?? β β ? · ?.·? *' ft Λ' ? .· · I '/. Λ I
[0232] 其中,X表示第一特征向量,Υ表示第二特征向量,这里的ρ值是一个变量,当ρ = 2的 时候就得到了公式[1]。
[0233] ③曼哈顿距离(Manhattan Distance)
[0234] 其中,曼哈顿距离来源于城市区块距离,是将多个维度上的距离进行求和后的结 果,即当上面的公式[2]中p = l时得到的距离度量公式,具体如下:
[0235]
:·.·.· · ? i ??丨 ? · · a ? · * ? ·-(:· ?·.· ? β * ··.? ·-·'* · · I Λ I
[0236] 其中,X表示第一特征向量,Y表示第二特征向量
[0237] 其中,由于程序相似度值与第一距离值呈反向关关系,故而可以将第一距离值的 倒数,作为对应的程序相似度值;又或者,给该倒数乘上一个特定系数(该特定系数可以为 任意值,例如:10、20等等)之后作为对应的程序相似度值。
[0238] 确定程序相似度值的方式二:计算第一特征向量与第二特征向量的第一相似度 值;通过第一相似度值确定出程序相似度值,第一相似度值与程序相似度值呈正相关关系。
[0239] 在具体实施过程中,可以计算第一特征向量与第二特征向量的多种形式的第一相 似度值,下面列举其中的几种进行介绍,当然,在具体实施过程中,不限于以下几种情况。
[0240] ①余弦相似度(Cosine Similarity)
[0241] 余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大 小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异,而非距离或长度上。公 式如下:
[0?4?1
............ ?,.................... [4]
[0243] 其中,X表示第一特征向量,Y表示第二特征向量。
[0244] ②皮尔森相似度值(Pearson Correlation Coefficient)
[0245] 即相关分析中的相关系数r,分别对X和Y基于自身总体标准化后计算空间向量的 余弦夹角,公式如下:
[0246]
……,".....· [5]
[0247] 其中,X表示第一特征向量,Υ表示第二特征向量。
[0248] ③调整余弦相似度(Adjusted Cosine Similarity)
[0249] 虽然余弦相似度对个体间存在的偏见可以进行一定的修正,但是因为只能分辨个 体在维之间的差异,没法衡量每个维数值的差异,会导致这样一个情况:比如用户对内容评 分,5分制,X和Y两个用户对两个内容的评分分别为(1,2)和(4,5),使用余弦相似度得出的 结果是〇. 98,两者极为相似,但从评分上看X似乎不喜欢这2个内容,而Y比较喜欢,余弦相似 度对数值的不敏感导致了结果的误差,需要修正这种不合理性,就出现了调整余弦相似度, 即所有维度上的数值都减去一个均值,比如X和Y的评分均值都是3,那么调整后为(-2,-1) 和(1,2),再用余弦相似度计算,得到-0.8,相似度为负值并且差异不小,但显然更加符合现 实。
[0250] 其中,由于程序相似度值与第一相似度值呈正向关关系,故而可以直接将第一相 似度作为程序相似度值,又或者将第一相似度值乘上一个特定系数(该特定系数可以为任 意值,例如:1〇、1〇〇等等)之后作为对应的程序相似度值。
[0251] 步骤S104中,第一预设相似度条件可以为多种条件,进而确定出两个应用程序是 否相似的方式也不同,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以 下两种情况。
[0252] 第一种,当两个应用程序之间的程序相似度值满足预设相似度条件时,确定两个 应用程序为相似应用程序,包括:确定两个应用程序的程序相似度值是否大于预设程序相 似度值;在两个应用程序的程序相似度值大于预设程序相似度值时,确定两个应用程序为 相似应用程序。
[0253] 在具体实施过程中,可以根据实际需求设置不同的预设程序相似度值,该预设相 似度值例如为1〇、20等等,本发明实施例不作限制。其中,如果希望筛选出更加精确的第二 应用程序,则预设程序相似度值设置的较高,如果希望筛选出更多的第二应用程序,则预设 程序相似度值设置的较低。
[0254] 如果两个应用程序的程序相似度值大于预设程序相似度值,则在第一用户针对其 中一个应用程序产生第一行为的情况下,其对针对另一个应用程序产生第一行为的概率较 高,故而可以将这两个应用程序彼此作为相似应用程序。
[0255] 第二种,当两个应用程序之间的程序相似度值满足预设相似度条件时,确定两个 应用程序为相似应用程序,包括:针对特定应用程序,对各个应用程序与特定应用程序的程 序相似度值按照从高到低排列;将排序位于前Μ位的应用程序作为特定应用程序的相似应 用程序,Μ为正整数。
[0256] 举例来说,可以根据实际需求设置不同的Μ值,例如:5、10等等,其中,如果希望给 特定应用程序确定较多的相似应用程序,则可以将Μ值设置的较高,如果希望给特定应用程 序确定较为精确的相似应用程序,则可以将Μ值设置的较低等等,对于Μ具体取和值,本发明 实施例不作限制。
[0257] 在具体实施过程中,在确定与特定应用程序相似的相似应用程序时,可以选取多 种应用程序与特定应用程序计算程序相似度值,下面列举其中的三种进行介绍,当然,在具 体实施过程中,不限于以下三种情况。
[0258] ①针对系统中的每个应用程序都确定其与特定应用程序的程序相似度值,以表1 所示的应用程序为例,则需要选取表1中的ΑΡΡ1~ΑΡΡ17分别计算其与特定应用程序的程序 相似度值。
[0259] ②针对系统中的部分应用程序确定其与特定应用程序的程序相似度值,例如:可 以首先确定出特定应用程序所属的类别,然后计算与特定应用程序的类别相同的其他应用 程序与特定应用程序的程序相似度值,还是以表1所示的应用程序为例,则如果特定应用程 序为ΑΡΡ1,首先确定出ΑΡΡ1所属的类别为音乐类ΑΡΡ,则可以分别将音乐类ΑΡΡ下的其他应 用程序(例如:ΑΡΡ2、ΑΡΡ3)与ΑΡΡ1计算程序相似度值,由于该方案中仅仅确定特定应用程序 与同类别的其他应用程序的程序相似度值,故而存在着降低设备处理负担的技术效果,且 与特定应用程序的类别不同的其他应用程序与特定应用程序的程序相似度高的概率较低, 故而通过该方案,通常也不会存在遗漏与特定应用程序相似的应用程序的问题。
[0260]③系统每隔一段时间(例如:1天、1周等等)就获取系统中出现的新的应用程序,然 后逐个将新的应用程序与特定应用程序进行比较,以确定其与特定应用程序是否为相似应 用程序。
[0261] 本发明实施例还提供了一种用于应用程序的推荐方法,是对前述用于获得相似应 用程序的方法的进一步的利用,请参考图2,包括:
[0262] 步骤S201:获知终端的用户产生过第一行为的第一应用程序;
[0263] 步骤S202:将第一应用程序的信息告知网络服务器;
[0264] 步骤S203:接收网络服务器基于本发明任一实施例所介绍的应用程序处理方法, 确定出的与第一应用程序相似的第二应用程序的信息;
[0265] 步骤S204:将第二应用程序在预置的推荐入口向终端的用户进行推荐。
[0266] 步骤S201中,可以对终端的行为进行监控,进而获得终端的用户产生过第一行为 的第一应用程序。
[0267] 其中,可以将终端的用户产生过第一行为的所有应用程序都作为第一应用程序, 作为一种可选的实施例,获取用户产生第一行为的至少一个应用程序;从至少一个应用程 序中筛选出用户产生第一行为的次数大于第一预设次数的应用程序作为第一应用程序。
[0268] 举例来说,可以根据实际需求设置不同的预设次数,例如:3、4等等,本发明实施例 不作限制。在用户针对第一应用程序的第一行为大于的次数大于预设次数时,则说明用户 针对第一应用程序的第一行为并非偶然行为,在这种情况下,能够实现更加准确的应用程 序推荐。
[0269] 步骤S202中,可以通过终端上的特定接口将第一应用程序的信息告知网络服务 器,第一应用程序的信息例如为:第一应用程序的名称、标识信息等等。
[0270] 步骤S204中,可以通过多种方式将第二应用程序推荐给终端的用户,下面列举其 中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。
[0271] 第一种,将第二应用程序在预置的推荐入口向终端的用户进行推荐,包括:将第二 应用程序加入第一应用程序的应用推荐列表推荐给用户。
[0272] 举例来说,在检测到终端的用户使用第一应用程序的行为之后,第一应用程序上 通常会有一个推荐区域,用于显示第一应用程序的应用程序推荐列表,该应用程序推荐列 表中包含至少一个与第一应用程序存在关联的推荐应用程序,则可以将第二应用程序加入 这个应用程序推荐列表中,进而推荐给终端的用户。
[0273]第二种,通过push(推送信息)的方式将第二应用程序推荐给终端的用户,可以每 隔预设时间间隔向终端推送该push,也可以在确定出第二应用程序之后,就立即向终端用 户推送该push。
[0274] 本发明实施例还提供了另一种用于应用程序的推荐方法,是对前述用于获得相似 应用程序的方法的进一步的利用,且与前述用于应用程序的推荐方法基于同一发明构思, 请参考图3,包括:
[0275] 步骤S301:获知终端的用户产生过第一行为的第一应用程序;
[0276] 步骤S302:在预置的相似应用程序数据库中查找与第一应用程序相似的第二应用 程序,预置的相似应用程序数据库为基于本发明任一实施例所介绍的用于获得相似应用程 序的方法获得;
[0277] 步骤S303:将第二应用程序在预置的推荐入口向用户进行推荐。
[0278] 步骤S302中,举例来说,在基于本发明任一实施例的用于获得相似应用程序的方 法确定出第一应用程序的相似应用程序之后,可以将第一应用程序及其相似应用程序加入 该相似应用程序数据库,进而可以通过该相似应用程序数据库直接查找获得对应的第二应 用程序。
[0279] 可选的,预置的相似应用程序数据库具体由网络服务器提供。
[0280] 可选的,获知终端的用户产生过第一行为的第一应用程序,包括:获取用户产生第 一行为的至少一个应用程序;从至少一个应用程序中筛选出用户产生第一行为的次数大于 第一预设次数的应用程序作为第一应用程序。
[0281 ]可选的,将第二应用程序在预置的推荐入口向用户进行推荐,包括:将第二应用程 序加入第一应用程序的应用推荐列表推荐给用户。
[0282]基于同一发明构思,本发明实施例还提供一种用于获得相似用户的方法,请参考 图4,包括:
[0283]步骤S401:获取多个终端的用户针对多个应用程序产生第一行为的行为数据; [0284]步骤S402:基于行为数据确定出各个用户的第二特征向量,第二特征向量与对应 用户针对多个应用程序所产生的第一行为对应;
[0285] 步骤S403:基于各个用户的第二特征向量,确定任意两个用户之间的用户相似度 值;
[0286] 步骤S404:当两个用户之间的用户相似度值满足第二预设相似度值条件时,确定 两个用户为相似用户。
[0287] 步骤S401中,对于第一行为具体为何种行为由于前面已作介绍,故而在此不再赘 述。
[0288] 步骤S402中,在确定出任一用户的特征向量时,又可以采用多种方式,下面列举其 中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。
[0289] 确定用户的特征向量的方式①:将用户针对每个应用程序的行为数据作为特征向 量中的一个取值,进而存在多少个应用程序,则该特征向量包含多少维,具体为:X=[Q Am, Qapp2,……,QAPPn],n表示应用程序的数量;以表1所示的充值行为数据为例,则每个用户的特 征向量包含17维,具体为X= [Qappi,Qapp2,......,Qappi7],用户ID1的特征向量具体为Xidi = [5, 10,0,3,0,0,0,20,0,0,10,0,0,0,0,0,0],针对其他用户确定出特征向量的方式与之类似, 故而在此不再赘述。
[0290]确定用户的特征向量的方式②:将用户针对每类应用程序的行为数据作为特征向 量中的一个取值,进而存在多少类应用程序,则该特征向量包含多少维,以表1所示的充值 行为数据为例,则每个用户的特征向量包含5维,则用户ID1的特征向量具体为X ID1 =[ 5+10, 3,20+10,0,0 ] = [ 15,3,30,0,0 ],针对其他用户其特征向量确定方式与之类似,在此不再赘 述。
[0291]步骤S403中,可以通过多种方式确定出用户相似度值,下面列举其中的两种进行 介绍,当然,在具体实施过程中,不限于以下两种情况。
[0292] 第一种,基于各个用户的第二特征向量,确定任意两个用户之间的用户相似度值, 包括:基于第二特征向量,确定两个用户之间的第二距离值;基于第二距离值确定出用户相 似度值,用户相似度值与第二距离值呈反相关关系。
[0293] 举例来说,确定两个用户之间的第二距离值,包括:确定两个用户之间的欧几里得 距离值;或者确定两个用户之间的明氏距离值;或者确定两个用户之间的曼哈顿距离值。 [0294]其中,基于第二距离值确定用户相似度值的方式与基于第一距离值确定程序相似 度值的方式类似,也即可以直接将第二距离值的倒数作为用户相似度值,也可以将该倒数 乘以一个特定系数之后作为用户相似度值。
[0295] 第二种,基于各个用户的第二特征向量,确定任意两个用户之间的用户相似度值, 包括:基于第二特征向量,确定两个用户之间的第二相似度值;基于第二相似度值确定出用 户相似度值,用户相似度值与第二相似度值呈正相关关系。
[0296] 举例来说,基于各个用户的第二特征向量,确定两个用户之间的用户相似度值,包 括:确定两个用户之间的余弦相似度值;或者确定两个用户之间的皮尔森相似度值;或者确 定两个用户之间的调整余弦相似度值。
[0297]
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1