模型归属:

  1. 领域:机器学习模型
  2. 方向:自然语言处理
  3. 作用:将字词转换为向量,并通过文章内容学习字词之间的相关性,从而将相似的词聚合在一起。
    将单词转换为在高维空间中的向量表示的模型。简单来说,就是将每个单词用一个向量来表示,这个向量有很多维度,而不是简单的用一个标签或者编号来表示单词。这样的表示方法可以帮助计算机更好地理解和处理文本数据。

模型使用:

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

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

模型实际应用: 
  在网络舆情监测中,我们可以使用Word2Vec模型分析论坛内容的相关性,从而了解大家在交流的内容大致情况。这里有一个语义分析系统链接,在这个系统中继承了很多自然语言处理的应用,它将程序做成可视化界面供大家使用,非常方便直观,界面也非常友好!

Word2Vec模型的两种实现方式包括Skip-Gram模型和CBOW模型:
 1.Skip-Gram模型:用于预测上下文
 2.CBOW模型:给定上下文来预测输入
 
模型的实现步骤:

  1. 对训练文档构建词汇表
  2. 对词汇进行one-hot编码
  3. 根据数据构建神经网络,并进行模型训练(涉及大量数学计算)
  4. 获取训练数据过程中的参数(权重矩阵)即word vectors,即模型中的隐层
  5. 最终的目标就是学习这个隐层的权重矩阵,即一个softmax回归分类器,它可以输出一个在0到1之间的值,代表不同词汇的概率。同时,所有输出层神经元节点的概率之和应该等于1。

在训练过程中,会使用到jieba中文结巴分词、Matplotlib可视化包和scikit-learn机器学习库等工具。

之前有跑过这样的代码,得到的结果:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
训练的次数越多,模型的学习效果越好,预测值和真实值之间的差别(损失值)就越小!从可视化的结果就能看出来!

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐