Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuẩn bị dữ liệu Iliad cho huấn luyện: Token hóa với TensorFlow Text

Bước đầu tiên trong pipeline NLP là token hóa - tách văn bản thành các đơn vị từ/token. TensorFlow Text cung cấp UnicodeScriptTokenizer hỗ trợ tốt cho nhiều ngôn ngữ.

Mã token hóa

print("Chuẩn bị dữ liệu cho huấn luyện")
tokenizer = tf_text.UnicodeScriptTokenizer()

print("Định nghĩa hàm 'tokenize' để tách văn bản")
def tokenize(text, unused_label):
    lower_case = tf_text.case_fold_utf8(text)
    return tokenizer.tokenize(lower_case)

tokenized_ds = all_labeled_data.map(tokenize)

print("Lặp qua dataset và in vài mẫu")
for text_batch in tokenized_ds.take(6):
    print("Tokens:", text_batch.numpy())

Kết quả

Chuẩn bị dữ liệu cho huấn luyện
Định nghĩa hàm 'tokenize' để tách văn bản dữ liệu
WARNING: tensorflow: batch_gather deprecated, dùng tf.gather với batch_dims=-1
Lặp qua dataset và in vài mẫu
Tokens: [b'but' b'i' b'have' b'now' b'both' b'tasted' b'food' b',' b'and' b'given']
Tokens: [b'all' b'these' b'shall' b'now' b'be' b'thine' b':' b'but' b'if' b'the' b'gods']
Tokens: [b'their' b'spiry' b'summits' b'waved' b'.' b'there' b',' b'unperceived']
Tokens: [b'"' b'i' b'pray' b'you' b',' b'would' b'you' b'show' b'your' b'love' b',' b'dear' b'friends' b',']
Tokens: [b'entering' b'beneath' b'the' b'clavicle' b'the' b'point']
Tokens: [b'but' b'grief' b',' b'his' b'father' b'lost' b',' b'awaits' b'him' b'now' b',']

Giải thích

  • Hàm tokenize thực hiện: lowercase (case_fold_utf8) → tách token bằng UnicodeScriptTokenizer.
  • Tokenizer tách dựa trên ranh giới script Unicode, xử lý tốt dấu câu và từ đặc biệt.
  • Áp dụng map() lên toàn bộ dataset, sau đó lấy mẫu 6 dòng đầu để kiểm tra.

Nguồn: TensorFlow Text Loading Tutorial