1. 程式人生 > >【python + word2vec】計算語義相似度

【python + word2vec】計算語義相似度

本方法是使用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"
結果如下所示


相關推薦

python + word2vec計算語義相似

本方法是使用python語言使用word2vec 的方法來進行語義相似度的計算、 1、首先配置python27下的word2vec的環境(gensim),如下所示: 2、訓練文字 # -*- cod

LOJ#6041事情的相似(字尾自動機)

【LOJ#6041】事情的相似度(字尾自動機) 題面 LOJ 題解 \(\mbox{YCB}\)搬了這道題目。。。\(\mbox{QwQ}\) 還是用到\(lcp\)就是\(parent\)樹上的\(LCA\)的\(len\)。 每次詢問顯然就是區間內點的貢獻。 那麼考慮所有可能出現的點對。 顯然對於

Tensorflow練習2-Word2vec模型計算詞語相似

#-*- coding: utf8 -*- # Copyright 2015 The TensorFlow Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (th

python 走進NLP標籤別名語義相似匹配演算法

標籤別名語義相似度匹配演算法: # -*- encoding=utf-8 -*- import pandas as pd import numpy as np import time time1

NLPPython例項:基於文字相似對申報專案進行查重設計

作者:白寧超 2017年5月18日17:51:37 摘要:關於查重系統很多人並不陌生,無論本科還是碩博畢業都不可避免涉及論文查重問題,這也對學術不正之風起到一定糾正作用。單位主要針對科技專案申報稽核,傳統的方式人力物力比較大,且伴隨季度性的繁重工作,效率不高。基於此,單位覺得開發一款可以達到實用的

Python 比較圖片相似

# Filename: histsimilar.py # -*- coding: utf-8 -*-   import Image   def make_regalur_image(img, size = (256, 256)):     return img.resize

python學習今天看看學習 %d ,%s, %f 等用法,下面的學習例子是說輸入名字、年齡、工作,工資。並給出65歲退休還差多久的計算

msg ear end style 資料 科學 一個 保留 value 今天看看學習 %d ,%s, %f 等用法。%d 是占位符整數,%s 是占位符,%f 是浮點數。下面的學習例子是說輸入名字、年齡、工作,工資。並給出65歲退休還差多久的計算。重點在於用占位符來print

用gensim doc2vec計算文字相似Python可以跑通的程式碼

Python3.7版本,轉載自:https://blog.csdn.net/juanjuan1314/article/details/75124046 wangyi_title.txt檔案下載地址:連結:https://pan.baidu.com/s/1uL75P13t98YHMqgv3Kx7T

Leetcode_總結697. 陣列的 - python

連結:https://leetcode-cn.com/problems/degree-of-an-array/description/ Q: 給定一個非空且只包含非負數的整數陣列 nums, 陣列的度的定義是指數組裡任一元素出現頻數的最大值。 你的任務是找到與 num

python演算法合併兩個有序陣列為一個有序的大陣列(時間複雜最低)

思路按位迴圈比較兩個陣列,較小元素的放入新陣列,下標加一(注意,較大元素對應的下標不加一),直到某一個下標超過陣列長度時退出迴圈 假設兩個源陣列的長度不一樣,那麼假設其中短的陣列用完了,即全部放入到新陣列中去了,那麼長陣列中剩下的那一段就可以直接拿來放入到新陣列中去了。#co

基於《知網》的詞彙語義相似計算(上)(作者:劉群 李素建)

基於《知網》的詞彙語義相似度計算 劉群 李素建 {liuqun,lisujian}@ict.ac.cn † 中國科學院計算技術研究所   ‡ 北京大學計算語言學研究所 摘要: 《知網》是一部比較詳盡的語義知識詞典。在基於例項的機器翻譯中,詞語相似度計算是一個重要的環節。不過

Python刷題*計算A+B+C問題

這是一個非常簡單的題目,意在考察你程式設計的基礎能力。千萬別想難了哦。輸入為一行,包括了用空格分隔的三個整數 AAA、BBB、CCC(資料範圍均在−40-40−40 ~ 404040 之間)。輸

計算一個list中資料的平均數、中位數和眾數python實現

一個數列的平均數的定義為,所有數值求和再除以數列長度 中位數定義為,將一個數列排序後位於中間的數值(數列長度為奇數時,取正中間的數,長度為偶數時,去中間的兩個數的平均) 眾數定義為,在一個數列中,出

python自制讓大白成為你的個人助手!

article get content clas tps com class out 自制 我做這個軟件就是要讓賣萌進行究竟! 官方站點:http://www.jackeriss.com/companions.htm GitHub:https://github.co

健康生活Google、百之間的選擇

size www aml center 3.1 fill csdn gles 搜索 沒有什麽技術性的分析,僅僅是個人吐槽而已。 一般人遇到問題就會說一句“百度一下”,說實話,百度在中國推廣的真的非常不錯,可謂是家喻戶曉,搜索個八卦新聞,小文章,小電影什麽的的確非常不

Python學習Python解決漢諾塔問題

次數 代碼 int 解題思路 move python學習 求解 color 印度 參考文章:http://www.cnblogs.com/dmego/p/5965835.html 一句話:學程序不是目的,理解就好;寫代碼也不是必然,省事最好;拿也好,查也好,解決問題就好

Python筆記文件常見用法

off 習慣 size readline 追加 run 寫到 文件 內部 關於文件的函數w 寫方式a 追加模式打開(從EOF開始,必要時創建新文件)r+ 以讀寫模式打開w+ 以讀寫模式打開a+ 以讀寫模式打開rb 以二進制讀模式打開wb 以二進制寫模式打開 (參見 w )a

python學習使用python寫一個2048小遊戲

ast stc 遊戲 多少 wan nbsp 小遊戲 效果 參考 個人博客:jerwang.cn 沒有參考其他代碼,效果圖: 話不多少,源代碼: https://github.com/jerustc/Python/blob/master/2048.py【python學

BZOJ 4007[JLOI2015]戰爭調 DP+搜索+狀壓

大小 進行 如果 完全 復雜 戰爭調度 葉子 max 意義 又是一道思路清新的小清晰。 觀察題目,如果我們確定了平民或者貴族的任意一方,我們便可以貪心的求出另一方,至此20分;我們發現層數十分小,那麽我們就也是狀壓層數,用lca轉移,線性dp,至此50分(好像數據很水這麽

Python學習Python中的數據類型精度問題

類型 一次 /usr logs int 第一次 pytho 整數 問題 Python真的很神奇。。。神奇到沒有直接的數據類型概念,並且精度可以是任意精度。想當初,第一次接觸OI算法時,寫得第一個算法就是高精度加法,搗鼓了半天。一切在Python看來,僅僅三行代碼即可完成。