word2vec中文语料训练

2018 年 4 月 23 日 全球人工智能 一个人的场域

高薪招聘兼职AI讲师和AI助教!

gensim 的word2vec api参见: 
https://radimrehurek.com/gensim/models/word2vec.html 
本文说一下中文语料的使用,很简单。

1 word2vec api

看下api:

gensim.models.word2vec.Word2Vec(sentences=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, cbow_mean=1, hashfxn=<built-in function hash>, iter=5, null_word=0,   trim_rule=None, sorted_vocab=1, batch_words=10000)

其中的sentences是句子列表,而每个句子又是词语的列表,即list[list]类型。 切记!!

  • size是embedding纬度,即每个词的向量纬度

  • window是窗口大小

  • min_count用来做筛选,去除总的词频小于该值的词语

其他参数见上面的链接

2 中文语料的csv文件

采用的是csv格式的中文语料:

chnl, nid, doc分别是频道,新闻id,文本

3 实现

# -*- coding: utf-8 -*-

import pandas as pdfrom gensim.models

import Word2Vecfrom gensim.models.word2vec

import LineSentence df = pd.read_csv('体育.csv') sentences = df['doc'] line_sent = []

for s in sentences:    line_sent.append(s.split())  #句子组成list

model = Word2Vec(line_sent,                 size=300,                 window=5                 min_count=1,                 workers=2) model.save('./word2vec.model')

for i in model.vocab.keys(): #vocab是dict    print type(i)    

    print i#model = Word2Vec.load('word2vec_model')

print model.wv['球员']

如果语料文件不是csv,而直接是训练的txt文件,可以使用LineSentence直接把文件读成正

确的格式

#model = Word2Vec(LineSentence('体育.txt'), size=300, window=5,min_count=1,

workers=2)

4 注意编码

训练用的编码格式要与使用model时的编码格式一致。 
例如,如果文件是utf-8的文件,读取时没有转成unicode,则model使用时也要使用utf-8格式,例如model.wv[‘球队’]; 训练是用unicode,则使用model.wv[u’球队’]

原文链接:https://blog.csdn.net/leiting_imecas/article/details/72639799


-加入人工智能学院系统学习-

点击“阅读原文”进入学习

登录查看更多
12

相关内容

分散式表示即将语言表示为稠密、低维、连续的向量。 研究者最早发现学习得到词嵌入之间存在类比关系。比如apple−apples ≈ car−cars, man−woman ≈ king – queen 等。这些方法都可以直接在大规模无标注语料上进行训练。词嵌入的质量也非常依赖于上下文窗口大小的选择。通常大的上下文窗口学到的词嵌入更反映主题信息,而小的上下文窗口学到的词嵌入更反映词的功能和上下文语义信息。
【KDD2020-清华大学】图对比编码的图神经网络预训练
专知会员服务
44+阅读 · 2020年6月18日
基于多头注意力胶囊网络的文本分类模型
专知会员服务
76+阅读 · 2020年5月24日
【Amazon】使用预先训练的Transformer模型进行数据增强
专知会员服务
56+阅读 · 2020年3月6日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
下载 | 最全中文文本分类模型库,上手即用
机器学习算法与Python学习
30+阅读 · 2019年10月17日
【Github】GPT2-Chinese:中文的GPT2训练代码
AINLP
52+阅读 · 2019年8月23日
中文NLP福利!大规模中文自然语言处理语料
新智元
37+阅读 · 2019年2月13日
NLP - 15 分钟搭建中文文本分类模型
AINLP
79+阅读 · 2019年1月29日
干货下载 | 中文自然语言处理 语料/数据集
七月在线实验室
30+阅读 · 2018年12月27日
CNN与RNN中文文本分类-基于TensorFlow 实现
七月在线实验室
13+阅读 · 2018年10月30日
收藏!CNN与RNN对中文文本进行分类--基于TENSORFLOW实现
全球人工智能
12+阅读 · 2018年5月26日
基于 Doc2vec 训练句子向量
AI研习社
6+阅读 · 2018年5月16日
【推荐】中文处理(BiLSTM分词)工具包FoolNLTK
机器学习研究会
6+阅读 · 2017年12月27日
开源|基于tensorflow使用CNN-RNN进行中文文本分类!
全球人工智能
11+阅读 · 2017年11月12日
Arxiv
14+阅读 · 2018年5月15日
Arxiv
10+阅读 · 2018年3月22日
Arxiv
3+阅读 · 2018年2月22日
VIP会员
相关资讯
下载 | 最全中文文本分类模型库,上手即用
机器学习算法与Python学习
30+阅读 · 2019年10月17日
【Github】GPT2-Chinese:中文的GPT2训练代码
AINLP
52+阅读 · 2019年8月23日
中文NLP福利!大规模中文自然语言处理语料
新智元
37+阅读 · 2019年2月13日
NLP - 15 分钟搭建中文文本分类模型
AINLP
79+阅读 · 2019年1月29日
干货下载 | 中文自然语言处理 语料/数据集
七月在线实验室
30+阅读 · 2018年12月27日
CNN与RNN中文文本分类-基于TensorFlow 实现
七月在线实验室
13+阅读 · 2018年10月30日
收藏!CNN与RNN对中文文本进行分类--基于TENSORFLOW实现
全球人工智能
12+阅读 · 2018年5月26日
基于 Doc2vec 训练句子向量
AI研习社
6+阅读 · 2018年5月16日
【推荐】中文处理(BiLSTM分词)工具包FoolNLTK
机器学习研究会
6+阅读 · 2017年12月27日
开源|基于tensorflow使用CNN-RNN进行中文文本分类!
全球人工智能
11+阅读 · 2017年11月12日
Top
微信扫码咨询专知VIP会员