Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
1,69 MB
Nội dung
3 LỜI CAM ĐOAN Em - Trần Tiến Thành, học viên lớp Cao học K12E Trường Đại học Công nghệ thông tin Truyền thông Thái Nguyên - cam kết Luận văn thạc sỹ khoa học máy tính: “Sử dụng mô hình ngôn ngữ Bloom Filter cải tiến dịch máy thống kê” công trình nghiên cứu thân em hướng dẫn thầy giáo TS Nguyễn Văn Vinh, Bộ môn Khoa học máy tính, Khoa Công nghệ thông tin – Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội Các kết luận văn tốt nghiệp trung thực, không chép toàn văn công trình khác Thái Nguyên, ngày 05 tháng 10 năm 2015 TÁC GIẢ Trần Tiến Thành LỜI CẢM ƠN Em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo, TS Nguyễn Văn Vinh, Bộ môn Khoa học máy tinh, Khoa Công nghệ thông tin - Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội khuyến khích tận tình hướng dẫn em suốt trình thực luận văn Em xin cảm ơn anh Trần Hồng Việt, nghiên cứu sinh Trường Đại học Công nghệ, giảng viên Trường Đại học Kinh tế kĩ thuật công nghiệp hết lòng giúp đỡ em trình thực đề tài Nhờ quan tâm bảo ý kiến đóng góp quý báu thầy anh em hoàn thành luận văn Em xin chân thành cảm ơn tập thể thầy, cô giáo Trường Đại học Công nghệ thông tin Truyền thông Thái Nguyên tận tình giảng dạy truyền đạt cho em kiến thức, kinh nghiệm quý báu suốt năm học vừa qua Em xin cảm ơn Sở Giáo dục Đào tạo Phú Thọ, Trường THPT Minh Đài tạo điều kiện kinh phí thời gian để em học tập hoàn thành luận văn Cuối em xin chân thành cảm ơn gia đình, người thân hết lòng giúp đỡ, hỗ trợ vật chất lẫn tinh thần giúp em yên tâm học tập nghiên cứu suốt trình học tập thực luận văn Trong khoảng thời gian có hạn, kiến thức nhiều hạn chế luận văn không tránh khỏi sai sót nội dung hình thức Kính mong nhận góp ý quý thầy cô, bạn bè đồng nghiệp Thái Nguyên, ngày 05 tháng 10 năm 2015 TÁC GIẢ Trần Tiến Thành DANH SÁCH CÁC TỪ VIẾT TẮT Đầy đủ Viết tắt BF Bloom Filter BF-LM Mô hình ngôn ngữ dựa Bloom Filter LF-BF-LM Mô hình ngôn ngữ Log-Frequency Bloom Filter LM Mô hình ngôn ngữ MKN Phương pháp làm mịn Kneser-Ney cải tiến MLE Ước lượng cực đại hóa khả MSE Lỗi trung bình bình phương MT Dịch máy NLP Xử lý ngôn ngữ tự nhiên PDS Cấu trúc liệu xác suất RDS Cấu trúc liệu ngẫu nhiên SMT Dịch máy phương pháp thống kê DANH MỤC CÁC HÌNH VẼ Hình Tên hình Trang Hình Kiến trúc hệ thống SMT 14 Hình Minh họa dịch máy thống kê dựa vào cụm Ví dụ hàm băm Các xâu ký tự chuyển thành chữ Hình ký đại diện 15 35 Cặp khóa ki giá trị tập S ánh xạ thông qua Hình hàm băm vào bảng băm Xuất xung đột phần tử k1 k3 36 Hình Huấn luyện Bloom Filter 37 Hình Truy vấn Bloom Filter 38 Hình Lỗi phía Bloom Filter 39 MỤC LỤC MỞ ĐẦU Đặt vấn đề Đối tượng phạm vi nghiên cứu 10 Nhiệm vụ nghiên cứu 10 Những nội dung nghiên cứu 10 NỘI DUNG 11 CHƯƠNG I 11 TỔNG QUAN VỀ DỊCH MÁY THỐNG KÊ DỰA VÀO CỤM TỪ 11 VÀ MÔ HÌNH NGÔN NGỮ 11 1.1 Dịch máy thống kê dựa cụm từ 11 1.1.1 Dịch máy dịch máy thống kê 11 1.1.2 Dịch máy thống kê dựa cụm 15 1.2.1 N-gram 17 1.2.2 Mô hình ngôn ngữ 19 1.2.3 Huấn luyện mô hình ngôn ngữ 21 1.2.3.1 Ước lượng cực đại hóa khả (Maximium Likelihood Estimation MLE) 21 1.2.3.2 Các phương pháp làm mịn 22 1.2.3.2.1 Kneser-Ney 24 1.2.3.2.2 Kneser-Ney cải tiến (Modified Kneser-Ney - MKN) 25 1.2.3.2.3 Stupid Backoff 26 1.3 Đánh giá mô hình ngôn ngữ 27 1.3.1 Entropy – Độ đo thông tin 27 1.3.2 Độ hỗn loạn thông tin (Perplexity) 29 1.3.3 Tỉ lệ lỗi (Error rate) 30 1.4 Đánh giá chất lượng dịch tự động dựa điểm BLEU 31 CHƯƠNG 32 MÔ HÌNH NGÔN NGỮ BLOOM FILTER 32 2.1 Các cấu trúc liệu xác suất (PDS) 33 2.2 Hàm băm (Hash function) 35 2.3 Bloom Filter 37 2.4 Mô hình ngôn ngữ Bloom Filter 43 2.4.1 Bloom Filter tần số log (Log-frequency Bloom Filter) 43 2.4.2 Bộ lọc dựa vào chuỗi (sub-sequence filtering) 45 CHƯƠNG 47 ỨNG DỤNG BLOOM FILTER CHO HỆ DỊCH MÁY THỐNG KÊ DỰA VÀO CỤM TỪ 47 3.1 Hệ dịch máy thống kê mã nguồn mở Moses 47 3.2 Tích hợp Mô hình ngôn ngữ Bloom Filter vào hệ thống Moses 48 3.2.1 Xây dựng LM với RandLM SRILM 48 3.2.1.1 Ngữ liệu 49 3.2.1.2 Thuật toán làm mịn 53 3.2.1.3 Xây dựng LM với SRILM RandLM 53 3.3 Thử nghiệm đánh giá 65 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO 79 MỞ ĐẦU Đặt vấn đề Mô hình ngôn ngữ (Language Model - LM) phần thiếu lĩnh vực xử lý ngôn ngữ tự nhiên Mô hình ngôn ngữ sử dụng lĩnh vực xử lý ngôn ngữ tự nhiên như: nhận dạng tiếng nói, kiểm lỗi tả, phân đoạn từ hay dịch máy thống kê… Để ứng dụng tốt mô hình ngôn ngữ phải lớn, mà việc tìm kiếm không gian lưu trữ vô quan trọng mô hình ngôn ngữ Chính thế, luận văn lựa chọn thực đề tài: “Sử dụng mô hình ngôn ngữ Bloom Filter cải tiến dịch máy thống kê” Trong luận văn này, nghiên cứu tìm hiểu mô hình ngôn ngữ xây dựng dựa cấu trúc liệu Bloom Filter Không lưu trữ toàn tập n-gram giống mô hình truyền thống, loại mô hình ngôn ngữ sử dụng quy trình mã hóa đặc biệt, cho phép chia sẻ cách hiệu bit lưu trữ thông tin thống kê n-gram, nhờ tiết kiệm đáng kể nhớ Sau tìm hiểu sơ lược mô hình ngôn ngữ, nghiên cứu kiểu cấu trúc liệu dựa Bloom Filter Bloom Map Qua thử nghiệm, ưu việt mô hình ngôn ngữ dựa Bloom Filter phương diện dung lượng tính hiệu ứng dụng thực tế, cụ thể hệ thống dịch máy phương pháp thống kê với Moses [2] 10 Đối tượng phạm vi nghiên cứu - Luận văn nghiên cứu n-gram cách ước lượng, tính toán biễu diễn mô hình ngôn ngữ - Thực thử nghiệm với liệu tiếng Việt Nhiệm vụ nghiên cứu - Thông qua luận văn, trình bày hiểu biết cần biết mô hình ngôn ngữ n-gram, thuật toán làm mịn sử dụng mô hình ngôn ngữ thước đo để đánh giá mô hình ngôn ngữ - Luận văn tập trung nghiên cứu trúc liệu dựa Bloom Filter sử dụng cho mô hình ngôn ngữ cụ thể Log-Frequency Bloom Filter - Thực thử nghiệm xây dựng mô hình ngôn ngữ ngữ liệu tiếng Việt ngữ liệu tiếng Anh - Ngoài ra, luận văn giới thiệu sơ lược dịch máy thống kê, thử nghiệm dịch máy thống kê với hệ thống dịch máy mã nguồn mở Moses sử dụng mô hình ngôn ngữ xây dựng chương Những nội dung nghiên cứu Luận văn trình bày thành phần: MỞ ĐẦU NỘI DUNG Chương - Tổng quan dịch máy thống kê dựa vào cụm từ mô hình ngôn ngữ Chương - Mô hình ngôn ngữ Bloom Filter Chương - Ứng dụng Bloom Filter cho hệ dịch máy thống kê dựa vào cụm từ KẾT LUẬN 11 NỘI DUNG CHƯƠNG I TỔNG QUAN VỀ DỊCH MÁY THỐNG KÊ DỰA VÀO CỤM TỪ VÀ MÔ HÌNH NGÔN NGỮ 1.1 Dịch máy thống kê dựa cụm từ 1.1.1 Dịch máy dịch máy thống kê Dịch máy (Machine Translation - MT) xuất từ thập kỷ 50 kỷ trước đặc biệt phát triển mạnh mẽ từ thập kỷ 80 ngày Trên giới, có nhiều hệ dịch máy thương mại tiếng Systrans, Kant, … hay hệ dịch máy mở tiêu biểu hệ dịch Google, hỗ trợ hàng chục cặp ngôn ngữ phổ biến Anh-Pháp, Anh-Trung, Anh-Nhật, Hoa-Nhật, … Các cách tiếp cận MT chia làm bốn lớp dịch trực tiếp (direct), dịch dựa luật chuyển đổi (transfer), dịch liên ngữ (interlingua) dịch dựa vào thống kê (statistical MT) Trước đây, phương pháp dịch dựa luật chuyển đổi dịch liên ngữ chủ yếu dựa vào cú pháp có thời gian phát triển dài sử dụng phổ biến nhiều hệ dịch thương mại Những hệ dịch máy loại này đạt kết tốt với cặp ngôn ngữ tương đồng cú pháp AnhPháp, Anh-Tây Ban Nha, … gặp nhiều hạn chế cặp ngôn ngữ có cú pháp khác Anh-Trung, Anh-Nhật, … Dịch Anh-Việt, Việt-Anh nước ta vấp phải khó khăn tương tự khác biệt mặt cấu trúc ngữ pháp tính nhập nhằng ngữ nghĩa Hệ thống dịch Anh-Việt dựa luật chuyển đổi thương mại hóa Việt Nam EVTran Nhiều nghiên cứu với yêu cầu tăng chất lượng dịch thực thích nghi với đặc điểm cặp ngôn ngữ khác 12 Dịch máy thống kê (SMT) phương pháp dịch máy, dịch tạo sở mô hình thống kê có tham số bắt nguồn từ việc phân tích cặp câu song ngữ Các phương pháp tiếp cận thống kê tương phản với phương pháp tiếp cận dựa luật dịch máy với dịch máy dựa ví dụ Những ý tưởng dịch máy thống kê giới thiệu Warren Weaver vào năm 1949 [1], bao gồm ý tưởng việc áp dụng lý thuyết thông tin Claude Shannon Dịch máy thống kê tái giới thiệu vào năm 1991 nhà nghiên cứu làm việc Trung tâm nghiên cứu Thomas J Watson IBM[2] góp phần đáng kể hồi sinh việc quan tâm đến dịch máy năm gần Ngày phương pháp dịch máy nghiên cứu nhiều Dịch máy phương pháp thống kê (Statistical Machine Translation) chứng tỏ hướng tiếp cận đầy đầy tiềm ưu điểm vượt trội so với phương pháp dịch máy dựa cú pháp truyền thống qua nhiều thử nghiệm dịch máy Thay việc xây dựng từ điển, luật chuyển đổi tay, hệ dịch tự động xây dựng từ điển, quy luật dựa kết thống kê có từ liệu Vì thế, dịch máy dựa vào thống kê có tính khả chuyển cao, có khả áp dụng cho cặp ngôn ngữ Hệ thống SMT đề xuất lần Brown năm 1990 sử dụng mô hình kênh nhiễu phát triển áp đảo ngành MT nhiều năm trở lại Thêm vào dịch máy thống kê có ưu điểm sau: Dịch máy (MT) vấn đề định: Cho trước từ ngôn ngữ nguồn, phải định chọn từ ngôn ngữ đích Vì vậy, tạo cho cảm giác giải định lý định thống kê Điếu dẫn đến cách tiếp cận thống kê đề xuất 66 tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < ~/tools/Work/50001_utf8/Baseline/data/t_train.tok.en > ~/tools/Work/50001_utf8/Baseline/data/t_train.lower en 3.3.2 Huấn luyện mô hình ngôn ngữ - Với mô hình ngôn ngữ chuẩn ta thực lệnh sau: tranthanh@tranthanh:~$ ~/tools/srilm/bin/i686m64/ngram-count -order -interpolate -kndiscount unk -text ~/tools/Work/50001_utf8/Baseline/lm/t_train.lower.vn -lm ~/tools/Work/50001_utf8/Baseline/lm/t.srilm - Với mô hình ngôn ngữ Bloom Filter ta thực lệnh sau: tranthanh@tranthanh:~$~/tools/Work/corpus$ ~/tools/randlm-0.2.5/bin/buildlm -struct BloomMap falsepos -values -output-prefix model -order < ~/tools/Work/corpus/t_train.lower.vn 3.3.3 Sinh bảng cụm từ - Với mô hình ngôn ngữ chuẩn sinh trên, sinh bảng cụm từ thực lệnh sau (quá trình chiếm khoảng 40 phút): tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline$ nohup nice ~/tools/moses/scripts/training/train-model.perl root-dir ~/tools/Work/50001_utf8/Baseline -corpus ~/tools/Work/50001_utf8/Baseline/data/t_train.lower \-f en -e -alignment grow-diag-final-and - 67 reordering msd-bidirectional-fe \-lm 0:3:/home/tranthanh/tools/Work/50001_utf8/Baseline/l m/t.srilm:8 -external-bin-dir ~/tools/bin >& ~/tools/Work/50001_utf8/Baseline/training.out & Tiếp theo ta tiến hành thực lệnh: tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/tokenizer.perl -l en ~/tools/Work/50001_utf8/Baseline/data/t_dev.tok.en tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline$ ~/tools/moses/scripts/tokenizer/tokenizer.perl -l en ~/tools/Work/50001_utf8/Baseline/data/t_dev.tok.vn tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < ~/tools/Work/50001_utf8/Baseline/data/t_dev.tok.vn > ~/tools/Work/50001_utf8/Baseline/data/t_dev.lower.vn tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < ~/tools/Work/50001_utf8/Baseline/data/t_dev.tok.en > ~/tools/Work/50001_utf8/Baseline/data/t_dev.lower.en 68 tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/tokenizer.perl -l fr < ~/tools/Work/50001_utf8/Baseline/data/t_test.vn.1 > ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.vn tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/tokenizer.perl -l en < ~/tools/Work/50001_utf8/Baseline/data/t_test.en.1 > ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.en tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.en > ~/tools/Work/50001_utf8/Baseline/data/t_test.lower.e n tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.vn > ~/tools/Work/50001_utf8/Baseline/data/t_test.lower.v n 69 - Với mô hình ngôn ngữ Bloom Filter sinh trên, sinh bảng cụm từ thực lệnh sau: tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline$ nohup nice ~/tools/moses/scripts/training/train-model.perl root-dir ~/tools/Work/50001_utf8/Baseline -corpus ~/tools/Work/50001_utf8/Baseline/data/t_train.lower \-f en -e -alignment grow-diag-final-and reordering msd-bidirectional-fe \-lm 0:3:/home/tranthanh/tools/Work/50001_utf8/Baseline/l m/model.BloomMap:8 -external-bin-dir ~/tools/bin >& ~/tools/Work/50001_utf8/Baseline/training.out & Sau ta thực lệnh: tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/tokenizer.perl -l en ~/tools/Work/50001_utf8/Baseline/data/t_dev.tok.en tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline$ ~/tools/moses/scripts/tokenizer/tokenizer.perl -l en ~/tools/Work/50001_utf8/Baseline/data/t_dev.tok.vn tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < 70 ~/tools/Work/50001_utf8/Baseline/data/t_dev.tok.vn > ~/tools/Work/50001_utf8/Baseline/data/t_dev.lower.vn tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < ~/tools/Work/50001_utf8/Baseline/data/t_dev.tok.en > ~/tools/Work/50001_utf8/Baseline/data/t_dev.lower.en tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/tokenizer.perl -l fr < ~/tools/Work/50001_utf8/Baseline/data/t_test.vn.1 > ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.vn tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/tokenizer.perl -l en < ~/tools/Work/50001_utf8/Baseline/data/t_test.en.1 > ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.en tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.en > ~/tools/Work/50001_utf8/Baseline/data/t_test.lower.e n 71 tranthanh@tranthanh:~$ ~/tools/moses/scripts/tokenizer/lowercase.perl < ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.vn > ~/tools/Work/50001_utf8/Baseline/data/t_test.lower.v n 3.3.4 Huấn luyện tham số mô hình dịch máy Ta thực lệnh sau (quá trình chiếm khoảng 10 phút): tranthanh@tranthanh:~/tools/Work/50001_utf8/Baseline $ nohup nice ~/tools/moses/scripts/training/mertmoses.pl ~/tools/Work/50001_utf8/Baseline/tuning/t_dev.lower en ~/tools/Work/50001_utf8/Baseline/tuning/t_dev.lower ~/tools/moses/bin/moses ~/tools/Work/50001_utf8/Baseline/model/moses.ini mertdir ~/tools/moses/bin/ &> ~/tools/Work/50001_utf8/Baseline/tuning/mert.out & Sau thực lệnh ta tiến hành copy file moses.ini sau: home/tools/Work/50001_utf8/Baseline/mert-work/moses.ini Vào: home/tranthanh/tools/Work/50001_utf8/Baseline/tuning Sau ta thực lệnh sau: tranthanh@tranthanh:~$ ~/tools/moses/scripts/reuseweights.perl ~/tools/Work/50001_utf8/Baseline/tuning/moses.ini < ~/tools/Work/50001_utf8/Baseline/model/moses.ini > 72 ~/tools/Work/50001_utf8/Baseline/tuning/mosestuned.ini tranthanh@tranthanh:~$ ~/tools/moses/scripts/training/filter-model-giveninput.pl ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.l ower ~/tools/Work/50001_utf8/Baseline/tuning/mosestuned.ini ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.l ower.en tranthanh@tranthanh:~$ ~/tools/moses/scripts/recaser/train-recaser.perl train-script ~/tools/moses/scripts/training/trainmodel.perl -ngram-count ~/tools/srilm/bin/i686m64/ngram-count -corpus ~/tools/Work/50001_utf8/Baseline/data/t_test.tok.en -dir /home/tranthanh/tools/Work/50001_utf8/Baseline/recas er -scripts-root-dir ~/tools/moses/scripts - Riêng hệ dịch máy thống kê Moses sử dụng mô hình ngôn ngữ Bloom Filter ta thực cấu hình lại tham số file moses.ini sau: Mở tệp moses.ini phần [feature] thay KENLM path=filename.arpa … RANDLM path=filename.irstlm … 3.3.5 Dịch văn Ta thực lệnh sau: 73 tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline$ nohup nice ~/tools/moses/bin/moses -config ~/tools/Work/50001_utf8/Baseline/tuning/mosestuned.ini -input-file ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.l ower.en 1> ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.t uned.output 2> ~/tools/Work/50001_utf8/Baseline/evaluation/tuned.de code.out & tranthanh@tranthanh:~$ nohup nice ~/tools/moses/bin/moses -config ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.l ower/moses.ini -input-file ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.l ower.en 1> ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.t uned-filtered.output 2> ~/tools/Work/50001_utf8/Baseline/evaluation/tunedfiltered.decode.out & tranthanh@tranthanh:~$ ~/tools/moses/scripts/recaser/recase.perl -model ~/tools/Work/50001_utf8/Baseline/recaser/moses.ini in 74 ~/tools/Work/50001_utf8/Baseline/evaluation/50001_te st.tuned-filtered.output -moses ~/tools/moses/bin/moses > ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.t uned-filtered.output.recased tranthanh@tranthanh:~$ ~/tools/moses/scripts/detokenizer.perl -l < ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.t uned-filtered.output.recased > ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.t uned-filtered.output.detokenized 3.3.6 Đánh giá kết Ta thực lệnh: tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline/plain2sgm -r test ~/tools/Work/50001_utf8/Baseline ~/tools/Work/50001_utf8/Baseline ~/tools/Work/50001_utf8/Baseline/data/t_test.vn.1 ~/tools/Work/50001_utf8/Baseline/t_test.vn.sgm tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline/plain2sgm -s test ~/tools/Work/50001_utf8/Baseline ~/tools/Work/50001_utf8/Baseline ~/tools/Work/50001_utf8/Baseline/data/t_test.en.1 ~/tools/Work/50001_utf8/Baseline/t_test.en.sgm 75 tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline/plain2sgm -t test ~/tools/Work/50001_utf8/Baseline ~/tools/Work/50001_utf8/Baseline ~/tools/Work/50001_utf8/Baseline/evaluation/t_test.t uned-filtered.output ~/tools/Work/50001_utf8/Baseline/t_test.tunedfiltered.output.sgm tranthanh@tranthanh:~$ ~/tools/Work/50001_utf8/Baseline/mteval-v11b.pl -r ~/tools/Work/50001_utf8/Baseline/t_test.vn.sgm -s ~/tools/Work/50001_utf8/Baseline/t_test.en.sgm -t ~/tools/Work/50001_utf8/Baseline/t_test.tunedfiltered.output.sgm -c Bảng 6: Thống kê ngữ liệu sử dụng dịch thử nghiệm Ngữ liệu Độ dài Ngôn ngữ Câu Từ Tiếng Anh 44,638 498,041 11.15 Tiếng Việt 44,638 463,795 10.39 Ngữ liệu điều chỉnh Tiếng Anh 201 2,403 11.95 tham số Tiếng Việt 201 2,221 11.04 Tiếng Anh 500 5,620 11.24 Tiếng Việt 500 5,264 10.52 Ngữ liệu huấn luyện Ngữ liệu đánh giá trung bình Thời gian để dịch hết 500 câu sử dụng mô hình ngôn ngữ SRILM 415 giây, LF-BF-LM 539 giây Như sử dụng 76 loại BF-LM, thời gian dịch lâu sử dụng mô hình ngôn ngữ chuẩn khoảng 1.3 lần Khoảng thời gian dịch lâu tồi ta xem xét đến phần nhớ tiết kiệm nhờ sử dụng LM dựa Bloom Filter Bảng 7: Thời gian dịch 500 câu tiếng Anh sử dụng loại LM khác Loại LM gram SRI-LM LF-BF-LM Thời gian dịch (giây) 415 539 Để đánh giá kết dịch, sử dụng điểm BLEU Do đó, sau dịch, kết đóng gói lại theo định dạng XML hệ thống tính điểm NIST MT Script MTeval sử dụng ba đầu vào để đánh giá kết dịch: file chứa văn ngôn ngữ nguồn, file chứa kết dịch ngôn ngữ đích file dịch chuẩn dùng để tham chiếu Điểm BLEU cho kết dịch với LM khác thể bảng Các mô hình ngôn ngữ xây dựng từ tập ngữ liệu Set gồm 131.9 MB ngữ liệu tiếng Việt Nhìn vào kết ta thấy sử dụng mô hình 3-gram hệ thống dịch sử dụng mô hình ngôn ngữ SRI-LM có điểm cao sử dụng mô hình mô hình RandLM Nhưng chênh lệch lớn, trường hợp SRILM cho điểm cao LF-BF-LM 0,79 nên ta coi điểm số tương đương với bậc n-gram Thế nhưng, nói phần trên, với cấu hình máy tính dùng cho thử nghiệm, ta xây dựng mô hình ngôn ngữ 4-gram sử dụng BF-LM Sử dụng mô hình ngôn ngữ 4gram BF-LM hệ thống dịch cho điểm số 31.90, cao rõ rệt sử dụng mô hình ngôn ngữ SRI-LM với 30.25 điểm 77 Bảng 8: Điểm BLEU cho kết dịch với LM khác SRI-LM 3-gram LF-BF-LM 3-gram LF-BF-LM 4-gram Cỡ LM 173 MB 35.17 MB 58.46 MB Điểm BLEU 30.25 29.46 31.90 Nhìn vào kết này, ta thấy rõ ưu vượt trội của cấu trúc liệu LF-BF-LM so với cấu trúc liệu SRI-LM, vừa sử dụng nhớ hơn, vừa hiệu 78 KẾT LUẬN Dịch máy vấn đề khó lĩnh vực xử lý ngôn ngữ tự nhiên Hiện vấn đề thách thức có nhiều công việc cần giải nhà tin học Hướng tiếp cận thống kê hướng tiếp cận dựa vào liệu phát triển mạnh từ cuối kỉ XX Hướng tiếp cận khắc phục nhược điểm cách tiếp cận dựa vào luật (dịch chuyển đổi) Qua ba chương, luận văn trình bày cách tiếp cận, phương pháp giải cho vấn đề dịch máy thống kê đồng thời cải tiến mô hình ngôn ngữ hệ dịch nhằm giảm thiểu dung lượng nhớ mà mô hình ngôn ngữ chiếm dụng Tuy chất lượng dịch chưa cao huấn luyện với nhiều liệu hơn, chất lượng dịch nâng cao Mặt khác ta hoàn toàn áp dụng cho chiều dịch ngược lại Việt-Anh 1- Các kết đạt - Trình bày cách tiếp cận dịch máy thống kê; - Xây dựng mô hình ngôn ngữ SRI-LM RAND-LM; - Áp dụng cách tiếp cận vào toán dịch Anh-Việt; - Xây dựng chương trình thử nghiệm dịch Anh-Việt thống kê 2- Hướng phát triển - Tiếp tục cải tiến mô hình dịch cho toán dịch Anh-Việt; - Thử nghiệm với ngữ liệu đa dạng lớn hơn; - Áp dụng cho chiều dịch từ Việt – Anh 79 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Văn Vinh (2005) “Xây dựng chương trình dịch tự động Anh-Việt phương pháp dịch thống kê” Luận văn Thạc sĩ, Đại học Công nghệ, ĐHQGHN Tiếng Anh [2] Brants, T., Popat, A C., Xu, P., Och, F J., and Dean, J “Large language models in machine translation” In Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL), 2007, pages 858–867 [3] Callison-Burch, Chris, Miles Osborne, and Philipp Koehn “Reevaluating the role of Bleu in machine translation research” In EACL 2006: Proceedings the Eleventh Conference of the European Chapter of the Association for Computational Linguistics, 2006 [4] Costa, L H M K., Fdida, S., and Duarte, O C M B “Incremental service deployment using the hop-by-hop multicast routing protocol” IEEE/ACM Trans Netw., 2006, 14(3): pages 543–556 [5] de Laplace, M “A Philosophical Essay on Probabilities” Dover Publications, 1996 [6] To Hong Thang “Building language model for Vietnamese and its application” Dissertation, Bachelor of IT, College of Technology, Vietnam National University, 2008 [7] Koehn, P “Empirical Methods in Natural Language Processing” From course slides at http://www.inf.ed.ac.uk/teaching/courses/emnlp/, 2007 [8] Talbot, D and Talbot, J “Bloom maps” In Proceedings of the Fourth Workshop on Analytic Algorithmics and Combinatorics (ANALCO) Society for Industrial and Applied Mathematics, 2008 [9] Koehn, P and Hoang, H “Factored translation models” In Proceedings of the 2007 Joint Conference on Empirical Methods in Natural 80 Language Processing and Computational Natural Language Learning (EMNLP-CoNLL), 2007, pages 868–876 [10] Levenberg, A D “Bloom filter and lossy dictionary based language models” Dissertation, master of science, School of Informatics, University of Edinburgh, 2007 [11] Masao Utiyama “A survey of statistical machine translation” Lecture slides, Kyoto University, 2006 [12] Och, F “The Google Statistical Machine Translation System for the 2005 NIST MT Evaluation” Oral presentation at the 2005 NIST MT Evaluation workshop, 2005 [13] Pagh, A., Pagh, R., and Rao, S S “An optimal bloom filter replacement” In SODA ’05: Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms, Philadelphia, PA, USA Society for Industrial and Applied Mathematics, 2005, pages 823–829 [14] Talbot, D and Osborne, M., “Randomised language modelling for statistical machine translation” In Proceedings of the 45th Annual Meeting of the Association of Computational Linguistics, Prague, Czech Republic Association for Computational Linguistics, 2007a, pages 512–519 [15] Talbot, D and Osborne, M., “Smoothed Bloom filter language models: Tera-scaleLMs on the cheap” In Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL), 2007b, pages 468–476 [...]... các mô hình ngôn ngữ khác nhau trên ngôn ngữ L, mô hình nào cho H(L) nhỏ hơn thì mô hình ngôn ngữ đó thể hiện chính xác ngôn ngữ L hơn 1.3.2 Độ hỗn loạn thông tin (Perplexity) LM sau khi được huấn luyện cần phải đánh giá chất lượng của mô hình Cách đánh giá chính xác nhất một mô hình ngôn ngữ là kiểm tra trong thực tế Ví dụ trong nhận dạng tiếng nói, chúng ta có thể so sánh hiệu quả của 2 mô hình ngôn. .. ứng của các ngôn ngữ khác nhau; một mô hình ngôn ngữ (LM), đại diện cho ngôn ngữ đích; một bộ giải mã (decoder), kết hợp mô hình dịch và mô hình ngôn ngữ để thực hiện nhiệm vụ dịch Ngôn ngữ nguồn ( f ) Tiền xử lý Bộ giải mã f * arg max Pr(e | f ) Mô hình ngôn ngữ Pr(e) Mô hình dịch Pr(f | e) Hậu xử lý Ngôn ngữ đích ( e ) Hình 1: Kiến trúc của một hệ thống SMT 15 1.1.2 Dịch máy thống kê dựa trên cụm... , chúng ta sử dụng entropy chéo trong Perplexity để không bao giờ đánh giá thấp entropy thực sự của mô hình Perplexity của một mô hình được đánh giá trên tập kiểm tra Trong thực tế, Perplexity là thước đo đầu tiên để đánh giá một mô hình ngôn ngữ, và có thể được coi là hàm của cả ngôn ngữ và mô hình Trên phương diện là hàm của mô hình, nó đánh giá một mô hình mô phỏng ngôn ngữ chính xác đến mức độ nào... nhiều đó là Bloom Filter Bloom Filter có một số ưu điểm như tốc độ, khả năng tiết kiệm bộ nhớ đáng kể, tôi đã chọn nghiên cứu loại cấu trúc dữ liệu này và trình bày trong luận văn Cấu trúc dữ liệu Bloom Filter cơ bản sẽ được giới thiệu trong phần sau của chương này Tiếp đó là cải tiến đơn giản để có thể lưu trữ dữ liệu theo cặp {khóa, giá trị} – Logarithmic Frequency Bloom Filter (hay Bloom Filter tần... Vì thế, trong khóa luận này, tôi sử dụng điểm BLEU làm thước đo chất lượng dịch và từ đó so sánh các loại mô hình ngôn ngữ khác nhau 32 CHƯƠNG 2 MÔ HÌNH NGÔN NGỮ BLOOM FILTER Mô hình ngôn ngữ kể từ khi xuất hiện đến nay đã có những bước phát triển đáng kể cùng với các thuật toán làm mịn ngày càng tốt hơn [5] Tuy nhiên cũng còn nhiều thách thức mà LM phải đối mặt Đó là làm thế nào tạo ra được mô hình... là bao nhiêu Ví dụ: Khi áp dụng mô hình ngôn ngữ cho tiếng Việt: P[“hôm qua là ngày nghỉ lễ”] = 0.001 P[“nghỉ lễ là qua hôm ngày”] = 0 Mô hình ngôn ngữ được áp dụng trong rất nhiều lĩnh vực của xử lý ngôn ngữ tự nhiên như: kiểm lỗi chính tả, dịch máy hay phân đoạn từ Chính vì vậy, nghiên cứu mô hình ngôn ngữ chính là tiền đề để nghiên cứu các lĩnh vực tiếp theo Mô hình ngôn ngữ có nhiều hướng tiếp cận,... vì nếu hàm băm không có phân phối đều, đầu ra của chúng sẽ chỉ tập trung ánh xạ vào một số vị trí trong bảng băm, trong khi nhiều vị trí khác lại bị bỏ trống 37 2.3 Bloom Filter cơ bản Mô hình ngôn ngữ có nguồn gốc từ Bloom Filter (BF) cơ bản [4] được xây dựng dựa trên các cấu trúc dữ liệu dựa trên Bloom Filter BF, trước hết là một cấu trúc dữ liệu xác suất (PDS), hỗ trợ truy vấn kiểm tra một đối tượng... nguồn theo mô best hình trong là: e best arg max Pr(e | f ) arg max Pr( f | e)Pr LM (e) e e Với Pr( f | e) được phân tích: I I Pr( f | e1 ) ( f 1 I i 1 |e ) d(a b i i i ) i 1 length ( e ) 17 1.2 Tổng quan về 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 Nói đơn giản, mô hình ngôn ngữ có thể cho biết xác suất một câu (hoặc cụm từ) thuộc một ngôn ngữ là... “interlingua” này Dịch máy thống kê có cách tiếp cận hoàn toàn khác, khả năng dịch có được là dựa trên các mô hình thống kê được huấn luyện từ các ngữ liệu song ngữ Kiến trúc chung của một hệ thống SMT được thể hiện trong hình 1 Mô hình của Brown (hay còn gọi là mô hình IBM) [7] biểu diễn quá trình dịch bằng một mô hình kênh nhiễu (noisy channel model) bao gồm ba thành phần: một mô hình dịch (translation... đến mức độ nào Còn trên phương diện là hàm của ngôn ngữ, nó đo tính phức tạp của ngôn ngữ 1.3.3 Tỉ lệ lỗi (Error rate) Người ta thường sử dụng độ đo entropy và perplexity để so sánh độ chính xác của các mô hình ngôn ngữ khi xây dựng một mô hình ngôn ngữ tổng quát Trong các bài toán cụ thể, người ta sử dụng tỉ lệ lỗi để so sánh độ chính xác của các mô hình ngôn ngữ Soát lỗi chính tả: xét tỉ lệ giữa số