Khóa luận 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ừ

Tài liệu Khóa luận 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ừ: ĐẠ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ừ i 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 ...

pdf51 trang | Chia sẻ: haohao | Lượt xem: 1116 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận 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ừ, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠ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Ừ KHỐ 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Ừ KHỐ 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ừ i 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à hồ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 Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ ii 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 tố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 tố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. Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ iii 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 Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ iv 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 Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ v 7.2. Các cơng việc trong tƣơng lai .................................................................................. 41 Tài liệu tham khảo .............................................................................................................. 42 Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ vi 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 Mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ vii 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 Chƣơng 1: Mở đầu 1 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 tố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 tố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]. Ngồ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à hồn tồ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 tố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 tố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 tố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 Chƣơng 1: Mở đầu 2 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 tố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 tố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 tố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 Chƣơng 1: Mở đầu 3 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 ngồi tiếng Anh. Chƣơng 1: Mở đầu 4 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 từ đang xét Huấn luyện bộ phân lớp Naive Bayes nltk.classify.naivebayes Bộ dữ liệu văn bản Chuẩn bị dữ liệu (liệt kê, định dạng) Cơng cụ tự xd Phân lớp nghĩa nltk.classify.naivebayes Dữ liệu chuẩn chƣa định dạng Cơng cụ tự xd 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 Dữ liệu gán nghĩa của từ đang xét (mở rộng sau vịng lặp đầu tiên) Chuẩn bị dữ liệu (định 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 Dữ liệu gán nghĩa ban đầu của từ đang xét Chƣơng 1: Mở đầu 5 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 tố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 tố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 tố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 Chƣơng 1: Mở đầu 6 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. Ngồ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ừ. 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 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 ngồ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ừ 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ừ 8 đồ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 tồ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 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ừ 9 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 tốn (chƣơng 3) của khĩa luận. 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 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 (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 ,…𝑓𝑛) |𝑐) 𝑝(𝑓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 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 tố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) 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 11 𝑝 𝐹 = 𝑝 𝑓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 tố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, ngồ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ệ hồn tồ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 hồn tồn cĩ thể xảy ra vì việc thu thập mẫu trong thực tế khơng thể hồn tồ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 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 12 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 tốn hồn tồ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 𝑝 𝑐′ = 𝑐𝑜𝑢𝑛𝑡 𝑐′ + ∝ 𝑁+ ∝ 𝐵 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 13 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 𝑐∗ = (𝑐 + 1) 𝑁𝑐 + 1 𝑁𝑐 Từ đĩ ta cĩ p(c) 𝑝 𝑐 = 𝑐 ∗ 𝑁 3.2. Thuật tốn mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ 3.2.1. Giới thiệu Thuật tốn Nạve Bayes là thuật tốn học khá hiệu quả. Tuy vậy, là một thuật tốn học cĩ giám sát nên nhƣợc điểm lớn nhất của nĩ là nĩ yêu cầu bộ dữ liệu huấn luyện lớn để cĩ thể đạt đƣợc độ chính xác cao trong quá trình phân lớp. Trong khi đĩ, mục tiêu của khĩa luận này là tìm cách để giảm thiểu cơng sức của con ngƣời trong quá trình gán nghĩa bằng tay cho từ. Ta chỉ muốn sử dụng một bộ dữ liệu gán nghĩa ban đầu nhỏ, mà nếu nhƣ thế và cố dùng Nạve Bayes để gán nghĩa thì ta lại khơng đảm bảo đƣợc tính chính xác của bộ dữ liệu đầu ra. Do vậy, ta cần phải cĩ một thuật tốn phối hợp với Nạve Bayes để đảm bảo dùng bộ dữ liệu huấn luyện khơng lớn nhƣng độ chính xác vẫn ở mức yêu cầu. Sau đây tơi sẽ trình bày một thuật tốn cho phép mở rộng bộ dữ liệu đầu vào nhỏ ban đầu để cho kết quả đầu ra là một bộ dữ liệu lớn hơn, cho phép xử lý nhập nhằng nghĩa của từ chính xác hơn. Phƣơng pháp này đã từng đƣợc Yakowsky mơ tả nhƣng ơng sử dụng nĩ kèm với thuật tốn học máy danh sách quyết định[7]. Theo đĩ, ơng sử dụng một danh sách các câu chứa từ đang cần gán nghĩa và những câu cĩ xác suất cao nhất sẽ đƣợc xếp trên cùng, tiếp đĩ là các câu cĩ xác suất nhỏ hơn. Tuy vậy, thuật tốn danh sách quyết 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 14 đị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. 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 15 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) Dữ liệu gán nghĩa của từ đang xét (mở rộng sau vịng lặp đầu tiên) Chuẩn bị dữ liệu (định dạng) (3.2.2.1) Điều kiện dừng (3.2.2.5) 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 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 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 16 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 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 17 cho những từ đã cĩ thể bị gán nghĩa sai ban đầu hoặc trong quá trình lặp sau này (Bƣớc 3.2.2.4). Việc phân lớp nghĩa cho các trƣờng hợp xuất hiện của từ đang cần gán nghĩa trong bƣớc này hồn tồn dựa vào các thuộc tính địa phƣơng hay các cặp (từ, giá trị) cĩ đƣợc khi mã hĩa nhĩm từ đồng xuất hiện thành các thuộc tính. Đây chính là bƣớc thể hiện rõ nhất ứng dụng của đặc tính một nghĩa trong một nhĩm từ đồng xuất hiện của từ trong ngơn ngữ tự nhiên. 3.2.2.4. Gán lại nghĩa hoặc loại bỏ những trường hợp sai nhờ vào các thuộc tính tồn cục. Bƣớc này gồm cĩ hai bƣớc nhỏ sau:  Gán lại nghĩa dựa vào đặc tính một nghĩa trong một văn bản: Bƣớc này dựa vào trƣờng hợp xuất hiện của từ đã đƣợc gán nghĩa cĩ xác suất cao nhất trong một văn bản. Nhƣ đã trình bày ở trên, đặc tính một nghĩa trong một văn bản của từ là một đặc tính quan trọng. Vì một từ thƣờng mang một nghĩa trong một văn bản nên ta cĩ thể dựa vào đĩ để mở rộng bộ dữ liệu hoặc sửa lỗi gán nghĩa cĩ trong dữ liệu. Những trƣờng hợp xuất hiện của từ đƣợc gán nghĩa cĩ xác suất quá thấp thƣờng là khơng chính xác. Và khi đĩ khả năng nĩ mang nghĩa của trƣờng hợp đƣợc gán nghĩa cĩ xác suất cao nhất của văn bản là cao hơn. Nhƣ vậy ta thấy rằng, dựa vào đặc tính một nghĩa trong một văn bản của từ, ta vẫn cĩ thể gán nghĩa đƣợc cho các trƣờng hợp xuất hiện của từ mà ta cịn chƣa cĩ thơng tin của chúng để gán nghĩa hoặc là các thơng tin quá ít đến nỗi khơng thể gán nghĩa chính xác.  Loại bỏ các trƣờng hợp cĩ xác suất quá thấp: Dựa vào trƣờng hợp xuất hiện của từ đƣợc gán nghĩa cĩ xác suất cao nhất trong tồn bộ bộ dữ liệu để loại bỏ những trƣờng hợp từ đƣợc gán nghĩa cĩ xác suất nằm dƣới một ngƣỡng nào đĩ (so với xác suất cao nhất kia). Chú ý rằng bộ dữ liệu ở đây là bộ dữ liệu bao gồm cả dữ liệu gán nghĩa ban đầu và dữ liệu gán nghĩa mở rộng từ bộ dữ liệu văn bản chƣa gán nghĩa ở đầu vào. 3.2.2.5. Bước lặp và điều kiện kết thúc Các dữ liệu đƣợc gán nghĩa trong bƣớc 3.2.2.3 và đủ tiêu chuẩn để vƣợt qua bƣớc 3.2.2.4 sẽ trở thành dữ liệu huấn luyện cho bộ phân lớp và quá trình đƣợc lặp lại từ bƣớc 3.2.2.2. 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 18 Vịng lặp kết thúc khi sự thay đổi nhỏ hơn một số cho trƣớc nào đĩ. Chính xác nhất thì ta sẽ phải quan sát sự thay đổi các tham số của hàm phân lớp nhƣ các xác suất về nghĩa của từ, các xác suất của các thuộc tính, các xác suất điều kiện của thuộc tính và từng nhãn lớp (nghĩa của từ đang cần gán nghĩa). Tuy vậy, với số thuộc tính lớn khoảng vài trăm đến vài nghìn thì quan sát đƣợc sự thay đổi của chúng khơng phải việc đơn giản. Một cách dễ hơn để xác định điều kiện kết thúc vịng lặp là quan sát sự thay đổi về số lƣợng của tập dữ liệu mở rộng ở đầu ra. Vì khi bộ phân lớp đã ổn định, các tham số khơng cịn thay đổi (hoặc thay đổi rất ít trong giới hạn nào đĩ) thì xác suất gán nghĩa cho các trƣờng hợp xuất hiện trong tồn bộ dữ liệu sẽ khơng thay đổi. Khi đĩ, tập các trƣờng hợp đƣợc gán nghĩa lại của từ vƣợt qua ngƣỡng cho phép sẽ khơng cịn thay đổi và kết quả là số lƣợng các trƣờng hợp xuất hiện của từ trong bộ dữ liệu mở rộng ở đầu ra sẽ khơng thay đổi nữa. Cách này tuy dễ hơn và nhanh hơn nhiều nhƣng lại thiếu chính xác hơn so với cách trƣớc. Ngồi cách thức xác định điều kiện dừng vịng lặp thì một điểm khác cần lƣu ý ở đây là khơng nhất thiết tất cả các trƣờng hợp xuất hiện của từ trong bộ dữ liệu đã gán nghĩa ban đầu đều sẽ xuất hiện trong tập dữ liệu đầu ra hoặc chúng cũng cĩ thể xuất hiện nhƣng với nghĩa khác nghĩa đã đƣợc gán ban đầu. Điều này là do trong quá trình lặp cĩ thể trƣờng hợp đã gán nghĩa đĩ khơng cịn đủ độ tin cậy (xác suất nhỏ hơn nghƣỡng cho phép) nên đã bị loại ra khỏi tập dữ liệu cuối cùng hoặc đã bị gán nghĩa lại. Nhƣ vậy ta thấy rằng với một bộ dữ liệu chƣa gán nghĩa lớn, đầy đủ các nghĩa của từ thì nếu trong tập dữ liệu huấn luyện ban đầu cĩ một lƣợng nhỏ dữ liệu bị gán nghĩa sai thì trong quá trình mở rộng dữ liệu, nĩ cĩ thể sẽ bị loại ra khỏi tập dữ liệu cuối cùng. Cuối cùng, sau quá trình lặp lại nhiều lần việc gán nghĩa cho bộ dữ liệu hỗn hợp các trƣờng hợp xuất hiện đƣợc gán nghĩa và chƣa đƣợc gán nghĩa của từ cần xét, ta đã thu đƣợc một bộ dữ liệu lớn hơn đƣợc gán nghĩa đầy đủ của từ. Nhƣ vậy, ta đã giảm đƣợc rõ rệt khối lƣợng cơng việc gán nghĩa thủ cơng trƣớc đây. Từ đĩ cho phép chúng ta cĩ đƣợc các bộ dữ liệu lớn hơn trƣớc đây nhiều lần trong một thời gian ngắn hơn nhiều. 3.3. Lựa chọn từ cho nhĩm từ đồng xuất hiện trên quan điểm lý thuyết Từ đặc tính của từ và của thuật tốn học bán giám sát lấy Nạve Bayes làm nhân, đĩng vai trị phân lớp nghĩa của từ theo đặc tính một nghĩa trong một nhĩm từ đồng xuất hiện trong mỗi vịng lặp, ta quay lại xem xét một cách lý thuyết các lựa chọn về cách chọn 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 19 những từ cho nhĩm từ đồng xuất hiện của từ đang cần gán nghĩa nhƣ thế nào. Ở đây cĩ một số vấn đề nhƣ sau: thứ nhất là chọn từ ở khoảng cách nào; thứ hai là những từ đƣợc chọn cĩ cần xử lý trƣớc khi đƣa vào xử lý nhập nhằng nghĩa hay khơng; thứ ba là lựa chọn những thơng tin nào của chúng để chuyển hĩa thành thuộc tính, và thể hiện những thơng tin đĩ nhƣ thế nào. 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 Đầu tiên là vấn đề chọn đƣợc những từ nằm trong khoảng cách thích hợp với từ đang cần gán nghĩa. Vì theo đặc tính một nghĩa trong một nhĩm từ đồng xuất hiện của từ, các từ ở khoảng cách càng xa thì càng ít giá trị trong việc khẳng định nghĩa của từ. Vì thế tơi chỉ lấy trong khoảng cách 5 từ so với vị trí của từ đang xét, tức là một nhĩm 10 từ gồm 5 từ trƣớc, 5 từ sau từ đang cần gán nghĩa sẽ đƣợc chọn vào nhĩm từ đồng xuất hiện của nĩ. 3.3.2. Xử lý từ trong nhĩm từ đồng xuất hiện Ngoại trừ các mạo từ, giới từ hay một số nhĩm từ chức năng khác, một từ thƣờng cĩ nhiều thể hiện về mặt hình thái nhƣ số ít, số nhiều của danh từ, hay các động từ cĩ các dạng khác nhau khi cĩ chủ ngữ là số ít hoặc ở các thời khác nhau … Vì vậy, một câu hỏi cần đặt ra là cĩ tiến hành chuyển đổi về gốc nguyên thể của từ hay khơng. Cần xác định rõ là chuyển đổi về từ nguyên thể ở đây là quá trình loại bỏ các hậu tố sao cho từ đƣợc cho trở về dạng nguyên thể. Ví dụ nhƣ: Generations => generation Letters => letter Adding => add Easier => easy … Việc này cho phép ta tránh xử lý những trƣờng hợp từ bị thay đổi do các yêu cầu về ngữ pháp của ngơn ngữ nhƣng thực chất nĩ chỉ là một từ. Tức là nghĩa của nĩ về cơ bản khơng đổi. Mà thực chất nghĩa cơ bản của từ mới là yếu tố giúp xác định văn cảnh của câu. Việc này cĩ hai lợi ích nhƣ sau. 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 20 Lợi ích thứ nhất của việc này đĩ là ta giảm đƣợc số lƣợng các từ thuộc nhĩm từ đồng xuất hiện (hay đúng hơn là giảm hiện tƣợng lặp từ) tức là giảm đƣợc số lƣợng các thuộc tính (các cặp (từ số ít, giá trị), (từ số nhiều, giá trị), ... sẽ chỉ cịn là 1 thuộc tính (từ nguyên thể, giá trị)). Điều này cho phép tăng tốc độ của quá trình huấn luyện và gán nghĩa của Nạve Bayes và tăng tốc độ hội tụ của thuật tốn xử lý nhập nhằng nghĩa của từ bán giám sát. Lợi ích thứ hai là cũng theo giả định về tính độc lập của Nạve Bayes, sử dụng quá nhiều biến thể của từ (coi là từ chứa nội dung) trong nhĩm từ đồng xuất hiện cĩ thể làm giảm hiệu quả phân lớp về mặt lý thuyết. Cụ thể là, giả sử nhƣ ta cĩ các biến thể khác nhau w, w‟, w‟‟ của từ W và chúng đều đƣợc chọn để đƣa vào nhĩm từ đồng xuất hiện phân lớp cho một từ A cĩ nghĩa c ở các trƣờng hợp xuất hiện khác nhau của A nhƣng khi chuyển hĩa thành thuộc tính chúng đều cĩ giá trị x thuộc X (tức là thành các cặp (w, x), (w‟,x), (w‟‟,x) (Tập giá trị X của x đƣợc xác định tùy thuộc vào cách thức chuyển đổi thành thuộc tính). Vì chỉ là những biến thể của W nên chúng đều cĩ nghĩa cW nào đĩ. Giả sử nhƣ tính chung tất cả các biến thể thì W cĩ tới 20% là thuộc nhĩm từ đồng xuất hiện của A cùng đi kèm với giá trị x, tuy nhiên tính riêng từng biến thể thì w cĩ 10%, w‟ cĩ 6% và w‟‟ cĩ 4%. Nhƣ vậy, khi phân lớp, thay vì xác suất ƣớc lƣợng của A cĩ nghĩa c sẽ nhân với 0.2 (là xác suất 𝑝(𝑊𝑥 |𝑐)) (Wx là chỉ thuộc tính với cặp (W,x)) thì do W bị chia thành các biến thể và do giả định độc lập của Nạve Bayes mà khi này con số sẽ là 0.1 (𝑝 𝑤𝑥 𝑐 ), hoặc 0.06 (𝑝 𝑤′𝑥 𝑐 ), hoặc 0.04 (𝑝 𝑤′′𝑥 𝑐 ) lần lƣợt cho các trƣờng hợp từ A xuất hiện với (w, x), (w‟, x), (w‟‟, x). Nhƣ vậy, xác suất phân lớp sẽ giảm đáng kể trong trƣờng hợp để nguyên những biến thể hình thái của các từ trong nhĩm từ đồng xuất hiện so với trƣờng hợp chúng ta chuyển những từ này về dạng nguyên thể. Tĩm lại, về mặt lý thuyết, chuyển từ về dạng nguyên thể cịn cĩ thể giúp tăng thêm độ chính xác cho quá trình phân lớp. 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 Một cách chuyển đổi đơn giản nhất cho một thuộc tính từ một từ thuộc nhĩm từ đồng xuất hiện đĩ là theo dạng nhị phân. Theo cách này, nếu từ wi xuất hiện trong nhĩm từ đồng xuất hiện của một trƣờng hợp xuất hiện của từ c đang cần gán nghĩa thì ta cĩ thuộc tính (wi, 1), và ngƣợc lại (wi, 0). Nhƣ vậy, cách chuyển đổi này cho phép thể hiện đƣợc thơng tin từ wi cĩ xuất hiện trong nhĩm từ đồng xuất hiện hay khơng. Tuy vậy, nếu 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 21 sử dụng cách này thì sẽ xảy ra rất nhiều trƣờng hợp nhập nhằng do cĩ thể cĩ nhiều nhĩm từ đồng xuất hiện của từ đƣợc gán nghĩa khác nhau nhƣng cùng cĩ các từ giống nhau và chỉ khác về vị trí của các từ trong nhĩm. Khi đĩ theo cách chuyển đổi này, tất cả các nhĩm này đều cĩ cùng một bộ thuộc tính. Điều này sẽ hạn chế khả năng phân lớp chính xác của Nạve Bayes. Cách chuyển đổi thứ hai khắc phục nhƣợc điểm của cách chuyển đổi theo dạng nhị phân, đĩ là, ta sẽ căn cứ theo khơng chỉ sự xuất hiện của từ mà cịn theo cả vị trí của từ để xác định các thuộc tính. Cụ thể là nếu các từ xuất hiện trong nhĩm từ đồng xuất hiện của từ c đang cần gán nghĩa theo thứ tự: w1 w2 w3 w4 w5 c w6 w7 w8 w9 w10 Thì ta sẽ cĩ bộ thuộc tính: (w1, -5), (w2, -4), …, (w10, 5) Cĩ thể thấy rằng với cách chuyển đổi thành thuộc tính nhƣ vậy, ta đã bảo tồn đƣợc thơng tin về vị trí của các từ trong nhĩm từ đồng xuất hiện và khơng cịn sự nhập nhằng giữa các nhĩm từ đồng xuất hiện cĩ cùng các từ giống nhau nhƣng khác về vị trí các từ. Ngồi hai cách chuyển đổi từ trong nhĩm từ đồng xuất hiện thành thuộc tính nhƣ ở trên thì ta cịn rất nhiều cách mã hĩa thuộc tính khác nữa cho phép giữ đƣợc nhiều thơng tin hơn nữa của các từ đồng xuất hiện với từ cần gán nghĩa ví dụ nhƣ các thơng tin về từ loại chẳng hạn. Sử dụng đƣợc thêm thơng tin của từ loại sẽ giúp tăng thêm rất nhiều độ chính xác cho bộ phân lớp Naive Bayes. Tuy vậy, đề tài khĩa luận này khơng tập trung vào Naive Bayes và cách thức để hàm phân lớp này đạt đƣợc độ chính xác cao nhất mà chủ yếu đặt trọng tâm vào nghiên cứu, khảo sát phƣơng pháp mở rộng bộ dữ liệu. Chính vì vậy tơi muốn giữ việc chọn thuộc tính ở mức đơn giản cho phép. Chƣơng 4: Cấu trúc và định dạng của dữ liệu 22 Chƣơng 4: Cấu trúc và định dạng của dữ liệu 4.1. Dữ liệu đầu vào Nhƣ đã trình bày ở phần thuật tốn, phƣơng pháp mở rộng dữ liệu đƣợc trình bày trong khĩa luận này là một phƣơng pháp học máy bán giám sát. Phần nhân của phƣơng pháp này là một thuật tốn học cĩ giám sát Nạve Bayes. Vì vậy, ta cần thiết phải cĩ một lƣợng dữ liệu chuẩn (tức là đã gán nghĩa cho mỗi trƣờng hợp xuất hiện của từ đang cần gán nghĩa) dùng để huấn luyện cho Nạve Bayes trong giai đoạn đầu. Ngồi ra ta cịn cần một bộ dữ liệu văn bản lớn khác chƣa đƣợc gán nghĩa dùng trong quá trình mở rộng bộ dữ liệu ban đầu thành bộ dữ liệu đầu ra. Sau đây tơi sẽ trình bày cụ thể về định dạng của hai bộ dữ liệu đã gán nghĩa và chƣa gán nghĩa cho các trƣờng hợp xuất hiện của từ đang cần gán nghĩa đƣợc sử dụng trong thí nghiệm. 4.1.1. Dữ liệu chuẩn đã gán nghĩa Dữ liệu chuẩn sử dụng trong khĩa luận này là bộ dữ liệu cho các từ chứa nội dung hay các từ mang nghĩa của câu và văn bản. Trong đĩ các trƣờng hợp xuất hiện của mỗi từ đƣợc gộp vào cùng một file với tên là từ đang cần gán nghĩa cộng với phần đuơi “.pos”. Từ file đĩ, ta cĩ thể lấy đƣợc các thơng tin về nghĩa của từ, các tên của văn bản nguồn chứa trƣờng hợp từ mang nghĩa đĩ và các câu chứa từ đĩ đã đƣợc phân loại từ loại theo chuẩn Penn Treebank . Cụ thể một đoạn văn bản chứa 1 trƣờng hợp từ “line” cĩ nghĩa “cord” đƣợc định dạng nhƣ sau: the/DT company/NN argued/VBD that/IN its/PRP$ foreman/NN needn/NN 't/NN have/VBP told/VBN the/DT worker/NN not/RB to/TO move/VB the/DT plank/NN to/TO which/WDT his/PRP$ lifeline/NN was/VBD tied/VBN because/IN ''/'' that/WDT comes/VBZ with/IN common/JJ sense/NN ./. ''/'' Chƣơng 4: Cấu trúc và định dạng của dữ liệu 23 the/DT commission/NN noted/VBD ,/, however/RB ,/, that/IN dellovade/NNP hadn/NN 't/NN instructed/VBD its/PRP$ employees/NNS on/IN how/WRB to/TO secure/VB their/PRP$ lifelines/NNS and/CC didn/VBD 't/NN heed/NN a/DT federal/JJ inspector/NN 's/POS earlier/JJR suggestion/NN that/IN the/DT company/NN install/VB special/JJ safety/NN lines/NNS inside/IN the/DT a-frame/NNP structure/NN it/PRP was/VBD building/VBG ./. Trong đĩ id là thơng tin nhận dạng của từ, senseid chứa nghĩa của từ, và nằm giữa hai tag và là các câu chứa từ đang cần gán nghĩa. Từ đang cần gán nghĩa đứng sau tag khi đứng cùng trong câu. Giữa các từ ngăn cách với nhau bởi 1 ký tự trống và trong một từ, phần từ và phần thơng tin từ loại ngăn cách với nhau bởi ký tự “/” 4.1.2. Dữ liệu chƣa gán nghĩa – BNC BNC là viết tắt của British National Corpus. Đây là một bộ văn bản lớn gồm cĩ trên 100 triệu từ thuộc cả ngơn ngữ nĩi và viết, đƣợc tập hợp từ nhiều nguồn. Phiên bản dùng trong khĩa luận là phiên bản mới nhất BNC XML, xuất bản năm 2007 [8]. Khoảng 90% bộ văn bản là những văn bản viết, bao gồm các tờ báo của các vùng và quốc gia, các tạp chí chuyên nghành và tạp chí cho các lứa tuổi với các sở thích khác nhau, các sách học thuật và các tiểu thuyết nổi tiếng, các bức thƣ, các bài luận của các trƣờng học và nhiều thể loại khác[8]. Ngơn ngữ nĩi chiếm khoảng 10% cịn lại trong bộ văn bản BNC. Nĩ gồm những bản ghi lại các cuộc nĩi chuyện của những ngƣời tình nguyện thuộc nhiều lứa tuổi, ngành nghề, tơn giáo, tầng lớp xã hội khác nhau[8]. Bộ BNC XML đƣợc định dạng theo chuẩn XML 1.0, cung cấp nhiều thơng tin về thể loại của văn bản, các ngắt câu, ngắt từ, các thơng tin về từ loại, về dạng nguyên thể của từ. Sau đây là một đoạn trong một file xml của BNC: Chƣơng 4: Cấu trúc và định dạng của dữ liệu 24 CHAPTER 1 „ But , ‟ said Owen , ... Trong đĩ tag biểu thị đây là một đoạn văn bản viết thuộc loại tiểu thuyết. là biểu thị của trang 5. cho biết đây là một Chƣơng 4: Cấu trúc và định dạng của dữ liệu 25 chƣơng mới. cho biết đây là tên chƣơng. cĩ ý nghĩa là một đoạn văn. Các tag và là các từ và các dấu. 4.2. Dữ liệu sử dụng trong quá trình chạy chƣơng trình Khi chạy bộ xử lý nhập nhằng nghĩa của từ, ta cần chuẩn hĩa bộ dữ liệu đã gán nghĩa và chƣa gán nghĩa. Ở mức đơn giản nhất ta cũng cần loại bỏ các dấu câu và từ đang cần gán nghĩa để lấy ra những từ thuộc nhĩm từ đồng xuất hiện. Ở mức cao hơn, để kiểm chứng lý thuyết về việc chuyển từ thuộc nhĩm từ đồng xuất hiện với từ đang cần gán nghĩa về dạng từ nguyên thể, ta cịn cần tiến hành biến đổi dữ liệu ban đầu nhiều hơn nữa. Một số trƣờng hợp cá biệt, nếu vì lý do nào đĩ mà dữ liệu ban đầu chƣa đƣợc gán nhãn từ loại thì ta cịn phải chạy thêm các thuật tốn phân lớp thơng tin từ loại. Do vậy, dữ liệu đầu vào tỏ ra kém hiệu quả nếu ta sử dụng trực tiếp nĩ trong quá trình chạy và kiểm thử bộ xử lý nhập nhằng nghĩa của từ. Vì thế ta cần phải chuyển nĩ về dạng thích hợp hơn, tránh phải chuẩn hĩa đi chuẩn hĩa lại dữ liệu trong quá trình mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ đang cần gán nghĩa. Định dạng của dữ liệu sử dụng giống hồn tồn với dữ liệu chuẩn và chỉ thêm ngay sau tag một tag chứa câu đã đƣợc chuẩn hĩa. Với các văn bản thuộc bộ dữ liệu chƣa gán nghĩa thì phần senseid trong mỗi trƣờng hợp từ sẽ cĩ giá trị là “Unknown” Dữ liệu sau khi chuẩn hĩa đƣợc lƣu lại vào một thƣ mục gồm file chứa dữ liệu huấn luyện (và các file kiểm tra nếu cĩ) cùng với một thƣ mục “Data” chứa tồn bộ file chứa các trƣờng hợp của từ thuộc bộ dữ liệu chƣa đƣợc gán nghĩa. Các trƣờng hợp thuộc cùng một văn bản sẽ đƣợc chứa vào cùng một file. 4.3. Định dạng file kết quả thực nghiệm File chứa kết quả thực nghiệm đƣợc sinh ra trong quá trình chạy bộ cơng cụ khảo sát phƣơng pháp mở rộng dữ liệu. Từ file này ta sẽ đánh giá đƣợc lý thuyết đƣa ra cĩ phù hợp với kết quả thực tế hay khơng. Ví dụ một file thử nghiệm với từ “serve” cĩ dạng nhƣ sau: Chƣơng 4: Cấu trúc và định dạng của dữ liệu 26 Result file InterestTest3/interest_2.result Change of output instance: 31 Number of Loop: 13 Output File: D:\KhoaLuan\Code\InterestTest3\interest.out with 34366 instances Test 1: Correct per Total: 173/235 Test 2: Correct per Total: 1049/1418 Theo đĩ, dịng đầu tiên là dịng chỉ tên của file test. Dịng thứ hai là mức độ thay đổi cuối cùng về số lƣợng các trƣờng hợp đƣợc đƣa ra, số này cĩ thể là dƣơng hay âm tùy thuộc vào số lƣợng tăng hay giảm. Dịng thứ ba chỉ số vịng lặp đã lặp đến khi hàm mở rộng dữ liệu huấn luyện hội tụ. Dịng thứ tƣ là đƣờng dẫn đến file dữ liệu đầu ra và số lƣợng các trƣờng hợp xuất hiện của từ cĩ trong đĩ. Hai dịng cuối cùng là độ chính xác của quá trình thực nghiệm, đo bằng số trƣờng hợp phân lớp đúng với nghĩa đƣợc gán ban đầu của file dữ liệu chuẩn trên tổng số trƣờng hợp trong hai file kiểm tra. 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 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. 5.1. Bộ cơng cụ NLTK NLTK (Natural Language Toolkit) là một bộ các thƣ viện và chƣơng trình phong phú viết bằng ngơn ngữ Python. Nĩ bao gồm rất nhiều mơ đun, cho phép thực hiện rất nhiều cơng việc thƣờng gặp trong xử lý ngơn ngữ tự nhiên nhƣ đọc một bộ văn bản, xử lý chuỗi ký tự, phát hiện những nhĩm từ đồng xuất hiện đi cùng nhau, việc gán nhãn từ loại, phân lớp, v.v. [2][10] Để phục vụ cho việc nghiên cứu, khảo sát, chứng minh các lý thuyết trong đề tài khĩa luận, tơi đã dùng một số mơ đun của NLTK nhƣ:  Nltk.corpus.reader.bnc: cho phép đọc bộ dữ liệu BNC.  Nltk.classify.naivebayes: cung cấp bộ phân lớp Nạve Bayes làm phần nhân cho thuật tốn mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa của từ.  Nltk.tag: cung cấp bộ gán nhãn từ loại cho những văn bản thiếu thơng tin từ loại.  Nltk.stem.wordnet: cung cấp bộ chuyển đổi từ về dạng từ nguyên thể. 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ừ. Đây là một cơng cụ do tơi lập trình bằng ngơn ngữ Python với mục đích kiểm tra trong thực tế phƣơng pháp mở rộng bộ dữ liệu cĩ cho lại hiệu quả tốt khơng. Vì đƣợc làm ra nhằm mục đích nghiên cứu nên bộ cơng cụ này cĩ những đặc tính sau đây:  Tính tùy biến cao: Vì để nghiên cứu đƣợc thì việc tùy biến đƣợc các thơng số nhƣ mức độ hội tụ của hàm mở rộng dữ liệu, hay nhƣ cĩ tùy chọn cĩ chuyển các từ trong nhĩm từ đồng xuất hiện về dạng nguyên thể hay khơng, là một điều bắt buộc phải cĩ để cĩ thể khảo sát đƣợc kỹ càng các lý thuyết đã nêu ở trên và so sánh các kết quả giữa chúng. 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 28  Tính linh hoạt trong sử dụng: Bộ cơng cụ này cĩ tính linh hoạt cao trong việc sử dụng tức là nĩ cho phép dùng kết hợp các mơ đun theo một cách tự do nhất. Điều này cho phép thiết kế nhiều thử nghiệm khác nhau. Sau đây là những phần chính của bộ cơng cụ cĩ liên quan tới việc bố trí thử nghiệm và kiểm tra kết quả độ chính xác, các phần khác khơng liên quan trực tiếp sẽ chỉ đƣợc trình bày sơ lƣợc: 5.2.1. Các cơng cụ chuẩn bị dữ liệu  Hàm splitTrainTestSet(labeledDataFile, trainPerTotalRate, testPerTotalRate): hàm này nhằm chia file dữ liệu chuẩn ban đầu thành hai file dữ liệu huấn luyện và kiểm tra. Sau khi chia các file huấn luyện và kiểm tra sẽ nằm cùng thƣ mục với file dữ liệu chuẩn, trong đĩ, file huấn luyện và file kiểm tra cĩ tên là tên của file dữ liệu chuẩn và phần mở rộng lần lƣợt là “.train” và “.test”. Các tham số của hàm này là: o labeledDataFile là đƣờng dẫn tới file dữ liệu chuẩn. o trainPerTotalRate và testPerTotalRate là tỉ lệ của các trƣờng hợp đƣợc đƣa vào file huấn luyện và kiểm tra so với tổng số các trƣờng hợp cĩ trong file dữ liệu chuẩn.  Hàm createFormatedData(trainDataPath, testDataPath, test2DataPath, corporaPath, newDataPath, nameOfCorpora, labeledWord, needLemmatizing): hàm này nhằm tạo dữ liệu cho các thử nghiệm. Trong đĩ, các dữ liệu huấn luyện ban đầu, dữ liệu kiểm tra và dữ liệu từ bộ văn bản đều đƣợc chuyển đổi sang dạng định dạng quy định ở phần 4.2. Theo đĩ, việc chuyển đổi các từ thuộc nhĩm từ đồng xuất hiện sang dạng nguyên thể hay khơng sẽ đƣợc thống nhất giữa các dữ liệu ban đầu và bộ dữ liệu. Các tham số của hàm cĩ ý nghĩa nhƣ sau: o trainDataPath: đƣờng dẫn đến file huấn luyện (kết quả từ hàm splitTrainTestSet) o testDataPath, test2DataPath: đƣờng dẫn đến các file kiểm tra (kết quả từ hàm splitTrainTestSet và genRandomTestFile) o corporaPath: đƣờng dẫn đến bộ dữ liệu văn bản chƣa gán nghĩa của từ (ở đây là BNC) 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 29 o newDataPath: đƣờng dẫn cho một thƣ mục mới (chƣa tạo) chứa tồn bộ các dữ liệu đƣợc chuyển đổi. o nameOfCorpora: tên của tập dữ liệu văn bản chƣa gán nghĩa. o labeledWord: từ đang cần đƣợc gán nghĩa để mở rộng bộ xử lý nhập nhằng. o needLemmatizing: nhận giá trị True hoặc False. Nếu là True thì các từ thuộc nhĩm từ đồng xuất hiện từ sẽ đƣợc chuyển đổi về dạng nguyên thể, và ngƣợc lại với False thì các từ đĩ sẽ đƣợc giữ nguyên.  Hàm genRandomTestFile(standardLabeledFile, outputFilePath, trainFile, testPerTotalRate): hàm này cho phép sinh lại file test. Trong đĩ: o standardLabeledFile là đƣờng dẫn đến file dữ liệu chuẩn. o outputFilePath là đƣờng dẫn đến file mới sẽ đƣợc tạo (thƣờng là vào thẳng thƣ mục chứa dữ liệu kiểm tra) o trainFile là đƣờng dẫn đến file huấn luyện đã đƣợc tạo. o testPerTotalRate là tỉ lệ giữa số lƣợng các trƣờng hợp trong tập kiểm tra và tồn bộ tập dữ liệu chuẩn. 5.2.2. Hàm cơng cụ test Hàm testWithFormatedData(formatedDataPath, labeledWord, approxUnchangeFeature, rateWithMaxInFile, rateWithMaxInCorpora) Hàm này đĩng vai trị rất quan trọng khi khảo sát, kiểm tra, đánh giá. Nĩ cho phép ta tùy chỉnh mức giới hạn thay đổi về số lƣợng các trƣờng hợp từ ở file đầu ra. Tức là tùy chỉnh độ hội tụ của hàm mở rộng bộ dữ liệu huấn luyện bằng tham số approx Unchange - -Feature. Với tham số rateWithMaxInFile, hàm này cho phép ta chỉnh ngƣỡng mà nếu thấp hơn ngƣỡng đĩ thì trƣờng hợp trong file sẽ bị gán nghĩa bằng nghĩa của trƣờng hợp cùng trong file cĩ xác suất lớn nhất. Đây là một tỉ lệ, nghĩa là nếu xác suất lớn nhất là maxFileProb thì ngƣỡng sẽ bằng (maxFileProb * rateWithMaxInFile). Tham số rateWithMaxInCorpora lại cho ta chỉnh ngƣỡng theo xác suất lớn nhất của tồn bộ bộ dữ liệu. Những trƣờng hợp nào cĩ xác suất nhỏ hơn ngƣỡng (maxCorporaProb * rateWithMaxInCorpora) sẽ khơng đƣợc đƣa vào tập dữ liệu để huấn luyện tiếp nếu đĩ là khi đang trong vịng lặp. Nếu vịng lặp đã kết thúc trƣờng hợp nào cĩ xác suất nhỏ hơn ngƣỡng thì sẽ khơng cĩ mặt ở file dữ liệu đầu ra. 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 30 formatedDataPath là đƣờng dẫn đến thƣ mục cĩ chứa dữ liệu đã đƣợc định dạng theo định dạng đƣợc định nghĩa ở mục 4.2. Thƣ mục này chính là thƣ mục newDataPath, đƣợc tạo từ hàm createFormatedData đã trình bày ở mục 5.2.1 labeledWord là từ đang đƣợc gán nghĩa, hay là từ đang đƣợc xử lý nhập nhằng Sau khi hàm này chạy xong thì nĩ sẽ ghi kết quả của cuộc thử nghiệm ra các file word_1_1.result, word_1_2.result, word_2.result vào thƣ mục formatedDataPath, trong đĩ word là từ đang đƣợc xử lý nhập nhằng (labeledWord). o Word_1_1.result chứa kết quả thực nghiệm khi chỉ huấn luyện hàm phân lớp bằng bộ huấn luyện đƣợc trích từ bộ dữ liệu chuẩn ban đầu và kiểm thử bằng file kiểm tra thứ nhất. o Word_1_2.result chứa kết quả thực nghiệm khi chỉ huấn luyện hàm phân lớp bằng bộ huấn luyện đƣợc trích từ bộ dữ liệu chuẩn ban đầu và kiểm thử bằng file kiểm tra thứ hai. o Word_2.result chứa kết quả thực nghiệm khi huấn luyện hàm phân lớp bằng bộ dữ liệu đã đƣợc mở rộng bằng thuật tốn đã nêu ở trên và kiểm thử bằng cả hai file kiểm tra. Chi tiết về định dạng của các file kết quả đƣợc định nghĩa ở phần 4.3, cách thực hiện thí nghiệm cụ thể đƣợc trình bày trong chƣơng 6. 5.2.3. Các hàm phân lớp và mở rộng bộ dữ liệu Các hàm phân lớp và mở rộng bộ dữ liệu đĩng vai trị trung tâm trong tồn bộ bộ cơng cụ. Chúng quyết định đến độ chính xác của bộ dữ liệu đầu ra cĩ nghĩa là quyết định tới sự thành cơng hay thất bại của 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ừ. Trong đĩ, hàm classifyFormatedCorporaWithNaiveBayes là hàm phân lớp NaiveBayes. Nĩ chịu trách nhiệm chính trong việc gán đƣợc nghĩa chính xác trong mỗi vịng lặp của thuật tốn bằng giả thiết một nghĩa trong một nhĩm từ. Hàm extendOneLabeledDataSetWithFormatedCorpora là hàm minh họa cho tồn bộ thuật tốn của phƣơng pháp mở rộng bộ dữ liệu huấn luyện đã đề xuất, áp dụng đặc tính một nghĩa trong một văn bản để mở rộng và chính xác hĩa bộ dữ liệu đầu ra. Nĩ đĩng vai trị chính yếu trong việc tạo đƣợc một bộ dữ liệu đầu ra chính xác nhất. 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 31 Thuật tốn của hai hàm trên đã đƣợc nêu chi tiết trong chƣơng 3. 5.2.4. Các hàm cơng cụ khác Cĩ rất nhiều các hàm cơng cụ khác trong bộ cơng cụ tơi đã xây dựng nhƣ các hàm đọc dữ liệu đã định dạng và chƣa định dạng, các hàm chịu trách nhiệm ghi ra file những trƣờng hợp xuất hiện của từ, các hàm chuyển đổi giữa các file định dạng và khơng định dạng ... Tuy vậy vai trị của chúng chỉ là phụ trợ và khơng liên quan nhiều đến các thực nghiệm của ta. Chƣơng 6: Kết quả thực nghiệm 32 Chƣơng 6: Kết quả thực nghiệm Trong các chƣơng trƣớc tơi đã trình bày cụ thể về 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 cũng nhƣ các cách chọn lựa và chuyển đổi những từ cùng xuất hiện với từ đang cần gán nghĩa thành những thuộc tính để phân lớp nghĩa cho các trƣờng hợp xuất hiện của từ này. Tuy vậy, đĩ mới chỉ là lý thuyết, ta cần chứng minh lý thuyết này bằng các thực nghiệm cụ thể. 6.1. Dữ liệu thực nghiệm Tơi tiến hành thực nghiệm trên 4 file dữ liệu chuẩn của 4 từ: “line”, “hard”, “interest”, và “serve”. Trong 4 file dữ liệu này, từng trƣờng hợp xuất hiện của từ đã đƣợc xác định nghĩa cụ thể. Định dạng của 4 file này đƣợc định nghĩa trong phần 4.1.1. Thống kê cụ thể về số lƣợng các trƣờng hợp từ xuất hiện trong file, các nghĩa và số lƣợng các trƣờng hợp trong từng nghĩa, ta cĩ các bảng số liệu sau đây. Nghĩa Số lƣợng Cord 373 Division 374 Product 2217 Text 404 Phone 429 Formation 349 Tổng: 4146 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 Chƣơng 6: Kết quả thực nghiệm 33 Nghĩa Số lƣợng HARD1 3455 HARD2 502 HARD3 376 Tổng: 4333 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 Nghĩa Số lƣợng Interest_1 361 Interest_2 11 Interest_3 66 Interest_4 178 Interest_5 500 Interest_6 1252 Tổng: 2368 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 Nghĩa Số lƣợng SERVE2 853 SERVE6 439 SERVE10 1814 SERVE12 1272 Tổng: 4378 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 Về bộ dữ liệu văn bản dùng trong quá trình mở rộng bộ dữ liệu huấn luyện, tơi sử dụng bộ dữ liệu văn bản BNC nhƣ đã giới thiệu trong phần 4.1.2. Số lƣợng những trƣờng hợp các từ “line”, “hard”, “serve”, “interest” xuất hiện trong BNC đƣợc thống kê trong bảng số liệu sau. Chƣơng 6: Kết quả thực nghiệm 34 Từ Số lƣợng Line 33392 Hard 23571 Serve 15313 Interest 35863 Bảng 5: Số lƣợng các từ “line”, “hard”, “serve”, “interest” trong BNC 6.2. Thí nghiệm 1 Mục đích thực hiện thí nghiệm là để trả lời hai câu hỏi:  Liệu dữ liệu đƣợc mở rộng bằng phƣơng pháp đã nêu cĩ đủ độ tin cậy để cĩ thể dùng để huấn luyện làm tăng độ chính xác cho các hàm phân lớp xử lý nhập nhằng nghĩa của từ hay khơng.  Liệu việc chuyển đổi về từ nguyên thể cĩ làm tăng độ chính xác cho quá trình xử lý nhập nhằng ngữ nghĩa, từ đĩ làm tăng độ chính xác của bộ dữ liệu đầu ra hay khơng. 6.2.1. Bố trí thí nghiệm  Với mỗi từ ta chia tỉ lệ số lƣợng các trƣờng hợp xuất hiện của từ trong file dữ liệu chuẩn thành tập huấn luyện và các tập kiểm tra theo các tỉ lệ khác nhau. Cụ thể tập huấn luyện cĩ tỉ lệ 0.3, tập kiểm tra thứ nhất cĩ tỉ lệ 0.1 và tập kiểm tra thứ hai cĩ tỉ lệ 0.6 so với tồn bộ tập dữ liệu chuẩn. Trong đĩ: o Tập huấn luyện đƣợc chọn ngẫu nhiên trong tập dữ liệu chuẩn nhƣng vẫn đảm bảo tỉ lệ giữa số lƣợng các trƣờng hợp mang các nghĩa khác nhau của từ nhƣ trong tập dữ liệu chuẩn và đảm bảo khơng cĩ trƣờng hợp xuất hiện của từ nào đƣợc chọn 2 lần. o Tập kiểm tra đƣợc chọn nhƣ với tập huấn luyện. Tuy nhiên, những trƣờng hợp của tập kiểm tra và tập huấn luyện đƣợc đảm bảo khơng trùng nhau.  Mỗi lƣợt thực nghiệm bao gồm 2 giai đoạn: o Giai đoạn 1: khơng chuyển các từ thuộc nhĩm từ đồng xuất hiện về từ nguyên thể o Giai đoạn 2: chuyển các từ thuộc nhĩm từ đồng xuất hiện về từ nguyên thể Chƣơng 6: Kết quả thực nghiệm 35  Mỗi giai đoạn lại bao gồm hai lần phân lớp nghĩa cho các trƣờng hợp trong tập kiểm tra và so sánh với nghĩa đã đƣợc xác định từ trƣớc của mỗi trƣờng hợp từ. Từ đĩ đƣa ra tỉ lệ phần trăm phân lớp nghĩa đúng. o Lần 1: Chỉ sử dụng tập huấn luyện đã đƣợc chọn từ tập dữ liệu chuẩn để phân lớp nghĩa cho các trƣờng hợp trong các tập kiểm tra. o Lần 2: Sử dụng phƣơng pháp đã nêu để mở rộng tập huấn luyện đã chọn và tiến hành huấn luyện trên tập mở rộng mới đĩ. Sau đĩ lại kiểm tra tỉ lệ phần trăm chính xác bằng các tập kiểm tra. 6.2.2. Kết quả thực nghiệm Với từng từ, ta cĩ các kết quả thực nghiệm nhƣ sau: Giai đoạn Lần Từ nguyên thể Huấn luyện mở rộng Số lần lặp Số trƣờng hợp đầu ra Train:test 0.3:0.1 Train:test 0.3:0.6 1 1 1 # 46.7% 46.5% 2 x 12 29108 68.6% 64.3% 2 1 x 1 # 46.2% 46.3% 2 x x 11 29335 63.7% 63.1% Bảng 6: Kết quả thí nghiệm 1 của từ “line” Giai đoạn Lần Từ nguyên thể Huấn luyện mở rộng Số lần lặp Số trƣờng hợp đầu ra Train:test 0.3:0.1 Train:test 0.3:0.6 1 1 1 # 76.6% 75.6% 2 x 8 23830 75.7% 73.7% 2 1 x 1 # 77.5% 78.2% 2 x x 8 23709 78.5% 76.5% Bảng 7: Kết quả thí nghiệm 1 của từ “hard” Chƣơng 6: Kết quả thực nghiệm 36 Giai đoạn Lần Từ nguyên thể Huấn luyện mở rộng Số lần lặp Số trƣờng hợp đầu ra Train:test 0.3:0.1 Train:test 0.3:0.6 1 1 1 # 70.9% 69.3% 2 x 7 15532 76.4% 76.5% 2 1 x 1 # 72.9% 70.2% 2 x x 7 15674 78.2% 76.8% Bảng 8: Kết quả thí nghiệm 1 của từ “serve” Giai đoạn Lần Từ nguyên thể Huấn luyện mở rộng Số lần lặp Số trƣờng hợp đầu ra Train:test 0.3:0.1 Train:test 0.3:0.6 1 1 1 # 3.83% 5.78% 2 x 11 33953 70.2% 71.4% 2 1 x 1 # 4.26% 5.15% 2 x x 13 34366 73.6% 74% Bảng 9: Kết quả thí nghiệm 1 của từ “interest” 6.2.3. Nhận xét 6.2.3.1. Hiệu quả của việc mở rộng bộ dữ liệu Từ kết quả thí nghiệm trên, ta thấy hầu hết các trƣờng hợp đều cho thấy mức độ chính xác trong xử lý nhập nhằng nghĩa của các từ đang cần gán nghĩa tăng lên rõ rệt. Đặc biệt đáng ngạc nhiên trong trƣờng hợp thí nghiệm với từ “interest”. Mức tăng từ 65.62% đến 69.34% thật sự đáng ấn tƣợng. Mức tăng rõ ràng trong hầu hết các thí nghiệm là một kết quả đáng mừng, tuy vậy, riêng với trƣờng hợp từ “hard” ta lại ghi nhận đƣợc sự sụt giảm độ chính xác phân lớp nghĩa của từ khi sử dụng bộ dữ liệu mở rộng so với khi chỉ dùng lƣợng nhỏ dữ liệu huấn luyện ban đầu để huấn luyện cho bộ phân lớp. Điều này đặt ra một giả thiết đĩ là nếu dữ liệu huấn luyện ban đầu cung cấp càng nhiều thơng tin cho phép phân lớp chính xác thì đồng thời vai trị của dữ liệu mở rộng từ bộ dữ liệu văn bản chƣa gán nghĩa của từ cĩ thể cũng càng sụt giảm. Đến một mức nào đĩ, việc sử dụng dữ liệu huấn luyện mở rộng sẽ Chƣơng 6: Kết quả thực nghiệm 37 khơng cịn cĩ ý nghĩa, thậm chí cịn làm giảm độ chính xác của kết quả phân lớp nghĩa (nhƣ trƣờng hợp của từ “hard”). Tuy vậy, để cĩ thể khẳng định đƣợc nhận định này, ta cần tiến hành thêm thí nghiệm để kiểm chứng. 6.2.3.2. Hiệu quả của việc chuyển từ trong nhĩm từ đồng xuất hiện về dạng nguyên thể Các thí nghiệm trên cho thấy một mức tăng về độ chính xác tuy khơng nhiều lắm khi ta áp dụng kỹ thuật chuyển từ trong nhĩm từ đồng xuất hiện về dạng nguyên thể. Mức tăng chỉ vào khoảng 2 đến 3 % và trong một số trƣờng hợp cịn ghi nhận mức giảm nhẹ độ chính xác phân lớp nghĩa (từ line bảng 6). Đây là một kết quả thấp hơn mong đợi về mặt lý thuyết (nhƣ đã trình bày ở phần 3.3.2). Tuy vậy, dù chỉ tăng nhẹ nhƣng cũng chứng tỏ đƣợc rằng chuyển từ về dạng nguyên thể cũng đã phần nào giảm bớt đƣợc nhiễu và cải thiện đƣợc độ chính xác của quá trình phân lớp. Điều này khơng phải khơng cĩ ý nghĩa gì mà thực tế khi ta phải phân lớp nghĩa cho một số lƣợng lớn các trƣờng hợp xuất hiện của từ (ít nhất là trên 15000 trƣờng hợp nhƣ trong thí nghiệm này) thì mức tăng độ chính xác thêm 2 đến 3 % theo tơi cũng rất giá trị. 6.3. Thí nghiệm 2 Từ hiện tƣợng sụt giảm độ chính xác phân lớp khi sử dụng dữ liệu huấn luyện mở rộng so với khi sử dụng một lƣợng dữ liệu huấn luyện ban đầu của từ “hard” trong thí nghiệm 1, tơi tiến hành thí nghiệm 2 nhằm trả lời câu hỏi liệu khi vai trị của dữ liệu gán nhãn ban đầu tăng lên thì vai trị của dữ liệu mở rộng thu đƣợc từ phƣơng pháp mở rộng bộ dữ liệu cĩ bị giảm đi hay khơng. 6.3.1. Bố trí thí nghiệm Tơi loại trừ hai từ “hard” và “interest” là hai từ cĩ kết quả quá đặc biệt ở thí nghiệm 1 (từ “hard” ngay từ khi sử dụng dữ liệu huấn luyện ban đầu đã cĩ xác suất phân lớp nghĩa cao, cịn từ “interest” ngƣợc lại lại cĩ kết quả phân lớp nghĩa ban đầu quá thấp so với khi dùng dữ liệu mở rộng). Nhƣ vậy, chỉ cĩ hai từ “line” và “serve” đƣợc thử nghiệm trong thí nghiệm này. Để tăng dần vai trị của dữ liệu huấn luyện ban đầu, tơi tiến hành thí nghiệm tăng dần mức tỉ lệ số trƣờng hợp xuất hiện của từ trong tập huấn luyện so với tổng số các trƣờng hợp xuất hiện của từ trong bộ dữ liệu chuẩn đã gán nghĩa. Cụ thể các mức tăng là 0.1, 0.3, 0.5, 0.7 và 0.9. Đồng thời tơi giữ tỉ lệ số lƣợng các trƣờng hợp trong tập kiểm tra so với tổng số lƣợng các trƣờng hợp trong dữ liệu chuẩn cố định ở mức 0.1. Chƣơng 6: Kết quả thực nghiệm 38 Các tập huấn luyện và kiểm tra vẫn đƣợc chọn theo các tiêu chuẩn của thí nghiệm 1 tức là ngẫu nhiên, khơng cĩ trƣờng hợp cùng xuất hiện trong tập huấn luyện và tập kiểm tra và giữ đúng tỉ lệ giữa số lƣợng các trƣờng hợp mang các nghĩa của từ trong các tập huấn luyện và kiểm tra nhƣ trong tập dữ liệu chuẩn. 6.3.2. Kết quả thực nghiệm Kết quả thực nghiệm trong thí nghiệm 2 với hai từ “line” và “serve” đƣợc thể hiện trong 2 bảng sau: Tỉ lệ train:test Dữ liệu huấn luyện ban đầu Dữ liệu huấn luyện mở rộng Mức độ cải thiện độ chính xác 0.1:0.1 35.5% 49.4% 13.9% 0.3:0.1 47.4% 60.3% 12.9% 0.5:0.1 54.3% 68.4% 14.1% 0.7:0.1 57.4% 68.6% 11.2% 0.9:0.1 61.8% 69.8% 8% Bảng 10: Kết quả thí nghiệm 2 của từ “line” Tỉ lệ train:test Dữ liệu huấn luyện ban đầu Dữ liệu huấn luyện mở rộng Mức độ cải thiện độ chính xác 0.1:0.1 56.2% 69.5% 13.3% 0.3:0.1 66.7% 79.6% 12.9% 0.5:0.1 73.2% 79.1% 5.9% 0.7:0.1 74.3% 81.2% 6.9% 0.9:0.1 77.3% 82.3% 5% Bảng 11: Kết quả thí nghiệm 2 của từ “serve” 6.3.3. Nhận xét Từ các kết quả thí nghiệm trên, ta thấy rằng mức độ cải thiện độ chính xác phân lớp nghĩa của từ nhờ vào bộ dữ liệu mở rộng luơn cao nhất khi tập huấn luyện ban đầu cĩ số lƣợng trƣờng hợp xuất hiện của từ ít (tỉ lệ so với tồn bộ tập dữ liệu chuẩn là 0.1, 0.3, 0.5) Chƣơng 6: Kết quả thực nghiệm 39 và luơn thấp nhất khi tập huấn luyện ban đầu cĩ số lƣợng trƣờng hợp xuất hiện của từ là cao nhất (tỉ lệ 0.9). Nhƣ vậy ta cĩ thể kết luận rằng vai trị của bộ dữ liệu mở rộng dựa vào bộ dữ liệu văn bản chƣa gán nghĩa sẽ giảm đi khi lƣợng thơng tin cần thiết cho phân lớp nghĩa của từ trong dữ liệu huấn luyện ban đầu tăng lên. Chƣơng 7: Kết luận 40 Chƣơng 7: Kết luận 7.1. Các kết quả đạt đƣợc và hạn chế Qua quá trình nghiên cứu về 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ừ, nhận thấy đƣợc tầm quan trọng của việc xây dựng một cơng cụ hỗ trợ con ngƣời trong quá trình tạo nên các bộ dữ liệu lớn với cơng sức và thời gian bỏ ra là nhỏ nhất mà vẫn đạt đƣợc kết quả là một bộ dữ liệu tƣơng đối chính xác, việc nghiên cứu và xây dựng một bộ cơng cụ mở rộng bộ dữ liệu nghĩa của từ đã đƣợc tiến hành. Bộ cơng cụ tuy mới ở dạng sơ khai nhƣng đã chứng minh đƣợc rằng phƣơng pháp mở rộng tự động một bộ dữ liệu là cĩ cơ sở lý luận và thực tiễn. Từ đĩ gĩp phần thúc đẩy việc xây dựng một bộ cơng cụ hồn chỉnh trong tƣơng lai. Với vai trị của một bộ cơng cụ dành cho những nghiên cứu, khảo sát về phƣơng pháp mở rộng bộ dữ liệu. Bộ cơng cụ đã làm khá tốt nhiệm vụ của nĩ trong việc minh họa và chứng minh các kết quả bƣớc đầu của phƣơng pháp. Bộ cơng cụ cũng đã giúp phát hiện ra tiềm năng ứng dụng quá trình chuyển đổi về dạng từ nguyên thể vào bài tốn mở rộng bộ dữ liệu cũng nhƣ trong các bài tốn xử lý nhập nhằng nghĩa của từ. Tuy vậy, khơng thể phủ định rằng nghiên cứu về đề tài mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ vẫn cĩ những hạn chế. Hạn chế đầu tiên là về việc mới chỉ ứng dụng đƣợc bộ phân lớp Nạve Bayes vào trong phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng. Nạve Bayes là một bộ phân lớp tốt nhƣng nĩ cĩ thể khơng mạnh bằng một số bộ phân lớp khác ví dụ nhƣ Maximum Entropy, bằng chứng là trong nghiên cứu một số trƣờng hợp tỉ lệ phân lớp chính xác của nĩ là khơng cao dù đã đƣợc hỗ trợ bởi phƣơng pháp mở rộng bộ dữ liệu. Một yếu tố khác ảnh hƣởng tới độ chính xác của Naive Bayes (và do đo của cả hệ thống mở rộng dữ liệu huấn luyện) đĩ là việc chọn lựa các thuộc tính cịn ở mức đơn giản. Điều này dù là do khơng muốn tập trung quá vào vấn đề chọn lựa thuộc tính, vốn khơng phải vấn đề trọng tâm của đề tài nhƣng đây cũng thực sự là một hạn chế khơng thể bỏ qua. Chính những yếu tố này đã ảnh hƣởng tới độ chính xác của bộ dữ liệu đầu ra. Chƣơng 7: Kết luận 41 Một hạn chế nữa của khĩa luận này là chƣa nghiên cứu đƣợc phƣơng pháp cho phép tự động chọn ngƣỡng xác suất của một văn bản cũng nhƣ của cả bộ dữ liệu văn bản. Một quan sát thƣờng thấy trong thời gian đề tài khĩa luận này đƣợc nghiên cứu đĩ là tùy vào từng từ khác nhau, nếu chọn ngƣỡng thích hợp thì xác suất phân lớp nghĩa lên rất cao và ngƣợc lại. Tuy nhiên nếu chỉ thay đổi bằng cách nhập vào cố định từ đầu thì miền và số lần khảo sát đƣợc khơng cao. Do đĩ trong thí nghiệm tơi chỉ cố định các ngƣỡng tại các giá trị cho kết quả tƣơng đối cao với tất cả các từ thí nghiệm, cụ thể là: dừng vịng lặp khi mức thay đổi về số lƣợng các trƣờng hợp trong bộ dữ liệu đầu ra nhỏ hơn 50; các xác suất nhỏ hơn 0.7 lần xác suất lớn nhất của văn bản maxProbFile sẽ bị gán nghĩa bằng nghĩa của trƣờng hợp cĩ xác suất lớn nhất; và ngƣỡng loại bỏ các trƣờng hợp là nhỏ hơn 0.7 lần xác suất lớn nhất của tồn bộ bộ dữ liệu. Kết quả của đề tài khĩa luận tuy cịn những hạn chế nhất định nhƣ đã trình bày ở trên nhƣng nĩ cũng cĩ ý nghĩa nhƣ một bƣớc kiểm chứng đầu tiên trên con đƣờng xây dựng một cơng cụ 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ừ hồn chỉnh. Hơn thế nữa, qua quá trình nghiên cứu đề tài khĩa luận này, tơi đã đƣợc va chạm, nghiên cứu một vấn đề cụ thể trong thực tế và đã đúc rút đƣợc nhiều kinh nghiệm quý báu, làm nền tảng cho tơi trong cơng tác và nghiên cứu sau này. 7.2. Các cơng việc trong tƣơng lai Tơi dự định tiếp tục nghiên cứu sâu hơn và hồn thiện thêm đề tài khĩa luận này, đặc biệt là trong việc khắc phục những hạn chế nhƣ đã nêu ở phần trên. Cụ thể tơi sẽ tiếp tục nghiên cứu cách thức áp dụng các bộ phân lớp khác vào phƣơng pháp mở rộng bộ dữ liệu cho xử lý nhập nhằng nghĩa của từ, và nghiên cứu sâu hơn về cách thức lựa chọn thuộc tính cho các bài tốn xử lý nhập nhằng nghĩa của từ nĩi chung và của phƣơng pháp mở rộng bộ dữ liệu xử lý nhập nhằng nghĩa nĩi riêng. Ngồi ra, tơi cũng muốn nghiên cứu cụ thể về cách thức chọn ngƣỡng tự động một cách hiệu quả cho bài tốn này. Tơi hy vọng trong một tƣơng lai khơng xa nữa tơi cĩ thể hồn thiện và đƣa vào sử dụng thực tế một bộ cơng cụ mở rộng bộ dữ liệu cho quá trình xử lý nhập nhằng nghĩa của từ, gĩp phần nhỏ thúc đẩy thêm sự phát triển của các vấn đề khác trong xử lý ngơn ngữ tự nhiên mà đặc biệt là bài tốn dịch máy tự động và từ đĩ, đƣợc đĩng gĩp cơng sức nhỏ bé của mình để xĩa bỏ một phần nào rào cản ngơn ngữ giữa ngƣời dân các nƣớc trên thế giới nĩi chung và giữa ngƣời dân Việt Nam với thế giới nĩi riêng. Chƣơng 7: Kết luận 42 Tài liệu tham khảo [1] Agirre, Eneko; Edmonds, Philip; Word Sense Disambiguation: Algorithms and Applications; Springer, 2006. [2] Bird, Steven; Klein, Ewan; Loper, Edward; Natural Language Processing with Python; O‟Reilly Media, 2009. [3] Duda, Richar O; Hart, Peter E; Stork, David G; Pattern Classifiation Second Edition; Wiley. [4] Gale, William A; Church, Kenneth W; Yakowsky, David; One Sense Per Discourse; AT&T Bell Laboratories, 1992. [5] Jurafsy, Daniel; Martin, James H; Speech and Language Processing; Draft of June 25, 2007. [6] Yakowsky, David; One Sense Per Collocation; Department of Computer and Information Science, University of Pennsylvania, 1993. [7] Yakowsky, David; Unsupervised Word Sense Disambiguation Rivaling Supervised Methods; Department of Computer and Information Science, University of Pennsylvania. [8] http:// [9] _and_knowledge-based_methods [10]

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-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Ừ.pdf