转载的文章找不到了.url就不放了。百度上相关的很多,来源可能都是一样的。 不能完全转载,选择了部分的内容。所以算原创吧。。。
在做这个实验的时候,最麻烦的问题是编码问题。由于工具采用的utf-8编码。所以不得不把文件的编码格式转化了。前半部分实现编码转换过程。
# coding=gb2312
from gensim.models import word2vec
import chardet
import gensim
import logging
# file = open('allWords.txt','rb')
# fileout = open('allWords1.txt',"wb")
# tl = 0
# for i in file:
# tl += 1
# encodingName = chardet.detect(i)['encoding']
# # print(encodingName)
# # print(i)
# i = i.decode(encoding='gb2312',errors='ignore')
# i = i.encode('utf-8',errors='ignore')
# # print(chardet.detect(i))
# # print(i)
# # i = i.encode('utf-8')
# print(tl)
# # if tl == 100:
# # break
# fileout.write(i)
# file.close()
# fileout.close()
# exit(0)
# 主程序
logging.basicConfig(format='%(asctime)s:%(levelname)s: %(message)s', level=logging.INFO)
sentences =word2vec.Text8Corpus(u"allWords1.txt") # 加载语料
model =word2vec.Word2Vec(sentences, size=200) #训练skip-gram模型,默认window=5
# 以一种c语言可以解析的形式存储词向量
#model.save_word2vec_format(u"书评.model.bin", binary=True)