/accent_vietnamese

this repo build and test for task of adding accent for vietnamese sentences

Primary LanguagePython

Giới thiệu

Mã nguồn này được phát triển dựa trên bài viết tại đây. So với bài viết trên, tác giả đã thay đổi:

  • Sử dụng dữ liệu từ wiki + báo cáo y tế.
  • Thêm metric + code test.
  • Thêm code tiền/hậu xử lý cho chuỗi đầu vào.
  • Khảo sất độ chính xác model và tốc độ với các tham số khác nhau.

Tiền xử lý

Ở đây chúng ta không dùng tokenizer tạo từ các tập data trên mà 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. Các từ không nằm trong word list sẽ được gán thành 'unknown'. Điều này làm giảm đi rất nhiều kích thước model và làm tăng độ chính xác.

Model

Triển khai model 2grams và 3grams.

Train model

python train.py train.tone 2gram_model.pkl --ngram 2
python train.py train.tone 3gram_model.pkl --ngram 3

Test model

python test_2gram.py val.notone val.tone 2gram_model.pkl
python test_3gram.py val.notone val.tone 3gram_model.pkl

Kết quả

ngram nbeam val_score runtime(500 sen) test_score model_size
2gram 1 0.8231 8.5 41Mb
2 0.8905 14.65
3 0.9138 15
4 0.9216 16.5
5 0.9258 18.3 0.9221
6 0.9273 18.5
7 0.9282 18.9
3gram 1 0.8840 9 441Mb
2 0.9128 15.5
3 0.9309 14.35
4 0.9369 19.5
5 0.9411 25.5 0.9401
6 0.9438 26.5
7 0.9453 31.9

result