Tài liệu Khóa luận Tự động tổng hợp và phân loại tin trong hệ thống trang tin điện tử: ĐẠ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
HÀ NỘI - 2010
ĐẠ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
Cán bộ hướng dẫn: TS. Nguyễn Trí Thành
HÀ NỘI - 2010
Lờ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ốt
nghiệ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ọc
Cô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ốt
...
59 trang |
Chia sẻ: haohao | Lượt xem: 1302 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Tự động tổng hợp và phân loại tin trong hệ thống trang tin điện 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Ệ
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Ử
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Ệ
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Ử
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: TS. Nguyễn Trí Thành
HÀ NỘI - 2010
Lờ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ốt
nghiệ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ọc
Cơ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ốt
quá 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ững
ngườ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ốt
nghiệp.
Tơi xin chân thành cảm ơn!
Sinh viên
Lê Xuân Thành
i
Tĩ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 tốn trích xuất thơng tin từ tài liệu Web và bài tố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.
1
ii
Mụ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 tố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
iii
Chươ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
iv
Bảng các ký hiệu viết tắt
Ký hiệu Diễn giải
HTML HyperText Markup Language
URL Uniform Resource Locator
WWW World Wide Web
CSDL Cở sở dữ liệu
v
Danh 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
vi
Danh 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
1
Giớ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 khốn, thơng tin họ quan tâm
là các tin tức mới nhất về thị trường chứng khốn, về kết quả giao dịch ở các sàn chứng
khố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 tốn về hệ thống tổng hợp tin tức cần phải giải quyết được
hai bài tố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 tố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 tố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.
2
Chươ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 tố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.
3
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
1.1. Khái quát chung về các báo điện tử
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.
1.2. Khái quát chung về các hệ thống tổng hợp tin tức
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.
4
- Hỗ trợ tìm kiếm tin tức
• Nhược điểm: baomoi.com cho phép người đọc xem một tin chi tiết theo 2 cách,
tuy nhiên cả 2 cách đều cĩ những vấn đề khơng tốt:
- Cách thứ nhất là xem trang gốc - website chứa bài báo quan tâm thơng qua trang
của baomoi.com. Như vậy cĩ nghĩa là báo mới đứng vai trị trung gian, nhận dữ liệu từ
webstie chứa bài báo và gửi nguyên vẹn đến cho người đọc. Cách làm này là cách phổ
biến với hầu hết các tin của baomoi.com, cách này khơng tối ưu cho người sử, trong khi
người sử dụng chỉ cần xem nội dung tin thì việc xem cả trang gốc như thế mang đến rất
nhiều thơng tin thừa như các ảnh, các flash quảng cáo, làm cho tốc độ xem tin bị chậm,
đặc biệt đối với những tin cĩ clip thì tốc độ xem clip là rất chậm hoặc cĩ thể dẫn đến hiện
tượng “đơ” trình duyệt.
- 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.
5
Hình 1. Minh họa lỗi tổng hợp tin trang Baomoi.com
6
tintuc.xalo.vn:
• Ưu điểm:
- Tốc độ lấy tin của tintuc.xalo.vn là rất nhanh, cĩ thể nĩi về tốc độ thì
tintuc.xalo.vn khơng hề thua kém baomoi.com.
- Tintuc.xalo.vn cho phép người đọc cĩ thể dễ dàng truy cập đến bài báo gốc
nếu cần bằng một liên kết đặt phía dưới tiêu đề ở detail-page.
• Nhược điểm:
- Ở page-list khá nhiều tin của tintuc.xalo.vn gặp hiện tượng mất ảnh minh
họa
tin247.com: Tốc độ lấy tin của tin247.com là khá chậm, tin tức sau khi xuất hiện ở
trang gốc khoảng vài giờ mới được cập nhật trên trang tin của tin247.com. Như vậy
thì nĩi chung khơng đáp ứng được nhu cầu cập nhật tin tức nhanh chĩng như 2 trang
tổng hợp trên.
7
Hình 2. Minh họa lỗi mất ảnh trang tintuc.xalo.vn
8
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
Ở 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. Xây dựng crawler
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.
9
Hì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
tải về. Lưu ý rằng, điều kiện frontier rỗng được tính với một độ trễ nào đĩ, bởi cĩ
[done]
[no URL]
Cr
aw
lin
g
Lo
o
p
Initialize frontier with
seed URLs
start
Check for termination
[not done]
Fetch page
Parse page
Add URLs
to frontier
[URL]
Pitch URL
from frontier
end
10
mộ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 tốn duyệt đồ thị.
Tồ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 tố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à:
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 tồ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.
11
Việ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. Xây dựng bộ trích chọn thơng tin
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 tố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 tố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à ngồ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:
- Phần bắt đầu và kết thúc bài báo từ đĩ trích rút ra các nội dung kế tiếp.
12
- 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. Xây dựng bộ phân lớp
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.
13
Hì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 ngồ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
ngồ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)
14
2.3.2. Áp dụng thuật tố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 tố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 tố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 tố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
( ),p a b sử dụng các cứ liệu về sự xuất hiện đồng thời của lớp a và ngữ cảnh b. Mơ hình
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:
: { , }cp B true false→
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 tốn tuy nhiên với mỗi bài tố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:
: {0,1}f A B× →
15
Và được mơ tả dưới dạng:
( ) ( )
, '
1 ' and
,
0cp a
if a a cp b truef a b
other
= =
=
Hàm này kiểm tra sự xuất hiện đồng thời của lớp dự đốn a' với mệnh đề biểu diễn
thơng tin ngữ cảnh cp. Ví dụ nếu trong bài tốn xuất hiện:
- 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ự đố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 1 1{( , ),..., ( , )}N NT a b a b= trong đĩ một tập
hợp lớn các ngữ cảnh 1{ , , }Nb b… được gắn nhãn tương ứng trong tập hợp các lớp
1{ , , }Na a… , 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 tố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ũ:
( ) ( )
( ),
1
1
,
i
k
f a b
i
i
p a b
Z b
λ
=
= ∏ (1)
( ) ( ),
1
i
k
f a b
i
a i
Z b λ
=
=∑∏
trong đĩ k là số lượng các đặc trưng và ( )Z b là biểu thức chuẩn hĩa để đảm bảo
điều kiện ( | ) 1
a
p a b =∑ . Mỗi tham số iλ tương ứng với một đặc điểm if và cĩ thể được
hiểu là “trọng số” của đặc điểm tương ứng ( iλ > 0). Khi đĩ xác suất ( ),p a b là kết quả
được chuẩn hố của các đặc trưng cĩ ý nghĩa với cặp ( ),a b , tức là với các đặc điểm if mà
16
( , ) 1if a b = . Các trọng số 1{ , , }kλ λ… của phân phối xác suất *p là phân phối xác suất phù
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:
( , )
1
1{ | ( | ) }( )
i
k
f a b
i
i
Q p p a b
Z b
λ
=
= = ∏
,
( ) ( , ) log ( , )
a b
L p p a b p a b=∑
* arg max ( )
q Q
p L q
∈
=
trong đĩ Q là tập hợp các mơ hình của dạng log-linear, ( | )p a b là xác suất thực
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 hố 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 tố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ện ( ),p 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
các đặc điểm:
* arg max ( )
p P
p H p
∈
=
,
( ) ( , ) log ( , )
a b
H p p a b p a b=∑
17
{ | , {1... }}p i ipP p E f E f i k= = =
,
( , ) ( , )i ip
a b
E f p a b f a b=∑
,
( ) ( , ) ( , )p i i
a b
E f p b p a b f a b=∑
Ở đâ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 . p iE f là kì vọng của mơ hình p của if , nĩ
sử dụng ( )p b làm một xác suất biên. Tương tự như vậy ipE f là kì vọng thực nghiệm của
p của if . ( , )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 hố 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à:
* arg max ( ) arg max ( )
q Q p P
p L q H p
∈ ∈
= =
Điều này được mơ tả trong [3] sử dụng lý thuyết thừa số nhân lagrange và trong [11]
với các đối số lý thuyết thơng tin (đối với trường hợp *p là một mơ hình kết hợp). Dưới
tiêu chuẩn likelihood cực đại, *p sẽ phù hợp với dữ liệu ở mức gần nhất cĩ thể, trong khi
đĩ 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 * arg max ( )
q Q
p L q
∈
= là tương đương với điều kiện
* arg max ( )
p P
p H p
∈
= . Điều này rất quan trọng để thấy rằng dạng (1) khơng phải là đưa ra
18
một cách khơng cĩ căn cứ, lời giải cho entropy cực đại * arg max ( )
p P
p H p
∈
= phải cĩ dạng
này. Sự tương đương này đã cung cấp một phương pháp mới cho phép ước lượng tham số
cho các mơ hình dựa trên nguyên lý entropy cực đại bằng cách sử dụng các phép ước
lượng tham số cho likelihood cực đại.
2.3.2.5. Các thuật tốn ước lượng tham số
Cho tập huấn luyện 1 1{( , ),..., ( , )}N NT a b a b= .
Phân phối mũ:
( ) ( )
( ),
1
1| i
k
f a b
i
i
p a b
Z b
λ
=
= ∏
trong đĩ 1{ ... }kλ λ λ= là tập trọng số, ( ) ( ),
1
i
k
f a b
i
a i
Z b λ
=
=∑∏ là thừa số chuẩn hố. Huấn
luyện mơ hình entropy cực đại chính là ước lượng tập trọng số 1{ ... }kλ λ λ= để cho phân
phối ở trên đạt entropy cao nhất.
Các thuật tốn phổ biến được sử dụng bao gồm: Thuật tốn GIS – Generalized
Iterative Scaling – được đưa ra trong [8]; Thuật tốn IIS – Improved Iterative Scaling –
được đưa ra trong [11] là thuật tố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 tố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 testD , sử dụng mơ hình cho từng trường hợp dữ liệu ở testD 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 tốn phân lớp là độ hồi tưởng (recall) R và đọ chính xác (precision) P. Ngồ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 tốn chi tiết giá trị của các độ đo
hồi tưởng và độ chính xác trong bài tốn phân lớp văn bản.
19
Xét trường hợp lực lượng của tập C các lớp trong bài tố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 testD nhận được các đại lượng
cTP , cTN , cFP , cFN 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
Thuộc lớp c cTP cTN Giá trị qua bộ
phân lớp Khơng thuộc lớp c cFP cFN
Diễn giải bằng lời cho từng giá trị trong bảng:
-
cTP (true positives): số lượng ví dụ dương (tài liệu thực sự thuộc lớp c) được
thuật tốn phân lớp gán cho giá trị đúng thuộc lớp c.
- cTN (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 tốn phân lớp gán cho giá trị đúng thuộc lớp c.
- cFP (false positives): số lượng ví dụ dương được thuật tốn phân lớp gán cho giá
trị sai là khơng thuộc lớp c.
-
cFN (false negatives): số lượng ví dụ âm được thuật tố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 cR và cP được tính như sau:
c
c
c c
TPR
TP FP
=
+
và c
c
c c
TPP
TP TN
=
+
Với bài tố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 tố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
20
độ đ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 KM
c
c
R R
K
=
= ∑
và độ chính xác trung bình thơ (macroaveaging precision):
1
1 KM
c
c
P P
K
=
= ∑
Độ hồi tưởng trung bình mịn (microaveraging recall):
1
1
( )
K
c
M c
K
c c
c
TP
P
TP FP
=
=
=
+
∑
∑
và độ chính xác trung bình mịn (microaveraging precision):
1
1
( )
K
c
M c
K
c c
c
TP
P
TP TN
=
=
=
+
∑
∑
Các độ đo trung bình mịn được coi là các độ đo tốt hơn để đánh giá chất lượng thuật
tốn phân lớp đa lớp tài liệu [2].
21
Chương 3. Xây dựng hệ thống tổng hợp và phân loại tin
tự động
Việc xây dụng hệ thống tổng hợp và phân loại tin tự động là vấn đề quan trọng nhất
của khĩa luận. Ở chương này, khĩa luận sẽ trình bày các bước xây dựng mơ hình hệ
thống trên cơ sở lý thuyết được trình bày trong chương 2.
3.1. Cơ sở thực tiễn
Hiện nay, các trang Web đều được xây dựng bởi các ngơn ngữ lập trình Web như
PHP, ASP.NET,... Nĩ cho phép sinh ra siêu văn bản một cách tự động. Khi một tin tức
được đăng tải trên một báo điện tử, thì nĩ tuân theo định dạng HTML nhất định được sinh
ra tự động. Điều này cĩ nghĩa là, khi biết mẫu để trích xuất một tin trong một khuơn mẫu,
thì cũng cĩ thể trích xuất được tin ở trang cĩ cùng khuơn mẫu đĩ.
Ví dụ: Ở trang tin vnexpress.net, hai bài báo ở hình 5a và 5b là hai tin bài trong hai
mục báo khác nhau
Hình 5a. Mơ tả phần nội dung cần lấy trên trang tin 1
22
Hình 5b. Mơ tả phần nội dung cần lấy trên trang tin 2
Mặc dù detail-pages
của chúng khác nhau nhưng
chúng cĩ cùng một câu
DOM => cĩ nghĩa là cĩ
cùng một khuơn mẫu.
Hình 6. Mơ hình cây
DOM của 2 detail-pages
HTML
TABLE
TD
DIV
TD
BODY BODY
TR TR
Nội dung
bài báo
Quảng cáo
23
2 detail-pages này cĩ cùng một cây DOM, nhưng khĩa luận khơng sử dụng trích
chọn thơng tin dựa trên mơ hình cây DOM mà sử dụng đặc trưng mẫu để tìm ra các nội
dung thơng tin cần thiết. Các đặc trưng này được thể hiện như trong hình 7a và 7b.
Hình 7a. Các đặc trưng cho phép trích chọn thơng tin bài báo 1
24
Hình 7b. Các đặc trưng cho phép trích chọn thơng tin bài báo 2
Từ mẫu tìm được, dễ dàng nhận ra phần nội dung thơng tin cần thiết, điều đĩ khiến
việc trích chọn ra nội dung thơng tin cần thiết là hết sức đơn giản.
3.2. Xây dựng mơ hình hệ thống
Trên cơ sở thực tiễn và mơ hình lý thuyết đã phân tích ở chương 2, tiếp theo khĩa
luận sẽ trình bày mơ hình hĩa hệ thống tổng hợp và phân loại tin tức. Các module cấu
thành sẽ cho thấy tính mở của hệ thống, cho phép dễ dàng mở rộng khi cần.
25
3.2.1. Mơ hình tổng quan
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
Mơ tả bài tốn
Đầu vào: File cấu hình hệ thống xnews.conf
Đầu ra: Các tin tức đã được phân tích và tách thành các phần bao gồm: tiêu đề, tĩm
tắt, ảnh minh họa, nội dung... ghi vào CSDL.
File cấu hình xnews.conf chứa tập các URLs hạt giống, tương ứng với mỗi URL hạt
giống là một loạt các mẫu, cho phép trích xuất thơng tin như mong đợi.
Định dạng xnews.conf được trình bày như sau:
Dịng 1: Chứa số nguyên dương N, với N là số nguồn sẽ sử dụng để tổng hợp tin
tức.
8 dịng tiếp theo được trình bày theo định dạng cố định và lặp lại N lần
26
1. URL hạt giống
2. Dấu hiệu nhận biết link con cần lấy
3. Bắt đầu phần nội dung
4. Kết thúc phần nội dung
5. Tiêu đề bài báo
6. Đoạn tĩm tắt nội dung chính
7. Tác giả bài báo
8. Dịng trống
Đối với cụm 8 dịng này thì:
7 dịng đầu tiên chứa thơng tin về một Web tin tức, nĩ cho phép crawl, trích xuất tất
cả các tin bài cần lấy của Web tin tức đĩ.
Dịng thứ 8 được để trống.
Ví dụ đối với báo vnexpress.net để cĩ thể lấy được đầy đủ các tin bài cần thiết, khĩa
luận xây dựng một bộ gồm các mẫu như sau:
~
~class="link-topnews"~class="folder-topnews fl"~class="other-folder fl"~<a
class="link-othernews"~<a class="link-title"~
~class="content"~
~style="margin-top:5px;margin-bottom:5px;"~
~class=Title~
~~
~ormal align=right~
Mỗi một dịng được bắt đầu và kết thúc bởi dấu “~”, đồng thời dấu “~” cũng được
sử dụng để làm phân cách cho các mẫu trên cùng một dịng.
Đường đi của mơ hình hệ thống
27
Trước hết, “module sinh file huấn luyện” được chạy để sinh ra file huấn luyện, cũng
là dữ liệu vào, thành phần chính của “module phân lớp”. Tiếp theo, chương trình đọc file
cấu hình xnews.conf để thu được các URLs hạt giống và các mẫu đi cùng với nĩ như
được trình bày ở trên. Tạo một yêu cầu (request) HTTP để lấy về mã HTML của trang tin
Home tương ứng với URL hạt giống. Đọc và trích xuất ra các siêu liên kết cĩ trong mã
HTML này dựa vào mẫu “Dấu hiệu nhận biết link con cần lấy” để thu được danh sách
URLs. Truy vấn đến CSDL để kiểm tra các URLs thuộc danh sách này xem đã được thăm
chưa, từ đĩ đưa ra được danh sách các URLs chưa thăm. Ở đây, khĩa luận sử dụng lưu trữ
trong CSDL bảng băm MD5 của URL thay cho việc lưu trữ trực tiếp URL, đồng thời sử
dụng mã MD5 làm khĩa chính của bảng tương ứng trong CSDL (sẽ được trình bày chi tiết
hơn trong chương 4). Đối với mỗi URL trong danh sách URLs chưa thăm, lặp lại việc gửi
yêu cầu HTTP để thu được mã HTML tương ứng. Sử dụng cơng cụ UnicodeConverter để
chuẩn hĩa Unicode mã HTML lấy về, và sau đĩ tiến hành trích xuất thơng tin nhờ vào tập
mẫu của file cấu hình xnews.conf. Thơng tin trích xuất được, được đưa vào dữ liệu “các
thơng tin đầy đủ về bài báo” bao gồm bảng băm MD5 của URL, URL, tiêu đề bài báo,
phần tĩm tắt nội dung, link ảnh minh họa, và phần nội dung bài báo, đồng thời cung cấp
“tồn bộ nội dung bài báo” (từ phần bắt đầu đến kết thúc của bài báo đĩ trong mã
HTML) cho “module chuẩn hĩa dữ liệu huấn luyện/kiểm tra mơ hình”. Qua bước này,
chương trình thu được xâu đã được chuẩn hĩa, làm dữ liệu vào cho “module phân lớp”,
qua module thu được nhãn tương ứng của bài báo. Cung cấp nhãn này cho “các thơng tin
đầy đủ về bài báo” và cuối cùng là tiến hành ghi các thơng tin này vào CSDL.
Xử lý các văn bản khơng thuộc các lớp quan tâm
Trên thực tế, xảy ra trường hợp tập các lớp mà bài tốn phân lớp của chương trình
quan tâm tới khơng bao quát hết các trường hợp văn bản, tin tức của hệ thống trang tin
điện tử. Một phương pháp giải quyết với vấn đề này, là xây dựng thêm một phân lớp, là
phân lớp “khác”. Tất cả các văn bản khơng thuộc các phân lớp văn bản thơng thường sẽ
được xếp vào phân lớp “khác”. Để giải quyết vấn đề theo cách đơn giản hơn, khĩa luận
đã áp dụng một số phương pháp để loại bỏ các trường hợp này từ danh sách URLs dựa
vào đặc điểm URL và một số yếu tố khác. Làm như vậy cũng đồng thời tiết kiệm được
cơng sức phải xử lý (từ lấy mã HTML, chuẩn hĩa, phân lớp,…) một lượng các văn bản
khơng thuộc lớp nào gĩp phần tăng tốc độ chung cho tồn hệ thống.
28
Ví dụ 1: Trên trang báo điện tử vnexpress.net cĩ phân lớp “Tâm sự” là phân lớp
khơng thuộc nhĩm được quan tâm của nội dung khĩa luận. Một số URL bài viết thuộc lớp
này:
-
-
Dễ dàng nhận thấy đặc điểm chung URL của các bài viết thuộc lớp này. Như vậy
với báo điện tử vnexpress.net để loại các bài viết thuộc lớp “Tâm sự” đơn giản chỉ cần
loại các URL cĩ chứa xâu “vnexpress.net/GL/Ban-doc-viet/Tam-su/”.
Ví dụ 2: Trong trường hợp của báo phapluattp.vn. Xuất hiện các bài báo thuộc lớp
“Đơ thị” là phân lớp chưa được khĩa luận quan tâm tới.
Dựa vào đặc điểm này, các bài báo thuộc lớp “Đơ thị” cũng sẽ dễ dàng bị loại trước
khi chương trình thực hiện trích xuất các nội dung thơng tin cần thiết.
Hình 9. Đặc điểm giúp loại tin thuộc lớp chưa quan tâm
29
Kiểm sốt các trang trùng nhau
Một vấn đề khơng kém phần quan trọng trong nội dung tổng hợp tin tức là kiểm sốt
các bài báo cĩ cùng nội dung. Đối với hệ thống trang tin điện tử của Việt Nam, nhiều
trang báo thực hiện việc tổng hợp từ các báo khác bằng phương pháp thủ cơng, và đi kèm
với đĩ cĩ một số vấn đề cần được xử lý như sau:
- Tiêu đề của tin tức cĩ thể được thay đổi.
- Phần tĩm tắt cĩ thể được thêm bớt.
- Ảnh minh họa cĩ thể bị thay đổi.
- Nội dung cĩ thể được thêm bớt ít nhiều.
Để xử lý trường hợp này phương pháp thường được sử dụng là Jaccard Index (chỉ
số Jaccard) – cịn được gọi là hệ số tương tự Jaccard, là một số thống kê được sử
dụng để so sánh sự giống nhau và đa dạng của các bộ mẫu. Nhưng do cĩ nhiều hạn
chế về mặt thời gian, nên vấn đề này sẽ là định hướng phát triển trong tương lai.
3.2.2. Module chuẩn hĩa dữ liệu huấn luyện/kiểm tra mơ hình
Hình 10. Module chuẩn hĩa dữ liệu huấn luyện/kiểm tra mơ hình
30
Mơ tả bài tốn
Đầu vào: Xâu dữ liệu nội dung bài báo và file danh sách từ dừng1
Đầu ra: Xâu dữ liệu đã được gán nhãn
“Xâu dữ liệu nội dung bài báo” là phần nội dung từ bắt đầu đến kết thúc bài báo
dưới mã HTML đã được chuẩn hĩa Unicode (là phần dữ liệu được trích xuất từ mã
HTML của bài báo tương ứng).
Đường đi của mơ hình hệ thống
Từ xâu dữ liệu vào, xĩa bỏ các thẻ HTML để thu được tài liệu dạng văn bản phi cấu
trúc thơng thường. Sử dụng cơng cụ vnTokenizer phân tích dữ liệu thu được ra dạng từ
đơn, từ ghép. Xĩa bỏ các ký tự đặc biệt như dấu chấm, dấu phẩy, chấm phẩy, hai chấm,
ba chấm,… thu được xâu dữ liệu chỉ bao gồm các từ đơn từ ghép ngồi ra khơng cịn ký
hiệu đặc biệt hay nào khác. Loại bỏ từ dừng ở xâu thu được bằng phương pháp khớp biểu
thức chính quy. Từ file danh sách từ dừng sinh ra một mẫu biểu thức chính quy, cho phép
khớp tất cả các từ dừng cĩ trong danh sách. Sau khi loại bỏ từ dừng, chuẩn hĩa xâu thu
được, xĩa bỏ các dấu trống đầu và cuối, thay tất cả các ký tự trống (ký tự tab, cuối dịng)
bằng dấu khoảng cách, giữa hai từ bất kỳ chỉ giữ một dấu khoảng cách duy nhất. Thu
được xâu đã được chuẩn hĩa, thực hiện gán nhãn và trả ra xâu đã được gán nhãn.
Ở đây, đối với mơ hình huấn luyện, nhãn của dữ liệu đã được biết trước, thực hiện
gán nhãn trên xâu đã được chuẩn hĩa. Cịn với mơ hình kiểm tra, nhãn ở đây được gán
theo dạng câu hỏi (dấu chấm hỏi “?”).
3.2.3. Module phân lớp
Mơ tả bài tốn
Đầu vào: File huấn luyện và xâu cần phân lớp đã được chuẩn hĩa
Đầu ra: Xâu được phân lớp và gán nhãn
File huấn luyện được tạo bởi “module sinh file huấn luyện” và xâu cần được phân
lớp được sinh bởi “module chuẩn hĩa dữ liệu huấn luyện/kiểm tra mơ hình”.
Đường đi của mơ hình hệ thống
1
31
Từ file huấn luyện, sử dụng cơng cụ maxent cho việc học mơ hình. Sau quá trình
học, mơ hình thu được được sử dụng để kiểm tra mơ hình trên “xâu vào đã được chuẩn
hĩa” (sử dụng cơng cụ maxent) thu được xâu được gán nhãn.
3.2.4. Module sinh file huấn luyện
Mơ tả bài tốn
Đầu vào: Tập dữ liệu huấn luyện
Đầu ra: File huấn luyện
Tập dữ liệu huấn luyện được lấy từ báo vnexpress.net riêng biệt theo 10 phân lớp
bao gồm:
- XAHOI
- THEGIOI
- KINHDOANH
Hình 11. Module phân lớp
32
- VANHOA
- THETHAO
- PHAPLUAT
- ĐOISONG
- KHOAHOC
- VITINH
- XE
Mỗi phân lớp sử dụng 1.000 bài báo cho việc học mơ hình. Như vậy file huấn luyện
sẽ bao gồm nội dung được lấy từ 10.000 bài báo đã biết trước nhãn.
Đường đi của module
Đọc tập dữ liệu huấn luyện để thu được xâu, làm dữ liệu đầu vào cho “module
chuẩn hĩa dữ liệu huấn luyện/kiểm tra mơ hình” thu được xâu đã được gán nhãn ghi lại
thành file huấn luyện.
3.3. Khả năng mở rộng của hệ thống
Theo mơ hình hệ thống của chương trình thể hiện tính module hĩa cao. Các module
làm việc ăn khớp với nhau, mỗi module đều cĩ một chức năng rõ ràng và tương đối độc
Hình 12. Module sinh file huấn luyện
33
lập với các module cịn lại, các module chỉ tương tác với nhau theo dạng đầu vào của
module này là đầu ra của module khác làm cho chương trình dễ dàng kiểm sốt được lỗi
phát sinh nếu cĩ. Đồng thời việc nâng cấp tồn bộ hệ thống lấy tin cũng chỉ ảnh hưởng
đến từng module riêng biệt chứ khơng tác động tới tất cả các module trong hệ thống.
Ví dụ hệ thống cần được nâng cấp về số phân lớp, để mở rộng quy mơ ra những lĩnh
vực chưa được quan tâm trước đĩ, hệ thống chỉ cần nâng cấp làm việc với “module sinh
file huấn luyện” để cĩ thể phân lớp các văn bản thuộc các lớp mới đĩ.
34
Chương 4. Thực nghiệm và đánh giá kết quả
Ở chương này, khĩa luận sẽ trình bày thực nghiệm và kết quả để đánh giá chất
lượng của hệ thống tổng hợp và phân loại tin tự động, khĩa luận sẽ đưa ra hai nội dung
đánh giá là chất lượng tổng hợp tin và hiệu suất của việc phân loại tin tự động.
4.1. Mơi trường phần cứng và phần mềm
4.1.1. Mơi trường phần cứng
Thành phần Thơng số
CPU Intel Core 2 Duo T7600 2.0GHz
RAM 3GB
OS Ubuntu 9.04
Bộ nhớ ngồi 120GB
4.1.2. Cơng cụ phần mềm
STT Tên phần mềm
Giấy
phép
Nguồn
1 Netbean 6.5 GPL
Bảng 2. Cấu hình phần cứng sử dụng trong thực nghiệm
Bảng 3. Các cơng cụ phần mềm sử dụng trong thực nghiệm
35
2
mysql 5.0.75-
0ubuntu10.3
GPL
3 OpenJDK 1.6.0_0 GPL
4
mysql-connector-
java-5.1.12-bin.jar GPL
5 maxent-2.5.2.jar GPL
6
vn.hus.nlp.tokenizer-
4.1.1.jar GPL
php
7
UnicodeConverter.jar
v2.0
GPL
Sử dụng các cơng cụ phần mềm trên khĩa luận đã xây dựng chương trình tự động
tổng hợp và phân loại tin trong hệ thống trang tin điện tử. Cấu trúc của chương trình gồm
cĩ 3 gĩi (packages) chính như sau:
J_Lib: Cung cấp các chức năng cần thiết ở mức thư viện cung cấp các chức
năng tiện dụng nhất và cĩ mức độ độc lập tương đối với các packages khác.
J_NLP: Cung cấp các chức năng tách từ tiếng Việt (sử dụng vnTokenizer) và
học cũng như kiểm tra mơ hình với phân lớp văn bản entropy cực đại (sử
dụng maxent)
xnews: Sử dụng J_Lib và J_NLP để lấy tin, xử lý trích xuất, chuẩn hĩa, phân
lớp, ghi nội dung tin tức vào CSDL, làm và đánh giá các thực nghiệm...
Chi tiết các lớp của 3 gĩi này được trình bày như bảng bên dưới:
36
Packages Classes Chức năng
J_GET
Tạo yêu cầu (request) GET để lấy về mã
HTML của một URL
J_Img Tải ảnh, phân loại và nén ảnh
J_RmTag
Xĩa các thẻ HTML để thu được bài báo ở
dạng văn bản thơng thường
J_SQL Kết nối với CSDL (sử dụng mysql-
connector-java-5.1.12-bin.jar)
J_Lib
J_Utilities
Sinh mã md5 của một xâu và các tiện tích
trên file
CreateModel
Sinh mơ hình từ tập dữ liệu huấn luyện (sử
dụng maxent)
Predict
Kiểm tra mơ hình, gán nhãn cho dữ liệu kiểm
tra (sử dụng maxent) J_NLP
J_Tokenizer
Sử dụng biểu thức chính quy để chuẩn hĩa
xấu, loại ký tự đặc biệt, loại bỏ từ dừng, tách
từ đơn, từ ghép (sử dụng vnTokenizer)
Crawler
Điều khiển lấy tin, trích xuất nội dung, chuẩn
hĩa, phân lớp, vào ra trên CSDL,... (sử dụng
UnicodeConverter.jar)
xnews
Lab
Tạo dữ liệu học, kiểm tra mơ hình từ tập dữ
liệu thơ
Bảng 4. Mơ tả chức năng các lớp trong các gĩi
37
4.2. Cấu trúc Cơ sở dữ liệu
Cơ sở dữ liệu của chương trình được thiết kế cho việc tối ưu hĩa tốc độ truy vấn, khi
số lượng tin tức được lưu là rất lớn. CSDL của chương trình được thiết kế gồm 3 bảng
t_store01, t_store02 và t_store03 cụ thể như sau:
Bảng t_store01: Cho biết các tin theo ngày và theo thể loại được phép hiển
thị. Ứng với mỗi một ngày, bảng t_store01 sinh ra thêm 10 hàng tương ứng
với 10 phân lớp của tin tức, lưu trữ thơng tin về các bài báo trong ngày theo
10 phân lớp tương ứng.
Bảng t_store02: Lưu trữ tất cả các thơng tin chi tiết của một bài báo cụ thể.
Bảng t_store03: Được thiết kế các trường, các chức năng giống với t_store01,
chỉ cĩ một điểm khác duy nhất, ngược lại với t_store01 cho biết các tin được
phép hiển thị, thì t_store03 lại cho biết các tin khơng được phép hiển thị.
Bảng t_store03 nhằm phục vụ cho việc lưu trữ các bài báo được xĩa bằng tay
trong trường hợp tin bài khơng phù hợp.
Tất cả các tin khi được lấy về, sẽ được mặc định ghi vào bảng t_store01 và bảng
t_store02. Bảng t_store03 sẽ được sử dụng đến bởi chức năng của người biên tập báo. Dù
là một hệ thống lấy tin tức tự động, nhưng việc hệ thống cần cĩ một người biên tập báo là
điều hồn tồn hợp lý. Người biên tập sẽ cĩ nhiệm vụ theo dõi và chuẩn xác lại các thơng
tin, ví dụ khi hệ thống được mở rộng nguồn cập nhật tin, hệ thống tự động lấy về một số
bài báo cĩ nội dung liên quan đến các vấn đề “nhạy cảm” về chính trị, người biên tập cĩ
nhiệm vụ đánh giá mức độ “nhạy cảm” của vấn đề và đưa ra quyết định cĩ giữ bài báo
hay khơng. Nếu bài báo cần được xĩa, nĩ sẽ được chuyển từ bảng t_store01 sang
t_store03 - nơi chỉ chứa các tin đã bị xĩa (trên thực tế là bị ẩn) và trường vis của bảng
t_store02 cũng thay đổi tương ứng. Ngồi ra t_store03 được tạo ra cịn nhằm để cho phép
khơi phục lại tin đã xĩa nếu thấy cần thiết.
Để phục vụ việc tối ưu hĩa truy vấn, khĩa luận thực hiện đánh chỉ mục (index) trên
các bảng của CSDL tương ứng với các khĩa chính của bảng đĩ:
- data_type trên t_store01 và t_store03.
- u5 trên t_store02.
38
Bảng
Trường/
Khĩa
Kiểu dữ
liệu
Mơ tả
date_type
(p) int
Date là ngày theo kiểu int được viết dưới định
dạng YYYYMMDD viết liền type, để chia ra
tin tức theo 10 phân lớp trong ngày.
nums int
Số bài đến thời điểm hiện tại trong ngày ứng
với mỗi một mục tin date_type.
t_store01
lu5 text
Danh sách bảng băm MD5 của nums tin tương
ứng của mỗi mục tin trong ngày. Hai mã MD5
liên tiếp phân cách nhau bởi xâu “t_#”. Mỗi mã
MD5 cho phép truy vấn tin theo u5 của
t_store02.
u5
(p)
char(32)
u5 gồm 32 ký tự là bảng băm MD5 của URL
bài báo gốc. u5 được sử dụng làm khĩa chính
của bảng, đồng thời được đánh chỉ mục (index)
cho phép tối ưu hĩa truy vấn. Ngồi tập tất cả
các u5 trong t_store02 cũng đại diện cho tất cả
các URL đã thăm, như vậy nĩ cho phép kiểm
tra URL chưa thăm.
vis char(1)
vis được ấn định 1 trong 2 trạng thái 0 hoặc 1.
Mặc định vis bằng 1 cĩ nghĩa là bài báo đĩ
được phép hiển thị. Ngược lại khi vis bằng 0 thì
bài báo đĩ khơng được phép hiển thị.
t_store02
type int
type là số cĩ 2 chữ số 00, 01, …, 09 tương ứng
với 10 phân lớp tin tức của hệ thống.
Bảng 5. Chi tiết CSDL
39
infors text
Thơng tin tổng hợp về một bài báo bao gồm các
nội dung thơng tin: ngày tháng định dạng
YYYYMMDDHHmm bài báo được lấy về,
URL bài báo gốc, tiêu đề bài báo, tĩm tắt, link
ảnh minh họa. Các thơng tin được ngăn cách
nhau bởi ký hiệu “t_#”.
view mediumtext
Chứa tồn bộ phần nội dung thơng tin bài báo,
từ sau phần tĩm tắt đến kết thúc.
t_store03 Hồn tồn tương tự với t_store01 về thành phần.
4.3. Đánh giá chất lượng tổng hợp tin
Sau một thời gian thử nghiệm, quan sát và đánh giá, khĩa luận đi tới một số kết luận
về chất lượng tổng hợp tin của hệ thống:
Tốc độ lấy tin mới nhanh và ổn định. Chương trình đặt một độ trễ (delay) là 2
phút cho hai lần (lặp) lấy tin liên tiếp. Kết quả quan sát cho thấy, khi tin mới
xuất hiện trên hệ thống nguồn, thì sau đĩ 1 đến 2 phút, tin tức sẽ được tự
động cập nhật vào hệ thống.
Chất lượng tin lấy về với độ chính xác cao, hiện khĩa luận chưa phát hiện
việc trích rút sai nội dung tin tức như tiêu đều, tĩm tắt, ảnh, nội dung… Khĩa
luận sẽ tiếp tục theo dõi và đánh giá trong thời gian tới.
4.4. Thực nghiệm và đánh giá hiệu suất phân loại tin tự động
4.4.1. Xây dựng tập dữ liệu huấn luyện và kiểm tra mơ hình
Để chuẩn bị dữ liệu huấn luyện và kiểm tra mơ hình khĩa luận thực hiện phân lớp
bằng tay dựa vào các mục tin (category) của Website báo điện tử nguồn. Đối với mỗi một
phân lớp, sau khi được phân bằng tay, khĩa luận tạo một số đoạn mã chương trình bằng
Java thực hiện việc lấy các tin tức cũ hơn của mục tin (phân lớp) đĩ theo ngày tháng.
40
STT Tên phân lớp VnExpress Mơ tả
1 XAHOI Xã hội Giáo dục, lối sống, du lịch,…
2 THEGIOI Thế giới
Tình hình thế giới, chủ yếu là tình
hình chính trị.
3 KINHDOANH Kinh doanh
Kinh doanh, tình hình kinh tế, thị
trường chứng khốn,…
4 VANHOA Văn hố
Âm nhạc, thời trang, điện ảnh,
nghệ sĩ, mỹ thuật,…
5 THETHAO Thế giới
Tình hình thế giới, chủ yếu là tình
hình chính trị.
6 PHAPLUAT Pháp luật
Vụ án, vụ việc, các văn bản luật
mới.
7 DOISONG Đời sống
Tâm sự, gia đình, tình cảm, nội
trợ, nhà ở, ẩm thực,…
8 KHOAHOC Khoa học
Khoa học nĩi chung, khơng liên
quan đến lớp Cơng nghệ.
9 VITINH Vi tính
Cơng nghệ thơng tin và truyền
thơng.
10 XE Ơtơ-Xe máy Phương tiện đi lại.
Dữ liệu dùng cho việc huấn luyện mơ hình là các bài báo được lấy từ trang báo điện
tử vnexpress.net, với số lượng các phân lớp như sau:
Bảng 6. Các lớp tài liệu sử dụng trong thực nghiệm
41
STT Phân lớp Số lượng
văn bản
1 XAHOI 1000
2 THEGIOI 1000
3 KINHDOANH 1000
4 VANHOA 1000
5 THETHAO 1000
6 PHAPLUAT 1000
7 DOISONG 1000
8 KHOAHOC 1000
9 VITINH 1000
10 XE 1000
Tổng số 10000
Ở đây, khĩa luận xin đưa ra 2 thực nghiệm kiểm tra chất lượng phân loại tin tự
động.
4.4.2. Thực nghiệm thứ nhất
Mơ tả thực nghiệm
Thực nghiệm nhằm đánh giá chất lượng phân loại tin tự động đối với dữ liệu test
cũng được lấy từ báo điện tử vnexpress.net.
Bảng 7. Thống kê số lượng tài liệu dùng cho việc học mơ hình
42
Đầu vào: Mơ hình đã qua huấn luyện của hệ thống, và các dữ liệu lấy từ
vnexpress.net ở dạng thơ.
Đầu ra: Bảng đánh giá kết quả độ chính xác theo các chỉ số bao gồm: độ hồi tưởng
(R), độ chính xác (P) và độ đo F1.
Tập dữ liệu được dùng cho việc kiểm tra mơ hình được mơ tả trong bảng
STT Phân lớp Số lượng
văn bản
1 XAHOI 100
2 THEGIOI 100
3 KINHDOANH 100
4 VANHOA 100
5 THETHAO 100
6 PHAPLUAT 100
7 DOISONG 100
8 KHOAHOC 100
9 VITINH 100
10 XE 100
Tổng số 1000
Kết quả thực nghiệm
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
43
Nhãn
Độ chính
xác (%)
Độ hồi
tưởng (%) F1 (%)
XAHOI 92.93 92.00 92.46
THEGIOI 98.96 95.00 96.94
KINHDOANH 90.74 98.00 94.23
VANHOA 95.24 100.00 97.55
THETHAO 98.99 98.00 98.49
PHAPLUAT 94.23 98.00 96.08
DOISONG 93.20 96.00 94.58
KHOAHOC 97.92 94.00 95.92
VITINH 100.00 93.00 96.37
XE 98.97 96.00 97.46
Trung bình thơ 96.11 96.00 96.01
Trung bình mịn 96.00 96.00 96.00
Nhận xét:
- Kết quả thực nghiệm cho thấy kết quả phân lớp tự động được thực hiện với dữ
liệu test mơ hình của báo điện tử vnexpress.net là rất tốt. Tất cả các trường hợp
độ đo F1 đều chính xác hơn 92%. Trung bình mịn của độ chính xác và độ hồi
tưởng đều đạt 96%.
- Đối với đặc trưng của tin tức. Một bài báo cĩ thể thuộc cùng lúc nhiều phân lớp.
Ví dụ, một bài báo với nội dung nĩi về “tình trạng mĩc túi diễn ra tại các bến
xe bus ở Hà Nội” tin tức này hồn tồn cĩ thể xếp vào phân lớp PHAPLUAT
Bảng 9. Kết quả thực nghiệm 1
44
xong cũng đồng thời cĩ thể xếp vào phân lớp XAHOI. Chính bản chất đa lớp cĩ
thể cĩ của một tin tức cụ thể cĩ thể dẫn đến kết quả phân lớp bị sai.
4.4.3. Thực nghiệm thứ hai
Mơ tả thực nghiệm
Thực nghiệm nhằm đánh giá chất lượng phân loại tin tự động đối với dữ liệu test lấy
từ các báo khác bao gồm: dantri.com.vn, baodatviet.vn và tuoitre.vn.
STT Phân lớp Số lượng
văn bản
1 XAHOI 50
2 THEGIOI 50
3 KINHDOANH 50
4 VANHOA 50
5 THETHAO 50
6 PHAPLUAT 50
7 DOISONG 50
8 KHOAHOC 50
9 VITINH 50
10 XE 50
Tổng số 500
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
45
Đầu vào: Mơ hình đã qua huấn luyện của hệ thống, và các dữ liệu lấy từ 3 nguồn tin
dantri.com.vn, baodatviet.vn và tuoitre.vn ở dạng thơ.
Đầu ra: Bảng đánh giá kết quả độ chính xác theo các chỉ số bao gồm: độ hồi tưởng
(R), độ chính xác (P) và độ đo F1.
Tập dữ liệu được dùng cho việc kiểm tra mơ hình được mơ tả trong bảng 10.
Kết quả thực nghiệm
Nhãn
Độ chính
xác (%)
Độ hồi
tưởng (%) F1 (%)
XAHOI 34.85 46.00 39.66
THEGIOI 83.02 88.00 85.44
KINHDOANH 79.63 86.00 82.69
VANHOA 66.67 80.00 72.73
THETHAO 94.23 98.00 96.08
PHAPLUAT 89.58 86.00 87.75
DOISONG 69.23 54.00 60.67
KHOAHOC 76.67 46.00 57.50
VITINH 83.93 94.00 88.86
XE 100 84.00 91.30
Trung bình thơ 77.78 76.20 76.25
Trung bình mịn 76.20 76.20 76.20
Bảng 11. Kết quả thực nghiệm 2
46
Nhận xét:
- Kết quả thực nghiệm 2 trong bảng 11 cho biết trong tổng số lượng văn bản được
phân lớp, thì cĩ khoảng 76% văn bản được phân lớp đúng theo cách phân lớp
của báo dùng để test.
- Bảng 9 và bảng 11 cho thấy cĩ sự khác biệt lớn về độ chính xác của thực
nghiệm 2 so với thực nghiệm 1. Sở dĩ cĩ sự khác nhau như vậy, là do trong thực
nghiệm 2, khĩa luận tiến hành kiểm tra với các báo điện tử khác với báo được
sử dụng để học mơ hình, các báo khác nhau này cĩ cây phân lớp khơng tương
đồng nhau, do đĩ dẫn đến việc phân lớp đúng theo báo học mơ hình là
vnexpress.net thì cĩ thể khơng đúng với báo kiểm tra tuoitre.vn. Ví dụ: tin “Phá
án buơn ma túy biên giới, 3 cơng an bị thương”1 theo cây phân lớp của
tuoitre.vn được xếp vào lớp XAHOI, nhưng với một tin cĩ nội dung hồn tồn
tương tự “3 cảnh sát bị thương khi truy bắt nhĩm buơn ma túy”2 thì
vnexpress.net lại xếp tin này vào phân lớp PHAPLUAT.
1
an buon-ma-tuy-bien-gioi-3-cong-an-bi-thuong.html
2
47
Kết luận
Kết quả đạt được của khĩa luận
Từ việc nghiên cứu về các bài tốn của hệ thống tổng hợp và phân loại tin tự động,
khĩa luận đã trình bày phương pháp tổng hợp và phân loại tin tức từ các trang báo điện tử
khác nhau. Qua những kết quả thực nghiệm cho thấy tính hiệu quả của phương pháp này.
Về mặt nội dung, khĩa luận đã đạt được những kết quả như sau:
- Giới thiệu các hệ thống tổng hợp tin hiện cĩ của Việt Nam, ưu và nhược điểm.
- Nghiên cứu cơ sở lý thuyết về trích chọn thơng tin tài liệu Web, giới hiệu mơ
hình phân lớp văn bản entropy cực đại. Chỉ ra thế mạnh của phương pháp này
trong phân lớp văn bản phù hợp với nội dung phân lớp tin tức. Giới thiệu các đại
lượng sử dụng cho việc đánh giá kết quả phân lớp.
- Thơng qua mơ hình lý thuyết nghiên cứu được về trích chọn tài liệu Web và
phân lớp văn bản, khĩa luận đã tiến hành xây dựng mơ hình hệ thống tổng hợp
và phân loại tin tự động.
- Trên cơ sở mơ hình cĩ được, khĩa luận đã cài đặt được chương trình chính là hệ
thống tổng hợp và phân loại tin tự động bằng ngơn ngữ Java sử dụng mơi trường
Netbean.
- Đánh giá chất lượng tổng hợp và hiệu suất phân loại tin của hệ thống, từ đĩ cho
thấy chất lượng tổng hợp và hiệu suất phân loại đều rất tốt.
Mặc dù vậy, do hạn chế về thời gian và kiến thức khĩa luận vẫn cịn hạn chế sau:
- Khĩa luận chưa xây dựng được giao diện người dùng cho hệ thống.
- Chưa đưa ra được phương pháp xử lý thỏa đáng đối với trường hợp một bài báo
thuộc nhiều hơn một phân lớp.
- Chưa kiểm sốt một cách tồn diện đối với trường hợp các bài báo cĩ nội dung
trùng nhau.
Định hướng tương lai
Trong tương lai, khĩa luận sẽ tiếp tục nghiên cứu về các vấn đề sau:
48
- Phân lớp một bài báo cĩ thể thuộc vào nhiều lớp sử dụng phân lớp mờ Fuzzy.
- Kiểm sốt trường hợp các bài báo cĩ nội dung trùng nhau sử dụng chỉ số
Jaccard.
- Đồng thời khĩa luận cũng cố gắng để sớm cơng bố hệ thống để phục vụ người
sử dụng.
49
Tài liệu tham khảo
[1]. Nguyen Viet Cuong, Nguyen Thi Thuy Linh, Phan Xuan Hieu and Ha Quang Thuy
(2005). “A Maximum Entropy Model for Vietnamese Web Content
Classification”. Proceedings of the 8th National Conference on Information Technology
of Vietnam: pages 174-189, Vietnam. (in Vietnamese).
[2]. Hà Quang Thụy, Phan Xuân Hiếu, Đồn Sơn, Nguyễn Trí Thành, Nguyễn Thu
Trang, Nguyễn Cẩm Tú. Giáo trình khai phá dữ liệu Web. Nxb GDVN, 2009, tr. 153-166,
tr. 220-233.
[3]. Berger, A., Della Pietra, S., and Della Pietra, V. A maximum entropy approach to
natural language processing. Computational Linguistics, volume 22, number 1, 1996,
pages 39-71.
[4]. Bing Liu, Web Data Mining Exploring Hyperlinks, Contents, and Usage Data,
,December, 2006.
[5]. Chieu, H. L. and Ng, H. T. A Maximum Entropy Approach to Information
Extraction from Semi-Structured and Free Text. Proceedings of the Eighteenth National
Conference on Artificial Intelligence (AAAI 2002), 2002, pages 786-791.
[6]. Crescenzi V., Mecca G., and Merialdo P. Roadrunner: Towards Automatic Data
Extraction from Large Web Sites.In Proc. of Very Large Data Bases (VLDB’01), pages
109–118, 2001.
[7]. Cuong Nguyen Viet, Nguyen Thi Thuy Linh, Ha Quang Thuy and Phan Xuan Hieu
(2006). “A Maximum Entropy Model for Text Classification”. Proceedings of
International Conference on Internet Information Retrieval 2006 (IRC 2006), pages 143-
149, Korea.
[8]. Darroch, J. and Ratcliff, D. Generalized iterative scaling for log-linear models.
Annals Mathematical Statistics, volume 43, number 5, 1972, pages 1470–1480.
[9]. Debnath S., Mitra P., and Giles C. L. Automatic extraction of informative blocks
from webpages. In Proc. SAC, pages 1722-1726, 2005.
[10]. Debnath S., Mitra P., Pal N., and Giles C. L. Automatic Identification of
Informative , IEEE Trans. Knowl. Data Eng. 17 , 2005.
50
[11]. Della Pietra, S., Della Pietra, V. and Lafferty, J. 1997. Inducing features of random
fields. IEEE Transactions on Pattern Analysis and Machine Intelligence, volume 19,
number 4, 1997, pages 380–393.
[12]. Gautam Pant, Parmini Srinivasan, and Filipo Menczer (2004). Crawling the Web.
Web Dynamic 2004: pg. 153-178.
[13]. Jaynes, E. R. (1957). Information Theory and Statistical Mechanics. Physic
Review, volume 106, 1957, pages 620-630.
[14]. Kushmerick WIEN N. Wrapper Induction for Information Extraction. Ph.D
Thesis. Dept. of Computer Science, University of Washington, TR UW-CSE-11-04-
1997.
[15]. NGAI Grace, WU Deka, CARPUAT Marine, WANG Chi-Shing, WANG Chi-
Yung. Semantic Role Labeling with Boosting, SVMs, Maximum Entropy, SNOW, and
Decision Lists.
[16]. Nigam, K., Lafferty, J. and McCallum, A. Using maximum entropy for text
classification. IJCAI-99 Workshop on Machine Learning for Information Filtering, 1999,
pages 61-67.
[17]. Nigam K., McCallum, A., Thrun S. and Mitchell, T. Text Classification from
Labeled and Unlabeled Documents using EM. Machine Learning, volume 39, number
2/3, 2000, pages 103-134.
[18]. Ratnaparkhi, A. A simple introduction to maximum entropy models for natural
language processing. Technical Report 97-08, Institute for Research in Cognitive Science,
University of Pennsylvania, 1997.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- TỰ ĐỘNG TỔNG HỢP VÀ PHÂN LOẠI TIN TRONG HỆ THỐNG TRANG TIN ĐIỆN TỬ.pdf