词向量

词向量

几个概念

  • 词嵌入(word embedding):把文本转换成数值形式,或者说——嵌入到一个数学空间里,而

  • 词向量:一个单词所对应的向量,向量之间的数学关系可以表示单词之间的语义关系

词的离散式表示

  • ***one-hot ***
  • Bag of Words(词袋模型)
    • 没有表达单词在原来句子中出现的次序
  • TF-IDF
    • 为了表示出一个单词在整个文档中的重要性,字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降
    • TF-IDF的计算公式如下:tfidf = tf*idf.
      • tf为词频,即一个词语在文档中的出现频率,假设一个词语在整个文档中出现了i次,而整个文档有N个词语,则tf的值为i/N.
      • idf为逆向文件频率,假设整个文档有n篇文章,而一个词语在k篇文章中出现,则idf值为idf=log2(n/k).
  • Bi-gram和N-gram

缺点

  • 无法衡量词向量之间的关系
  • 词表维度随着语料库增长膨胀
  • n-gram词序列随语料库膨胀更快
  • 数据稀疏问题

词的分布式表示

Word2vec

- 分类

​ - CBOW是利用词的上下文预测当前的单词,cbow对较小的数据集是有用 的。CBOW速度更快

​ - Skip-Gram则是利用当前词来预测上下文,skim-gram速度更慢,但是对于不常用,不常见的单词,skim-gram它的效果更好。

- 作用

​ - 可计算词向量加减 例如:['woman', 'king'] + ['man'] = queen

​ - 可计算指定词语最相似的词语

​ -计算词语的相似度

LSA

Glove


词嵌入(word embedding)与Word2vec的关系

  • Word2vec 是代码项目的名字,只是计算词嵌入(word embedding)的一个工具

  • Word2Vec中从输入到隐层的过程就是Embedding的过程。 Embedding的过程就是把多维的onehot进行降维的过程,是个深度学习的过程

Glove与LSA、word2vec的比较

  • 是一种比较早的count-based的词向量表征工具,它也是基于co-occurance matrix的,只不过采用了基于奇异值分解(SVD)的矩阵分解技术对大矩阵进行降维,而我们知道SVD的复杂度是很高的,所以它的计算代价比较大。还有一点是它对所有单词的统计权重都是一致的。而这些缺点在GloVe中被一一克服了。而word2vec最大的缺点则是没有充分利用所有的语料,所以GloVe其实是把两者的优点结合了起来。
posted @ 2021-04-14 08:53  小杨的冥想课  阅读(318)  评论(0编辑  收藏  举报