Trong kiến trúc trên, bộ mã hóa và giải mã đều là các mạng nơ ron tái phát (RNN), sử dụng kỹ thuật LSTM. Để xây dựng bộ mã hóa, mỗi từ trong câu đầu vào được lần lượt đưa vào mơ hình theo thứ tự. Tại thời điểm t, mơ hình sử dụng thơng
tin của từ vựng đưa vào để cập nhật lại véc tơ trạng thái ẩn h. Trạng thái ẩn h được
sử dụng để lưu trữ thơng tin của tồn bộ câu nguồn.
- Bước 1: Tại thời điểm t = 0, véc tơ trạng thái h rỗng
ℎE = ∅ , E ký hiệu cho Encoder
Tôi là sinh viên Encoder Bộ mã hóa # # # # # Decoder Bộ giải mã I am a student Thought vector t= 0
- Bước 2: Lặp lần lượt theo từng từ tại vị trí i của câu nguồn, i = 1..T
oLấy giá trị h hiện tại và véc tơ one-hot của từ tại vị trí i
oCập nhật giá trị của h theo công thức (3.1)
- Bước 3: Lưu véc tơ ngữ nghĩa h
Như vậy, tại thời điểm cuối cùng, véc tơ ẩn thu được sẽ lưu trữ tồn bộ thơng tin của câu đầu vào mà chúng ta gọi là véc tơ ngữ nghĩa ở trên, sau đó sẽ được đưa vào bộ giải mã. Q trình mã hóa câu tiếng Việt “tơi là sinh viên” được mơ phỏng trong Hình 2.25. Ở đây, W là véc tơ trọng số, được điều chỉnh trong q trình huấn luyện mơ hình để có các trọng số tối ưu nhất giúp bản dịch đạt độ chính xác cao
nhất.
Hình 2.25. Q trình mã hóa câu nguồn để tạo véc tơ ngữ nghĩa c. Xây dựng bộ giải mã (Decoder)
Sau khi kết thúc q trình mã hóa, véc tơ trạng thái ẩn cuối cùng của bộ mã hóa sẽ trở thành véc tơ ẩn đầu tiên của bộ giải mã. Từ đó bộ giải mã sử dụng ngữ nghĩa của câu nguồn làm thơng tin tái tạo câu đích. Tuy nhiên, bộ giải mã sẽ không biết trước độ dài của câu được dịch, nên bộ giải mã sẽ lần lượt dự đoán từ tiếp theo cho đến khi gặp thẻ <EOS> (End Of Sequence) để có một câu hồn chỉnh.
- Bước 1: Nhận giá trị véc tơ ẩn làm véc tơ khởi tạo
ℎD = ℎE , E là Encoder, D là Decoder
t=0 t=N
- Bước 2: Nhận thẻ <SOS> (Start Of Sequence) là từ đầu tiên của chuỗi đích
và đưa vào bộ giải mã. ℎE t=0 ℎE t=1 ℎE t=2 ℎE t=3 ℎEt=4 ℎD t=0 Decoder WE WE WE WE
Tơi là sinh viên
Thought vector
oTính véc tơ trạng thái của bộ giải mã
oTính xác suất xuất hiện của các từ trong bộ từ vựng sử dụng ma trận trọng số giải mã
oChọn từ có xác suất cao nhất là từ được dịch
- Bước 3: Lặp lại cho đến khi từ được dịch là <EOS>
oTính véc tơ trạng thái của bộ giải mã
oNhận từ đã được dịch ở bước kế trước để đưa vào bộ giải mã oTính xác suất xuất hiện của các từ trong bộ từ vựng
oChọn từ có xác suất cao nhất là từ được dịch
- Bước 4: Chuỗi các từ nhận được là câu dịch ở ngơn ngữ đích
Minh họa q trình dịch câu “tơi là sinh viên” sang tiếng Anh ở Hình 2.26. Từ “I” có xác suất cao nhất và được chọn là từ đầu tiên trong câu tiếng Anh được dịch (Hình a). Tiếp tục sử dụng “I” là đầu vào để cùng với véc tơ trạng thái tính tốn xác suất từ tiếp theo có thể xuất hiện (Hình b).
Hình 2.26. Minh họa Bộ giải mã thực hiện các bước dịch một câu
Bộ giải mã sẽ tiếp tục dự đoán các từ theo cách này cho đến khi từ được dự đoán tiếp theo trong câu là thẻ <EOS>. Khi đó q trình giải mã hoàn tất và chúng ta nhận được một bản hoàn chỉnh từ câu nguồn. Tồn bộ q trình giải mã câu đầu vào “tơi là sinh viên” được thể hiện trong Hình 2.27.
ℎD t=0 ℎD t=1 WE I am a student ℎD t=0 ℎD t=1 WE ℎDt=2 WE I I am a studen t I (b) <SOS> <SOS> (a)
ℎD t=1 WE ℎD t=2 WE <SOS> ℎDt=3 WE ℎDt=4 WE ℎD t=5 WE
Hình 2.27. Quá trình giải mã tái tạo câu được dịch
Cơ chế attention là một giải pháp giúp nâng cao chất lượng của mơ hình dịch NMT để tạo ra các bản dịch chính xác. Cơ chế này khởi tạo một bộ nhớ bao gồm tất cả các véc tơ ẩn được tính tốn từ q trình mã hóa. Tại mỗi thời điểm cần khởi tạo một từ dịch, cơ chế này giúp bộ giải mã nhìn lại các véc tơ ẩn của bộ mã hóa để tạo làm tham số đầu vào cùng với véc tơ ẩn của bộ giải mã để dự đoán bản dịch. Cơ chế attention được minh họa trong Hình 2.28.
Hình 2.28. Tích hợp cơ chế attention trong Bộ Giải mã
Kết quả xây dựng hệ thống dịch
Từ ưu điểm của các phương pháp dịch nêu trên, nghiên cứu tiến hành ứng
Bộ nhớ I am a studen t ND t=1 ℎDt=0 ℎDt=1 WE <SOS> ℎD t=0 I am a studen t <EOS> I am a studen t E ℎE ℎE ℎE ℎE ℎt=0 t=1 t=2 t=3
dụng phương pháp dịch thông kê và phương pháp dịch sử dụng mạng nơ ron để triển khai huấn luyện mơ hình dịch. Để có cơ sở so sánh giữa hai phương pháp dịch, nghiên
cứu sử dụng hai mã nguồn nổi tiếng nhất liên quan đến các phương pháp trên là Moses và OpenNMT.
- Moses [12] là hệ dịch máy thống kê cho phép người dùng dễ dàng tạo ra mơ hình dịch cho bất cứ một cặp ngơn ngữ nào. Moses cung cấp cả hai loại mơ hình dịch là dựa trên cụm từ và dựa trên cây. Nó bao gồm đầy đủ các thành phần để tiền xử lý dữ liệu, huấn luyện mơ hình ngơn ngữ và mơ hình dịch. Moses thực chất là phiên bản cao hơn của Pharaoh, là phần mềm được nhiều trường đại học, nhóm nghiên cứu nổi tiếng về xử lý ngôn ngữ tự nhiên và dịch máy thống kê như Edinburg (Scotland), RWTH Aachen (Germany)... tham gia phát triển. Đây là phần mềm có chất lượng khá tốt, khả năng mở rộng cao được dùng để xây dựng nhiều hệ thống dịch thử nghiệm cho nhiều cặp ngôn ngữ như Anh-Czech, Anh-Trung, Anh- Pháp… Để triển khai hệ thống Moses, nghiên cứu sử dụng SRILM toolkit
(http://www.speech.sri.com
/projects/srilm/) để xây dựng mơ hình ngơn ngữ, sử dụng GIZA++ (http://www.clsp. jhu.edu/ws99/projects/mt/toolkit/) để gióng hàng trong quá trình huấn luyện mơ hình và dự đốn câu dịch. Các công cụ mã nguồn mở, tài nguyên, tài liệu, kho ngữ liệu liên quan đến dịch máy thống kê được chia sẻ tại website
http://www.statmt.org.
- OpenNMT [64] là là hệ dịch sử dụng mạng nơ ron mã nguồn mở hồn thiện, nổi tiếng, được cơng bố năm 2017 của nhóm Harvard NLP và SYSTRAN, cơng cụ này được nhiều nhóm nghiên cứu sử dụng trong cộng đồng dịch máy. OpenNMT ứng dụng các thuật toán mới nhất trong dịch tự động và đang tiếp tục được các nhà nghiên cứu phát triển. OpenNMT được xây dựng dựa trên các nghiên cứu cải tiến mơ hình NMT truyền thống, cho phép mơ hình dịch tự động quan sát tồn bộ chuỗi đầu vào để khởi tạo những từ mới ở đầu ra, cho các kết quả tốt khi dịch các câu dài. Đồng thời, OpenNMT cho phép tối ưu hóa bộ nhớ, tăng tốc độ tính tốn khi sử dụng bộ xử lý đồ họa GPU.
Kho ngữ liệu sử dụng để huấn luyện và kiểm thử: gồm gần 800.000 cặp câu song ngữ Anh – Việt ở tất cả các lĩnh vực. Chi tiết về dữ liệu thể hiện trong bảng sau:
Bảng 2.10. Mô tả dữ liệu phục vụ xây dựng hệ thống dịch
Số lượng cặp câu Độ dài câu tiếng Anh (từ) Độ dài câu tiếng Việt (từ)
Dữ liệu đánh giá 2.490 20,70 22,14
Ngoài ra, đối với hệ thống dịch thống kê Moses, nghiên cứu sử dụng 2.241.987 câu tiếng Việt được thu thập từ các báo điện tử để làm kho ngữ liệu đơn ngữ phục vụ huấn luyện mơ hình ngơn ngữ tiếng Việt.
Sau khi sử dụng các bộ dữ liệu để cài đặt và huấn luyện mơ hình dịch với các tham số mặc định của hệ thống mô tả tại [12][64], kết quả chất lượng hệ thống dịch được xác định trên tập dữ liệu đánh giá thu được ở Bảng 2.11.
Bảng 2.11. So sánh chất lượng hệ thống dịch theo các phương pháp khác nhau
BLEU NIST
OpenNMT 25,4 5,61
Moses 23,8 5,10
Số liệu trên cho thấy, cùng một tập dữ liệu đầu vào, mơ hình dịch sử dụng mạng nơ ron cho kết quả tốt hơn mơ hình dịch thống kê thơng qua điểm đánh giá BLEU và NIST. Như vậy, trong trường hợp này, phương pháp dịch sử dụng mạng nơ ron cho thấy sự phù hợp khi áp dụng đối với hệ thống dịch tiếng Việt. Nếu sử dụng bộ dữ liệu có kích thước lớn hơn, chất lượng dịch của hệ thống sẽ tăng lên.
Giải pháp xây dựng hệ thống dịch ngữ nghĩa
Như trình bày ở trên, mơ hình dịch sử dụng mạng nơn ron có những ưu điểm vượt trội so với các mơ hình dịch khác, cụ thể khi so sánh với mơ hình dịch thống kê. Tuy nhiên, các mơ hình dịch chỉ thực hiện cơng việc nhận văn bản đầu vào và khởi tạo câu dịch. Để tăng cường hiệu quả của hệ thống dịch, chúng ta có thể mở rộng và hồn thiện mơ hình dịch bằng cách áp dụng bộ nhớ dịch ở giai đoạn tiền xử lý và biểu diễn ngữ nghĩa ở giai đoạn hậu xử lý.
2.4.4.1. Kết nối bộ nhớ dịch ở giai đoạn tiền xử lý
Bộ nhớ dịch là một cơ sở dữ liệu chứa các cụm từ, các câu, các đoạn đã được dịch chính xác từ trước. Bộ nhớ dịch (Translation Memory) thường sử dụng trong các ứng dụng hỗ trợ dịch thuật như Trados, MemoQ, Wordfast… Các phần mềm này rất hữu ích đối với cơng việc dịch thuật vì sẽ giúp làm gia tăng chất lượng và tốc độ dịch bằng cách tái sử dụng các cụm từ, các câu, đoạn văn đã được dịch trong quá khứ.
Trên cơ sở đó, nhằm tăng tốc độ xử lý của hệ thống dịch sử dụng mạng nơ ron, chúng ta có thể áp dụng bộ nhớ dịch vào mơ hình hệ thống. Kỹ thuật học máy sử dụng mạng nơ ron trong bài toán dịch tự động cần số lượng kho ngữ liệu rất lớn làm dữ liệu đầu vào để huấn luyện, và tạo ra mơ hình dịch có kích thước lớn. Để tính tốn kết quả đầu ra của hệ thống dịch trong thời gian thực, cần phải có hệ thống máy tính cấu hình mạnh với các bộ xử lý chuyên dụng được sử dụng để xử lý song song tốc độ cao (GPU). Chính vì vậy, việc áp dụng bộ nhớ dịch sẽ lưu trữ các kết quả dịch tốt nhất vào cơ sở dữ liệu và trích xuất khi có câu đầu vào tương ứng mà khơng cần phải gọi đến mơ hình dịch để thực hiện quá trình dịch. Quy trình áp dụng bộ nhớ dịch thể hiện trong hình Hình 2.29. Hai bước chính để triển khai bộ nhớ dịch gồm:
- Xây dựng bộ nhớ dịch: Hệ thống không lưu trữ tất cả các bản dịch trong quá khứ mà chỉ lưu các bản dịch có chất lượng tốt. Khi người dùng hiệu đính kết quả bản dịch, hệ thống thu thập bản dịch đã hiệu đính để lưu vào cơ sở dữ liệu. Có thể nâng cao độ tin tưởng về chất lượng của bản dịch bằng cách đặt một ngưỡng số lượng tối thiểu n lần thu được các bản dịch giống nhau.
- Bổ sung mô đun bộ nhớ dịch vào mơ hình dịch tự động: ở mơ hình dịch tự động sử dụng mạng nơ ron, câu đầu vào được truyền trực tiếp vào bộ máy dịch để thực hiện dự đoán kết quả dịch. Với bộ nhớ dịch đã xây dựng được, câu nguồn sẽ được tìm kiếm trong bộ nhớ dịch để lấy bản dịch đã được lưu. Trường hợp khơng tìm thấy trong bộ nhớ dịch, câu nguồn mới được gửi đến bộ máy dịch.
2.4.4.2. Kết nối mô đun biểu diễn ngữ nghĩa ở giai đoạn hậu xử lý
Trong bài toán dịch máy, vấn đề hiểu ngữ nghĩa để dịch theo đúng ngữ cảnh là một vấn đề khó, tuy nhiên nếu giải quyết được thì chất lượng bản dịch sẽ đạt kết quả tốt và người đọc có thể hiểu được đầy đủ ý nghĩa của văn bản cần dịch.
Chẳng hạn trong lĩnh vực du lịch, thông thường những người đi du lịch đến các quốc gia khác nhau đều sử dụng các ứng dụng dịch thuật trực tuyến để tìm hiểu thơng tin, tìm kiếm chỉ dẫn từ ngơn ngữ bản địa, nói chuyện trực tiếp với người khác giữa hai ngơn ngữ khác nhau. Trong trường hợp này, kết quả dịch cần đảm bảo đúng ngữ cảnh, đặc biệt đối với các danh từ riêng như tên địa điểm du lịch, tên đường, tên của địa điểm lưu trú… Các khái niệm này thường rất khó hiểu đối với người đọc, vì vậy cần có thêm các tầng ngữ nghĩa để diễn đạt và mô tả chi tiết thông tin liên quan
và làm rõ thêm nội dung, ngữ cảnh của văn bản đã được dịch. Cách tiếp cận này hiện nay chưa có hệ thống dịch nào nghiên cứu và ứng dụng.
Xét một tình huống được mơ tả trong ví dụ sau đây: một người nước ngồi đang đi du lịch ở Việt Nam và đang tìm kiếm thêm thơng tin các địa điểm du lịch, thông qua hệ thống dịch tự động để dịch câu văn mô tả về bãi biển ở Đà Nẵng như sau:
Khi tìm thấy các thơng tin du lịch hấp dẫn trên bản dịch, thông thường người đọc sẽ cần thêm các thơng tin liên quan khác để có thể ra các quyết định về chuyến đi của mình. Trong trường hợp này, người đọc muốn biết được Đà Nẵng nằm ở đâu, thời tiết thế nào, có nhiều địa điểm du lịch khơng…? Trong nhiều tình huống khác, thơng thường người đọc dễ dàng xác định được một cụm từ nào đó là tên riêng (như “Da Nang”), nhưng cần biết cụ thể hơn đó là một địa danh, thành phố, hay tên đường, khoảng cách như thế nào, mô tả chi tiết về địa điểm đó. Chẳng hạn, “Da Nang” ngoài cách hiểu là tên gọi của một thành phố, thì đó cịn là tên của một tuyến đường và khu chợ ở Thành phố Hải Phòng, cụ thể là “Đường Đà Nẵng” và “Chợ Đà Nẵng”.
Các hệ thống dịch trực tuyến khác nhau có thể đưa ra một kết quả dịch từ tiếng Việt sang tiếng Anh để người đọc có thể hiểu được và hồn thành vai trị của chức năng dịch tự động. Tuy nhiên, trong trường hợp mô tả ở trên, bản dịch cịn thiếu hụt tất cả các thơng tin quan trọng về ngữ nghĩa và mô tả của các khái niệm quan trọng, giúp cho người đọc hiểu được toàn cảnh ý nghĩa của văn bản.
Chính vì vậy, luận án đề xuất giải pháp kết hợp giữa hệ thống dịch tự động bằng mạng nơ ron với kho ngữ liệu ontology để làm giàu ngữ nghĩa của bản dịch và biểu diễn đầy đủ nhất thơng tin của bản dịch máy.
Mơ hình tổng thể của hệ thống dịch ngữ nghĩa kết hợp bộ nhớ dịch như sau:
Bãi biển ở Đà Nẵng được bình chọn là 1 trong 6 bãi biển quyến rũ nhất hành tinh.
Beach in Da Nang was voted as one of the 6 most attractive beaches on the planet.
location? famous sightseeing
Hình 2.29. Mơ hình hệ thống dịch ngữ nghĩa
Các thành phần chính của mơ hình này là:
(1) Văn bản cần dịch: Là văn bản nguồn trước khi đưa vào hệ thống dịch. (2) Mơ hình dịch mạng nơ ron: là mơ hình dịch được xây dựng bằng phương pháp trí tuệ nhân tạo sử dụng mạng rơ ron.
(3) Kết quả dịch: là văn bản chứa các khái niệm cần làm rõ hơn về mặt ngữ nghĩa theo ngữ cảnh của văn bản đang có.
(4) Phân tách khái niệm: Là mơ đun thực hiện tìm kiếm và nhận dạng các khái niệm tương ứng với các thực thể như tên riêng, địa danh.
(5) Kho ngữ liệu Ontology: Là xây dựng tầng ngữ nghĩa cho kho ngữ liệu thuộc lĩnh vực du lịch nhằm hướng đến phát triển hệ thống dịch tự động trực tuyến