Simple Text Generation Using LSTM with Tensorflow Keras



Original Source Here

最後,稍微整理一下資料處理流程:

1. 先將資料讀取近來,並且製造出訓練的文字資料 X 以及標籤資料 Y。

2. 利用 Tokenizer 來將我們的原始資料進行 Encoding,將文自轉成用整數的方是表達。(或是直接使用 Keras 的 one_hot(doc, vocabSize) 來建立)
tokenizer = Tokenizer()
tokenizer.fit_on_texts(text_sequences)
sequences = tokenizer.texts_to_sequences(text_sequences)

3. 建立好數據之後,如果你的文本資料是長度不一的話,要先進行Padding,將所有 Sequence 先 Pad 到同樣的固定長度。
from keras.preprocessing.sequence import pad_sequences
padded_encoded_seq = pad_sequences([sequence], maxlen=seq_len, truncating='pre', padding='post')
p.s padding = 'post': 長度不足maxlen時,要從後面加入0。 truncating = 'pre': 長度超過maxlen時,要從前面截斷。

4. 接著就能將準備好的資料傳入深度學習模型進行訓練,其中你可能會在模型的第一層加入 Keras 的 Embedding Layer,這個 Embedding Layer 會根據你的輸入資料,將所有索引標號映射到一個緻密的低維向量中。例如:[[5], [63], [340]] 會被映射到 [[0.72, 0.41, 0.33], [-0.8, 0.98, 0.11], [0.13, 0.83, 0.49]]。輸入的數據基本上是(batch_size, doc_len),輸出的數據則會是(batch_size, max_sequence_len, embedding_dim)。

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot

%d bloggers like this: