跳轉到

2.5 文字資料向量化

範例程式:Open In Colab

文字資料進入神經網路前,必須先轉成 token index 或向量。本篇示範 Keras TextVectorization,並建立一個簡單文字分類模型。

1. 學習目標

神經網路不能直接理解原始文字。文字需要經過標準化、切詞、建立詞彙表、轉成整數序列,才能進入 Embedding、RNN、CNN 或 Transformer。

2. TextVectorization 做了什麼?

TextVectorization 可以完成文字標準化、切詞、詞彙表建立與輸出序列。它的 adapt() 應只使用訓練文字資料。

3. 常見輸出模式

output_mode 說明 適合情境
int 輸出 token index 序列 搭配 Embedding
multi_hot 詞是否出現 簡單文字分類
count 詞頻 傳統 bag-of-words
tf_idf TF-IDF 權重 稀疏文字特徵

4. 實作流程

Notebook 使用一組小型句子資料,示範 TextVectorization 如何建立 vocabulary,並建立 Embedding + GlobalAveragePooling 的簡單文字分類模型。

5. 如何套用自己的資料?

替換文字陣列與標籤即可。若文字較長,可調整 output_sequence_length;若詞彙較多,可調整 max_tokens

6. 小結

文字向量化是 NLP 任務的第一步。先把 TextVectorization 流程建立清楚,後續才能銜接 LSTM、CNN text classifier 或 Transformer。