Tải bản đầy đủ (.pdf) (79 trang)

Sử dụng mô hình ngôn ngữ bloom filter trong cải tiến dịch máy thống kê (Luận văn thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (836.78 KB, 79 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT & TT

SỬ DỤNG MÔ HÌNH NGÔN NGỮ BLOOM FILTER TRONG CẢI TIẾN DỊCH
MÁY THỐNG KÊ

TRẦN TIẾN THÀNH

THÁI NGUYÊN 2015


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 và 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 trong cải
tiến dịch máy thống kê” là công trình nghiên cứu của bản thân em dưới sự
hướng dẫn của 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 quả trong luận văn tốt nghiệp là trung thực, không sao chép
toàn văn của bất kỳ công trình nào khác.

Thái Nguyên, ngày 05 tháng 10 năm 2015
TÁC GIẢ

Trần Tiến Thành


4



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 và tận tình hướng
dẫn em trong suốt quá trình thực hiện luận văn. Em cũng 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 trong quá trình
thực hiện đề tài. Nhờ sự quan tâm chỉ bảo và những ý kiến đóng góp quý báu
của thầy và của anh em mới có thể hoàn thành luận văn này.
Em xin chân thành cảm ơn tập thể các thầy, cô giáo Trường Đại học
Công nghệ thông tin và Truyền thông Thái Nguyên đã tận tình giảng dạy
truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt những
năm học vừa qua.
Em cũng xin cảm ơn Sở Giáo dục và Đào tạo Phú Thọ, Trường THPT
Minh Đài đã tạo điều kiện về kinh phí và thời gian để em có thể học tập và
hoàn thành luận văn.
Cuối cùng em xin chân thành cảm ơn gia đình, người thân đã hết lòng
giúp đỡ, hỗ trợ về vật chất lẫn tinh thần giúp em yên tâm học tập và nghiên
cứu trong suốt quá trình học tập và thực hiện luận văn.
Trong khoảng thời gian có hạn, cũng như kiến thức còn nhiều hạn chế
luận văn không tránh khỏi những sai sót về nội dung cũng như hình thức.
Kính mong nhận được sự góp ý của quý thầy cô, bạn bè và đồ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


5


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 trên 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ả năng

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 dữ liệu xác suất

RDS

Cấu trúc dữ liệu ngẫu nhiên

SMT

Dịch máy bằng phương pháp thống kê


6

DANH MỤC CÁC HÌNH VẼ
Hình

Tên hình


Trang

Hình 1 Kiến trúc của một hệ thống SMT

14

Hình 2 Minh họa dịch máy thống kê dựa vào cụm
Ví dụ về hàm băm. Các xâu ký tự được chuyển thành chữ
Hình 3 ký đại diện.

15
35

Cặp khóa ki và giá trị ai của tập S được ánh xạ thông qua
Hình 4 hàm băm vào bảng băm. Xuất hiện xung đột giữa 2 phần
tử k1 và k3.

36

Hình 5 Huấn luyện Bloom Filter

37

Hình 6 Truy vấn Bloom Filter

38

Hình 7 Lỗi một phía trong Bloom Filter


39


7

MỤC LỤC
MỞ ĐẦU .......................................................................................................... 9
1. Đặt vấn đề .................................................................................................... 9
2. Đối tượng và phạm vi nghiên cứu............................................................ 10
3. Nhiệm vụ nghiên cứu ................................................................................ 10
4. Những nội dung nghiên cứu chính .......................................................... 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 trên cụm từ ...................................................... 11
1.1.1 Dịch máy và dịch máy thống kê ............................................................. 11
1.1.2 Dịch máy thống kê dựa trên 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ả năng (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 trên điểm BLEU .................... 31
CHƯƠNG 2 .................................................................................................... 32


8

MÔ HÌNH NGÔN NGỮ BLOOM FILTER.................................................... 32
2.1 Các cấu trúc dữ liệu xác suất (PDS) ...................................................... 33
2.2 Hàm băm (Hash function) ...................................................................... 35
2.3 Bloom Filter cơ bản................................................................................. 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 con (sub-sequence filtering) ............................... 45
CHƯƠNG 3 .................................................................................................... 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 và 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 và RandLM .............................. 53
3.3 Thử nghiệm và đánh giá ......................................................................... 65
KẾT LUẬN .................................................................................................... 78
TÀI LIỆU THAM KHẢO ............................................................................ 79


9

MỞ ĐẦU

1. Đặt vấn đề
Mô hình ngôn ngữ (Language Model - LM) là một phần không thể
thiếu trong lĩnh vực xử lý ngôn ngữ tự nhiên. Mô hình ngôn ngữ được sử
dụng ở các lĩnh vực trong xử lý ngôn ngữ tự nhiên như: nhận dạng tiếng nói,
kiểm lỗi chính 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, cũng chính vì vậy mà việc tìm kiếm không gian lưu
trữ là vô cùng quan trọng trong mô hình ngôn ngữ. Chính vì thế, luận văn này
tôi lựa chọn và thực hiện đề tài: “Sử dụng mô hình ngôn ngữ Bloom Filter
trong cải tiến dịch máy thống kê”.
Trong luận văn này, chúng tôi nghiên cứu và tìm hiểu mô hình ngôn
ngữ xây dựng dựa trên cấu trúc dữ liệu Bloom Filter. Không lưu trữ toàn bộ
tập n-gram giống như các mô hình truyền thống, loại mô hình ngôn ngữ
này sử dụng một quy trình mã hóa đặc biệt, cho phép chia sẻ một cách hiệu
quả các bit khi lưu trữ thông tin thống kê n-gram, nhờ đó tiết kiệm đáng kể bộ
nhớ. Sau khi tìm hiểu sơ lược về mô hình ngôn ngữ, chúng ta sẽ nghiên cứu
kiểu cấu trúc dữ liệu dựa trên Bloom Filter là Bloom Map. Qua các thử
nghiệm, chúng tôi chỉ ra sự ưu việt của các mô hình ngôn ngữ dựa trên
Bloom Filter trên cả phương diện dung lượng và tính hiệu quả khi ứng dụng
trong thực tế, cụ thể ở đây là hệ thống dịch máy bằng phương pháp thống kê
với Moses [2].


10

2. Đối tượng và phạm vi nghiên cứu
- Luận văn này chúng tôi nghiên cứu về n-gram và cách ước lượng, tính toán
biễu diễn mô hình ngôn ngữ.
- Thực hiện thử nghiệm với dữ liệu tiếng Việt.
3. Nhiệm vụ nghiên cứu
- Thông qua luận văn, trình bày các hiểu biết cơ bản cần biết về mô hình ngôn

ngữ như n-gram, các thuật toán làm mịn được sử dụng trong mô hình ngôn
ngữ và các thước đo để đánh giá một mô hình ngôn ngữ.
- Luận văn tập trung nghiên cứu về các trúc dữ liệu dựa trên Bloom Filter được
sử dụng cho mô hình ngôn ngữ cụ thể là Log-Frequency Bloom Filter.
- Thực hiện thử nghiệm xây dựng mô hình ngôn ngữ trên một ngữ liệu tiếng
Việt và một ngữ liệu tiếng Anh..
- Ngoài ra, luận văn còn giới thiệu sơ lược về 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 các
mô hình ngôn ngữ xây dựng ở chương 3.
4. Những nội dung nghiên cứu chính
Luận văn được trình bày thành 3 phần:
MỞ ĐẦU
NỘI DUNG
Chương 1 - 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ữ
Chương 2 - Mô hình ngôn ngữ Bloom Filter
Chương 3 - Ứ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 trên cụm từ
1.1.1 Dịch máy và dịch máy thống kê
Dịch máy (Machine Translation - MT) xuất hiện từ thập kỷ 50 của thế

kỷ trước và đặc biệt được phát triển mạnh mẽ từ thập kỷ 80 cho đến ngày nay.
Trên thế giới, hiện tại có rất nhiều hệ dịch máy thương mại nổi tiếng như
Systrans, Kant, … hay những hệ dịch máy mở tiêu biểu là hệ dịch của
Google, hỗ trợ hàng chục cặp ngôn ngữ phổ biến như 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 chính là dịch
trực tiếp (direct), dịch dựa trên luật chuyển đổi (transfer), dịch liên ngữ
(interlingua) và dịch dựa vào thống kê (statistical MT). Trước đây, phương
pháp dịch dựa trên luật chuyển đổi và dịch liên ngữ chủ yếu dựa vào cú pháp
có thời gian phát triển khá dài và hiện vẫn còn được sử dụng phổ biến trong
nhiều hệ dịch thương mại. Những hệ dịch máy loại này này đã đạt được kết
quả khá tốt với những cặp ngôn ngữ tương đồng nhau về cú pháp như AnhPháp, Anh-Tây Ban Nha, … nhưng còn gặp nhiều hạn chế đối với các cặp
ngôn ngữ có cú pháp rất khác nhau như Anh-Trung, Anh-Nhật, …
Dịch Anh-Việt, Việt-Anh ở nước ta cũng vấp phải những khó khăn
tương tự do sự khác biệt về mặt cấu trúc ngữ pháp và tính nhập nhằng của
ngữ nghĩa. Hệ thống dịch Anh-Việt dựa trên luật chuyển đổi được thương mại
hóa đầu tiên ở Việt Nam là EVTran. Nhiều nghiên cứu với yêu cầu tăng chất
lượng dịch hiện nay vẫn đang được thực hiện và có thể thích nghi với đặc
điểm của các cặp ngôn ngữ khác nhau.


Luận văn đầy đủ ở file: Luận văn full

















×