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

Tìm hiểu và phân tách các phiên truy cập trong dữ liệu sử dụng 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 (1.8 MB, 56 trang )

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƢỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN 1

TÌM HIỂU VỀ WEB USAGE MINING VÀ
PHÂN TÁCH PHIÊN TRUY CẬP TRONG
DỮ LIỆU SỬ DỤNG WEB




Ging dn: TH.S LÊ VĂN VANG
Sinh viên thc hin:
TRƢƠNG HOÀNG HIỆP - 51103038
ĐẶNG MINH CHÂU - 51103007
Lớp : 11050302
Khóa : 15




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


TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƢỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN 1



TÌM HIỂU VỀ WEB USAGE MINING VÀ
PHÂN TÁCH PHIÊN TRUY CẬP TRONG
DỮ LIỆU SỬ DỤNG WEB




Ging dn: TH.S LÊ VĂN VANG
Sinh viên thc hin:
TRƢƠNG HOÀNG HIỆP - 51103038
ĐẶNG MINH CHÂU - 51103007
Lớp : 11050302
Khóa : 15




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

Lời cảm ơn
Trƣớc khi trình bày nội dung đồ án, chúng em xin cảm ơn Thầy Lê Văn Vang đã
trực tiếp hƣớng dẫn chúng em hoàn thành đồ án này.
Chúng em cũng xin gửi lời cảm ơn đến quý thầy cô khoa Công Nghệ Thông Tin
trƣờng đại học Tôn Đức Thắng đã truyền đạt cho chúng em tri thức hữu ích trong
suốt thời gian học tập qua. Giúp cho chúng em có đủ kiến thức hoàn thành tốt đồ án
1 cũng nhƣ các đồ án của môn học khác.
Một lần nữa chúng em xin chân thành cảm ơn.
TP.H 

Nhóm sinh viên thc hin


ng Minh Châu


p

ii

ĐỒ Á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 
Tác gi
(ký tên và ghi rõ h tên)


ng Minh Châu


p
iii

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)
iv


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
1

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
2

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

3

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.
DANH MỤC HÌNH

Hình 1: Các bƣớc trong data mining &
KDD
Hình 2: Các nội dung trong khai phá
dữ liệu Web
Hình 3: Các phƣơng pháp xác định

User
Hình 4: Agent của Browser
Hình 5: Ví dụ về xác định user bằng
cách sử dụng IP + Agent
Hình 6: Ví dụ về bảng User Pageview
Hình 7: Ví dụ phân tách session bằng
phƣơng pháp time-oriented
Hình 8: Ví dụ phân tách session bằng
phƣơng pháp time-oriented (h1)
Hình 9: Ví dụ phân tách session bằng
phƣơng pháp h-ref
Hình 10,11,12: Các bƣớc trong thuật
toán PRM
Hình 13: Bảng Session
Hình 14: Sơ đồ Wap-Tree
Hình 15: Wap-Tree|c
Hình 16: Wap-Tree|ac
Hình 17: ServerLog mẫu
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
4

Chƣơng 1
GIỚI THIỆU TỔNG QUÁT
I. GIỚI THIỆU :
Kể từ lần đầu tiên xuất hiện, Internet đã có những bƣớc phát triển vƣợt bậc, từ việc
chỉ đƣợc sử dụng trong không gian “nhỏ”, ngày nay, internet đã đƣợc phổ biến gần
nhƣ khắp thế giới. Đi đôi với sự phát triển đó là một lƣợng lớn các thông tin (tri

thức) có trên internet hay nói chính xác hơn là trên WWW (World Wide Web).
Lƣợng tri thức này rất đa dang, từ kinh tế, khoa học kỹ thuật, chính trị, tôn giáo,…
tất cả chúng đều có thể tìm kiếm trên internet, việc đăng tải thông tin trên internet
rất dễ dàng, có thể thực hiện ở mọi nơi, bởi bất kì ai và ngƣời khác có thể truy cập
chúng cũng rất dễ dàng, ở bất kì nơi nào, và ở bất kì nơi nào. Hơn thế nữa, chi phí
đễ 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.
5

II. BẢNG PHÂN CÔNG CÔNG VIỆC:
Bảng Phân Công Công Việc Theo Tuần

Trƣơng Hoàng Hiệp
Đặng Minh Châu
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.
6

Chƣơng 2
CƠ SỞ LÝ THUYẾT
I. Data Mining (Khai thác dữ liệu):
1. Giới thiệu:
Data Mining còn đƣơc gọi là Knowledge Discovery in Databases ( khám
phá tri thức trong cơ sở dữ liệu - KDD ), là quá trình khám phá các phần hữu ích
hoặc kiến thức từ các nguồn dữ liệu, ví dụ , cơ sở dữ liệu , văn bản, hình ảnh,
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
7

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 đó.
8


+ 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
9

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.
10

- 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.

11

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.
12


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   phiên truy ci
trên trình duyt ca bn. Nhng Cookie này t c t chc trên h thng máy tính. Khi truy
13

cn các trang web s d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  nhng thông tin v phiên truy cp
ca bn. T   nhi mà bc hii vi phiên truy cp
mà không cn hi li.
 nh b theo dõi hong ca bn trên
nh duyt ca bn không có v j nghiêm trng, vì mt
website cn phi bii dùng làm j trên website ca mình, t i thi phù hp
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.
14

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  bao gm
mt chui user agent trong http headers. Ni dung c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
n user agent là cách mà trình duyChào,

VD: chuỗi User Agent của Opera chạy trên Windows XP

n Agent trên cho máy ch web bit rng: h 
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

 n Agent trên cho máy ch web bit rng: h u hành
 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:

Ƣ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.
15

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 ca bn s gi mt HTTP header mà
a m t bn t 
load ni dung c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 t A.
2. PageView Identification:
PageView: là một thể hiện của một đối tƣợng web mà user truy cập, có thể là
đọc một bài báo, xem một trang sản phẩm, tin tức, hoặc mua hàng online.
PageView Identification: xác định các trang mà user đã truy cập, có thể dùng
cách bắt sự kiện nhƣ “click chuột”. Xác định đƣợc PageView từ đó có thể khai thác
dữ liệu của một số thuộc tính của mỗi lần truy cập. Các thuộc tính đó có thể bao
gồm:ID của pageview (thƣờng là URL đại diện cho một trang), các loại pageview
16

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

17


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
18

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.
19

4. Path Completion:
Path completion là một phần quan trọng trong giai đoạn tiền xử lý dữ liệu
web log và thƣờng đƣợc thực hiện sau khi phân tách session.
Khi ngƣời sử dụng duyệt web, thông tin request đƣợc ghi nhận trong web
log. Tuy nhiên, do một số trƣờng hợp, thông tin request không đƣợc ghi nhận trong
web log. Nguyên nhân là do cơ chế caching của browser phía client. Các trang đã
đƣợc truy cập sẽ đƣợc lƣu trữ trong bộ nhớ cache của client, nhằm làm tăng tốc độ
truy xuất và làm giảm tải lên web server. Khi ngƣời sử dụng nhấn nút “Back” trên
browser, hoặc truy cập vào những trang đã xem trƣớc đó thì browser sẽ không gửi
request lên web server, mà sẽ lấy thông tin đã đƣợc lƣu trong bộ nhớ cache và hiển
thị cho ngƣời sử dụng. Do đó, thông tin request không đƣợc ghi nhận trong log.
Nhƣ đã đề cập, các thông tin này rất quan trọng cho việc khai khoáng hành vi sử
dụng web và sẽ ảnh hƣởng tới độ chính xác của kết quả của phân tách các phiên
truy cập của ngƣời truy cập website, đặc biệt ảnh hƣởng trực tiếp đến thứ tự hình
thành của các chuỗi tuần tự truy cập clickstream trong các Session nên sẽ ảnh
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,

×