使用Python实现文本向量化(一)——腾讯词向量

Docs向量化(Embedding)

Embedding 也是文本语义含义的信息密集表示,每个嵌入都是一个浮点数向量,使得向量空间中两个嵌入之间的距离与原始格式中两个输入之间的语义相似性相关联。例如,如果两个文本相似,则它们的向量表示也应该相似,这一组向量空间内的数组表示描述了文本之间的细微特征差异。
简单来说,Embedding 帮助计算机来理解如人类信息所代表的“含义”,Embedding 可以用来获取文本、图像、视频、或其他信息的特征“相关性”,这种相关性在应用层面常用于搜索、推荐、分类、聚类。

1 腾讯词向量

腾讯词向量主页: 腾讯词向量主页
词向量下载地址:词向量下载地址

腾讯词向量提供 800 多万中文词条,每个词条展开成200维向量,解压后16G。它使用 Directionalskip-Gram(skip-Gram 的改进版)训练而成,可使用 Ginsim 调用。它提供的是通常意义上的词义但对于具体任务不是很完美。
具体来说,有超过 1200 万个中文单词和短语以及 650 万个英语单词和短语,这些单词和短语是在大规模高质量数据上进行预训练的。 这些向量捕获单词和短语的语义意义,可以广泛应用于许多下游任务(例如,命名实体识别和文本分类)和进一步的研究中。

from gensim.models import KeyedVectors
# gensim == 4.3.3
# 一定要注意版本,不同版本的gensim调用方法不一样!!!
file = r'\tencent-ailab-embedding-zh-d200-v0.2.0-s\tencent-ailab-embedding-zh-d200-v0.2.0-s.txt'
wv_from_text = KeyedVectors.load_word2vec_format(file, binary=False)
# wv_from_text.init_sims(replace=True)
wv_from_text.fill_norms(force=False)
word = '膝关节置换手术'
if word in wv_from_text.key_to_index.keys():
    vec = wv_from_text[word]
    print(wv_from_text.most_similar(positive=[vec],topn=20))
else:
    print('没找到')

在这里插入图片描述

# 查询词向量
wv_from_text.word_vec('地球')

在这里插入图片描述

# 查询与郭靖最接近的词
wv_from_text.most_similar('郭靖')

在这里插入图片描述

# 计算词距
print(wv_from_text.distance("喜欢","讨厌"))
print(wv_from_text.distance("喜欢","爱"))
print(wv_from_text.distance("喜欢","西瓜"))

在这里插入图片描述

# 计算字串距离
print(wv_from_text.n_similarity(["风景","怡人"],["山美","水美"]))
print(wv_from_text.n_similarity(["风景","怡人"],["上","厕所"]))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值