hàng A*
Với mơ hình đề xuất áp dụng chia nhỏ từ vào dịch máy thống kê được trình bày ở Mục 3 3 1 trước hết các câu phía tiếng Anh trong tập E của kho ngữ liệu song song C(V,E) được chia nhỏ từ (bước này được coi là encode ngữ liệu phía tiếng Anh) thu được tập E’, sau đĩ thực hiện giĩng hàng từ giữa các cặp song ngữ tiếng Việt và tiếng Anh (đã encode), thu được bảng giĩng hàng từ A(V → E’) Nếu dùng bảng giĩng hàng từ A này để đưa vào mơ hình dịch thì chất lượng của hệ thống dịch máy khơng được cải thiện bởi vì việc chia nhỏ từ đã làm thay đổi các câu dùng để huấn luyện mơ hình ngơn ngữ, mơ hình ngơn ngữ khơng cịn hiệu quả trong việc lựa chọn các câu dịch tốt nhất, các kết quả thực nghiệm trong luận án cũng cho thấy điều này (Mục 3 4 3 sẽ trình bày chi tiết kết quả thực nghiệm này) Do đĩ, cần cĩ bước chuẩn hĩa bảng giĩng hàng A để sinh ra bảng giĩng hàng từ A*(V → E) giữa các cặp câu tiếng Việt và tiếng Anh ban đầu (bước này được coi là decode bảng giĩng hàng từ) Sau đĩ, bảng giĩng hàng từ A* được sử dụng để huấn luyện mơ hình dịch máy
Luận án đề xuất phương pháp tạo bảng giĩng hàng từ mới A*(V → E) từ bảng giĩng hàng từ A(V → E’) như sau:
(i)
(ii)
Trong bảng A nếu một từ tiếng Việt được giĩng với mới một subword của một từ tiếng Anh thì ta thêm một giĩng hàng giữa từ tiếng Việt với từ tiếng Anh đĩ vào A*
Các trường hợp cịn lại thì ta giữ nguyên giĩng hàng đĩ để thêm vào A* Phương pháp trên được mơ hình hĩa như sau:
Cho tập ngữ liệu song ngữ C(V,E) và bảng giĩng hàng từ A(V,E’) Trong bảng A(V,E’), mỗi cặp câu (v,e’), với vV và e’E’, cĩ nhiều giĩng hàng từ (vj
→ e’i), trong đĩ vjv (j[1 n]) và e’ie’ (i[1 m]) Với mỗi cặp câu (v,e’)
- Nếu e’i là subword và e’i được chia nhỏ từ ek thì thêm giĩng hàng (vj
→ ek) vào bảng A*
- Nếu e’i khơng phải là subword thì thêm giĩng hàng (vj → e’i) vào A* Sau đĩ thực hiện xĩa bỏ các giĩng hàng giống nhau trong A* để loại bỏ trùng lặp
Thuật tốn DecodeAlignmentTable tạo bảng bảng giĩng hàng từ A*(V → E) theo phương pháp trên được trình bày ở Hình 3 4
Thuật tốn DecodeAlignmentTable
Input: Bảng giĩng hàng từ A, Tập các câu tiếng Anh đã được chia
nhỏ E’ Output: Bảng giĩng hàng từ A* 1: For each a in A 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: s ← GetEnglishSentenceOf(a) Loop
For each s[i] in s If s[i] is subword
s[i] ← s[i] + s[i+1]
For all a[j] in a
If a[j] include alignment k>i
Update_alignment a[j]: k ← k – 1
Until Number of subwords in s = 0
a* ← RemoveDuplicateAlignment(a) A* ← A* + a*
13: Return(A*)
Hình 3 4 Thuật tốn tạo bảng giĩng hàng từ A* từ bảng giĩng hàng từ A Với n là số lượng từ cĩ trong ngữ liệu huấn luyện (phía tiếng Việt hoặc tiếng Anh), ta nhận thấy số lượng giĩng hàng từ cĩ trong bảng giĩng hàng sẽ
xấp xỉ n (vì cĩ thể cĩ những từ khơng được giĩng hàng, hoặc cĩ liên kết 1- nhiều, nhiều-1, nhiều-nhiều giữa các từ phía nguồn và phía đích), độ dài câu trung bình m trong ngữ liệu huấn luyện bằng n/s với s là số lượng cặp câu cĩ trong ngữ liệu huấn luyện Thuật tốn cần 2 vịng lặp để giải mã tồn bộ bảng giĩng hàng từ, vịng lặp thứ nhất duyệt qua tồn bộ bảng giĩng hàng, vĩng lặp thứ hai duyệt qua từng câu, do đĩ độ phức tạp thuật tốn giải mã bảng giĩng hàng từ là O(m×n)
Thuật tốn tạo bảng giĩng hàng từ mới A*(V → E) từ bảng giĩng hàng từ A(V → E’) được trình ở trên là một cải tiến trong phương pháp cải tiến mơ hình giĩng hàng từ nâng cao chất lượng hệ thống dịch cặp ngơn ngữ Việt - Anh của luận án Thay vì sử dụng bảng giĩng hàng A (V → E’) được tạo ra từ bước giĩng hàng từ, luận án đề xuất một thuật tốn để sinh bảng giĩng hàng từ mới A*(V → E) từ bảng giĩng hàng A(V → E’) Kết quả thực nghiệm cho thấy so với mơ hình dịch sinh ra từ bảng giĩng hàng A(V → E’) giữa các cặp câu tiếng Việt và tiếng Anh đã được chia nhỏ từ, mơ hình dịch sinh ra từ bảng giĩng hàng A*(V → E) giữa các cặp câu tiếng Việt và tiếng Anh ban đầu (chưa chia nhỏ từ) kết hợp tốt hơn với mơ hình ngơn ngữ được huấn luyện trên tập các câu tiếng Anh E
3 4 Thử nghiệm và đánh giá các kết quả
Bảng 3 1 minh họa một số giĩng hàng từ các cặp câu trong kho ngữ liệu huấn luyện IWSLT’15 English-Vietnamese được cung cấp từ nhĩm Stanford NLP Trong bảng cĩ các dịng:
#ID: số thứ tự của câu trong kho song ngữ Vi: câu tiếng Việt
En: câu tiếng Anh
Enbpe: câu tiếng Anh đã được chia nhỏ bằng bpe
Thành phần subword: số thứ tự của các từ con trong câu tiếng anh đã được chia nhỏ, các từ con thuộc một từ ban đầu được ghép lại thành một nhĩm
Giĩng hàng vi-enbpe: giĩng hàng câu tiếng Việt với câu tiếng Anh đã được chia nhỏ
Giĩng hàng A*: giĩng hàng câu tiếng Việt với câu tiếng Anh ban đầu được chuẩn hĩa từ giĩng hàng vi-enbpe từ A
Bảng 3 1 Minh họa giĩng hàng bằng cơng cụ GIZA++ và chuẩn hĩa bảng giĩng hàng từ A*
#ID 821
vi khán giả phải thực sự yên tĩnh [0] [1] [2] [3] [4] [5] [6] [7] en they had to be very quiet
[0] [1] [2] [3] [4] [5] [6] enbpe they had to be very qui_ et
[0] [1] [2] [3] [4] [5] [6] [7] Thành phần subword [[0], [1], [2], [3], [4], [5, 6], [7]] Giĩng hàng vi- enbpe 0-0 2-1 2-2 3-3 3-4 4-4 5-5 6-5 6-6 7-7 Giĩng hàng A 0-0 2-1 2-2 2-3 3-3 4-4 5-5 7-6 Giĩng hàng A* 0-0 2-1 2-2 2-3 3-3 3-4 4-4 5-5 6-5 7-6
Bảng giĩng hàng A* thêm được các giĩng hàng từ “thực” [3] – “very”[4] và “tĩnh”[6] – “quiet”[5] để cĩ giĩng hồng đầy đủ “thực sự”[3,4]-“very”[4] và “yên tĩnh”[5,6]-“quiet”[5]
#ID 1771
vi anh đã bao giờ tự gửi một tấm thiệp chưa ? [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] en have you ever sent yourself a postcard ?
[0] [1] [2] [3] [4] [5] [6] [7]
enbpe have you ever sent yourself a post_ card ? [0] [1] [2] [3] [4] [5] [6] [7] [8] Thành phần subword [[0], [1], [2], [3], [4], [5], [6, 7], [8]] Giĩng hàng vi- enbpe 1-0 0-1 2-2 3-2 5-3 4-4 6-5 8-6 7-7 8-7 10-8 Giĩng hàng A 1-0 0-1 2-2 3-2 5-3 4-4 6-5 7-6 9-6 10-7 Giĩng hàng A* 1-0 0-1 2-2 3-2 5-3 4-4 6-5 8-6 7-6 10-7
3 4 1 Dữ liệu và mơi trường thử nghiệm
Do cặp ngơn ngữ Việt - Anh là cặp ngơn ngữ cĩ nguồn dữ liệu rất hạn chế, khơng cĩ nhiều bộ dữ liệu cơng khai, một số bộ dữ liệu được sử dụng trong các nghiên cứu trước đây cũng khơng cĩ sẵn Để thử nghiệm và đánh giá, luận án sử dụng kho ngữ liệu song ngữ IWSLT’15 English-Vietnamese được cung cấp từ nhĩm Stanford NLP (https://nlp stanford edu/projects/nmt/): IWSLT'15 English-Vietnamese data [Small] Thống kê chi tiết về bộ ngữ liệu được thể hiện ở Bảng 2 1, trong Mục 2 4 1 Trong các thử nghiệm ở phần này bộ dữ liệu
“IWLST’15” gồm 133 317 cặp câu song ngữ Việt - Anh được sử dụng làm bộ
dữ liệu huấn luyện, bộ dữ liệu tinh chỉnh mơ hình là bộ “tst2012” gồm 1 553 cặp câu song ngữ, và bộ dữ liệu đánh giá mơ hình là bộ “tst2013” gồm 1 286 cặp câu song ngữ
Các mơ hình, cơng cụ được sử dụng trong các thử nghiệm như sau: Bảng giĩng hàng A* thêm được giĩng hàng từ “thiệp”[8] – “postcard”[4] và bỏ giĩng hàng “chưa”[9] – “postcard”[6] để cĩ giĩng hàng đầy đủ “tấm thiệp”[7,8]-“postcast”[6]
#ID 5234
vi sau đĩ , tồ nhà này đã được tái chế [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] en after , the building was recycled
[0] [1] [2] [3] [4] [5] [6]
enbpe after , the building was recycle_ d [0] [1] [2] [3] [4] [5] [6] [7] Thành phần subword [[0], [1], [2], [3], [4], [5, 6], [7]] Giĩng hàng vi- enbpe 0-0 1-0 2-1 3-2 3-3 4-3 6-4 7-4 8-5 9-5 7-6 10-8 Giĩng hàng A 0-0 1-0 2-1 3-2 3-3 4-3 6-4 7-4 7-5 8-5 10-6 Giĩng hàng A* 0-0 1-0 2-1 3-2 3-3 4-3 6-4 7-4 8-5 9-5 7-5 10-6
Bảng giĩng hàng A* thêm được giĩng hàng từ “chế”[9] – “recycled”[5] và giĩng hàng “được”[9] – “recycled”[7] để cĩ giĩng hàng đầy đủ “đã được tái chế”[6,7,8,9]-“was recycled”[5]
- Phần mềm MOSES (http://www statmt org/moses/) với mơ hình dịch máy thống kê dựa trên cụm từ phân cấp MOSES [58] được sử dụng để dịch thuật Việt - Anh;
- Mơ hình ngơn ngữ được huấn luyện bằng cơng cụ KenLM;
- Mơ hình giĩng hàng từ là mơ hình IBM-HHM với cơng cụ giĩng hàng được sử dụng là GIZA++ Toolkit [86]
- Các thử nghiệm được thực hiện trên máy trạm HP WorkStation Z420, cấu hình như sau: CPU Intel Xeon E5-2680 2 70 GHz, bộ nhớ RAM 32 GB, card đồ họa NVIDIA GeForce GTX 1050 Ti, ổ cứng HDD 1TB, hệ điều hành Ubuntu bionic 18 04 05
Phần thử nghiệm của luận án được thực hiện với các phương pháp chia nhỏ từ khác nhau, mục đích chính của các thử nghiệm này là kiểm nghiệm, đánh giá sự ảnh hưởng của việc áp dụng chia nhỏ từ phía tiếng Anh đối với hệ thống Trong phần này, luận án thực hiện thử nghiệm với 04 phương pháp chia nhỏ từ thơng dụng đã trình bày trong phần 3 2 Hiện nay, chưa cĩ cơng bố nào khuyến cáo kích thước bảng từ vựng khi áp dụng chia nhỏ từ cho dịch máy thống kê Cơng bố của tác giả T Gowda [121] qua các thử nghiệm cho thấy: với bộ ngữ liệu huấn luyện từ 30K đến 500K cặp câu, kích thước của bảng từ vựng khoảng từ 4K đến 8K sẽ cho kết quả tốt nhất cho dịch máy nơ-ron, từ đĩ luận án lựa chọn các giá trị kích thước bảng từ vựng cho các thử nghiệm trong chương này