TensorFlow TextVectorization layer cần được adapt trên dữ liệu để xây dựng từ vựng trước khi dùng.
Ví dụ: Adapt layer trên dataset chỉ có text
# Tạo dataset chỉ chứa text (bỏ label)
train_text = raw_train_ds.map(lambda text, label: text)
# Adapt: quét toàn bộ dữ liệu để xây vocab
binary_vectorize_layer.adapt(train_text)
int_vectorize_layer.adapt(train_text)
# Định nghĩa hàm vector hóa binary
def binary_vectorize_text(text, label):
text = tf.expand_dims(text, -1)
return binary_vectorize_layer(text), label
Kết quả
A text-only dataset without labels is prepared
The adapt method is called
The result is displayed on the console
Giải thích
adapt()duyệt dữ liệu một lần, thống kê tần suất từ, xây vocab top-k.- Phải gọi
adapttrước khi dùng layer trong model hoặcmap. - Có thể adapt trên tập train, sau đó áp dụng cho val/test.
Nguồn: TensorFlow Text Tutorial