- 1 -
基于社交网络的全局信任算法研究#
高艳,袁玉宇**
(北京邮电大学软件学院,北京 100876)
5 摘要:失信行为已经成为阻碍社交网络发展的严重问题。在社交网络(SNS)中用户之间是存
在信任关系,为了找出社交网络中的失信用户,可以利用社交网络中的信任关系,计算用户
的信任度,从而找出失信用户。本文结合现实生活中的人际信任关系,提出直接信任、间接
信任和全局信任概念。在现有的信任模型方法的基础上,结合直接信任度、间接信任度,利
用迭代算法计算出用户的全局信任度,通过仿真,验证该全局信任算法可以合理的计算出社10
交网络中用户节点的全局信任度。
关键词:社交网络;信任计算;相似度
中图分类号:TP301
The Research on Global Trust Algorithm Based on Social 15
Network
GAO Yan, YUAN Yuyu
(School of Software Engineering,Beijing University of Posts and Telecommunications)
Abstract: Discreditable behavior has become a serious problem hindering the development of
social found that trust relationship is ubiquitous in social order to find 20
out the dishonest user,we can use trust computing to find out the dishonest this paper it
brings forward the concept of direct trust,indirect trust and global trust based on interpersonal trust
relationships in real an iterative algorithm to calculate the global trust of users combines
with direct trust and indirect trust on the basis of the existing trust model can use
simulation to verify that the global trust algorithm can calculate a reasonable degree of user’s 25
global trust in social network.
Key words: Social Network Services; Trust Computing; Similarity
0 引言
自 20世纪 60年代以来,互联网络在规模和应用领域上日益得到拓展,今天已经成为最30
大的人造信息系统,网络的规模仍在继续膨胀。互联网已经转变并大大改善了人类社会经济
生活的方式,人们可以通过社交网络进行人际交往,改变了人们生活方式。但同时也不得不
面临网络带来的问题,由于网络的匿名性和虚拟性,导致社交网络中存在失信行为,如传播
不健康信息、传播谣言等。为了找出社交网络中的失信用户节点,我们可以引入信任计算。
在心理学中,信任是指基于对对方的意图和行为的积极预期,愿意向对方暴露自己的弱点并35
且不担心被利用的一种心理状态。最先尝试将信任引入计算机领域的是 Beth[1]等人,紧接着
有许多的国内外学者也开始研究信任在计算机网络中的应用。Jøsang等人在九十年代建立了
基于模糊逻辑的信任模型,根据信任的主观性和不确定性,进一步研究建模信任的证据空间
和信任空间,提出了一种度量信任的方法。而且在此基础上定义了信任计算的逻辑算子,因
此奠定了信任表示的理论基础。在前人基础上 Yonghong Wang[2]等人在 2010年提出了基于40
证据的证据的信任模型,主要使用概率和基于统计的确定性来表示信任。Erman 等人[3]采用
- 2 -
信念传播方式改进全局信任计算的准确性,并应用到信任声望管理系统中。
1 信任计算
由于信任是一种心理状态,并且具有主观性,所以对于信任的准确评估有很大困难。在
计算机领域中,信任关系的建模要结合现实生活中的人际信任关系对社交网络上的信任关系45
评估。
首先,一个用户被其他用户信任,在一定程度上说明该用户是可以信任的。对于信任的
概念,在社会学、心理学、哲学等领域中,信任已经被广泛研究。二十世纪中期,信任在西
方社会科学中已经成为了一个中心研究问题,随着科技进步人们逐渐意识到信任对社会发展
的重要性。中国科技大学博士洪进总结信任内涵为五点:1.信任是双向的;2.信任包括人际50
间信任与组织之间信任;3.信任的建立需要认知上和心理上的基础;4.理解信任的范畴有依
赖和风险;5.信任与控制机制紧密相连[4]。在计算机领域中,计算机网络其本质也是人类社
会的缩影,都需要人与人之间的信任。信任是一个非常复杂的社会与心理现象,涉及到很多
层面。本文提出如下概念:
信任最重要的特性是主观性。信任不是一个客观属性,不会有人天生就具有信任属性,55
一个人是否被信任来自于其他人是否信任此人。这就引出了直接信任。直接信任指的是某一
用户对另一用户的信任,此信任没有考虑到借鉴其他人的意见。
信任的传递性。在现实社会中,A可以通过 B 被推荐给 C,而产生 C与 A 的信任关系,
这引出了间接信任。间接信任是指一个用户通过其他用户(至少一个)与这一用户建立信任
关系。 60
用户全局可信度概念是某一个用户在某个社交网络中的信任度。
直接信任度
在实际生活中,人们一般比较相信与自己有过交流的人,所以在系统中用户更加容易与
自己有过交流的人建立信任关系。但是,对于没有直接交互的人来说,人们更喜欢与自己兴
趣、背景和人格上相似的人,所以在系统中用户对没有直接交互的人,会根据其兴趣、背景65
等建立信任关系。所以,本文将系统中的用户分为两类,一类是用户之间有过交互经验,一
类是用户之间没有过交互经验。要分别对这两类用户计算信任度。
对于没有交互经验的用户,可以通过其与其他用户的相似性来得到该用户的信任度,用
户之间的相似性,可以根据年龄、家庭所在地、喜爱偏好来计算用户之间的相似性[5]。其公
式如下: 70
BATBATBATBATR
IHA
,(),(),(),( (1)
其中 TR(A,B)表示用户 A对用户 B由相似性产生的信任度;TA(A,B)用户 A与用户 B 由
年龄产生的相似性;TH(A,B)表示用户 A 与用户 B 由家庭所在地产生的相似性;TI(A,B)表示
用户 A与用户 B由兴趣产生的相似性;、、为调整系数,并且+。、、的系75
数可以根据历史数据分析或专家得出。
TA(A,B)的相似性值根据年龄越相近值越高
[6],其计算公式如下:
10
10
10
1
0
)()(
)()(
),(
,
)()(
,
BAgeAAge
BAgeAAge
BAT
BAgeAAge
A
(2)
TH(A,B)的相似性值,一般来说,家庭所在地的行政区域单位越小则信任度越高,这是80
- 3 -
中国科技论文在线
根据人的地域性而决定的,但是这很难精确期间的比例。通过阅读相关文献,可以假定根据
用户 A与用户 B的家庭所在地位于一样的地址则为 1,位于相同小区则为 ,位于相同街
道则为 ,位于相同地区则为 ,位于相同的城市则为 ,位于相同的省市则为 ,位
于相同国家则为 ,其余为 0[6]。
TI(A,B)为社交网络中用户喜爱偏好的相似性值。用户 A 与用户 B 的喜爱偏好相似性可以借85
鉴协同过滤计算用户相似性的方法,使用余弦相似性,我们假设用户 A和用户 B共同评分
的事件集为 I,其相似性计算公式为:
I
Bi
I
Ai
I
BiAi
I
yx
yx
BAT
22
),( (3)
其中,xAi表示用户 A 对事件 i的评分,yBi表示用户 B 对事件 i的评分,事件 i属于用90
户 A 和用户 B 共同评分的事件集 I。求得和相关相似性系数的范围是[0,1],相关系数越大,
则表示这两个用户的兴趣爱好越相似。对于有交互经验的用户,可以根据用户直接交互评价
来计算信任度。用户直接交互评价方法根据用户间的交互经历中所给出的肯定及否定的评价
次数作为信任度评估的自变量,由此来计算用户间的直接信任度。设 n是用户 A 直接获知
的用户 A 的经历次数,且在每次经历中,A都对 B给出一个肯定或者否定的评价,用 s表95
示交互成功后给出肯定评价的次数,f表示交互失败后给出否定评价的次数,显然,s+f=n。
依照常理可以得出,一个合理的信任评价:
),(),( BATCBATS (4)
sBATC 1),( (5) 100
TS(A,B)表示为用户 A 对用户 B交互产生的信任度; TC(A,B)表示为用户 A 对用户 B
由交互产生的信任度;由于在不同领域中,交互产生的信任度的比例不同,在本文中不重点
讨论,在此,假定相似性和交互产生的信任度的比例相同。TC(A,B)的计算方法借鉴于 BBK
信任计算模型[7],公式(5)中的是信任程度的阈值,由于在日程生活中,只有进行多次交互105
的人才能产生较强的信任关系,所以越大,则说明用户 A与用户 B需要多次交互才能产生
交互较高的信任度。值由专家来确定。
间接信任度
当多数用户形成关系网络时,用户与用户就有可能产生间接信任度,其情形如下所示:
当用户 A 对用户 B 的信任度是 T(A,B),用户 B 对用户 C的信任度是 T(B,C),并且用户110
A 到用户 C的路径就只有这一条,那么就会形成如下的串联信任关系:
图 1 串联
Series connection
115
在这种情形下,用户 A 对用户 C 产生的信任度用 T(A,B)C)表示,其中是串联信
任关系算子,的选择通常是根据领域来决定的,在此,我们假定使用Min()函数,Min()函
数为取值在[0,1]之间的函数。在此基础上,如果用户 A 到用户 C 中间有 n个节点,那么用
- 4 -
中国科技论文在线
户 A 对用户 C 的信任度则是 T(A,X1)X2)…jC),其中 j=0,1,2,3,...。
当用户 A 到用户 C 之间有多条不同路径时,其情形如下图所示: 120
图 2 并联
Parallel connection
在此种情形下,用户 A到用户 C 有 n条路径,每条路径有不同个节点,每条用户 A到125
用户 C 的路径的信任度可以根据情形(1)的方法计算得到信任度 Ti(A,C),其中 i=1,2,3,4,....,n。
用户 A到用户 C的信任度表示为 T1(A,C) T2(A,C)… Tn(A,C),其中为并联信任关系
因子,的选择也是根据领域语义的需求来确定的,在本文中我们假定为Max()函数,因
为Max()函数符合模糊逻辑方式,而且可以避免环状图的迭代带来的不收敛问题[8]。
2 全局信任度 130
不同用户在群体中的可信度是不同的,有些用户可能被群体中大部分用户所信任,而有
些用户在群体中可能几乎没有用户信任它。一个用户越被群体中其它用户所信任,且信任该
用户的用户本身在群体中的可信度越高,那么该用户在群体中的可信度应当越高。使用节点
在群体的可信度算法[9],因此,一个用户在社交网络中的信任度为用户网络中其它用户对该
用户信任度值的加权平均,权重为对应用户在社交网络中的信任度,即用户在社交网络中的135
信任度计算公式为:
ij
RVj
all
ij
RVj
all
all
ijTRjT
RjT
RiT
)(
)(
)),(),((
),(
),(
1
(6)
其中,Tall(i,R)表示用户 i在用户网络 R中的可信度;V(R)为用户网络 R 中用户的集合;
T(j,i)为用户 j对用户 i的信任度。 140
若用户网络中有 n 个用户,可以按如下方法进行迭代,最后收敛的结果就为用户在用户
网络中的信任度,其迭代方法如下:
I 初始化每位用户的全局可信度 ),( RiT
all
,i=1,2,3,...,n,其值取值范围在[0,1]之间。
II 计算 ),( RiT
all
,其计算方法如下:
ij
RVj
all
ij
RVj
all
all
ijTRjT
RjT
RiT
)(
)(
)),(),((
),(
),(
1
(7) 145
- 5 -
中国科技论文在线
III 先确定误差率的大小,再判断
)(
),(
RVi
allall
TRiT 的值是否小于 ,即判断计算结
果是否相近。若相近,则得到所有用户的全局可信度集合 )(|),( RViRiTT
all
;若不相
近,则对每一个用户 i的全局可信度 ),( RiT
all
= ),( RiT
all
,再回到 II步。
3 仿真
仿真的硬件环境为 Intel(R) Core(TM) Duo CPU T5800,内存为 ,操作系统为 150
Windows7 32位旗舰版。仿真 100个节点,其中友好节点占 80%,恶意节点占 20%。友好节
点为在系统中具有良好行为的节点,恶意节点为在系统中有不良行为的节点。系统中有 20
个不同的用户评分事件集,20个不同的家庭住址,用户年龄随机取 1至 100之间,为这 100
个用户节点随机分配。根据实际生活经验,在有过交互的友好节点之间的正向评价较多;友
好节点对恶意节点用户的反向评价较多;恶意节点对友好节点用户的反向评价较多;恶意节155
点对恶意节点的正向节点评价较多。模拟节点间交互至少为 150次,根据以上情况为友好节
点和恶意节点随机分配正向和反向评价。信任程度 取值为 。
恶意节点的全局信任度应该在[0,],而友好节点的全局信任度应该在[,1]之间。下面
是计算 100个用户的全局信任度,仿真结果如下表所示:
160
表 1 仿真结果
The result of simulation
可信度范围 节点个数
[0,) 17
[,) 3
[,) 2
[,) 67
[,] 11
由表可以看出,当群体中恶意节点较少时,绝大部分友好节点在群体中的可信度在[,
)区间内,而恶意节点在群体中的可信度几乎在[0,)区间内。即使群体中存在 20%的165
恶意节点,大部分友好节点在群体中的可信度也比恶意节点在群体中的可信度高。由此可见,
群体中的恶意节点很难在群体中有比较高的信任度。
4 结论
社交网络中用户失信行为已经成为社交网络突显的主要问题。本文提出一种基于社交网
络的全局信任算法,首先将用户分为两类,一类为有交互经验的用户,一类为没有交互经验170
的用户。有交互经验的用户的信任度由直接信任值与用户相似性综合而成;另一类没有交互
经验的用户的信任度由间接信任值与用户相似性综合而成;最后利用迭代的方法计算出用户
在社交网络中的全局信任值。通过仿真,本算法可以有效的找出失信用户,从而加强了社交
网络的安全性。
175
[参考文献] (References)
[1] Beth T,Borcherding M,Klein of trust in open network[A]. of the
European Symposium on Research in Security[C].United Kingdom:Springer-Verlag,-18.
[2] Yonghong Wang,Munindar -based Trust: A Mathematical Model Geared for Multiagent
Systems[J].ACM Transactions on Autonomous and Adaptive Systems(TAAS).2010,5(4):1-30 180
[3] Erman A,Faramarz trust and reputation management using belief propagation[J].IEEE Transactions
- 6 -
中国科技论文在线
on Dependable and Secure Computing,2012,9(3):375-386
[4] 洪进. 基于网络视角的虚拟 R&D 组织形态及其治理机制研究[D]. 合肥:中国科技大学,2005.
[5] 付蕾. 社交网络中用户的信任度计算方法[J]. 现代计算机,2013,4(8):9-13.
[6] 乔秀全,杨春,李晓峰,陈俊亮. 社交网络服务中一种基于用户上下文的信任度计算方法[J]. 计算机学185
报,2011,34(12):2403-2413.
[7] 陈军,高雅,刘莉平. P2P 环境中基于粒子群算法的信任模型[J]. 洁计算机工程与应用,2009,45(32):
75-79.
[8] 洪涛. 面向纯评价系统的基于信任的评价模型研究[D]. 南京:东南大学,2005.
[9] 鲍捷,程久军. 基于社交网络的群体信任算法[J]. 计算机科学,2012,39(2):38-41. 190