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