Kiến trúc Bộ Mã hóa và Bộ Giải mã

Một phần của tài liệu Nghiên cứu giải pháp cải tiến chất lượng dịch tự động tiếng việt (Trang 99)

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

-

-

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

o Lấy giá trị h hiện tại và véc tơ one-hot của từ tại vị trí i o Cậ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 quá 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.

ℎ ℎ ℎ ℎ ℎ ℎ Decoder

WE WE WE WE

Tôi là sinh viên Thoughtvector

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

ℎ = ℎ , E là Encoder, D là Decoder

- 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ã.

o Tính véc tơ trạng thái của bộ giải mã

o Tí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

o Chọ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>

o Tính véc tơ trạng thái của bộ giải mã

o Nhận từ đã được dịch ở bước kế trước để đưa vào bộ giải mã o Tính xác suất xuất hiện của các từ trong bộ từ vựng

o Chọ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).

I am a I am a student I student ℎ ℎ WE <SOS> ℎ ℎ WE <SOS> ℎ WE I (a) (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ã hồ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.

I am a student <EOS> ℎ ℎ WE <SOS> ℎ WE I ℎ WE am ℎ WE a ℎ WE student

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.

I am a student ℎ ℎ ℎ ℎ ℎ ℎ ℎ Bộ nhớ WE <SOS>

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 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 q 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ở hoà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 toà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 huấn luyện 778.512 22,16 23,48

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

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ứ.

BLEU NIST

OpenNMT 25,4 5,61

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ý chun 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 q 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 ngoà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:

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 places? weather?

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” ngồ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 tồ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.

(1) Văn bản

cần dịch (8) Bộ nhớ dịch (7) Diễn giải

(6) Nguồn

(2) Mơ hình dịch

mạng nơ ron (3) Kết quả dịch

Hiển thị cho người dùng tài nguyên Trích rút Làm giàu (5) Kho ngữ (4) Phân tách khái niệm Tra cứu (7) Diễn giải liệu ontology 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 hỗ trợ khách du lịch.

(6) Các nguồn tài nguyên: Các nguồn tài nguyên được sử dụng để tìm kiếm và

Một phần của tài liệu Nghiên cứu giải pháp cải tiến chất lượng dịch tự động tiếng việt (Trang 99)