二、python實現
skip-gram模型的最大特點是:由當前詞**上下文詞
skip-gram模型的訓練過程如下圖所示:
本文使用gensim庫中的word2vec()函式。
資料預處理請看任務1.
#匯入工具包
import pandas as pd
import gensim
import pickle
import numpy as np
import csv,sys
#定義輔助函式
def sentence2list(sentence):
return sentence.strip().split()
#構造資料集
print("準備資料................ ")
sentences = sentences_train + sentences_test
print("準備資料完成! ")
#訓練模型
#定義初始引數
vector_size = 100
#開始訓練
print("開始訓練................ ")
model = gensim.models.word2vec(sentences=sentences, size=vector_size, window=5, min_count=5, workers=8, sg=0, iter=5)
print("訓練完成! ")
#儲存訓練結果
print(" 儲存訓練結果........... ")
wv = model.wv
vocab_list = wv.index2word
word_idx_dict = {}
for idx, word in enumerate(vocab_list):
word_idx_dict[word] = idx
vectors_arr = wv.vectors
vectors_arr = np.concatenate((np.zeros(vector_size)[np.newaxis, :], vectors_arr), axis=0)#第0位置的vector為'unk'的vector
f_wordidx = open(feature_path + 'word_seg_word_idx_dict.pkl', 'wb')
f_vectors = open(feature_path + 'word_seg_vectors_arr.pkl', 'wb')
pickle.dump(word_idx_dict, f_wordidx)
pickle.dump(vectors_arr, f_vectors)
f_wordidx.close()
f_vectors.close()
print("訓練結果已儲存到該目錄下! ")
1.
2.
2023年, 我的前端面試覆盤
這篇文章簡單總結下2018年內我的一些前端面試經歷,在這簡單分享一下,希望對大家有所啟發。樓主在深圳,畢業兩年。面的主要是深圳的幾家公司。樓主在準備面試前,想著複習一下,但是前端的範圍實在太大,後來決定找兩個肉雞公司試一下水,面試之後,大概心裡有個底。最後樓主也拿到了lazada,shopee 等幾...
達觀杯文字處理任務
達觀杯文字處理任務 達觀杯文字處理小demo如下圖,訓練資料與測試資料有2g多,在pycharm裡執行demo時一直報錯process finished with exit code 1073740940 0xc0000374 解決辦法 配置檔案 邏輯回歸 from sklearn.linear m...
2019 9 21 任務 完成情況 覆盤
是從現在 下午三點左右開始正式學習的。目標 複習完計算機組成原理 未完成 完成一半多 前端那本書看50頁 完成了0頁。練習注意力 半小時番茄鐘式的 沒進行好 只乙個番茄鐘 第乙個番茄鐘還困了。趴下睡了 突然補充 今天突然想起來乙個做事情的問題。我是學生會的,我的部長讓我做一件事情,那麼那個時候我挺累...