Tiếng Việt: âm tiết, từ và subword là ba tầng khác nhau

Tiếng Việt: âm tiết, từ và subword là ba tầng khác nhau A data-flow diagram generated by Archify. 01 / Văn bản 02 / Unicode 03 / Ranh giới từ 04 / Subword 05 / Token IDs trí tuệ nhân tạo · 4 âm tiết, 3 khoảng trắng · 01 / Văn bản · chưa chắc là 4 từ trí tuệ nhân tạo 4 âm tiết, 3 khoảng trắng chưa chắc là 4 từ Hai dạng Unicode · dựng sẵn vs dấu rời · 01 / Văn bản Hai dạng Unicode dựng sẵn vs dấu rời Chuẩn hoá NFC · đưa về một dạng duy nhất · 02 / Unicode · phải nhất quán Chuẩn hoá NFC đưa về một dạng duy nhất phải nhất quán Word segmenter · trí_tuệ nhân_tạo · 03 / Ranh giới từ Word segmenter trí_tuệ nhân_tạo Bỏ tầng word · train thẳng từ raw text · 03 / Ranh giới từ Bỏ tầng word train thẳng từ raw text BPE trên word token · thiết kế kiểu PhoBERT · 04 / Subword BPE trên word token thiết kế kiểu PhoBERT SentencePiece · ▁trí ▁tuệ ▁nhân ▁tạo · 04 / Subword SentencePiece ▁trí ▁tuệ ▁nhân ▁tạo Subword IDs · hai đường, hai kết quả · 05 / Token IDs Subword IDs hai đường, hai kết quả âm tiết rời một dạng từ ghép IDs cùng hiển thị thiết kế thứ hai raw text cũng ra IDs Legend primary data data store data flow

Khoảng trắng tiếng Việt tách âm tiết, không hẳn tách từ

  • • "sinh viên" có một khoảng trắng nhưng thường được xem là một từ
  • • Vì vậy split(" ") không cho ra word boundary đáng tin cậy
  • • Word segmentation và subword tokenization là hai bài toán riêng

Hai thiết kế, hai inductive bias

  • • Có tầng word segmenter thì subword học trên đơn vị từ ghép
  • • Train thẳng SentencePiece thì mô hình tự tìm ranh giới từ dữ liệu
  • • Không đường nào sai, nhưng phải biết mình đang chọn đường nào

Vì sao dấu tiếng Việt đáng để bận tâm

  • • Cùng một chữ có thể là ký tự dựng sẵn hoặc ký tự cơ sở cộng dấu
  • • Train một dạng nhưng production gửi dạng kia thì token sẽ khác
  • • Hãy đọc normalizer của tokenizer thay vì giả định mọi thứ tương đương