自然语言处理(NLP)基于CBOW实现Word2Vec

Posted 灵彧universe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自然语言处理(NLP)基于CBOW实现Word2Vec相关的知识,希望对你有一定的参考价值。

【自然语言处理(NLP)】基于CBOW实现Word2Vec


@TOC


前言

什么是词向量?

在自然语言处理任务中,词向量是表示自然语言里单词的一种方法,即把每个词都表示为一个N维空间内的点,即一个高维空间内的向量。通过这种方法,实现把自然语言计算转换为向量计算。

如 图1 所示的词向量计算任务中,先把每个词(如queen,king等)转换成一个高维空间的向量,这些向量在一定意义上可以代表这个词的语义信息。再通过计算这些向量之间的距离,就可以计算出词语之间的关联关系,从而达到让计算机像计算数值一样去计算自然语言的目的。

什么是word2vec?

word2vec包含两个经典模型,CBOW(Continuous Bag-of-Words)和Skip-gram,如 图2 所示。

  • CBOW:通过上下文的词向量推理中心词。
  • Skip-gram:根据中心词推理上下文。


一、CBOW详解

(一)、CBOW的算法实现

我们以这句话:“Pineapples are spiked and yellow”为例介绍CBOW算法实现。

图3 所示,CBOW是一个具有3层结构的神经网络,分别是: