CN103678531A - 好友推荐方法和装置 - Google Patents

好友推荐方法和装置 Download PDF

Info

Publication number
CN103678531A
CN103678531A CN201310634770.7A CN201310634770A CN103678531A CN 103678531 A CN103678531 A CN 103678531A CN 201310634770 A CN201310634770 A CN 201310634770A CN 103678531 A CN103678531 A CN 103678531A
Authority
CN
China
Prior art keywords
node
social
user
limit
complex network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310634770.7A
Other languages
English (en)
Other versions
CN103678531B (zh
Inventor
方芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics China R&D Center, Samsung Electronics Co Ltd filed Critical Samsung Electronics China R&D Center
Priority to CN201310634770.7A priority Critical patent/CN103678531B/zh
Publication of CN103678531A publication Critical patent/CN103678531A/zh
Application granted granted Critical
Publication of CN103678531B publication Critical patent/CN103678531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了好友推荐方法和装置。该方法应用于服务器端,包括:A,构建包含多个节点的社交复杂网络,在所述社交复杂网络中,每一节点对应一个用户,且两个节点之间如果有连边,则表示该两个节点对应的用户之间有社交行为;B,接收待推荐好友的目标用户发送的推荐请求,在所述社交复杂网络中识别所述目标用户对应的目标节点;C,依据所述社交复杂网络分析与所述目标节点具有连边和/或可能具有连边的节点,将分析出的至少一个节点作为待推荐的好友推荐给所述目标用户。采用本发明,能够避开用户注册的个人背景信息,通过分析社交复杂网络推荐用户社交意义上的潜在好友。

Description

好友推荐方法和装置
技术领域
本申请涉及网络技术,特别涉及好友推荐方法和装置。
背景技术
随着互联网,通信技术的飞速发展,人们彼此间沟通共享信息的渠道也变得越来越快捷且丰富多彩。短信,邮件,博客,微信等各种交友平台成为人们社交的主要媒介,用户在这些社交媒介上的社交行为构成了巨大的复杂网络-社交网络。
基于社交网络的不断发展,好友推荐也由此得到蓬勃发展。目前,常用的好友推荐方法中,常用的方法包括:
方法1,针对用户初始注册的个人资料信息来推荐好友的,这里,用户初始注册的个人资料信息可包括教育背景,工作环境,个人兴趣等信息;
方法2,按照如下方法推荐目标是好友的好友,或距离用户当前位置较近的用户群。
在以上好友推荐方法中,方法1由于用户注册的个人资料信息本身的不准确行性,在很大程度上推荐的未必真的是用户社交意义上的潜在好友,而方法2也不能真正实现推荐的好友是用户社交意义上的潜在好友。
发明内容
本申请提供了好友推荐方法和装置,用于推荐用户社交意义上的潜在好友。
本申请提供的技术方案包括:
一种好友推荐方法,该方法应用于服务器端,包括:
A,构建包含多个节点的社交复杂网络,在所述社交复杂网络中,每一节点对应一个用户,且两个节点之间如果有连边,则表示该两个节点对应的用户之间有社交行为;
B,接收待推荐好友的目标用户发送的推荐请求,在所述社交复杂网络中识别所述目标用户对应的目标节点;
C,依据所述社交复杂网络分析与所述目标节点具有连边和/或可能具有连边的节点,将分析出的至少一个节点作为待推荐的好友推荐给所述目标用户。
一种好友推荐装置,该装置应用于服务器端,包括:
网络模块,用于构建包含多个节点的社交复杂网络,在所述社交复杂网络中,每一节点对应一个用户,且两个节点之间如果有连边,则表示该两个节点对应的用户之间有社交行为;
接收模块,用于接收待推荐好友的目标用户发送的推荐请求,在所述社交复杂网络中识别所述目标用户对应的目标节点;
推荐模块,用于依据所述社交复杂网络分析与所述目标节点具有连边和/或可能具有连边的节点,将分析出的至少一个节点作为待推荐的好友推荐给所述目标用户。
由以上技术方案可以看出,本发明中,通过构建社交复杂网络,分析出与所述目标节点具有连边和/或可能具有连边的节点作为目标用户的潜在好友户推荐给目标用户。
附图说明
图1为本发明实施例提供的方法流程图;
图2为本发明实施例提供的社交复杂网络构建流程图;
图3为本发明实施例提供的本地社交信息库存储用户社交信息日志的流程图;
图4为本发明实施例提供的装置结构图。
具体实施方式
本发明提供的方法能够避免用户的个人背景信息,预测潜在的用户好友关系指导用户推荐。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图1,图1为本发明实施例提供的方法流程图。该方法应用于服务器端,主要可包括以下步骤:
步骤101,构建包含多个节点的社交复杂网络。
其中,在构建的所述社交复杂网络中,每一用户通过一个对应的节点表示,且两个节点之间如果有连边,则表示该两个节点对应的用户之间有社交行为。这里的社交行为包括但不限于主页访问、留言、通话、短信等行为。
作为本发明的一个实施例,图2具体示出了如何构建包含多个节点的社交复杂网络,这里不再赘述。
步骤102,接收待推荐好友的目标用户发送的推荐请求,在所述社交复杂网络中识别所述目标用户对应的目标节点。
本发明中,当一个用户需要推荐好友时,其就会作为待推荐好友的目标用户向服务器端发送推荐请求。
步骤103,依据所述社交复杂网络分析出与所述目标节点具有连边和/或可能具有连边的节点,将分析出的至少一个节点作为待推荐的好友推荐给所述目标用户。
至此,完成图1所示的流程。
从图1所示流程可以看出,本发明通过构建社交复杂网络,分析出与所述目标节点具有连边和/或可能具有连边的节点作为目标用户的潜在好友户推荐给目标用户。
下面对本发明如何构建社交复杂网络进行描述。
由于整个社交复杂网络内的数据量可能很大,为了提高效率,作为本发明的一个实施例,本发明中,并非在每次接收到待推荐好友的目标用户发送的推荐请求时重新构建一个新的社交复杂网络,而是根据社交网络活跃程度预先设定一个构建频率(例如2个月),按照设定的构建频率构建社交复杂网络,并用新构建的社交复杂网络更新之前的社交复杂网络。
优选地,作为本发明的另一个实施例,本发明中,也可不预先设定构建频率,而是当基于客户端的主动要求构建社交复杂网络并用新构建的社交复杂网络更新之前的社交复杂网络。
或者,本发明中,利用预先设定构建频率和基于客户端的主动要求相结合的方式构建社交复杂网络,具体是:当客户端主动要求重新构建复杂网络时,立即重新构建社交复杂网络,并用新构建的社交复杂网络更新之前的社交复杂网络,而当客户端不主动要求重新构建复杂网络时,自动地按照预设的构建频率重新构建社交复杂网络,并用新构建的社交复杂网络更新之前的社交复杂网络。
其中,在构建社交复杂网络时,可参见图2所示流程:
参见图2,图2为本发明实施例提供的社交复杂网络构建流程图。如图2所示,该流程可包括以下步骤:
步骤201,依据构建社交复杂网络的规划,从本地社交信息库中抽取满足所述规划的用户社交信息日志。
通常,当构造一个社交复杂网络时,会预先有一个规划,比如,社交复杂网络需要的数据量,基于此,本步骤201依据该规划,从本地社交信息库中抽取最新的、且满足该规划的用户社交信息日志。
步骤202,按照社交复杂网络的要求对抽取的用户社交信息日志进行数据预处理。
通常,当规划构造一个社交复杂网络时,也会要求社交复杂网络需要的数据格式等,基于此,本步骤202就按照社交复杂网络的要求对抽取的用户社交信息日志进行数据预处理。
作为本发明的一个实施例,这里的数据预处理主要包括:格式转换、数据清洗等,具体实现时完全按照上述的要求执行。
步骤203,从预处理后的用户社交信息日志中统计出具有社交行为的用户对。
这里,所谓用户对,其具体包含了两个用户。
步骤204,按照以下原则构建社交复杂网络:将每一用户对中的用户对应至社交复杂网络的节点、且每一用户对对应的节点之间有连边。
至此,通过图2所示的步骤201至步骤204即可完成社交复杂网络的构建。
需要说明的是,在本发明中,服务器端中的本地社交信息库如何实现存储用户社交信息日志,其主要是通过与客户端的交互实现的,下面通过图3进行描述:
参见图3,图3为本发明实施例提供的本地社交信息库存储用户社交信息日志的流程图。如图3所示,该流程可包括以下步骤:
步骤301,客户端在检测到新的社交行为时,将该新的社交行为对应的用户社交信息日志转换成可传输的格式,并提交至服务器端。
这里,新的社交行为对应的用户社交信息日志一般只记录了该新的社交行为发生的起始时间、涉及的用户双方等。
作为本发明的一个实施例,这里可传输的格式可为json字符串,也即,本步骤301中,客户端将该新的社交行为对应的用户社交信息日志转换成json字符串并通过http协议传送到服务器端。
步骤302,服务器端接收客户端提交的数据(也即被转换成可传输格式的用户社交信息日志)。
步骤303,服务器端将接收的数据转换成该数据初始的格式,并同步存储至本地社交信息库。
这里,所述初始的格式是指用户社交信息日志在被客户端转换成可传输格式之前的格式,也即日志格式,通过步骤303能够恢复步骤301中新的社交行为对应的用户社交信息日志。
以客户端传过来的数据为转换成json字符串格式的用户社交信息日志,因此,执行到本步骤303时,就首先将该数据还原成步骤301未转换之前的格式,即原始的用户社交信息日志格式。
至此,通过上述步骤301至步骤303即可实现本地社交信息库存储用户社交信息日志。
基于图2、图3的描述,下面通过三个实施例对图1所示流程进行描述:
实施例1:
本实施例1下,其需要对图2所示流程构建的社交复杂网络进行进一步优化。其中,在描述如何优化图2所示流程构建的社交复杂网络之前,先对上述的用户社交信息日志进行分析。
作为本实施例1的一种优选方案,用户社交信息日志其至少可包含:参与社交行为的双方用户、社交行为的起始时间等。
基于用户社交信息日志包含的内容,则对图2所示流程构建的社交复杂网络进行优化具体通过以下步骤实现:
在上述步骤202中,进一步执行以下步骤:
计算统计出的每一用户对之间的社交行为次数。这里,不同时间点发生的社交行为,称为不同的社交行为,次数也是相应增加的。比如,用户A、用户B分别在起始时间9:00、10:00、11:00发生了社交行为,则意味着用户A、用户B之间的社交行为次数为3次。
在上述步骤203构建社交复杂网络时进一步执行以下步骤:
针对社交复杂网络中每一用户对对应的节点(也称节点对)之间的连边,确定该用户对的社交行为次数为该连边的权值。
也就是说,执行完步骤203进一步执行的步骤后,此时的社交复杂网络就形成了以下结构:在社交复杂网络中,用户通过对应的节点表示,且节点对之间存在连边,该连边的权值为该节点对对应的用户对的社交行为次数。
基于该社交复杂网络的结构,则本实施例1中,当服务器端接收到待推荐好友的目标用户发送的推荐请求时,就在当前的社交复杂网络中识别所述目标用户对应的目标节点,之后在所述社交复杂网络中寻找与目标节点具有连边的节点;并按照与目标节点的连边的权值从高至低的顺序对寻找到的的节点进行排列,形成一个节点序列(记为第一节点序列)并存储至推荐列表库中;将所述推荐列表库存储的第一节点序列中的至少一个节点作为待推荐的好友推荐给目标用户。
优选地,本实施例1中,将所述推荐列表库存储的第一节点序列中的至少一个节点作为待推荐的好友推荐给目标用户包括:
按照从前至后的顺序从存储于推荐列表库的第一节点序列中选取出目标用户需要的好友个数N个节点;
将该选取的N个节点作为待推荐的好友推荐给目标用户,其中,在推荐给目标用户时,可将该选取的N个节点转化为一条json字符串,以http协议形式发送于目标用户对应的客户端,而当目标用户对应的客户端接收到json字符串后,恢复该选取的N个节点。
至此,即可完成向目标用户推荐好友。
优选地,在本实施例1中,上述在将第一节点序列存储至推荐列表库中可进一步包括:针对第一节点序列中每一节点,将该节点与目标节点之间连边的权值一起与该节点存储至推荐列表库中。如此,此时推荐列表库就会统一按照由节点、该节点与目标节点之间连边的权值组成的二元组存储第一节点序列。
相应地,上述将该选取的N个节点作为待推荐的好友推荐给目标用户就为:将该选取的N个节点、该N个节点分别与目标节点之间连边的权值一起推荐给目标用户,以使目标用户依据权值自行决定最可能的潜在好友。
以上对实施例1进行了描述,下面对实施例2进行描述:
实施例2:
本实施例2可应用于上述实施例1应用的社交复杂网络,也可不应用于实施例1应用的社交复杂网络,仅应用于通过图2构建的社交复杂网络。
在本实施例2中,其需要预先执行以下步骤:
在当前的社交复杂网络寻找不存在连边的所有节点对;其中,寻找到的每一节点对包含两个节点;
预测该寻找到的每一节点对之间可能存在连边的概率。这里所指的每一节点对之间可能存在连边的概率实质为每一节点对所包含的两个节点之间可能存在连边的概率。
基于上面的描述,则本实施例2中,当服务器端接收到待推荐好友的目标用户发送的推荐请求时,其从上述寻找到的所有节点对中查找包含目标节点的节点对,按照概率从高至低的顺序排列查找到的节点对中包含的除目标节点之外的节点,形成节点序列(记为第二节点序列)并存储至推荐列表库中,之后将所述推荐列表库存储的第二节点序列中的至少一个节点作为待推荐的好友推荐给目标用户。
优选地,本实施例2中,将所述推荐列表库存储的第二节点序列中的至少一个节点作为待推荐的好友推荐给目标用户包括:
按照从前至后的顺序从存储于推荐列表库的第二节点序列中选取出N个节点,将该选取的N个节点作为待推荐的好友推荐给目标用户;其中,N为目标用户需要的好友数量。
优选地,本实施例2,与实施例1类似,在将该选取的N个节点作为待推荐的好友推荐给目标用户时,可将该选取的N个节点转化为一条json字符串,以http协议形式发送于目标用户对应的客户端,而当目标用户对应的客户端接收到json字符串后,恢复该选取的N个节点。
作为本发明实施例2的一个优选方案,上述第二节点序列可通过一个单向链表的数据结构确定。
其中,为了保证第二节点序列通过一个单向链表的数据结构确定,则本实施例2中,在预测寻找到的每一节点对之间出现连边的概率之后,可进一步包括以下步骤:
按照概率从高至低的顺序排列上述寻找到的节点对,形成节点对序列;
按照从前至后的顺序将所述节点对序列中的节点对和该节点对之间可能存在连边的概率放至一个单向链表,并在所述单向链表结尾处添加一个用于表示链表结束的结束标记,在初始,所述单向链表的链表表头指向所述节点对序列中的第一个节点对。
基于此,上述上述第二节点序列可通过以下操作实现:
识别所述链表表头是否指向所述结束标记;
在所述链表表头指向所述结束标记时,结束当前流程;
在所述链表表头未指向所述结束标记时,获取所述链表表头当前指向的当前节点对,判断当前节点对是否包含目标节点,如果是,按照从前至后的顺序记录当前节点对中除目标节点之外的节点至第二节点序列,如果否,将所述链表表头移动至当前节点对在所述单向链表的下一个位置,返回识别所述链表表头是否指向所述结束标记的操作。
如此,当第二节点序列存储至推荐列表库时,就会保证第二节点序列中的节点按照与目标节点可能产生连边的概率从高到低的顺序排列。
优选地,在本实施例2中,上述按照从前至后的顺序记录当前节点对中除目标节点之外的节点至第二节点序列可进一步包括:从所述单向链表中获取当前节点对可能存在连边的概率,按照从前至后的顺序将该获取的概率、以及当前节点对中除目标节点之外的节点记录至第二节点序列。如此,此时推荐列表库就会统一按照由节点、该节点与目标节点之间可能存在连边的概率组成的二元组存储第二节点序列。
相应地,上述将该选取的N个节点作为待推荐的好友推荐给目标用户就为:将该选取的N个节点、该N个节点分别与目标节点之间可能存在连边的概率一起推荐给目标用户,以使目标用户依据概率自行决定最可能的潜在好友。
优选地,作为本实施例2的一个优选方案,在本实施例2中,预测寻找到的每一节点对之间可能存在连边的概率可包括:
基于网络中节点的局部信息相似性或基于网络中局部路径信息相似性的方式,或者,基于网络中节点的局部信息相似性和网络中局部路径信息相似性的方式,预测寻找到的每一节点对之间可能存在连边的概率。
其中,基于网络中节点的局部信息相似性的方式预测节点对之间可能存在连边的概率通过以下公式实现:
S xy = | Γ ( x ) ∩ Γ ( y ) | Σ z ∈ Γ ( x ) ∩ Γ ( y ) 1 k ( z ) ;
基于网络中局部路径信息相似性的方式预测节点对之间可能存在连边的概率通过以下公式实现:
Sxy=(A2)xy+α(A3)xy
基于网络中节点的局部信息相似性和网络中局部路径信息相似性的方式预测节点对之间可能存在连边的概率通过以下公式实现:
S xy = | Γ ( x ) ∩ Γ ( y ) | Σ z ∈ Γ ( x ) ∩ Γ ( y ) 1 k ( z ) ( ( A 2 ) xy + α ( A 3 ) xy ) ;
其中,在上面描述的公式中,Sxy表示节点对(xy)中两个节点即节点x、节点y之间可能存在连边的概率,Γ(x)表示节点x的邻居节点集合,Γ(y)表示节点y的邻居节点集合,|Γ(x)∩Γ(y)|表示节点x的邻居节点集合与节点y的邻居节点集合相交的节点数量,k(z)=|Γ(z)|表示节点z的度,这里,节点z的度是指和该节点z有连边的节点数量,α为调节参数,(An)xy表示节点x和y之间相隔长度为n个节点的路径的数量。
至此,完成实施例2的描述。
实施例3:
本实施例3应用于上述实施例1应用的社交复杂网络,其具体是在应用上述实施例1所应用的社交复杂网络的前提下将实施例1和实施例2相结合实现的。
在本实施例3中,所采用的技术手段也为实施例1、实施例2相结合的手段,只不过在向目标用户推荐好友时需要分析目标用户需要的在所述社交复杂网络中与目标节点不存在连边的好友数量N1、以及目标用户需要的在所述社交复杂网络中与目标节点存在连边的好友数量N2,具体为:
按照从前至后的顺序从存储于推荐列表库的第二节点序列中选取出N1个节点,以及按照从前至后的顺序从存储于推荐列表库的第一节点序列中选取出N2个节点,将选取的N1个节点和N2个节点作为待推荐的好友推荐给目标用户。
其中,在将选取的N1个节点和N2个节点作为待推荐的好友推荐给目标用户时,可将该选取的N1个节点和N2个节点转化为一条json字符串,以http协议形式发送于目标用户对应的客户端,而当目标用户对应的客户端接收到json字符串后,恢复该选取的N1个节点和N2个节点。
至此,完成实施例3的描述。
以上对本发明提供的方法进行了描述,下面对本发明提供的装置进行描述:
参见图4,图4为本发明实施例提供的装置结构图。该装置应用于服务器端,如图4所示,该装置可包括:
网络模块,用于构建包含多个节点的社交复杂网络,在所述社交复杂网络中,每一节点对应一个用户,且两个节点之间如果有连边,则表示该两个节点对应的用户之间有社交行为;
接收模块,用于接收待推荐好友的目标用户发送的推荐请求,在所述社交复杂网络中识别所述目标用户对应的目标节点;
推荐模块,用于依据所述社交复杂网络分析与所述目标节点具有连边和/或可能具有连边的节点,将分析出的至少一个节点作为待推荐的好友推荐给所述目标用户。
优选地,所述网络模块通过以下步骤构建社交复杂网络:
A1,依据构建社交复杂网络的规划,从本地社交信息库中抽取满足所述规划的用户社交信息日志;所述用户社交信息日志至少包括:参与社交行为的双方用户、社交行为的起始时间;
A2,按照社交复杂网络的要求对抽取的用户社交信息日志进行数据预处理;
A3,从预处理后的用户社交信息日志中统计出具有社交行为的用户对;
A4,按照以下原则构建社交复杂网络:将每一用户对中的用户对应至社交复杂网络的节点、且每一用户对对应的节点之间有连边。
优选地,本发明中,所述网络模块可按照设定的构建频率构建社交复杂网络,并用新构建的社交复杂网络更新之前的社交复杂网络;
和/或,
基于客户端的主动要求构建社交复杂网络并用新构建的社交复杂网络更新之前的社交复杂网络。
其中,作为本发明一个实施例,所述网络模块可通过以下步骤构建社交复杂网络:
A1,依据构建社交复杂网络的规划,从本地社交信息库中抽取满足所述规划的用户社交信息日志;所述用户社交信息日志至少包括:参与社交行为的双方用户、社交行为的起始时间;
A2,按照社交复杂网络的要求对抽取的用户社交信息日志进行数据预处理;
A3,从预处理后的用户社交信息日志中统计出具有社交行为的用户对;
A4,按照以下原则构建社交复杂网络:将每一用户对中的用户对应至社交复杂网络的节点、且每一用户对对应的节点之间有连边。
在上面描述中,所述本地社交信息库中的用户社交信息日志通过以下步骤获取:
接收客户端在有新的社交行为时上传该新的社交行为对应的、且被转换成可传输格式的用户社交信息日志;
将所述客户端上传的被转换成可传输格式的用户社交信息日志还原为初始的格式,并同步存储至本地社交信息库,所述初始的格式是指用户社交信息日志在被客户端转换成可传输格式之前的格式。
优选地,如图4所示,所述装置进一步包括:
连边预测模块,用于在所述社交复杂网络寻找不存在连边的节点对,预测寻找到的每一节点对之间可能存在连边的概率;
基于此,所述推荐模块从寻找到的所有节点对中查找包含目标节点的节点对,按照概率从高至低的顺序排列查找到的节点对中包含的除目标节点之外的节点,形成节点序列1并存储至推荐列表库中,将所述推荐列表库存储的节点序列1中的至少一个节点作为待推荐的好友推荐给目标用户。
优选地,本发明中,所述连边预测模块进一步按照概率从高至低的顺序排列寻找到的节点对,形成节点对序列,按照从前至后的顺序将所述节点对序列中的节点对和该节点对之间可能存在连边的概率放至一个单向链表,并在所述单向链表结尾处添加一个用于表示链表结束的结束标记,在初始,所述单向链表的链表表头指向所述节点对序列中的第一个节点对;
基于此,所述推荐模块从寻找到的所有节点对中查找包含目标节点的节点对,按照概率从高至低的顺序排列查找到的节点对中包含的除目标节点之外的节点,形成节点序列1包括:
识别所述链表表头是否指向所述结束标记;
在所述链表表头指向所述结束标记时,结束当前流程;
在所述链表表头未指向所述结束标记时,获取所述链表表头当前指向的当前节点对,判断当前节点对是否包含目标节点,如果是,按照从前至后的顺序记录当前节点对中除目标节点之外的节点至节点对序列,如果否,将所述链表表头移动至当前节点对在所述单向链表的下一个位置,返回识别所述链表表头是否指向所述结束标记的操作。
优选地,本发明中,所述连边预测模块基于网络中节点的局部信息相似性或基于网络中局部路径信息相似性的方式,或者,基于网络中节点的局部信息相似性和网络中局部路径信息相似性的方式,预测寻找到的每一节点对之间可能存在连边的概率。
基于网络中节点的局部信息相似性的方式预测寻找到的每一节点对之间可能存在连边的概率通过以下公式实现:
S xy = | Γ ( x ) ∩ Γ ( y ) | Σ z ∈ Γ ( x ) ∩ Γ ( y ) 1 k ( z ) ;
基于网络中局部路径信息相似性的方式预测寻找到的每一节点对之间可能存在连边的概率通过以下公式实现:
Sxy=(A2)xy+α(A3)xy
基于网络中节点的局部信息相似性和网络中局部路径信息相似性的方式预测寻找到的每一节点对之间可能存在连边的概率通过以下公式实现:
S xy = | Γ ( x ) ∩ Γ ( y ) | Σ z ∈ Γ ( x ) ∩ Γ ( y ) 1 k ( z ) ( ( A 2 ) xy + α ( A 3 ) xy ) ;
其中,Sxy表示节点对(xy)中两个节点即节点x、节点y之间可能存在连边的概率,Γ(x)表示节点x的邻居节点集合,Γ(y)表示节点y的邻居节点集合,|Γ(x)∩Γ(y)|表示节点x的邻居节点集合与节点y的邻居节点集合相交的节点数量,k(z)=|Γ(z)|表示节点z的度,α为调节参数,(An)xy表示节点x和y之间相隔长度为n个节点的路径的数量。
优选地,本发明中,所述推荐模块将所述推荐列表库存储的节点序列1中的至少一个节点作为待推荐的好友推荐给目标用户具体为:
按照从前至后的顺序从存储于推荐列表库的节点对序列1中选取出N个节点作为待推荐的好友推荐给目标用户;
其中,N为目标用户需要的好友数量。
优选地,本发明中,所述网络模块在步骤A3中进一步包括:计算每一用户对之间的社交行为次数;
所述网络模块在步骤A4中进一步包括:针对社交复杂网络中每一用户对对应的节点之间的连边,确定该用户对的社交行为次数为该连边的权值;
基于此,在上面描述中,所述推荐模块将所述推荐列表库存储的节点序列1中的至少一个节点作为待推荐的好友推荐给目标用户具体为:
在所述社交复杂网络中寻找与目标节点具有连边的节点,按照与目标节点的连边的权值从高至低的顺序对寻找到的节点进行排列,形成节点序列2并存储至推荐列表库中;
按照从前至后的顺序从存储于推荐列表库的节点序列1中选取出N1个节点,以及按照从前至后的顺序从存储于推荐列表库的节点序列2中选取出N2个节点,将选取的N1个节点和N2个节点作为待推荐的好友推荐给目标用户;
其中,N1为目标用户需要的在所述社交复杂网络中与目标节点不存在连边的好友数量、N2为目标用户需要的在所述社交复杂网络中与目标节点存在连边的好友数量。
优选地,本发明中,所述网络模块在步骤A3中进一步包括:计算每一用户对之间的社交行为次数;
所述网络模块在步骤A4中进一步包括:针对社交复杂网络中每一用户对对应的节点之间的连边,确定该用户对的社交行为次数为该连边的权值;
所述推荐模块在所述社交复杂网络中寻找与目标节点具有连边的节点,按照与目标节点的连边的权值从高至低的顺序对寻找到的节点进行排列,形成节点序列2并存储至推荐列表库中;
按照从前至后的顺序从存储于推荐列表库的节点序列2中选取出N个节点,将选取的N节点作为待推荐的好友推荐给目标用户;
其中,N为目标用户需要的好友数量。
至此,完成图4所示装置。
由以上技术方案可以看出,本发明中,通过构建社交复杂网络,分析出与所述目标节点具有连边和/或可能具有连边的节点作为目标用户的潜在好友户推荐给目标用户。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (18)

1.一种好友推荐方法,其特征在于,该方法应用于服务器端,包括:
A,构建包含多个节点的社交复杂网络,在所述社交复杂网络中,每一节点对应一个用户,且两个节点之间如果有连边,则表示该两个节点对应的用户之间有社交行为;
B,接收待推荐好友的目标用户发送的推荐请求,在所述社交复杂网络中识别所述目标用户对应的目标节点;
C,依据所述社交复杂网络分析与所述目标节点具有连边和/或可能具有连边的节点,将分析出的至少一个节点作为待推荐的好友推荐给所述目标用户。
2.根据权利要求1所述的方法,其特征在于,步骤A包括:
A1,依据构建社交复杂网络的规划,从本地社交信息库中抽取满足所述规划的用户社交信息日志;所述用户社交信息日志至少包括:参与社交行为的双方用户、社交行为的起始时间;
A2,按照社交复杂网络的要求对抽取的用户社交信息日志进行数据预处理;
A3,从预处理后的用户社交信息日志中统计出具有社交行为的用户对;
A4,按照以下原则构建社交复杂网络:将每一用户对中的用户对应至社交复杂网络的节点、且每一用户对对应的节点之间有连边。
3.根据权利要求1或2所述的方法,其特征在于,步骤A按照设定的构建频率构建社交复杂网络,并用新构建的社交复杂网络更新之前的社交复杂网络;
和/或,
步骤A基于客户端的主动要求构建社交复杂网络并用新构建的社交复杂网络更新之前的社交复杂网络。
4.根据权利要求2所述的方法,其特征在于,所述本地社交信息库中的用户社交信息日志通过以下步骤获取:
接收客户端在有新的社交行为时上传该新的社交行为对应的、且被转换成可传输格式的用户社交信息日志;
将所述客户端上传的被转换成可传输格式的用户社交信息日志还原为初始的格式,并同步存储至本地社交信息库,所述初始的格式是指用户社交信息日志在被客户端转换成可传输格式之前的格式。
5.根据权利要求2所述的方法,其特征在于,步骤C之前进一步包括:
在所述社交复杂网络寻找不存在连边的节点对;
预测寻找到的每一节点对之间可能存在连边的概率;
步骤C包括:
C1,从寻找到的所有节点对中查找包含目标节点的节点对,按照概率从高至低的顺序排列查找到的节点对中包含的除目标节点之外的节点,形成节点序列1并存储至推荐列表库中;
C2,将所述推荐列表库存储的节点序列1中的至少一个节点作为待推荐的好友推荐给目标用户。
6.根据权利要求5所述的方法,其特征在于,所述预测寻找到的每一节点对之间存在连边的概率进一步包括:
按照概率从高至低的顺序排列寻找到的节点对,形成节点对序列;
按照从前至后的顺序将所述节点对序列中的节点对和该节点对之间可能存在连边的概率放至一个单向链表,并在所述单向链表结尾处添加一个用于表示链表结束的结束标记,在初始,所述单向链表的链表表头指向所述节点对序列中的第一个节点对;
步骤C1中形成节点序列1的操作包括:
识别所述链表表头是否指向所述结束标记;
在所述链表表头指向所述结束标记时,结束当前流程;
在所述链表表头未指向所述结束标记时,获取所述链表表头当前指向的当前节点对,判断当前节点对是否包含目标节点,如果是,按照从前至后的顺序记录当前节点对中除目标节点之外的节点至节点对序列,如果否,将所述链表表头移动至当前节点对在所述单向链表的下一个位置,返回识别所述链表表头是否指向所述结束标记的操作。
7.根据权利要求5所述的方法,其特征在于,所述预测寻找到的每一节点对之间可能存在连边的概率包括:
基于网络中节点的局部信息相似性或基于网络中局部路径信息相似性的方式,或者,基于网络中节点的局部信息相似性和网络中局部路径信息相似性的方式,预测寻找到的每一节点对之间可能存在连边的概率。
8.根据权利要求7所述的方法,其特征在于,基于网络中节点的局部信息相似性的方式预测寻找到的每一节点对之间可能存在连边的概率通过以下公式实现:
S xy = | Γ ( x ) ∩ Γ ( y ) | Σ z ∈ Γ ( x ) ∩ Γ ( y ) 1 k ( z ) ;
基于网络中局部路径信息相似性的方式预测寻找到的每一节点对之间可能存在连边的概率通过以下公式实现:
Sxy=(A2)xy+α(A3)xy
基于网络中节点的局部信息相似性和网络中局部路径信息相似性的方式预测寻找到的每一节点对之间可能存在连边的概率通过以下公式实现:
S xy = | Γ ( x ) ∩ Γ ( y ) | Σ z ∈ Γ ( x ) ∩ Γ ( y ) 1 k ( z ) ( ( A 2 ) xy + α ( A 3 ) xy ) ;
其中,Sxy表示节点对(xy)中两个节点即节点x、节点y之间可能存在连边的概率,Γ(x)表示节点x的邻居节点集合,Γ(y)表示节点y的邻居节点集合,|Γ(x)∩Γ(y)|表示节点x的邻居节点集合与节点y的邻居节点集合相交的节点数量,k(z)=|Γ(z)|表示节点z的度,α为调节参数,(An)xy表示节点x和y之间相隔长度为n个节点的路径的数量。
9.根据权利要求5所述的方法,其特征在于,步骤C2包括:
按照从前至后的顺序从存储于推荐列表库的节点对序列1中选取出N个节点作为待推荐的好友推荐给目标用户;
其中,N为目标用户需要的好友数量。
10.根据权利要求5至8任一所述的方法,其特征在于,步骤A3中进一步包括:计算每一用户对之间的社交行为次数;
步骤A4中进一步包括:针对社交复杂网络中每一用户对对应的节点之间的连边,确定该用户对的社交行为次数为该连边的权值;
步骤C2包括:
在所述社交复杂网络中寻找与目标节点具有连边的节点,按照与目标节点的连边的权值从高至低的顺序对寻找到的节点进行排列,形成节点序列2并存储至推荐列表库中;
按照从前至后的顺序从存储于推荐列表库的节点序列1中选取出N1个节点,以及按照从前至后的顺序从存储于推荐列表库的节点序列2中选取出N2个节点,将选取的N1个节点和N2个节点作为待推荐的好友推荐给目标用户;
其中,N1为目标用户需要的在所述社交复杂网络中与目标节点不存在连边的好友数量、N2为目标用户需要的在所述社交复杂网络中与目标节点存在连边的好友数量。
11.根据权利要求2所述的方法,其特征在于,步骤A3中进一步包括:计算每一用户对之间的社交行为次数;
步骤A4中进一步包括:针对社交复杂网络中每一用户对对应的节点之间的连边,确定该用户对的社交行为次数为该连边的权值;
步骤C包括:
在所述社交复杂网络中寻找与目标节点具有连边的节点,按照与目标节点的连边的权值从高至低的顺序对寻找到的节点进行排列,形成节点序列2并存储至推荐列表库中;
按照从前至后的顺序从存储于推荐列表库的节点序列2中选取出N个节点,将选取的N节点作为待推荐的好友推荐给目标用户;
其中,N为目标用户需要的好友数量。
12.一种好友推荐装置,其特征在于,该装置应用于服务器端,包括:
网络模块,用于构建包含多个节点的社交复杂网络,在所述社交复杂网络中,每一节点对应一个用户,且两个节点之间如果有连边,则表示该两个节点对应的用户之间有社交行为;
接收模块,用于接收待推荐好友的目标用户发送的推荐请求,在所述社交复杂网络中识别所述目标用户对应的目标节点;
推荐模块,用于依据所述社交复杂网络分析与所述目标节点具有连边和/或可能具有连边的节点,将分析出的至少一个节点作为待推荐的好友推荐给所述目标用户。
13.根据权利要求12所述的装置,其特征在于,所述网络模块通过以下步骤构建社交复杂网络:
A1,依据构建社交复杂网络的规划,从本地社交信息库中抽取满足所述规划的用户社交信息日志;所述用户社交信息日志至少包括:参与社交行为的双方用户、社交行为的起始时间;
A2,按照社交复杂网络的要求对抽取的用户社交信息日志进行数据预处理;
A3,从预处理后的用户社交信息日志中统计出具有社交行为的用户对;
A4,按照以下原则构建社交复杂网络:将每一用户对中的用户对应至社交复杂网络的节点、且每一用户对对应的节点之间有连边。
14.根据权利要求13所述的装置,其特征在于,所述装置进一步包括:
连边预测模块,用于在所述社交复杂网络寻找不存在连边的节点对,预测寻找到的每一节点对之间可能存在连边的概率;
所述推荐模块从寻找到的所有节点对中查找包含目标节点的节点对,按照概率从高至低的顺序排列查找到的节点对中包含的除目标节点之外的节点,形成节点序列1并存储至推荐列表库中,将所述推荐列表库存储的节点序列1中的至少一个节点作为待推荐的好友推荐给目标用户。
15.根据权利要求14所述的装置,其特征在于,所述连边预测模块基于网络中节点的局部信息相似性或基于网络中局部路径信息相似性的方式,或者,基于网络中节点的局部信息相似性和网络中局部路径信息相似性的方式,预测寻找到的每一节点对之间可能存在连边的概率。
16.根据权利要求15所述的装置,其特征在于,所述推荐模块将所述推荐列表库存储的节点序列1中的至少一个节点作为待推荐的好友推荐给目标用户具体为:
按照从前至后的顺序从存储于推荐列表库的节点对序列1中选取出N个节点作为待推荐的好友推荐给目标用户;
其中,N为目标用户需要的好友数量。
17.根据权利要求14至16任一所述的装置,其特征在于,
所述网络模块在步骤A3中进一步包括:计算每一用户对之间的社交行为次数;
所述网络模块在步骤A4中进一步包括:针对社交复杂网络中每一用户对对应的节点之间的连边,确定该用户对的社交行为次数为该连边的权值;
所述推荐模块将所述推荐列表库存储的节点序列1中的至少一个节点作为待推荐的好友推荐给目标用户具体为:
在所述社交复杂网络中寻找与目标节点具有连边的节点,按照与目标节点的连边的权值从高至低的顺序对寻找到的节点进行排列,形成节点序列2并存储至推荐列表库中;
按照从前至后的顺序从存储于推荐列表库的节点序列1中选取出N1个节点,以及按照从前至后的顺序从存储于推荐列表库的节点序列2中选取出N2个节点,将选取的N1个节点和N2个节点作为待推荐的好友推荐给目标用户;
其中,N1为目标用户需要的在所述社交复杂网络中与目标节点不存在连边的好友数量、N2为目标用户需要的在所述社交复杂网络中与目标节点存在连边的好友数量。
18.根据权利要求13所述的装置,其特征在于,
所述网络模块在步骤A3中进一步包括:计算每一用户对之间的社交行为次数;
所述网络模块在步骤A4中进一步包括:针对社交复杂网络中每一用户对对应的节点之间的连边,确定该用户对的社交行为次数为该连边的权值;
所述推荐模块在所述社交复杂网络中寻找与目标节点具有连边的节点,按照与目标节点的连边的权值从高至低的顺序对寻找到的节点进行排列,形成节点序列2并存储至推荐列表库中;
按照从前至后的顺序从存储于推荐列表库的节点序列2中选取出N个节点,将选取的N节点作为待推荐的好友推荐给目标用户;
其中,N为目标用户需要的好友数量。
CN201310634770.7A 2013-12-02 2013-12-02 好友推荐方法和装置 Active CN103678531B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310634770.7A CN103678531B (zh) 2013-12-02 2013-12-02 好友推荐方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310634770.7A CN103678531B (zh) 2013-12-02 2013-12-02 好友推荐方法和装置

Publications (2)

Publication Number Publication Date
CN103678531A true CN103678531A (zh) 2014-03-26
CN103678531B CN103678531B (zh) 2017-02-08

Family

ID=50316076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310634770.7A Active CN103678531B (zh) 2013-12-02 2013-12-02 好友推荐方法和装置

Country Status (1)

Country Link
CN (1) CN103678531B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156392A (zh) * 2014-07-09 2014-11-19 中电科华云信息技术有限公司 好友及应用个性化推荐方法及***
CN104239399A (zh) * 2014-07-14 2014-12-24 上海交通大学 社交网络中的潜在好友推荐方法
CN104580385A (zh) * 2014-12-16 2015-04-29 腾讯科技(深圳)有限公司 一种拓展用户关系链的方法及装置
CN105843830A (zh) * 2015-11-30 2016-08-10 维沃移动通信有限公司 一种好友推荐方法及***
CN106021325A (zh) * 2016-05-06 2016-10-12 腾讯科技(深圳)有限公司 一种好友推荐方法和装置
CN107154862A (zh) * 2016-03-04 2017-09-12 上海海岸展览服务有限公司 一种中间人推荐方法和***
CN107346333A (zh) * 2017-06-27 2017-11-14 浙江大学 一种基于链路预测的在线社交网络好友推荐方法与***
CN109074385A (zh) * 2016-02-29 2018-12-21 微软技术许可有限责任公司 混合连接推荐流
WO2019014894A1 (zh) * 2017-07-20 2019-01-24 深圳大学 网络链路预测方法及装置
CN109658120A (zh) * 2017-10-12 2019-04-19 腾讯科技(深圳)有限公司 一种业务数据处理方法以及装置
CN109685630A (zh) * 2019-01-09 2019-04-26 苏州大学 电子商务团购推荐方法及***
CN110968578A (zh) * 2018-09-28 2020-04-07 中建水务环保有限公司 污水处理工艺推荐方法及装置
CN111368211A (zh) * 2020-02-20 2020-07-03 腾讯科技(深圳)有限公司 关系链确定方法、装置及存储介质
CN108932262B (zh) * 2017-05-26 2020-07-14 北京小唱科技有限公司 一种歌曲推荐方法及装置
CN112287210A (zh) * 2020-08-07 2021-01-29 北京沃东天骏信息技术有限公司 模板的推荐方法、装置、电子设备及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281044A1 (en) * 2009-04-29 2010-11-04 Ajay Gupta Method and system for creating a profiled social network
CN102668457A (zh) * 2009-09-30 2012-09-12 柯蔼文 用于社交图数据分析以确定社区内的连接性的***和方法
CN103379158A (zh) * 2012-04-24 2013-10-30 ***通信集团公司 一种社交网络中推荐好友信息的方法及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281044A1 (en) * 2009-04-29 2010-11-04 Ajay Gupta Method and system for creating a profiled social network
CN102668457A (zh) * 2009-09-30 2012-09-12 柯蔼文 用于社交图数据分析以确定社区内的连接性的***和方法
CN103379158A (zh) * 2012-04-24 2013-10-30 ***通信集团公司 一种社交网络中推荐好友信息的方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吕琳媛: "复杂网络链路预测", 《复杂网络链路预测 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156392A (zh) * 2014-07-09 2014-11-19 中电科华云信息技术有限公司 好友及应用个性化推荐方法及***
CN104239399A (zh) * 2014-07-14 2014-12-24 上海交通大学 社交网络中的潜在好友推荐方法
CN104239399B (zh) * 2014-07-14 2017-08-01 上海交通大学 社交网络中的潜在好友推荐方法
CN104580385A (zh) * 2014-12-16 2015-04-29 腾讯科技(深圳)有限公司 一种拓展用户关系链的方法及装置
CN105843830A (zh) * 2015-11-30 2016-08-10 维沃移动通信有限公司 一种好友推荐方法及***
CN109074385A (zh) * 2016-02-29 2018-12-21 微软技术许可有限责任公司 混合连接推荐流
CN107154862A (zh) * 2016-03-04 2017-09-12 上海海岸展览服务有限公司 一种中间人推荐方法和***
CN106021325A (zh) * 2016-05-06 2016-10-12 腾讯科技(深圳)有限公司 一种好友推荐方法和装置
CN108932262B (zh) * 2017-05-26 2020-07-14 北京小唱科技有限公司 一种歌曲推荐方法及装置
CN107346333A (zh) * 2017-06-27 2017-11-14 浙江大学 一种基于链路预测的在线社交网络好友推荐方法与***
CN107346333B (zh) * 2017-06-27 2020-11-17 浙江大学 一种基于链路预测的在线社交网络好友推荐方法与***
WO2019014894A1 (zh) * 2017-07-20 2019-01-24 深圳大学 网络链路预测方法及装置
CN109658120A (zh) * 2017-10-12 2019-04-19 腾讯科技(深圳)有限公司 一种业务数据处理方法以及装置
CN109658120B (zh) * 2017-10-12 2022-11-29 腾讯科技(深圳)有限公司 一种业务数据处理方法以及装置
CN110968578A (zh) * 2018-09-28 2020-04-07 中建水务环保有限公司 污水处理工艺推荐方法及装置
CN109685630B (zh) * 2019-01-09 2020-10-27 苏州大学 电子商务团购推荐方法及***
CN109685630A (zh) * 2019-01-09 2019-04-26 苏州大学 电子商务团购推荐方法及***
CN111368211A (zh) * 2020-02-20 2020-07-03 腾讯科技(深圳)有限公司 关系链确定方法、装置及存储介质
CN111368211B (zh) * 2020-02-20 2023-05-16 腾讯科技(深圳)有限公司 关系链确定方法、装置及存储介质
CN112287210A (zh) * 2020-08-07 2021-01-29 北京沃东天骏信息技术有限公司 模板的推荐方法、装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
CN103678531B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103678531A (zh) 好友推荐方法和装置
US10360257B2 (en) System and method for image annotation
US10846052B2 (en) Community discovery method, device, server and computer storage medium
US11870864B2 (en) System and method for automatic storyline construction based on determined breaking news
CN107102941B (zh) 一种测试用例的生成方法及装置
CN108280115B (zh) 识别用户关系的方法及装置
CN102750336B (zh) 一种基于用户关联性的资源个性化推荐方法
US11238233B2 (en) Artificial intelligence engine for generating semantic directions for websites for automated entity targeting to mapped identities
US20160359791A1 (en) Computerized notification system and method for delivering breaking news content
CN105574092B (zh) 信息挖掘方法和装置
US20170118099A1 (en) Automatic anomaly detection framework for grid resources
US11880401B2 (en) Template generation using directed acyclic word graphs
US20160283591A1 (en) Method for providing social activity integration service
CN106407377A (zh) 基于人工智能的搜索方法和装置
US20210141861A1 (en) Systems and methods for training and evaluating machine learning models using generalized vocabulary tokens for document processing
CN106126519A (zh) 媒体信息的展示方法及服务器
CN105824872A (zh) 基于搜索的数据的检测、链接和获取的方法和***
CN108055166B (zh) 一种嵌套的应用层协议的状态机提取***及其提取方法
US10956914B2 (en) System and method for mapping a customer journey to a category
CN107391650A (zh) 一种文档的结构化拆分方法,装置及***
CN102937954A (zh) 一站式旅游信息搜索方法
US10459959B2 (en) Top-k query processing with conditional skips
CN107529190B (zh) 用户数据获取***和方法
CN103365645A (zh) 用于维护软件***的方法和设备
KR101482143B1 (ko) 자동 완성어의 유형에 기초하여 부가 정보를 제공하는 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant