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ụ ch
Trang 1ĐẠ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
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 3Mở 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
Trang 4Mở 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
Trang 5Mở 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 tốn trong phương pháp mở rộng bộ dữ liệu xử lý nhập nhằng 10
3.1 Thuật tốn học máy cĩ giám sát Naive Bayes 10
3.1.1 Giới thiệu về Nạve Bayes 10
3.1.2 Ước lượng xác suất 11
3.2 Thuật tố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 tố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
Trang 6Mở 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
Trang 7Mở 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
Trang 8Mở 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ừ 4Hì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
Trang 9Mở 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
Trang 10sự 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
Trang 11là, 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
Trang 12Chươ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
Trang 13Chương 1: Mở đầu
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ừ
Dữ liệu chưa gán nghĩa của
Chuẩn bị dữ liệu (liệt kê, định dạng) Công cụ tự xd Phân lớp nghĩa
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
Dữ liệu gán
nghĩa ban
đầu của từ
đang xét
Trang 14Chươ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
Trang 15Chươ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ừ
Trang 16Chươ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
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ừ
Trang 17Chươ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
Trang 18Chươ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
Trang 19Chương 3: Các thuật tố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 tốn trong phương pháp mở rộng bộ dữ liệu
xử lý nhập nhằng
3.1 Thuật tốn học máy cĩ giám sát Naive Bayes
3.1.1 Giới thiệu về Nạve Bayes
Naive Bayes là một thuật tố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 ,𝑓2 ,… 𝑓𝑛) |𝑐)
𝑝(𝑓1 ,𝑓2 ,… 𝑓𝑛) (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
Trang 20Chươ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
Á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à:
𝑐𝑜𝑢𝑛𝑡(𝑐′)
Trang 21Chươ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
Tức là nếu hàm phân lớp của ta gặp một trường hợp trong thực tế có nghĩa c‟ thì theo công thức (3) và công thức (1), xác suất của nó theo hàm phân lớp sẽ bằng
0, sẽ không có một trường hợp nào được gán nghĩa c‟ cả
Tập huấn luyện chỉ có một nghĩa:
Điều này ít xảy ra nhưng không phải là không có Khi đó theo công thức (3) xác suất của nghĩa đó sẽ bằng 1 Điều này đương nhiên không đúng với thực tế Việc tính các xác suất trong các công thức (6) và (7) cũng gặp vấn đề gần tương tự
Để giải quyết một phần các trường hợp này người ta đề xuất các biện pháp làm mịn khác nhau Các phương pháp này không thể giúp tính toán hoàn toàn chính xác các xác suất nhưng chúng cho phép loại bỏ các trường hợp xác suất bằng 0 hoặc bằng 1
Sau đây là các phương pháp làm mịn được mô tả cụ thể để giải quyết các vấn đề gặp phải với công thức (3) Những vấn đề trong việc tính các xác suất trong các công thức (6)
và (7) có thể được giải quyết một cách tương tự
3.1.2.1 Ước lượng Laplace
Ước lượng Laplace là một trong những ước lượng xác suất đơn giản nhất Nó giả sử rằng mọi trường hợp đều đã xảy ra ít nhất một lần
𝑝 𝑐′ = 𝑐𝑜𝑢𝑛𝑡(𝑐′) + 1
𝑁 + 𝐵Trong đó N là số các trường hợp trong tập huấn luyện và B là số các nghĩa có thể có
3.1.2.2 Ước lượng hợp lý cực đại
Một trong những điểm không tốt của Ước lượng Laplace là nó tính xác suất quá lớn cho các nghĩa chưa từng xảy ra Ước lượng hợp lý cực đại hạn chế bớt một phần đó là thay vì cộng 1 như Laplace, nó sẽ cộng 0.5 cụ thể như sau
𝑝 𝑐′ = 𝑐𝑜𝑢𝑛𝑡 𝑐
′ + 0.5
𝑁 + 0.5𝐵
3.1.2.3 Ước lượng Lidstone
Cả ước lượng Laplace và ước lượng hợp lý cực đại đều là trường hợp đặc biệt của ước lượng Lidstone
𝑝 𝑐′ = 𝑐𝑜𝑢𝑛𝑡 𝑐
𝑁+ ∝ 𝐵
Trang 22Chươ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
Trong đó ∝ là một số thường được lấy trong đoạn [0, 1] Ước lượng Lidstone làm việc tương tự như ước lượng hợp lý cực đại và ước lượng Laplace Nó chỉ tốt hơn ở chỗ thay vì dùng hằng số cố định, nó sử dụng một số có thể thay đổi được Tuy vậy, chỗ yếu của nó đó là làm sao để tính được số ∝ đó
3.1.2.4 Ước lượng Good Turing
Ý tưởng của ước lượng Good Turing là ước lượng các xác suất của những nghĩa chưa xuất hiện bằng các nghĩa đã xuất hiện một lần Với Nc số các nghĩa đã xuất hiện c lần, ta coi như nó đã xuất hiện c* lần
Trang 23Chương 3: Các thuật tốn trong phương pháp mở rộng bộ dữ liệu xử lý nhập nhằng
định thực sự sẽ gặp vấn đề về tìm kiếm và sắp xếp khi danh sách quyết định trở nên lớn hơn, mà điều này là điều ta đang mong muốn do mục đích là mở rộng được bộ dữ liệu Một điểm hạn chế khác nữa là danh sách quyết định chỉ dựa vào trường hợp xuất hiện của
từ cĩ xác suất cao nhất, phù hợp với trường hợp đang cần gán nghĩa (phù hợp ở đây là cĩ những từ đồng xuất hiện giống với trường hợp xuất hiện của từ đang cần gán nghĩa), do vậy, khả năng phân lớp nghĩa của danh sách quyết định cũng bị hạn chế Với những hạn chế nĩi trên của thuật tốn danh sách quyết định, tơi muốn đưa ra một cách sử dụng một hàm phân lớp Nạve Bayes làm nhiệm vụ phân lớp nghĩa dựa vào các nhĩm từ đồng xuất hiện của từ đang cần gán nghĩa, đĩng vai trị làm nhân cho thuật tốn mở rộng bộ dữ liệu
xử lý nhập nhằng để phần nào cải tiện được hiệu suất chung của tồn bộ hệ thống, đồng thời tăng thêm độ chính xác cho bộ dữ liệu huấn luyện được mở rộng ở đầu ra
3.2.2 Các bước của thuật tốn
Dữ liệu đầu vào của thuật tốn là một bộ dữ liệu huấn luyện nhỏ cĩ các câu chứa từ đang cần gán nghĩa và nghĩa của từ đĩ đã được gán trước Thứ hai, ta cần cĩ một bộ dữ liệu chưa được gán nghĩa của từ Bộ dữ liệu này càng lớn thì khả năng mở rộng bộ dữ liệu huấn luyện ban đầu càng cao Dữ liệu đầu ra của thuật tốn là một bộ dữ liệu lớn, mở rộng từ bộ dữ liệu nhỏ ban đầu Đi vào chi tiết, thuật tốn cĩ các bước như sau
Trang 24Chươ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
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ừ
Dữ liệu chưa gán nghĩa của
từ đang xét
Huấn luyện bộ phân lớp Naive Bayes (3.2.2.2)
Bộ dữ liệu văn bản
Chuẩn bị dữ liệu (liệt kê, định dạng) (3.2.2.1)
Phân lớp nghĩa cho từ đang xét dựa vào nhóm từ đồng xuất hiện (3.2.2.3)
Dữ liệu chuẩn
chưa định dạng
Gán lại nghĩa dựa vào đặc tình một nghĩa trong một văn bản (3.2.2.4 Bước 1)
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
Loại bỏ những trường hợp
có xác suất quá thấp (3.2.2.4 Bước 2)
Dữ liệu gán nghĩa
mở rộng
Dữ liệu gán
nghĩa ban đầu
của từ đang xét
Trang 25Chương 3: Các thuật tốn trong phương pháp mở rộng bộ dữ liệu xử lý nhập nhằng
3.2.2.1 Chuẩn bị dữ liệu
Tại bước này ta cần liệt kê và định dạng theo chuẩn nhất định tất cả các câu cĩ chứa
từ cần gán nghĩa cĩ trong bộ dữ liệu chưa gán nghĩa và bộ dữ liệu đã gán nghĩa của từ Tuy liệt kê nhưng ta vẫn phải cĩ phương thức để bảo tồn quan hệ khơng thuộc hoặc cùng thuộc một văn bản của các câu Đồng thời, chọn luơn những từ cĩ thể cĩ khả năng đĩng vai trị là những từ thuộc nhĩm từ đồng xuất hiện, hay là những từ đĩng vai trị làm văn cảnh cho phép ta căn cứ vào để gán nghĩa cho từ đang cần gán nghĩa Các phương pháp chọn từ thuộc nhĩm từ đồng xuất hiện tơi sẽ trình bày cụ thể ở phần sau của chương này Tuy nhiên, cĩ một điểm cần lưu ý là nếu ta chọn phương pháp nào để lấy từ thuộc nhĩm
từ đồng xuất hiện thì ta phải thống nhất phương pháp đĩ cho cả bộ dữ liệu đã gán nghĩa
và chưa gán nghĩa để đạt được hiệu quả cao nhất
3.2.2.2 Huấn luyện bộ phân lớp Nạve Bayes
Từ dữ liệu đã được liệt kê, định dạng và chọn từ cĩ khả năng làm làm văn cảnh cho
từ cần gán nghĩa của bộ dữ liệu huấn luyện ban đầu đã cĩ từ bước 3.2.2.1, ta tiến hành tạo các bộ thuộc tính để huấn luyện cho bộ phân lớp Nạve Bayes Theo đĩ mỗi từ trong nhĩm từ đồng xuất hiện của từ đang cần gán nghĩa sẽ đi kèm một giá trị nào đĩ (giá trị này tùy theo cách chuyển đổi các từ từ nhĩm các từ đồng xuất hiện sang tập các thuộc tính) và mỗi cặp (từ, giá trị) đĩ trở thành một thuộc tính Cách thức chuyển đổi thành thuộc tính như thế nào cịn tùy thuộc vào loại thơng tin nào của từ trong nhĩm từ đồng xuất hiện với từ đang cần gán nghĩa mà ta muốn giữ lại Phương thức chuyển đổi thành các thuộc tính là một yếu tố cĩ ảnh hưởng trực tiếp đến độ chính xác của quá trình phân lớp nghĩa của từ nên cần xem xét một cách cẩn thận Chi tiết cụ thể về các phương thức này sẽ được trình bày ở phần sau của chương này Khi đã cĩ được tập các thuộc tính, thì
từ các cơng thức đã nêu ở trên và các thuộc tính (từ, giá trị) cĩ mặt trong mỗi trường hợp xuất hiện của từ, ta ước lượng được các xác suất hay các mẫu (model) cần thiết cho quá trình phân lớp sau này (như đã trình bày ở phần 3.1)
3.2.2.3 Phân lớp nghĩa của từ
Ta sử dụng bộ phân lớp Nạve Bayes đã được huấn luyện ở trên để tiến hành gán nghĩa lại cho tồn bộ dữ liệu bao gồm cả dữ liệu đã gán nghĩa và chưa gán nghĩa Bộ phân lớp sẽ tính xác suất của mỗi nghĩa trên mỗi trường hợp xuất hiện của từ và chọn nghĩa cĩ xác suất cao nhất Việc gán nghĩa lại cả phần dữ liệu huấn luyện là nhằm để gán lại nghĩa