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

Xây dựng từ vựng từ token cho bộ dữ liệu Iliad

Trước khi vector hóa, cần xây dựng từ vựng từ các token xuất hiện trong dữ liệu. Cách phổ biến là thống kê tần suất và giữ lại top-N token phổ biến nhất.

Mã xây dựng từ vựng

print("Xây dựng từ vựng từ các token")
tokenized_ds = configure_dataset(tokenized_ds)
vocab_dict = collections.defaultdict(lambda: 0)

for toks in tokenized_ds.as_numpy_iterator():
    for tok in toks:
        vocab_dict[tok] += 1

print("Sắp xếp từ vựng theo tần suất")
vocab = sorted(vocab_dict.items(), key=lambda x: x[1], reverse=True)
vocab = [token for token, count in vocab]
vocab = vocab[:VOCAB_SIZE]
vocab_size = len(vocab)

print("Kích thước từ vựng:", vocab_size)
print("6 token đầu tiên:", vocab[:6])

Kết quả

Xây dựng từ vựng từ các token
Sắp xếp từ vựng theo tần suất
Kích thước từ vựng: 10000
6 token đầu tiên: [b',', b'the', b'and', b'"', b'of', b'.']

Giải thích

  • Duyệt qua dataset đã token hóa, đếm tần suất mỗi token bằng defaultdict.
  • Sắp xếp giảm dần theo tần suất, cắt giữ VOCAB_SIZE token hàng đầu.
  • Các token phổ biến nhất thường là dấu câu, từ chức năng (the, and, of...).

Nguồn: TensorFlow Text Loading Tutorial