Tải bản đầy đủ (.pdf) (74 trang)

Hệ thống bóc tách giá cả sản phẩm tự động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.66 MB, 74 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





CHU PHƯƠNG CHI





HỆ THỐNG BÓC TÁCH
GIÁ CẢ SẢN P
HẨM TỰ ĐỘNG



LUẬN VĂN THẠC SĨ












Hà Nội – 2009
MỤC LỤC
MỞ ĐẦU 1
CHƢƠNG I: GIỚI THIỆU CHUNG 3
1.1 Tổng quan về phát hiện tri thức và khai phá dữ liệu……………………………………….3

1.1.1 Quá trình phát hiện tri thức 3

1.1.2 Khai phá dữ liệu 4

1.2 Phân loại nguồn dữ liệu Web…………………………………………………………… 14

1.2.1 Các trang Web có cấu trúc được cập nhật thường xuyên 15

1.2.2 Các trang Web có cấu trúc cập nhật không thường xuyên 16

1.2.3 Các trang Web có cấu trúc lỏng lẻo 16

1.3 Phân loại khai phá dữ liệu Web……………………………………………………………16

1.3.1 Khai phá nội dung Web 17

1.3.2 Khai thác cấu trúc Web 18

1.3.3 Khai phá việc sử dụng Web 18

1.4 Các bước tiến hành khai phá nội dung Web………………………………………………18

1.4.1 Thu thập thông tin 19


1.4.2 Bóc tách thông tin 20

1.4.3 Tổng hợp và tổng quát hoá dữ liệu 20

1.4.4. Phân tích 21

CHƢƠNG II: CƠ SỞ LÝ THUYẾT 22
2.1 Các kiến thức nền tảng……………………………………………………………………22

2.1.1 Các vấn đề liên quan đến phân tích HTML 22

2.1.2 Nguyên lí thu thập dữ liệu (Crawler) 25

2.1.3 Bài toán bóc tách thông tin 26

2.2 Giải thuật bóc tách bản ghi dữ liệu có cấu trúc 27

2.2.1 Các nghiên cứu liên quan 27

2.2.2 Ý tưởng giải thuật “Khoảng cách cây soạn thảo” 30

CHƢƠNG III: XÂY DỰNG HỆ THỐNG CHẮT LỌC THÔNG TIN SẢN PHẨM
TRÊN WEB 44
3.1 Mô tả bài toán……………………………………………………………………………. 44

3.2 Thiết kế kiến trúc hệ thống……………………………………………………………… 44

3.3 Thiết kế cơ sở dữ liệu…………………………………………………………………… 46

3.3.1 Hệ thống các bảng 46


3.3.2. Biểu đồ liên kết các bảng CSDL 49

3.4 Cài đặt hệ thống………………………………………………………………………… 49

3.4.1 Xây dựng gói phân tích Web 49

3.4.2 Xây dựng mô đun thu thập (Crawler) 52

3.4.3 Xây dựng mô đun bóc tách 53

3.4.4 Tích hợp mô đun crawler và bóc tách 60

3.4.5 Xây dựng mô đun quản lí trên Desktop 62

3.4.6 Xây dựng mô đun Web hiển thị 63

3.5 Kết quả thử nghiệm……………………………………………………………………….66

KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71











































1
MỞ ĐẦU
1. Tính cấp thiết của đề tài luận văn:
Trong những năm gần đây, Internet phát triển kéo theo sự bùng nổ về thông tin.
Thế giới Web WWW trở thành một nguồn dữ liệu khổng lồ được nhiều người sử dụng,
và chiếm một tỉ trọng đáng kể trong các nguồn dữ liệu có sẵn. Tuy nhiên, việc khai
thác nó mới ở mức đơn giản và rất hạn chế, như người ta đã nói “Chúng ta đang chìm
ngập trong dữ liệu nhưng lại thiếu các thông tin cần thiết”. Đó là thực trạng của việc
tìm kiếm các thông tin trên web hiện nay. Từ đó hình thành một lĩnh vực mới – khai
phá web (Web Mining). Nhiệm vụ đặt ra cho khai phá Web là khai thác các thông tin
tiềm ẩn từ nguồn dữ liệu Web khổng lồ. Một trong nhiều bài toán điển hình của loại
này là các ứng dụng Web Mining trong các sản phẩm thương mại điện tử. Xuất phát từ
những phân tích trên, luận văn đã tập trung vào nghiên cứu, triển khai “Hệ thống bóc
tách giá cả sản phẩm tự động” trên nền web.
2. Mục tiêu nghiên cứu:
Luận văn tập trung nghiên cứu cách bóc tách thông tin tự động, không phụ thuộc
vào cấu trúc của trang Web từ nguồn dữ liệu Internet, từ đó ứng dụng vào bài toán cụ
thể là bóc tách giá cả sản phẩm trên các site bán hàng.
3. Đối tượng, phạm vi
− Đối tượng nghiên cứu: Thông tin, cách lấy thông tin tự động từ Web.
− Phạm vi nghiên cứu: Nguồn dữ liệu trên các site bán hàng, thông tin về mỗi sản
phẩm.
4. Nhiệm vụ nghiên cứu
Nhiệm vụ chính của luận văn:
− Nghiên cứu cấu trúc biểu diễn dữ liệu web
− Nhận dạng, lấy ra vùng dữ liệu cần dùng
− Tiến hành bóc tách dữ liệu tự động
− Tổ chức CSDL để khai thác

− Xây dựng site giao tiếp với người dùng.
5. Phương pháp nghiên cứu
− Phương pháp nghiên cứu tài liệu, phân tích, tổng hợp để đưa ra thuật toán bóc
tách thông tin tự động dựa trên lý thuyết về khoảng cách soạn thảo cây.
− Phương pháp thu thập, thống kê để xác định chính xác kết quả mà chương trình
đạt được.

2
6. Kết cấu luận văn
Nội dung chính của luận văn gồm 3 chương:
Chương 1: Tổng quan về khai phá dữ liệu nói chung và khai thác webói riêng
Chương 2: Cơ sở lý thuyết
Chương 3: Xây dựng hệ thống chắt lọc thông tin sản phẩm trên web
Cuối cùng là kết luận và hướng phát triển tiếp theo của đề tài.

3
CHƢƠNG I: GIỚI THIỆU CHUNG
1.1 Tổng quan về phát hiện tri thức và khai phá dữ liệu
1.1.1 Quá trình phát hiện tri thức
1.1.1.1 Phát hiện tri thức
Thông thường, dữ liệu được coi như một dãy các bit, hoặc các số và các ký hiệu,
hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi đến một chương trình dưới
một dạng nhất định. Ta sử dụng các bit để đo lượng thông tin và xem nó như là các dữ
liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu để đặc trưng một cách
cơ bản cho dữ liệu. Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao
gồm các sự kiện và các mối quan hệ giữa chúng. Các mối quan hệ này có thể được
hiểu ra, được phát hiện, hoặc có thể được học. Nói cách khác, tri thức có thể được coi
là dữ liệu có độ trừu tượng và tổ chức cao.
Sử dụng thông tin hiệu quả là yếu tố thành công và mang tính sống còn trong mọi
lĩnh vực nghiệp vụ hiện nay. Điều đó có nghĩa là, từ dữ liệu có sẵn phải lấy được

những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện, tìm ra những xu
hướng phát triển và những yếu tố tác động lên chúng. Thực hiện công việc này chính
là quá trình phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in DataBase
– KDD) mà trong đó kỹ thuật cho phép lấy ra các tri thức gọi là kỹ thuật khai phá dữ
liệu (Data mining).
Tri thức có thể hiểu là một biểu diễn trong một ngôn ngữ nào đó diễn đạt một
hoặc một vài mối quan hệ giữa các thuộc tính trong dữ liệu. Các ngôn ngữ thường
được dùng để biểu diễn tri thức là các khung (frames), các đồ thị, các luật (rules), các
công thức chính trong ngôn ngữ logic mệnh đề hoặc tân từ cấp một hay các hệ thống
phương trình.
Quá trình phát hiện tri thức mang tính hướng nhiệm vụ, tức là không hướng đến
sự phát hiện mọi tri thức bất kì mà nhằm giải quyết tốt một nhiệm vụ cụ thể nhất định.
Vì vậy, quá trình phát hiện tri thức là quá trình hoạt động tương tác giữa người sử
dụng hoặc chuyên gia phân tích với các công cụ tin học. [2]
1.1.1.2 Các giai đoạn của quá trình phát hiện tri thức
Mục đích của quá trình phát hiện tri thức là rút ra tri thức từ dữ liệu trong cơ sở
dữ liệu (CSDL) lớn. Quá trình KDD gồm nhiều giai đoạn và được lặp lại, mà trong đó
sự lặp lại có thể xảy ra ở bất cứ thời điểm nào cần thiết. Quá trình đó có thể mô tả như
trong hình 1.1

4

Hình 1.1: Quy trình phát hiện tri thức
Bước thứ nhất là tìm hiểu lĩnh vực ứng dụng và hình thành bài toán. Bước này sẽ
quyết định cho việc trích rút các tri thức hữu ích và cho phép chọn các phương pháp
khai phá dữ liệu thích hợp với mục đích ứng dụng và với bản chất của dữ liệu.
Bước thứ hai là thu thập và xử lý thô, hay còn được gọi là tiền xử lý dữ liệu
nhằm loại bỏ nhiễu, giải quyết tình huống thiếu dữ liệu, biến đổi và rút gọn dữ liệu nếu
cần thiết. Bước này thường chiếm nhiều thời gian nhất trong toàn bộ quá trình phát
hiện tri thức.

Bước thứ ba là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc/và
các mô hình tiềm ẩn dưới các dữ liệu.
Bước thứ tư là nắm hiểu tri thức đã tìm được và đặc biệt là làm sáng rõ các tri
thức bằng các mô tả và hay suy luận.
Bước thứ năm là củng cố, tinh chế các tri thức được phát hiện. Kết hợp các tri
thức thành hệ thống. Giải quyết các xung đột tiềm tàng trong tri thức khai thác được.
Sau đó tri thức được chuẩn bị sẵn sang cho ứng dụng.
Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấy
trung bình trên tất cả các lần thực hiện.
1.1.2 Khai phá dữ liệu
1.1.2.1 Định nghĩa
Khai phá dữ liệu được định nghĩa là quá trình trích xuất các thông tin có giá trị
tiềm ẩn bên trong các nguồn dữ liệu lớn.
Hiện nay, ngoài thuật ngữ khai phá dữ liệu, người ta còn dùng một số thuật ngữ
khác có ý nghĩa tương tự như khai phá tri thức từ cơ sở dữ liệu (knowlegde mining
from databases), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu

5
(data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data
dredging).
1.1.2.2 Các hoạt động khai phá dữ liệu
Một quá trình khai phá dữ liệu (KPDL) bao gồm năm giai đoạn chính sau:
(1) Tìm hiểu nghiệp vụ và dữ liệu
(2) Chuẩn bị dữ liệu
(3) Mô hình hóa dữ liệu
(4) Hậu xử lý và đánh giá mô hình
(5) Triển khai tri thức
Quá trình này có thể được lặp lại nhiều lần hay nhiều giai đoạn dựa trên phản hồi
từ kết quả của các giai đoạn sau. Tham gia chính trong quá trình KPDL là các nhà tư
vấn (NTV) và phát triển chuyên nghiệp trong lĩnh vực KPDL. [1]

Trong giai đoạn đầu tiên, Tìm hiểu nghiệp vụ và dữ liệu, NTV nghiên cứu kiến
thức về lĩnh vực sẽ áp dụng, bao gồm các tri thức cấu trúc về hệ thống và tri thức, các
nguồn dữ liệu hiện hữu, ý nghĩa, vai trò và tầm quan trọng của các thực thể dữ liệu.
Việc nghiên cứu này được thực hiện thông qua việc giao tiếp giữa NTV và người
dùng. Khác với phương pháp giải quyết vấn đề truyền thống mà ở đó bài toán được
xác định chính xác ngay ở bước đầu tiên, ở đây NTV cần tìm hiểu các yêu cầu đầu tiên
của người dùng và đề nghị các bài toán tiềm năng có thể phải giải quyết với nguồn dữ
liệu đã cho. Tập các bài toán tiềm năng được tinh chỉnh và làm hẹp lại trong các giai
đoạn sau. Các nguồn và đặc tả dữ liệu có liên quan đến tập các bài toán tiềm năng
cũng được xác định chính xác dần.
Giai đoạn Chuẩn bị dữ liệu sử dụng các kỹ thuật tiền xử lý để biến đổi và cải
thiện chất lượng dữ liệu làm thích hợp với những yêu cầu của các giải thuật học. Phần
lớn các giải thuật KPDL hiện nay chỉ làm việc trên một tập dữ liệu đơn và phẳng, do
đó dữ liệu phải được trích xuất và biến đối từ các dạng có sẵn trong CSDL phân tán
(loại quan hệ hay hướng đối tượng) sang dạng CSDL quan hệ đơn giản với một bảng
dữ liệu. Các giải thuật tiền xử lý tiêu biểu bao gồm:
(a) Xử lý dữ liệu bị thiếu/mất: các dữ liệu bị thiếu sẽ được thay thế bởi các giá trị
thích hợp.
(b) Khử sự trùng lặp: các đối tượng dữ liệu trùng lặp sẽ bị loại bỏ đi. Kỹ thuật này
không sử dụng cho các tác vụ liên quan đến phân bố dữ liệu.
(c) Giảm nhiễu: nhiễu và các đối tượng nằm ngoài khỏi phân bố chung sẽ bị loại đi
khỏi dữ liệu.
(d) Chuẩn hóa: miền giá trị của dữ liệu sẽ được chuẩn hóa.

6
(e) Rời rạc hóa: các dữ liệu số sẽ được biến đổi ra các giá trị rời rạc.
(f) Trích rút và xây dựng đặc trưng mới từ các thuộc tính đã có.
(g) Giảm chiều: dữ liệu của các thuộc tính chứa ít thông tin sẽ được loại bỏ.
Các bài toán cần giải quyết được hình thành trong giai đoạn Mô hình hóa dữ liệu.
Các giải thuật được áp dụng trong giai đoạn hai sẽ sử dụng dữ liệu đã tiền xử lý để tìm

kiếm các qui tắc tiềm ẩn và chưa biết. Công việc quan trọng nhất trong giai đoạn này
là lựa chọn kỹ thuật phù hợp để giải quyết các vấn đề đặt ra. Để làm điều này, các bài
toán được phân loại vào một trong những nhóm bài toán chính trong KPDL dựa trên
đặc tả của chúng.
Các mô hình kết quả của giai đoạn ba sẽ được hậu xử lý và đánh giá trong giai
đoạn 4. Dựa trên các đánh giá của người dùng sau khi kiểm tra trên các tập thử, các mô
hình sẽ được tinh chỉnh và kết hợp lại nếu cần. Chỉ các mô hình đạt được mức yêu cầu
cơ bản của người dùng mới đưa ra triển khai trong thực tế. Trong giai đoạn này, các
kết quả được biến đổi từ dạng học thuật sang dạng phù hợp với nghiệp vụ và dễ hiểu
hơn cho người dùng.
Trong giai đoạn cuối, Triển khai tri thức, các mô hình được đưa vào những hệ
thống thông tin thực tế dưới dạng các môđun hỗ trợ việc đưa ra quyết định.
Mối quan hệ chặt chẽ giữa các giai đoạn trong quá trình KPDL là rất quan trọng
cho việc nghiên cứu KPDL. Một giải thuật trong KPDL không thể được phát triển độc
lập, không quan tâm đến bối cảnh áp dụng mà thường được xây dựng để giải quyết
một mục tiêu cụ thể. Do đó, sự hiểu biết bối cảnh vận dụng là rất cần thiết. Thêm vào
đó, các kỹ thuật được sử dụng trong các giai đoạn trước có thể ảnh hưởng đến hiệu quả
của các giải thuật sử dụng trong các giai đoạn tiếp theo.
1.1.2.3 Các bài toán thông dụng trong Khai phá dữ liệu
Trong KPDL, các bài toán có thể phân thành bốn loại chính.
Bài toán thông dụng nhất là bài toán Phân lớp. Với một tập các dữ liệu huấn
luyện cho trước và sự huấn luyện của con người, các giải thuật phân loại sẽ lọc ra bộ
phân loại (classifier) dùng để phân các dữ liệu mới vào một trong những lớp đã được
xác định trước. Nhận dạng cũng là một bài toán thuộc kiểu Phân loại.
Với mô hình học tương tự như bài toán Phân loại, lớp bài toán Dự đoán sẽ lọc ra
các bộ dự đoán. Khi có dữ liệu mới đến, bộ dự đoán sẽ dựa trên thông tin đang có để
đưa ra một giá trị số học cho hàm cần dự đoán. Bài toán tiêu biểu trong nhóm này là
dự đoán giá sản phẩm để lập kế hoạch trong kinh doanh.
Các giải thuật Tìm luật liên kết (Association Rule) nhằm tìm kiếm các mối liên
kết giữa các phần tử dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với

nhau trong siêu thị.

7
Các kỹ thuật Phân cụm (Clustering) sẽ nhóm các đối tượng dữ liệu có tính chất
giống nhau vào cùng một nhóm. Có nhiều cách tiếp cận với những mục tiêu khác
nhau trong phân loại. Các kỹ thuật trong bài toán này thường được vận dụng trong vấn
đề phân hoạch dữ liệu tiếp thị hay khảo sát sơ bộ các dữ liệu.
1.1.2.4 Kiến trúc của hệ thống khai phá dữ liệu
Khai phá dữ liệu là một bước lớn trong quá trình phát hiện tri thức từ số lượng
lớn dữ liệu được lưu trữ trong CSDL, kho dữ liệu hoặc các nơi lưu trữ khác. Kết quả
của bước này là những mẫu đáng quan tâm được đưa đến cho người dùng hoặc lưu giữ
như là tri thức mới trong cơ sở tri thức.
Kiến trúc của hệ thống khai phá dữ liệu có thể có các thành phần chính sau:
− CSDL, kho dữ liệu hoặc kho lưu trữ khác: đó là một hoặc một tập các CSDL, kho
dữ liệu. Các kỹ thuật làm sạch và tích hợp dữ liệu có thể thực hiện trên dữ liệu.
− Cơ sở tri thức: đó là lĩnh vực tri thức được dùng để hướng dẫn việc tìm hoặc
đánh giá các mẫu kết quả tìm được.
− Các hệ thống khám phá tri thức: bao gồm tập các chức năng để thực hiện các
nhiệm vụ như là mô tả đặc điểm, kết hợp, phân lớp, phân nhóm dữ liệu.
− Đánh giá mẫu: thành phần này sử dụng các độ đo và tương tác với các mô đun
khai phá dữ liệu để tập trung vào tìm các mẫu cần quan tâm.
− Giao diện đồ họa: xây dựng các mô đun chương trình cho phép giao tiếp giữa
người dùng và khai phá dữ liệu
1.1.2.5 Các thành phần của giải thuật khai phá dữ liệu
Giải thuật khai phá dữ liệu gồm 3 thành phần chính sau: biểu diễn mô hình, đánh
giá mô hình, tìm kiếm mô hình.
a. Biểu diễn mô hình
Mô hình được biểu diễn bằng một ngôn ngữ nào đó để mô tả các mẫu có thể khai
thác được. Nếu sự mô tả bị hạn chế thì sẽ không thể học được hoặc không thể có được
các mẫu để tạo ra mô hình chính xác cho dữ liệu. Khả năng mô tả của mô hình càng

lớn thì càng làm tăng mức độ nguy hiểm và làm giảm đi khả năng dự đoán các dữ liệu
chưa biết. Hơn nữa, việc tìm kiếm sẽ càng trở nên phức tạp hơn và việc giải thích mô
hình càng khó khăn hơn.
b. Đánh giá mô hình
Đánh giá là xem xét xem một mẫu có thể đáp ứng được các tiêu chuẩn của quá
trình phát hiện tri thức hay không. Việc đánh giá độ chính xác dự đoán dựa trên việc
thẩm định chéo. Đánh giá chất lượng liên quan đến độ chính xác của dự đoán, độ mới,

8
khả năng sử dụng, khả năng hiểu được mô hình. Cả hai chuẩn thống kê và chuẩn logic
đều có thể sử dụng để đánh giá mô hình.
c. Tìm kiếm mô hình
Phương pháp tìm kiếm bao gồm 2 thành phần: Tìm kiếm tham số và Tìm kiếm mô
hình
Tìm kiếm tham số: Giải thuật cần tìm kiếm các tham số dùng để tối ưu hóa các
tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được và với một mô tả mô hình
đã xác định.
Tìm kiếm mô hình: xảy ra giống như một vòng lặp qua phương pháp tìm kiếm
tham số: mô tả mô hình bị thay đổi tạo nên một họ các mô hình. Với mỗi mô tả mô
hình, phương pháp tìm kiếm tham số được áp dụng để đánh giá chất lượng mô hình.
Các phương pháp tìm kiếm mô hình sử dụng kỹ thuật tìm kiếm Heuristic vì kích thước
của không gian các mô hình có thể không cho phép các tìm kiếm vét cạn.
1.1.2.6 Một số phương pháp khai phá dữ liệu phổ biến
a. Phương pháp suy diễn logic
Phương pháp suy diễn: nhằm rút ra thông tin là kết quả logic của các thông tin
trong CSDL. Phương pháp suy diễn dựa trên các sự kiện chính để suy ra các tri thức
mới từ các thông tin cũ. Mẫu kết xuất thu được bằng cách sử dụng phương pháp này
thường là các luật suy diễn.
Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được sinh ra từ
CSDL. Có nghĩa là, tự nó tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải bắt đầu

với các tri thức đã biết trước. Các thông tin mà phương pháp này đem lại là các thông
tin hay tri thức cấp cao diễn tả về các đối tượng trong CSDL. Phương pháp này liên
quan đến các mẫu tìm được trong CSDL.
Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo luật
b. Cây quyết định và luật
Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân
các đối tượng dữ liệu thành một số lớp nhất định. Các nút của cây được gắn nhãn là
tên các thuộc tính, các cạnh được gắn các giá trị có thể của các thuộc tính, các lá mô tả
các lớp khác nhau. Các thuộc tính được phân theo lớp các đường đi trên cây, qua các
cạnh tương ứng với giá trị thuộc tính của đối tượng lá.
Ví dụ: Bảng ví dụ học cho khái niệm chơi tennis (PlayTennis)
Day
Outlook
Temperature
Humidity
Wind
PlayTenis
D1
Sunny
Hot
High
Weak
No
D2
Sunny
Hot
High
Strong
No
D3

Overcast
Hot
High
Weak
Yes

9
D4
Rain
Mild
High
Weak
Yes
D5
Rain
Cool
Normal
Weak
Yes
D6
Rain
Cool
Normal
Strong
No
D7
Overcast
Cool
Normal
Strong

Yes
D8
Sunny
Mild
High
Weak
No
D9
Sunny
Cool
Normal
Weak
Yes
D10
Rain
Mild
Normal
Weak
Yes
D11
Sunny
Mild
Normal
Strong
Yes
D12
Overcast
Mild
High
Strong

Yes
D13
Overcast
Hot
Normal
Weak
Yes
D14
Rain
Mild
High
Strong
No
Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa về
mặt thống kê. Các luật có dạng Nếu P thì Q; với P là mệnh đề đúng với một phần dữ
liệu trong CSDL, Q là mệnh đề dự đoán.
Cây quyết định được dùng trong bài toán phân đoạn dữ liệu theo một tiêu chuẩn
nào đó dựa trên mức độ khác nhau của thuộc tính. Cây quyết định và luật có ưu điểm
là hình thức mô tả đơn giản, suy diễn khá dễ hiểu với người sử dụng. Tuy nhiên, mô tả
cây và luật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy bị giới hạn cả
về quy mô và độ chính xác của mô hình.













Hình 1.2: Mô tả cây quyết định cho việc lựa chọn chơi tennis
c. Phát hiện các luật kết hợp
Các luật kết hợp là một dạng biểu diễn tri thức, hay chính xác hơn là dạng mẫu
để hình thành tri thức. Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các
Dự báo



Độ ẩm



Gió



đúng



nắng



dâm




mưa



cao



bình thường

mạnh



yếu



đúng



đúng



đúng




đúng




10
thành phần dữ liệu trong CSDL. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật
kết hợp tìm được.
Khi thiết kế dữ liệu dùng cho kỹ thuật luật kết hợp cần lưu ý để giảm thiểu số
lượng các thuộc tính đầu vào bởi không gian tìm kiếm các luật sẽ tăng theo hàm mũ
của số lượng các thuộc tính đầu vào.
Giải thuật tìm các luật kết hợp được bắt đầu bằng việc tìm tất cả các tập thường
xuyên xuất hiện. Tập thường xuyên xuất hiện là các tập thỏa mãn tần số xuất hiện lớn
hơn ngưỡng tần số được xác định trước. Các luật kết hợp sẽ được tạo ra bằng cách
ghép dần các tập thuộc tính dựa trên mức độ thường xuyên của chúng.
Nhược điểm của phương pháp này là sự gia tăng nhanh chóng khối lượng tính
toán và các thông số. Tuy nhiên, với sự phát triển nhanh chóng và mạnh mẽ của phần
cứng thì việc khắc phục các vấn đề này không có gì khó khăn.
d. Phân nhóm và phân đoạn
Kỹ thuật phân nhóm và phân đoạn là những kỹ thuật phân chia dữ liệu sao cho
mỗi phần hoặc mỗi nhóm giống nhau theo một số tiêu chí nào đó. Mối quan hệ thành
viên của các nhóm có thể dựa trên mức độ giống nhau của các thành viên trong nhóm.
Một kỹ thuật phân nhóm khác là xây dựng thành các hàm đánh giá các thuộc tính của
các thành phần như hàm của các tham số của các thành phần. Phương pháp này được
gọi là phương pháp phân hoạch tối ưu.
Một trong các ứng dụng của kỹ thuật phân nhóm theo độ giống nhau là cơ sở dữ
liệu khách hàng để phân nhóm khách hàng theo các tham số và các nhóm thuế tối ưu
có được khi thiết lập biểu thuế bảo hiểm.
Mẫu đầu ra của quá trình khai phá dữ liệu sử dụng kỹ thuật này là các tập mẫu

chứa các dữ liệu có chung những tính chất nào đó được phân tích từ CSDL. Khi các
mẫu được thiết lập, chúng có thể sử dụng để tái tạo các tệp dữ liệu ở dạng dễ hiểu hơn,
đồng thời cung cấp các nhóm dữ liệu cho các hoạt động cũng như công việc phân tích.
Đối với CSDL lớn việc lấy ra các nhóm này là rất quan trọng.
e. Các phương pháp dựa trên mẫu
Sử dụng các mẫu mô tả từ CSDL để tạo nên một mô hình dự đoán các mẫu mới
bằng cách rút ra các thuộc tính tương tự như các mẫu đã biết trong mô hình. Các kỹ
thuật bao gồm phân lớp theo láng giêng gần nhất, các giải thuật hồi quy và các hệ
thống suy diễn dựa trên tình huống.
f. Mô hình phụ thuộc dựa trên đồ thị xác suất
Các mô hình đồ thị xác định sự phụ thuộc xác suất giữa các sự kiện thông qua
các quan hệ trực tiếp theo các cung đồ thị ở dạng đơn giản nhất, mô hình này xác định
những biến nào phụ thuộc trực tiếp vào nhau. Những mô hình này chủ yếu được sử
dụng với các biến có giá trị rời rạc hoặc phân loại.

11
g. Mô hình học quan hệ
Trong khi các mẫu kết xuất được bằng các luật suy diễn và cây quyết định gắn
chặt với các mệnh đề logic thì mô hình học quan hệ sử dụng ngôn ngữ mẫu theo thứ tự
logic trước rất linh hoạt. Mô hình này có thể dễ dàng tìm ra công thức: X = Y.
Cho đến nay hầu hết các nghiên cứu về các phương pháp đánh giá mô hình này
đều theo logic trong tự nhiên.
g. Khai phá dữ liệu văn bản
Phương pháp này phù hợp với việc tìm kiếm, phân tích và phân lớp các dữ liệu
văn bản không định dạng. Các lĩnh vực ứng dụng như nghiên cứu thị trường, thu thập
tình báo…Khai phá dữ liệu văn bản đã được sử dụng để phân tích câu trả lời cho các
câu hỏi mở rộng trong khảo sát thị trường, tìm kiếm các tài liệu phức tạp…
i. Mạng Neuron
Mạng Neuron là một cách tiếp cận tính toán mới liên quan đến việc phát triển các
cấu trúc toán học với khả năng học. Các phương pháp này là kết quả của việc nghiên

cứu mô hình học của hệ thống thần kinh con người. Mạng Neuron có thể đưa ra ý
nghĩa từ các dữ liệu phức tạp hoặc không chính xác và có thể được sử dụng để kết xuất
các mẫu và phát hiện ra các xu hướng quá phức tạp mà con người cũng như các kỹ
thuật máy tính khác không thể phát hiện được.
Khi đề cập đến khai thác dữ liệu, người ta thường đề cập đến mạng neuron. Tuy
mạng neuron có một số hạn chế có thể gây khó khăn trong việc áp dụng và triển khai
nhưng nó cũng có những ưu điểm đáng kể. Một trong số những ưu điểm phải kể đến
các mạng neuron là khả năng tạo ra các mô hình dự đoán có độ chính xác cao, có thể
áp dụng được cho rất nhiều các loại bài toán khác nhau, đáp ứng được các nhiệm vụ
đặt ra của khai phá dữ liệu như phân lớp, phân nhóm, mô hình hóa, dự báo các sự kiện
phụ thuộc vào thời gian…
k. Giải thuật di truyền
Giải thuật di truyền, nói theo nghĩa rộng là mô phỏng lại hệ thống tiến hóa trong
tự nhiên. Chính xác hơn đó là các giải thuật chỉ ra tập các cá thể được hình thành,
được ước lượng và biến đổi như thế nào. Ví dụ như xác định xem làm thế nào để lựa
chọn các cá thể giống và lựa chọn cá thể nào sẽ bị loại bỏ. Giải thuật cũng mô phỏng
lại yếu tố gen trong nhiễm sắc thể sinh học trên máy tính để có thể giải quyết nhiều bài
toán thực tế khác nhau.
Giải thuật di truyền là một giải thuật tối ưu hóa. Nó được sử dụng rất rộng rãi
trong việc tối ưu hóa các kỹ thuật khai phá dữ liệu, trong đó có kỹ thuật mạng neuron.
Sự liên hệ của nó với giải thuật khai phá dữ liệu là ở chỗ việc tối ưu hóa cần thiết cho
các quá trình khai phá dữ liệu, ví dụ trong các kỹ thuật cây quyết định, tạo luật.

12
Qua phần trình bày ở trên cho thấy rằng: có rất nhiều phương pháp khai phá dữ
liệu. Mỗi phương pháp có những đặc điểm riêng phù hợp với một lớp các bài toán, với
các dạng dữ liệu và miền dữ liệu nhất định.
1.1.2.7 Nền tảng công nghệ khai phá dữ liệu
Công nghệ khai phá dữ liệu là kết quả của một quá trình dài nghiên cứu. Khai
phá dữ liệu được bắt đầu lần đầu tiên khi dữ liệu liên quan đến hoạt động kinh doanh

được lưu trữ trên máy tính, và tiếp tục được cải thiện trong truy xuất dữ liệu. Trong
thời gian gần đây các công nghệ được tạo ra cho phép người dùng xử lí dữ liệu của họ
theo thời gian thực.
Khai phá dữ liệu liên quan tới rất nhiều ngành học khác như các hệ CSDL, thống
kê, trực quan hóa Hơn nữa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu
còn có thể áp dụng một số kĩ thuật như mạng nơron, lí thuyết tập thô hoặc tập mờ, biểu
diễn tri thức….So sánh với các phương pháp này, khai phá dữ liệu có một số ưu thế rõ
rệt. Với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá dữ liệu
có thể sử dụng với các nguồn dữ liệu chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc
biến đổi liên tục. Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các
nguồn dữ liệu đầy đủ, ít biến động và tập dữ liệu không quá lớn. So với khai phá dữ
liệu, phương pháp hệ chuyên gia thường ở mức chất lượng cao hơn nhiều so với các
dữ liệu trong nguồn dữ liệu, và chúng thường chỉ bao hàm được các trường hợp quan
trọng. Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của các mẫu phát
hiện được. Phương pháp thống kê là một trong những nền tảng lí thuyết của khai phá
dữ liệu, nhưng các phương pháp thống kê còn tồn tại một số điểm yếu mà khai phá dữ
liệu đã khắc phục được: Các phương pháp thống kê chuẩn không phù hợp với các kiểu
dữ liệu có cấu trúc đa dạng do từ nhiều nguồn dữ liệu khác nhau. Các phương pháp
thống kê hoạt động hoàn toàn theo dữ liệu, nó không sử dụng tri thức sẵn có về lĩnh
vực. Kết quả phân tích của thống kê có thể sẽ rất nhiều và khó làm rõ được. Phương
pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như
thế nào và ở đâu.
Ngày nay các nghiên cứu về khai phá dữ liệu đã được ứng dụng rộng rãi. Công
cụ khai phá dữ liệu đã sẵn sàng cho các ứng dụng kiểu thương mại vì nó được hỗ trợ
của ba yếu tố công nghệ khác và trở nên hoàn thiện hơn.
− Công nghệ sàng lọc tập các dữ liệu thô.
− Công nghệ xử lí với các siêu máy tính có nhiều bộ xử lí mạnh và bộ nhớ lớn.
− Thuật toán khai phá dữ liệu.
Những thành phần cơ bản của công nghệ khai phá dữ liệu đã được phát triển
trong suốt một thập kỉ, trong nhiều lĩnh vực như thống kê, trí tuệ nhân tạo, máy học.

Ngày nay sự phát triển cao nhất của những công nghệ này là sự kết hợp giữa những

13
engine CSDL quan hệ hiệu suất cao với những nỗ lực tích hợp dữ liệu lớn, tạo ra
những công nghệ mang tính thực tế có ý nghĩa với những kho dữ liệu lớn hiện nay.
1.1.2.8 Phạm vi của khai phá dữ liệu
Khai phá dữ liệu bao gồm nhiều công nghệ mới cung cấp những giải pháp giúp
cho các công ty có thể định hướng vào những thông tin quan trọng nhất trong kho dữ
liệu đồ sộ của họ. Các công cụ khai phá dữ liệu dự báo các xu hướng và thói quen, dựa
trên tập dữ liệu nó đang xử lí, nhờ những thông tin này các công ty hoạt động trong
lĩnh vực thương mại có thể đưa ra những quyết định hợp lí. Một công cụ khai phá dữ
liệu có thể trả lời các câu hỏi mà cần nhiều thời gian để xử lí. Chúng thực hiện phân
tích nhiều lần nguồn dữ liệu nhằm phát hiện những qui luật ẩn chứa bên trong, tìm ra
những thông tin mang tính dự đoán mà các chuyên gia có thể bỏ sót khi thực hiện nó
bằng tay.
Khai phá dữ liệu, bản thân nó xuất phát từ những điểm giống nhau giữa tìm kiếm
những thông tin kinh doanh có giá trị trong một CSDL lớn như việc khai phá một ngọn
núi để tìm ra những mỏ quặng quý. Một ví dụ cho việc tìm kiếm các thông tin kinh
doanh là tìm kiếm các sản phẩm có liên quan trong hàng gigabyte dữ liệu lưu trữ. Cả
hai công việc này thì đều phải thực hiện thông qua một bước sàng lọc trong kho tài
liệu rộng lớn và sau đó thực hiện một tìm kiếm thông minh để tìm ra những thông tin
có giá trị.
Cho một CSDL với kích cỡ và chất lượng đủ đáp ứng, công nghệ khai phá dữ
liệu có thể tạo một cơ hội kinh doanh mới bằng cách cung cấp những khả năng:
 Tự động dự đoán những xu hướng và thói quen
Khai phá dữ liệu sẽ tự động thực hiện quá trình tìm kiếm những thông tin có thể
dự đoán trong CSDL lớn. Theo truyền thống, những câu hỏi mang tính kinh doanh
thường đỏi hỏi mất nhiều thời gian xử lí bằng tay thì đến nay có thể trả lời trực tiếp
một cách nhanh chóng. Một ví dụ tiêu biểu là bài toán dự đoán quảng cáo có mục tiêu.
Khai phá dữ liệu sử dụng CSDL về địa chỉ mail trước đây để xác định mục tiêu mà sẽ

đem lại hiệu quả cao nhất trong các quyết định đầu tư vào những địa chỉ mail trong
tương lai.
 Tự động khám phá những mẫu chưa biết trước đó
Công cụ khai phá dữ liệu thực hiện rà soát trong nguồn dữ liệu và xác định
những mẫu chưa được phát hiện trong bước tiếp theo. Một ví dụ về khám phá mẫu là
phân tích những dữ liệu bán lẻ để xác định những sản phẩm, mà dường như không có
vẻ liên quan đến nhau, nhưng thường được mua cùng nhau. Một ví dụ khác là việc
kiểm tra tính xác thực trong các phiên giao dịch thanh toán và xác định những dữ liệu
dị thường mà có thể là nguyên nhân do lỗi phím nhập dữ liệu.

14
Khi các công nghệ khai phá dữ liệu được đưa vào áp dụng trong khai phá các
nguồn dữ liệu từ thế giới Web WWW, người ta gọi quá trình này là khai thác thông
tin Web (khai phá Web). Khai thác thông tin Web ra đời được định hướng để trích rút
những mẫu thông tin hữu ích, hoặc thông tin ẩn chứa từ trong những nội dung, hoạt
động của thế giới WWW.

???
D÷ liÖu cã
thÓ truy
vÊn ®-îc

Hình 1.3: Minh họa khái niệm khai thác thông tin Web
1.2 Phân loại nguồn dữ liệu Web
Có nhiều cách để phân loại các nguồn thông tin từ Web, tuy vậy ta có thể chia
thành 3 loại chính như sau :
− Các trang Web thông tin có cấu trúc được cập nhật thường xuyên
− Các trang Web thông tin có cấu trúc không được cập nhật thường xuyên
− Các trang Web thông tin có cấu trúc lỏng lẻo
Trước khi đi vào phân tích từng loại một, chúng ta nhận thấy rằng, các trang Web

hiện nay được xây dựng bằng rất nhiều nguồn dữ liệu khác nhau: text, hình ảnh, video,
biểu tượng .v.v… Có thể kể ra đây một vài đặc tính quan trọng của dữ liệu trên các
trang Web này :
− Dễ truy cập
− Không phân loại được (các dữ liệu từ HTML hầu hết là sự trình diễn thông tin
chứ không phải là ngữ nghĩa của thông tin)
− Phân tán
− Pha trộn (text, hình ảnh, video, biểu tượng )

15
− Bán cấu trúc (có cấu trúc theo ngôn ngữ HTML nhưng lại không có cấu trúc về
mặt ngữ nghĩa)
− Thay đổi theo thời gian
− Dư thừa (thông tin trùng lặp xuất hiện ở nhiều trang)
− Hỗn tạp (một trang Web phổ biến thường trộn lẫn nhiều loại thông tin như phần
nội dung chính, quảng cáo, bảng điều hướng, )
− Có tính bề mặt (có thể duyệt qua tất cả các nội dung bằng một trình duyệt hoặc
theo cách của một trình duyệt tự động) và tính chiều sâu (dữ liệu chỉ có thể được
truy suất tới bằng giao tiếp thông qua truy vấn được tham số hóa)
− Liên kết (chứa các siêu liên kết đi từ site này sang site khác).
Từ những đặc tính này ta sẽ phân tích từng loại nguồn dữ liệu Web.
1.2.1 Các trang Web có cấu trúc được cập nhật thường xuyên
Hiện nay, có một phần không nhỏ các trang Web được cập nhật thường xuyên
như: báo điện tử, diễn đàn, trang Web cung cấp thông tin giá tàu xe, đấu giá, chứng
khoán, thời tiết Các trang Web này tuy được cập nhật thường xuyên, nhưng không
thay đổi về mặt cấu trúc. Chẳng hạn, một site bán hàng trực tuyến thì phần thông tin
được cập nhật thường xuyên là các sản phẩm. Một sản phẩm khi được cập nhật giữ
nguyên cấu trúc thông tin của nó bao gồm:
− Tên sản phẩm
− Hình ảnh đại diện

− Giá bán
− Các đặc tính sản phẩm.
Tần số cập nhật thông tin của các trang Web này nói chung là ngắn, có thể liên
tục (thị trường chứng khoán), một vài phút (diễn đàn) hay một ngày (báo điện tử). Tuy
vậy, các trang thông tin này luôn tuân theo một khuôn mẫu về ý nghĩa của các thông
tin.
Các trang Web này ngày càng nâng cao chất lượng về hình thức, nhưng không
thay đổi được tính ngữ nghĩa của mình (do sự hạn chế của ngôn ngữ HTML). Những
câu hỏi được người sử dụng đặt ra để lấy thông tin ví dụ như “Có bao nhiêu cửa hàng
bán sản phẩm A” hay như “Cửa hàng nào bán giá rẻ nhất”, có vẻ đơn giản nhưng
dường như lại khá khó thực hiện được. Khi sử dụng các phương pháp thông thường
như search engine của trang thông tin đó hay các search engine khác, nó mang lại cho
người sử dụng quá nhiều thông tin không cần thiết chứ không đem lại thông tin với
ngữ nghĩa mong muốn.

16
1.2.2 Các trang Web có cấu trúc cập nhật không thường xuyên
Tần số cập nhật được nêu ra ở đây chỉ mang tính tương đối, vì một trang Web
được cập nhật thường xuyên (ví dụ như chỉ số chứng khoán) lại cũng có thể vì một lý
do nào đó không cập nhật thường xuyên nữa (ví dụ đóng cửa thị trường chứng khoán
vào ngày nghỉ). Tuy nhiên, có thể thấy rằng, nhiều trang Web có tần số cập nhật nhỏ.
Ví dụ, trang Web giới thiệu tên các quốc gia (đương nhiên không phải ngày, tháng,
năm nào cũng có một quốc gia xuất hiện, đổi tên hay biến mất nên thông tin trong
trang Web này dường như không thay đổi). Do các trang Web này cũng được tổ chức
theo một cấu trúc nhất định nên ta cũng có thể phân tích về mặt ngữ nghĩa cấu trúc.
Những câu hỏi được đặt ra đối với các trang Web có cấu trúc nói trên sẽ là những
câu truy vấn rất đơn giản trong các hệ quản trị CSDL khi có các thông tin Tên sản
phẩm (trong câu hỏi “Các sản phẩm nào có tên chứa chuỗi ABC ”), Tên cửa hàng, Giá
bán (trong câu hỏi “Cửa hàng nào bán giá thấp hơn 2.000.000 VND”). Thực tế, chúng
ta có các trang Web chứ không có CSDL và công việc của chúng ta là phải xây dựng

được một CSDL mà mỗi thông tin trong đó đã được phân loại theo ngữ nghĩa.
1.2.3 Các trang Web có cấu trúc lỏng lẻo
Các trang Web loại này cũng là một trong những loại trang Web xuất hiện rất
nhiều trên Internet, ví dụ như: trang Web giới thiệu cá nhân, tổ chức, cơ quan .v.v…
thường rất khó phân tích cấu trúc của chúng một cách tổng quát do thông tin được
trình bày không theo một quy luật nhất định nào.
Những trang Web kiểu này ít được quan tâm trong khai phá web bởi các thông
tin của chúng là không dự đoán được, không thể tối ưu khi phân tích, và điều quan
trọng nhất là các thông tin từ các trang Web kiểu này thường ít đem lại ý nghĩa khi sử
dụng vào các ứng dụng thương mại.
1.3 Phân loại khai phá dữ liệu Web
Thế giới WWW không chỉ đơn giản là cung cấp các thông tin mang tính nội
dung trực tiếp từ các văn bản mà ta còn có thể lấy được cấu trúc của các trang Web.
Ngày nay, khi thương mại điện tử phát triển, rất nhiều các thông tin khác được khai
thác thêm…Tất cả những thông tin này đều đem lại cho các doanh nghiệp một ý nghĩa
to lớn trong chính sách giá cả, đầu tư hay quảng cáo.
Dữ liệu của khai phá web được phân rã thành các lĩnh vực nghiên cứu tương ứng
như hình 1.4. [8]

17
Khai phá thông tin Web
(Web Mining)
Khai phá nội dung
Web
(Web Content Mining)
Khai phá cấu trúc Web
(Web Structure Mining)
Khai phá những thông tin
sử dụng
(Web Usage Mining)

Khai phá nội dung trang
Web
(Web paper content
mining)
Khai phá các kết quả
tìm kiếm
(Search result mining)
Theo dõi thông tin truy cập
nói chung
(General access pattern
tracking)
Thống kê những thói
quen sử dụng
(Customized usage
tracking)

Hình 1.4: Phân loại lĩnh vực nghiên cứu khai phá web
1.3.1 Khai phá nội dung Web
Lĩnh vực này tập trung vào các vấn đề khai phá, bóc tách, tích hợp những hiểu
biết, thông tin và các dữ liệu có ích từ nội dung trang Web. Quá trình khai thác nội
dung Web là quá trình tự động. Vấn đề đặt ra cho khai thác thông tin là máy không thể
hiểu nội dung, ý nghĩa của các văn bản. Vì vậy, hướng tiếp cận giải quyết vấn đề này
là: cấu trúc lại nội dung trang Web sang một dạng mà máy có thể phân tích và khai
thác được.
Một số bài toán nổi bật được quan tâm nhiều trong lĩnh vực này là:
− Bóc tách thông tin có cấu trúc (Đây là bài toán sẽ được đề cập, giải quyết trong
luận văn này.)
− Phân loại định tính, phân tích và tóm tắt nội dung
Một site trực tuyến cho phép khách hàng có thể viết nhận xét các sản phẩm hoặc
cửa hàng. Để khai thác được các thông tin xung quanh những nhận xét này một

cách tự động, chúng ta cần phân loại định tính các nhận xét là tốt hay xấu, cần
tóm tắt được các nhận xét theo các tiêu chí, các cách tiếp cận khác nhau. Công
việc này có thể thực hiện tự động.
− Tích hợp thông tin
Có rất nhiều các Website về du lịch khác nhau. Chúng có đặc điểm chung là có
một bảng nhập các thông tin tìm kiếm. Nhờ đó người dùng có thể thực hiện các
truy vấn đến CSDL. Tuy nhiên với mỗi site dữ liệu trong bảng tìm kiếm lại khác
nhau. Vấn đề đặt ra là, phải tích hợp được các site này để đưa ra một giao tiếp
tìm kiếm dữ liệu chuẩn.
− Lí thuyết tri thức: Phát hiện tri thức tiềm ẩn trong khối lượng dữ liệu khổng lồ có
trên web.

18
− Tự động nhận dạng mẫu: Về cơ bản đây là một quá trình mã hóa ngược. Bình
thường nội dung của trang Web được sắp xếp vào một trang mẫu để hiển thị đến
người dùng. Bây giờ chúng ta tìm cách để tự động nhận dạng được mẫu nguyên
gốc của trang. Đây cũng là một hướng tiếp cận rất gần với bài toán bóc tách
chúng ta đang giải quyết.
1.3.2 Khai thác cấu trúc Web
Khai phá cấu trúc Web nhằm khám phá ra những thông tin hữu ích dựa trên cấu
trúc của các siêu liên kết.
Thế giới Web cung cấp nhiều thông tin khác bên cạnh thông tin được chứa trong
văn bản. Chẳng hạn, một trang WEb được nhiều điểm liên kết đến chứng tỏ sự phổ
biến của tài liệu. Trong khi đó, những liên kết từ một trang Web ra ngoài lại thể hiện
lượng thông tin hoặc sự đa dạng của các chủ đề được đề cập đến trong nó. Dựa trên
những đánh giá này, các dịch vụ kèm theo được phát triển như đếm xếp hạng trang,
thống kê các siêu liên kết. Đó là các nghiên cứu chính của lĩnh vực khai thác cấu trúc
Web.
1.3.3 Khai phá việc sử dụng Web
Đây là lĩnh vực nghiên cứu những thói quen truy cập của người sử dụng nhằm

đưa lại những thông tin có ích cho các nhà cung cấp dịch vụ.
Web server ghi và tích tũy những dữ liệu về sự tương tác của người dùng khi sử
dụng các tài nguyên trên web thành các khối dữ liệu gọi là log. Phân tích các log truy
cập Web của các Website khác nhau giúp chúng ta biết được thói quen của người
dùng. Theo đó cải tiến thiết kế, cách sắp xếp cũng như nội dung của các tài nguyên
trên Web. Hiện nay có hai xu hướng chính trong lĩnh vực này là theo dõi những truy
cập chung hoặc một số thống kê sử dụng cho những mục đích riêng biệt.
1.4 Các bƣớc tiến hành khai phá nội dung Web
Đối tượng của khai phá nội dung Web là các đối tượng dữ liệu có cấu trúc được
lưu trữ trên Web. Những thông tin này thường là các bản ghi dữ liệu được lấy từ
CSDL và hiển thị lên trên trang Web có khuôn mẫu đã dựng sẵn.
Hiện tại, trên thế giới đã có rất nhiều nghiên cứu về khai phá Web, phương pháp
và công nghệ để xử lý thông tin thu thập từ các nguồn thông tin trên Internet là một
hoạt động thông minh. Khai phá Web có thể được chia thành bốn tác vụ cho ở hình 1.5


19
D÷ liÖu
Web
T¸c vô
Thu thËp
th«ng tin
T¸c vô
Bãc t¸ch
th«ng tin
T¸c vô
Tæng qu¸t
ho¸ th«ng
tin
T¸c vô

Ph©n tÝch
th«ng tin
Tri thøc

Hình 1.5 : Quá trình khai thác nội dung Web
Chúng ta sẽ điểm qua từng tác vụ và những nghiên cứu đã đạt được đối với
từng tác vụ này.
1.4.1 Thu thập thông tin
Tác vụ thu thập thông tin (Information Retrieval) trên web giúp cho người sử
dụng có được trang Web từ URL hoặc từ yêu cầu mà họ cần. Đối với người sử dụng,
việc thu thập thông tin thường được thực hiện qua các URL mà người sử dụng đã biết
hoặc qua các engine tìm kiếm. Các engine tìm kiếm là các chương trình được viết để
có thể truy vấn và thu thập dữ liệu được lưu trong CSDL (có cấu trúc), trang Web (bán
cấu trúc) và các văn bản tự do (không có cấu trúc) trên mạng. Hiện tại đã có khá nhiều
các engine tìm kiếm mạnh (trên thế giới) và tại Việt Nam như Google, Altavista,
Lycos, Vinaseek, PanVN, Các engine này ngày càng cố gắng để có thể tương tác với
người sử dụng nhiều và thông minh hơn, tuy vậy chúng cũng có những yếu điểm.
Như chúng ta đã biết, một hệ thống thu thập thông tin lý tưởng phải là một hệ
thống thu thập được những thông tin phù hợp nhất với yêu cầu của người sử dụng (yêu
cầu này được diễn giải bằng các câu truy vấn). Đây thật sự là một tác vụ vô cùng phức
tạp và khó khăn mà hầu hết các hệ thống thu thập thông tin đều chưa thực hiện được
triệt để, phần nhiều có thể kể đến là do tính phi ngữ nghĩa của ngôn ngữ HTML. Hầu
hết các hệ thống thu thập thông tin hiện nay đều chú trọng tới tốc độ, số lượng thông
tin mà các hệ thống này có thể mang lại cho người dùng với các câu truy vấn tương
đối đơn giản.
Ngoài ra chúng ta cũng nhận thấy đã có những cố gắng rất nhiều trong việc cá
nhân hóa và khả mở đối với hệ thống thu thập thông tin. Tuy vậy, kết quả mang lại
chưa thật sự tốt như người dùng mong đợi.

20

1.4.2 Bóc tách thông tin
Sau khi thu thập, thông tin đã được lấy về, việc tiếp theo là phải lấy ra được
những thông tin cần thiết và chỉ những thông tin cần thiết, một cách tự động, không
cần tới thao tác của người sử dụng. Hầu hết các thuật toán bóc tách thông tin hiện nay
đều dựa vào các công cụ khác nhau trên nền kỹ thuật “wrapper”. Wrapper có thể được
hiểu là những hàm để tách thông tin từ các tài nguyên Web. [5]


Hình 1.6: Một cây thông tin có cấu trúc
Các thông tin cần bóc tách có cấu trúc như trên là một ví dụ. Để xác định được
các vị trí thông tin này. Một wrapper cần được cung cấp một luật cho phép nó đến
được nút chứa thông tin từ nút gốc. Có nhiều cách để cung cấp cho wrapper các luật
này. Có thế các hàm này được viết dựa trên các luật đã được đúc rút ra sau khi khảo
sát các trang Web chứa thông tin cần lấy. Các Wrapper có thể xây dựng dựa trên rất
nhiều quy luật khác nhau và tuỳ thuộc vào mục đích của người sử dụng.
Giới hạn lớn nhất của tác vụ bóc tách thông tin này là mỗi một wrapper chỉ được
sử dụng cho một mục đích nhất định và không liên quan đến nhau. Do vậy, khả năng
mở rộng của các wrapper này là hạn chế. Chúng ta có thể kể đến những chương trình
chỉ viết riêng về một vấn đề như: xem chỉ số chứng khoán, xem thời tiết, xem báo (ví
dụ như Novobot) hay những chương trình mang tính chất tổng hợp hơn như chương
trình bóc tách các thông tin thu được từ nhiều search engine cùng một lúc (ví dụ như
Corpecnic hay WebFerret). Hơn nữa, các chương trình này luôn tạo ra những khó
khăn cho người sử dụng trong việc cập nhật lại nguồn tin (ví dụ cập nhật thêm một tờ
báo hay thêm một search engine). Để cập nhật, người sử dụng hầu như khó có thể tự
mình thực hiện được mà phải chờ đợi hoặc lấy phần cập nhật từ các nhà sản xuất mà
không biết phần cập nhật này có thật sự đúng với ý muốn của mình hay không (có phải
đúng tờ báo mình muốn đọc hay đúng search engine ưa thích của mình không).
1.4.3 Tổng hợp và tổng quát hoá dữ liệu
Trong tác vụ này, các kỹ thuật nhận diện theo mẫu (pattern recognition) và học
máy (machine learning) thường được sử dụng đối với các thông tin đã được bóc tách.


21
Hầu hết các hệ thống học máy hiện tại trên Web đều học về ý thích của người sử dụng
(tổng quát hơn là thông tin về người sử dụng) nhiều hơn là học về chính trang Web mà
các hệ thống này được cài đặt trên đó. Vấn đề này cũng xuất phát từ nguyên nhân dữ
liệu hiện nay đang rất dư thừa trên Web nhưng lại không được phân loại theo mặt ngữ
nghĩa một cách tự động. Ví dụ, nếu chúng ta có một cơ chế nào đó để xác định được
hai tập hợp trang Web là trang chủ của cá nhân này và không phải là trang chủ của cá
nhân khác thì chúng ta sẽ có khả năng tiên đoán được một trang Web mới liệu có phải
là trang chủ của một ai đó hay không. Tuy vậy, với tính phi - ngữ nghĩa của HTML,
chúng ta khó có thể phân loại được các trang Web này.
1.4.4. Phân tích
Phân tích các thông tin sau khi đã thu thập được không phải là một công việc dễ
dàng đối với người sử dụng, chưa kể đối với máy tính. Tác vụ này có thể được thực
hiện hoàn toàn chỉ sau khi 3 tác vụ phía trước đã được thực hiện tốt.

22
CHƢƠNG II: CƠ SỞ LÝ THUYẾT
2.1 Các kiến thức nền tảng
2.1.1 Các vấn đề liên quan đến phân tích HTML
2.1.1.1. Hyper Text Markup Language - HTML
HTML là một chuẩn cho việc hiển thị các thông tin trên Web. Bản chất của
HTML là một tệp văn bản trong đó chứa các thông tin hiển thị theo các thẻ định dạng.
Các trình duyệt Web sử dụng các thẻ này để hiển thị các thông tin theo định dạng qui
ước.
Các thẻ của HTML được định nghĩa sẵn và thường tuân theo chuẩn của W3C
(Tiêu chuẩn thiết kế web World Wide Web Consortium). Mỗi thẻ HTML gồm một thẻ
mở (start tag) và một thẻ đóng (end tag) dùng để bao một vùng nội dung muốn định
dạng. Nó tạo thành một phân tử gọi là HTML Element. Một số thẻ còn có các tham số
đi kèm được gọi là thuộc tính của thẻ.

2.1.1.2. HTML DOM (HTML Document Object Model)
HTML DOM là một mô hình mô tả các tài liệu HTML dưới dạng các đối tượng.
Mô hình DOM được hiểu như một giao diện được sử dụng cho nhiều nền. Thông qua
đó người lập trình có thể truy xuất và thực hiện các thao tác trên tài liệu HTML dễ
dàng và tuân thủ một nguyên tắc chung.
Khi biểu diễn trong mô hình DOM, các tài liệu HTML được thể hiện dưới dạng
một cấu trúc cây. Mọi thao tác truy xuất đều thực hiện trên các nút của cây. Các nút
này tương ứng với các HTML Element hoặc các vùng nội dung tự do. (Hình 2.1)





×