作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121723021


目录

第1章 gensim概述

第2章 gensim.models.word2vec参数详解

第3章 使用gensim.models.word2vec构建向量模型

3.0 前提

3.1 语料库

3.2 创建并训练模型

3.3 对相识度单词进行预测


第1章 gensim概述

Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。

Word2Vec模型是Gensi库的词向量模型。

第2章 gensim.models.word2vec参数详解

class gensim.models.word2vec.Word2Vec(sentences=None, corpus_file=None, size=100, alpha=0.025, window=5,min_count=5,  max_vocab_size=None, sample=0.001, seed=1, workers=3, min_alpha=0.0001, sg=0, hs=0,negative=5, ns_exponent=0.75, cbow_mean=1, hashfxn=<built-in function hash>, iter=5, null_word=0, trim_rule=None,sorted_vocab=1, batch_words=10000, compute_loss=False, callbacks=(), max_final_vocab=None)

参数说明:

  • sentences (iterable of iterables, optional) – 供训练的句子,可以使用简单的列表,但是对于大语料库,建议直接从磁盘/网络流迭代传输句子。参阅word2vec模块中的BrownCorpus,Text8Corpus或LineSentence。
  • corpus_file (str, optional) – LineSentence格式的语料库文件路径
  • vector_size (int, optional) – 词向量的维度。通常为300.
  • window (int, optional) – 一个句子中当前单词和被预测单词的最大距离。滑动窗口的大小。
  • min_count (int, optional) – 忽略词频小于此值的单词。该参数可以过滤掉,偶尔出现的单词。
  • workers (int, optional) – 训练模型时使用的线程数。在实例化模型时,自动完成模型的训练。
  • sg ({0, 1}, optional) – 模型的训练算法: 1: skip-gram; 0: CBOW.
  • hs ({0, 1}, optional) – 1: 采用hierarchical softmax训练模型; 0: 使用负采样。
  • negative (int, optional) – > 0: 指定使用负采样的数目,设置多个负采样(通常在5-20之间)。
  • ns_exponent (float, optional) – 负采样分布指数。1.0样本值与频率成正比,0.0样本所有单词均等,负值更多地采样低频词。
  • cbow_mean ({0, 1}, optional) – 0: 使用上下文单词向量的总和; 1: 使用均值,适用于使用CBOW。
  • alpha (float, optional) – 初始学习率。在实例化模型时,自动完成模型的训练。
  • min_alpha (float, optional) – 最小学习率,随着训练的进行,学习率线性下降到min_alpha,
  • seed (int, optional) – 随机数发生器种子。
  • max_vocab_size (int, optional) – 词汇构建期间RAM的限制;  如果有更多的独特单词,则修剪不常见的单词。 每1000万个类型的字需要大约1GB的RAM。支持的最大单词数目。
  • max_final_vocab (int, optional) – 自动选择匹配的min_count将词汇限制为目标词汇大小。
  • sample (float, optional) – 高频词随机下采样的配置阈值,范围是(0,1e-5)。
  • hashfxn (function, optional) – 哈希函数用于随机初始化权重,以提高训练的可重复性。
  • iter (int, optional) – 自动模型训练时的迭代次数。
  • trim_rule (function, optional) – 词汇修剪规则,指定某些词语是否应保留在词汇表中,修剪掉或使用默认值处理。
  • sorted_vocab ({0, 1}, optional) – 如果为1,则在分配单词索引前按降序对词汇表进行排序。
  • batch_words (int, optional) – 每一个batch传递给线程单词的数量。
  • compute_loss (bool, optional) – 如果为True,则计算并存储可使用get_latest_training_loss()检索的损失值。
  • callbacks (iterable of CallbackAny2Vec, optional) – 在训练中特定阶段执行回调序列。

第3章 使用gensim.models.word2vec构建向量模型

3.0 前提

import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optimfrom gensim.models import Word2Vecimport matplotlib.pyplot as plt

3.1 语料库

raw_text = """We are about to study the idea of a computational process.
Computational processes are abstract beings that inhabit computers.
As they evolve, processes manipulate other abstract things called data.
The evolution of a process is directed by a pattern of rules
called a program. People create programs to direct processes. In effect,
we conjure the spirits of the computer with our spells.""".lower().split()

3.2 创建并训练模型

model = Word2Vec([raw_text], window=5, min_count=0, vector_size=100)

3.3 对相识度单词进行预测

(1)获取某个单词的词向量

model.wv.get_vector("we")
array([-8.2371626e-03,  9.3018124e-03, -2.0378912e-04, -1.9672457e-03,4.6009533e-03, -4.1048718e-03,  2.7483397e-03,  6.9529405e-03,6.0647726e-03, -7.5193373e-03,  9.3864016e-03,  4.6757250e-03,3.9595906e-03, -6.2362696e-03,  8.4568849e-03, -2.1459276e-03,8.8368189e-03, -5.3625666e-03, -8.1349388e-03,  6.8205344e-03,1.6731464e-03, -2.1995250e-03,  9.5159588e-03,  9.4903978e-03,-9.7708460e-03,  2.5059620e-03,  6.1574611e-03,  3.8693496e-03,2.0194747e-03,  4.3256412e-04,  6.8311812e-04, -3.8289619e-03,-7.1381810e-03, -2.1045576e-03,  3.9239591e-03,  8.8271257e-03,9.2626950e-03, -5.9751221e-03, -9.4050728e-03,  9.7564282e-03,3.4208333e-03,  5.1657772e-03,  6.2864725e-03, -2.8053685e-03,7.3280791e-03,  2.8254921e-03,  2.8643315e-03, -2.3794267e-03,-3.1234692e-03, -2.3632357e-03,  4.2710570e-03,  8.2289553e-05,-9.5984712e-03, -9.6682198e-03, -6.1445762e-03, -1.2618728e-04,1.9983812e-03,  9.4273640e-03,  5.5828230e-03, -4.2890343e-03,2.7802799e-04,  4.9645198e-03,  7.7032396e-03, -1.1378536e-03,4.3263095e-03, -5.8062747e-03, -8.0820709e-04,  8.1010396e-03,-2.3662101e-03, -9.6660787e-03,  5.7865614e-03, -3.9302218e-03,-1.2270809e-03,  9.9810772e-03, -2.2439670e-03, -4.7674584e-03,-5.3300112e-03,  6.9841221e-03, -5.7071578e-03,  2.1063576e-03,-5.2589145e-03,  6.1209816e-03,  4.3569636e-03,  2.6094934e-03,-1.4887219e-03, -2.7490708e-03,  8.9987572e-03,  5.2161841e-03,-2.1613305e-03, -9.4713038e-03, -7.4321763e-03, -1.0670737e-03,-7.8357977e-04, -2.5633539e-03,  9.6833659e-03, -4.6015202e-04,5.8634020e-03, -7.4515464e-03, -2.5067476e-03, -5.5492264e-03],dtype=float32)

(2)获取与某个单词的关联性最高的几个词

model.wv.similar_by_word("processes", topn=5)
[('study', 0.1669149100780487),('effect,', 0.16261565685272217),('abstract', 0.1388479620218277),('we', 0.1315048635005951),('directed', 0.11603082716464996)]

备注:

由于输入的文本太小,因此关联度不明显。


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121723021

[Pytorch系列-57]:循环神经网络 - gensim.models.word2vec参数详解与构建词向量模型相关推荐

  1. [Pytorch系列-61]:循环神经网络 - 中文新闻文本分类详解-3-CNN网络训练与评估代码详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  2. [Pytorch系列-60]:循环神经网络 - 中文新闻文本分类详解-2-LSTM网络训练与评估代码详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  3. 使用gensim.models.Word2Vec.load(‘model.txt‘)报错,导致模型加载不了的解决办法之一

    背景: 想做一个基于Word2Vec的分析标题与标题之间相关性的模型,训练完之后保存模型.再加载发生了如下错误: 在这里插入代码片 Traceback (most recent call last): ...

  4. 【Python异常】TypeError: __init__() got an unexpected keyword argument ‘size‘与gensim.models.word2vec 参数

    文章目录 一.遇到的异常: 1.TypeError: __init__() got an unexpected keyword argument 'size' 2.TypeError: __init_ ...

  5. [Python人工智能] 十二.循环神经网络RNN和LSTM原理详解及TensorFlow编写RNN分类案例

    从本专栏开始,作者正式开始研究Python深度学习.神经网络及人工智能相关知识.前一篇讲解了TensorFlow如何保存变量和神经网络参数,通过Saver保存神经网络,再通过Restore调用训练好的 ...

  6. FFMPEG进阶系列03-ffmpeg转码专题(中)x264参数详解

    文章目录 概述 版本 Presets(预设) tune slow-firstpass Frame-type options(帧类型选项) keyint min-keyint no-scenecut s ...

  7. Pytorch 中的数据类型 torch.utils.data.DataLoader 参数详解

    DataLoader是PyTorch中的一种数据类型,它定义了如何读取数据方式.详情也可参考本博主的另一篇关于torch.utils.data.DataLoader(https://blog.csdn ...

  8. Python数据处理篇之Matplotlib系列(六)---plt.hist()与plt.hist参数详解

    https://www.cnblogs.com/zyg123/p/10504645.html

  9. 从零开始构建基于textcnn的文本分类模型(上),word2vec向量训练,预训练词向量模型加载,pytorch Dataset、collete_fn、Dataloader转换数据集并行加载

    伴随着bert.transformer模型的提出,文本预训练模型应用于各项NLP任务.文本分类任务是最基础的NLP任务,本文回顾最先采用CNN用于文本分类之一的textcnn模型,意在巩固分词.词向量 ...

  10. word2vec实例详解python_在python下实现word2vec词向量训练与加载实例

    项目中要对短文本进行相似度估计,word2vec是一个很火的工具.本文就word2vec的训练以及加载进行了总结. word2vec的原理就不描述了,word2vec词向量工具是由google开发的, ...

最新文章

  1. 李沐:五年工作反思!
  2. python编程基础与应用-Python程序设计:从编程基础到专业应用
  3. CSDN2018博客之星评选——期待各位大佬的投票
  4. 低功耗wifi soc_36氪首发研发低功耗蓝牙芯片,联睿微完成数千万元A+轮融资
  5. iOS当中的设计模式
  6. Java三种随机数生成方法
  7. 必须使用初始化列表的情况
  8. android-- dp px sp长度单位的区别
  9. 更改input标签的placeholder的样式
  10. CAD插件学习系列教程(七) 去除CAD教育版戳记 (两种方法)
  11. matlab画图点形状,matlab画图点的形状
  12. vs2012 express 密钥
  13. 概率图模型之:贝叶斯网络
  14. cnpm 安装文件找不到_技术员修复 win7系统word2013找不到标尺工具的处理办法 -win7系统使用教程...
  15. 世界记忆大师的记忆力训练方法
  16. 找一下不男不女 ?。。?
  17. c语言笛卡尔坐标系,CAD笛卡尔坐标系(直角坐标系),极坐标系精讲,看完秒会...
  18. 小米盒子显示连不上服务器,小米盒子连不上WiFi?这七个技巧绝对管用
  19. JavaTutorials之Operators
  20. 微信公众号云服务器年服务费_微信公众号开发者接口费用高吗

热门文章

  1. Number精度超了怎么办
  2. How to Register/Update Ad Muncher using TOR
  3. centos7安装steam
  4. Linux系统之磁盘管理
  5. Android - 控件android:ems属性
  6. 提取频散曲线matlab程序,2.2 PCDISP圆柱杆频散曲线求解
  7. C++ std::string 不可初始化为NULL及基本用法
  8. [iOS]仿微博视频边下边播之封装播放器
  9. 如何高效开展测试用例评审?附用例评审检查清单及用例评审报告模板
  10. 远程无人值守批量装机(图文详解)