二分类数据集 比特微 Jetson Nano Java Spring Jetbains全家桶 templates paypal ios5 Backbonejs flowjs vue表单提交 多店版微信商城 mac虚拟打印机 maya曲线建模 js控制台打印 python加注释 python取随机数 python字典类型 python基础教程免费 python位操作 python读取mysql数据 eclipse安装python java方法重载 java数组输出 java获取数据类型 java字符串格式化 java接口实例 java获取当前日期 java8函数式编程 linux用户管理 高效能人士的七个习惯下载 右键菜单背景 js删除数组指定元素 离散数学pdf 端口关闭工具 系统维护工具 微信临时链接多久失效 pycharm中文版 win10wifi 彻底卸载mysql
当前位置: 首页 > 学习教程  > 编程学习

【python + word2vec】计算语义相似度

2021/1/9 1:56:32 文章标签: word计算

本方法是使用python语言使用word2vec 的方法来进行语义相似度的计算、 1、首先配置python27下的word2vec的环境(gensim),如下所示: 2、训练文本 # -*- coding: utf-8 -*- from gensim.models import word2vec import logging im…

本方法是使用python语言使用word2vec 的方法来进行语义相似度的计算、

1、首先配置python27下的word2vec的环境(gensim),如下所示:


2、训练文本

# -*- coding: utf-8 -*-
from gensim.models import word2vec
import logging
import numpy as np
# 主程序
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
sentences = word2vec.Text8Corpus(u"C:/Users/Administrator/Desktop/data/abstract.txt")  # 加载语料
n_dim=200
model = word2vec.Word2Vec(sentences, size=n_dim, min_count=0,sg=1)  # 训练skip-gram模型; 默认window=5
# 保存模型,以便重用
model.save("E:/pythonWorkSpace/work/deal_chinesepaper_data/model_data/abs0.model")
# 以一种C语言可以解析的形式存储词向量
model.save_word2vec_format("E:/model_data/abs0.model.bin", binary=True)
if __name__ == "__main__":
    pass
3、根据训练的结果计算语义相似度

# -*- coding: utf-8 -*-

from gensim.models import word2vec
import logging
import numpy as np

model = word2vec.Word2Vec.load("E:/model_data/abs0.model.bin")
y1 = model.similarity(u"社会媒体", u"社交网络")
print u"社会媒体和社交网络的相似度为:", y1
print "--------\n"
y2 = model.most_similar(u"霍克斯过程", topn=20)  # 20个最相关的
print u"和社会媒体最相关的词有:\n"
for item in y2:
    print item[0], item[1]
print "--------\n"
结果如下所示



本文链接: http://www.dtmao.cc/news_show_1100107.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?