Tích hợp cơ chế attention trong 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 102)

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à trích rút thơng tin của các khái niệm, nghĩa là các thuộc tính của các thực thể.

(7) Diễn giải: Hiển thị thông tin mô tả ngữ nghĩa các khái niệm đã được (4) nhận dạng, lấy từ kho ngữ liệu Ontology (5).

(8) Bộ nhớ dịch: Cơ sở dữ liệu lưu thơng tin của các bản dịch trước đó có chất lượng tốt để đối chiếu với văn bản cần dịch trước khi đưa vào mơ hình dịch.

Như vậy, sau khi thực hiện dịch văn bản nguồn bằng mơ hình học máy sử dụng mạng nơ ron, hệ thống sẽ sử dụng mô đun phân tách khái niệm để nhận dạng các khái niệm là tên riêng, sau đó truy vấn thơng tin mô tả chi tiết của khái niệm này từ kho

ngữ liệu ontology để hiển thị ngữ nghĩa giúp người dùng có đầy đủ thơng tin và hiểu đúng hơn về ngữ nghĩa dựa vào ngữ cảnh của nội dung được dịch. Để kết nối các chức năng của hệ thống dịch, chúng ta cần giải quyết các bài toán đặt ra sau đây.

1. Xây dựng hệ thống dịch bằng mơ hình học máy sử dụng mạng nơ ron: thực hiện theo đề xuất ở mục 2.4.2.

2. Tìm và phân tách các khái niệm từ văn bản đã được dịch: thực hiện theo giải pháp đã được đề xuất ở mục 2.3.3.

3. Liên kết các khái niệm kho ngữ liệu đã được làm giàu

Sau khi xác định được các khái niệm trong văn bản được dịch, chúng ta sẽ thực hiện việc đối sánh với các thực thể đã được mô tả trong kho ngữ liệu đã được làm giàu. Kho ngữ liệu này là một ontology đã được mô tả chi tiết thông tin của các thực thể, xây dựng và phục vụ riêng cho bài toán dịch tự động tiếng Việt trong lĩnh vực du lịch. Ở bài toán này, chỉ cần sử dụng các thuật tốn tìm kiếm để truy vấn các khái niệm từ kho ngữ liệu.

4. Xây dựng kho ngữ liệu làm giàu ngữ nghĩa

Để có thể làm giàu ngữ nghĩa cho kết quả dịch, các thực thể xuất hiện trong văn bản cần được giải nghĩa và cung cấp thông tin đầy đủ theo ngữ cảnh đang có. Vấn đề quan trọng để giải quyết bài tốn này là cần có kho ngữ liệu với đầy đủ ngữ nghĩa để có thể truy vấn. Luận án đề xuất giải pháp mở rộng ngữ nghĩa cho các thực thể tên cho kho ngữ liệu dịch tự động dùng cho ngành du lịch bằng cách xây dựng kho ngữ liệu theo hướng làm giàu ngữ nghĩa. Q trình thực nghiệm được mơ tả ở Chương 3.

5. Xây dựng giao diện trực quan để thể hiện ngữ nghĩa

Ở bước này, thay vì kết quả dịch được biểu diễn bằng văn bản tương ứng 1-1 theo truyền thống, thì kết quả dịch cần được thể hiện trực quan hơn bằng cách thể hiện thêm các tầng ngữ nghĩa của các thực thể có trong câu được dịch. Áp dụng kết quả nhận dạng ở bước 2, liên kết đến kho ngữ liệu đã được làm giàu ở bước 3 để lấy kết quả và hiển thị trên giao diện người dùng. Có nhiều cách để biểu diễn kết quả như thông qua các biểu đồ trực quan, thông qua biểu diễn dưới dạng tra cứu từ điển, thông qua các lớp giao diện phối hợp với tương tác của người dùng…

Hình 2.30. Giao diện hệ thống dịch ngữ nghĩa

Khi khối lượng kho ngữ liệu ngữ nghĩa lớn, quá trình nhận dạng khái niệm và biểu diễn thơng tin ngữ nghĩa có thể làm tăng thời gian của hệ thống. Trong trường hợp này, luận án đề xuất thực hiện giải pháp biểu diễn ngữ nghĩa khơng đồng bộ, tức là q trình quá trình hiển thị bản dịch và hiển thị ngữ nghĩa được thực hiện song song. Khi đó q trình nhận dạng khái niệm và hiển thị thơng tin ngữ nghĩa của bản dịch được thực hiện độc lập và không ảnh hưởng dến tốc độ hiển thị bản dịch.

2.5. Kết luận Chương 2

Từ các phân tích bài tốn dịch tự động, có thể thấy rằng các thành phần chủ yếu quyết định chất lượng của một hệ thống dịch là phương pháp dịch và kho ngữ liệu. Trên cơ sở đó, luận án tiếp tục tổ chức các nội dung nghiên cứu sâu hơn ở hai vấn đề này và đề xuất các giải pháp liên quan đến phương pháp dịch và kho ngữ liệu nhằm cải tiến chất lượng của hệ thống dịch tiếng Việt.

Về cải tiến kho ngữ liệu: Luận án đã tổ chức nghiên cứu về cấu trúc và định dạng của các kho ngữ liệu phục vụ cho dịch tự động, nghiên cứu đề xuất giải pháp hợp nhất các kho ngữ liệu thông qua một cấu trúc chung, đồng thời đề xuất giải pháp mở rộng kho ngữ liệu về mặt khối lượng và cải tiến về mặt chất lượng. Theo các nghiên cứu đã chứng minh, nếu kho ngữ liệu có số lượng lớn và chất lượng tốt, hệ

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 102)