Gensim中word2vec和doc2vec的基本用法

本文详细介绍了word2vec和Doc2vec两种重要的自然语言处理模型。word2vec用于生成词向量,通过调整参数如窗口大小、负采样等,可以训练出高质量的词向量。Doc2vec则进一步扩展到文档级别的向量表示,能够捕捉文档的主题和上下文信息。文章还提供了模型训练、持久化和加载的具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 word2vec:

from gensim.models.word2vec import Word2Vec
model = Word2Vec(lines, sg=1, size=100,  window=5,  min_count=5,  negative=3, hs=1)

其中lines是[['中国','国人','有限','限公','公司'],['学生','生幼','条款']]这种类型的数据格式

model.most_similar('人寿')   #可以查看和“人寿”这个词最接近的词
模型持久化:
model.wv.save_word2vec_format('e:/2gram.vec', binary=False)
模型加载:
import gensim
m=gensim.models.KeyedVectors.load_word2vec_format('e:/2gram.vec', binary=False)

得到模型中的词表:

vacab = model.vocab.keys()

二、Doc2vec:

训练模型:

from gensim.test.utils import common_texts
from gensim.models.doc2vec import Doc2Vec, TaggedDocument
documents = [TaggedDocument(doc, [i]) for i, doc in enumerate(lines)]
model = Doc2Vec(documents, vector_size=100, window=3, min_count=1, workers=4)

其中所需的数据格式要求:

模型持久化和加载:

from gensim.test.utils import get_tmpfile
# fname = get_tmpfile("e:/doc2vec.vec")
model.save('e:/doc2vectest.vec')
model1 = Doc2Vec.load('e:/doc2vectest.vec')  # you can continue training with the loaded model!

获取段落的向量:

model1.infer_vector(['国 人寿 财保险 股 有限公司'])

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值