【python gensim使用】word2vec词向量处理英文语料

word2vec介绍

word2vec官网https://code.google.com/p/word2vec/

  • word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间的距离。
  • 它将term转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。
  • word2vec计算的是余弦值,距离范围为0-1之间,值越大代表两个词关联度越高。
  • 词向量:用Distributed Representation表示词,通常也被称为“Word Representation”或“Word Embedding(嵌入)”。

简言之:词向量表示法让相关或者相似的词,在距离上更接近。

具体使用

收集语料

本文
网上的英文语料:http://mattmahoney.net/dc/text8.zip
语料训练信息:training on 85026035 raw words (62529137 effective words) took 197.4s, 316692 effective words/s

该语料编码格式UTF-8,存储为一行,长度很长……如下:
语料文本信息

注意
理论上语料越大越好
理论上语料越大越好
理论上语料越大越好
重要的事情说三遍。
因为太小的语料跑出来的结果并没有太大意义。

word2vec使用

python,利用gensim模块。
win7系统下在通常的python基础上gensim模块不太好安装,所以建议使用anaconda,具体参见:python开发之anaconda【以及win7下安装gensim

  • 11
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,我可以为您讲解如何用gensim训练英文词向量。首先,您需要准备一份包含英文文本的语料库,可以是一个文本文件或者是一个文件夹中包含多个文本文件。然后,您需要安装gensim库以及其他相关依赖库。 接下来,您可以使用以下代码进行训练: ```python from gensim.models import Word2Vec import logging # 设置日志等级 logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) # 读取语料库 with open('corpus.txt', 'r') as f: corpus = f.readlines() # 对文本进行预处理,例如分词、去除停用词等 processed_corpus = [[word for word in document.lower().split() if word.isalpha()] for document in corpus] # 训练模型 model = Word2Vec(processed_corpus, size=100, window=5, min_count=5, workers=4) # 保存模型 model.save('word2vec.model') ``` 在上述代码中,`size`参数表示词向量的维度,`window`参数表示窗口大小,`min_count`参数表示词频阈值,`workers`参数表示训练时使用的线程数。您可以根据需要调整这些参数。 训练完成后,您可以使用以下代码加载模型并进行相关操作: ```python # 加载模型 model = Word2Vec.load('word2vec.model') # 获取某个词的向量 vector = model.wv['word'] # 查找与某个词最相似的词 similar_words = model.wv.most_similar('word') ``` 以上就是使用gensim训练英文词向量的基本流程和操作,希望对您有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值