gensim和word2vec两种方式导入词向量

# 法一:
import word2vec # 不是gensim
dataPatn = "vector.txt"
'''
第一行为词表大小和维度
如:
20000 128
我 0.001 -0.002 0.004
你 0.125 -0.215 0.112
...
共20000个词,维度为128
'''
word = "他"
model = word2vec.load(dataPatn)
indices = model.similar(word,n=10)[0]
words = [model.vocab[i] for i  in indices]
print(words) # 按相似度,从大到小排列

参考文档 https://radimrehurek.com/gensim/models/keyedvectors.html

# 法二:
import gensim
from gensim.models import KeyedVectors
dataPath = "vector.txt"	# 文件带首行,如20000 128
model = KeyedVectors.load_word2vec_format(datapath, binary=False, unicode_errors="jgnore")# 注意,这里的binary非常关键
# print(model)
word = "他"
res = model.most_similar(word, topn=10)
print(res)

小例子:利用腾讯词向量,返回相似词语

from tqdm import tqdm
import word2vec

if __name__ == '__main__': 
    dataPath = 'tencent_pre_processed_with_200.txt'
    # dataPath = 'tencent_unigram.txt'
    model = word2vec.load(dataPath)
    while True:
        print('请输入查询词:')
        word = input()
        if word == 'q!':
            break
        indices, metrics = model.similar(word, n=20)
        words = model.vocab[indices]
        print(words)
    
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值