日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法

發布時間:2025/3/11 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

word2vec介紹

word2vec是google的一個開源工具,能夠根據輸入的詞的集合計算出詞與詞之間的距離。

它將term轉換成向量形式,可以把對文本內容的處理簡化為向量空間中的向量運算,計算出向量空間上的相似度,來表示文本語義上的相似度。

word2vec計算的是余弦值,距離范圍為0-1之間,值越大代表兩個詞關聯度越高。

詞向量:用Distributed Representation表示詞,通常也被稱為“Word Representation”或“Word Embedding(嵌入)”。

簡言之:詞向量表示法讓相關或者相似的詞,在距離上更接近。

具體使用(處理中文)

收集語料

本文:亞馬遜中文書評語料,12萬+句子文本。

語料以純文本形式存入txt文本。

注意:

理論上語料越大越好

理論上語料越大越好

理論上語料越大越好

重要的事情說三遍。

因為太小的語料跑出來的結果并沒有太大意義。

分詞

中文分詞工具還是很多的,我自己常用的:

- 中科院NLPIR

- 哈工大LTP

- 結巴分詞

注意:分詞文本將作為word2vec的輸入文件。

分詞文本示例

word2vec使用

python,利用gensim模塊。

win7系統下在通常的python基礎上gensim模塊不太好安裝,所以建議使用anaconda,具體參見: python開發之anaconda【以及win7下安裝gensim】

直接上代碼——

#!/usr/bin/env python

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

"""

功能:測試gensim使用,處理中文語料

時間:2016年5月21日 20:49:07

"""

from gensim.models import word2vec

import logging

# 主程序

logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)

sentences = word2vec.Text8Corpus(u"C:\\Users\\lenovo\\Desktop\\word2vec實驗\\亞馬遜中文書評語料.txt") # 加載語料

model = word2vec.Word2Vec(sentences, size=200) # 默認window=5

# 計算兩個詞的相似度/相關程度

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"

# 尋找對應關系

print u"書-不錯,質量-"

y3 = model.most_similar([u'質量', u'不錯'], [u'書'], topn=3)

for item in y3:

print item[0], item[1]

print "--------\n"

# 尋找不合群的詞

y4 = model.doesnt_match(u"書 書籍 教材 很".split())

print u"不合群的詞:", y4

print "--------\n"

# 保存模型,以便重用

model.save(u"書評.model")

# 對應的加載方式

# model_2 = word2vec.Word2Vec.load("text8.model")

# 以一種C語言可以解析的形式存儲詞向量

model.save_word2vec_format(u"書評.model.bin", binary=True)

# 對應的加載方式

# model_3 = word2vec.Word2Vec.load_word2vec_format("text8.model.bin", binary=True)

if __name__ == "__main__":

pass

運行結果

【不錯】和【好】的相似度為: 0.790186663972

--------

和【書】最相關的詞有:

書籍 0.675163209438

書本 0.633386790752

確實 0.568059504032

教材 0.551493048668

正品 0.532882153988

沒得說 0.529319941998

好 0.522468209267

據說 0.51004421711

圖書 0.508755385876

挺 0.497194319963

新書 0.494331330061

很 0.490583062172

不錯 0.476392805576

正版 0.460161447525

紙張 0.454929769039

可惜 0.450752496719

工具書 0.449723362923

的確 0.448629021645

商品 0.444284260273

紙質 0.443040698767

--------

書-不錯,質量-

精美 0.507958948612

總的來說 0.496103972197

材質 0.493623793125

--------

不合群的詞: 很

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。