我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

继续分析腾讯人工智能实验室的语料库,看看还能做什么事情?本文的需求情况就是:求一个词的相关一系列近似词。同样,本文的求近似词的功能.similar_by_word()来自于gensim,数据来源于腾讯人工智能实验室的语料库tencent-ailab-embedding-zh-d100-v0.2.0-s

苏南大叔:人工智能,如何利用腾讯语料库计算某个词的相似词? - 计算相似词
人工智能,如何利用腾讯语料库计算某个词的相似词? (图2-1)

苏南大叔的“平行空间笔记本”博客,记录苏南大叔的经验文章总结。测试环境:win10python@3110gensim@4.3.2

准备数据

还是准备最轻量的“tencent-ailab-embedding-zh-d100-v0.2.0-s.txt”语料库,然后转换的“.bin”文件。
从这里下载的:

这样转换的:

from gensim.models import KeyedVectors
model = KeyedVectors.load_word2vec_format('./tencent-ailab-embedding-zh-d100-v0.2.0-s.txt', binary=False)
model.save_word2vec_format('./tencent-ailab-embedding-zh-d100-v0.2.0-s.bin',binary=True)

参考文章:

函数原型

.similar_by_word(word, topn=20, restrict_vocab=None)

其中的参数restrict_vocab,它是可选的整数,它限制了向量的范围,搜索最相似的值。
例如:restrict_vocab = 10000。会只检查词汇顺序中的前10000个词汇向量。

计算相似词

完整代码如下:

import os
os.chdir(os.path.dirname(__file__))

from gensim.models import KeyedVectors
file = './tencent-ailab-embedding-zh-d100-v0.2.0-s.bin'
model = KeyedVectors.load_word2vec_format(file, binary=True)
n = model.similar_by_word("北京", topn=20, restrict_vocab=None)
print(n)
# print(type(n)) # list
for kv in n:
    # print(type(kv)) # tuple
    print(kv[0])

苏南大叔:人工智能,如何利用腾讯语料库计算某个词的相似词? - 分析相似词代码
人工智能,如何利用腾讯语料库计算某个词的相似词? (图2-2)

返回值是个元素类型为tuplelist

输出:

[('天津', 0.9328117370605469), ('沈阳', 0.9086554050445557), ('石家庄', 0.8912245035171509), ('上海', 0.8876019716262817), ('长春', 0.8828070759773254), ('啊,北京', 0.8798615336418152), ('在北京', 0.877882182598114), ('保定', 0.8774853348731995), ('哈尔滨', 0.8773915767669678), ('西安', 0.8716177344322205), ('秦皇岛', 0.8656072020530701), ('北京有', 0.8653988838195801), ('唐山', 0.8637179136276245), ('大连', 0.8566615581512451), ('济南', 0.8543044328689575), ('北京市', 0.8523149490356445), ('廊坊', 0.8505526185035706), 
('郑州', 0.8482655882835388), ('太原', 0.848239004611969), ('鞍山', 0.8391510248184204)]
天津
沈阳
石家庄
上海
长春
啊,北京
在北京
保定
哈尔滨
西安
秦皇岛
北京有
唐山
大连
济南
北京市
廊坊
郑州
太原
鞍山

相关文章

结束语

更多苏南大叔的人工智能方面的经验文章,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    nlp