Ngữ liệu song ngữ đóng một vai trò rất quan trọng trong nhiều ứng dụng về xử lý ngôn ngữ tự nhiên, đặc biệt là trong các ứng dụng về dịch máy. Có nhiều phương pháp khác nhau để xây dựng ngữ liệu song ngữ, đa ngữ. Trong bài viết này, chúng tôi đề xuất phương pháp thu thập, xác thực và tiền xử lý một tập lớn các câu song ngữ Anh - Việt từ các nguồn tài nguyên trên internet.
Trang 1MỘT PHƯƠNG PHÁP XÂY DỰNG NGỮ LIỆU SONG NGỮ ANH-VIỆT
TỪ NGUỒN TÀI NGUYÊN INTERNET Dương Minh Hùng 1 , Lê Mạnh Thạnh 2 , Lê Trung Hiếu 3
dmhung1980@gmail.com, lmthanh1953@yahoo.com, hieukien82@gmail.com
TÓM TẮT: Ngữ liệu song ngữ đóng một vai trò rất quan trọng trong nhiều ứng dụng về xử lý ngôn ngữ tự nhiên, đặc biệt là trong
các ứng dụng về dịch máy Có nhiều phương pháp khác nhau để xây dựng ngữ liệu song ngữ, đa ngữ Trong bài báo này, chúng tôi
đề xuất phương pháp thu thập, xác thực và tiền xử lý một tập lớn các câu song ngữ Anh - Việt từ các nguồn tài nguyên trên internet
Ngoài ra, chúng tôi sử dụng các bộ lọc chiều dài câu, bộ lọc bao phủ từ và bộ phân lớp Entropy cực đại để rút trích các cặp câu
thực sự song song
Từ khóa: Ngữ liệu song ngữ, Entropy cực đại
I GIỚI THIỆU
Ngữ liệu đa ngữ nói chung và song ngữ nói riêng đóng một vai trò rất quan trọng đối với lĩnh vực xử lý ngôn
ngữ tự nhiên đặc biệt là trong lĩnh vực dịch máy (Machine Translation - MT) nói chung và dịch máy thống kê, dịch
máy mạng neural nói riêng Độ chính xác của hệ thống dịch máy phụ thuộc rất lớn vào chất lượng của ngữ liệu song
ngữ Vì vậy, có rất công trình khoa học nghiên cứu các phương pháp nhằm tạo ra các kho ngữ liệu song ngữ có chất
lượng tốt làm tài nguyên để phát triển các hệ thống dịch tự động Trên thế giới, người ta đã xây dựng được khá nhiều
các kho ngữ liệu song ngữ lớn, chẳng hạn kho ngữ liệu song ngữ HKUST và PKU863 của cặp Anh - Hoa, kho ngữ liệu
Europarl được trích từ văn bản Nghị Viện Châu Âu và văn bản chính phủ của một số nước, kho ngữ liệu song ngữ
JENAAD cho cặp ngôn ngữ Anh - Nhật,… Đối với tiếng Việt, số lượng các bộ ngữ liệu chưa được quan tâm nghiên
cứu nhiều Hiện chỉ có nhóm nghiên cứu Đinh Điền [5] và nhóm VLSP (Vietnamese Language and Speech
Processing)1 công bố một số công trình liên quan
Việc xây dựng các bộ dữ liệu song ngữ lớn và có chất lượng tốt là rất bức thiết Tuy nhiên, xây dựng bằng
phương pháp thủ công sẽ rất tốn thời gian và công sức, có thể nói là không khả thi Trong khi đó, trên Internet có rất
nhiều nguồn tài liệu song ngữ có sẵn, như là các trang báo trực tuyến song ngữ, các trang thông tin điện tử, các bộ
phim đã dịch phụ đề… Đây chính là những nguồn tài nguyên chứa dữ liệu về ngôn ngữ phong phú có thể khai thác để
tạo ra các khối ngữ liệu song ngữ lớn và có chất lượng tốt
Trong bài báo này, chúng tôi chỉ tập trung trình bày phương pháp rút trích câu song song từ ngữ liệu song song
(parallel corpus) và ngữ liệu chưa thực sự song song (comparable corpus) đã được gióng hàng ở mức độ câu Các vấn
đề về gióng hàng văn bản, gióng hàng câu và các vấn đề liên quan khác chúng tôi không tập trung trình bày
II CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Đối với bài toán rút trích câu song song từ nguồn ngữ liệu song song, một số công trình có cách tiếp cận dựa
vào đặc trưng độ dài câu (Gale và Church [7], Brown và các đồng sự [2]) Lợi điểm của cách tiếp cận này là đơn giản,
tốc độ thực thi nhanh và có thể áp dụng cho văn bản ngắn với độ chính xác cao Tuy nhiên, cách tiếp cận dựa vào độ
dài câu này chỉ tỏ ra hữu hiệu đối với các cặp ngôn ngữ cùng họ như Anh - Pháp, nhưng lại kém chính xác đối với
những cặp ngôn ngữ khác họ
Haruno và Yamazaki [8] đề xuất một phương pháp rút trích các cặp câu song song cho cặp ngôn ngữ Anh -
Nhật bằng cách kết hợp giữa cách tiếp cận dựa trên chiều dài với cách tiếp cận dựa trên từ vựng Phương pháp kết hợp
này cho kết quả tốt hơn so với phương pháp tiếp cận đơn lẻ Tác giả Wu [11] cũng sử dụng phương pháp kết hợp tương
tự để rút trích câu song song Anh - Hoa với độ chính xác trên 90%
Đối với các nguồn ngữ liệu chưa thực sự song song, Fung và Cheung [6] hay Tillmann và Xu [10] sử dụng một
bộ dữ liệu gồm các câu song song để huấn luyện mô hình gióng hàng từ Thông qua kết quả gióng hàng từ này, mức độ
tương đồng của hai câu sẽ được tính Ngoài ra, bộ phân lớp câu song song dựa trên mô hình Entropy cực đại kết hợp
đặc trưng liên kết gióng hàng từ được Munteanu và Marcu [9] thử nghiệm đạt độ chính xác cao đối với cặp ngôn ngữ
Anh - Ả Rập Bộ phân lớp này khá phù hợp với cặp ngôn ngữ khác họ nên chúng tôi áp dụng áp dụng bộ phân lớp này
cho cặp ngôn ngữ Anh - Việt
1 https://vlsp.hpda.vn
Trang 2Các công trình liên quan đến tiếng Việt, tác giả Đặng Bác Văn và Hồ Bảo Quốc [3] đã công bố một hệ thống có thể tự động tải về các trang web từ một tên miền cho sẵn, sau đó xác định các cặp trang web song ngữ Anh - Việt Các cặp câu song song được rút trích dựa vào độ đo sự tương tự thông qua một từ điển song ngữ Nhóm tác giả Do Thi Ngoc Diep và đồng sự [4] cũng có công trình khai thác câu song song từ các trang web để phục vụ cho hệ thống dịch máy Pháp - Việt
III CƠ SỞ LÝ THUYẾT
A Mô hình Entropy cực đại trong phấp lớp câu song song
Mô hình xác suất Entropy cực đại (Maximum Entropy) cung cấp một cách đơn giản để kết hợp các đặc trưng
của tài liệu trong những ngữ cảnh khác nhau để ước lượng xác suất của một số lớp xuất hiện cùng với một số ngữ cảnh này Tư tưởng cơ bản của mô hình Entropy cực đại là tìm ra một mô hình có phân phối xác suất thỏa mãn mọi ràng buộc quan sát được từ dữ liệu mà không đưa thêm bất kì một giả thiết nào khác Phân bố được chọn chính là phân bố
làm cực đại hóa độ hỗn loạn thông tin (entropy) trong một tập các thực thể mà mỗi thực thể được gán nhãn [1] và được
tính theo công thức:
thì độ hỗn loạn thông tin của tập các phần tử đó là nhỏ nhất Ngược lại, nếu trong một tập có quá nhiều các phần tử thuộc các lớp khác nhau (không đồng nhất), thì độ hỗn loạn thông tin của tập các phần tử đó sẽ là lớn nhất
Trong bài toán phân lớp câu song song, ta cần xây dựng một tập huấn luyện *( ) (( )+, với ( ) là tập các thông tin ngữ cảnh đã được gán nhãn tương ứng với các lớp ( ) Ở đây ( ) {0,1} (0: không song song, 1: thực sự song song) [21] Các cặp câu được gán nhãn song song và không song song sẽ được cho trước Mô hình Entropy cực đại sẽ giúp ước lượng các tham số dựa vào dữ liệu huấn luyện này để cho ra một mô hình các tham số cho mô hình xác suất dùng để tính xác suất mỗi cặp câu đầu vào rằng khả năng nó thuộc lớp song song là bao nhiêu [21]
Phân phối xác xuất trên từng cặp ( ) được tính theo công thức sau:
̃( ) ( trong đó A là số lần xuất hiện của ( ) trong tập dữ liệu huấn luyện) (3.2)
Các thông tin được dùng làm căn cứ cho việc phân lớp được biểu diễn dưới
dạng hàm số gọi là vị từ ngữ cảnh (context predicate) ký hiệu cp(x) Hàm này là một ánh xạ cặp (x,y) thành giá trị trong tập (true,false) Hàm này có dạng: cp(x): X→ {true,false)
B Bộ lọc chiều dài câu và bộ lọc bao phủ từ
Bộ lọc chiều dài câu dựa trên ý tưởng là “câu dài sẽ được dịch thành câu dài và ngược lại” Bộ lọc này được
xây dựng dựa vào tỉ lệ độ dài câu được tính theo công thức ( ) ( ) (3.3)
Trong đó l(v), l(e) lần lượt là số lượng “từ” trong câu tiếng Việt v và câu tiếng Anh e
Ví dụ:
Chúng ta xét cặp câu sau:
Câu tiếng Việt: Quy_mô và tốc_độ của hệ_thống này thực sự rất là kinh_hoàng
Câu tiếng Anh: The scale and the speed of this system is truly breathtaking
Khi đó
Bộ lọc bao phủ từ kí hiệu là TR(e,v) là tỉ lệ số từ tiếng Anh trong câu e có bản dịch tiếng Việt trong câu v Các
từ trong câu tiếng Anh được chuyển về dạng chuẩn Sau đó, các từ này được lấy nghĩa tiếng Việt thông qua một từ điển Anh - Việt Như vậy, tương ứng với mỗi từ tiếng Anh, ta có thể có được một danh sách các bản dịch tiếng Việt của nó Tiếp theo, phần trăm các từ trong câu tiếng Anh có bản dịch trong câu tiếng Việt sẽ được tính dựa vào các bản dịch tiếng Việt này
Việc xác định ngưỡng và TR(e,v) phụ thuộc rất lớn vào dữ liệu huấn luyện
C Độ chính xác, độ bao phủ và độ cân bằng
Trong hệ thống truy vấn thông tin, để đánh giá kết quả trả về, hai độ đo thường được sử dụng là độ chính xác
(presision) và độ bao phủ (recall)
Trang 3Độ chính xác: được tính bằng tỉ lệ phần trăm giữa số lượng các cặp câu mà bộ phân lớp đã phân lớp chính xác
so với số tổng số lượng các cặp câu mà bộ phân lớp tìm được
( )
Độ phủ: được tính bằng tỉ lệ phần trăm giữa số lượng các cặp câu mà bộ phân lớp đã phân lớp chính xác so với tổng số các cặp câu thực sự là song song và gần song song
( )
Độ đo cân bằng (F_score): Đây được gọi là một trung bình điều hòa (harmonic mean) của Precision và Recall
Nó có xu hướng lấy giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall và đồng thời nó có giá trị lớn nếu cả 2 giá trị Precision và Recall đều lớn Chính vì thế F1-Score thể hiện được một cách khách quan hơn khả năng của
một mô hình học máy
IV PHƯƠNG PHÁP XÂY DỰNG KHO NGỮ LIỆU ANH-VIỆT
A Mô hình tổng thể hệ thống
Hình 1 Mô hình rút trích các cặp câu song song
B Thu thập và tiền xử lý dữ liệu
Chúng tôi sử dụng hai công cụ Html Agility Pack và Selenium để rút trích các cặp câu song ngữ Anh-Việt từ
đọc/viết các đối tượng trong tài liệu HTML (DOM) và hỗ trợ mô tả, lưu trữ dữ liệu bằng XML Path Language (XPATH) hoặc eXtensible Stylesheet Language Transformations (XSLT) HAP cho phép phân tích cú pháp tài liệu HTML từ tập tin, chuỗi được chỉ định, website, trình duyệt và trả về một tài liệu HTML được chọn Bộ chọn (selectors) của HAP cho phép lấy ra danh sách những phần tử HTML được chỉ định bằng XPATH từ tài liệu HTML được chọn Thao tác cơ bản trong HAP là rút trích phần cú pháp HTML hoặc nội dung văn bản mà bạn chỉ định
Cho phép sử dụng những ngôn ngữ lập trình như Java, C#, Python, Net, Ruby, PHP và Perl để tạo ra chương trình tự động hóa Selenium có thể tạo ra những thao tác tương tự người sử dụng trang web như nhấp chuột, xóa, gõ chữ, chọn thành phần HTML… bằng những câu lệnh thông qua XPATH để rút trích nội dung trang web
Html Agility Pack và Selenium đều là những chương trình mạnh mẽ, cung cấp tất cả những công cụ cần thiết để thực hiện việc rút trích nội dung trang web tự động, tùy vào cấu trúc trang web mà hai chương trình này được sử dụng kết hợp nhiều hoặc ít để có được kết quả nhanh và chính xác nhất
Dữ liệu đã được rút trích thu thập từ nhiều nguồn, mỗi nguồn có cấu trúc HTML khác nhau Sau đây là các thao tác đã được sử dụng trong việc rút trích dữ liệu
Bước 1: Xác định trang web có cho phép sử dụng tài nguyên thông qua Đăng nhập tài khoản hay không Nếu có thì
sử dụng Selenium để thực hiện Đăng nhập tự động bằng cách truyền Tên tài khoản và Mật khẩu vào giao diện Đăng nhập
Trang 4
Bước 2: Xác định kho dữ liệu cần thu thập nằm trong danh mục nào
Bước 3: Tìm kiếm đoạn HTML chứa địa chỉ của từng bài viết nằm trong danh mục đó, sử dụng Bộ chọn để lấy được liên kết bài viết và truy cập để xem nội dung cụ thể
Bước 4: Xác định dữ liệu cần rút trích nằm ở đoạn HTML nào trong bài viết và tiến hành rút trích Tùy vào cách thể hiện dữ liệu của từng trang web mà sử dụng những cú pháp riêng biệt để có được dữ liệu Bằng cách thực hiện các thao tác giống như người sử dụng web một cách tự động như là đăng nhập, truy cập vào địa chỉ bài viết, click từng nút lệnh để hiển thị dữ liệu
Kết quả cuối cùng của dữ liệu thu thập được là kho ngữ liệu Anh - Việt đã gióng hàng ở mức câu
Hình 2 Phụ đề phim từ trang studymuvie.net
Hình 3 Nội dung song ngữ Anh - Việt từ ted.com
Hình 4: Dữ liệu sau khi thu thập và xử lý là tập các câu song ngữ Anh - Việt
Trang 5V KẾT QUẢ THỰC NGHIỆM
Chúng tôi thu thập 6716 tài liệu với hơn 5.270.000 cặp câu song ngữ Anh - Việt đã được gióng hàng mức câu
trình này sẽ tạo ra 2 kết quả gióng hàng từ, phần giao của kết quả gióng hàng này sẽ có độ chính xác cao, ngược lại phần hợp của kết quả gióng hàng này sẽ có độ bao phủ cao
Quá trình huấn luyện mô hình phân lớp Entropy cực đại như sau:
- Bước 1: tập dữ liệu huấn luyện là các cặp câu song song và không song song (được đánh dấu thủ công)
- Bước 2: sử dụng công cụ Giza++ để gióng hàng từ giữa các cặp câu song song; sau đó gióng hàng từ giữa các cặp câu không song song
- Bước 3: từ kết quả gióng hàng từ rút ra các đặc trưng cho các cặp câu song song và không song song
- Bước 4: sử dụng các đặc trưng vừa tạo để ước lượng tham số cho mô hình
Quá trình phân lớp câu song song hoặc không song song:
- Bước 1: đầu vào là các cặp câu cần phân lớp song song hay không song song
- Bước 2: sử dụng Giza++ để gióng hàng từ cho các cặp câu đầu vào
- Bước 3: rút trích đặc trưng từ kết quả gióng hàng từ ở bước 2
- Bước 4: sử dụng tập tin mô hình (đã được huấn luyện) để ước lượng và đánh giá các đặc trưng trong bước 3 thuộc vào lớp song song hay không
Chúng tôi thiết lập các thông số của hệ thống như sau: Tỉ lệ độ dài câu , -, tỉ lệ độ bao phủ từ
TR(e,v)
Để huấn luyện bộ phân lớp, chúng tôi sử dụng 4 tập tin chứa các cặp câu song song và không song song Trong
đó những cặp câu nào hoàn toàn song song sẽ được chọn làm ví dụ mẫu về cặp câu song song Ngược lại, những cặp câu nào chỉ chứa một phần là bản dịch của nhau thôi sẽ được chọn làm mẫu về cặp câu không song song Với mỗi cặp câu trong bộ dữ liệu huấn luyện, các kết quả gióng hàng từ của chúng được tính nhờ bộ công cụ GIZA++ Sau đó, tập các đặc trưng tương ứng của mỗi cặp câu sẽ được rút ra Những tập đặc trưng của các cặp câu này sẽ được dùng để ước lượng các tham số cũng như các thông tin về mô hình
Đánh giá hiệu quả bộ phân lớp: Tìm thủ công và đánh dấu 383 cặp câu song song (khác với các cặp câu sử dụng
để huấn luyện) trong 2 tập tin Sau đó, các bộ phân lớp sẽ lần lượt được dùng để rút ra các cặp câu song song từ 2 tập tin này theo nhiều ngưỡng chính xác khác nhau Kết quả thực nghiệm minh họa qua Bảng 4.1
Bảng 4.1 Kết quả thực nghiệm theo các ngưỡng chính xác khác nhau của bộ phân lớp
Các ngưỡng của
bộ phân lớp
Số cặp câu có khả năng song song
Số cặp câu thực
sự song song
Nhìn vào bảng 4.1 ta có thể thấy khi ngưỡng chính xác của bộ phân lớp là 0.60 sẽ thu được kết quả tốt nhất
Do hạn chế về tốc độ xử lý của máy tính nên chúng tôi chỉ sử dụng xấp xỉ 1.000.000 cặp câu trong hơn 5.000.000 cặp câu đã thu thập được để tiến hành phân lớp Tại ngưỡng 0.60 thu được 565428 cặp câu như hình 4.1
4 http://www.statmt.org/moses/
Trang 6Hình 4.1 Số lượng cặp câu tìm được tương ứng với ngưỡng chính xác của bộ phân lớp
VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
A Kết luận
Bài báo đã áp dụng bộ phân lớp Entropy cực đại kết hợp với bộ lọc độ dài câu và bộ lọc bao phủ từ để trích xuất các cặp câu thực sự song song và gần song song từ các nguồn tài nguyên trên internet khá hiệu quả Đây là tiền đề để xây dựng khối ngữ liệu Anh-Việt có chất lượng tốt ứng dụng trong các lĩnh vực khác nhau
B Hướng phát triển
Trong thời gian tới, chúng tôi sẽ:
- Đánh giá chất lượng của ngữ liệu thu thập được thông qua điểm BLEU của hệ thống dịch máy thống kê Moses
- Áp dụng kỹ thuật học sâu để xây dựng bộ phân lớp câu song song dựa trên mạng neural hồi quy hai chiều sử dụng bộ nhớ dài ngắn (Long Sort Term Memory bidirectional Recurrent Neural Network)
TÀI LIỆU THAM KHẢO
[1] A L Berger, Stephen A Della Pietra, Vincent J Della Pietra (1996), A Maximum Entropy approach to Natural
Laguage Processing, IBM T.J Watson Reaserch Center P.O Box 704 Yorktown Height, NY 10598
[2] P F Brown (1991), Aligning sentences in parallel corpora, In Proceedings of the 29th annual meeting on
Association for Computational Linguistics, pp 169-176
[3] Van Dang Bac, Quoc Ho Bao (2007), Automatic Construction of English - Vietnamese Parallel Corpus through
Web Mining, RIVF07
[4] Thi-Ngoc-Diep Do ,Viet-Bac Le, Brigitte Bigi, Laurent Besacier, Eric Castelli (2009), Mining a comparable text
corpus for a Vietnamese - French statistical machine translation system, Proceedings of the Fourth Workshop on
Statistical Machine Translation , pp 165-172, Athens, Greece, 30 March - 31 March 2009
[5] Dien Dinh, Kiem Hoang (2002), Bilingual corpus and word sense disambiguation in the English-to-Vietnamese
Machine Translation, 78 Proceedings of the 1st APIS, Bangkok, Thailand
[6] P Fung, P Cheung (2004), Multi-level bootstrapping for extracting parallel sentences from a quasicomparable
corpus, In Proceedings of the 20th international conference on Computational Linguistics, page 1051
[7] W A Gale, K W Church (1991), A program for aligning sentences in bilingual corpora, In Proceedings of the
29th annual meeting on Association for Computational Linguistics, pp 177-184
[8] M Haruno, T Yamazaki (1997), High-performance bilingual text alignment using statistical and dictionary
information, in Proceeding ACL '96 Proceedings of the 34th annual meeting on Association for Computational
Linguistics, pp 131-138
[9] D S Munteanu, D Marcu (2005), ImprovingMachine Translation Performance by Exploiting Non-Parallel
Corpora, Association for Computational Linguistics
253658
381254
473569
565428
653983
715751
788566
Ngưỡng chính xác của bộ phân lớp
Trang 7[10] C Tillmann, J Xu (2009), A simple sentence-level extraction algorithm for comparable data, In Proceedings of
HLT/NAACL, pp 93-96
[11] D Wu (1994), Aligning Parallel English Chinese Corpus Statistically with Lexical Criteria, in Proceedings of the
32nd annual meeting on Association for Computational Linguistics
BUILDING ENGLISH-VIETNAMESE BILINGUAL CORPUS FROM INTERNET
RESOURCES
Duong Minh Hung , Le Manh Thanh, Le Trung Hieu
ABSTRACT: Bilingual corpus plays an important role in many applications of natural language processing, especially in machine
translation applications There are many different methods to build bilingual and multilingual corpus In this paper, we propose a method of collecting, authenticating and preprocessing a large set of English - Vietnamese bilingual sentences from the internet resources In addition, we use Entropy classifiers to train and extract parallel sentences
Keywords: Bilingual corpus, Maximum entropy