本发明涉及计算机社交网络技术领域,尤其是一种基于因果推断的社交网络信息传播历史排序方法。
背景技术:
在现代生活中,在线社交网络(SNS)已经深深的影响着每个人的日常生活,大量的社交信息在社交网站中出现和传播,通常一个用户会通过不同的关注的人或者朋友获取相同的信息。在社交网络中,信息散播过程是通过传播历史记录来记录其传播途径的,人们可以用传播历史记录来解释用户在社交网络中的行为,然而,这些传播历史记录很容易变得非常复杂、规模庞大,从而限制了用户对它的直观理解。
为了减少这种信息的过载,对于本领域专业技术人员来说,迫切需要创新的提出一种措施,对传播历史记录中的边或节点按照对信息传播中的贡献进行排序。
技术实现要素:
本发明实施例所要解决的一个技术问题是:提供一种基于因果推断的社交网络信息传播历史排序方法,以解决在复杂的社交网络中,由于信息的过载,用户不便于直观的理解信息传播历史,更加简便的了解每个参与者对社交网络信息传播的贡献。
根据本发明实施例的一个方面,提供的一种基于因果推断的社交网络信息传播历史排序方法,其特征在于,包括:
收集社交网络中信息传播的历史记录,所述信息传播的历史记录与节点或边相关,社交网络中信息的传播是指信息从一个资源节点到一个目标节点的信息传播;
对信息传播的历史记录中的边按照其在信息传播的贡献度进行排序,所述排序是改进的因果效应差异算法,用以评估传播历史中边的重要性,进而衡量该边在此信息传播中的重要性。
进一步的,所述收集社交网络中信息传播的历史记录表征为:
社交网络中的信息散播事件为ε,信息源为S,目标节点为ti表示一个传播轨迹,它由li个连续的边组成;
Φ为一个散播过程的传播历史记录,Τ为Φ中边的集合。
进一步的,所述信息传播的历史记录中,某条特定的边X对于信息传播成功的贡献度有以下两种衡量方式:
边X失效,信息传输成功的概率为:P(Φx'=true);
边X有效,信息传输成功的概率为:P(Φx=true);
其中,x和x’分别代表边X在在随机实验中“有效”和“失效”的情况,P(Φx'=true)和P(Φx=true)是两个因果变量,分别表示边X在信息传播过程中的必要部分和充分部分。
进一步的,所述因果效应差异算法是将P(Φx'=true)和P(Φx=true)两个因果变量结合,即同时考虑因果关系的充分部分和必要部分,其算法公式为:
DCE(X)=P(Φx=true)-P(Φx'=true)。
进一步的,所述因果效应差异算法包括信息传播过程中的必要部分和充分部分,所述信息传播过程中的必要部分称之为责任,所述信息传播过程中的充分部分称之为能力;
信息传播中的因果关系为:
令T为信息传播历史中的边的集合,t为信息传播历史中的一个参与边,t∈T,Γ为信息传播历史中一部分边的集合,如果满足:
从T中移除Γ之后,从信息源到目标节点的信息传播仍然成功;
从T中移除Γ之后,进一步移除t会导致信息传播的失效;
则称t为信息散播的原因,Γ为t的预想故障集;
t在信息传播中的责任为:
Γ包含了所有t的预想故障集;
t在信息传播中的能力为:
其中τ表示所有经过t的传播路径,函数st(τ)的返回值为τ的边集;
所述运用因果效应差异算法对信息传播的历史记录中的边按照其在信息传播中的贡献度进行排序的策略,称之为“责任-能力”的排序策略。
进一步的,所述“责任-能力”的排序策略的算法公式为:
score=α*fn(responsibility)+(1-α)fn(capability)
其中fn表示计算标准分的一个正则化函数,responsibility代表责任,capability代表能力,0<α<1是一个平衡因子。
进一步的,所述责任的算法实现包括:
输入传播历史记录Φ,Φ中边的集合T,以及一条边t∈T;
得到覆盖集合SA=sc(t,Φ),以及未覆盖集合ST=Φ-SA,所述sc(tj,Φ)={ci|tj∈ci∧ci∈Φ};初始预想事故集
选择边x∈T-Γ;
将x添加到Γ中,从SA中移除sc(x,SA),从ST中移除sc(x,ST);
重复上述两个步骤,直至ST为空;
输出作为t的责任值。
进一步的,所述选择边x∈T-Γ满足以下两个条件:
sc(x,ST)尽可能多的覆盖ST中的集合;
SA≠sc(x,SA)。
基于本发明上述实施例提供的基于因果推断的社交网络信息传播历史排序方法,首次创造性的提出了基于因果推断的社交网络中信息传播历史排序问题,通过使用责任和能力这两个指标获取因果效应的必要部分和充分部分,避免了复杂的算法,使对传播历史记录中的边或节点按照对信息传播中的贡献进行排序,计算社交网络中的每个参与者的贡献的算法更加简单,提高了用户对每个参与者贡献的直观理解。
本发明实施例可应用于社交网络、教育网络、军事网络和游戏网络,尤其适用于社交网络。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明基于因果推断的社交网络信息传播历史排序方法一个实施例的流程图。
图2为本发明基于因果推断的社交网络信息传播历史排序方法另一个实施例的流程图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本发明基于因果推断的社交网络信息传播历史排序方法一个实施例的流程图。如图1所示,该实施例的方法包括:
10,收集社交网络中信息传播的历史记录,所述信息传播的历史记录与节点或边相关,社交网络中事件的传播是指事件从一个资源节点到一个目标节点的信息传播;
20,对信息传播的历史记录中的节点或边根据其在信息传播中的贡献度进行排序,所述传播历史排序是改进的因果效应差异算法,用以评估传播历史中边的重要性。
步骤10所述的收集社交网络中信息传播的历史记录表征为:
其中,社交网络中的信息散播事件为ε,信息源为S,目标节点为ti表示一个传播轨迹,它由li个连续的边组成;
Φ为一个散播过程的传播历史记录,Τ为Φ中边的集合;
在没有歧义的情况下,可以移除掉下标(ε,)。
传播历史记录数据排序的目标是根据在散播过程中的贡献对对T中所有的边进行排序。
在上述的传播历史记录中,对于一个特定边的重要性,本领域的技术人员主要关心两个问题:如果该边失效,这会给信息传播造成什么样的结果?如果该边没有失效,这又会给信息传播造成什么样的结果?因此,考虑信息成功传递的可能性,某条特定的边X对于信息传播成功的贡献度有以下两种衡量方式:
边X失效,信息传输成功的概率为:P(Φx'=true);
边X有效,信息传输成功的概率为:P(Φx=true);
其中,x和x’分别代表边X在随机实验中“有效”和“失效”的情况,P(Φx'=true)和P(Φx=true)是两个因果变量,分别表示边X在信息传播过程中的必要部分和充分部分。
步骤20所述的因果效应差异算法是将充分部分和必要部分的两个因果变量P(Φx'=true)和P(Φx=true)结合,即同时考虑因果关系的充分部分和必要部分,其算法公式为:
DCE(X)=P(Φx=true)-P(Φx'=true)………………………………(2)
进行因果关系的计算,最正确的方法就是随机化试验,在本实施例中,我们简要描述其算法:
得到输入边X,我们初始化X为“有效”(或“失效”);
在每一次模拟中,随机设定其他的边为“未失效”或“失效”,并进一步检测信息传播是否成功;
通过大量的模拟,得到概率P(Φx=true)(或P(Φx'=true));
通过公式(2)得到DCE值。
尽管上述采用随机化实验的方法可以计算DCE值,但是该方法却需要运行多次才能得到一个稳定的收敛值。
所述因果效应差异算法包括信息传播过程中的必要部分和充分部分,所述信息传播过程中的必要部分称之为责任,所述信息传播过程中的充分部分称之为能力,为避免复杂的计算,根据因果效应差异算法对信息传播的历史记录中的边,根据其在信息传播中的贡献度进行排序,提出一种“责任-能力”策略,通过同时采用两个指标,来获取因果关系效应的两个方面,具体如下:
所述责任和能力的计算方法为:
令T为信息传播历史记录中的边的集合,t为信息传播历史中的一个参与边,t∈T,Γ为信息传播历史记录中一部分边的集合,如果满足:
从T中移除Γ之后,从信息源到目标节点的信息传播仍然成功;
从T中移除Γ之后,进一步移除t会导致信息传播的失效;
则称t为信息散播的原因,Γ为t的预想故障集;
t在信息传播中的责任为:
Γ包含了所有t的预想故障集;
例如,在一次散播过程的传播历史记录为Φ={t1,t2,t3},其中t1={A,B},t2={A,C},t3={D},则边A的责任为1/2,因为A的最小预想故障集为{D}。类似的,边D的责任为1/2,因为D的最小预想故障集为{A}。B和C的最小预想故障集分别为{C,D}和{B,D},因此他们的责任都为1/3。
t在信息传播中的能力为:
其中τ表示所有经过t的传播路径,函数st(τ)的返回值为τ的边集;
如上例所述,边A的能力为1/2,因为它需要{B}和{C}才能确保传播成功,边B和C的能力都为1/2,因为它们都需要{A}来传递信息,边D的能力为1,因为D自身就可以确保信息传播。
通过上述分析可得到“责任-能力”的排序策略的算法公式为:
score=α*fn(responsibility)+(1-α)fn(capability)……………………(3)
其中fn表示计算标准分的一个正则化函数,0<α<1是一个平衡因子。
由于责任值的计算是的一个NP-hard的问题,因此,我们提出一种近似算法:
图2为本发明基于因果推断的社交网络信息传播历史排序方法另一个实施例的流程图,如图2所示:
101,输入传播历史记录Φ,边的集合T,以及一条边t∈T;
102,得到覆盖集合SA=sc(t,Φ),以及未覆盖集合ST=Φ-SA,所述sc(tj,Φ)={ci|tj∈ci∧ci∈Φ},初始预想事故集
103,选择边x∈T-Γ;
104,将x添加到Γ中,从SA中移除sc(x,SA),从ST中移除sc(x,ST);
105,重复上述两个步骤103、104,直至ST为空;
106,输出作为t的责任值。
在上述步骤103中,所述选择边x∈T-Γ满足以下两个条件:
(1)sc(x,ST)尽可能多的覆盖ST中的集合;
(2)SA≠sc(x,SA)。
在上述条件中,第一个条件是对待加入预想故障集中的边进行启发式排序的规则。第二个条件是一个限制条件,确保t在移除预想故障集之后,仍然是信息传播中的原因之一。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。