GIỚI THIỆU TỔNG QUAN
Dịch máy
Hệ dịch máy (MT) là các hệ thống sử dụng máy tính để chuyển đổi văn bản từ ngôn ngữ nguồn sang ngôn ngữ đích Đầu vào của hệ thống là văn bản viết, có thể được thu thập từ các hệ soạn thảo hoặc nhận dạng chữ viết và lời nói Văn bản này có thể được chỉnh sửa qua khối soạn thảo và kiểm tra chính tả trước khi đưa vào máy dịch Quá trình dịch máy sẽ chuyển đổi văn bản nguồn thành văn bản trong ngôn ngữ đích, sau đó trải qua một bộ chỉnh sửa để tạo ra văn bản hoàn chỉnh hơn.
Dịch máy đã có lịch sử phát triển từ thập kỷ 50 và trở nên mạnh mẽ từ thập kỷ 80 đến nay Hiện nay, nhiều hệ thống dịch máy thương mại nổi tiếng như Systrans và Kant, cùng với các hệ mở như Google, hỗ trợ hàng chục cặp ngôn ngữ phổ biến như Anh-Pháp, Anh-Trung và Anh-Nhật Các phương pháp dịch máy chủ yếu dựa vào luật chuyển đổi, dịch liên ngữ và dịch dựa vào dữ liệu Những hệ thống này đã đạt được kết quả tốt với các cặp ngôn ngữ có cú pháp tương đồng như Anh-Pháp và Anh-Tây Ban Nha, nhưng vẫn gặp nhiều thách thức trong việc dịch các ngôn ngữ khác.
Dịch thuật Anh-Việt và Việt-Anh tại Việt Nam gặp nhiều khó khăn do sự khác biệt về cấu trúc ngữ pháp và tính nhập nhằng trong ngữ nghĩa Hệ thống dịch đầu tiên được thương mại hóa là EVTran và MTD Lạc Việt Hiện nay, nhiều nghiên cứu đang được tiến hành nhằm nâng cao chất lượng dịch thuật, phù hợp với đặc điểm của các cặp ngôn ngữ khác nhau.
Hiện nay, nghiên cứu nhằm nâng cao chất lượng hệ dịch đang được tiến hành phù hợp với đặc điểm của từng cặp ngôn ngữ Phương pháp dịch dựa trên thống kê, phát triển mạnh mẽ từ những năm 90, được coi là một trong những cách tiếp cận khả thi và hiệu quả cho dịch tự động, mang lại nhiều bước đột phá trong lĩnh vực này.
Dịch máy thống kê
Dịch máy thống kê (SMT) là phương pháp dịch máy tạo ra bản dịch dựa trên các mô hình thống kê, với các tham số được rút ra từ phân tích các cặp câu song ngữ Phương pháp này khác biệt so với các phương pháp dựa trên luật và dịch máy dựa trên ví dụ.
Dịch máy thống kê, được giới thiệu lần đầu bởi Warren Weaver vào năm 1949 và tái khởi động vào năm 1991 bởi các nhà nghiên cứu tại Trung tâm nghiên cứu Thomas J Watson của IBM, đã trở thành phương pháp dịch máy phổ biến nhất hiện nay Phương pháp này kết hợp nhiều nguồn trí thức, dựa vào toán học để tối ưu hóa sự kết hợp giữa chúng Khác với các hệ thống dịch dựa vào luật, dịch máy thống kê học tự động từ dữ liệu huấn luyện, giúp phát triển hệ thống nhanh chóng hơn Mặc dù việc xác định chính xác mối quan hệ ngữ pháp, ngữ nghĩa và văn phong là khó khăn, nhưng phương pháp thống kê cho phép kiểm định các giả định mô hình qua dữ liệu thực nghiệm Thêm vào đó, dịch máy thống kê còn phù hợp với các ứng dụng nhúng, nơi dịch máy là một phần của ứng dụng lớn hơn.
Dịch máy dựa trên phương pháp thống kê sẽ tìm câu ngôn ngữ đích e phù hợp nhất (có xác suất cao nhất) khi cho trước câu ngôn ngữ nguồn f
Một hệ dịch máy dựa trên phương pháp thống kê có thể được mô hình hoá nhƣ hình sau:
Hình 0.1: Mô hình hóa hệ dịch máy
Dịch máy thống kê lần đầu tiên được đề cập trong bài báo với phương pháp sử dụng là mô hình Kênh nhiễu (Noisy Channel Model)
Mô hình kênh nhiễu đƣợc Brown áp dụng trong bài toán dịch máy nhƣ sau:
Câu tiếng Pháp f1J = f1 … f j … f J cần được dịch sang tiếng Anh e1I e1 …ei …eI Brown đã phát triển mô hình kênh nhiễu, trong đó e là đầu vào của bộ mã hóa (Encoder) Qua kênh nhiễu, e được chuyển hóa thành f và sau đó, f được gửi đến bộ giải mã (Decoder) Do đó, trong việc chọn câu tiếng Anh, chúng ta cần tối ưu hóa xác suất hậu nghiệm Pr (e1I | f1J ) theo quy tắc quyết định Bayes: eˆ 1 I = arg max { Pr ( e 1 I | f 1 J ) } = arg max { Pr ( e 1 ) Pr ( f 1 | e 1 ) }.
Như vậy, ta có thể xây dựng mô hình chung của hệ dịch máy bằng phương pháp thống kê thông thường sẽ bao gồm 3 thành phần:
- Mô hình ngôn ngữ: Tính toán đƣợc xác suất của câu ngôn ngữ nguồn
- Mô hình dịch: Cho biết xác suất của câu ngôn ngữ nguồn là bản dịch từ câu ngôn ngữ đích
- Bộ giải mã: Tìm kiếm tất cả các câu ngôn ngữ đích e có thể có từ câu ngôn ngữ nguồn f
Mô hình dịch từ tiếng Anh sang tiếng Việt có thể hình dung thông qua biểu đồ dưới đây:
Hình 0.2: Mô hình dịch máy thống kê từ tiếng Anh sang tiếng Việt
Mô hình dịch của mô hình ngôn ngữ sẽ được trình bày chi tiết trong chương tiếp theo của luận văn Trong phần này, chúng tôi chỉ tập trung vào hai thành phần còn lại của mô hình dịch máy thống kê, bao gồm mô hình ngôn ngữ.
Mô hình ngôn ngữ là một phân bố xác suất trên các tập văn bản, giúp xác định xác suất của một câu hoặc cụm từ thuộc về một ngôn ngữ cụ thể Nói một cách đơn giản, mô hình ngôn ngữ cung cấp thông tin về khả năng xuất hiện của các câu trong ngữ cảnh ngôn ngữ đó.
Ví dụ: khi áp dụng mô hình ngôn ngữ cho tiếng Việt:
- P[“hôm qua là thứ năm”] = 0.001
- P[“năm thứ hôm là qua”] = 0
Mô hình ngôn ngữ đóng vai trò quan trọng trong nhiều lĩnh vực của xử lý ngôn ngữ tự nhiên, bao gồm kiểm lỗi chính tả, dịch máy và phân đoạn từ Nghiên cứu về mô hình ngôn ngữ không chỉ là nền tảng cho các ứng dụng hiện tại mà còn là cơ sở cho những nghiên cứu và phát triển trong các lĩnh vực tiếp theo.
Nhiệm vụ của mô hình ngôn ngữ là cho biết xác suất của một câu w1w2 wm là bao nhiêu Theo công thức Bayes: P(AB) = P(B|A) * P(A), thì:
Theo công thức này, mô hình ngôn ngữ cần một lượng bộ nhớ rất lớn để lưu trữ xác suất của tất cả các chuỗi có độ dài nhỏ hơn m, điều này là không khả thi khi m có thể tiến tới vô cùng trong các văn bản ngôn ngữ tự nhiên Để tính xác suất của văn bản một cách hiệu quả với lượng bộ nhớ hợp lý, chúng ta áp dụng xấp xỉ Markov bậc n.
P(wm|w1,w2,…, wm-1) = P(wm|wm-n,wn-m+1, …,wm-1)
Áp dụng xấp xỉ Markov, xác suất xuất hiện của một từ (wm) chỉ phụ thuộc vào n từ liền trước (wm-n, wm-n+1,…, wm-1), không phụ thuộc vào toàn bộ dãy từ trước đó (w1, w2,…, wm-1) Do đó, công thức tính xác suất văn bản được điều chỉnh theo cách này.
1wm-n …wm-2)* P(wm|wm-nwm-n+1…wm-1)
Mô hình ngôn ngữ N-gram được xây dựng dựa trên thống kê các cụm từ có ít hơn n+1 từ Cụm N-gram là một dãy con gồm n phần tử liên tiếp trong một dãy các phần tử đã cho.
Bộ giải mã có nhiệm vụ xác định câu ngôn ngữ đích tốt nhất dựa trên câu ngôn ngữ nguồn đã cho Cụ thể, câu ngôn ngữ đích e tối ưu là câu mà giá trị P(f|e)*P(e) đạt cực đại Mô hình dịch cụm từ đầu tiên được Marcu và Wong phát triển, sử dụng phương pháp leo đồi Tuy nhiên, do không gian tìm kiếm rất lớn, bộ giải mã trong mô hình dịch máy thống kê thường áp dụng các thuật toán tìm kiếm tối ưu để cải thiện hiệu suất.
Thuật toán A* là một trong những phương pháp tìm kiếm hiệu quả nhất, được bộ giải mã áp dụng để tối ưu hóa quá trình tìm kiếm Tại mỗi bước mở rộng không gian tìm kiếm, A* sử dụng các hàm ước lượng và đánh giá trọng số để đảm bảo kết quả tìm được là tốt nhất và được phát hiện đầu tiên Sau khi xử lý qua hai mô hình ngôn ngữ và mô hình dịch, chúng ta thu được bảng xác suất cho từng thông số tương ứng, với mục tiêu tìm ra tích số P(e)P(v|e) lớn nhất.
Có hai thuật giải cho mô hình tìm kiếm, bao gồm thuật giải tìm kiếm tham lam và thuật giải tìm kiếm dựa trên ngăn xếp, cùng với một thuật toán tối ưu là thuật toán tìm kiếm theo chu trình Hamilton Mặc dù hai thuật giải này có thời gian xử lý nhanh hơn, nhưng kết quả đạt được lại thấp hơn so với thuật toán tối ưu.
Bộ giải mã thực hiện tìm kiếm theo chùm (beam search) tương tự như công việc của Tillmann và Och, bắt đầu bằng việc định nghĩa các khái niệm cơ bản về lựa chọn dịch Bài viết mô tả cơ chế hoạt động của beam search, các thành phần cần thiết và các ước lượng giá trị tương lai, cùng với khái niệm về danh sách n-best Cuối cùng, bài viết đề cập đến chu kỳ phát triển của hệ thống dịch thống kê.
Chu kì để xây dựng hệ thống dịch máy thống kê nhƣ sau:
Để xây dựng mô hình ngôn ngữ hiệu quả, việc thu thập ngữ liệu là rất quan trọng Chúng ta cần thu thập các văn bản đơn ngữ và song ngữ để phục vụ cho quá trình rút trích và xử lý tài nguyên, nhằm đảm bảo huấn luyện đạt được kết quả tốt nhất.
- Tiền xử lý dữ liệu
Hiện tượng ngôn ngữ tự nhiên rất phức tạp, gây khó khăn cho việc xử lý ngay cả với các phương pháp thống kê tiên tiến Để tối ưu hóa việc sử dụng các phương pháp này, cần chú trọng vào bước tiền xử lý, bao gồm việc loại bỏ các ký hiệu không phải văn bản và đưa các từ về dạng gốc của chúng.
MÔ HÌNH DỊCH MÁY DỰA TRÊN CỤM TỪ KHÔNG LIÊN TỤC
Mô hình dịch máy
Mô hình dịch có 3 hướng tiếp cận chính:
- Mô hình dịch dựa trên từ (word-based)
- Mô hình dịch dựa trên cụm từ (phrase-based)
- Mô hình dịch dựa trên cú pháp (syntax-based)
Cả 3 hướng tiếp cận trên đều dựa trên một tư tưởng Đó là sự tương ứng giữa hai câu (alignment) a) Dịch máy thống kê dựa vào từ
Mô hình dịch dựa trên từ, được phát triển bởi IBM, là thế hệ đầu tiên của mô hình dịch máy thống kê Mô hình này hoạt động dựa trên sự tương ứng một-một giữa các từ trong hai ngôn ngữ Cụ thể, trong một câu nguồn e1e2 en, mỗi từ f j trong câu đích f1f2 fm chỉ tương ứng với một từ duy nhất trong câu nguồn hoặc không tương ứng với từ nào Sự tương ứng này có thể được biểu diễn bằng một dãy số {a 1 , a 2 , , am}, trong đó aj là chỉ số của từ trong ngôn ngữ nguồn tương ứng với từ fj trong ngôn ngữ đích Theo mô hình IBM thứ nhất, xác suất P(f|e) có thể được tính toán theo một công thức cụ thể.
Mô hình dịch IBM đầu tiên có chất lượng dịch không cao, nhưng các mô hình IBM sau này đã cải tiến công thức và tính toán xác suất P(f|e) tốt hơn Tuy nhiên, do phương pháp tương ứng từ một cách hạn chế, các mô hình dịch dựa trên từ, bao gồm mô hình IBM, đã trở nên kém phổ biến Hiện nay, các mô hình dịch theo hướng cụm từ đang được sử dụng rộng rãi và ngày càng trở nên phổ biến hơn.
Hình 0.1: Minh họa dịch máy thống kê dựa vào cụm từ
Trong dịch dựa trên cụm, một chuỗi từ liên tiếp được dịch sang ngôn ngữ đích, với độ dài cụm có thể khác nhau Phương pháp này bao gồm việc chia câu thành các cụm, dịch từng cụm sang ngôn ngữ đích, sau đó đảo trật tự các cụm và ghép chúng lại để tạo thành câu dịch hoàn chỉnh Kết quả cuối cùng là câu dịch trong ngôn ngữ đích.
Để tối ưu hóa bản dịch từ ngôn ngữ nguồn f sang ngôn ngữ đích e, chúng ta cần tối đa hóa xác suất Pr(f|e) nhằm tìm ra bản dịch tốt nhất Với thực tế là có nhiều bản dịch đúng cho cùng một câu, mục tiêu của chúng ta là xác định câu ngôn ngữ e phù hợp nhất dựa trên câu ngôn ngữ nguồn f Việc dịch thuật có thể được thực hiện bằng cách áp dụng mô hình kênh nhiễu và công thức Bayes.
Để tối đa hóa P(f\e)P(e), cần tìm câu e khi P(f) không đổi đối với e Mô hình ngôn ngữ yêu cầu một ngữ liệu đơn ngữ lớn, trong khi mô hình dịch cần ngữ liệu song ngữ chất lượng Bộ giải mã được sử dụng để phân tách câu nguồn thành các cụm và tạo ra các khả năng dịch.
That songwriter wrote many romanti songs
Nhạc sĩ đó đã viết nhiều bài hát lãng mạn Để sinh ra đƣợc câu dịch, câu nguồn đƣợc chia thành I cụm liên tiếp f 1
I Chúng ta giả sử rằng phân phối xác suất là nhƣ nhau đối với các cụm này Mỗi cụm f i trong f 1
Trong quá trình dịch, các cụm từ trong ngôn ngữ nguồn được chuyển đổi thành các cụm tương ứng trong ngôn ngữ đích Các cụm trong ngôn ngữ đích có thể được sắp xếp lại theo nhiều cách khác nhau Quá trình này được mô hình hóa thông qua phân phối xác suất (f i | e i).
Việc đảo vị trí các cụm đầu ra trong mô hình được xác định bởi phân phối xác suất d(a i b i 1), trong đó a i là vị trí bắt đầu của cụm trong câu nguồn và b i-1 là vị trí kết thúc của cụm đã dịch Chúng ta áp dụng một mô hình đảo cụm đơn giản với tham số α phù hợp Để xác định độ dài tối ưu cho câu dịch, chúng ta bổ sung thừa số ω, được tối ưu hóa trong quá trình tìm kiếm câu dịch tốt nhất Khi thừa số này lớn hơn 1, độ dài của câu trong ngôn ngữ đích sẽ tăng lên.
Nói tóm lại, câu dịch tốt nhất e best đƣợc sinh ra từ câu nguồn theo là: Ở đây P(f|e) đƣợc phân tích thành: c) Dịch máy thống kê dựa trên cú pháp
Cả 2 mô hình dịch dựa trên từ và cụm từ đều chỉ quan tâm đến sự tương ứng và ngữ nghĩa của từng từ trong câu ngôn ngữ nguồn và đích mà không quan tâm tới ngữ pháp, hình thái của cả hai câu Mô hình dịch dựa trên cú pháp không chỉ quan tâm tới ngữ nghĩa của từng từ mà còn chú trọng tới cú pháp của câu
Mô hình dịch này bắt đầu bằng việc phân tích câu ngôn ngữ nguồn thành cây cú pháp Cây cú pháp sau đó được sắp xếp lại để phù hợp với cú pháp của ngôn ngữ đích Tiếp theo, một số từ mới có thể được chèn vào cây để tăng tính chính xác với ngữ pháp của ngôn ngữ đích Cuối cùng, các từ trong cây cú pháp của câu ngôn ngữ nguồn sẽ được dịch sang ngôn ngữ đích, từ đó tạo ra câu ngôn ngữ đích hoàn chỉnh.
Cụm từ không liên tục
Mô hình dịch máy dựa trên cụm từ đã khắc phục những nhược điểm của các hệ thống dịch máy truyền thống bằng cách sử dụng ngữ cảnh để lựa chọn bản dịch phù hợp cho các từ có nhiều nghĩa Thay vì dịch từng từ đơn lẻ, mô hình này cho phép dịch các cụm từ, giúp cải thiện độ chính xác và tính tự nhiên của bản dịch Các cụm từ sau đó có thể được sắp xếp lại để tạo thành câu hoàn chỉnh, mang lại kết quả dịch tốt hơn.
Các cụm từ dài hơn thường mang lại kết quả dịch tốt hơn Trong câu, các cụm từ liên quan thường xuất hiện cùng nhau, trong khi khi tách riêng chúng lại trở nên ngắn hơn Các hệ thống dịch thông thường có xu hướng tách biệt các cụm từ và tìm kiếm bản dịch riêng lẻ thay vì dịch chúng đồng thời.
Mô hình dịch máy dựa trên cụm từ không liên tục
Một giải pháp hiệu quả cho vấn đề dịch thuật là sử dụng các cụm từ không liên tục thay vì chỉ các cụm từ liên tục Điều này cho phép linh hoạt hơn trong việc kết hợp các cặp cụm câu, khai thác ngữ cảnh đa dạng trong câu, từ đó nâng cao chất lượng bản dịch Bộ giải mã của chúng tôi cung cấp hai phần mở rộng so với hệ thống Moses.
- Xử lý với những khoảng trống ở các cụm từ không liên tục trong dữ liệu dịch đƣa vào
Để cho phép các cụm từ không liên tục trong bản dịch, cần ghi lại các bản dịch đơn lẻ dưới dạng tập hợp các cụm nhỏ Những cụm này có thể được kết nối lại trong các bản dịch cuối cùng ở giai đoạn sau của quá trình giải mã.
Trong phần này, chúng tôi sẽ trình bày phương pháp để trích xuất các cụm từ không liên tục từ các hệ thống dịch máy dựa trên cụm từ Các cụm từ thường được định nghĩa và mô tả một cách cụ thể để phục vụ cho quá trình dịch thuật hiệu quả.
- Câu mục tiêu e với M từ: e = (e 1, , e M)
Khác với cách thông thường, các cụm từ ở đây không liên tục mà được hình dung như một tập hợp các cụm từ liên tục Giả sử các cặp câu (f, e) được phân tích thành K cụm từ không liên tục, chúng tôi sử dụng s = (s , s) và t = (t , t) để đại diện cho việc phân tách các cụm từ của câu nguồn và câu mục tiêu vào K tập con, đảm bảo tính bổ sung và không bị trùng lặp.
Với các cụm từ liên tục, quá trình tìm kiếm tất cả các cụm từ liên kết sẽ được thực hiện trong thời gian O(nm³).
- n là độ dài của câu
- m là độ dài cụm từ tối đa
Các cụm từ liên kết được tìm thấy là lũy thừa của độ dài tối đa, đòi hỏi cụm từ khai thác phải phù hợp khi giá trị m tương đối lớn Để giải quyết vấn đề này, có thể áp dụng kỹ thuật chính xuất cụm từ phân cấp (Chiang, 2007), tuy nhiên phương pháp này có độ phức tạp tính toán cao Lopez (2007) đã đề xuất một giải pháp hiệu quả hơn bằng cách sử dụng mảng hậu tố để tìm kiếm tất cả các cụm từ liên quan, cho phép bộ giải mã không cần các ràng buộc phân cấp và khai thác tất cả các cặp cụm từ không liên tục phù hợp với sự liên kết từ.
Giống như mô hình Moses được nêu trong nghiên cứu của Koehn và các cộng sự, bộ giải mã của hệ thống dựa trên cụm từ không liên tục bao gồm nhiều ngăn xếp, sẵn sàng chuyển đổi dữ liệu từ tập nguồn sang tập đích Trong mô hình Moses, quá trình dịch được thực hiện từng phần và tổ chức thành các đống (cây phân cấp) Tại mỗi bước dịch, các ngăn xếp được phân chia để xử lý các phần, đồng thời ước lượng các công việc còn lại trong tương lai.
Sự khác biệt chính giữa Moses và hệ thống dịch dựa trên cụm từ không liên tục là cách xử lý các cụm từ có khoảng trống Trong khi Moses chỉ sử dụng tiền tố dịch và độ bao phủ, hệ thống của chúng tôi thêm vào một giả thuyết dịch từng phần qua nhiều bước Mỗi giả thuyết không chỉ là tiền tố mà còn chứa các cụm từ rời rạc, cho phép chúng được đưa vào dịch vào thời điểm khác Ví dụ, cụm từ đôi "nếu thì" được thêm vào bản dịch một phần, và các giả thuyết được nối ngay lập tức để tạo thành một kết quả thống nhất, với các cụm từ có thể được phân tách và lưu trữ cho các thuật toán tiếp theo.
Hình 0.2: Dịch máy dựa trên cụm từ không liên tục c) Đặc trưng
Phương pháp này chứa các đặc trưng cơ bản của Moses
- Tự động xây dựng mô hình dịch dựa trên cặp ngôn ngữ huấn luyện
- Dựa trên cụm từ sử dụng phương pháp thống kê
- Có khả năng sắp xếp lại
Cách xử lý các cụm từ không liên tục trong mô hình Moses yêu cầu chúng ta phải xem xét các subphrases liên tục như những cụm từ độc lập Đối với những khoảng trống dài trong các cụm từ không liên tục, việc xử lý trở nên phức tạp hơn Chúng ta định nghĩa S = (s1, , SL) là danh sách các subphrases liên tục, trong đó L là số lượng tối đa subphrases được chọn từ cụm từ nguồn K (với L ≥ K) Các subphrases trong S được sắp xếp theo thứ tự trong ngôn ngữ đích, có thể khác với ngôn ngữ nguồn Tiếp theo, chúng ta tính toán sự biến dạng tuyến tính giữa các cặp phần tử liên tiếp (Si, Si + 1) để đảm bảo tính chính xác trong quá trình dịch.
Phương pháp này bổ sung hai tính năng mới mà Moses không có Đầu tiên, chúng tôi xử lý các cụm từ không liên tục bằng cách tính tổng độ dài các khoảng trống mục tiêu Thứ hai, số lượng các cụm từ không liên tục được thể hiện trong cấu hình, điều này không được hệ thống phân cấp xử lý Những tính năng này mang lại nhiều lợi thế đáng kể.
Hệ thống phân cấp giúp ngăn chặn việc tái sắp xếp không chính xác quá nhiều lần, đồng thời đảm bảo rằng các bản dịch đạt chất lượng cao.
Các bộ giải mã hoàn toàn miễn phí giúp hạn chế những lỗi không chính xác, đặc biệt khi những lỗi này phát sinh từ các tính năng khác.
Trong chương này, chúng tôi đã giới thiệu mô hình dịch máy và phân loại các loại mô hình hiện có Đồng thời, chúng tôi cũng đã trình bày cách tiếp cận và đi sâu vào mô hình dịch máy dựa trên cụm từ không liên tục.
ÁP DỤNG MÔ HÌNH DỊCH MÁY DỰA TRÊN CỤM TỪ KHÔNG LIÊN TỤC CHO CẶP NGÔN NGỮ ANH-VIỆT
Tổng quan
Chúng tôi đã thực hiện 12 thử nghiệm cho cặp ngôn ngữ Anh-Việt để đưa ra so sánh chính xác Mỗi chiều dịch bao gồm 6 thử nghiệm, trong đó có 3 thử nghiệm sử dụng công cụ Phrasal và 3 thử nghiệm với công cụ Moses để so sánh hiệu quả dịch thuật.
Với mỗi 3 thử nghiệm nói trên, chúng tôi lần lƣợt thay đổi tập dữ liệu sử dụng để xây dựng mô hình ngôn ngữ nhƣ sau:
- Thử nghiệm 1: Sử dụng tập dữ liệu đơn ngữ từ tập huấn luyện
- Thử nghiệm 2: Bổ sung thêm dữ liệu song ngữ (lấy ngôn ngữ giống ngôn ngữ của tập dữ liệu đơn ngữ) và hợp vào cùng nhau
- Thử nghiệm 3: Tiếp tục mở rộng tập dữ liệu với 1GB dữ liệu đã thu thập nêu ở trên.
Chuẩn bị dữ liệu
The experimental data utilized in this study was sourced from the IWSLT 2015 (International Workshop on Spoken Language Translation), which provides datasets for training, testing, and development Upon acquisition, the datasets from IWSLT 2015 were in XML format, necessitating conversion into either parallel data or monolingual data for effective use.
Để mở rộng mô hình ngôn ngữ, chúng tôi đã thu thập thêm dữ liệu đơn ngữ tiếng Việt từ các báo điện tử lớn như vnexpress.net, dantri.com, 24h.com.vn và eva.vn Chúng tôi đã phát triển một ứng dụng Crawl dữ liệu web bằng ngôn ngữ Java, sử dụng thư viện Jsoup, một công cụ hữu ích cho việc làm việc với HTML trên Internet Jsoup cung cấp các API thuận tiện cho việc trích xuất và thao tác dữ liệu, ứng dụng các kỹ thuật công nghệ như DOM, CSS và jQuery Thông tin cấu hình của ứng dụng Crawl dữ liệu được trình bày chi tiết tại phụ lục 2.
Jsoup tuân thủ các tiêu chuẩn của kỹ thuật WHATWG HTML5 và phân tích cú pháp HTML DOM tương tự như các trình duyệt phổ biến Các tính năng nổi bật của Jsoup bao gồm khả năng xử lý HTML linh hoạt và hiệu quả.
- Phân tích cú pháp HTML từ một URL, file, hoặc chuỗi
- Tìm và trích xuất dữ liệu, sử dụng theo cây DOM hoặc CSS Selectors
- Thao tác các phần tử HTML, thuộc tính, và văn bản
Jsoup được phát triển để xử lý hiệu quả các dữ liệu HTML, giúp người dùng dễ dàng làm việc với chúng Công cụ này có khả năng tự động sửa lỗi trên các thẻ HTML và tạo ra cây phân tích chính xác, hỗ trợ tối đa trong việc xử lý nội dung web.
- Bước 1: Đọc dữ liệu cấu hình Các URL đã đọc
- Bước 2: Lần lượt lấy dữ liệu từ các URL thu thập được Đồng thời thu thập URL mới
- Bước 3: Tiền xử lý dữ liệu đọc được (cắt câu, kiểm tra trùng lặp…)
Bước 4: Sau khi ghi ra file, chúng tôi sẽ tiếp tục lặp lại từ bước 2 Ứng dụng đã thu thập đủ 1GB dữ liệu đơn ngữ tiếng Việt và tương tự, chúng tôi cũng đã lấy 1GB dữ liệu đơn ngữ tiếng Anh từ WMT2015 Những dữ liệu này sẽ được sử dụng để xây dựng mô hình ngôn ngữ cho cả tiếng Anh và tiếng Việt.
Tập dữ liệu huấn luyện thu được như hình bên dưới
Huấn luyện Câu 122.132 Độ dài trung bình 15.93 15.58
Phát triển Câu 745 Độ dài trung bình 16.61 15.97
Kiểm thử Câu 1046 Độ dài trung bình 16.25 16.13
Bảng 0-1: Tóm tắt bộ dữ liệu huấn luyện
Sau khi xử lý tách từ, chúng tôi sử dụng thư viện tokenizer.perl từ trang web http://www.statmt.org/ cho các tập dữ liệu tiếng Anh Đối với dữ liệu tiếng Việt, chúng tôi áp dụng công cụ VnTokenizer do TS Lê phát triển để thực hiện việc tách từ.
Chúng tôi tiếp tục có một vài thao tác tiền xử lý khác đó là:
- Tách câu, đảm bảo mỗi câu nằm trên 1 dòng
- Lọc bỏ các ký tự bẩn trong câu
- Lọc bỏ các câu có độ dài lớn hơn 300
Chất lượng bản dịch trong dịch thống kê phụ thuộc nhiều vào chất lượng bảng dịch cụm từ Để xây dựng bảng này, chúng ta cần tạo gióng hàng từ giữa các cặp câu trong ngữ liệu song ngữ và trích xuất các cặp cụm từ phù hợp Những cặp cụm từ này sẽ được lưu giữ trong bảng cùng với xác suất tương ứng Trong nghiên cứu này, chúng tôi sử dụng công cụ gióng hàng Berkeley Aligner, một ứng dụng Java không giám sát dành cho dịch máy thống kê, được phát triển dựa trên các ý tưởng từ các nghiên cứu trước đó của Percy Liang, Ben Taskar, Dan Klein và John DeNero, Dan Klein.
Công cụ cho việc thử nghiệm, đánh giá
- Các thử nghiệm đều đƣợc thực hiện trên hệ điều hành CentOS 6.4 64bit với cấu hình RAM 12GB với 4 CPU, Ổ cứng trống 20GB
Xây dựng mô hình ngôn ngữ:
Chúng tôi đã xây dựng mô hình ngôn ngữ với 4-gram sử dụng công cụ
KenLM là một công cụ mạnh mẽ dùng để ước lượng, lọc và truy vấn mô hình ngôn ngữ Với khả năng ước lượng nhanh chóng và khả năng mở rộng linh hoạt, KenLM trở thành lựa chọn hàng đầu cho các ứng dụng xử lý ngôn ngữ tự nhiên.
Kenneth Heafield, Ivan Pouzyrevsky, Jonathan H Clark, và Philipp Koehn ACL, Sofia, Bulgaria, 2013
Một ƣu điểm nữa của KenLM đó là khả năng truy vấn nhanh với bộ nhớ thấp, nhƣ thể hiện trong bài báo của Kenneth Heafield [7]
Một vài tính năng, ƣu điểm của KenLM:
- Nhanh hơn và bộ nhớ thấp hơn SRILM và IRSTLM
- Định dạng nhị phân với mmap Hoặc tải các tập tin trực tiếp ARPA
- Nếu bạn có các thƣ viện thích hợp cài đặt, nó cũng có thể đọc văn bản và các tập tin nén với gzip, ARPA, bzip2, hoặc xz
- Truy vấn có phụ thuộc: một trình biên dịch C ++ và hệ thống gọi POSIX Lọc và dự toán là đa luồng, vì vậy họ phụ thuộc vào Boost
Xử lý lỗi kỹ lưỡng là rất quan trọng trong phân tích cú pháp ARPA, bao gồm việc xác định các tin nhắn, chuỗi có vấn đề, byte offset và tên file So với IRSTLM, phương pháp này giúp nâng cao độ chính xác và hiệu quả trong việc phát hiện và xử lý lỗi.
- Hiển thị tiến trình xử lý
- Truy vấn hỗ trợ n-gram chứa thẻ ; những xuất hiện trong các mô hình đƣợc xây dựng với vốn từ vựng hạn chế
- Giấy phép cho phép có nghĩa là bạn có thể phân phối nó không giống nhƣ SRILM Không phải khai báo gì cả để có thể tải về
Lời gọi nhƣ sau: lmplz -o 4 < train.en-vi.vi.tok train.en-vi.vi.tok > 4gm.arpa
Nhƣ lời gọi có thể thấy mô hình ngôn ngữ đƣợc chạy với 4 gram
Xây dựng mô hình dịch với công cụ Moses
Moses là một hệ thống dịch máy thống kê, cho phép người dùng tự động huấn luyện mô hình dịch cho bất kỳ cặp ngôn ngữ nào Hệ thống này được mô tả chi tiết trong bài báo của Koehn, P., và các tác giả khác.
Xây dựng mô hình dịch với công cụ Phrasal
Phrasal là một hệ thống dịch mã nguồn mở được phát triển bằng Java, chuyên cho dịch máy dựa trên cụm từ và có khả năng xử lý các cụm từ không liên tục Thông tin chi tiết về Phrasal được trình bày trong bài báo của các tác giả Cer, D., Galley, M., Jurafsky, D., và Manning, C D Cấu hình công cụ Phrasal có thể được tìm thấy trong phụ lục 3.
Trong quá trình thử nghiệm, chúng tôi đã sử dụng tập dữ liệu phát triển để điều chỉnh sai số trong dịch thuật Kết quả được đánh giá thông qua chỉ số BLEU, cho thấy mức độ hiệu quả của các thử nghiệm Đối với chiều dịch Anh-Việt, chúng tôi đạt được những kết quả đáng chú ý.
Hệ thống dịch Mô tả BLEU
Sử dụng dữ liệu đơn ngữ trong tập dữ liệu huấn luyện để xây dựng mô hình ngôn ngữ 31.13
Mở rộng mô hình ngôn ngữ bằng việc kết hợp dữ liệu đơn ngữ và dữ liệu song ngữ trong tập dữ liệu huấn luyện 31.41
Tiếp tục mở rộng dữ liệu huấn luyện với 1GB dữ liệu đơn ngữ thu thập 31.56
Sử dụng dữ liệu đơn ngữ trong tập dữ liệu huấn luyện để xây dựng mô
Mở rộng mô hình ngôn ngữ bằng việc kết hợp dữ liệu đơn ngữ và dữ liệu song ngữ trong tập dữ liệu huấn luyện 30.09
Tiếp tục mở rộng dữ liệu huấn luyện với 1GB dữ liệu đơn ngữ thu thập 28.76
Bảng 0-2: Các thử nghiệm theo chiều dịch Anh-Việt
Trong thử nghiệm đầu tiên, công cụ Moses cho kết quả tốt hơn nhờ vào mô hình ngôn ngữ hạn chế Tuy nhiên, sau khi thay đổi tập dữ liệu đơn ngữ để cải thiện mô hình ngôn ngữ trong các thử nghiệm thứ hai và thứ ba, công cụ Phrasal đã cho kết quả vượt trội hơn.
Trong việc dịch từ tiếng Anh sang tiếng Việt, công cụ Phrasal cho thấy hiệu quả vượt trội so với công cụ Moses khi mô hình ngôn ngữ được mở rộng Đối với chiều dịch từ tiếng Việt sang tiếng Anh, kết quả cũng đáng chú ý.
Hệ thống dịch Mô tả BLEU
Sử dụng dữ liệu đơn ngữ trong tập dữ liệu huấn luyện để xây dựng mô hình ngôn ngữ 23.53
Mở rộng mô hình ngôn ngữ bằng việc kết hợp dữ liệu đơn ngữ và dữ liệu song ngữ trong tập dữ liệu huấn luyện 27.21
Tiếp tục mở rộng dữ liệu huấn luyện với 1GB dữ liệu đơn ngữ thu thập 27.02
Sử dụng dữ liệu đơn ngữ trong tập dữ liệu huấn luyện để xây dựng mô hình ngôn ngữ
Mở rộng mô hình ngôn ngữ bằng việc kết hợp dữ liệu đơn ngữ và dữ liệu song ngữ trong tập dữ liệu huấn luyện 26.23
Tiếp tục mở rộng dữ liệu huấn luyện với 1GB dữ liệu đơn ngữ thu thập 26.3
Bảng 0-3: Các thử nghiệm theo chiều dịch Việt-Anh
Các thử nghiệm theo chiều dịch Việt-Anh sử dụng công cụ Phrasal đều cho thấy kết quả tốt hơn so với sử dụng công cụ Moses
Một vài bản dịch đem lại kết quả tốt với Phrasal
STT Bản gốc Bản dịch
Intelligence is a powerful force, denoted as F, that operates to enhance future freedom of action This statement emphasizes the relationship between intelligence and its capacity to maximize opportunities for action in the future.
2 To find out , we developed a software engine called
Entropica is a cutting-edge software engine developed to optimize the long-term production of entropy within any system it encounters This innovative tool is designed to enhance the efficiency and effectiveness of entropy generation, making it a valuable asset for various applications.
Just as a human can stand upright without falling, the system automatically balances a pole using a golf cart.
4 This behavior is remarkable in part because we never gave
Entropica a goal hành_vi này là một điều đáng chú_ý ở phần bởi_vì chúng_ta không_bao_giờ đƣa entropica một mục_tiêu
5 It simply decided on its own to balance the pole nó đơn_giản tự quyết_định để cân_bằng các cực
6 This tool use ability will have applications for smart manufacturing and agriculture công_cụ này sử_dụng khả_năng sẽ có ứng_dụng cho sản_xuất và thông_minh
The cooperative ability holds significant implications for economic planning and various other fields.
The demonstration of successfully playing a game of Pong against itself showcases its impressive potential in the gaming realm.
Entropica is effectively creating new connections on a social network, ensuring that individuals who are out of touch are successfully reconnected and that the network remains well-connected.
The network orchestration capability is applicable in various fields, including healthcare, energy, and intelligence.
Trong chương này, chúng tôi đã trình bày chi tiết việc áp dụng mô hình học máy dựa trên cụm từ không liên tục cho bài toán dịch máy Chúng tôi cũng đã mô tả quy trình chuẩn bị dữ liệu, thực hiện các thử nghiệm và đánh giá kết quả khi sử dụng đồng thời công cụ Moses và Phrasal Cuối cùng, chúng tôi đã đề xuất hướng nghiên cứu tiếp theo cho đề tài.