下载地址

压缩文件大小6G,解压后16G,总共880万词向量

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from gensim.models import KeyedVectors
path = '/your/word2vec/path'
# 服务器加载20分钟,个人电脑悠着点
wv_from_text = KeyedVectors.load_word2vec_format(path, binary=False)
wv_from_text.init_sims(replace=True)  # 省内存,可以运算most_similar
word = '视频会议'
# 取最相似的20条,后面会有相似度0-1
print(wv_from_text.similar_by_word(word, topn=20, restrict_vocab=None))

# 词向量,先判断词库里有没有这个词
if word in wv_from_text.wv.vocab.keys():
    word_vec = wv_from_text[word]

# ngram向量补齐

# 分词

# 计算两个词的距离,这里是余弦距离
print(wv_from_text.distance("喜欢", "讨厌")) # 0.299
print(wv_from_text.distance("喜欢", "爱")) # 0.295
print(wv_from_text.distance("喜欢", "西瓜")) # 0.670

# 相似度,余弦相似度
print(wv_from_text.similarity("喜欢", "爱")) # 0.704
# 计算字符串,这里是余弦相似度。将两句话分词,然后计算文本相似度
print(wv_from_text.n_similarity(['风景', '怡人'],['山美','水美'])) # 0.60
print(wv_from_text.n_similarity(['风景', '怡人'],['上','厕所'])) # 0.43

# 不同类的词
print(wv_from_text.doesnt_match(['a','b','c']))

同义词映射

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import jieba

# 找到这个词的所有同义词,然后构建字典
# {同义词1} ==> {原词}
# {同义词2} ==> {原词}
# {同义词3} ==> {原词}

# 提升某些词的词频,使其能够被jieba识别出来
jieba.suggest_freq("词", tune=True)
# 在任务的句子中,将同义词替换成原词,以便模型识别

打赏

微信 微信 支付宝 支付宝
万分感谢