即节点的度服从幂律分布.所以复杂网络的节点与文本处理中的词语在统计学上而言, 具有
很强的相似性.
由于复杂网络与文本的相似性, 本文在文本特征提取问题中表现优异的 Word2cev 算
法上进行拓展, 从而达到对复杂网络进行特征提取的目的.
2.2 网络点序列的生成与 Huffman 编码
经过分析复杂网络与文本的相似性之后, 需要先对网络数据进行预处理, 使其原本的
点边关系具有序列性.又由于网络节点度与文本词语词频的相似性, 运用 Huffman 编码对网
络节点进行二进制编码, 以便于下一步的网络训练.
2.2.1 利用随机游走生成网络点序列
复杂网络从宏观角度看, 描述的是整个复杂系统中所有节点之间的连接关系, 使得直
接对整个网络进行特征提取十分困难.但是如果从微观的角度入手, 整个网络是建立在两个
有连接的节点对之上, 进而组成更为复杂的结构.所以本文从网络局部的链接路径着手, 从
微观角度提取更上层的特征.
随机游走作为一种以马尔科夫链为基础的方法, 在复杂网络中的演化机制、网络传播
被大量学者所研究.本文利用 Deepwalk 中随机游走的思想, 产生类似文本的网络序列.具体
而言: 1)对于网络中的每一个节点 vivi, 从节点 vivi 出发, 以等可能的概率, 游走到邻居节
点, 即走到邻居节点 vjvj 的概率为 1ki1ki, 其中 kiki 为点 vivi 的度. 2)以上一步的终点 vjvj
作为起点, 再进行一次随机游走, 可以回到 vivi.直到路径长度达到 TT, 停止随机游走.这样,
就能产生|V||V|个长度为 TT 的序列.如果在以上的分析中, 将网络中每一个节点都类比为文
本中的词语, 那么随机游走产生的序列即是文本中的句子, |V||V|个序列的集合就是一个大
的文本语料.
2.2.2 节点的 Huffman 编码
在把网络序列化生成文本之后, 就需要对每一个节点进行二进制编码, 才能进入
Word2vec 网络中的最后一层, 具体的算法网络结构会在第 2.3 节中详述.要区别|V||V|个不
同节点, 最简单的二进制编码就是等长编码.在 Word2vec 算法处理文本的时候, 编码的长度
决定了该神经网络的层数, 而神经网络的层数越多, 训练的计算复杂度就越大, 梯度传递消
失得越快.所以要求所有节点的编码总长度尽量短.但是在网络随机游走产生的序列中, 每个
点出现的频率是不相同的, 这是由于网络中每个点的度是不相同的.度大节点在序列中出现
的频率远大于度小节点.在设计节点编码时, 对于度大的节点用短码, 度小的节点用长码, 从
而优化整个网络的编码.
为了使不等长编码为前缀编码(要求一个节点的编码不能是另一个节点编码的前缀),
可以用网络中的所有节点作为子叶节点生成一棵编码的二叉树, 为了获得整个网络编码的
最短长度, 可以将随机游走序列中的每个节点的出现频率作为树节点的权值赋予在该树节
点上, 频数越小权值越小, 权值越小, 叶子就越靠下, 于是频数小编码长, 频数大编码短.这