前邊一節介紹了word2vec模型訓練同義詞,那麼在大資料量的情況下,我們自然想到了用spark來進行訓練。下面就介紹我們是如何實現spark上的模型訓練。
模型訓練的輸入是分好詞的語料,那麼就得實現spark上的分詞。
def
split
(jieba_list, iterator):
sentences =
for i in iterator:
try:
seg_list =
#out_str = ""
s = ""
for c in i:
ifnot c is
none:
s += c.encode('utf-8')
id = s.split("__")[0]
s = s.split("__")[1]
wordlist = jieba.cut(s, cut_all=false)
for word in wordlist:
out_str += word
out_str += " "
except:
continue
return sentences
這裡,直接用分詞後的rdd物件作為輸入
word2vec = word2vec().setnumpartitions(50)
spark.sql("use jkgj_log")
df = spark.sql("select label1_name,label2_name from mid_dim_tag ")
df_list = df.collect()
spark.sparkcontext.broadcast(df_list)
diagnosis_text_in = spark.sql("select main_suit,msg_content from diagnosis_text_in where pt>='20170101'")
model = word2vec.fit(inp)
與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 神...