信息选择方法、装置、电子设备及可读存储介质与流程

文档序号:20188129发布日期:2020-03-27 19:22阅读:169来源:国知局
信息选择方法、装置、电子设备及可读存储介质与流程

本申请涉及信息处理领域,具体而言,涉及一种信息选择方法、装置、电子设备及可读存储介质。



背景技术:

链接预测作为社交网络信息挖掘和预测的一种重要手段,可以主动寻找与需求相关的信息,对社交网络中的信息进行有效筛选,解决信息过载问题。例如,在社交媒体平台中应用链接预测算法对社交网络中的好友关系进行预测,进而向用户推荐好友;在社交网络中分析用户的兴趣爱好,使用链接预测向用户推送可能感兴趣的话题或文章;在购物平台分析用户购买的商品,使用链接预测方法定期向用户推荐商品。

上述的社交网络链接预测的过程,大多是在简单的一维同构网络中进行算法设计或仅考虑网络中单一实体关系(例如用户之间的好友关系或者话题之间的引用关系),因此现有的链接预测的过程往往预测的准确度较低。



技术实现要素:

本申请实施例的目的在于提供一种信息选择方法、装置、电子设备及可读存储介质,用以改善现有的链接预测的过程往往预测的准确度较低的问题。

第一方面,本申请实施例提供了一种信息选择方法,用于从多个用户中为目标用户选出可推荐用户,所述方法包括:计算所述多个用户中每个用户分别在多个话题的活跃度;根据所述多个用户中每个用户分别在所述多个话题的活跃度,计算所述多个话题中两两话题之间的相似度;根据预先设置的关联路径类型、所述多个用户中每个用户分别在多个话题的活跃度以及所述多个话题中两两话题之间的相似度,获取所述多个用户中的每个待筛选用户与所述目标用户的全部关联路径,其中,所述待筛选用户与所述目标用户无直接关联,所述关联路径以用户或话题作为路径节点;对于所述每个待筛选用户,利用随机游走算法计算全部关联路径中每条关联路径的关联概率,获取所述全部关联路径中每条关联路径的关联概率的加和;根据所述加和计算所述待筛选用户与所述目标用户的可推荐概率。

在上述的实施方式中,可以分别计算用户在各个话题的活跃度,然后再依据用户在各个话题的活跃度计算多个话题中两两话题之间的相似度。然后根据话题之间的相似度、用户在话题的活跃度以及预先设置的关联路径类型,得到待筛选用户与目标用户的全部关联路径。待筛选用户为原先与目标用户无直接关联的用户。随后利用随机游走算法计算全部关联路径中每条关联路径的关联概率,然后再计算上述各个关联概率的加和。该加和为待筛选用户与目标用户的可推荐概率。与现有技术相比,本申请综合了用户在话题的活跃度和话题之间的相似度来为目标用户计算可推荐为好友的待筛选用户,提高了链接预测的准确性。

在一个可能的设计中,所述方法还包括:对所述每个待筛选用户与所述目标用户的可推荐概率进行降序排序;选择排序中的前n个可推荐概率对应的待筛选用户作为所述目标用户的可推荐用户。

在上述的实施方式中,在获取到每个待筛选用户与目标用户之间的可推荐概率之后,可以按照可推荐概率从大到小的顺序对目标用户的待筛选用户进行排序,然后将排序中的前n个待筛选用户作为目标用户的可推荐用户。n可以为任意正整数,从而可以为目标用户推荐合适数量的可推荐用户。

在一个可能的设计中,所述计算所述多个用户中每个用户分别在多个话题的活跃度,包括:根据所述每个用户在第一话题的活跃次数以及每个用户各自的总活跃次数,计算每个用户在第一话题的活跃度,其中,所述多个话题包括第一话题。

在上述的实施方式中,可以对某用户在第一话题的活跃次数除以该用户的总活跃次数,得到该用户在第一话题的活跃度,然后重复上述方法直到得到每个用户在第一话题的活跃度。以某用户在某一话题的活跃次数与总活跃次数进行比对,可以较好地衡量该用户的活跃度。

在一个可能的设计中,所述根据所述每个用户在第一话题的活跃次数以及每个用户各自的总活跃次数,计算每个用户在第一话题的活跃度,包括:根据公式计算用户x在话题p的活跃度,其中,n(p,x)为用户x在话题p的活跃次数,n(x)为用户x的总活跃次数。

在一个可能的设计中,所述根据所述多个用户中每个用户分别在所述多个话题的活跃度,计算所述多个话题中两两话题之间的相似度,包括:计算获得所述多个用户中每个用户在第二话题的活跃度和第三话题的活跃度之差的绝对值;计算多个所述绝对值的平均值,所述平均值为所述第二话题与第三话题之间的相似度,所述多个话题包括第二话题和第三话题。

在上述的实施方式中,可以先计算多个用户的每个用户在两个话题的活跃度之差的绝对值,得到与用户数量相同的绝对值,然后再计算上述绝对值的平均值,该平均值可以作为第二话题与第三话题之间的相似度。

在一个可能的设计中,所述对于所述每个待筛选用户,利用随机游走算法计算全部关联路径中每条关联路径的关联概率,获取所述全部关联路径中每条关联路径的关联概率的加和,包括:利用公式计算所述全部关联路径中的一条关联路径的关联概率cor(t),其中,n为所述关联路径中节点的数量,ai和ai+1为所述关联路径中相邻两个节点,且ai为所述相邻两个节点的前一节点,ai+1为所述相邻两个节点的后一节点,其中,w(ai,ai+1)为ai和ai+1的关联性,n(ai)为节点ai的后一节点的集合,n(ai+1)为节点ai+1的后一节点的集合,p为所述多个话题的话题节点集合,u为所述多个用户的用户节点集合;对所述全部关联路径中每条关联路径均按照上述公式计算,获得所述全部关联路径中每条关联路径的关联概率,并获得所述全部关联路径中每条关联路径的关联概率的加和g(α)。

在一个可能的设计中,所述根据所述加和计算所述待筛选用户与所述目标用户的可推荐概率,包括:利用公式计算所述待筛选用户与所述目标用户的可推荐概率。

第二方面,本申请实施例提供了一种信息选择装置,用于从多个用户中为目标用户选出可推荐用户,所述装置包括:活跃度计算模块,用于计算所述多个用户中每个用户分别在多个话题的活跃度;相似度计算模块,用于根据所述多个用户中每个用户分别在所述多个话题的活跃度,计算所述多个话题中两两话题之间的相似度;关联路径获取模块,用于根据预先设置的关联路径类型、所述多个用户中每个用户分别在多个话题的活跃度以及所述多个话题中两两话题之间的相似度,获取所述多个用户中的每个待筛选用户与所述目标用户的全部关联路径,其中,所述待筛选用户与所述目标用户无直接关联,所述关联路径以用户或话题作为路径节点;概率加和计算模块,用于对于所述每个待筛选用户,利用随机游走算法计算全部关联路径中每条关联路径的关联概率,获取所述全部关联路径中每条关联路径的关联概率的加和;推荐概率模块,用于根据所述加和计算所述待筛选用户与所述目标用户的可推荐概率。

在一个可能的设计中,所述装置还包括:概率排序模块,用于对所述每个待筛选用户与所述目标用户的可推荐概率进行降序排序;用户选择模块,用于选择排序中的前n个可推荐概率对应的待筛选用户作为所述目标用户的可推荐用户。

在一个可能的设计中,活跃度计算模块还用于根据所述每个用户在第一话题的活跃次数以及每个用户各自的总活跃次数,计算每个用户在第一话题的活跃度,其中,所述多个话题包括第一话题。

在一个可能的设计中,活跃度计算模块还用于根据公式计算用户x在话题p的活跃度,其中,n(p,x)为用户x在话题p的活跃次数,n(x)为用户x的总活跃次数。

在一个可能的设计中,相似度计算模块还用于计算获得所述多个用户中每个用户在第二话题的活跃度和第三话题的活跃度之差的绝对值;计算多个所述绝对值的平均值,所述平均值为所述第二话题与第三话题之间的相似度,所述多个话题包括第二话题和第三话题。

在一个可能的设计中,概率加和计算模块,还用于利用公式计算所述全部关联路径中的一条关联路径的关联概率cor(t),其中,n为所述关联路径中节点的数量,ai和ai+1为所述关联路径中相邻两个节点,且ai为所述相邻两个节点的前一节点,ai+1为所述相邻两个节点的后一节点,其中,w(ai,ai+1)为ai和ai+1的关联性,n(ai)为节点ai的后一节点的集合,n(ai+1)为节点ai+1的后一节点的集合,p为所述多个话题的话题节点集合,u为所述多个用户的用户节点集合;对所述全部关联路径中每条关联路径均按照上述公式计算,获得所述全部关联路径中每条关联路径的关联概率,并获得所述全部关联路径中每条关联路径的关联概率的加和g(α)。

在一个可能的设计中,推荐概率模块还用于利用公式计算所述待筛选用户与所述目标用户的可推荐概率。

第三方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。

第四方面,本申请提供一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。

第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。

为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为社交网络中用户-话题的网络拓扑关系图;

图2为本申请实施例提供的信息选择方法的流程示意图;

图3为本申请实施例提供的信息选择方法的部分步骤的流程示意图;

图4为本申请实施例提供的信息选择方法的步骤s120的具体步骤的流程示意图;

图5为本申请实施例提供的信息选择装置的示意性结构框图;

图6为多种链路预测算法的准确率的结果比较图;

图7为多种链路预测算法的召回率的结果比较图;

图8为多种链路预测算法的f值的结果比较图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

图2为本申请实施例提供的信息选择方法,该方法可以由电子设备来执行,该电子设备可以是智能终端设备,也可以是服务器。图2示出的信息选择方法具体包括如下步骤s110至步骤s150:

步骤s110,计算所述多个用户中每个用户分别在多个话题的活跃度。

多个用户为活动于同一社交网络的用户,社交网络可以为微博、qq等。多个用户可以是该社交网络的全部用户,也可以是该社交网络中经过若干个筛选条件筛选的部分用户,例如,可以设置年龄、性别、出生年月或星座等多个筛选条件。

话题为可以被上述社交网络中的用户讨论的话题,话题可以包括体育运动、电影、电视剧、美食等。

可选地,可以根据所述每个用户在第一话题的活跃次数以及每个用户各自的总活跃次数,计算每个用户在第一话题的活跃度,其中,所述多个话题包括第一话题。

第一话题的活跃次数为用户发表的与第一话题相关的信息,例如,可以为用户在第一话题发起的帖子数量,也可以为用户在第一话题的签到次数等。总活跃次数为用户在上述的社交网络的发表的全部信息,例如,可以为用户在该社交网络发起的全部帖子数量、全部签到次数等的加和。

例如,可以根据公式计算用户x在话题p的活跃度,其中,n(p,x)为用户x在话题p的活跃次数,n(x)为用户x的总活跃次数。

对于多个用户中的每个用户重复上述的计算过程,从而可以得到多个用户中的每个用户在话题p的活跃度。

对于多个话题中的每个话题重复上述的计算过程,从而可以得到多个用户中的每个用户各自在多个话题中的每个话题的活跃度。

多个用户中的每个用户各自在多个话题中的每个话题的活跃度可以组成如下式(1)所示的矩阵:

该矩阵中的横行为不同用户在同一话题下的活跃度,例如第一横行从左到右依次为用户1至用户n在话题1下各自的活跃度。

该矩阵中的竖列为同一用户在不同话题下的活跃度,例如第一竖列从上到下依次为用户1分别在话题1至话题m下的活跃度。

步骤s120,根据所述多个用户中每个用户分别在所述多个话题的活跃度,计算所述多个话题中两两话题之间的相似度。

两两话题之间的相似度反映了两个话题之间的关联性。请参见图4,在一种具体实施方式中,步骤s120具体可以包括如下步骤s121至步骤s122:

步骤s121,计算获得所述多个用户中每个用户在第二话题的活跃度和第三话题的活跃度之差的绝对值。

第二话题和第三话题分别为多个话题中的任意两个话题,接上文提出的式(1)所示的矩阵继续进行说明,不妨设第二话题为话题1,则多个用户中每个用户在第二话题的活跃度依次为式(1)示出的矩阵的第一横行的多个数值;不妨设第三话题为话题p,则多个用户中每个用户在第三话题的活跃度依次为式(1)示出的矩阵的第p横行的多个数值。

计算同一用户在第二话题的活跃度与第三话题的活跃度之差的绝对值,并对多个用户中的每个用户均进行上述计算,可以得到多个用户中每个用户在第二话题的活跃度与第三话题的活跃度之差的绝对值。例如,式(1)示出的矩阵中有n个用户,则第二话题的活跃度与第三话题的活跃度之差的绝对值对应的有n个。

步骤s122,计算多个所述绝对值的平均值,所述平均值为所述第二话题与第三话题之间的相似度,所述多个话题包括第二话题和第三话题。

获得多个绝对值之后,再计算上述多个绝对值的平均值,该计算出的平均值为第二话题与第三话题之间的相似度。

可选地,可以根据式(2)进行两个话题之间的相似度的计算:

其中,wi,x为用户x在话题i中的活跃度,wj,x为用户x在话题j中的活跃度,n为多个用户的总数量。

步骤s130,根据预先设置的关联路径类型、所述多个用户中每个用户分别在多个话题的活跃度以及所述多个话题中两两话题之间的相似度,获取所述多个用户中的每个待筛选用户与所述目标用户的全部关联路径。

其中,所述待筛选用户与所述目标用户无直接关联,在步骤s130之前,可以先确定多个用户中两两用户之间是否有直接关联,直接关联可以指两两用户之间是否是该社交网络下的好友关系。

若两个用户之间有直接关联,可以为两个用户之间标记第一关联值;若两个用户之间无直接关联,可以为两个用户之间标记第二关联值。具体地,第一关联值可以为1,第二关联值可以为0。

关联路径为令两个无直接关联的用户产生关联关系的路径,关联路径可以有多个节点,节点可以是用户或话题,请参见图1。也就是说,两个无直接关联的用户可能因共同是同一用户的好友而产生关联,如图1中的u1和u5通过u2关联;也可能因感兴趣的话题相同而产生关联,如图1中的u4和u5通过p2关联;也可能因一个用户感兴趣的话题与另一用户感兴趣的话题的相似度较高而产生关联,如图1中的u1与u5还可以通过p1与p2关联;还可能因一个用户的好友感兴趣的话题与另一用户感兴趣的话题相同而产生关联等。

不妨设两个无直接关联的用户因共同是同一用户的好友而产生关联的关联路径类型为:(1)用户-用户-用户;

两个无直接关联的用户因感兴趣的话题相同而产生关联的关联路径类型为:(2)用户-话题-用户;

两个无直接关联的用户因一个用户感兴趣的话题与另一用户感兴趣的话题的相似度较高而产生关联的关联路径类型为:(3)用户-话题-话题-用户;

两个无直接关联的用户因一个用户感兴趣的话题与另一个用户的好友感兴趣的话题相同而产生关联的关联路径类型为:(4)用户-话题-用户-用户。

在上述的步骤中,对于同一社交网络的多个用户以及多个话题,已经分别获得了多个用户中两两用户之间的关联值,多个用户中每个用户各自在多个话题中每个话题的活跃度,多个话题中两两话题之间的相似度,因此,可以依据上述的关系组成如下式(3)示出的关系矩阵:

在式(3)中u表示用户,p表示话题,则式(3)表示有n个用户,m个话题。目标用户为u1至un这n个用户中的任意一个,为了便于描述,不妨设目标用户为u1。

遍历多个用户中两两用户之间的关联值,多个用户中每个用户各自在多个话题中每个话题的活跃度,多个话题中两两话题之间的相似度组成的矩阵,获取每个待筛选用户与目标用户的全部关联路径。待筛选用户与目标用户的关联路径类型可以为上述四种关联路径类型的一种或多种,并且每一种关联路径类型可以有不只一条关联路径。

例如,不妨设用户u3、u4与目标用户u1的关联值为0,且u3与u1可通过关联路径类型:(1)用户-用户-用户产生关联,且(1)的关联路径的数量为3条;u4与u1可通过关联路径类型:(2)用户-话题-用户以及3)用户-话题-话题-用户产生关联,且(2)的关联路径的数量为2条,(3)的关联路径的数量为4条。

可选地,除了用式(3)表示用户话题之间的关系,还可以使用四元组g=<u,p,e,w>来进行表示。其中,用户节点集合u={u1,u2,u3...un},话题节点集合p={p1,p2,p3...pm},用户与话题之间的关联性集合e={euu,eup,epp}。euu={<ui,uj>|ui,uj∈u},代表用户与用户之间的关联值的集合;eup={<ui,pj>|ui∈u,pj∈p},描述用户在话题中的活跃度的集合;epp={<pi,pj>|pi,pj∈p},代表话题之间的相似性。w={wuu,wup,wpp},可以表示上述三种关联性类型对应的权重集合。

步骤s140,对于所述每个待筛选用户,利用随机游走算法计算全部关联路径中每条关联路径的关联概率,获取所述全部关联路径中每条关联路径的关联概率的加和。

不妨以计算待筛选用户u4与目标用户u1的全部关联路径的每条关联路径的关联概率为例进行说明:待筛选用户u4与目标用户u1之间的关联路径共有6条,对于6条中的每一条,均可以通过如下方式进行计算:

利用公式计算所述全部关联路径中的一条关联路径的关联概率cor(t),其中,n为所述关联路径中节点的数量,ai和ai+1为所述关联路径中相邻两个节点,且ai为所述相邻两个节点的前一节点,ai+1为所述相邻两个节点的后一节点,其中,w(ai,ai+1)反映ai和ai+1的关联性,n(ai)为节点ai的后一节点的集合,n(ai+1)为节点ai+1的后一节点的集合,p为所述多个话题的话题节点集合,u为所述多个用户的用户节点集合。若ai和ai+1为两两用户,则w(ai,ai+1)为ai和ai+1之间的关联值;其中,若ai和ai+1为用户与话题,则w(ai,ai+1)为ai和ai+1之间的活跃度;若ai和ai+1为两两话题,则w(ai,ai+1)为ai和ai+1之间的相似度。

对所述全部关联路径中每条关联路径均按照上述公式计算,获得所述全部关联路径中每条关联路径的关联概率,并获得所述全部关联路径中每条关联路径的关联概率的加和g(α)。

通过上述方式获得待筛选用户u4与目标用户u1之间的6条关联路径中的每一条关联路径的关联概率,共6个关联概率,然后计算6个关联概率的加和,得到g(α)。

步骤s150,根据所述加和计算所述待筛选用户与所述目标用户的可推荐概率。

利用公式计算所述待筛选用户与所述目标用户的可推荐概率,从而可以得到待筛选用户u4与目标用户u1的可推荐概率。

本申请实施例提供的信息选择方法可以分别计算用户在各个话题的活跃度,然后再依据用户在各个话题的活跃度计算多个话题中两两话题之间的相似度。然后根据话题之间的相似度、用户在话题的活跃度以及预先设置的关联路径类型,得到待筛选用户与目标用户的全部关联路径。待筛选用户为原先与目标用户无直接关联的用户。随后利用随机游走算法计算全部关联路径中每条关联路径的关联概率,然后再计算上述各个关联概率的加和。该加和为待筛选用户与目标用户的可推荐概率。与现有技术相比,本申请综合了用户在话题的活跃度和话题之间的相似度来为目标用户计算可推荐为好友的待筛选用户,提高了链接预测的准确性。

请参见图3,在一种具体实施方式中,步骤s150之后,所述方法还可以包括如下步骤s160至步骤s170:

步骤s160,对所述每个待筛选用户与所述目标用户的可推荐概率进行降序排序。

步骤s170,选择排序中的前n个可推荐概率对应的待筛选用户作为所述目标用户的可推荐用户。

在计算出待筛选用户u4与目标用户u1的可推荐概率后,可以利用同样的方式计算出全部待筛选用户中的每个与目标用户u1的可推荐概率,然后再降序排序,筛选出前n个。

在获取到每个待筛选用户与目标用户之间的可推荐概率之后,可以按照可推荐概率从大到小的顺序对目标用户的待筛选用户进行排序,然后将排序中的前n个待筛选用户作为目标用户的可推荐用户。n可以为任意正整数,从而可以为目标用户推荐合适数量的可推荐用户。

在一种具体实施方式中,本申请提供的信息选择方法可通过如下伪代码执行:

在算法的伪代码中,s表示将要为用户u0推荐的初始数据集,f表示最终的推荐结果集合。算法第1行表示初始化推荐用户集合;第5行表示通过路径类型t,找出其对应的具体多条路径的集合t';第6至16行通过计算节点之间的关联程度获得路径类型质量;第17行计算产生链接的概率,第19行得到最终top-k推荐结果。由上述算法的伪代码可知,在对原数据集进行初始化和遍历数据集寻找路径类型时,执行次数均为t(n)=n,针对三条路径类型进行查找对应的多条路径的集合的总执行次数为t(n)=3n,在进行路径类型权重计算时需要进行一次多条路径的遍历操作,因此执行次数为t(n)=n。由于伪代码中共涉及到三层循环嵌套操作,其中寻找多条路径的集合与计算路径类型的权重都属于第二层循环的子操作,因此上述算法t(n)=n2(3n+n)=4n3,时间复杂度为o(n3)。

请参见图5,图5示出了本申请实施例提供的信息选择装置,所述装置400包括:

活跃度计算模块410,用于计算所述多个用户中每个用户分别在多个话题的活跃度。

相似度计算模块420,用于根据所述多个用户中每个用户分别在所述多个话题的活跃度,计算所述多个话题中两两话题之间的相似度。

关联路径获取模块430,用于根据预先设置的关联路径类型、所述多个用户中每个用户分别在多个话题的活跃度以及所述多个话题中两两话题之间的相似度,获取所述多个用户中的每个待筛选用户与所述目标用户的全部关联路径,其中,所述待筛选用户与所述目标用户无直接关联,所述关联路径以用户或话题作为路径节点。

概率加和计算模块440,用于对于所述每个待筛选用户,利用随机游走算法计算全部关联路径中每条关联路径的关联概率,获取所述全部关联路径中每条关联路径的关联概率的加和。

推荐概率模块450,用于根据所述加和计算所述待筛选用户与所述目标用户的可推荐概率。

活跃度计算模块410还用于根据所述每个用户在第一话题的活跃次数以及每个用户各自的总活跃次数,计算每个用户在第一话题的活跃度,其中,所述多个话题包括第一话题。

活跃度计算模块410还用于根据公式计算用户x在话题p的活跃度,其中,n(p,x)为用户x在话题p的活跃次数,n(x)为用户x的总活跃次数。

相似度计算模块420还用于计算获得所述多个用户中每个用户在第二话题的活跃度和第三话题的活跃度之差的绝对值;计算多个所述绝对值的平均值,所述平均值为所述第二话题与第三话题之间的相似度,所述多个话题包括第二话题和第三话题。

概率加和计算模块440,还用于利用公式计算所述全部关联路径中的一条关联路径的关联概率cor(t),其中,n为所述关联路径中节点的数量,ai和ai+1为所述关联路径中相邻两个节点,且ai为所述相邻两个节点的前一节点,ai+1为所述相邻两个节点的后一节点,其中,w(ai,ai+1)为ai和ai+1的关联性,n(ai)为节点ai的后一节点的集合,n(ai+1)为节点ai+1的后一节点的集合,p为所述多个话题的话题节点集合,u为所述多个用户的用户节点集合;对所述全部关联路径中每条关联路径均按照上述公式计算,获得所述全部关联路径中每条关联路径的关联概率,并获得所述全部关联路径中每条关联路径的关联概率的加和g(α)。

推荐概率模块450还用于利用公式计算所述待筛选用户与所述目标用户的可推荐概率。

所述装置还包括:概率排序模块,用于对所述每个待筛选用户与所述目标用户的可推荐概率进行降序排序;用户选择模块,用于选择排序中的前n个可推荐概率对应的待筛选用户作为所述目标用户的可推荐用户。

为了验证本发明提出的信息选择方法(以下简称为meta-base算法)的合理性和准确性,将meta-base算法分别与基于共同话题的链接预测算法、基于共同好友的链接预测算法和基于话题相似度的链接预测算法进行性能的对比,可以将各个数据集分为30%的测试集和70%训练集,在训练集上建立链接预测模型,在测试集进行预测结果的验证,采用准确率和召回率来衡量算法的基本性能,定义如下:

准确率:

召回率:

其中r(u)表示训练集中给用户u推荐的用户列表,t(u)代表用户u在测试集上的好友列表。由于同一种算法的准确率和召回率很难同时兼顾,本申请实施例参考f值方法来平衡两种评判标准,f值定义如下:

以步长为10选取10种不同数量的用户推荐结果,得到的准确率、召回率和f值的对比情况分别如图6、图7和图8所示。

由以上三图可以看出随着好友推荐数量的增加,三种算法的准确率都在以不同程度降低,而三种算法的召回率则都随着推荐好友数量的增加而提升。其中,在准确率方面meta-base算法虽然也在逐渐降低,但明显高于其他三种算法;在召回率中,四种算法随着推荐人数的增加总体都呈现出上升趋势,当推荐好友数量在80人时,meta-base算法的召回率略低于三种对比算法;在f值方面,四种算法皆呈现出先增高后降低的趋势,符合实际情况,且四种算法的f值均在推荐人数30左右达到最高,且meta-base算法的f值明显高于其他三种对比算法。

为了验证meta-base链接预测算法的运行效率,随机选取10个作者分别在相同的软硬件环境中运行,与基于共同好友的预测算法、基于共同话题的预测算法和基于话题相似度的链接预测算法进行对比,并获取每一种算法的前100名推荐结果,各算法的运行时间如表1所示。

表1社交网络数据集链接预测算法运行时间

由几种算法的运行时间对比可以看出,基于共同好友的链接预测算法由于其算法内部结构简单耗时最低;基于共同话题预测算法和基于话题相似度预测算法执行效率差别不大;meta-base算法比三种对比算法时间略长,但是运行时间并未出现指数级或倍数级增长,说明meta-base算法的执行效率较高。

本申请实施例提供的信息选择方法及装置可以对不同的主题之间的关联性进行计算,从而得到不同路径类型的关联值,由于主题中既包括话题又包括用户,因此链路预测得到的结果与现有技术相比,准确性更高。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1