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.. Trên thế giới, người ta đã xây dựng
Trang 1M ỘT PHƯƠNG PHÁP XÂY DỰNG NGỮ LIỆU SONG NGỮ ANH-VIỆT
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
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
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
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,
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 -
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
1https://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
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ố
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
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)
Hàm tổng quát có dạng như sau: ( ) { ( )
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
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
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
B Thu thập và tiền xử lý dữ liệu
đọ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)
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
độ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 để
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
2https://html-agility-pack.net/
3https://www.seleniumhq.org/
Trang 4Bướ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
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
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)
cặp câu không song song
không song song
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
đặc trưng trong bước 3 thuộc vào lớp song song hay không
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
Các ngưỡng của
b ộ phân lớp kh S ố cặp câu có ả năng song
song
S ố cặp câu thực
s ự song song Presision Recall F1_score
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
4http://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