词袋模型定义中位于相同窗口下的两个词之间的距离不会影响,这个忽视了一些信息,如果我们考虑这个问题,并且让机器自动学习给距离多远的词赋权重。
用词袋模型的方法,将所有的同一窗口下的词的词向量求和取(根据出现的频率加权)平均,然后将中心词的词向量作为标签。loss函数的计算可以考虑采用欧式距离。更好的方法是,
- 加一个tanh非线性映射,
- 每个维度加tanh非线性映射,之后相乘作为最后的loss。
理由:
- 左边合成的词向量相近 == 邻近语义环境相近,右边相近 == 中心词词义相近,中间的映射究竟究竟是什么含义?
- 更新模型参数的时候顺便更新了词向量,二者可能会有一个互相增益的作用(原层次softmax和负采样的方法似乎也有更新词向量的效果)
20200418
harp的代码实现中,先将一个图分成互不相连的子图,然后对每个子图进行粗粒化等操作。
直接将HARP获得的embedding作为ANRL中skipgram部分的初始化,稍微修改ANRL模型,使得ANRL能用HARP的优化成果。