預訓練的詞嵌入
我們對解壓後的檔案(乙個 .txt 檔案)進行解析,構建乙個將單詞(字串)對映為其向
量表示(數值向量)的索引。
**清單 6-10 解析 glove 詞嵌入檔案
glove_dir = '/users/fchollet/downloads/glove.6b'
embeddings_index = {}
f = open(os.path.join(glove_dir, 'glove.6b.100d.txt'))
for line in f:
values = line.split()
word = values[0]
coefs = np.asarray(values[1:], dtype='float32')
embeddings_index[word] = coefs
f.close()
print('found %s word vectors.' % len(embeddings_index))
此時構建的是400000個單詞的字典,
本例中僅使用10000個單詞,
接下來,需要構建乙個可以載入到 embedding 層中的嵌入矩陣。它必須是乙個形狀為
(max_words, embedding_dim) 的矩陣,對於單詞索引(在分詞時構建)中索引為 i 的單詞,
這個矩陣的元素 i 就是這個單詞對應的 embedding_dim 維向量。注意,索引 0 不應該代表任何
單詞或標記,它只是乙個佔位符。
**清單 6-11 準備 glove 詞嵌入矩陣
embedding_dim = 100
embedding_matrix = np.zeros((max_words, embedding_dim))
for word, i in word_index.items():
if i < max_words:
embedding_vector = embeddings_index.get(word)
if embedding_vector is not none:
embedding_matrix[i] = embedding_vector
深度學習筆記整理 6 1 處理文字資料
一般而言,我們若想處理文字資料,一種是將文字資料轉為one hot向量處理,另一種是轉為下標組成的向量然後通過一層詞嵌入轉為待處理的向量。keras內建的函式可以快速幫助我們達到目的 首先我們需要引入tokenizer from keras.preprocessing.text import tok...
python3 處理檔案
fhand open text.txt python裡面的open 函式返回乙個file handler,如果你print fhand 的話,得到一些跟檔案有關的資訊 name text.txt mode r encoding us ascii 今天實現了乙個讀取每一行,分別輸出並統計行數的功能 f...
opencvC 學習16處理邊緣
影象卷積的時候邊界畫素,不能被卷積操作,原因在於邊界畫素沒有完全跟kernel重疊,所以當3x3濾波時候有1個畫素的邊緣沒有被處理,5x5濾波的時候有2個畫素的邊緣沒有被處理。在卷積開始之前增加邊緣畫素,填充的畫素值為0或者rgb黑色,比如3x3在 四周各填充1個畫素的邊緣,這樣就確保影象的邊緣被處...