之前一篇提到多一个多层网络的传播模型,和Fung讨论一下,我们俩发现,对于上一篇提到的作者-引文网络,我们尝试通过不同的方法来对这个网络embedding
lightRNN
lightRNN(https://arxiv.org/abs/1610.09893)是MSRA 16年解决词向量嵌入的工作,用2-component想法,把词放入一张二维表中,那么每一个维度的值也就是表征它在对应component空间中的位置。好了,那直接利用这种想法,将二层网摊平来做不就好了?
MD-RNN,是用来处理多维时间序列的,标准RNN的每一层隐层不仅接受当前位置的输入,也接受上一个位置的隐层输出作为输入;在标准的RNN中,由于只有一个维度,因此只接受该维度上的上一个位置的隐层输出,而MDRNN的思想是接受每个维度上的上一个位置的隐层输出作为输入;比如对于2D-RNN,也就是图像,每个位置的隐层不仅接受横向维度的上一个位置的隐层输出,也接受纵向维度的上一个位置的隐层输出。那么,我们可以把多层网络上的node表征为一个张量,然后在网络上随机行走,由此来产生一个张量时间序列,用MD-RNN的想法来做对应的embedding吗?
最后,我们发现,我们所考虑的网络实际上是带作者标签的引文网络。那么,借鉴LightRNN的想法,我们可以把一篇文章分解成为两部分(a,b)a是用来表征作者的,b是用来表征主题或者其他,我们每次都加上约束,同一作者的文章对应的a是不变的,最后,出来的embedding向量,左边的部分a,(注意,这里a也可以是一个向量),同作者的不变,这样我们可以把这一部分单独拿出来,直接看作者的分布,完成对作者的embedding了
当然,由于网络是现成的,我们可以跳过随机游走,直接考虑最优化问题
3.5日更新
Huang 的方法,利用引文网络与作者-文章二分网络的矩阵来直接做降维。另外,可以利用引文网络做embedding后得到paper的向量,直接用author-paper矩阵左乘得到author的向量
我的方法,利用引文网络与作者-文章二分网络做随机游走,然后得到仅有author的序列,基于此可以做embedding,然后可以做作者的聚类
一个补充:
是否可以用引文网络的连接矩阵做文章间的相似性矩阵,把这个当成共现矩阵,然后就可以跳过随机游走了
如何去比较?
在某一个网络上用随机游走得到时间序列,统计得到共现矩阵M;用word2vec得到node的向量,Node向量的距离矩阵M_wvs;邻接矩阵M_nb生成的距离矩阵M_nbs;比较三者之间的差异,如果M_nbs 与M_wvs的差异很小,实际上是在验证word2vec是one-hot的降维。如果,M与M_wvs差异很小,那么说明,如果,M_nbs与M的差异很小,那么就可以直接用邻接矩阵的相似性矩阵M_nbs来生成M.
PS:这里的距离矩阵,可以用余弦距离(1),也可以直接用欧式距离(2)。实际上,我是想弄清是否,我们可以直接通过邻接矩阵得到共现矩阵,由此直接embedding。而有理由相信共现矩阵,实质上是在描述任意两个node(词)的距离或者某种程度的相似性。