restore tone for missing tone sentences
Đây là một model sử dụng cho cuộc thi Thêm dấu tiếng Việt của AIVIVN.
Public test score trên scoreboard là 0.97522 (accuracy)
Có thể coi đây là bài toán sequence prediction hoặc machine translation đều được
Do cần dự đoán một từ có dấu tương ứng với một từ không có dấu nên chỉ cần dùng Encoder là đủ.
Cách đơn giản nhất là dùng 1 tầng LSTM+Linear là được một baseline khá dễ implement.
Hoặc có thể dùng Encoder theo kiến trúc của Transformer và thêm một tầng Linear + softmax để predict.
Trong cuộc thi này, mình dùng Encoder theo kiến trúc của Evolved Transformer.
Data mình lấy từ 2 nguồn chính là:
Một số bước tiền xử lí với 2 tập này:
.!;:
Ở đây mình không dùng tokenizer tạo từ các tập data trên mà mình dùng word list từ vietnamese-wordlist để tạo bộ tokenizer bằng cách split các từ trong word list và chọn lại các từ đơn.
Kết quả được khoảng 9000 từ có dấu và 3000 từ không có dấu
Mình train base_model
trên 1 GPU 2080Ti, thời gian train 1 epoch khoảng 5h, và train tới epoch 12 thì được điểm như trên scoreboard.
Với big_model
, thời gian train là 15h cho 1 epoch, do hết thời gian nên mình không thử model này nữa.