system: [SYSTEM]

user: 3. 网络建模与排名 3.1. 电影网络建模 如图1所示，本文在获得数据集之后，经过数据预处理之后，对其进行了网络建模。得到电影信息网络。其中红色代表电影，绿色代表导演，黑色代表电影。从图中可以看出该异构信息网络包含“电影”、“演员”、“导演”三种节点类型，“拍摄”“参演”两种边类型。 本文是在异构网络下的基于元路来进行研究，在给出元路径之需要得到电影信息网络的网络模式，如图2所示。 图1. 电影信息网络 图2. 电影信息网络的网络模式 我们用字母A代表演员，F代表电影，D代表导演，那么，在本文网络模式下涉及到的元路径如表1所示，不同的元路径代表了不同的语义。 3.2. 排名规则 本文的研究目的在于对已经建立的电影信息网络中的电影节点进行排名 [ 7 ] ，设计相关排名规则如下： 规则1：排名靠前的电影中演员排名比较靠前，排名靠前的演员参加的电影排名比较靠前； 规则2：排名靠前的电影会使其导演排名比较靠前，排名靠前的导演会产生很多排名靠前的电影； 规则3：排名靠前的电影一般是由排名靠前的导演拍摄，并吸引很多排名靠前的演员参演。 由规则1可知，电影影响演员、演员影响电影，此规则符合元路径 A → 参 演 F → 参 演 − 1 A ， F → 参 演 − 1 A → 参 演 F ，由规则2可知电影影响导演、导演影响电影，此规则符合元路径 F → 拍 摄 − 1 D → 拍 摄 F ， D → 拍 摄 F → 拍 摄 − 1 D ，由规则3可知电影、导演、演员三者相互影响，此规则符合元路 A → 参 演 F → 拍 摄 − 1 D 。 本文是基于元路径的特征向量来对排名进行研究 [ 8 ] ，在本文中我们规定，演员和电影之间的邻接矩 阵为 M A F ( i ， j ) ，电影和演员之间的邻接矩阵为 M F A ( i ， j ) ，电影和导演之间的邻接矩阵为 M F D ( i ， j ) ，导演和电影之间的邻接矩阵为 M D F ( i ， j ) ，其中 M A F ( i ， j ) 与 M F A ( i ， j ) ， M F D ( i ， j ) 与 M D F ( i ， j ) 互为转置矩阵。基于元路径的关系矩阵如表2所示。用 ， r F = 〈 r F ( 1 ) ， r F ( 2 ) ， ⋯ ， r F ( n ) 〉 ， r D = 〈 r D ( 1 ) ， r D ( 2 ) ， ⋯ ， r D ( w ) 〉 分别表示演员、电影、导演的排名向量，其中 r A ( i ) ， r F ( j ) ， r D ( k ) 分别表示第i个演员、第j部电影、第k个 导演的排名函数值。 3.3. 演员排名函数 根据规则1我们可以定义电影与演员之间的排名相互计算的迭代公式为： r F ( i ) = ∑ j = 1 m M F A ( i ， j ) r A ( j ) ，矩阵表示为 ； r A ( i ) = ∑ j = 1 n M A F ( i ， j ) r F ( j ) ，矩阵表示为 r A = M A F r F ； 将上两式带入合并，可得： r A = M A F M F A r A (1) 此式为基于元路径 A → 参 演 F → 参 演 − 1 A 的演员排名函数之间的迭代关系； r F = M F A M A F r F (2) 此式为基于元路径 F → 参 演 A → 参 演 − 1 F 的演员排名函数之间的迭代关系； 记 M A F M F A 为 M A A 为元路径 A → 参 演 F → 参 演 − 1 A 的演员之间的合作关系矩阵，则(1)式可以写为： r A = M A F M F A r A = M A A r A (*)即 r A ( i ) = ∑ j = 1 m M A A ( i ， j ) r A (j) 为了求解演员排名向量 r A ，我们可以把(*)式改写成为 r A t = M A A r A t − 1 ，即每次的 r A t 值由上次迭代而来， Table 1 Meta-path and semantic 元路径 语义 备注 某位演员参演了某位导演拍摄的电影 A → 参 演 F → 参 演 − 1 A 两位演员参演一部电影 D → 拍 摄 F → 拍 摄 − 1 D 某位导演自身循环的一条路径 本文涉及的电影只有一位导演， 在下一章中涉及到导演排名， 该条路径无法给出合理的排名。 F → 参 演 − 1 A → 参 演 F 某位演员参演了多部电影 F → 拍 摄 − 1 D → 拍 摄 F 某位导演拍摄了多部电影 表1. 元路径及其语义 Table 2 Relation matri 元路径 关系矩阵 A → 参 演 F → 拍 摄 − 1 D M A F M F D ( i ， j ) A → 参 演 F → 参 演 − 1 A M A F M F A ( i ， j ) D → 拍 摄 F → 拍 摄 − 1 D M D F M F D ( i ， j ) F → 参 演 − 1 A → 参 演 F M F A M A F ( i ， j ) F → 拍 摄 − 1 D → 拍 摄 F M F D M D F ( i ， j ) 表2. 关系矩阵 重复该过程可以得到更好的估计值。重复t步后可以得到 r A t 的计算公式为 r A t = ( M A A ) t r A 0 ， r A 0 是预先设定的一个初始排名向量，可以将 r A 0 写成矩阵 M A A 的特征向量 v i 的线性组合，即 r A 0 = ∑ i c i v i 选择适当常数 可以得到如下式子： r A t = ( M A A ) t ∑ i   c i v i = ∑ i   c i e i t v i = e l t ∑ i   c i [ e i e l ] t v i 其中， e i 为矩阵 M A A 的特征值， e l 为最大特征值，矩阵 M A A 为一个元素取值为非负的对称矩阵，因此要 e l > 0 。当式中的 i ≠ 1 时，对于所有的i， e i e l < 1 。当t不断变大时，除了第一项以外，其他项都以指数级下降，当 t → ∞ 时， r A t → c i e i t v i 。也就是说，演员排名 r A t 的极限与矩阵的 M A A 的主特征向量成正比。因此，我们可以等价地认为排名函数 r A 满足： M A A r A = e l r A 。 由于矩阵 M A A 是一个非负的对称矩阵，选择适当常数 c i 可以是的初始排名向量 r A 0 = ∑ i c i v i 中的所有元素都是非负值，同样 r A t 的所有值也都是非负的。因此，演员的排名向量 r A 收敛于矩阵 M A A 的主特向量，可以取矩阵 M A A 的主特征向量为演员排名向量的取值，称为特征向量排名函数。 3.4. 导演排名函数 根据规则2我们可以定义电影与导演之间的排名相互计算的迭代公式为： r F ( i ) = ∑ j = 1 w M F D ( i ， j ) r D ( j ) ，矩阵表示为 r F = M F D r D ； r D ( i ) = ∑ j = 1 n M D F ( i ， j ) r F ( j ) ，矩阵表示为 r D = M D F r F ； 将上两式带入合并，可得： r D = M D F M F D r D (3) 此式为基于元路径 D → 参 演 F → 参 演 − 1 D 的导演排名函数之间的迭代关系； r F = M F D M D F r F (4) 此式为基于元路径 F → 参 演 D → 参 演 − 1 F 的电影排名函数之间的迭代关系； 记 M D F M F D 为 M D D 为元路径 D → 参 演 F → 参 演 − 1 D 的导演之间的合作关系矩阵，同理，由3.3节可知，根据(3)式， M D D 的主特征向量可以等价为导演排名向量的取值。但是本文研究的电影只有一位导演，因此 M D D 为一个对角矩阵，对角线上的值为导演拍过的电影的数量，将无法合理的给出导演的排名，例如，导演A拍摄了多部排名很低的电影，而导演B拍摄了一部高排名电影，则A的排名比B高，这样将不合理。因此，我们将利用3.5节计算出来的电影排名来对导演进行重新排名。 在3.5节得出电影的排名向量 之后，可以对 r D = M D F 进行平均化处理之后来计算导演排名，改进之后为如下所示： r D = D D M D F r F (**) 其中， D D 为对角矩阵，对角线元素为 1 ∑ j = 1 m   M D F ( i ， j ) ，分母为导演各自所拍电影的总数。 3.5. 电影排名函数 根据规则3演员和导演的排名都会对电影的排名产生影响，因此需要把基于元路径 F → 参 演 A → 参 演 − 1 F 和 F → 参 演 D → 参 演 − 1 F 得到的两个电影排名函数进行迭代加权合并，即把(2)(4)式进行合并，得到电影排名函数如下： r F = ( α M F A M A F + ( 1 − α ) M F D M D F ) r F (***) 其中参数 α ∈ [ 0 ， 1 ] 决定演员和导演对电影排名函数的权重， α 的赋值可以基于先验知识或者学习训练数据集得到。矩阵 α M F A M A F + ( 1 − α ) M F D M D F 为基于演员和导演连接的电影之间的带权关系矩阵，记为矩阵 M A D − F ，同理，由3.3节可知， M A D − F 的主特征向量可以等价为电影排名向量的取值。