word2vec详解

关键字

语料 向量模型 文本 分词 词向量化 向量距离

一、word2vec的概念解释

word2vec是一种将单词转换为向量形式的工具。用于将文本的处理的问题简化为向量空间中的向量运算,通过计算向量空间上的距离来表示文本语义上的相似度。

word2vec在2018年之前比较主流,但随着Bert、GPT2.0的出现,地位有所下降。

二、word2vec的具体实现方法

+、独热 One-hot

简单来说就是借助词表,将词表中的所有词进行统一编码,每一个词在词空间中占据一个位置;
形如: “话筒”表示为 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 …]

向量的唯独是词表的大小,向量中只有一个维度的值为 1,其他为 0;

+、嵌入式 Embedding

不仅需要 词表,还需要 训练语料,根据每个词出现的上下文 Context,来训练语言模型;
不同的 语料库数据 和 不同的训练参数 训练出来的模型是不一样的;
Embedding 单词向量将单词映射到高维空间上的点,点之间的距离可以看作对应的两个词之间的距离,即两个词在语法、语义上的相似性;

1、CBOW - Continuous Bag-Of-Words Model 连续性的词袋模型

通过上下文来预测 当前值;相当于一句话中抠掉一个词,让你猜这个词是什么
word2vec详解_第1张图片
从数学上看,CBoW模型等价于一个词袋模型的向量乘以一个embedding矩阵,从而得到一个连续的embedding向量。这也是CBoW模型名称的由来。

假如语料为一句话:Real dream is the other shore of reality.我们设定一个滑动窗口 window=2,即中心词 左右分别两个词 作为其 上下文 词。

1.在训练前,首先要将原始文本生成训练样本数据。下图展示了根据原始语料生成训练数据的过程。
word2vec详解_第2张图片
图中蓝色阴影所覆盖的单词为 中心词,生成的训练所用的数据。每一个训练样本多个输入特征一个输出组成。其中input是feature,output是label。


2、Skip-gram

用当前值预测上下文;相当于给你一个词,让你猜前面和后面可能会出现什么词;
word2vec详解_第3张图片

三、word2vec的使用场景

一般情况,是将word2vec的结果直接用于神经网络模型的输入层,用神经网络来完成词性预测、句法分析、情感分析等任务。

你可能感兴趣的:(深度学习,word2vec,人工智能,nlp)