ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Minh Đức
MỞ RỘNG BỘ DỮ LIỆU HUẤN LUYỆN CHO QUÁ
TRÌNH XỬ LÝ NHẬP NHẰNG NGHĨA CỦA TỪ
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Minh Đức
MỞ RỘNG BỘ DỮ LIỆU HUẤN LUYỆN CHO QUÁ
TRÌNH XỬ LÝ NHẬP NHẰNG NGHĨA CỦA TỪ
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hƣớng dẫn: Tiến sĩ Nguyễn Phƣơng Thái
HÀ NỘI - 2010
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
LỜI CẢM ƠN
Lời đầu tiên, tôi xin bày tỏ lòng biết ơn chân thành đến các thầy cô giáo trƣờng Đại
học Công Nghệ, Đại học Quốc Gia Hà Nội nói chung và các thầy cô trong bộ môn Khoa
học Máy Tính nói riêng. Trong suốt bốn năm học tập trong trƣờng, các thầy cô không
những tận tình truyền đạt kiến thức mà còn luôn động viên giúp đỡ tôi trong học tập cũng
nhƣ trong cuộc sống.
Đặc biệt, tôi muốn gửi lời cảm ơn sâu sắc đến thầy giáo, tiến sĩ Nguyễn Phƣơng
Thái, ngƣời đã tận tình chỉ bảo, hƣớng dẫn tôi trong suốt quá trình nghiên cứu và hoàn
thiện khóa luận tốt nghiệp.
Tôi cũng xin cảm ơn các bạn sinh viên K51, đã luôn cùng tôi nghiên cứu và học tập,
đã cho tôi những ý kiến đóng góp giá trị trong suốt thời gian học tập cũng nhƣ trong quá
trình nghiên cứu đề tài khóa luận tốt nghiệp.
Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc đến gia đình và bạn bè, những ngƣời luôn
động viên giúp đỡ tôi vƣợt qua những khó khăn trong cuộc sống.
Hà Nội, ngày 21 tháng 5 năm 2010
Sinh viên
Vũ Minh Đức
i
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
TÓM TẮT KHÓA LUẬN
Trong các chủ đề thuộc lĩnh vực xử lý ngôn ngữ tự nhiên, xử lý nhập nhằng nghĩa
của từ là một chủ đề dành đƣợc nhiều sự quan tâm chú ý của những nhà nghiên cứu, phát
triển, ứng dụng khoa học máy tính. Lý do là mặc dù nếu đứng một mình, xử lý nhập
nhằng nghĩa của từ ít đem lại lợi ích cụ thể trong đời sống hàng ngày, nhƣng nó lại có một
vai trò quan trọng trong nhiều ứng dụng xử lý ngôn ngữ tự nhiên hữu ích khác nhƣ dịch
máy, tìm kiếm thông tin, khai phá dữ liệu, … Do vậy đã có rất nhiều cách tiếp cận để giải
quyết vấn đề xử lý nhập nhằng nghĩa của từ đƣợc đƣa ra nhƣ sử dụng bộ cở sở tri thức, áp
dụng các luật để xử lý nhập nhằng, hoặc sử dụng các thuật toán học máy có giám sát để
phân lớp nghĩa của từ … Trong tất cả các cách tiếp cận trên, lớp phƣơng pháp dựa vào
các thuật toán học máy có giám sát tỏ ra là có đƣợc một kết quả xử lý nhập nhằng tốt
nhất. Tuy vậy lớp phƣơng pháp này có một nhƣợc điểm đó là yêu cầu một bộ dữ liệu huấn
luyện (thƣờng là lớn) các trƣờng hợp xuất hiện của từ đã đƣợc gán nhãn nghĩa sẵn. Nếu
phải chuẩn bị bộ dữ liệu huấn luyện này một cách thủ công thì ta phải tốn rất nhiều công
sức, thời gian và chi phí do vậy tìm kiếm một giải pháp cho phép tự động hóa giai đoạn
này là một nhu cầu thực tế. Nắm bắt đƣợc nhu cầu trên, đề tài khóa luận của tôi đƣợc thực
hiện nhằm mục đích tìm hiểu phƣơng pháp xây dựng một hệ thống xử lý nhập nhằng
nghĩa của từ, đóng vai trò nhƣ một công cụ cho phép mở rộng bộ dữ liệu nhỏ đã gán
nghĩa cho các trƣờng hợp xuất hiện của từ đang cần mở rộng dữ liệu huấn luyện thành
một bộ dữ liệu huấn luyện đủ lớn nhƣng chỉ đòi hỏi rất ít công sức của con ngƣời, hỗ trợ
cho quá trình xử lý nhập nhằng nghĩa của những từ mang nội dung trong ngôn ngữ tự
nhiên.
ii
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
MỤC LỤC
LỜI CẢM ƠN ........................................................................................................................ i
TÓM TẮT KHÓA LUẬN ....................................................................................................ii
MỤC LỤC .......................................................................................................................... iii
DANH MỤC HÌNH VẼ ...................................................................................................... vi
DANH MỤC BẢNG BIỂU ................................................................................................vii
Chƣơng 1: Mở đầu ................................................................................................................ 1
1.1.
Đặt vấn đề ............................................................................................................... 1
1.2.
Mục tiêu đề tài ........................................................................................................ 2
1.3.
Đối tƣợng và phƣơng pháp nghiên cứu .................................................................. 3
1.4.
Cấu trúc khóa luận .................................................................................................. 5
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa
của từ .................................................................................................................................... 7
2.1.
Một nghĩa trong một nhóm từ đồng xuất hiện ........................................................ 7
2.2.
Một nghĩa trong một văn bản .................................................................................. 8
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng....... 10
3.1. Thuật toán học máy có giám sát Naive Bayes ......................................................... 10
3.1.1. Giới thiệu về Naïve Bayes ................................................................................. 10
3.1.2. Ƣớc lƣợng xác suất ............................................................................................ 11
3.2. Thuật toán mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ ............................... 13
3.2.1. Giới thiệu ........................................................................................................... 13
3.2.2. Các bƣớc của thuật toán ..................................................................................... 14
3.3. Lựa chọn từ cho nhóm từ đồng xuất hiện trên quan điểm lý thuyết ........................ 18
3.3.1. Khoảng cách lân cận của từ đang cần xử lý nhập nhằng nghĩa ......................... 19
3.3.2. Xử lý từ trong nhóm từ đồng xuất hiện ............................................................. 19
iii
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
3.3.3. Chuyển đổi từ trong nhóm từ đồng xuất hiện thành thuộc tính của bộ phân lớp
..................................................................................................................................... 20
Chƣơng 4: Cấu trúc và định dạng của dữ liệu .................................................................... 22
4.1. Dữ liệu đầu vào ........................................................................................................ 22
4.1.1. Dữ liệu chuẩn đã gán nghĩa ............................................................................... 22
4.1.2. Dữ liệu chƣa gán nghĩa – BNC .......................................................................... 23
4.2. Dữ liệu sử dụng trong quá trình chạy chƣơng trình ................................................. 25
4.3. Định dạng file kết quả thực nghiệm ......................................................................... 25
Chƣơng 5: Công cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng
nghĩa. .................................................................................................................................. 27
5.1. Bộ công cụ NLTK .................................................................................................... 27
5.2. Công cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng
nghĩa của từ. .................................................................................................................... 27
5.2.1. Các công cụ chuẩn bị dữ liệu ............................................................................. 28
5.2.2. Hàm công cụ test ............................................................................................... 29
5.2.3. Các hàm phân lớp và mở rộng bộ dữ liệu.......................................................... 30
5.2.4. Các hàm công cụ khác ....................................................................................... 31
Chƣơng 6: Kết quả thực nghiệm ........................................................................................ 32
6.1. Dữ liệu thực nghiệm................................................................................................. 32
6.2. Thí nghiệm 1 ............................................................................................................ 34
6.2.1. Bố trí thí nghiệm ................................................................................................ 34
6.2.2. Kết quả thực nghiệm .......................................................................................... 35
6.2.3. Nhận xét ............................................................................................................. 36
6.3. Thí nghiệm 2 ............................................................................................................ 37
6.3.1. Bố trí thí nghiệm ................................................................................................ 37
6.3.2. Kết quả thực nghiệm .......................................................................................... 38
6.3.3. Nhận xét ............................................................................................................. 38
Chƣơng 7: Kết luận ............................................................................................................ 40
7.1. Các kết quả đạt đƣợc và hạn chế .............................................................................. 40
iv
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
7.2. Các công việc trong tƣơng lai .................................................................................. 41
Tài liệu tham khảo .............................................................................................................. 42
v
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
DANH MỤC HÌNH VẼ
Hình 1: Sơ đồ các dữ liệu và công cụ sử dụng trong nghiên cứu, khảo sát phƣơng pháp
mở rộng dữ liệu huấn luyện cho quá trình xử lý nhập nhằng nghĩa của từ .......................... 4
Hình 2: Sơ đồ các bƣớc của phƣơng pháp mở rộng bộ dữ liệu huấn luyện cho quá trình xử
lý nhập nhằng nghĩa của từ ................................................................................................. 15
vi
Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ
DANH MỤC BẢNG BIỂU
Bảng 1: Các nghĩa và số lƣợng từ tƣơng ứng của từ “line” trong dữ liệu chuẩn ............... 32
Bảng 2: Các nghĩa và số lƣợng từ tƣơng ứng của từ “hard” trong dữ liệu chuẩn .............. 33
Bảng 3: Các nghĩa và số lƣợng từ tƣơng ứng của từ “interest” trong dữ liệu chuẩn ......... 33
Bảng 4: Các nghĩa và số lƣợng từ tƣơng ứng của từ “serve” trong dữ liệu chuẩn ............. 33
Bảng 5: Số lƣợng các từ “line”, “hard”, “serve”, “interest” trong BNC ............................ 34
Bảng 6: Kết quả thí nghiệm 1 của từ “line” ....................................................................... 35
Bảng 7: Kết quả thí nghiệm 1 của từ “hard” ...................................................................... 35
Bảng 8: Kết quả thí nghiệm 1 của từ “serve” ..................................................................... 36
Bảng 9: Kết quả thí nghiệm 1 của từ “interest”.................................................................. 36
Bảng 10: Kết quả thí nghiệm 2 của từ “line” ..................................................................... 38
Bảng 11: Kết quả thí nghiệm 2 của từ “serve” ................................................................... 38
vii
Chƣơng 1: Mở đầu
Chƣơng 1: Mở đầu
1.1. Đặt vấn đề
Xử lý nhập nhằng nghĩa của từ là một trong những vấn đề đƣợc rất nhiều nhà nghiên
cứu trong lĩnh vực xử lý ngôn ngữ tự nhiên quan tâm đến. Vấn đề này đƣợc nêu lên nhƣ
một bài toán riêng biệt lần đầu tiên là vào những năm cuối thập kỷ 40 của thế kỷ 20 và
đƣợc coi nhƣ là một trong những vấn đề lâu đời nhất của lĩnh vực xử lý ngôn ngữ tự
nhiên [1]. Nhận đƣợc nhiều sự quan tâm và từ sớm nhƣ vậy là do xử lý nhập nhằng nghĩa
của từ đóng vai trò quan trọng trong rất nhiều các bài toán khác của xử lý ngôn ngữ tự
nhiên. Ta có thể lấy ví dụ nhƣ trong dịch máy, hệ xử lý nhập nhằng nghĩa của từ làm
nhiệm vụ chọn đúng từ trong ngôn ngữ đích cho những từ trong ngôn ngữ gốc có các cách
dịch sang ngôn ngữ đích là khác nhau với các nghĩa khác nhau [1]. Ngoài ra ta có thể thấy
sự xuất hiện của hệ xử lý nhập nhằng nghĩa của từ trong các hệ thống tìm kiếm thông tin,
khai phá dữ liệu và rất nhiều các ứng dụng hữu ích khác.
Đƣợc quan tâm nhƣ vậy nên ta có thể thấy rất nhiều các phƣơng pháp xử lý nhập
nhằng nghĩa của từ đã đƣợc các nhà nghiên cứu đề xuất. Phƣơng pháp đầu tiên cần nói tới
là phƣơng pháp sử dụng bộ cở sở tri thức để xử lý nhập nhằng nghĩa của từ. Nó không
dùng đến các yếu tố trong văn bản mà hoàn toàn căn cứ vào bộ cơ sở tri thức có sẵn [1].
Điểm yếu của phƣơng pháp này là bộ cơ sở tri thức thƣờng sẽ rất lớn, hơn nữa với sự
phức tạp của ngôn ngữ tự nhiên thì việc dùng các luật để xử lý nhập nhằng cũng chỉ đạt
đƣợc độ chính xác có giới hạn.
Phƣơng pháp dùng các thuật toán không giám sát cũng đang là một hƣớng đi rất
đƣợc chú ý để giải quyết bài toán xử lý nhập nhằng nghĩa của từ. Nó sẽ phân cụm các
trƣờng hợp xuất hiện của từ trong văn bản và từ đó đƣa ra nghĩa của từ [9]. Phƣơng pháp
này có thể là một phƣơng pháp có nhiều cải tiến và hy vọng phát triển trong tƣơng lai tuy
nhiên trong hiện tại nó vẫn chƣa phải phƣơng pháp có độ chính xác cao nhất.
Phƣơng pháp có độ chính xác phân lớp nghĩa của từ cao nhất trong thời điểm hiện
tại vẫn là phƣơng pháp sử dụng các thuật toán học máy có giám sát [9]. Phƣơng pháp này
dựa vào giả thiết rằng văn cảnh xung quanh cho ta đủ cơ sở để có thể kết luận chính xác
1
Chƣơng 1: Mở đầu
nghĩa của một từ [1]. Và do sử dụng các hàm phân lớp dựa trên các thuật toán học có
giám sát, nó đòi hỏi phải có một bộ dữ liệu huấn luyện gồm các trƣờng hợp xuất hiện của
từ đã đƣợc gán nghĩa trƣớc để huấn luyện cho các hàm phân lớp này. Bộ dữ liệu huấn
luyện càng lớn thì khả năng gán nghĩa chính xác cho từ đang cần xử lý nhập nhằng nghĩa
của các hàm phân lớp sau quá trình huấn luyện sẽ càng cao. Tuy vậy, việc phải chuẩn bị
trƣớc bộ dữ liệu huấn luyện lớn là một điểm trừ của phƣơng pháp này, đặc biệt nếu công
việc chuẩn bị dữ liệu phải làm thủ công. Đó thực sự sẽ là một công việc rất nặng nhọc, tốn
rất nhiều thời gian, công sức và có chi phí cao. Từ đó phát sinh nhu cầu phải có một
phƣơng pháp cho phép con ngƣời chỉ cần gán nghĩa thủ công cho một số lƣợng nhỏ các
trƣờng hợp xuất hiện của từ mà đầu ra là một bộ dữ liệu đủ lớn, đủ chính xác để huấn
luyện các hàm phân lớp xử lý nhập nhằng nghĩa của từ. Để đạt đƣợc các yêu cầu đó,
phƣơng pháp này chỉ có thể đƣợc xây dựng dựa vào sức mạnh tự động của máy tính, tức
là, sử dụng máy tính để mở rộng tự động bộ dữ liệu huấn luyện cho quá trình xử lý nhập
nhằng nghĩa của từ.
Nói đến bài toán xử lý nhập nhằng nghĩa của từ thì ta có xử lý nhập nhằng nghĩa cho
những từ mang nội dung (của câu, của văn bản) và cho những từ chức năng (tức là những
từ xuất hiện do yêu cầu về mặt ngữ pháp của ngôn ngữ tự nhiên). Với các từ chức năng
(nhƣ “to”, “from”, “in”, ...) ta có thể sử dụng các luật ngữ pháp hay nhiều yếu tố khác để
xác định nghĩa của từ. Tuy nhiên trong giới hạn của khóa luận này, ta chỉ xét đến các từ
có chứa nội dung (nhƣ “line”, “interest”, “hard”, “serve”, ...).
1.2. Mục tiêu đề tài
Những vấn đề đã nêu ở trên cho ta thấy đƣợc sự cần thiết của việc nghiên cứu, xây
dựng một công cụ hỗ trợ mở rộng bộ dữ liệu huấn luyện xử lý nhập nhằng nghĩa của từ
(mang nội dung) một cách tự động. Yêu cầu chính của công cụ này là hỗ trợ những ngƣời
chuẩn bị dữ liệu xử lý nhập nhằng nghĩa của từ sao cho họ bỏ ra công sức nhỏ nhất, thời
gian ngắn nhất nhƣng thu đƣợc về một bộ dữ liệu lớn, chính xác, có khả năng sửa lỗi một
phần những sai sót trong quá trình gán nghĩa cho từ trong bộ dữ liệu.
Từ yêu cầu thực tế đó, mục tiêu của đề tài khóa luận là trình bày một thuật toán bán
giám sát xử lý nhập nhằng nghĩa của từ đóng vai trò nhƣ một hệ thống mở rộng bộ dữ liệu
xử lý nhập nhằng nghĩa của từ một cách tự động, do đó con ngƣời chỉ cần chuẩn bị một
lƣợng dữ liệu nhỏ đƣợc gán nghĩa cho các trƣờng hợp xuất hiện của từ đang cần gán
2
Chƣơng 1: Mở đầu
nghĩa cùng với một bộ dữ liệu chƣa gán nghĩa từ, ta sử dụng phƣơng pháp này để mở
rộng bộ dữ liệu gán nghĩa ra một cách tự động, cuối cùng thu đƣợc một bộ dữ liệu mới
lớn hơn nhiều lần đồng thời có độ chính xác đủ tốt, và có khả năng sửa một phần lỗi có
thể có trong dữ liệu gán nghĩa ban đầu.
1.3. Đối tƣợng và phƣơng pháp nghiên cứu
Đối tƣợng nghiên cứu của khóa luận là cách thức áp dụng những đặc tính của từ
trong ngôn ngữ tự nhiên vào quá trình mở rộng tự động bộ dữ liệu nghĩa của từ (mang nội
dung).
Phƣơng pháp nghiên cứu là dựa vào bộ công cụ xử lý ngôn ngữ tự nhiên (nltk) có
sẵn để xây dựng một bộ công cụ cho phép đƣa ra, khảo sát, và khẳng định đƣợc một cách
thức cụ thể để mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ. Trong khóa luận, tiếng
Anh đƣợc lấy làm ví dụ do tiếng Anh đƣợc coi là một ngôn ngữ quốc tế, nhu cầu dịch từ
tiếng Anh ra các ngôn ngữ khác và ngƣợc lại là khá cao. Tuy vậy, phƣơng pháp đƣợc
trình bày có thể áp dụng cho các ngôn ngữ khác ngoài tiếng Anh.
3
Chƣơng 1: Mở đầu
Dữ liệu chuẩn
chƣa định dạng
Huấn luyện bộ phân lớp
Naive Bayes
Bộ dữ liệu văn
bản
nltk.classify.naivebayes
Chuẩn bị dữ
liệu (định dạng)
Công cụ tự xd
Dữ liệu gán
nghĩa ban
đầu của từ
đang xét
Dữ liệu gán
nghĩa của từ
đang xét (mở
rộng sau vòng
lặp đầu tiên)
Phân lớp nghĩa
nltk.classify.naivebayes
Chuẩn bị dữ
liệu (liệt kê,
định dạng)
Công cụ tự xd
Dữ liệu chƣa
gán nghĩa của
từ đang xét
Gán lại nghĩa trong cùng
văn bản, loại bỏ trƣờng
hợp có xác suất thấp
Công cụ tự xây dựng
Điều kiện dừng
Chƣa thỏa mãn điều
kiện dừng, tiếp tục
huấn luyện
Dữ liệu gán
nghĩa mở rộng
của từ đang xét
Hình 1: Sơ đồ các dữ liệu và công cụ sử dụng trong nghiên cứu, khảo sát phương pháp
mở rộng dữ liệu huấn luyện cho quá trình xử lý nhập nhằng nghĩa của từ
4
Chƣơng 1: Mở đầu
1.4. Cấu trúc khóa luận
Khóa luận đƣợc tổ chức thành các chƣơng nhƣ sau:
Chƣơng 1: Mở đầu
Chƣơng này nhằm nêu bật sự cần thiết, ý nghĩa thực tiễn, đối tƣợng, phƣơng
pháp nghiên cứu, mục tiêu của đề tài phƣơng pháp tự động mở rộng bộ dữ liệu
huấn luyện cho quá trình xử lý nhập nhằng nghĩa của từ.
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập
nhằng nghĩa của từ
Chƣơng này chỉ ra những đặc tính của từ liên quan đến nghĩa của nó, giúp ích
cho quá trình mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ một cách tự động.
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập
nhằng nghĩa của từ
Chƣơng này nêu lên các thuật toán học máy có giám sát và bán giám sát đƣợc
áp dụng trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ đặc
biệt là khi chỉ có một lƣợng nhỏ dữ liệu huấn luyện ban đầu. Đồng thời, dựa trên lý
thuyết của các thuật toán đã nêu để xem xét đến cách thức lựa chọn và chuyển đổi
những từ thuộc nhóm từ đồng xuất hiện của từ đang cần gán nghĩa thành các thuộc
tính sử dụng cho quá trình phân lớp nghĩa của từ đó.
Chƣơng 4: Cấu trúc và định dạng của dữ liệu
Chƣơng này giới thiệu định dạng dữ liệu chuẩn dùng để huấn luyện và kiểm
thử bộ xử lý nhập nhằng nghĩa của từ và bộ dữ liệu không gán nhãn dùng cho quá
trình mở rộng tự động bộ dữ liệu huấn luyện chuẩn ban đầu.
Chƣơng 5: Công cụ khảo sát, kiểm tra phƣơng pháp mở rộng bộ dữ liệu xử lý
nhập nhằng nghĩa
Chƣơng này giới thiệu sơ lƣợc về công cụ đƣợc sử dụng để nghiên cứu, kiểm
tra phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ.
Chƣơng 6: Kết quả thực nghiệm
5
Chƣơng 1: Mở đầu
Chƣơng này nêu kết quả thực nghiệm. So sánh kết quả khi chỉ dùng dữ liệu
huấn luyện ban đầu và sau khi đã mở rộng đƣợc bộ dữ liệu huấn luyện. Ngoài ra,
chƣơng này còn so sánh kết quả thực nghiệm khi thay đổi một vài lựa chọn về từ
trong nhóm từ đồng xuất hiện với từ đang cần xử lý nhập nhằng hoặc khi thay đổi
số lƣợng các trƣờng hợp xuất hiện của từ trong bộ dữ liệu huấn luyện ban đầu.
Chƣơng 7: Kết luận
Chƣơng này nêu lên và đánh giá những kết quả đã đạt đƣợc, đồng thời đƣa ra
những công việc cần làm trong tƣơng lai để cải tiến mở rộng thêm phƣơng pháp tự
động mở rộng bộ dữ liệu huấn luyện xử lý nhập nhằng nghĩa của từ.
6
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử
lý nhập nhằng nghĩa của từ
Đặc tính của từ trong ngôn ngữ tự nhiên có rất nhiều. Tuy nhiên ta chỉ quan tâm đến
hai đặc tính giúp ích cho vấn đề mở rộng bộ dữ liệu xử lý nhập nhằng đó là:
Một nghĩa trong một nhóm từ đồng xuất hiện: Một từ thƣờng chỉ mang một
nghĩa khi xét trong trƣờng hợp nó đi kèm với cùng các từ giống nhau dù trong các câu
khác nhau.
Một nghĩa trong một văn bản: tức là một từ thƣờng có xu hƣớng mang một
nghĩa trong một văn bản. Rất hiếm trƣờng hợp có từ mang hai hay nhiều nghĩa trong cùng
một văn bản.
Đƣơng nhiên nhƣ đã nói ở trên, hiện tại ta đang chỉ xét đến những từ mang nội
dung, còn những từ chức năng nằm ngoài phạm vi nghiên cứu của khóa luận này.
2.1.
Một nghĩa trong một nhóm từ đồng xuất hiện
Một từ có thể có nhiều nghĩa và nghĩa của nó lại phụ thuộc vào văn cảnh mà nó
đƣợc xét. Những từ xung quanh một từ chính là những từ tạo ra văn cảnh cho từ đó.
Chính vì vậy, dù trong hai câu khác nhau, từ vẫn thƣờng có cùng một nghĩa khi cùng đi
kèm với các từ đồng thời xuất hiện trên cả hai câu đó. Nhƣ vậy, đầu mối cho phép ta xác
định nghĩa của từ đang cần xử lý nhập nhằng nghía chính là những từ xung quanh nó.
Đặc tính một nghĩa trong một nhóm từ đồng xuất hiện nêu ở trên đã đƣợc
Yarowsky[6] khảo sát và đánh giá. Tác giả này nghiên cứu trên một tập văn bản 380 triệu
từ bao gồm rất nhiều nguồn và kết quả là độ chính xác trung bình của đặc tính một nghĩa
trong một nhóm từ đồng xuất hiện ở vào khoảng 95%. Tuy vậy, theo Yakowsky, đặc tính
này phụ thuộc vào loại nhóm từ đồng xuất hiện. Nó là một đặc tính rất mạnh khi các từ ta
căn cứ vào nằm liền kề và theo thứ tự với từ đang cần gán nghĩa, tuy nhiên nó bị giảm dần
tính đúng đắn theo khoảng cách. Loại từ ta căn cứ vào là loại từ mang nội dung hay không
cũng là một điểm chú ý. Cụ thể là theo nghiên cứu của Yarowsky, độ chính xác của đặc
tính một nghĩa trên một nhóm từ đồng xuất hiện đạt đến trên 97% đối với những nhóm từ
7
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ
đồng xuất hiện mà những từ của nó gần kề, theo thứ tự với từ đang cần gán nghĩa và là
những từ mang nội dung.
Từ những nhận xét rút ra từ nghiên cứu của Yakowsky, ta thấy rằng để áp dụng hiệu
quả đƣợc đặc tính một nghĩa trong một nhóm từ đồng xuất hiện ta cần phải giải quyết
đƣợc vấn đề là làm sao để chọn đƣợc các từ có giá trị nhất và sử dụng cách thức nào để
chuyển đổi chúng thành các thuộc tính sử dụng trong việc phân lớp nghĩa cho từ ta đang
cần gán nghĩa.
2.2.
Một nghĩa trong một văn bản
Một từ thƣờng thống nhất về nghĩa trong cùng một văn bản. Đặc tính này đƣợc
nghiên cứu và đánh giá bởi Gale, Church và Yakowsky [4]. Các tác giả này tiến hành thử
nghiệm bằng cách chọn ngẫu nhiên từ bộ sách giáo khóa của Grolier (Grolier‟s
Encyclopedia) một bộ 82 cặp nhóm từ cùng xuất hiện cho chín từ đa nghĩa là “antenna”,
“campain”, “deposit”, “drum”, “hull”, “interior”, “knife”, “landscape”, và “marine”.
Trong đó 54 cặp đƣợc chọn cùng trong một văn bản. Họ kết luận đƣợc là 94% những cặp
của những từ đa nghĩa này chọn từ cùng một văn bản là có cùng một nghĩa. Với một bộ
văn bản khác là bộ văn bản Brown (Brown Corpus), các từ “antenna”, “drum”, “hull” và
“knife” bị loại bỏ vì chỉ có một nghĩa trong bộ văn bản này. Tuy vậy với 108 cặp nhóm từ
cùng xuất hiện của các từ còn lại nhƣ trong thử nghiệm trƣớc đó, các tác giả đã tiến hành
thực nghiệm để khẳng định thêm đặc tính một nghĩa trên một văn bản. Kết quả là 96% các
cặp này có cùng một nghĩa. Cuối cùng Gale, Church và Yakowsky kết luận đƣợc rằng đặc
tính một nghĩa trong một văn bản là chính xác. Tuy nhiên đặc tính này không mạnh bằng
đặc tính một nghĩa trong một nhóm từ đồng xuất hiện. Tức là nó có thể bị bỏ qua nếu các
từ xung quanh, cùng xuất hiện với từ đang cần gán nghĩa cho ta một khẳng định đủ mạnh
về nghĩa của từ (xác suất xác định dựa vào các yếu tố địa phƣơng lớn hơn một ngƣỡng
nào đó)[7].
Dù có độ ƣu tiên thấp hơn đặc tính một nghĩa trên một nhóm từ đồng xuất hiện
nhƣng đặc tính một nghĩa trong một văn bản có vai trò và tính chất mang tính quyết định
trong quá trình gán nghĩa tự động cho một bộ dữ liệu chƣa gán nghĩa. Cụ thể là nó cho
phép mở rộng bộ dữ liệu gán nghĩa ban đầu thành một bộ dữ liệu rất lớn nhờ vào việc áp
dụng tính chất toàn cục của văn bản mà chỉ dựa vào một số dữ liệu cục bộ đƣợc cung cấp
ban đầu là các trƣờng hợp xuất hiện đã đƣợc gán thủ công trƣớc với các nghĩa của từ đang
8
Chƣơng 2: Các đặc tính của từ liên quan đến mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ
cần gán nghĩa. Hơn nữa, đặc tính này còn cho phép sửa lỗi có trong các dữ liệu ban đầu
hoặc phát sinh trong quá trình tự động bị gán nghĩa sai. Chi tiết cách thức ứng dụng đặc
tính này trong phƣơng pháp mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của
từ sẽ đƣợc trình bày trong phần thuật toán (chƣơng 3) của khóa luận.
9
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu
xử lý nhập nhằng
3.1. Thuật toán học máy có giám sát Naive Bayes
3.1.1. Giới thiệu về Naïve Bayes
Naive Bayes là một thuật toán phân lớp đơn giản nhƣng hiệu quả. Nó cho phép gán
trực tiếp một nhãn lớp c (ở đây là một nghĩa của từ) từ một tập thuộc tính đầu vào với giả
thiết là các thuộc tính trong tập thuộc tính là độc lập với nhau. Tức là xác suất đồng thời
của chúng bằng tổng các xác suất của từng thuộc tính:
𝑛
𝑝 𝑓1, 𝑓2 , … , 𝑓𝑛 =
𝑝(𝑓𝑖 ) (1)
𝑖=1
Để gán nhãn cho một tập các thuộc tính đầu vào, Naive Bayes sẽ xác định xác suất
hậu nghiệm của nhãn lớp c và bộ thuộc tính đầu vào F. Xác suất này theo công thức
Bayes đƣợc tính nhƣ sau
𝑝(𝑐|𝐹) = 𝑝 𝑐 (𝑓1 , 𝑓2 , … 𝑓𝑛 ) =
𝑝 𝑐 𝑝((𝑓1 , 𝑓2 , … 𝑓𝑛 ) |𝑐)
(2)
𝑝(𝑓1 , 𝑓2 , … 𝑓𝑛 )
Nhƣ vậy, đầu tiên ta cần tính xác suất tiên nghiệm của lớp 𝑝(𝑐). Xác suất này đƣợc
xác định dựa vào các dữ liệu huấn luyện ban đầu. Nếu theo lý thuyết ta có thể tính:
𝑝 𝑐 =
𝑐𝑜𝑢𝑛𝑡(𝑐)
(3)
𝑁
Với count(c) là số các trƣờng hợp c đƣợc gán nhãn trong bộ dữ liệu huấn luyện và N
là số nhãn lớp.
Sau khi đã có đƣợc xác suất tiên nghiệm 𝑝(𝑐), ta cần xác định hai xác suất còn lại:
𝑝 𝐹 𝑐 = 𝑝 𝑓1 , 𝑓2 , … , 𝑓𝑛 𝑐) (4)
𝑝 𝐹 = 𝑝 𝑓1 , 𝑓2 , … , 𝑓𝑛
(5)
Nếu theo hai công thức trên thì việc tính toán hai xác suất này trong thực tế là rất
khó. Tuy vậy, theo giả thiết của Naive Bayes về tính độc lập của các thuộc tính, ta có:
𝑝 𝐹 𝑐 = 𝑝 𝑓1 𝑐 𝑝 𝑓2 𝑐 … 𝑝 𝑓𝑛 𝑐 (6)
10
Chƣơng 3: Các thuật toán trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng
𝑝 𝐹 = 𝑝 𝑓1 𝑝 𝑓2 … 𝑝 𝑓𝑛 (7)
Khi này việc tính các xác suất 𝑝 𝐹 𝑐 và 𝑝(𝐹) trở nên dễ dàng với việc tính từng
xác suất nhỏ 𝑝(𝑓𝑖 |𝑐) và 𝑝(𝑓𝑖 ).
Sau quá trình huấn luyện, ta đã xác định đƣợc hết các xác suất tiên nghiệm 𝑝(𝑐), các
xác suất của các thuộc tính 𝑝(𝑓𝑖 ) và 𝑝(𝑓𝑖 |𝑐). Lúc này, nếu đƣa vào một bộ thuộc tính F,
hàm phần lớp Naive Bayes sẽ tính xác suất hậu nghiệm của tất cả các lớp đã đƣợc tính
bằng công thức (2) nhƣ đã trình bày ở trên. Lớp nào có xác suất cao nhất thì sẽ đƣợc chọn
làm nhãn gán cho tập thuộc tính đầu vào F.
Áp dụng trong bài toán xử lý nhập nhằng nghĩa của từ A đang xét, thì ta có c là một
nghĩa thuộc C là tập các nghĩa của từ A. Các f chính là các thuộc tính chuyển hóa từ các
từ thuộc nhóm từ đồng xuất hiện với A.
Giả thiết về sự độc lập của các thuộc tính, ngoài việc làm cho việc tính các xác suất
trở nên đơn giản, còn có một lợi ích khác. Cụ thể Naive Bayes chống lại khá tốt hiện
tƣợng một nhãn lớp do có quá nhiều trong bộ dữ liệu huấn luyện (𝑝(𝑐) lớn) mà có lợi thế
hơn trong quá trình phân lớp. Ta lấy ví dụ, nếu thuộc tính f xuất hiện trong nhóm các
thuộc tính phân lớp từ A với tần xuất trong nghĩa c1 là 20%, nghĩa c2 là 12%, nghĩa c3 là
7%. Nhƣ vậy, giả sử dù nghĩa c3 có xác suất xuất hiện lớn hơn c1 tuy nhiên xác suất hậu
nghiệm của c3 sẽ phải nhân với 0.07 còn c1 sẽ chỉ phải nhân với 0.2. Từ đó có khả năng
trƣờng hợp xuất hiện đó của A vẫn đƣợc gán nhãn là c1.
3.1.2. Ƣớc lƣợng xác suất
Mặc dù việc tính các xác suất nhƣ trong công thức (3), (6) và (7) khá đơn giản và
thuận tiện tuy vậy đó lại không phải là một lựa chọn tốt trong thực tế. Ta hay xem xét
công thức (3). Công thức này sẽ tính rất chính xác trong điều kiện ta có một tập huấn
luyện có đầy đủ các nghĩa và các nghĩa có tỉ lệ hoàn toàn giống trong thực tế. Tuy nhiên
điều này gần nhƣ là không thể có đƣợc. Vì vậy có thể xảy ra hai trƣờng hợp sau:
Tập huấn luyện thiếu một nghĩa trong thực tế:
Điều này hoàn toàn có thể xảy ra vì việc thu thập mẫu trong thực tế không thể
hoàn toàn đầy đủ đƣợc và trong trƣờng hợp này giả sử nghĩa còn thiếu là nghĩa c‟,
nhƣ vậy theo công thức (3) ta có xác suất của nghĩa c‟ là:
𝑐𝑜𝑢𝑛𝑡(𝑐 ′ )
𝑝 𝑐′ =
=0
𝑁
11
- Xem thêm -