word2vec全部彈幕比較句子相似度情感五分類

2021-08-21 10:54:12 字數 2093 閱讀 1384

#!/usr/bin/python

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

importsys

importcodecs #可以以特定編碼開啟檔案

importjieba

importjieba.possegaspseg

reload(sys) #zzh說這種方法不好,不要再用了!!! 可是真的很好用啊 qaq

delmodel #把模型給word_vec,所以model刪掉。

'''print word_vec[u'難過']

'''f = codecs.open("qinggancidanmu.txt"

,'r'

,'utf-8') #codecs包指定txt開啟方式

lines = f.readlines()

doc = open('fenlei.txt'

, 'w')

forlineinlines: #每一行彈幕

iflines.index(line) % 500 ==0: #顯示跑到多少條資料

printlines.index(line)

words=line.split(" ")

words.pop(0)

u =

forwordinwords:

ifword != "

\r\n

": #去掉換行符,linux只用\n換行。win下用\r\n表示換行。反正\n不行就\r\n試試!

#print type(word)

le = [u'樂']

ai = [u'哀']

nu = [u'怒']

jing = [u'驚']

wu = [u'惡']

try:

l,a,n,j,w=word_vec.n_similarity(u, le),word_vec.n_similarity(u, ai),word_vec.n_similarity(u, nu),word_vec.n_similarity(u, jing),word_vec.n_similarity(u, wu)

list=[l,a,n,j,w]

#print list

doc.write(line.split(" "

,1)[0]+" "+str(list.index(max(list)))+" "+line.split(" "

,1)[1]+'

\n') # index記得 變成 str啊 !!改了好半天!

except:

doc.write(line.split(" "

,1)[0]+" "+"-1"+" "+line.split(" "

,1)[1]+'

\n')

continueprint("end")

f.close()

doc.close()

與word2vec 原來word2vec那麼簡單

說到word2vec,它可謂非結構化資料裡面的佼佼者,尤其是在推薦和nlp當中,足以體現它的優勢所在,並且多年一直備受工業界喜愛.那麼word2vec到底是怎麼個原理的,發現身邊總是有很多人問,確不能準確的說出為什麼是兩個矩陣,到底是怎麼自動反向傳播的,以及對於softmax之後那麼大的維度資料,是...

word2vec學習參考

最近看nlp的東西比較多。就拿現在google 基於神經網路做的 word2vec 作為部落格的開始吧,今後會陸陸續續補充內容。基本是分4塊內容 1.神經網路語言模型 2.語言模型分層優化 3.word2vec 原理 4.google word2vec 看一點寫一點,先扔些參考資料鏈接上去。附上在研...

Word2Vec知識總結

word2vec是乙個產生詞向量的模型,是乙個雙層的神經網路 非常善於找出詞彙的相似度,同時可用於處理之前的技術 像one hot編碼和wordnet 處理不了的語義關係。它可以利用神經網路從大量的無標註的文字中提取有用資訊。我們也可以將它看成是乙個工具,它裡面包含了三種重要的模型 1 nnlm 神...