一、训练自己的词向量
通常需要以下4个步骤:
1.语料准备,从原始的语料中提取出我们需要的语料信息
2.分词:这里采用jieba分词,另外加载了自定义的词典和停用词典,停用词典使用的是哈工大停用词词典https://github.com/orangefly0214/stopwords,自定义词典和自己训练的词向量的主题相关,需要自己定义,自定义词典的格式可参加jieba官网给出的格式,https://raw.githubusercontent.com/fxsjy/jieba/master/extra_dict/dict.txt.big,第一列是单词,第二列是词频,第三列是标注出来的词性,如果没有,二三列也可以默认为空。
3.加载分词后的语料利用gensim训练word2vec模型。训练时,可以用word2vec.Text8Corpus来加载需要训练的语料,另外需要自己设置窗口大小,迭代次数以及词向量的维度等等。
代码如下:
#! usr/bin/env python3
# -*- coding:utf-8 -*-
import jieba
import jieba.posseg as psg
from gensim.models import word2vec
import gensim
import re
#提取语料
def extract(path,save):
with open(path,'r',encoding='utf-8')as fd:
lines=fd.readlines()
for i,line in enumerate(lines):
if i%5000==0: