基于情感紧密度的社交网络推荐算法
2016-09-26张能福
彭 欢 张能福
(作者单位:五邑大学经济管理学院)
基于情感紧密度的社交网络推荐算法
彭欢张能福
当前的社交网络推荐算法主要是基于内容相似度或者好友相似度进行推荐,忽略了社交网络中情感值计算;而基于NAS算法的紧密度计算属性边权值灵活度不高,因而紧密度计算不够准确,不能产生较为理想的推荐效果。针对上述两个问题,提出了基于情感紧密度的社交网络推荐算法,以达到社交网络推荐准确率的提高。实验证明,该方法在提高短号集团网络的推荐准确率方面较为理想。
紧密度;推荐准确率;情感值计算;NAS算法
一、引言
短号集团社交网络上的推荐问题,不同于传统的推荐系统,传统社交网络推荐系统主要基于以下几类来进行推荐:第一、基于用户节点爱好之间的相似度来进行推荐;第二、基于共同好友之间的相似度来进行推荐;第三、基于以上两类之间的相似度来进行推荐。然而,对于用户节点之间的通话除了固有的工作需求,还存在生活好友之间的联系需求,以上推荐系统对于情感紧密度的计算都鲜有涉及,因此也难以提供较为理想的推荐效果[4][5][6]。
集团社交网络中的推荐系统所服务对象是单个自然人用户节点,其推荐的内容主要为向用户推荐最为有利的短号集团网络。对于单向交流的推荐,通过计算用户节点与集团网络内的部分用户节点间的交流频率、情感强度,进而得出用户与集团之间的紧密度,根据紧密度最高值进行推荐的方法通常能达到很理想的推荐效果。
针对以上问题,本文主要解决的是用户节点与集团社交网络通话记录的情感紧密度计算,具体分为两大类:工作关系需求分析对于推荐集团社交网络的影响,通过紧密度分析计算用户节点间的紧密度权值;生活关系对于推荐集团网络的影响,通过紧密度分析计算用户节点间的紧密度权值。通过以上分析计算,再进行归类,统计用户节点与各个集团社交网络的权值大小,利用改进的NAS算法计算自然人与集团之间的紧密度,根据紧密度向自然人推荐集团社交网络,进而提高推荐的准确度[1]。
二、改进的NAS算法
基于节点属性相似性的NAS算法计算方法是:对任意两节点计算属性相似度,每增加一个共同属性,其边权值就加1,由此来判断两节点之间的紧密度。然而自然人与集团社交网络各用户之间的紧密程度各有不同,边权值大小不一[2]。改进的NAS算法基于边权值不同的思想,对原有的算法进行改进,计算方法如下:
假定两节点i和j共有N个联系人,对于第k条通话ak(1kN),先计算节点联系人k的情感紧密值xk,每增加一个联系人,其边权值就加xk,即:
ifi.ak=j.ak,Wnas(i,j)=Wnas(i,j)+xk
公式表示为:
Wnas(i,j)+=(xk-|i.ak-j.ak|)
由上式计算方法可知,自然人与集团社交网络之间的值越高,就越紧密,反之,则紧密度越低。选取紧密度最高的集团社交网络给予推荐能达到较为理想的效果。
三、情感紧密值分析
下面结合默认日常工作时间,给出影响情感倾向性的两种时间段的情感紧密值计算规则。
对于一个自然人,有工作时段情感系数、生活时间情感系数、通话频率和情感值4个概念,分别记为Work(value)、Life(value)、Frequency(value)和Socre。影响用户之间通话情感值的关系分为两种,分别为:工作关系和生活关系。工作关系本身的情感强度低于生活关系的情感强度,情感程度直接影响情感系数的取值。工作时段情感系数表示处于工作时间段通话所包含的情感值,设为0.5;生活时间情感系数表示处于生活时间段通话所包含的情感值,设为1;通话频率表示工作时间段和生活时间段分别所含的次数。自然人与集团内客户通话情感程度计算规则如式(1)所示:
Socre=Work(value)Frequency(value)+Life(value)Frequency(value)(1)
说明:当自然人与集团内某些客户仅存在工作关系时,生活时间情感系数与通话频率的组合情感值默认为0,同理当自然人与集团内某些客户仅存在生活关系时,工作时间情感系数与通话频率的组合情感值默认为0。
四、基于情感紧密度的用户图
首先建立边无权值的初步用户图(如图1样式)。用户图表示为G=
图1 初步用户图
通过以上步骤得到一个无权的初步用户图,下面将为其加上基于用户情感紧密度的边权值。具体步骤为:由情感紧密值分析计算源节点与各联系人之间的情感紧密值,将属于同一集团网络的情感值进行加成,再由改进的NAS算法遍历图中的每一个节点,逐一计算该自然人节点集团网络之间的情感紧密度,并将其作为边权值保存于图中。从而创建带边权值的完整用户图。
算法 Improved NAS
InputG为无权值的初步用户图,A[H][N]为节点属性矩阵,X[N]为各条通话所得情感值,H为集团网络节点总数,N为通话总数。
Output G’为拥有自然人情感紧密度的用户图
1:for each attribute akin all attributes do
2:Wnas(i,j)=Wnas(i,j)+(X[N]-|A[i][N]-A[j][N]|)
3:end for
五、实验分析
实验数据采用江门移动2014年11月至12月的集团通讯录中的加密数据,对其进行归纳整理,随机选取其中183个集团网络用户,从中剔除异地记录数据4522条,得出13587条有效数据。将属于同一集团的数据打包,通过情感紧密度分析规则计算其中每条数据情感值,分别采用NAS算法和改进的NAS算法进行紧密度的计算赋予边权值,从中挑选边权值最大的集团社交网络进行推荐,对比该用户所在真实集团网络验证正确率。将两种方法的实验结果进行对比,如表1所示:
表1 两种计算方法的实验结果对比
从表1中可得出如下结论:
基于情感紧密度的计算方法的整体准确率为92.35%,相对于基于NAS算法的计算方法的整体准确率为83.06%,提高了9.29个百分点。进而基于情感紧密度的集团社交网络推荐效果更加理想。
六、结论
本文通过对自然人通话信息数据进行预处理的基础上,分别利用NAS算法和基于情感紧密度的改进NAS算法对自然人与集团网络之间的紧密度进行计算。得出如下结论:NAS算法仅仅利用两节点间共有属性进行紧密度计算,忽略了自然人基于情感层面的计算,产生的推荐结果准确率不高。
针对这种情况,本文提出的基于情感紧密度的社交网络推荐方法是基于情感紧密值分析和基于改进NAS算法紧密度计算,对属性的边权值进行有效的计算。实验结果表明:本文所提出的基于情感紧密度的社交网络推荐方法准确度更高,更加符合现实。
(作者单位:五邑大学经济管理学院)
[1]Liu H,Salerno J J,Young M J.Social Computing,Behavioral Modeling,and Predicition[M].Karsten Steinhaeuser,USA:Springer,2008:168-175.
[2]陈克寒,韩盼盼,吴健.基于用户聚类的异构社交网络推荐算法[J].计算机学报,2013,(2):349-359
[3]熊正理,姜文君,王国军.基于用户紧密度的在线社会网络社区发现算法[J].计算机工程,2013,(8):50-54
[4]罗森林,潘丽敏.情感计算理论与技术[J].系统工程与电子技术,2003,(7):905-909
[5]Yasuda Y.,Kawarnoto S.,Ebata A.,Okitsu J.,2003.Concept and evaluation of X-NAS:a highly scalable NAS system.Mass Storage Systems and Technologies,2003,(6):219 - 227.
[6]万常选,江腾蛟,钟敏娟,边海荣.基于词性标注和依存句法的Web金融信息情感计算[J].计算机研究与发展,2013,50(12):2554-2569
[7]Chen J,Geuer W,Dugan C,Muller M,Guy I.Make new friends,but keep the old:Recommending people on social networking sites//Proceedings of the 27th International Conference on Human Factors in Computing Systems .New York,NY,USA,2009:201-210