Header Page 1 of 113.
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
------------------------------------------
NGUYỄN HUY KIÊN
NGHIÊN CỨU VỀ KHAI PHÁ DỮ LIỆU WEB VÀ ỨNG
DỤNG XÂY DỰNG WEBSITE TÍCH HỢP THÔNG TIN
NGÀNH : TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
MÃ SỐ : 60.48.15
TÓM TẮT LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS. ĐẶNG VĂN CHUYẾT
HÀ NỘI 2012
Luận văn được hoàn thành tại:
Footer Page 1 of 113.
Header Page 2 of 113.
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS.TS. Đặng Văn Chuyết
Phản biện 1:…………………………………………………
Phản biện 2: …………………………………………………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc
sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc:
chọn đề tài: “ Nghiên cứu về khai phá dữ liệu web và ứng dụng xây
dựng website tích hợp thông tin” nhằm tìm hiểu và xây dựng các
quá trình tìm kiếm rút trích, bóc tách thông tin từ nhiều trang web
khác nhau. Qua đó xây dựng một website thông tin để thu thập, đánh
giá thông tin tự động trên Internet phục vụ cho người đọc có thể nắm
bắt được thông tin một cách dễ dàng, nhanh chóng và tiết kiệm thời
gian.
Footer Page 3 of 113.
Header Page 4 of 113.
2
Mục tiêu của luận văn nhằm tìm hiểu và nghiên cứu cách thức, quá
trình rút trích và bóc tách thông tin tự động từ nội dung của các
website trên internet, qua đó xây dựng một website tổng hợp thông
tin.
Phương pháp nghiên cứu của luận văn, nghiên cứu lý thuyết về khai
phá dữ liệu, khai phá dữ liệu web, lý thuyết về rút trích thông tin, các
phương pháp rút trích. Phân tích các ưu nhược điểm của từng
phương pháp, kết hợp với các kĩ năng xây dựng một trang web lấy
tin tức tự động.
2. Nội dung
Ngoài Phần Mở đầu, Phần Kết luận và các Phụ lục, nội dung luận
văn được chia thành 4 chương chính:
Chương 1 - Tổng quan về khai phá dữ liệu web
Chương này giới thiệu những nội dung cơ bản nhất, cung
cấp một cái nhìn khái quát về khai phá dữ liệu, khai phá dữ liệu web,
liên quan tới World-Wide Web.
Một cách trực quan có thể quan niệm khai phá Web là sự kết hợp
giữa Khai phá dữ liệu, Xử lý ngôn ngữ tự nhiên và Công nghệ Web:
Khai phá web = Khai phá dữliệu + Xử lý ngôn ngữ tự nhiên + World
Wide Web.
1.2.1.1 Khai phá nội dung Web
Khai phá nội dung web tập trung vào việc khám phá một
cách tự động nguồn thông tin có giá trị trực tuyến. Khai phá nội
dung web có thể được tiếp cận theo 2 cách khác nhau: Tìm kiếm
thông tin và khai phá dữ liệu trong cơ sở dữ liệu lớn. Khai phá dữ
liệu đa phương tiện là một phần của khai phá nội dung Web, nó hứa
hẹn việc khai thác được các thông tin và tri thức ở mức cao từ nguồn
đa phương tiện trực tuyến rộng lớn.
Khai phá nội dung trang Web gồm hai phần:
a. Web Page Content
b. Search Result
1.2.1.2 Khai phá văn bản Web
Khai phá văn bản Web là việc sử dụng kỹ thuật khai phá dữ
liệu đối với các tập văn bản để tìm ra tri thức có ý nghĩa tiềm ẩm
trong nó. Dữ liệu của nó có là dữ liệu có cấu trúc hoặc không cấu
trúc. Kết quả khai phá không chỉ là trạng thái chung của mỗi tài liệu
Footer Page 5 of 113.
Header Page 6 of 113.
4
văn bản mà còn là sự phân loại, phân cụm các tập văn bản phục vụ
Sự phát triển của Internet dẫn đến nhu cầu tìm kiếm, khai
thác, tổ chức, truy cập và duy trì thông tin đối với người sử dụng
thường xuyên hơn. Những người sử dụng các máy tìm kiếm Web
thường bị bắt buộc xem xét chọn lọc thông qua một danh sách thứ tự
dài của các mẩu thông tin văn bản được trả trở lại bởi các máy tìm
kiếm. Yêu cầu phân loại tài liệu, cụ thể hơn là tài liệu Web trở thành
bài toán cho các nhà khoa học nghiên cứu và giải quyết. Các chương
sau nghiên cứu tiếp các vấn đề liên quan tới quá trình trích lọc thông
tin ở trên.
Chương 2 - Giới thiệu về rút trích thông tin
Nội dung của chương này trình bày các phương pháp sử
dụng trong rút trích thông tin từ web và phân tích ưu khuyết điểm
Footer Page 6 of 113.
Header Page 7 of 113.
5
của các phương pháp này. Qua đó phân tích kiến trúc trang web và
cách trình bày các bộ dữ liệu từ cơ sở dữ liệu lên trang web, nêu ra
các ưu khuyết điểm làm tiền đề xây dựng phương pháp của luận văn.
2.1 Khái niệm
2.2 So sánh rút trích thông tin và tìm kiếm thông tin
2.3 Tổng quan về rút trích thông tin trên trang web
2.3.1 Tổng quan
Mô hình hệ thống rút trích thong tin trên trang web với các
thành phần cụ thể như sau:
Các hệ thống sử dụng phương pháp này cần hỗ trợ người
dùng lập trình với ngôn ngữ do hệ thống tự định nghĩa hoặc giao diện
tương tác thân thiện. Thông qua chỉ dẫn của người dùng để hướng
Footer Page 7 of 113.
Header Page 8 of 113.
6
dẫn hệ thống rút trích thông tin cách thao tác trên web để đến được
trang chứa dữ liệu cần rút trích. Sau đó, người dùng cần phải chỉ rõ
các đối tượng cần rút trích và gán nhãn cho các thuộc tính của các
đối tượng này.
Phương pháp này cho độ chính xác cao nhất tuy nhiên cần sự
theo dõi và giám sát của con người. Đồng thời phương pháp này có
hiệu quả thấp khi cấu trúc của trang web thường xuyên thay đổi. Có
rất nhiều loại trang web và nhiều cách tổ chức và trình bày khác nhau
nên tốn nhiều thời gian và công sức để xây dựng từng chỉ dẫn riêng
cho mỗi loại trang web.
2.3.3 Phương pháp dựa trên cấu trúc HTML DOM của trang
web
Phương pháp phân tích cấu trúc HTML DOM khá hiệu quả,
ít có nội dung thừa và giải quyết được vấn đề xử lý các thông tin
trùng nhau, bằng cách phân tích và lấy dữ liệu từ một website có
lượng thông tin tương đối đầy đủ. Tuy nhiên mỗi website lại có định
dạng khác nhau. Việc áp dụng phương pháp này thành công trên một
website này không có nghĩa là thành công trên website khác. Và cách
lấy dữ liệu bằng phương pháp phân tích mã html nên chỉ có tác dụng
Các hệ thống dựa trên các phương pháp thủ công: sử dụng
các phương pháp gán nhãn, các cách lấy thông tin trực tiếp
từ cơ sở dữ liệu hoặc từ các dịch vụ web (web service).
Các hệ thống dựa trên các phương pháp heuristic: các
phương pháp thống kê, tập luật, sử dụng các mẫu thông tin,
dựa vào cấu trúc cây… được sử dụng để rút trích thông tin.
Các hệ thống dựa trên các phương pháp học: sử dụng các
phương pháp mô hình Markov, ngữ nghĩa, học trên cấu trúc
cây,… để giúp cho các hệ thống hiểu và rút trích thông tin
chính xác hơn.
Footer Page 9 of 113.
Header Page 10 of 113.
8
2.4.3 Khảo sát một số ứng dụng rút trích thông tin từ web
Rút trích thông tin trên web là một đề tài quan trọng từ giúp
chuyển đổi nội dung trang web theo hình thức trình bày phục vụ
người duyệt web thành các nguồn thông tin được chuẩn hóa phục vụ
nhiều nhu cầu đặc biệt như so sánh sản phẩm, tìm kiếm thông
đề hay nội dung chỉ là phần giới thiệu không phải là tất cả nội dung
của bài viết. Muốn đọc được đầy đủ thông tin của bài viết đó thì
chúng ta phải truy cập vào bài viết gốc nằm theo đường dẫn (link)
mà các chương trình ở trên lấy đã lấy về.
Phương pháp rút trích tự động sử dụng chỉ một trang web
duy nhất là phương pháp độc lập với nội dung trang web. Phương
pháp này có khả năng áp dụng cao và không ảnh hưởng tới sự thay
đổi của cấu trúc trang web. Hơn nữa, phương pháp này cũng không
cần chuẩn bị trước tập huấn luyện cũng như chuẩn bị các trang web
liên quan để rút trích thông tin.
Chương 3 - Bóc tách dữ liệu sử dụng mô hình DOM
Từ các phương pháp rút trích thông tin trên trang web đã
trình bày ở chương 2, luận văn đã chọn phương pháp rút trích thông
tin tự động dựa trên một trang web duy nhất. Nội dung chương này
trình bày chi tiết các bước thực hiện để rút trích và đối sánh các bộ
dữ liệu có trong trang web.
3.1 Giới thiệu
3.1.1 Khái niệm cây DOM
3.1.2 Xây dựng cây DOM
Xây dựng cây DOM từ những trang Web đầu vào là một
bước cần thiết trang nhiều giải thuật trích xuất dữ liệu. Có hai
phương pháp cơ bản để xây dựng các cây DOM.
Footer Page 11 of 113.
Header Page 12 of 113.
10
Footer Page 12 of 113.
Header Page 13 of 113.
11
Xác định các thuộc tính khóa của bộ dữ liệu
Xây dựng bộ dữ liệu mẫu trong trang web
Tìm kiếm các bộ dữ liệu có trong trang web
Xác định các thuộc tính trong một bộ dữ liệu
3.2. Xác định các thuộc tính khóa của bộ dữ liệu
Phần lớn các phương pháp rút trích thông tin trên một trang
duy nhất đều có bước đầu tiên là đi tìm vùng dữ liệu chính của trang
web để xác định danh sách các bộ dữ liệu. Tuy nhiên, bước này vô
hình chung đã loại bỏ các danh sách khác trong trang web cũng như
dễ dàng nhận dạng sai vùng dữ liệu.
nút lá này phải thuộc về các cây con phân biệt và trực tiếp của p do
tính chất các bộ dữ liệu bao gồm toàn bộ một hoặc nhiều cây con
trực tiếp của nút danh sách. Nói cách khác, hai nút lá là thuộc tính
khóa không thể xuất hiện trong cùng một cây con trực tiếp của p.
Các bước trên chỉ dựa trên cấu trúc của thuộc tính khóa của
cây DOM nên vẫn có khả năng nhận nhầm cấu trúc của một cây con
của trang web thành nút danh sách bao gồm các thuộc tính khóa thỏa
các tính chất nêu trên. Vì vậy, cần có các bộ lọc kết quả như: độ
tương đồng giữa kích thước của các bộ dữ liệu trong cùng một danh
sách, độ tương đồng về cấu trúc cây của các bộ dữ liệu trong cùng
một danh sách... Tùy vào tính chất và loại website muốn rút trích
thông tin ta có thể bổ sung thêm các loại bộ lọc kết quả để có được
kết quả cô đọng và chính xác hơn.
Sau bước này ta có được các danh sách và các thuộc tính
khóa tương ứng. Tuy nhiên, một loại bộ dữ liệu có thể xuất hiện
Footer Page 14 of 113.
Header Page 15 of 113.
13
trong nhiều danh sách khác nhau của trang web. Vì vậy, ta cần xác
định các loại bộ dữ liệu có trong trang web và tiến hành gom nhóm
các loại bộ dữ liệu. Các bước gom nhóm cơ bản gồm:
Gom nhóm các danh sách liền kề nhau có chung đường dẫn
từ khóa lên nút danh sách. Ví dụ hai danh sách là hai thẻ
nút lá văn bản t có đường dẫn tương ứng đến các nút con
phân biệt thuộc C giống nhau.
6. Xác định nhóm g là nhóm đầu tiên có số lượng nút con
trực tiếp của p nhiều nhất.
7. Áp dụng các phương pháp lọc kết quả nhóm g có phải là
danh sách các thuộc tính khóa trong danh sách p hay không.
8. Nếu thỏa bước 6, R = R ∪ g.
9. Nếu P ≠ ∅, gán T = P và quay lại bước 3.
10. Gom nhóm cơ bản các danh sách thuộc tính khóa trong
R của cùng một loại bộ dữ liệu.
11. Sắp xếp R giảm dần dựa trên hàm f, hàm đánh giá độ
quan trọng của danh sách các thuộc tính khóa trong trang
web.
3.3. Xây dựng bộ dữ liệu mẫu trong trang web
3.3.1. Tổng quan
3.3.2. Phương pháp
Bước 1. Chuyển đổi các bộ dữ liệu thành các chuỗi phần tử
với một phần tử đại diện cho tên của nút trên cây DOM. Thực hiện
duyệt theo chiều sâu trên cây biểu diễn bộ dữ liệu và thêm các phần
tử vào chuỗi phần tử.
Bước 2. Xác định chuỗi phần tử dài nhất và tạm thời đặt làm
bộ dữ liệu mẫu m.
Footer Page 16 of 113.
Header Page 17 of 113.
15
16
Tương tự như việc xây dựng bộ dữ liệu mẫu ở mục 3.3, tôi
tiếp tục sử dụng phương pháp xấp xỉ là đối sánh chuỗi để đối sánh
các thuộc tính của các bộ dữ liệu với bộ dữ liệu mẫu.
Chương 4 - Xây dựng website thông tin dựa trên quá
trình trích xuất thông tin từ site khác và kết quả.
Chương này trình bày nội dung thực nghiệm của phương
pháp rút trích thông tin tự động, sử dụng phương pháp bóc tách dữ
liệu và mô hình trang web đã lấy và xử lý thông tin từ một site khác.
4.1 Bài toán cần thực hiện
Bài toán đặt ra của luận văn là sử dụng các thông tin mà RSS
cung cấp như: link, tiêu đề, phần giới thiệu của bài viết. Căn cứ vào
cấu trúc của website cung cấp tin RSS và phương pháp phân tích
HTML DOM để lấy toàn bộ nội dung của bài viết, sau đó xử lý lưu
vào cơ sở dữ liệu phục vụ cho hệ thống website tin tức.
Mục tiêu của luận văn là xây dựng nên một hệ thống hỗ trợ
người dùng chọn kênh tin tức, thu thập tin tức, quản lý các kênh tin,
tạo ra một website tin tức cho chính người dùng mà không phải lướt
từng website để đọc tin tức. Thông qua việc khảo sát một số phần
mềm đọc tin tức trong và ngoài nước, và yêu cầu từ phía người dùng,
có thể tóm tắt yêu cầu của người dùng đối với hệ thống bóc tách
thông tin như sau:
- Người dùng có thể tạo ra kênh tin tức cho riêng mình bằng
cách chỉ cần đăng ký một tài khoản và đăng nhập vào nhập đường
dẫn link tới địa chỉ trang website cần lấy tin.
Footer Page 18 of 113.
Footer Page 19 of 113.
Header Page 20 of 113.
18
4.3.2 Mô hình quan hệ
4.5 Cài đặt và thử nghiệm
4.5.1 Lấy link có trong RSS
Khi
người
dùng
cung
cấp
link
RSS
(Ví
dụ:
nhiệm vụ của hệ thống là trích
dựa chủ yếu vào quá trình lấy tin từ RSS và phân tích cấu trúc
HTML DOM. Đồng thời tôi cũng phân tích và đánh giá điểm mạnh
và điểm yếu của từng phương pháp.
Luận văn đã tiến hành nghiên cứu giải pháp trích chọn thông
tin trên Web nhằm xây dựng một website thông tin cho phép thu thập
đánh giá thông tin tự động trên Internet. Qua đó phát triển để xây
dựng hệ thống thông tin trên web tổng hợp và phân loại tin tức.
Footer Page 21 of 113.