异构信息网络

异构网络

同质网络

了解异构网络之前需要先了解什么是同质网络。所谓同质网络即网络中结点都是同一类型主体,链接方式也是相同的。比如论文,论文之间链接为引用,这就构成了一个简单的同质网络。

异构网络

一个异构网络是由多种对象节点与不同类型链接构成的网络,也可看做是多个不同同质网络所结合而成。比如论文,作者,会议,学术名词构成的一个异构网络。

聚类与排序

聚类与排序

RankClus

排序与聚类相互加强:更好聚类可从排序中获得,排序范围又从聚类习得

启发式

排序分数可以在不同类型的主体间通过网络进行传播

1、高排名的作者发布高排名论文在排名较高的会议或期刊:

rY(j)=i=1mWYX(j,i)rX(i)\vec r_Y(j) = \sum \limits_{i=1}^mW_{YX}(j,i)\vec r_X(i)

2、顶级会议或期刊吸引高排名作者发高排名论文:

rX(i)=j=1mWXY(i,j)rY(j)\vec r_X(i) = \sum \limits_{j=1}^mW_{XY}(i,j)\vec r_Y(j)

3、作者的排名受与他合作的作者的论文排名影响:

rY(i)=αj=1mWYXrX(j)+(1α)j=1nWYY(i,j)rY(j)\vec r_Y(i) = \alpha\sum \limits_{j=1}^mW_{YX}\vec r_X(j)+(1-\alpha)\sum \limits_{j=1}^nW_{YY}(i,j)\vec r_Y(j)

4、所分析网络领域的其他特性(由于本例基于DBLP,就先用上3个)

算法

初始化:随机聚类
迭代://EM框架
    排序,每个主体的排名由每个子类的每个子网络影响
    生成新的目标主体参数
    调整聚类
终止:直到变化<阈值

NetClus

NetClus把一个网络分割成一个个子网络

算法

初始化:为目标主体生成初始分区和初始网络聚类簇
迭代://EM框架
    对每一个网络聚类簇构建基于排序的概率生成模型
    计算每个目标主体的后验概率
    根据后验概率调整每个簇类
终止:簇类变化不大

DBLP为例:

G=(V,E,W)G=(V,E,W),其中权重 wxixjw_{x_ix_j} 为节点 xix_ixjx_j 的链接

V=ACDTV=A\cup C\cup D \cup T ,作者、会议、论文、词汇

wxixj={1, if xi(xj)AC and xj(xi)D and xi has link to xjc, if xi(xj)T and xj(xi)D and xi(xj) appears c times in xj(xi)0, otherwisew_{x_ix_j}=\begin{cases} 1,\ if\ x_i(x_j) \in A \cup C\ and\ x_j(x_i)\in D\ and\ x_i\ has\ link\ to\ x_j\\ c,\ if\ x_i(x_j)\in T\ and\ x_j(x_i)\in D\ and\ x_i(x_j)\ appears\ c\ times\ in\ x_j(x_i)\\ 0,\ otherwise \end{cases}

Ranking: p(xTx,G)=yNG(x)WxyxTxyNG(x)Wxyp(x|T_x,G) = \frac{\sum_{y\in N_{G}(x)}W_{xy}}{\sum_{x'\in T_x}\sum_{y\in N_G(x')}W_{x'y}}

对于DBLP来说即:

P(YTY,G)=WYZWZXP(XTX,G)P(Y|T_Y,G)=W_{YZ}W_{ZX}P(X|T_X,G)

P(C,TC,G)=WCDDDA1WDAP(ATA,G)P(C,T_C,G)=W_{CD}D^{-1}_{DA}W_{DA}P(A|T_A,G)

P(ATA,G)=WADDDC1WDCP(CTC,G)P(A|T_A,G)=W_{AD}D^{-1}_{DC}W_{DC}P(C|T_C,G)

相似查找

异构信息网络中的相似查找是聚类分析的基础,比如社交网络中,哪一个人与目标人最相似

Random walk

通过Meta-path PP,从 xx 随机行走到达 yy 的概率:

在Personalized PageRank(P-Pagerank)中被使用,对于有高的度的节点敏感

Pairwise random walk

根据Meta-path (p1,p2)(p_1,p_2) ,从 (x,y)(x,y) 点随机行走,到达共同节点 zz 的概率:

在SimRank中被使用,对于纯节点(in-link或out-link为高度倾斜的分布)敏感

SimRank

如果两个主体被相似的主体关联,则认为这两个主体相似:

s(a,b)=CI(a)I(b)i=1I(a)j=1I(b)s(Ii(a),Ij(b))s(a,b)=\frac{C}{|I(a)||I(b)|}\sum\limits_{i=1}^{|I(a)|}\sum\limits_{j=1}^{|I(b)|}s(I_i(a),I_j(b))

Personalized PageRank(P-Pagerank)

P-Pagerank的分数 xx 被定义为: x=αPx+(1α)bx=\alpha Px + (1-\alpha)b,其中 PP 为网络 GG 的转移矩阵, bb 为一个随机向量(Personalized vector), α(0,1)\alpha \in (0,1),是隐形传输常数

PathSim

Meta-path:两个主体在Meta-level的路径,描述两主体的关系比如作者-论文-作者(两个人共写一篇论文,这是网络中两作者间一种联系),当然一个网络中有多种Meta-path,比如作者-论文-会议-论文-作者...

对peer敏感,定义一个Meta-path,通过Meta-path计算相似度,比如作者-论文-作者(则表示对一起共事的作者敏感)、作者-论文-会议-论文-作者(同一领域的敏感)

s(x,y)=2×{pxy:pxyP}{pxx:pxxP}+{pyy:pyyP}s(x,y)=\frac{2\times |\{p_{x\sim\to y}:p_{x\sim\to y}\in P \}|}{|\{p_{x\sim\to x}:p_{x\sim\to x}\in P \}|+|\{p_{y\sim\to y}:p_{y\sim\to y}\in P \}|}

比如下图例子 s(Mike,Jim)=2×(2×50+1×20)(2×2+1×1)+(50×50+20×20)=0.0826s(Mike, Jim) = \frac{2\times (2\times50+1\times 20)}{(2\times 2+1\times 1)+(50\times 50+20\times 20)} = 0.0826

基于用户指导使用Meta-path的聚类

用户可能基于不同的目的使用不同的Meta-path,比如DBLP中,用户重视作者们的学校,或者是专业领域...

PathSelClus

1、Modeling the Relationship Generation: A good clustering result should lead to high likelihood in observing existing relationships

For each meta path Pm\mathcal{P}_m ,let the relation matrix be WmW_m

The relationship ti,fj\langle t_i, f_j\rangleis generated with paramenter πi,j,m\pi_{i,j,m}

Each πi,m\pi_{i,m} is a mixture model of multinomial distribution:

πi,j,m=P(ji,m)=kP(ki)P(jk,m)=kθikβkj,m\pi_{i,j,m} = P(j|i,m) = \sum\limits_kP(k|i)P(j|k,m)=\sum\limits_k\theta_{ik}\beta_{kj,m}

θik\theta_{ik}:the probability that tit_i belongs to Clusterkk

βkj\beta_{kj}:the probability that feature object fjf_jappearing in Cluster kk

The probability to observing all the relationship inPm\mathcal{P}_m

P(Wmm,Θ,Bm)=iP(wi,mπi,m,Θ,Bm)=ij(πi,j,m)wi,j,mP(W_m|\prod_m,\Theta,B_m) = \prod\limits_i P(w_{i,m}|\pi_{i,m},\Theta,B_m) = \prod\limits_i\prod\limits_j(\pi_{i,j,m})^{w_{i,j,m}}

2、Modeling the Guidance from Users: The more consistent with the guidance, the higher probability of the clustering result

For each soft clustering probability vector θi\theta_i

Model it as generated from a Dirichlet prior

If tit_i is labeled as a seed in Cluster kk^*:

The prior density is a K-d dirichlet distribution with parameter vector λek+1\lambda e_{k^*}+1

λ\lambda is the user confidence for the guidance

eke_{k^*} is an all-zero vector except for item kk^*, which is 1

If tit_i is not labeled in any cluster:

The prior density is uniform, a special case of Dirchlet distribution, with paramenter vector 1

p(θi,λ)={kθik1{tiL}λ=θikλ, if ti is labeled and tiLk1,                        ,if ti is not labeledp(\theta_i,\lambda)= \begin{cases} \prod_k\theta_{ik}^{1_{\{t_i\in \mathcal{L}\}^{\lambda}}}=\theta_{ik^*}^\lambda,\ if\ t_i\ is \ labeled\ and\ t_i \in \mathcal{L}_{k^*} \\ 1,\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ , if\ t_i\ is\ not\ labeled \end{cases}

3、Modeling the Quality Weights for Meta-Paths: The more consistent with the clustering result, the higher quality weight

Model quality weight αm\alpha_m as the relative weight for each relationship in WmW_m

Observation of relationships: WmαWmW_m\to\alpha W_m

学习算法

An iterative algorithm that clustering result Θ\Theta and quality weight vector α\alpha mutually enhance each other

Step 1: Optimize Θ\Theta given α\alpha

θi\theta_i is determined by all the relation matrices with different weights αm\alpha_m, as well as the labeled seeds

θiktαmwi,j,mp(zi,j,m=kΘt1,Bt1)+1{tiLk}λ\theta_{ik}^t \propto \sum \alpha_m \sum w_{i,j,m}p(z_{i,j,m}=k|\Theta^{t-1},B^{t-1})+1_{\{t_i\in\mathcal{L}_k\}^\lambda}

Step 2: Optimize α\alpha given Θ\Theta

In general, the higher likelihood of observing WmW_m given Θ\Theta, the higher αm\alpha_m

αmt=αmt1i(ϕ(αmt1nim+Fm)ni,mjϕ(αmt1wij,m+1)wij,m)ijwij,mlog πij,m\alpha_m^t = \alpha_m^{t-1}\frac{\sum_i(\phi(\alpha_m^{t-1}n_{im}+|F_m|)n_{i,m}-\sum_j\phi(\alpha_m^{t-1}w_{ij,m}+1)w_{ij,m})}{-\sum_i\sum_jw_{ij,m}log\ \pi_{ij,m}}

分类与预测

异构网络分类

利用异构网络信息传递(实现代码见标题链接),基于以下两启发式:

1、两个主体 xipx_{ip}xjqx_{jq} 预测结果同属于类别 kk 的话,他们应当相似 xipxjq (Rij,pq>0)x_{ip}\longleftrightarrow x_{jq}\ (R_{ij,pq}>0)

2、已知类别的数据我们模型的预测结果应该与事实一致或相似

算法流程:

Step 0: k{1,,K}, i{1,,m}\forall k \in \{1,\dots ,K\},\ \forall i \in \{1,\dots ,m\} 初始化 fi(k)(0)=yi(k)f^{(k)}_i(0)=y_i^{(k)}t=0t=0

Step 1:基于当前的 fi(k)(t)f^{(k)}_i(t) ,计算:

fi(k)(t+1)=j=1,jimλijSijfj(k)(t)+2λiiSiifi(k)(t)+αiyi(k)j=1,jimλij+2λii+αif^{(k)}_i(t+1) = \frac{\sum^m_{j=1,j\neq i}\lambda_{ij}S_{ij}f^{(k)}_j(t)+2\lambda_{ii}S_{ii}f^{(k)}_i(t)+\alpha_iy_i^{(k)}}{\sum^m_{j=1,j\neq i}\lambda_{ij}+2\lambda_{ii}+\alpha_i}

Step 2:重复上步直到收敛或变化小于一定阈值

Step 3:对于每个 i{1,,m}i\in \{1,\dots,m\} ,根据第p个数据指定主体 Xi\mathcal{X}_i 类别:

cip=argmax1kKfip(k)c_{ip}=\arg \max_{1\leq k\leq K}f_{ip}^{(k)*} ,其中 fi(k)=[fi1(k),,fini(k)]Tf^{(k)*}_i=[f_{i1}^{(k)}*,\dots,f_{in_i}^{(k)}*]^T

这里解释一下上述算法流程:

第0步label一共 KK 个,有 mm 个关系图所以初始化没什么可说的。

第1步: λ\lambda 作为参数调节异构网络中信息传播率, α\alpha 作为参数调节每轮ground truth参数。

式子分子分为三块:

  • 第一部分 λijSijfj(k)(t)\lambda_{ij}S_{ij}f_j^{(k)}(t) 为基于上一轮结果各关系图信息再传播

  • 第二部分 2λiiSiifi(k)(t)2\lambda_{ii}S_{ii}f_i^{(k)}(t) 为基于上一轮结果自信息再传播

  • 第三部分 αiyi(k)\alpha_iy_i^{(k)} 为当前轮继续加入ground truth

其中 Sij=Dij(1/2)RijDji1/2S_{ij}=D_{ij}^{(-1/2)}R_{ij}D_{ji}^{-1/2}RijR_{ij} 即关系图,比如行为作者、列为论文,前后两个对角矩阵是为了让关系图归一化,因为一篇文章一般有多个作者,一个作者一般有多篇文章。

第2步:跟阈值判断或限定轮数,没什么可说的

第3步:找到主体向量中最大值,最大值代表的类别即为我们的预测分类类别。

RankClass

GNetMine将每个主体同等对待,RankClass中高排序的主体会在分类中起到更大作用

关联预测

PathPredict

PathPredict_When

基于异构的推荐

ClusCite

给定一原稿(标题,简要或目录)及其属性(作者,目标会议或期刊),推荐一系列高质量引用文献

其他数据挖掘

角色发掘

比如通过军中的指令发布,找到将军,团长,士兵角色...

目的

根据输入的信息网络(可能是同构),输出一颗含各主体的树(或森林),比如下图,根据发paper信息,找到导师与学生等

框架

利用异构进行数据清洗(区别)

DBLP的paper有好多重名的作者,比如叫“Wei Wang”的就有好几个,利用异构网络对他们进行区分

实体集合拓展

想通过异构网络解决问题:给予一些种子,找到其相似实体

比如给{red, blue, green} -> all colors,但是给orange -> color or fruits?

EgoSet

Source

Last updated