【自然语言处理之文本分类】——词嵌入Word2Vec
Word2Vec
Word2Vec《Mikolov,2013:Efficient Estimation of Word Representations in Vector Space》,跟 NNLM 很像,通过训练,将每个词映射成低维的分布式表示。它有两种训练的方式:CBOW 跟 Skip-Gram,都基于一个滑动窗口对目标词进行预测或者对上下文进行预测的方式训练。
这里介绍Skip-Gram
Skip-Gram
方法为在一个滑动窗口中,通过目标单词来预测上下文,SKip-Gram 可以看成是CBOW的逆过程。同样它分了两种情形。
1.单上下文情境
跟 CBOW 结构一样
https://blog.csdn.net/weixin_40892064/article/details/132523948?spm=1001.2014.3001.5501
2.多上下文语境
特点:
反向传播过程中,误差为各个预测误差的总和。Word2vec 的优化还加入了层次 softmax 以及负采样的方法,从而加快训练的速度。如果有足够大的语料库,可以使用 gensim 工具,训练自己领域内的词向量,更贴近自己想要的语义信息。Gensim 是一款开源的第三方 Python 工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。 它支持包括 TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法。
Word2vec 提供的英文预训练词向量:https://github.com/xgli/word2vec-api
中文预训练字词向量:https://github.com/Embedding/Chinese-Word-Vectors