话不多说,入正题。
动机:
现有的词向量模型,
1 局部上下文建模的方法 例如word2vector
用通俗的话来讲就是,如果两个词在训练语料中出现的上下文比较类似,比如“食堂”和“餐厅”,都在“我”,“去”,“吃饭”这种上下文上出现了许多次,那么他俩的词向量就比较相似。
2 矩阵分解的方法,例如LSA
将文档和单词的共现矩阵,也就是行是文档,列是单词,第i行第j列,表示文档i中是否包含单词j(具体是词频还是是否出现记不清楚了,不过不影响)。然后通过SVD矩阵分解的方式就能够得到两组向量,分别表示文档的向量(可以用来做文本距离)和单词的向量。(这种方法相对于word2vector的优势就是利用了词共现的信息,也就是不仅仅只关注word2vector窗口大小的上下文,而是用到了全局信息)
所以作者就想把两者都优点给结合起来。
那么想把这两个东西都利用起来,应该怎么学习词向量呢?
首先,作者计算了两个东西。记录词典维度为V
1 X ( 一个 VxV的矩阵),
2