Gensim 中 word2vec 函数的使用

Gensim 是我比较常用的一个 NLP 工具包,特别是其中的 word2vec 模块,它的具体 API 如下: class gensim.models.word2vec.Word2Vec( sentences=None, size=100,...
摘要由CSDN通过智能技术生成

Gensim 是我比较常用的一个 NLP 工具包,特别是其中的 word2vec 模块,它的具体 API 如下:

class 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, 
            compute_loss=False)

模型创建

Gensim 中 word2vec 模型的输入是经过分词的句子列表,即是某个二位数组。但由于中文没有像英文那么自带天然的分词,所有这里我们简单采用 jieba 来进行分词处理。

# 引入 word2vec
from gensim.models import word2vec

# 引入日志配置
import logging

logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)

# 引入分词工具
import jieba

# 引入数据集
raw_sentences = ["但由于中文没有像英文那么自带天然的分词","所以我们第一步采用分词"]

# 切分词汇
sentences = []
for s in raw_sentences:
    tmp = []
    for item in jieba.cut(s):
        tmp.append(item)
    sentences.append(tmp)
# print(sentences)
# 构建模型
model = word2vec.Word2Vec(sentences, min_count=1)

# 进行词向量输出
model['中文']

但这种方法在数据集比较大的情况下会占用大量的 RAM,Gensim 本身只是要求能够迭代的有序句子列表,因此在工程实践中我们可以使用一些自定义的生成器,只在内存中保存单条语句,并且在导入内存之前进行分词操作。

Word2Vec 参数

  • sentences: 可以是一个 list,对于大型的预料集,我们建议使用
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值