Khai thác dữ liệu Web

18 1.7K 15
Khai thác dữ liệu Web

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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ô

I. Khai thác dữ liệu Web:1. Tổng quan về webkhai 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, φ3Sau đó 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 • Quá trình trích xuất khối (Visual block extraction):Trong phần này ta nhắm đến việc trích xuất tất cả các khối có thể chứa trong một trang con. - Thường thì mỗi nốt trong cây DOM đại diện cho một khối. Tuy nhiên có một số node như <table> hay <p> thì được dùng cho việc tổ chức sắp xếp chứ không thích hợp để đại diện cho một khối đơn được. Trong trường hợp này, node hiện tại cần được phân chia thêm thay thế bằng các node con của chúng. - Với mỗi visual block được trích xuất ra thì giá trị DoC được thiết lập dựa vào sự khác biệt trực quan bên trong khối đó. Quá trình này được lặp đi lặp lại cho đến khi tất cả các node thích hợp đại diện cho các khối trong trang con hiện tại.Do sự linh động trong cấu trúc của HTML mà cây DOM có thể không luôn luôn phản ánh đúng mối quan hệ giữa các node khác nhau. Sau đây là thuật toán trích xuất khối: visual block extraction algorithmAlgorithm DevideDomTree(pNode, nLevel){IF (Devidable(pNode, nLevel) == TRUE){FOREACH child OF pNode{DevideDomTree(child, nLevel);}}ELSE{Put the sub-tree(pNode) in to the pool as a block.}}Ta quyết định một node có thể được chia nữa hay không (devidable) dựa vào: - Ta dựa vào thuộc tính của chính node DOM đó. Chẳng hạn như loại thẻ HTML, màu nền của node, kích thước, hình dáng của khối tương ứng với node DOM này.- Thuộc tính của các con của node DOM. Chẳng hạn thẻ HTML của các con của nó, thuộc tính màu nền của các con, kích thước của các con của nó. Số lượng các loại con khác nhau cũng được xem xét tới. Dựa vào chuẩn 401 của w3c về HTML ta phân loại node thành 2 loại: inline node và line-break node.- Inline node: node DOM với thẻ inline, mà thẻ này có tác động đến hình dáng của text và có thể áp dụng cho một chuổi mà không cần đề cập đến chổ kết thúc. Ví dụ như thẻ <b>, <big>, <em>, <font>, <i>, <strong>,<u>, …- Line-break node: node với text tag chứ không phải inline node. Dựa vào hình dáng của node và các thuộc tính của node con mà ta đưa ra một số định nghĩa sau:- Node có nghĩa (valid node): là một node mà có thể thấy thông qua browser. Node có độ rộng và độ cao phải khác 0. Ví dụ hai node con thứ 2 và thứ 4 của node <tr> sau là không có nghĩa- Text node: một DOM node tương ứng với text tự do. Mà không có một thẻ html nào.- Vỉrtual text node (định nghĩa đệ qui): o inline node với các node con toàn là text node là một virtual text node. o Inline node với các node con là text node hoặc là virtual text node là một virtual text node.Một số điểm quan trọng cần chú ý trong việc phát sinh ra heuristic cho thuật toán visual block extraction:- Tag cue(thông tin từ loại thẻ):o Những thẻ như <hr> thường được dùng để phân cách các chủ để khác nhau. Vì thế ta muốn sẽ chia một node DOM ra nếu nó có chứa những thẻ kiểu này.o Nếu một node inline có một con là line-break node thì ta sẽ chia node inline này.- Color cue(thông tin từ màu): o Ta sẽ chia một node DOM nếu màu nền của nó khác với màu nền của một trong số các con của nó. Tuy nhiên cùng lúc đó thì node con có màu khác đó sẽ không được chia trong vòng lặp hiện tại.- Text cue (thông tin từ text): nếu hầu hết các node con của một node DOM là text node hay virtual text node, nên chúng ta sẽ không chia nó.- Size cue(thông tin từ kích thước): ta định nghĩa trước một ngưỡng kích thước quan hệ (kích thước của node so với kích thước của toàn bộ trang hay trang con) giữa các thẻ khác nhau. (Ngưỡng này là khác nhau cho các node DOM có các thẻ HTML khác nhau). Nếu kích thước quan hệ nhỏ hơn ngưỡng, thì ta sẽ không phân chia node đó.Bảng sau là các luật dùng để phát sinh heuristic cho quá trình trích xuất khối. [...]... giúp ta có thể phân hạng được các trang này 6 Web usage mining (khai thác cách dùng web) : Bên cạnh việc khai thác cấu trúc, nội dung của một trang web, Web mining còn có một nhiệm vụ nữa đó là khai thác việc dùng web (usage mining)  Khai thác Weblog: Ở đây weblog có nghĩa là access log, không nên nhầm với khái niệm blog Để thuận tiện cho việc quản lý một webserver, để đánh dấu theo dõi hoạt động và... đề phát sinh của server Web server thường có cung cấp khả năng cho phép logging Khi người dùng vào một web server thì thông tin về địa chỉ IP, trang mà người dùng truy cập,… => Chúng ta dựa vào những thông tin dữ liệu này để khai thác  Weblog record: Sau đây là một định dạng phổ biến cho file log Remote_host rfc931 auth_user [date] "request" status bytes Ví dụ: 127.0.0.1 - vdkhai [10/Oct/2000:13:55:36... (authoritative web) Giả sử rằng ta có nhu cầu tìm kiếm về một chủ đề cho trước, chẳng hạn như là về ‘đầu tư kinh tế’ Vậy làm sao để tìm được những trang web có liên quan đến chủ đề đó và là những trang đáng tin cậy Thật thú vị rằng bí mật đằng của độ tin cậy của một trang web ẩn dấu trong bộ liên kết của trang web đó (web linkages) Ý tưởng của việc mining cấu trúc đường link: - Khi tác giả của một trang web tạo... có link trỏ tới Vietnamnet) Hơn nữa là một số trang web đáng tin cậy hiếm khi miêu tả về chính họ Chẳng hạn trang chính của Yahoo không chứa thông tin mà tự động mô tả rằng họ là một trang web tìm kiếm Vì thế mà một khái niệm gọi là hub được đưa ra Một hub là một trang web hoặc một tập các trang web mà nó cung cấp các đường link trỏ tới các trang web đáng tin cậy khác Một hub có thể là một trang không... báo, cấu trúc liên kết của một trang web có một số điểm khác biệt Trước hết, các link được tạo ra không phải tất cả đều là endorsement mà chúng ta quan tâm, mà có thể dùng cho mục đích làm navigation (menu), quảng cáo, thông tin về bản quyền Thứ hai là, vì nguyên nhân cạnh tranh kinh tế mà một số trang web một công ty sẽ không có những đường link trỏ tới những trang web đối thủ cạnh tranh của mình (Ví... phân đoạn trang web Quá trình này sẽ gộp các khối ở 2 bên của những separator nào có giá trị bé nhất Và quá trình này được lặp đi lặp lại cho đến khi gặp separator có trọng số lớn nhất thì dừng Sau đó, các node lá sẽ được kiểm tra xem thử có đủ mịn (tinh) hay chưa nếu chưa đủ mịn thì node đó tiếp tục được tiếp tục phân đoạn 4 Mining cấu trúc các đường link của trang web để tìm ra trang web có đáng tin... nhưng nó lại cung cấp các link tới một tập các trang web nổi bật về một chủ đề nào đó => hub đóng vai trò ngầm ‘bàn luận’ về tính đáng tin cậy của một trang web về một chủ đề nào đó Nhìn chung một hub tốt là một hub tốt mà nó trỏ tới nhiều trang có độ tin cậy cao Và một trang có độ tin cậy cao là một trang có nhiều hub tốt trỏ tới Như vậy hub và trang web có độ tin cậy có mối quan hệ tương quan bổ trợ... tạo một hyperlink trong trang mình trỏ tới một trang khác, điều này được xem như là sự tin cậy của tác giả đối với trang web mà anh ta trỏ tới Chẳng hạn khi tôi tạo trang web, tôi có đưa link đến trang của khoa CNTT DH KHTN, lúc đó tôi đã khẳng định - sự tin cậy của tôi đối với trang web đó Tập hợp của sự xác nhận tin cậy (endorsement) của một trang có được từ những trang của người khác sẽ chỉ ra được... ra được tầm quan trọng của trang đó Và một cách tự nhiên điều này sẽ dẫn tới việc - khám phá ra được độ tin cậy của một trang web Vì thế sự liên kết trong một trang sẽ cung cấp cho ta rất nhiều thông tin về sự liên quan, chất - lượng, cấu trúc của nội dung trang web hữu ích cho Web mining Ý tưởng này xuất phát từ việc đánh giá chất lượng của một paper, vào những năm 1970 người ta dựa vào sự biểu dương... người dùng Trong trường hợp này dấu “-” cho thấy phần thông tin này là không có giá trị vdkhai : Tên người dùng Đây là mã của người dùng yêu cầu tài liệu được qui định bởi HTTP authentication Nếu mã trạng thái là 401 thì giá trị của trường này không không đáng tin cậy bởi vì người dùng không được xác thực Nếu một tài liệu yêu cầu không cần có password thì trường này sẽ là dấu gạch ngang "-" 127.0.0.1: . 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. đề.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à

Ngày đăng: 17/01/2013, 14:17

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan