pytorch對text數據的預處理
我們需要把文本數據轉化爲向量從而可以被神經網絡處理。在被餵給神經網絡之前,我們需要對text文本數據進行預處理。
關於這一塊的預處理,其實有一個很高度抽象化的接口torchtext可以很高效的解決問題,但是有些時候不清楚裏面怎麼運作的心理總是沒譜,所以我一般在寫代碼的時候都是使用人工自己處理代碼。
這個人工手動處理流程代碼其實各式各樣,我大概是寫兩個版本,之後如果看到不錯的,可能還會整理,比如如何處理大數據,不過核心思想是一樣的。
大致流程是這樣的:
首先:對原始數據(一般是訓練數據)進行預處理,進行分詞,繁體字轉化,半角符號轉化
隨後:記錄各個詞彙的詞頻,過濾低詞頻詞彙,簡歷Word2index的映射表保存起來,需要注意pad和unk符號
隨後:把數據(訓練/測試/dev,使用參數進行控制)轉化爲對應的index,按照最大長度進行補全,並轉化爲tensor
其次:製造自己的數據集類,改寫關鍵部位,一般是get_item這裏,以便被dataloder處理。