Khóa luận này tập trung vào việc nghiên cứu và xây dựng một hệ thống tổng hợp tin tức, dựa trên bài toán trích xuất thông tin từ tài liệu Web và bài toán phân lớp văn bản.. Để giải quyết
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Xuân Thành
TỰ ĐỘNG TỔNG HỢP VÀ PHÂN LOẠI TIN TRONG HỆ THỐNG TRANG TIN ĐIỆN TỬKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 3Lời cảm ơn
Lời đầu tiên, tôi xin được bày tỏ lòng biết ơn sâu sắc nhất tới thầy giáo – TS.Nguyễn Trí Thành đã tận tình hướng dẫn, đôn đốc tôi trong suốt quá trình là khóa luận tốtnghiệp
Tôi xin được chân thành cảm ơn các thầy, cô và các cán bộ của trường Đại HọcCông Nghệ đã tạo cho tôi những điều kiện thuận lợi để học tập và nghiên cứu
Tôi xin gửi lời cảm ơn tới ThS Nguyễn Thanh Bình, ThS Lê Văn Thanh và tập thểcác anh chị em của công ty iTim đã động viên, khích lệ, tạo điều kiện cho tôi trong suốtquá trình làm khóa luận
Tôi cũng xin gửi lời cảm ơn tới các bạn trong tập thể lớp K51CD và K51CHTTT đãủng hộ và khuyến khích tôi trong suốt quá trình học tập tại trường
Cuối cùng, tôi muốn được gửi lời cảm ơn vô hạn tới gia đình và bạn bè, nhữngngười thân yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện khóa luận tốtnghiệp
Tôi xin chân thành cảm ơn!
Sinh viên
Lê Xuân Thành
Trang 4Tóm tắt nội dung
Trong hệ thống các website điện tử, các trang tin tức chiếm một vai trò hết sức quan trọng, giúp con người cập nhật những tin tức thời sự mới nhất thuận tiện mọi lúc mọi nơi Theo Hiệp hội các nhà xuất bản trực tuyến (Online Publishers Association – OPA) thì phần lớn thời gian trên Internet con người dùng để đọc tin tức1 Như vậy, nhu cầu cập nhật tin tức của con người là rất lớn, và nếu người dùng chỉ phải vào một trang Web duy nhất để cập nhật được tất cả các tin tức thì sẽ tiện dụng hơn rất nhiều so với việc phải truy cập vào nhiều trang
Khóa luận này tập trung vào việc nghiên cứu và xây dựng một hệ thống tổng hợp tin tức, dựa trên bài toán trích xuất thông tin từ tài liệu Web và bài toán phân lớp văn bản Khóa luận đưa ra mô hình gom tin tự động với tính mở rộng cao, trình bày các bước xây dựng một hệ thống tổng hợp tin tức Khóa luận cũng đã tiến hành chạy các thực nghiệm
và đánh giá kết quả Kết quả đánh giá cho thấy chất lượng gom tin và phân loại là nhanh
và đáng tin cậy
Trang 5Mục lục
Tóm tắt nội dung i
Mục lục ii
Bảng các ký hiệu viết tắt iv
Danh sách các hình v
Danh sách các bảng biểu vi
Giới thiệu 1
Chương 1 Khái quát về các trang tin tức và các hệ thống tổng hợp tin tức của Việt Nam 3
1.1 Khái quát chung về các báo điện tử 3
1.2 Khái quát chung về các hệ thống tổng hợp tin tức 3
Chương 2 Cơ sở lý thuyết xây dựng mô hình hệ thống tổng hợp và phân loại tin tự độ ng 8
2.1 Xây dựng crawler 8
2.1.1 Khái niệm crawler 8
2.1.2 Xây dựng crawler 10
2.2 Xây dựng bộ trích chọn thông tin 11
2.2.1 Trích chọn thông tin trên tài liệu Web 11
2.2.2 Xây dựng bộ trích chọn tài liệu Web 11
2.3 Xây dựng bộ phân lớp 12
2.3.1 Khái niệm phân lớp văn bản 12
2.3.2 Áp dụng thuật toán phân lớp entropy cực đại xây dựng bộ phân lớp văn bản .14
2.3.3 Phương pháp đánh giá hiệu suất phân lớp 18
Chương 3 Xây dựng hệ thống tổng hợp và phân loại tin tự động 21
3.1 Cơ sở thực tiễn 21
3.2 Xây dựng mô hình hệ thống 24
3.2.1 Mô hình tổng quan 25
3.2.2 Module chuẩn hóa dữ liệu huấn luyện/kiểm tra mô hình 29
3.2.3 Module phân lớp 30
3.2.4 Module sinh file huấn luyện 31
3.3 Khả năng mở rộng của hệ thống 32
Trang 6Chương 4 Thực nghiệm và đánh giá kết quả 34
4.1 Môi trường phần cứng và phần mềm 34
4.1.1 Môi trường phần cứng 34
4.1.2 Công cụ phần mềm 34
4.2 Cấu trúc Cơ sở dữ liệu 37
4.3 Đánh giá chất lượng tổng hợp tin 39
4.4 Thực nghiệm và đánh giá hiệu suất phân loại tin tự động 39
4.4.1 Xây dựng tập dữ liệu huấn luyện và kiểm tra mô hình 39
4.4.2 Thực nghiệm thứ nhất 41
4.4.3 Thực nghiệm thứ hai 44
Kết luận 47
Tài liệu tham khảo 49
Trang 7Bảng các ký hiệu viết tắt
HTML HyperText Markup Language
CSDL Cở sở dữ liệu
Trang 8Danh sách các hình
Hình 1 Minh họa lỗi tổng hợp tin trang Baomoi.com……….5
Hình 2 Minh họa lỗi mất ảnh trang tintuc.xalo.vn……… 7
Hình 3 Sơ đồ cơ bản của một crawler đơn luồng………9
Hình 4 Lược đồ chung xây dựng bộ phân lớp văn bản……….13
Hình 5a Mô tả phần nội dung cần lấy trên trang tin 1……… 21
Hình 5b Mô tả phần nội dung cần lấy trên trang tin 2……… 22
Hình 6 Mô hình cây DOM của 2 detail-pages……… 22
Hình 7a Các đặc trưng cho phép trích chọn thông tin bài báo 1……… 23
Hình 7b Các đặc trưng cho phép trích chọn thông tin bài báo2………24
Hình 8 Mô hình tổng quan của hệ thống tổng hợp và phân loại tin tức………25
Hình 9 Đặc điểm giúp loại tin thuộc lớp chưa quan tâm……… … 28
Hình 10 Module chuẩn hóa dữ liệu huấn luyện/kiểm tra mô hình………29
Hình 11 Module phân lớp……… 31
Hình 12 Module sinh file huấn luyện………32
Trang 9Danh sách các bảng biểu
Bảng 1 Các nhóm tài liệu sau phân lớp……….19
Bảng 2 Cấu hình phần cứng sử dụng trong thực nghiệm……… 34
Bảng 3 Các công cụ phần mềm sử dụng trong thực nghiệm……….34
Bảng 4 Mô tả chức năng các lớp trong các gói……….36
Bảng 5 Chi tiết CSDL……… 38
Bảng 6 Các lớp tài liệu sử dụng trong thực nghiệm……….40
Bảng 7 Thống kê số lượng tài liệu dùng cho việc học mô hình………41
Bảng 8 Thống kê số lượng tài liệu thực nghiệm 1 dùng kiểm tra mô hình……… 42
Bảng 9 Kết quả thực nghiệm 1……… 43
Bảng 10 Thống kê số lượng tài liệu thực nghiệm 2 dùng kiểm tra mô hình……….44
Bảng 11 Kết quả thực nghiệm 2………45
Trang 10Giới thiệu
Trong gần hai mươi năm trở lại đây, cùng với sự phát triển bùng nổ của Internet mà
đặc biệt là World Wide Web (www) - hay còn gọi tắt là Web - mang lại cho con người rất
nhiều lợi ích Đồng thời với đó cũng là sự bùng nổ về thông tin, giúp con người dễ dàng cập nhật tin tức mới nhất, nhưng hệ quả sau đó là sự tiêu tốn rất nhiều thời gian, khi những thông tin cần đối với một người dùng thuộc một nội dung cụ thể lại nằm trên nhiều trang Web khác nhau Ví dụ đối với một nhà đầu tư chứng khoán, thông tin họ quan tâm
là các tin tức mới nhất về thị trường chứng khoán, về kết quả giao dịch ở các sàn chứng khoán, nhưng để có được điều này thường họ phải truy cập vào nhiều trang khác nhau để
có đủ thông tin Như vậy, nhu cầu đặt ra cần có một hệ thống tổng hợp tin tức nhanh
nhất và được phân chia theo các mục, phân mục rõ ràng, giúp thuận tiện hơn cho nhu cầu thông tin của người dùng Điều này giúp người dùng thuận tiên hơn cho việc tìm, cập nhật các thông tin mà mình quan tâm một cách thuận tiện nhất, tiết kiệm thời gian nhất Điều này đặc biệt có ý nghĩa trong cuộc sống bận rộn hiện đại ngày nay
Để giải quyết được bài toán về hệ thống tổng hợp tin tức cần phải giải quyết được
hai bài toán khác là trích xuất thông tin từ tài liệu Web và phân lớp tự động các văn bản Web – là hai bài toán được quan tâm ở rất nhiều các hội nghị lớn về khai phá dữ liệu và
xử lý ngôn ngữ tự nhiên [6],[9],[10],[14] Khóa luận xây dựng một tập luật cho phép tự
động gom và trích xuất thông tin từ các trang tin tức của Việt Nam, tin tức được lấy về sẽ được gán nhãn tự động nhờ vào thuật toán phân lớp văn bản entropy cực đại (maximum
entropy), và được ghi lại vào CSDL, phục vụ cho việc xuất bản tin
Khóa luận gồm có 4 chương được mô tả sơ bộ dưới đây:
Chương 1: Khái quát về các trang tin tức và các hệ thống tổng hợp tin tức của Việt
Nam Giới thiệu về các trang báo điện tử (trang tin tức) và các hệ thống tổng hợp tin tức
Đánh giá ưu và nhược điểm của các hệ thống đó
Chương 2: Cơ sở lý thuyết xây dựng mô hình hệ thống tổng hợp và phân loại tin tự
động Giới thiệu về crawler, trích chọn thông tin từ tài liệu Web, phân lớp văn bản bằng
phương pháp entropy cực đại Đồng thời chương này cũng giới thiệu về phương pháp đánh giá hiệu suất của việc phân lớp văn bản thông độ hồi tưởng, độ chính xác và độ đo F1
Trang 11Chương 3: Xây dựng hệ thống tổng hợp và phân loại tin tự động Nêu ra các cơ sở
lý thực tiễn có thể áp dụng cho việc trích chọn thông tin đối với tài liệu Web Đưa ra mô hình hệ thống, các module, cách thức tương tác giữa các module với nhau Từ đó nêu lên
được tính mở rộng cao của hệ thống
Chương 4: Thực nghiệm và đánh giá kết quả để đánh giá bài toán mô hình được
xây dựng trong chương 3 Kết quả thực nghiệm cho thấy hiệu quả tốt của hệ thống tổng hợp và phân loại tin tự động của khóa luận
Phần kết luận tóm lược nội dung chính của khóa luận và nêu lên định hướng của
khóa luận trong thời gian tới
Trang 12Chương 1 Khái quát về các trang tin tức và các hệ thống tổng hợp tin tức của Việt Nam
Hiện nay, các website báo điện tử của Việt Nam chiếm một vai trò không thể thiếu trong việc cung cấp tới bạn đọc các nội dung thông tin chính trị, xã hội, thể thao, giải trí mới nhất Điều này được thể hiện qua việc hai trang tin tức lớn nhất của Việt Nam là vnexpress.net và dantri.com.vn liên tục nằm trong top 10 websites được truy cập nhiều nhất tại Việt Nam, theo xếp hạng của alexa.com
Mặc dù vậy các báo điện tử của Việt Nam hiện nay, việc phân lớp (phân loại) tin tức thường được làm thủ công bởi người viết báo hoặc người biên tập Do vậy nhu cầu đặt ra
là cần có một hệ thống phân lớp văn bản Tiếng Việt, cho phép gán nhãn cho các tài liệu một cách tự động Khóa luận xin trình bày một phương pháp cho phép phân lớp các văn bản hay tài liệu Web vào các lớp, dựa vào mô hình được trả về sau quá trình huấn luyện,
sẽ được trình bày kỹ hơn trong chương 2
Khoảng hơn một năm trở lại đây, các hệ thống tổng hợp tin tức của Việt Nam phát triển rất mạnh Sau đây khóa luận xin liệt kê ra một số hệ thống hiện đang được xem là thành công nhất, đều nằm trong top 40 websites được truy cập nhiều nhất Việt Nam theo xếp hạng của alexa.com
Baomoi.com: Có thể nói baomoi.com là trang tổng hợp tin nổi bật nhất hiện nay với rất nhiều ưu điểm nổi trội so với các hệ thống tổng hợp báo khác:
• Ưu điểm:
- Baomoi.com được biết đến như là trang tổng hợp lấy tin từ nhiều nguồn nhất, từ các báo điện tử lớn tin tức tổng hợp trên đủ lĩnh vực cho đến các báo chỉ chuyên về một lĩnh vực (ví dụ: chỉ chuyên về ôtô-xe máy), hay đến cả các báo địa phương
- Baomoi.com còn được biết đến như là trang tổng hợp tin có crawler tốt nhất, tin tức sau khi xuất hiện trên trang gốc, chỉ sau một vài phút đã có tin tổng hợp trên baomoi.com
Trang 13- Cách thứ hai, tin được lấy về và lưu trong CSDL của baomoi.com, sau đó khi có yêu cầu tin, thì tin sẽ được truy vấn để trả về kết quả ở trang chi tiết (detail-page), cách làm này ít phổ biến hơn cách thứ nhất Cách làm này của baomoi.com xuất hiện các lỗi về trích xuất tin, đối với những bài viết có nhiều ảnh, thì ảnh sẽ bị đẩy hết xuống dưới cùng, sau phần kết thúc bài báo như trong Hình 1
Trang 14Hình 1 Minh họa lỗi tổng hợp tin trang Baomoi.com
Trang 16Hình 2 Minh họa lỗi mất ảnh trang tintuc.xalo.vn
Trang 17Chương 2 Cơ sở lý thuyết xây dựng mơ hình hệ thống tổng hợp và phân loại tin tự động
Ở chương này, khĩa luận xin trình bày các bước xây dựng một hệ thống tổng hợp tin tức Để cĩ một hệ thống tổng hợp tin tức tốt hai điều phải quan tâm đầu tiên đĩ là xây dựng một crawler tốt, và tiếp theo là xây dựng cây phân lớp đạt hiệu quả cao Chính vì thế khĩa luận đã tiến hành tham khảo, đánh giá và lựa chọn phương pháp phân lớp hiệu quả
để áp dụng cho hệ thống Phương pháp entropy cực đại (Maximum Entropy) là phù hợp hơn cả [3],[16] Trong các phương pháp phân lớp văn bản nổi tiếng nhất được biết đến như Nạve Bayes, SVM và entropy cực đại, Nạve Bayes là phương pháp lâu đời nhất và với độ chính xác khơng cao nhưng lại cĩ tốc độ phân lớp là nhanh hơn entropy cực đại và SVM, ngược lại thì SVM lại là thuật tốn hiện đại và được biết đến là phương pháp phân lớp văn bản cĩ độ chính xác là cao nhất hiện nay nhưng tốc độ phân lớp thì chậm hơn so với Nạve Bayes và entropy cực đại Đối với yếu tố phân lớp của một hệ thống tổng hợp
tin tức thì cần phải cân bằng được cả hai yêu tố chất lượng phân lớp và tốc độ Vậy khĩa
luận đi đến kết luận sẽ sử dụng phương pháp entropy cực đại cho việc phân lớp văn bản
do entropy cực đại cĩ thời gian thực thi khơng thua nhiều Nạve Bayes nhưng hiệu quả thì cũng rất tốt, khơng thua kém nhiều so với SVM [15],[16]
Khĩa luận cũng trình bày phương pháp đánh giá hiệu quả của cây phân lớp dựa vào các độ đo là độ chính xác (P), độ hồi tưởng (R) và độ đo (F1)
2.1.1 Khái niệm crawler
Kích thước quá lớn và bản chất thay đổi khơng ngừng của Web đặt ra một nhu cầu mang tính nguyên tắc là, cần phải cập nhật khơng ngừng tài nguyên cho các hệ thống trích chọn thơng tin trên Web Thành phần crawler đáp ứng được nhu cầu này bằng cách đi theo các siêu liên kết trên các trang Web để tải về một cách tự động nội dung các trang Web Web crawler khai thác sơ đồ cấu trúc của Web để duyệt khơng gian Web bằng cách chuyển từ trang Web này sang trang Web khác
Trang 18Hình 3 Sơ đồ cơ bản của một crawler đơn luồng [12]
Hình vẽ biểu diễn sơ đồ khối một crawler đơn luồng Chương trình crawler yêu cầu
một danh sách các URL chưa được thăm (frontier) Ban đầu frontier chứa các URL hạt
nhân do người dùng hoặc chương trình khác cung cấp Mỗi vòng lắp crawling bao gồm: lấy ra các URL tiếp theo cần được tải về từ frontier, nạp trang Web tương ứng với URL
đó bằng giao thức HTTP, chuyển nội dung trang Web vừa được tải về cho phục vụ kho chứa trang Web Quá trình crawling được kết theo theo hai tình huống:
- Đạt được điều kiện dừng cho trước, chẳng hạn như số lượng các trang Web được tải về đã đáp ứng được yêu cầu đặt ra
- Danh sách các URL tại frontier rỗng, không còn trang Web yêu cầu crawler phải
Check for termination [not done]
end
Trang 19một số trường hợp, bộ điều khiển crawling chưa chuyển kịp các dánh sách URL
sẽ tới thăm
Hoạt động của thành phần crawler có thể được xem như một bài toán duyệt đồ thị Toàn bộ thế giới được Web xem như một đồ thị lớn với các đỉnh là các trang Web và các cung là các siêu liên kết Quá trình tải một trang Web và đi tới một trang Web mới tương
tự như quá trình mở rộng một đỉnh trong bài toán tìm kiếm trên đồ thị [2]
2.1.2 Xây dựng crawler
Đối với một trang Web X, muốn tổng hợp được những tin tức mới nhất của nó, trước tiên cần gieo cho frontier một hạt giống là URL trang Home (hoặc trang Portal) của Web X đó
Ví dụ đối với vnexpress.net thì trang Home có URL là:
http://vnexpress.net/GL/Home/
Dùng giao thức HTTP để tải về mã html - gọi là Y - của URL hạt giống Mã html Y chứa rất nhiều các URL, trong đó chỉ một bộ phận nhỏ URL là siêu liên kết đến các detail-page của một tin bài cụ thể là có giá trị, còn phần lớn các URL có trong Y đều là liên kết không liên quan, chủ yếu là các liên kết quảng cáo
Nếu đưa tất cả các siêu liên kết này vào frontier thì sẽ là không tối ưu, do frontier phải duyệt qua các URL không chứa nội dung thông tin, như vậy sẽ ảnh hưởng đến tốc độ cập nhật tin mới của hệ thống, có thể gặp phải trường hợp như tin247.com ở trên Để lấy được các URL chứa nội dung thông tin cần thiết (phù hợp), khóa luận đưa ra một tập mẫu cho phép nhận dạng thẻ HTML chứa siêu liên kết tới detail-page
Ví dụ đối với báo vnexpress.net, từ mã html của trang Home có thể dễ dàng nhận biết được các tin có nội dung thông tin được chứa trong các thẻ HTML với tên class như
là link-topnews, folder-topnews, other-foldernews, link-othernews hay link-title Tập dữ liệu đặc trưng này giúp dễ dàng nhận diện và lấy ra các siêu liên kết chứa nội dung thông tin đưa vào frontier
Để lấy được các tin mới một cách nhanh nhất, crawler dừng quá trình thêm vào URL vào frontier sau chỉ một lần duyệt frontier hạt giống Sau khi toàn bộ URL thuộc frontier được xử lý hết, crawler được tạm dừng (delay) trong một khoảng thời gian xác định trước khi lặp lại quá trình
Trang 20Việc xây dựng crawler cũng chính là xây dựng luật lấy URL từ tập các đặc trưng
2.2.1 Trích chọn thông tin trên tài liệu Web
Web là dữ liệu điển hình trong dữ liệu bán cấu trúc Trích xuất thông tin Web đó là vấn đề trích xuất các thành phần thông tin mục tiêu từ những trang Web Một chương trình hay một luật trích xuất thường được gọi là một wrapper [4]
Bài toán trích xuất thông tin cho dữ liệu bán cấu trúc là rất hữu dụng bởi vì nó cho phép thu thập và tích hợp dữ liệu từ nhiều nguồn để cung cấp cho những dịch vụ giá trị gia tăng như : thu được những thông tin Web một cách tùy ý, meta-search, hay các hệ thống tổng hợp tin tức Ngày càng nhiều các công ty, các tổ chức phổ cập các thông tin ở trên Web, thì khả năng trích xuất dữ liệu từ các trang Web đó ngày càng trở nên quan trọng
Bài toán này đã được bắt đầu nghiên cứu vào giữa những năm của thập niên 1990 bởi nhiều công ty và các nhà nghiên cứu [4]
Thông tin bán cấu trúc trên Web rất đa dạng và phụ thuộc vào cách lưu trữ và trình bày của từng webstie cụ thể
Trích trọng trông tin, dữ liệu từ những tài liệu Web bán cấu trúc là một vấn đề rất quan trọng trong trích chọn dữ liệu nói chung Các Website thường được trình bày theo nhiều cách rất đa dạng, sử dụng nhiều định dạng về bảng biểu, màu sắc, font chữ, hình ảnh, nhằm tạo ra sự bắt mắt, thoải mái cho bạn đọc
Đặc điểm của các thông tin, dữ liệu tồn tại ở dạng bán cấu trúc là ngoài những từ khóa (ngôn ngữ tự nhiên) thì còn những cứ liệu (evidence) khác như bảng biểu, danh sách, kích thước font chữ, màu sắc, định dạng, các thẻ HTML giúp quá trình trích chọn
dễ dàng khả thi hơn Các phương pháp trích chọn thông tin dạng bán cấu trúc cũng thường phải tận dụng được hết các căn cứ này
2.2.2 Xây dựng bộ trích chọn tài liệu Web
Đối với một trang tổng hợp tin tức, việc trích chọn tài liệu cần phải lấy ra được các phần nội dung sau:
Trang 21- Tiêu đề bài báo
- Tóm tắt
- Ảnh minh họa
- Phần thân bài báo
Tương tự với việc trích rút ra các URL để đưa vào frontier như phần crawler (2.1.2) Xậy dựng bộ trích chọn tài liệu cũng là việc tạo ra một tập gồm các đặc trưng, cho phép nhận biết để trích rút được các nội dung cần thiết như trình bày ở trên Chính tập các đặc trưng này, kết hợp với URL hạt giống và tập các đặc trưng nhận biết URL chứa nội dung thông tin (được trình bày trong phần 2.1.2) tạo nên một tập dữ liệu đầu vào, cho phép crawling, trích chọn ra nội dung thông tin của một trang Web bất kì
2.3.1 Khái niệm phân lớp văn bản
Phân lớp là một trong những mối quan tầm nhiều nhất của con người trong quá trình làm việc với một tập hợp đối tượng Điều này giúp con người có thể tiến hành việc sắp xếp, tìm kiếm các đối tượng, một cách thuận lợi Khi biểu diễn đối tượng vào hệ thống thông tin, tính chất lớp vốn có của đối tượng trong thực tế thường được biểu diễn bằng một thuộc tính “lớp” riêng biệt Chẳng hạn, trong hệ thống thông tin quản lý tư liệu thuộc thư viện, thuộc tính về loại tư liệu có miền giá trị là tập tên chuyên nghành của tư liệu, gồm các giá trị như “Tin học”, “Vật lý”, Trước đây các công việc gán các giá trị của thuộc tính lớp thường được làm một cách thủ công Nhưng hiên nay, với sự bùng nổ của thông tin và các loại dữ liệu, việc đánh thuộc tính lớp một cách thủ công là rất khó khăn,
có thể nói là không thể Do vậy, cácphương pháp phân lớp tự động, trong đó có phân lớp văn bản là rất cần thiết và là một trong những chủ đề chính của khai phá dữ liệu
Phân lớp văn bản được các nhà nghiên cứu định nghĩa thống nhất như là việc gán tên các chủ đề (tên lớp/nhãn lớp) đã được xác định cho trước vào các văn bản dựa trên nội dung của nó Phân lớp văn bản là công việc được sự dụng để hỗ trợ trong quá trình tìm kiếm thông tin (Information Retrieval), chiết lọc thông tin (Information Extraction), lọc văn bản hoặc tự động dẫn đường cho các văn bản tới những chủ đề xác định trước
Trang 22Hình 4 Lược đồ chung xây dựng bộ phân lớp văn bản
Hình 4 biểu diễn một lược đồ chung cho hệ thống phân lớp văn bản, trong đó bao gồm ba thành phần chính: thành phần đầu tiên là biểu diễn văn bản, tức là chuyển các dữ liệu văn bản thành một dạng có cấu trúc nào đó Thành phần thứ hai là học quy nạp – sử dụng các kỹ thuật học máy để phân lớp văn bản vừa biểu diễn Thành phần thứ ba là tri thức ngoài – bổ sung các kiến thức thêm vào do người dung cung cấp để làm tăng độ chính xác trong biểu diễn văn bản hay trong quá trình học máy Trong nhiều trường hợp, các phương pháp học hệ thống phân lớp có thể bỏ qua thành phần thứ ba này
Thành phần thứ hai được coi là trung tâm của một hệ thống phân lớp văn bản Trong thành phần này, có nhiều phương pháp học máy được áp dụng như mô hình học Bayes, cây quyết định, phương pháp k láng giềng gần nhất, SVM, entropy cực đại (maximum entropy), là phù hợp [2]
Dữ liệu văn
bản
Tri thức ngoài
Học quy nạp Các công cụ
phân lớp
Biểu diễn ban đầu
Biểu diễn ban
Biểu diễn cuối
Làm giảm số chiều
hoặc lựa chọn thuộc tính
(1)
Trang 232.3.2 Áp dụng thuật toán phân lớp entropy cực đại xây dựng bộ phân lớp văn bản
Rất nhiều bài toán trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) có thể được xem xét dưới dạng các bài toán phân lớp với việc ước lượng xác suất có điều kiện p a b( ), của
“lớp” a (class) xuất hiện trong “ngữ cảnh” b (context) hay nói cách khác là ước lượng xác suất xuất hiện của a với điều kiện b Ngữ cảnh thường bao gồm các từ và việc chọn ngữ cảnh phụ thuộc theo từng bài toán cụ thể Ngữ cảnh b có thể là một từ đơn lẻ, cũng có thể
chứa một số từ xung quanh hoặc các từ cùng với các nhãn cú pháp tương ứng Một lượng
văn bản lớn sẽ cung cấp rất nhiều thông tin về sự xuất hiện đồng thời của các lớp a và ngữ cảnh b, nhưng lượng văn bản đó chắc chắn sẽ không đủ để chỉ ra một cách chính xác xác
suất p a b( ), của mọi cặp ( )a b, vì các từ trong b thường nằm rải rác Do đó cần phải tìm
một phương pháp ước lượng (có thể tin tưởng được) mô hình xác suất có điều kiện
xác suất entropy cực đại cung cấp một cách đơn giản để kết hợp các cứ liệu ngữ cảnh khác nhau để ước lượng xác suất của một số lớp ngôn ngữ xuất hiện cùng với một số ngữ cảnh ngôn ngữ
2.3.2.1 Biểu diễn các đặc trưng
Theo [1],[7] các đặc trưng (feature) được biểu diễn bằng các mệnh đề biểu diễn
thông tin ngữ cảnh (context predicate) Nếu A là tập các lớp thực hiện phân lớp và B là
tập các ngữ cảnh mà quan sát được, thì mệnh đề biểu diễn thông tin ngữ cảnh là một hàm được mô tả như sau:
Hàm này trả về giá trị true hoặc false, phụ thuộc vào sự xuất hiện hoặc không xuất
hiện của các thông tin hữu ích trong một số ngữ cảnh b∈B Tập các mệnh đề biểu diễn
thông tin ngữ cảnh được sử dụng rất nhiều trong các bài toán tuy nhiên với mỗi bài toán thì người thực nghiệm phải cung cấp một tập thông tin ngữ cảnh riêng Các mệnh đề biểu diễn thông tin ngữ cảnh được sử dụng trong các đặc trưng – đó là một hàm có dạng như sau:
Trang 24Và được mô tả dưới dạng:
, '
1 ' and ,
- a' là lớp “THETHAO”, b là văn bản hiện tại
- cp = [ văn bản hiện tại chứa cụm từ “bóng_đá” ]
thì hàm đặc điểm này sẽ trả về giá trị 1 nếu như lớp dự đoán a là “THETHAO”
2.3.2.2 Cách tiếp cận theo ngữ liệu
Cho rằng tồn tại một tập dữ liệu huấn luyện T ={( , ), , (a b1 1 a N,b N)} trong đó một tập hợp lớn các ngữ cảnh { ,b1…,b N} được gắn nhãn tương ứng trong tập hợp các lớp 1
{ ,a …,a N}, sau đó tiến hành học cho mô hình phân lớp entropy cực đại trên tập dữ liệu huấn luyện đó Ý tưởng tập dữ liệu huấn luyện bao gồm các cặp, mỗi cặp là một véc-tơ giá trị logic cùng với một lớp tương ứng rất phổ biến và được sử dụng với rất nhiều các thuật toán được mô tả trong các tài liệu về học máy
Học với ước lượng likelihood cực đại trên mô hình mũ
Để kết hợp các cứ liệu ta có thể đánh trọng số cho các đặc trưng bằng cách sử dụng một mô hình log-linear hay mô hình mũ:
Trang 25( , ) 1
i
hợp nhất với tập dữ liệu huấn luyện có thể xác định thông qua một kĩ thuật phổ biến của ước lượng likelihood cực đại:
nghiệm trên tập T, L p( )là log-likelihood có điều kiện của tập dữ liệu huấn luyện T (được
chuẩn hoá bởi số lượng sự kiện huấn luyện) và p* là phân phối xác suất tối ưu phụ thuộc theo tiêu chuẩn likelihood cực đại
Học dưới mô hình entropy cực đại
Trong khi có rất nhiều cách để kết hợp các cứ liệu dưới dạng nào đó của một mô hình phân phối xác suất, dạng (1) có tính tích cực riêng dưới hình mẫu entropy cực đại Nguyên lý entropy cực đại trong [17] chỉ ra rằng mô hình xác suất tốt nhất cho dữ liệu là
mô hình làm cực đại giá trị entropy trong số các mô hình phân phối xác suất thoả mãn các
cứ liệu
2.3.2.3 Mô hình entropy cực đại có điều kiện
Trong hình mẫu được dùng để giải quyết bài toán đặt ra, có k đặc trưng và khi cho
trước một lớp a∈A cùng với một ngữ cảnh b∈B thì công việc là phải tìm một ước lượng cho xác suất có điều kiệnp a b( ), Trong các hình mẫu entropy cực đại có điều kiện được
sử dụng trong các nghiên cứu [5],[8],[11],[13],[16],[18], lời giải tối ưu p* là phân phối
“không chắc chắn nhất” (entropy đạt cực đại) thoả mãn k ràng buộc trên các kì vọng của
Trang 26Ở đây H p( ) kí hiệu cho entropy có điều kiện được tính trung bình trên tập huấn
luyện, khác với entropy kết hợp, và xác suất biên của b sử dụng ở đây là xác suất thực
nghiệm p b( ), khác với xác suất mô hình p b( ) E f p i là kì vọng của mô hình p của f i, nó
sử dụng p b( ) làm một xác suất biên Tương tự như vậy E f p i là kì vọng thực nghiệm của
p của f i p a b( , ) kí hiệu cho xác suất thực nghiệm của ( )a b, trong một số mẫu huấn
luyện nhất định Và cuối cùng P kí hiệu cho tập các mô hình xác suất thoả mãn các cứ
liệu quan sát được
2.3.2.4 Mối quan hệ với likelihood cực đại
Thông thường hình mẫu likelihood cực đại và entropy cực đại là hai cách tiếp cận khác nhau trong mô hình hoá thống kê, nhưng chúng có cùng câu trả lời trong trường hợp này Có thể thấy rằng việc ước lượng tham số của likelihood cực đại cho mô hình của dạng (1) tương đương với việc ước lượng tham số của entropy cực đại trên tập các mô hình thoả mãn Điều đó có nghĩa là:
đó dưới tiêu chuẩn entropy cực đại, p* sẽ không giả định bất kì điều gì vượt quá những
trông tin trong các ràng buộc tuyến tính định nghĩa ra P Trong [18] trình bày các chứng
minh cho thấy rằng điều kiện *
Trang 27một cách không có căn cứ, lời giải cho entropy cực đại *
Cho tập huấn luyện T ={( , ), , (a b1 1 a N,b N)}
Các thuật toán phổ biến được sử dụng bao gồm: Thuật toán GIS – Generalized
Iterative Scaling – được đưa ra trong [8]; Thuật toán IIS – Improved Iterative Scaling –
được đưa ra trong [11] là thuật toán ước lượng tham số của mô hình mũ do các thành viên trong nhóm nghiên cứu tại IBM’s T J Watson Research Center đưa ra vào những năm
đầu của thập kỉ 90; Thuật toán L-BFGS – Limited memory BFGS – là phương pháp giới
hạn bộ nhớ cho phương pháp quasi-Newton
2.3.3 Phương pháp đánh giá hiệu suất phân lớp
Việc đánh giá độ phân lớp dựa trên việc áp dụng mô hình đối với các dữ liệu thuộc tập dữ liệu kiểm tra Dtest, sử dụng mô hình cho từng trường hợp dữ liệu ở Dtest mà kết quả
ra là lớp c dự báo cho từng dữ liệu Hai độ đo được dùng phổ biến để đánh giá chất lượng của thuật toán phân lớp là độ hồi tưởng (recall) R và đọ chính xác (precision) P Ngoài ra, một số độ đo kết hợp được xây dựng từ các độ đo này cũng được sử dụng, trong đó điển hình nhất là độ đo F1 Phần dưới đây trình bày các tính toán chi tiết giá trị của các độ đo hồi tưởng và độ chính xác trong bài toán phân lớp văn bản
Trang 28Xét trường hợp lực lượng của tập C các lớp trong bài toán lớn hơn hai (|C| > 2) với lưu ý rằng, trường hợp tập C chỉ gồm có hai lớp là đơn giản Đối với lớp c, cho thực hiện
mô hình phân lớp vừa được xác định với các dữ liệu thuộc Dtest nhận được các đại lượng
c
TP , TN c, FP c, FN c như bảng dưới đây:
Giá trị thực tế Lớp c
Thuộc lớp c Không thuộc lớp c
Giá trị qua bộ
phân lớp
Diễn giải bằng lời cho từng giá trị trong bảng:
- TP c (true positives): số lượng ví dụ dương (tài liệu thực sự thuộc lớp c) được thuật toán phân lớp gán cho giá trị đúng thuộc lớp c
- TN c (true negatives): số lượng ví dụ âm (tài liệu thực sự không thuộc c) nhưng lại được thuật toán phân lớp gán cho giá trị đúng thuộc lớp c
- FP c (false positives): số lượng ví dụ dương được thuật toán phân lớp gán cho giá trị sai là không thuộc lớp c
- FN c (false negatives): số lượng ví dụ âm được thuật toán phân lớp gán cho giá trị sai là không thuộc lớp c
Khi đó, với mỗi lớp c, giá trị các độ đo R c và P c được tính như sau:
c c
TP R
=+Với bài toán phân lớp nhị phân, các độ đo nói trên cho một lớp trong hai lớp là đủ để đánh giá chất lượng bộ phân lớp, tuy nhiên, trong trường hợp bài toán phân lớp K lớp, các
Bảng 1 Các nhóm tài liệu sau phân lớp
Trang 29độ đo trung bình được sử dụng bao gồm trung bình mịn (microaveraging) và trung bình thô (macroaveaging)
Độ hồi tưởng trung bình thô (macroaveraging recall):
1
1 K
M
c c