Tải bản đầy đủ (.docx) (18 trang)

Khai thác dữ liệu Web

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 (641.32 KB, 18 trang )

I. Khai thác dữ liệu Web:
1. Tổng quan về web và khai thác dữ liệu web (Web mining).
Web (World Wide Web) được xem là một “nhà cung cấp” một lượng lớn các thông tin về tin tức, quảng cáo,
thông tin khách hàng, quản lý tài chính, giáo dục, thương mại điện tử, và một số dịch vụ thông tin khác.
Bên cạnh đó Web cung cấp một tập nhiều và “động” các thông tin về hyper-link, thông tin truy cập web, thói
quen dùng web của người dùng. Nên Web chính là nguồn tài nguyên dồi dào cho việc khai khác dữ liệu.
Tuy nhiên để tài nguyên Web trở nên hiệu quả cho việc khai thác là khám phá tri thức thì đó là một thách thức
vô cùng lớn. Bới những thách thức sau:
• Web quá lớn cho warehousing và mining dữ liệu có hiệu quả. Kích thước của Web lên tới hàng trăm
terabytes và đang tăng trưởng không ngừng. Đến ngày 28-07-2008 Google đã công bố rằng họ đã
index được 1trillion (1 nghìn tỉ) trang web.
• Độ phức tạp của web hơn nhiều lần so với các tài liệu text thông thường. Bởi web là tài liệu bán cấu
trúc. Người ta ví rằng Web như là một thư viện điện tử khổng lồ, mà trong đó hầu hết thông tin đều
chưa được index hay phân loại. Nên việc tìm được tài liệu mình cần trong cái thư viện ấy là rất khó.
• Web chứa nguồn thông tin động. Những thông tin trên Web được cập nhật liên tục, chẳng hạn như
thông tin về dự báo thời tiết, tin tức thể thao, tin tức,…đều được cập nhật từng ngày từng giờ.
• Web phục vụ một lượng lớn các cộng đồng người dùng đa dạng. Người ta ước tính hiện tại có
khoảng 100 triệu máy trạm sử dụng internet. Và số lượng này không ngừng tăng lên. Và những
người dùng này có những kiến thức nền tảng khác nhau, có mối quan tâm và cách sử dụng web khác
nhau.
• Chỉ một phần nhỏ thông tin trên web là có liên quan or hữu dụng. Người ta nói rằng có 99% thông
tin trên web là không hữu dụng với một người nào đó. Điều này không rõ ràng lắm. Tuy nhiên, nếu
đặt vào một hoàn cảnh cụ thể thì lượng thông tin mà ta quan tâm chiếm một phần rất nhỏ so với
lượng thông tin có trên Web. Vậy làm sao tìm ra đâu là những trang liên quan đến một chủ đề mà ta
quan tâm, và làm sao tìm được những trang như thế mà có chất lượng là một vấn đề.
Những thách thức đó đã thúc đẩy việc nghiên cứu để khai thác dữ liệu trên Web và dùng chúng một cách có
hiệu quả. Và nhiệm vụ của khai thác dữ liệu Web là tập trung vào việc tìm kiếm ‘cấu trúc web’ (search web
structure), phân hạng độ quan trọng của một nội dung web, khám phá tính đều đặn và động của nội dung
web, khai thác mô hình truy cập web (acess patterns).
Khai thác dữ liệu Web giúp cải thiện đáng kể sức mạnh của các search engine. Khai thác dữ liệu Web còn
giúp chỉ ra được các trang web đáng tin cậy (authority web), phân loại tài liệu web, giải quyết được vấn đề


nhập nhằng và tinh vi mà các cổ máy tìm kiếm dựa vào keyword gặp phải.
Phân loại Web mining:
Thông thường web mining được phân thành 3 loại: khai thác cấu trúc, khai thác nội dung, khai thác cách
thức dùng web. Hoặc theo một các khác, trong đó khai thác cấu trúc web được xem như là một phần của khai
thác nội dung. Nên còn 2 loại đó là mining content và mining usage.
2. Khai thác cấu trúc hiển thị của trang web:
So với văn bản thuần túy, trang web có nhiều cấu trúc hơn. Trên một trang web có chứa nhiều thứ như là các
hiệu ứng trực quan, các menu (navigation) cách header, tựa. Các trang web được xem như là các dữ liệu bán
cấu trúc.
Cấu trúc căn bản của một trang web chính là cấu trúc cây DOM. Trong đó, tương ứng với một thẻ HTML là
một node trong DOM tree. Nên trang web có thể được phân đoạn nhờ vào các thẻ có cấu trúc được định
nghĩa sẵn. Do đó DOM làm thuận tiện cho việc rút trích thông tin.
Tuy nhiên, bởi vì tính linh động của HTML có nhiều trang web không tuân theo chuẩn HTML của W3C. Mà
điều này có thể dẫn đến lỗi trong cấu trúc DOM tree. Hơn nữa cấu trúc DOM ban đầu được giới thiệu dùng
cho việc hiển thị của browser hơn là mô tả ngữ nghĩa của nội dung trang web.
Ví dụ: có 2 node cùng cha nhưng 2 node đó không có quan hệ ngữ nghĩa với nhau nhiều hơn quan hệ
ngữ nghĩa với những node khác.
Nên thật khó để rút trích chính xác nội dung cấu trúc ngữ nghĩa của một trang web nếu chỉ với DOM.
Mặt khác, về mặt cảm quan, con người nhìn nhận trang web gồm những đối tượng ngữ nghĩa khác nhau thay
vì xem đó là một đối tượng đơn lẻ.
Một số nghiên cứu cho thấy rằng, người dùng luôn mong muốn những thành phần chức năng hiển nhiên của
một trang web thì luôn phải hiện ở những vị trí hiển nhiên trên trang web ấy. Chẳng hạn như vị trí của
navigations, quảng cáo, thông tin bản quyền,…
Thực sự, khi một trang web được hiển thị cho user xem thì những thông tin về không gian, thông tin trực
quan có thể giúp người dùng chia trang web ra thành nhiều phần ngữ nghĩa (semantic parts). Vì thế có thể
phân đoạn trang web nhờ vào các thông tín hiệu về không gian và trực quan.
Dựa vào quan sát này chúng ta có thể phát triển một thuật toán rút trích cấu trúc nội dung của một trang web
dựa vào thông tin không gian và thông tin trực quan. Và thuật toán VIPS đã ra đời như thế.
3. Thuật toán phân đoạn trang dựa vào trực quan với thuật toán VIPS(Vision-based Page
Segment):

Một trang web Ω được đại diện bởi một bộ ba Ω= (O, Φ, δ)
- Với O = { Ω1, Ω2, …, ΩN } là một tập hữu hạn các khối. Mỗi blog Ωi được xem như là một
trang con.
- Φ = {φ1, φ2, …, φT} là một tập hữu hạn của tất cả các phân cách (bao gồm phân cách ngang và
dọc). Mỗi φ có một trọng số để chỉ ra sự hiện hữu của nó.
- δ là một quan hệ giữa 2 khối trong O. Được biểu diễn δ = O x O → Φ U {NULL}.
- Ví dụ ta xét 2 đối tượng Ωi và Ωj và δ(Ωi, Ωj) ≠ NULL chỉ cho ta thấy rằng Ωi và Ωj chính xác
được ngăn cách bởi δ(Ωi, Ωj) hay là hai object này kề với nhau. Còn ngược lại thì có các đối
tượng xen giữa 2 khối Ωi và Ωj
- Mỗi Ωi trong Ω cũng có cấu trúc nội dung giống như trang ban đầu.
Ở ví dụ trên ta thấy rằng có 4 khối visual block: VB1, VB2, VB3, VB4. Có 3 phân cách φ
1
, φ
2
, φ
3
Sau đó ta có thể dựng nên nội dung cấu trúc của các trang con. Chẳng hạn khối VB2 lại tiếp tục được phân
tích thành 3 phần con VB2_1 ~ VB2_3 với 2 phân cách.
Thuật toán VIPS:
Thuật toán này do Deng Cai, Shipeng Yu, Ji-Ron Wen, Wei-Ying Ma đề xuất năm 2003.
VIPS được nhắm đến để rút trích cấu trúc ngữ nghĩa của trang web dựa vào sự thể hiện trực quan của trang
web. Và cấu trúc ngữ nghĩa đó có dạng là một cây.
- Có một số định nghĩa có liên quan đến cây này mà chúng ta cần quan tâm:
- Đối tượng cơ sở xem là một nốt lá, không thể bị chia nhỏ.
- Mỗi node trong cây sẽ tương ứng với một khối (block)
- Mỗi block có thể là một đối tượng cơ sở hoặc một tập các đối tượng cơ sở.
- Một node trong cấu trúc này không nhất thiết phải tương đương với một node trong DOM tree.
- Tất cả các khối đều không được đè lên nhau.
- Mỗi node sẽ được gán cho một giá trị, gọi là độ kết dính (Degree of Coherence) để cho thấy độ
kết dính của nội dung của một khối dựa vào trực quan thị giác.

- Cách làm việc của thuật toán VIPS:
- Trước hết VIPS rút trích tất cả các khối có thể có từ cây DOM tree.
- Tiếp theo sẽ tìm các phân cách (separator) giữa các khối. (separator là đường phân cắt ngang
hoặc dọc, mà nó không chéo (cross) qua một khối nào.
- Cây ngữ nghĩa của một trang web được tạo dựng nên nhờ những phân cách này. Và như vậy một
trang web được hiển thị như là một tập của các blocks.
Với mỗi một khối, độ đo DoC (Degree of Coherency) được định nghĩa để độ kết dính của khối đó.
DoC có các thuộc tính:
- Giá trị của DoC của một khối càng lớn thì tính nhất quán trong khối đó càng cao.
- Trong cây hệ thống thì DoC của block con không được nhỏ hơn DoC của cha.
Hình trên là lưu đồ thuật toán VIPS.
Từ lưu đồ của thuật toán như trên ta thấy rằng quá trình phân đoạn trang gồm có 3 bước:
- Trích xuất khối (block extraction)
- Xác định phân cách (separator detection)
- Tạo dựng cấu trúc nội dung (content structure construction).
Trang web mới đưa vào trước hết sẽ được phân thành nhiều khối lớn(các khối thô, chưa có mịn). Và cấu trúc
của cây hệ thống được ghi lại và cho một cái hồ (pool). Các quá trình phân đoạn giống nhau và được tiến
hành một cách đệ qui cho các block lớn đó đến khi có được một khối đủ nhỏ (đủ tinh, đủ mịn) mà có DoC
lớn hơn một giá trị PDoC (Permitted Degree of Coherency) cho trước.
Với vòng lặp đầu tiên, từ web browser ta lấy được cây DOM với thông tin trực quan tương ứng với các khối.
Sau đó, từ node gốc của cây DOM, quá trình trích xuất các khối từ cây DOM được bắt đầu nhờ vào các
thông tin trực quan.
Sau một vòng lặp gồm có 3 bước đó, các node 1, 2, 3, 4, 5, 6, 7 được kiểm tra để quyết định nó có phải là
một khối đơn không.
Nếu 1 node không phải là node đơn (node 1, 3, 4) thì các node con của chúng sẽ được tiến hành theo cách
tương tự.
Ta sẽ gán cho một giá trị DoC cho mỗi khối được trích xuất ra. Nhưng các giá trị này dựa vào dâu mà gán?
Ta sẽ dựa vào thuộc tính trực quan của khối này.
Khi tất cả các khối ở vòng lặp hiện tại, của một trang hoặc trang con được trích xuất, chúng sẽ được lưu giữ
lại trong một cái hồ. Các phân cách giữa các khối này được xác định và trọng số của chúng được xác định

dựa vào thuộc tính của các khối láng giềng. Và mô hình của cây hệ thống được tạo nên nhờ các phân cách
này.
Sau khi tạo nên mô hình của cây hệ thống cho vòng lặp hiện tại, các node lá của cấu trúc nội dung này sẽ
được kiểm tra xem thử có đủ mịn (tinh) hay chưa. Nếu chưa thì các node lá sẽ được xem là những trang con
và được tiến hành phân đoạn một cách tương tự như node cha của nó.
Chẳng hạn khối C trong hình trên không thỏa mãn yêu cầu, khi đó ta xem nó như là một trang con, và nó sẽ
tiếp tục được phân đoạn thêm thành 2 phần C1, C2 như hình bên dưới.
Sau khi tất cả các khối được xử lý chúng ta có được cấu trúc nội dung dựa vào thị giác như hình bên dưới

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×