1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web

56 415 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lời cảm ơn i PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN iii TÓM TẮT iv Mục lục 1 DANH MỤC CHỮ VIẾT TẮT VÀ HÌNH VẼ 3 Chương 1 4 GIỚI THIỆU TỔNG QUÁT 4 I. GIỚI THIỆU : 4 II. BẢNG PHÂN CÔNG CÔNG VIỆC: 5 Chương 2 6 CƠ SỞ LÝ THUYẾT 6 I. Data Mining (Khai thác dữ liệu): 6 1. Giới thiệu: 6 2. Các bước thực hiện: 6 2.2 Data Mining: 7 2.3 Postprocessing: 7 II. Web Mining: 8 1. Web Structure Mining (Khai thác cấu trúc web): 9 2. Web content mining (Khai thác nội dung trang web) : 9 3. Web Usage Mining (Khai thác sử dụng web) : 9 III. Server Log: 10 IV. Phân tách Session: 11 1. User Identification: 12 2. PageView Identification: 15 3. Sessionization: 17 4.1 Thuật toán Pattern Recovery Method: 20 V. Waptree: 26 1. Giới thiệu chung về WAP: 26 2. Mẫu truy cập tuần tự Apriori: 27 3. WAPmine và WAPtree: 28 4. Thuật toán WAPmine: 30 5. Xây dựng WAPtree: 30 5.1 Cơ sở xây dưng nên WAPTree: 30 5.2 Các đặc điểm của WAPTree: 30 6. Mining Web Access Patterns from Waptree: 34 ỨNG DỤNG MINH HỌA 39 1. Phân tách User: 41 2. Phân tách session bằng phương pháp time oriented: 43 3. Path Completion: 45 Chương 4 48 TỔNG KẾT 48 1. Kết quả đạt được: 48 1.1 Về phía bản phân: 48 1.2 Về phía đề tài: 48 2. Ưu điểm và nhược điểm: 48 2.1. Ưu điểm: 48 2.2. Nhược điểm: 49 3. Hướng phát triển đồ án: 49 Tài liệu tham khảo 50

Trang 1

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2014

Trang 2

TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2014

Trang 4

ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Chúng tôi xin cam đoan đây là sản phẩm đồ án của riêng chúng tôi và được

sự hướng dẫn của TS Lê Văn Vang Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo

Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc

Nếu phát hiện có bất kỳ sự gian lận nào chúng tôi xin hoàn toàn chịu trách nhiệm về nội dung đồ án của mình Trường đại học Tôn Đức Thắng

không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

TP Hồ Chí Minh, ngày tháng năm

Tác giả (ký tên và ghi rõ họ tên)

Đặng Minh Châu

Trương Hoàng Hiệp

Trang 5

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN

Xác nhận của GV hướng dẫn

_ _ _ _ _ _ _

Tp Hồ Chí Minh, ngày tháng năm

(kí và ghi họ tên)

Đánh giá của GV chấm bài

_ _ _ _ _ _ _

Tp Hồ Chí Minh, ngày tháng năm

(kí và ghi họ tên)

Trang 6

TÓM TẮT

Ngày nay, cùng với sự phát triển của các ngành khoa học, đặc biệt là ngành công nghệ thông tin, mạng Internet ngày càng được sử dụng rộng rãi Từ đó, nhiều website đã ra đời và ngày càng phát triển mạnh mẽ kèm theo các công cụ, ứng dụng chạy trên web…

Vì vậy nhu cầu khai phá các tài nguyên từ các dữ liệu website ngày càng được nâng cao và chú trọng

Cho nên đồ án chúng em chọn là “Web usage mining và phân tích các phiên truy cập” nhằm tìm hiểu và biết thêm về cách thức thực hiện cũng như tầm quan trọng của khai phá dữ liệu web

Với những khả năng ứng dụng thực tiễn, giúp ích vào công việc sau này của một sinh viên Công nghệ thông tin, và mở mang thêm tầm hiểu biết Chúng em quyết định chọn đề tài này để thực hiện cho đồ án 1 của mình

Bài báo cáo này gồm các mục sau:

Chương 1: GIỚI THIỆU TỔNG QUÁT

Chương 2: CƠ SỞ LÝ THUYẾT

Chương 3: ỨNG DỤNG MINH HỌA

Chương 4: TỔNG KẾT

Trang 7

Mục lục

Lời cảm ơn i

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN iii

TÓM TẮT iv

Mục lục 1

DANH MỤC CHỮ VIẾT TẮT VÀ HÌNH VẼ 3

Chương 1 4

GIỚI THIỆU TỔNG QUÁT 4

I GIỚI THIỆU : 4

II BẢNG PHÂN CÔNG CÔNG VIỆC: 5

Chương 2 6

CƠ SỞ LÝ THUYẾT 6

I Data Mining (Khai thác dữ liệu): 6

1 Giới thiệu: 6

2 Các bước thực hiện: 6

2.2 Data Mining: 7

2.3 Post-processing: 7

II Web Mining: 8

1 Web Structure Mining (Khai thác cấu trúc web): 9

2 Web content mining (Khai thác nội dung trang web) : 9

3 Web Usage Mining (Khai thác sử dụng web) : 9

III Server Log: 10

IV Phân tách Session: 11

1 User Identification: 12

2 PageView Identification: 15

3 Sessionization: 17

4.1 Thuật toán Pattern Recovery Method: 20

V Wap-tree: 26

1 Giới thiệu chung về WAP: 26

2 Mẫu truy cập tuần tự Apriori: 27

3 WAP-mine và WAP-tree: 28

Trang 8

4 Thuật toán WAP-mine: 30

5 Xây dựng WAP-tree: 30

5.1 Cơ sở xây dưng nên WAP-Tree: 30

5.2 Các đặc điểm của WAP-Tree: 30

6 Mining Web Access Patterns from Wap-tree: 34

ỨNG DỤNG MINH HỌA 39

1 Phân tách User: 41

2 Phân tách session bằng phương pháp time oriented: 43

3 Path Completion: 45

Chương 4 48

TỔNG KẾT 48

1 Kết quả đạt được: 48

1.1 Về phía bản phân: 48

1.2 Về phía đề tài: 48

2 Ưu điểm và nhược điểm: 48

2.1 Ưu điểm: 48

2.2 Nhược điểm: 49

3 Hướng phát triển đồ án: 49

Tài liệu tham khảo 50

Trang 9

DANH MỤC CHỮ VIẾT TẮT VÀ HÌNH VẼ

CÁC CHỮ VIẾT TẮT

WWW World Wide Web

WM Web Mining

KDD Knowledge Discovery in Databases

PRM Pattern Recovery Method

WAP Web Access Pattern

Hình 10,11,12: Các bước trong thuật toán PRM

Hình 18: ServerLog sau khi sắp xếp

Hình 19: Kết quả phân tách User

Hình 20: Kết quả phân tách Session

Hình 21: Kết quả patch completion

Trang 10

đễ duy trì một trang web trên internet là rất rẻ, rẻ hơn nhiều so với các cách thủ công truyền thống

Tuy nhiên, cũng có một số khó khăn trong chuyện này, đó là việc quản lý các lượng tri thức khổng lồ này là một công việc rất khó khăn, và hiện giờ thì không thể quản

lý chúng một cách có tối ưu được, mà chỉ có thể quản lý ở một mức độ tạm chấp nhận được Do đó, thay vì cần một phương pháp quản lý chặt chẽ lượng tri thức này, người ta đã tìm ra các cách khai thác chúng một cách cụ thể hơn : Các phương pháp WEB MINING (Khai phá dữ liệu web) ra đời

Web mining thực chất là việc sử dụng các kỹ thuật của Data mining nhằm tự động khai phá, trích dẫn thông tin từ các tài liệu và các dịch vụ web Và người ta đã nhận

ra phương pháp này là một hướng đi cần thiết và không ngừng được phát triển, các công trình nghiên cứu về WM được công bố với các cải tiến từ các thuật toán, các công nghệ hiện đại giúp cho việc khai thác tri thức có hiệu quả tối đa hết mức có thể Chẳng hạn như sự ra đời và phát triển của các tập đoàn công nghệ lớn như IBM, Google, Yahoo,…

Về cơ bản, Web mining được chia thành 3 loại: Web Usage Mining, Web Structure Mining, Web Content Mining Cụ thể từng phần sẽ được tìm hiểu ở phần sau

Trang 11

II BẢNG PHÂN CÔNG CÔNG VIỆC:

Bảng Phân Công Công Việc Theo Tuần

Tuần 1: - Tìm hiểu thêm các dữ liệu trên mạng

- Tìm hiểu khái niệm về data mining và

web mining

- Tìm hiểu các tài liệu trên mạng

- Tìm hiểu các bước thực hiện của data mining và phân loại các loại web mining

Tuần 2 - Phân biệt được sự khác nhau cơ bản của

webmining và datamining

- Phân tách session

- Tìm hiểu về Server log

Tuần 3: - Phân tích rõ các bước trong phân tách session

- Tìm hiểu giải thuật tìm ra cách truy cập thực tế của user

Tuần 4: - Code phân tách session - Tìm hiểu thuật toán khai thác dữ liệu

web-log (WAP-MINE) Tuần 5: - Tiếp tục tìm hiểu và code phân tách

session bằng ngôn ngữ C++

- Tìm hiểu về thuật toán Wap-Tree

Tuần 6: - Hoàn thành code phân tách session bằng

phương pháp Time-Oriented

- Tiến hành Code phân tách user

- Bổ sung bài báo cáo

- Tìm hiểu sâu về Wap-Tree

Tuần 7: - Hoàn thành code Path Completion - Hoàn thành tìm hiểu về Wap-Tree

Tuần 8: - Kiểm tra lỗi chương trình

- Sửa lỗi phát sinh

- Bổ sung báo cáo

Các tuần

còn lại

- Hoàn thành báo cáo

- Xem kỹ lại tất cả những gì đã nghiên cứu

Trang 12

Web,…do đó, các phần khai thác phải có giá trị, có khả năng hữu ích và dể hiểu

Data Mining là một lĩnh vực đa ngành liên quan đến máy móc, thống kê, cơ

sở dữ liệu, trí tuệ nhân tạo, thông tin và trực quan

Một số nhiệm vụ phổ biến của Data Mining như là Supervised Learning (hay Classification - phân loại), Unsupervised Learning (hay Clustering – gom nhóm), Association Rule Mining, và Sequential Pattern Mining

2 Các bước thực hiện:

Hình 1: Các bước trong data mining & KDD

Trang 13

2.1 Pre-processing:

Vì nhiều lý do khác nhau, các dữ liệu thô thường không thích hợp cho việc khai thác Nó cần phải được làm sạch để loại bỏ những bất thường, sự nhiễu tạp Các dữ liệu có thể quá lớn và/hoặc có nhiều thuộc tính không liên quan, mà chúng cần phải được giảm dữ liệu thông qua mẫu và chọn thuộc tính (Attribute Selection)

+ Làm sạch dữ liệu (Data Cleaning & Pre-processing): Loại bỏ nhiễu và các dữ liệu không cần thiết

+ Tích hợp dữ liệu: (Data Integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và Pre-processing

+ Chọn dữ liệu (Data Selection): chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ

(incomplete data),

+ Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý

2.2 Data Mining:

Thông qua một thuật toán data mining, dữ liệu đã được xử lý sẽ tao ra các

mẫu (Pattern) hoặc tri thức (Knowledge)

2.3 Post-processing:

Trong nhiều ứng dụng, không phải tất cả các mẫu đã được khám phá là cần thiết Do đó, bước này [Post-processing] xác định những dữ liệu cần thiết cho các ứng dụng nhờ vào các kỹ thuật đánh giá và trực quan khác nhau

+ Ước lượng mẫu (Knowledge Evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó

Trang 14

+ Biểu diễn tri thức (Knowledge Presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng

Toàn bộ quá trình khai thác dữ liệu, gần như sẽ được lặp đi lặp lại nhiều lần

Nó thường mất rất nhiều vòng để đạt được kết quả khả quan cuối cùng trước khi đưa vào sử dụng trong thế giới thực Hiện nay với sự phát triển của mạnh của Web

và các dữ liệu dạng văn bản Công cuộc khai thác dữ liệu web và dữ liệu văn bản ngày càng quan trọng và phổ biến

II Web Mining:

Web Mining nhằm mục đích khám phá thông tin hữu ích hay là lượng kiến thức có được từ cấu trúc siêu liên kết web (Web Hyperlink Structure), nội dung trang và dữ liệu sử dụng Trong nhiều thập kỷ qua, đã có rất nhiều thuật toán và phương thức khai thác được phát minh Dựa trên các loại dữ liệu chính được sử dụng trong quá trình khai thác mà Web Mining được chia thành ba loại:

Hình 2: Các nội dung trong khai phá dữ liệu Web

Trang 15

1 Web Structure Mining (Khai thác cấu trúc web):

Nhằm tìm ra các tri thức hữu ích từ các siêu liên kết (hoặc các link đã được rút gọn) mà nó đại diện cho cấu trúc của trang web Ví dụ, từ các liên kết, ta có thể tìm thấy các trang web quan trọng, nhờ đó, nó là một kỹ thuật quan trọng trong các công cụ tìm kiếm Chúng ta cũng có thể tìm ra các cộng đồng người dùng chia sẻ lợi ích chung Khai thác dữ liệu truyền thống không thực hiện được nhiệm vụ như vậy bởi vì nó thường không có cấu trúc liên kết trong một bảng quan hệ

2 Web content mining (Khai thác nội dung trang web) :

Rút (trích) ra hoặc khai thác các thông tin hữu ích hoặc tri thức từ nội dung trang web Ví dụ, ta có thể tự động phân loại và gôm các trang web theo chủ đề của chúng Tương tự với khai thác dữ liệu truyền thống Tuy nhiên, ta cũng có thể tìm

ra các mẫu trong các trang web để rút (trích) dữ liệu hữu ích như mô tả sản phẩm, thông tin của diễn đàn,…cho nhiều mục đích Hơn thế nữa, ta có thể khai thác đánh giá của khách hàng và thông tin diễn đàn để tìm ra ý kiến của khách hàng

- Web Page Contain : Nghĩa là sẽ sử dụng chỉ các từ trong văn bản mà không tính đến các liên kết giữa các văn bản Đây chính là khai phá dữ liệu Text

(Textmining)

- Search Result (Tìm kiếm theo kết quả): Trong các công cụ tìm kiếm, sau khi đã tìm ra những trang Web thoả mãn yêu cầu người dùng, còn một công việc không kém phần quan trọng, đó là phải sắp xếp kết quả theo thứ tự gần với nội dung cần tìm kiếm Đây cũng chính là khai phá nội dung trang Web

3 Web Usage Mining (Khai thác sử dụng web) :

Là việc xử lý tìm ra các mẫu truy cập của user từ Web Usage Log bằng cách lưu lại mỗi click được thực hiện bởi user Khai thác sử dụng web sử dụng nhiều thuật toán khai thác dữ liệu

Trang 16

- General Access Partern Tracking: Phân tích các Web log để khám phá ra các mẫu truy cập của người dùng trong trang Web

- Customize Usage Tracking: Phân tích các mẫu truy cập của người dùng tại mỗi thời điểm để biết xu hướng truy cập trang Web của từng đối tượng người dùng tại mỗi thời điểm khác nhau

III Server Log:

Server Log (hay còn gọi là nhật ký máy chủ, web log) là một bản ghi toàn vẹn những hành động được thực hiện bởi một máy chủ cụ thể Trong trường hợp đó

là một máy chủ web, bạn có thể sẽ nhận được nhiều thông tin hữu ích trên đó, nó là một nguồn dữ liệu quí giá và đáng tin cậy và được sử dụng trong WUM

Các thông tin về hành vi và thói quen của người truy cập website được ghi nhận một cách tường minh dưới dạng các mẫu tin nhật ký truy cập (log entries) Thông tin được ghi nhận một cách tuần tự theo thứ tự về thời gian mà user đã truy cập vào trang web, có những đặc điểm sau :

- Thông tin ghi nhận sẽ không đảm bảo tính toàn vẹn

- Các thông tin sẽ không nhất quán mà xen kẻ, trộn lẫn với nhau, làm cho việc phân biệt, xác định và theo dõi thông tin lược sử về hành vi của mỗi cá nhân trở nên rất khó khăn

Trang 17

IV Phân tách Session:

- Là quá trình các tác vụ chuyển đổi đưa dữ liệu các click-stream thành dạng

dữ liệu có mức trừu tượng cao hơn so với dữ liệu thô dưới dạng các request mà web server đã ghi nhận trong các tập tin web log

- Mục đích của giai đoạn này là xác định các mối liên hệ về mặt ngữ nghĩa giữa các log entries trong các tập tin web log với nhau

- Các mối liên hệ về mặt ngữ nghĩa này cho biết rằng: các log entries này là các dữ liệu nhật ký (log) ghi nhận về hành vi của một người nào đó trong một lượt, một phiên truy cập hoặc có thể là các log entries ghi nhận nhiều phiên truy cập khác nhau nhưng thuộc một người (User Session) mà ta xác định được

- Các bước cần để thực hiện việc phân tách các phiên truy cập:

+ Xác định người truy cập (User Identification)

+ Xác định các trang được xem/ dữ liệu được hiển thị (PageView

Identification)

+ Phân tách dữ liệu các phiên truy cập (Sessionization)

+ Phục hồi thông tin hành trình truy cập (Path Completion)

- Sau khi tiến hành phân tách các phiên truy cập của người sử dụng Ta sẽ thu được kết quả là biến đổi các dữ liệu thô, các log lines ban đầu đang ở dạng bảng

về các dạng dữ liệu có mức trừu tượng cao hơn là :Session và User Session

Trang 18

1 User Identification:

Việc phân tích Web Usage không đòi hỏi phải biết về nhận dạng người dùng Tuy nhiên nó cần thiết trong việc phân giữa các người dùng khác nhau Kể từ khi người dùng truy cập vào một web site nhiều lần, server logs lưu lại các phiên làm

việc của mỗi người

Hình 3: Các phương pháp xác định User

Có hai phương pháp chính là Cookie và IpAddres+Agent:

- Cookie: Trong trường hợp không có cơ chế xác thực, cách tiếp cận phổ biến nhất để phân biệt giữa các truy cập là sử dụng “cookies” của Clients Không phải tất cả các trang web, tuy nhiên sử dụng các Cookies, và về các vấn đề riêng tư cho nên đôi khi Cookies có thể bị khóa bởi users

Note: Cookie là một tập tin nhỏ dùng để lưu thông tin về phiên truy cập mà website lưu lại trên trình duyệt của bạn Những Cookie này tự động được tổ chức trên hệ thống máy tính Khi truy

Trang 19

cập đến các trang web sử dụng Cookie đã lưu, những Cookie này tự động gửi thông tin này về cho host (website tạo ra cookie)

Ví dụ: Khi bạn truy cập vào Website A, cookie sẽ lưu trữ những thông tin về phiên truy cập của bạn Từ đó Website có thể lưu giữ những thay đổi mà bạn đã thực hiện đối với phiên truy cập

mà không cần hỏi lại

Cookie thường dùng để xác định bạn là ai và dùng để theo dõi hoạt động của bạn trên website Cookie mà website lưu trên trình duyệt của bạn không có vấn đề j nghiêm trọng, vì một website cần phải biết người dùng làm j trên website của mình, từ đó cải thiện website để phù hợp hơn với người dùng

Hình 4: Agent của Browser

- IP Address + Agent: Giả sử IP và Agent là do một người duy nhất sử dụng Hoặc chung IP nhưng khác Agent , từ đó dễ dàng xác định đươc danh tính người sử dụng và phiên làm việc

Trang 20

Note: User Agent: là một chuỗi nhận dạng khi trình duyệt gửi yêu cầu tới máy chủ web Khi trình duyệt của bạn truy cập vào một web nào đó, nó sẽ bao gồm một chuỗi user agent trong http headers Nội dung của User Agent thay đổi tùy thuộc vào trình duyệt mà ta sử dụng, mỗi trình duyệt cho riêng một User Agent khác nhau Nói đơn giản user agent là cách mà trình duyệt thông báo VD: “Chào, Mình là FireFox trên windows” Hoặc “Chào, Mình là Chrome trên windows”

VD: chuỗi User Agent của Opera chạy trên Windows XP

Đoạn Agent trên cho máy chủ web biết rằng: hệ điều hành đang dùng là Windows XP(WinDows NT 5.1) và sử dụng trình duyệt Opera phiên bản 12.0

VD: chuỗi User Agent của FireFox chạy trên Windows XP

Tương tự như đoạn Agent trên Đoạn Agent trên cho máy chủ web biết rằng: hệ điều hành đang dùng là Windows XP(WinDows NT 5.1) và sử dụng trình duyệt FireFox phiên bản 18.0

VD: Chuỗi User Agent khác của firefox chạy trên Windows 7

Để kiểm tra User Agent của mình có thể vào trang web:

http://www.whatsmyuseragent.com/

Ưu điểm của phương pháp Ip Address + Agent là: luôn luôn dùng được và

không phải đòi hỏi thêm bất cứ công nghệ nào

Khuyết Điểm là: Sẽ không đảm bảo nếu nhiều người sử dụng chung một địa

chỉ IP và cùng một Browser

Trang 21

Ví Dụ: Xác định User thông qua IP address và Agent

Hình 5:Ví dụ về xác định user bằng cách sử dụng IP + Agent

Note: Ref viết tắt của HTTP Referer

Khi bạn click vào một link nào đó, trình duyệt của bạn sẽ gửi một HTTP header mà trong đó chứa một HTTP Referer dùng để báo cho Website đó biết bạn đến từ đâu và load nội dung của Website đó hiển thị trong trình duyệt

VD: Khi bạn click vào một link www.B.com trong www.A.com thì HTTTP Referer sẽ báo cho website B biết bạn đến từ A.

Trang 22

tĩnh (trang thông tin, trang sản phẩm…) và các siêu dữ liệu khác, chẳng hạn nhƣ các thuộc tính nội dung( từ khóa, thuộc tính của sản phẩm)…

Hình 6: Ví dụ về bảng User Pageview

Trang 23

3 Sessionization:

Sessionization là một tiến trình phân tách các bản ghi hoạt động của mỗi người thành các phiên Mục tiêu của Sessionization là tái hiện lại các dữ liệu

clickstream, trình tự thực tế các hành động của một user trong một lần truy cập web

Sessionization có hai loại cơ bản là: Time-oriented (Định hướng theo thời gian) và Structure-oriented (định hướng theo cấu trúc)

- Time-Oriented: sử dụng time-out estimates (thời gian ước tính) để phân biệt giữa các phiên liên tiếp

Hình 7: Ví dụ phân tách session bằng phương pháp time-oriented

- Structure-oriented: sử dụng một trong hai cấu trúc Static Site (web tĩnh)

và Implicit linkage (Liên kết ngầm) trong trường referer của server log

 h1: Tổng thời gian của một phiên không được vược quá ngưỡng thời gian T t0

là thời gian bắt đầu một phiên S, thời gian hoạt động t sẽ được gán cho S khi và chỉ khi t-t0 <=T

 h2: Tổng thời gian dành cho một trang không vượt quá ngưỡng G t1 là thời gian yêu câu cho xây dựng một phiên S, yêu cầu tiếp theo với dấu thời gian t2 được gán cho S, khi và chỉ ki t2-t1<=G

 h-ref: một yêu cầu q sẽ được thêm vào phiên S nếu ref của q đã được gọi trong

S Nếu không q sẽ đươc xem như là khởi đầu của một phiên mới

Trang 24

Ví dụ:

Hình 8: Ví dụ phân tách session bằng phương pháp time-oriented (h1)

Hình trên sử dụng heuristic h1 với T=30 phút thì bản lưu hoạt động của user sẽ được chia ra làm 2 phiên như hình bên cạnh

Nếu sử dụng h2 với ngưỡng T=10 phút, thì bản lưu hoạt động của user sẽ được tách thành 3 phiên A->B->C->E, A và F->B->D

Hình 9: Ví dụ phân tách session bằng phương pháp h-ref

Còn nếu sử dụng h-ref heuristic, khi tới mốc thời gian 1:15, truy cập A được gọi vì không có ref nên A sẽ là bắt đầu của một phiên mới Sau đó tại mốc thời gian 1:26 truy cập F được gọi, nhưng F có ref là C mà C đã có mặt trong phiên đầu tiên vì thế

F sẽ thuộc về phiên thứ nhất tại mốc thời gian 1:30 truy cập B được gọi, Ref của B

là A thuộc cả 2 phiên vì vậy B có thể thuộc bất kì phiên nào, trong trường hơp này

B sẽ thuộc vào phiên thứ 2 vì là phiên gần nhất Cuối cùng bản lưu hoạt động của user sẽ được phân thành 2 phiên như trên hình

Trang 25

hướng đến việc khám phá chuỗi tuần tự các hành vi truy cập của người sử dụng web

Thông tin truy cập bị thiếu do caching có thể được thực hiện nội suy dựa trên thông tin referer từ tập tin log của server và cấu trúc của site Quá trình nội suy này gọi là Path Completion và được đề xuất giải quyết bằng thuật toán Pattern Recovery Method – PRM

Một ví dụ về mất thông tin referrer được trình bày trong hình Ở phía bên trái

là một đồ thị mô tả cấu trúc liên kết của site Các mũi tên gạch đứt mô tả một hành

vi truy cập thực tế của user Sau khi truy cập đến trang E, user quay trở lại trang đã truy cập trước đó là D (ví dụ: bằng cách sử dụng nút “back” của browser) rồi quay trở lại tiếp trang B, rồi từ trang B, user truy cập đến trang C Thông tin về 2 lần truy cập đến trang B và D không được ghi nhận trong log file vì các trang đó đã được caching ở máy client (như vậy, không có request rõ ràng nào được tạo ra và gửi đến server cho 2 lần truy cập đó) Trong log file cho thấy, sau request cho trang E,

Trang 26

request tiếp theo là cho trang C với referrer là B Nói cách khác, có một khoảng trống trong tập tin log tương ứng với sự chuyển từ trang E sang trang B của user Căn cứ vào sơ đồ site, có thể phỏng đoán ra được 2 thông tin referrer bị thiếu (ví dụ,

E -> D và D - > B) từ cấu trúc site và thông tin referrer được đưa ra ở trên Cần lưu

ý là có thể có nhiều path có thể lấp vào chỗ trống đó (ví dụ như chuỗi truy cập E ->

D, D -> B, B -> A, A -> B, B -> C)

Hình 10: Các bước trong thuật toán PRM

4.1 Thuật toán Pattern Recovery Method:

Một phương pháp heuristic có thể được sử dụng để tìm ra một path mà có

số lần truy cập ngược trở lại ít nhất là thuật toán Pattern Recovery Method (PRM) PRM dựa vào thông tin referer và cấu trúc của site để phục hồi thông tin bị mất do caching PRM gồm 2 giai đoạn:

Giai đoạn 1: dùng thông tin referrer để phục hồi thông tin bị mất

Bước 1: thuật toán kiểm tra xem entry đầu tiên của session có thông tin referer hay không Nếu có referer và referer là một trang trong site thì chắc chắn có một vài entry bị mất và cần được phục hồi Entry được phục hồi sẽ có URL là Referer của entry đầu tiên trong session và Referer là null, và thời gian truy cập trước thời gian truy cập của entry đầu tiên (thường là sớm hơn 5 giây)

Trang 27

VD: 2 entry trong một session trước khi thực hiện giai đoạn 1 của thuật toán PRM

Sau khi thực hiện bước 1 của giai đoạn 1, một entry được phục hồi

Bước 2: so sánh Referer của entry với URL của entry liền trước Nếu 2 thông tin đó giống nhau thì không cần thực hiện phục hồi thông tin Nếu khác nhau thì có nghĩa là có thông tin truy cập bị mất Thuật toán sẽ phục hồi entry bị mất dựa vào thông tin của entry hiện tại Thông tin IP của entry được phục hồi sẽ là IP của entry hiện tại, thời gian truy cập sẽ là thời gian giữa entry hiện tại và entry liền trước Entry được phục hồi sẽ có URL là Referer của entry hiện tại, và Referer là null VD: Sau khi thực hiện bước 2 của giai đoạn 1:

Mã giả của giai đoạn 1:

Trang 28

Giai đoạn 2: sử dụng thông tin của cấu trúc site để tìm ra path “có thể có”

Mã giả của giai đoạn 2:

Ví dụ:

Cấu trúc site: Thông tin ghi nhận trong log:

Hình 11: Các bước trong thuật toán PRM

Hành vi truy cập thực tế của người sử dụng: A -> B -> D -> B -> A -> C

Sau khi thực hiện giai đoạn 1 của thuật toán:

LogID 4.1 là entry được phục hồi, có URL là Referer của LogID 4, và Referer = “-”

Ngày đăng: 19/10/2014, 12:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
3. Tổng quan về khai phá dữ liệu web – Đỗ Thị Diệu Ngọc - Luận văn đại học khoa Công Nghệ Đại học Quốc Gia Hà Nội 2003.Tiếng Anh Sách, tạp chí
Tiêu đề: Tổng quan về khai phá dữ liệu web
Tác giả: Đỗ Thị Diệu Ngọc
Nhà XB: Luận văn đại học khoa Công Nghệ Đại học Quốc Gia Hà Nội
Năm: 2003
2. Web Usage Mining - By Bamshad Mobasher Sách, tạp chí
Tiêu đề: Web Usage Mining
Tác giả: Bamshad Mobasher
3. Indexing Web Access-Logs for Pattern Queries - Alexandros Nanopoulos, Maciej Zakrzewicz, Tadeusz Morzy, Yannis Manolopoulos Sách, tạp chí
Tiêu đề: Indexing Web Access-Logs for Pattern Queries
Tác giả: Alexandros Nanopoulos, Maciej Zakrzewicz, Tadeusz Morzy, Yannis Manolopoulos
4. A Unified Approach to Web Usage Mining Based on Frequent Sequence Mining - Nobuhiro Inuzuka and Jun-ichi Hayakawa Sách, tạp chí
Tiêu đề: A Unified Approach to Web Usage Mining Based on Frequent Sequence Mining
Tác giả: Nobuhiro Inuzuka, Jun-ichi Hayakawa
5. An efficient algorithm f or Web usage mining-Florent Masseglia - Pascal Poncelet - Rosine Cicchetti Sách, tạp chí
Tiêu đề: An efficient algorithm for Web usage mining
Tác giả: Florent Masseglia, Pascal Poncelet, Rosine Cicchetti
5. www.laits.utexas.edu/~anorman/BUS.FOR/course.mat/Alex/ Link
6. www.anderson.ucla.edu/faculty/jason.frand/teacher/technologies/palace/datamining.htm Link
2. Các thành phần của webmining và phương pháp luận Khác
6. Mining Access Patterns Efficiently from WebLogs - Jian Pei, Jiawei Han, Behzad Mortazavi-asl, and Hua Zhu.7. Wap-Tree Khác
4. www.kdnuggets.com/software/web-mining.html Khác

HÌNH ẢNH LIÊN QUAN

Bảng Phân Công Công Việc Theo Tuần - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
ng Phân Công Công Việc Theo Tuần (Trang 11)
Hình 1: Các bước trong data mining &amp; KDD - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 1 Các bước trong data mining &amp; KDD (Trang 12)
Hình 2: Các nội dung trong khai phá dữ liệu Web - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 2 Các nội dung trong khai phá dữ liệu Web (Trang 14)
Hình 3: Các phương pháp xác định User - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 3 Các phương pháp xác định User (Trang 18)
Hình 4: Agent của Browser - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 4 Agent của Browser (Trang 19)
Hình 5: Ví dụ về xác định user bằng cách sử dụng IP + Agent - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 5 Ví dụ về xác định user bằng cách sử dụng IP + Agent (Trang 21)
Hình 6: Ví dụ về bảng User Pageview - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 6 Ví dụ về bảng User Pageview (Trang 22)
Hình 7: Ví dụ phân tách session bằng phương pháp time-oriented - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 7 Ví dụ phân tách session bằng phương pháp time-oriented (Trang 23)
Hình 8: Ví dụ phân tách session bằng phương pháp time-oriented (h1) - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 8 Ví dụ phân tách session bằng phương pháp time-oriented (h1) (Trang 24)
Hình 10: Các bước trong thuật toán PRM - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 10 Các bước trong thuật toán PRM (Trang 26)
Hình 11: Các bước trong thuật toán PRM  Hành vi truy cập thực tế của người sử dụng: A -&gt; B -&gt; D -&gt; B -&gt; A -&gt; C  Sau khi thực hiện giai đoạn 1 của thuật toán: - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 11 Các bước trong thuật toán PRM Hành vi truy cập thực tế của người sử dụng: A -&gt; B -&gt; D -&gt; B -&gt; A -&gt; C Sau khi thực hiện giai đoạn 1 của thuật toán: (Trang 28)
Hình 12: Các bước trong thuật toán PRM - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 12 Các bước trong thuật toán PRM (Trang 30)
Bảng Session: - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
ng Session: (Trang 31)
Hình 13: Bảng Session - Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng web
Hình 13 Bảng Session (Trang 31)

🧩 Sản phẩm bạn có thể quan tâm

w