【机器学习】Word2Vec模型

模型归属:

  1. 领域:机器学习
  2. 方向:自然语言处理
  3. 作用:将字词转换为向量,通过文章内容学习到字词的相关性,从而将相似词聚合

模型使用:

  1. 准备一篇文章(中文或英文)
  2. 用python编写Word2Vec模型(或使用机器学习框架,直接调用word2vec这个包)
  3. 将准备好的文章作为输入,input进Word2Vec.py这个程序
  4. 结果模型会将这片文章相关性强的词聚合在一起
  5. Word2Vec模型训练好的结果可通过可视化的图的方式显示出来

模型的作用: 
  生活例子:比如【网络舆情监测】我们爬取了某个论坛的网页,想要看看大家交流内容都是什么,有没有什么联系,我们准备好爬取得内容后,就可以使用这个模型,得到大家交流内容的相关性分析,从而知道大家在交流内容的大概。

模型实际应用: 
  这里有一个语义分析系统链接,在这个系统中继承了很多自然语言处理的应用,它将程序做成可视化界面供大家使用,非常方便直观,界面也非常友好!

Word2Vec模型有两种实现,模型的分类:
 1.Skip-Gram模型 给出input预测上下文
 2.CBOW模型 给出给定的上下文来预测input
 
模型的实现步骤:

  1. 对训练文档构建得到词汇表
  2. 对词汇进行one-hot编码
  3. 根据数据构建神经网络,训练得到模型(涉及大量数学计算)
  4. 获取训练数据过程中的参数(权重矩阵)即word vectors,即模型中的隐层
  5. 最终的目标就是学习这个隐层的权重矩阵
  6. 矩阵之间的运算,得到隐层的输出,即每个输入单词的“嵌入词向量”
  7. 最终的输出层是一个softmax回归分类器,输出一个0-1之间的值(概率)
  8. 所有输出层神经元结点的概率之和为1

训练代码会用到的包:
jieba中文结巴分词,Matplotlib可视化包,scikit-learn机器学习库

之前有跑过这样的代码,得到的结果:
【机器学习】Word2Vec模型

【机器学习】Word2Vec模型

【机器学习】Word2Vec模型
【机器学习】Word2Vec模型
【机器学习】Word2Vec模型
【机器学习】Word2Vec模型
训练的次数越多,模型的学习效果越好,预测值和真实值之间的差别(损失值)就越小!从可视化的结果就能看出来!