使用 Gensim 来训练 word2vec 词向量模型的参数设置

文章目录

  • 一、最小频次 min_count
  • 二、词向量维度 size
  • 三、并行处理核心数 workers

我们可以使用一些参数设置来控制训练的速度和质量。

一、最小频次 min_count

min_count 用来修剪内部的词表。

比如在一个 10 亿词级别的语料中,如果一个词只出现了一两次,那这个词不是错字就是垃圾~。

再说了,出现次数太少,我们也没有足够的数据来训练出该词的有意义的词向量,所以最好的做法就是:剔除。

# 准备语料
from gensim.test.utils import datapath
from gensim import utils
import gensim.modelsclass MyCorpus(object):"""An interator that yields sentences (lists of str)."""def __iter__(self):corpus_path = datapath('lee_background.cor')for line in open(corpus_path):yield utils.simple_preprocess(line)# 实例化数据预处理
sentences = MyCorpus()
# 训练模型,min_count 的默认值为 5
model = gensim.models.Word2Vec(sentences, min_count=10)
# 其中设置 min_count=10 表示出现频次 10 词以下的词被剔除

然后我们看下得到的新词表:

print(len(model.wv.vocab))

运行结果:

889

词表的词语总数从 1750 减少到了 889。

二、词向量维度 size

size 约定了我们训练得到的词向量的维度数量。

越大的维度数量,需要越多的训练数据,自然能得到更好的模型(更精确)。

通常设置在 几十~几百 之间。

# 默认 size=100
model = gensim.models.Word2Vec(sentences, size=200)
# 这里我们设置词向量维度为 200

三、并行处理核心数 workers

workers 用于设定训练的并行处理,以加快训练速度。

这是最后一个主要的训练参数。

# 默认值 workers=3
model = gensim.models.Word2Vec(sentences, workers=4)
# 这里我们设定并行处理核心数为 4

可以看到运行显示 4 个 threads,即 4 个线程。

注:

  • worker 这个参数起作用的前提是安装了 Cython,否则只能用单核。
  • 在每个 batch 太大的时候,程序会提示 under 10 jobs per worker: consider setting a smaller 'batch_words' for smoother alpha decay

NLP 利器 Gensim 来训练 word2vec 词向量模型的参数设置相关推荐

  1. 【NLP】维基百科中文数据训练word2vec词向量模型——基于gensim库

    前言   本篇主要是基于gensim 库中的 Word2Vec 模型,使用维基百科中文数据训练word2vec 词向量模型,大体步骤如下: 数据预处理 模型的训练 模型的测试 准备条件: Window ...

  2. 使用gensim框架及Word2Vec词向量模型获取相似词

    使用gensim框架及Word2Vec词向量模型获取相似词 预备知识 Word2Vec模型下载 加载词向量模型 预备知识 gensim框架 gensim是基于Python的一个框架,它不但将Pytho ...

  3. 调用gensim库训练word2vec词向量

    首先准备符合规定输入的语料: import jieba raw_text = ["你站在桥上看风景","看风景的人在楼上看你","明月装饰了你的窗子& ...

  4. 【NLP】word2vec词向量模型训练——基于tensorflow

    前言   维基百科中文数据训练word2vec词向量模型--基于gensim库   上文我们使用了 gensim 库中的 Word2vec 模块训练词向量模型,本篇我们通过 tensorflow 自己 ...

  5. 文本分布式表示(三):用gensim训练word2vec词向量

    今天参考网上的博客,用gensim训练了word2vec词向量.训练的语料是著名科幻小说<三体>,这部小说我一直没有看,所以这次拿来折腾一下. <三体>这本小说里有不少人名和一 ...

  6. GENSIM官方教程(4.0.0beta最新版)-Word2Vec词向量模型

    GENSIM官方教程(4.0.0beta最新版)-词向量模型 译文目录 回顾:词袋模型 简介:词向量模型 词向量模型训练实例 训练一个你自己的模型 储存和加载模型 训练参数 内存相关的细节 模型评估 ...

  7. 【NLP模型笔记】Intro || Word2vec词向量模型

    INTRO 自然语言处理(Natural Language Processing),简称NLP.这个领域是通过统计学.数学模型.机器学习等相关技术研究人类语言的特征,对其进行数学的表示,并基于这种表示 ...

  8. 【python gensim使用】word2vec词向量处理中文语料

    word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间 ...

  9. Word2Vec词向量模型代码

    Word2Vec也称Word Embedding,中文的叫法是"词向量"或"词嵌入",是一种计算非常高效的,可以从原始语料中学习字词空间向量的预测模型.Word ...

最新文章

  1. 业界丨一文看懂AI人才百万美元年薪因何而来?
  2. cocos2d-x-3.2 lua命名空间前缀
  3. 澳门关键字:葡萄牙、天主教、dc
  4. 能过好每一天的人,都不会混得太差
  5. 阅读《平庸的世界》后感觉 (两)
  6. c++ datetime mysql_转:C++操作mysql方法总结(1)
  7. 十年一诺,亚马逊中国今欲先发制人
  8. 第15天android:使用sqlite
  9. 解决Teamviewer屏保锁屏、黑屏无法进入问题
  10. Unity 打包微信
  11. 计算机科学与技术基础与核心,浅谈计算机科学与技术专业核心课程教学
  12. Currently, defining WATERMARK on a changelog source is not supported
  13. OpenGL 编程指南 ( 原书第 9 版 ) --- 第二章
  14. 配置disney的brdf项目全过程
  15. web开发前台,懒人建站资源库
  16. Android计步器
  17. uva11134 -Fabled Rooks
  18. 神舟电脑董事长吴海军作客CNET中国,笑谈国货08怎夺江山
  19. 大数据Impala系列之初识Impala
  20. 【科研】2023年CCF-B和CCF-C类会议截稿时间整理

热门文章

  1. csharp高级练习题:巴路士惠勒改造【难度:4级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练
  2. html5设置春联,英文版春节对联
  3. Mysql聚簇索引和费聚簇索引的区别
  4. lg显示器工厂模式怎么进入_LG液晶显示器进入工厂模式方法.概要
  5. Datawhale 知识图谱组队学习 之 Task 4 用户输入->知识库的查询语句
  6. 首个室温超导体问世,为了发现它,科学家用废了几十颗钻石 | Nature封面-1
  7. doraemon with latex
  8. 【Chromium】【笔记】《Chromium 如何显示 Web 页面》《chromium多进程架构》
  9. 中国江门地下中微子实验今年动工
  10. 基于M实现的JWT解决方案