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

Phân cụm người sử dụng WEB dựa trên mẫu truy cập

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 (791.67 KB, 25 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG







HOÀNG VŨ



PHÂN CỤM NGƯỜI SỬ DỤNG WEB
DỰA TRÊN MẪU TRUY CẬP



Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01


Người hướng dẫn khoa học: PGS. TS Trần Đình Quế


TÓM TẮT LUẬN VĂN THẠC SỸ




HÀ NỘI – 2012





- 1 -



MỞ ĐẦU

Khai phá Web là việc sử dụng các kỹ thuật khai phá dữ liệu để
khám phá và trích rút những thông tin hữu ích từ các tài liệu, các
dịch vụ và cấu trúc Web. Nói cách khác, khai phá Web là việc thăm
dò những thông tin quan trọng và những mẫu tiềm năng từ nội dung
Web, từ thông tin truy cập Web, từ liên kết trang,… bằng việc sử
dụng các kỹ thuật khai phá dữ liệu, nó có thể giúp con người rút ra
những tri thức, cải tiến việc thiết kế các Web site và phát triển
thương mại điện tử tốt hơn[12].
Khai phá Web được phân loại thành 3 lĩnh vực chính [12]: Khai
phá nội dung Web (Web Content Mining); Khai phá cấu trúc Web
(Web Structure Mining); Khai phá sử dụng Web (Web Usage
Mining).
Khai phá sử dụng Web là một trong những lĩnh vực nghiên cứu
chính trong khai phá Web tập trung vào việc xem xét người sử dụng
Web và tương tác của họ với các trang Web. Động lực của khai phá
sử dụng Web là tìm những mô hình truy cập của người sử dụng từ
khối lượng lớn dữ liệu đăng nhập Web, chẳng hạn như: đường dẫn
truy cập thường xuyên, tần xuất truy cập nhóm trang và phân nhóm
người dùng. Thông qua khai phá sử dụng Web, thông tin đăng nhập
máy chủ, đăng ký thông tin và thông tin liên quan khác của người




- 2 -

truy cập sẽ cung cấp nền tảng cho việc ra quyết định đối với việc tổ
chức không gian Web, tối ưu Web site [9][11].
Phân cụm người sử dụng Web là việc tạo các nhóm người sử
dụng có các mẫu truy cập Web tương tự nhau, cung cấp tri thức cho
việc cá nhân hóa các dịch vụ Web [10].
Việc nghiên cứu các mô hình phân cụm và áp dụng các phương
pháp phân cụm người dùng Web trong khai phá sử dụng Web là một
xu thế tất yếu vừa có ý nghĩa khoa học vừa mang ý nghĩa thực tiễn.
Luận văn tập trung nghiên cứu về ứng dụng của kỹ thuật phân
cụm người sử dụng Web dựa trên mẫu truy cập Web. Dựa trên
những tiêu chuẩn khác nhau, người dùng Web có thể được phân cụm
và tri thức hữu ích có thể được lấy ra từ các mẫu truy cập của họ. Nội
dung bao gồm:
 Tìm hiểu về bài toán phân cụm người sử dụng Web dựa trên
mẫu truy cập và các ứng dụng.
 Nghiên cứu, cài đặt các thuật toán sử dụng trong quá trình tiền
xử lý dữ liệu, bao gồm các giải thuật trong các pha:
- Làm sạch dữ liệu
- Xác định người sử dụng
- Xác định phiên của người sử dụng
- Xác định phiên giao dịch với đường dẫn đầy đủ
- Biểu diễn dữ liệu theo mô hình không gian vector



- 3 -


 Tiến hành thực nghiệm với nguồn dữ liệu thực tế: Từ nguồn dữ
liệu thực tế, sau các pha tiền xử lý, dữ liệu được biểu diễn theo
mô hình không gian vector, phù hợp với định dạng mà bộ công
cụ WEKA chấp nhận, tiến hành thực nghiệm phân cụm.
 Dựa trên các kết quả thử nghiệm, phân tích và đánh giá, hỗ trợ
đưa ra khuyến cáo giúp cho việc phát triển các chiến lược tiếp
cận người sử dụng phù hợp, xây dựng và tổ chức một cách tốt
nhất không gian Web.
Luận văn được chia thành 3 chương chính như sau:
Chương 1 – Tổng quan về khai phá Web: Chương này trình
bày tổng quan về lĩnh vực khai phá Web, những vấn đề trong khai
phá sử dụng Web cũng như các ứng dụng của bài toán. Giới thiệu
các đặc trưng và một số kỹ thuật phân cụm, một số phương pháp,
thuật toán tiêu biểu.
Chương 2 – Phân cụm người sử dụng Web dựa trên mẫu
truy cập: Chương này giới thiệu về phân cụm người sử dụng Web,
mẫu truy cập, phân cụm người sử dụng Web dựa trên mẫu truy cập.
Chương này cũng đi sâu trình bày về kỹ thuật và các thuật toán liên
qua đến quá trình tiền xử lý dữ liệu và chuẩn bị dữ liệu để thực
nghiệm phân cụm.
Chương 3 – Cài đặt và thử nghiệm: Chương này sẽ mô tả chi
tiết về các công cụ, dữ liệu, phương pháp, kỹ thuật lựa chọn thực
nghiệm và toàn bộ quá trình tiến hành thực nghiệm. Kết quả thực
nghiệm sẽ được phân tích, so sánh và đánh giá.



- 4 -






- 5 -

Chương 1. TỔNG QUAN VỀ KHAI PHÁ WEB
1.1. Khai phá Web
Khai phá Web là việc sử dụng các kỹ thuật khai phá dữ liệu để
tự động hóa quá trình khám phá và trích rút những thông tin hữu ích
từ các tài liệu, các dịch vụ và cấu trúc Web.
Có thể phân các hướng nghiên cứu khai phá Web thành 3 lĩnh
vực chính, bao gồm:
 Khai phá nội dung Web (Web Content Mining): Khai phá nội
dung web là các quá trình xử lý để lấy ra các tri thức từ nội
dung các trang văn bản hoặc mô tả của chúng.
 Khai phá cấu trúc Web (Web Structure Mining): Nhờ vào
các kết nối giữa các văn bản siêu liên kết, World Wide Web có
thể chứa đựng nhiều thông tin hơn nhiều so với các thông tin ở
bên trong văn bản. Nội dung của khai phá cấu trúc Web là các
quá trình xử lý nhằm rút ra các tri thức từ cách tổ chức và liên
kết giữa các tham chiếu của các trang Web.
 Khai phá sử dụng Web (Web Usage Mining): Phân tích các
nhật ký truy cập (Web log) để khám phá ra các mẫu truy cập
của người dùng truy cập vào trang Web.
1.2. Khai phá sử dụng Web
Khai phá sử dụng Web là việc xử lý để lấy ra các thông tin hữu
ích trong các log file truy cập Web đã được ghi lại và tích luỹ về các
tương tác người dùng mỗi khi máy chủ nhận được yêu cầu truy cập.




- 6 -

Việc phân tích các log truy cập Web của các Web site khác nhau sẽ
dự đoán các tương tác của người dùng khi họ tương tác với Web
cũng như tìm hiểu cấu trúc của Web.
Thông thường các máy chủ Web (Web Server) ghi lại và tích
lũy các dữ liệu về các tương tác của người dùng mỗi khi nó nhận
được một yêu cầu truy cập. Có hai xu hướng chính trong khai phá sử
dụng Web:
 Theo dõi Mẫu truy cập Web (General Access Pattern
Tracking): phân tích các hồ sơ Web để biết được các mẫu và
các xu hướng truy cập.
 Theo dõi Sử dụng cá nhân (Customizied Usage Tracking):
phân tích các xu hướng cá nhân. Mục đích là để chuyên biệt
hóa các Web site cho các lớp đối tượng người dùng. Các thông
tin được hiển thị, độ sâu của cấu trúc site và định dạng của các
tài nguyên, tất cả đều có thể chuyên biệt hóa một cách tự động
cho mỗi người dùng theo thời gian dựa trên các mẫu truy cập
của họ.
Mục tiêu của khai phá việc sử dụng Web là thu thập, mô hình
hóa và phân tích các mẫu hành vi của người dùng. Công việc này bao
gồm các giai đoạn được trình bày chi tiết lần lượt theo các đầu mục:
1.1.2.1. Thu thập dữ liệu
1.1.2.2. Tiền xử lý dữ liệu
1.1.2.3. Khám phá mẫu
1.1.2.4. Phân tích mẫu




- 7 -

Trong khai phá sử dụng Web, người ta thường sử dụng các kỹ
thuật:
 Luật kết hợp: để tìm ra những trang Web thường được truy
cập cùng nhau của người dùng, những lựa chọn cùng nhau của
người dùng.
 Kỹ thuật phân cụm: Phân cụm người dùng dựa trên các mẫu
duyệt để tìm ra sự liên quan giữa những người dùng Web và
các hành vi của họ.
Có rất nhiều định nghĩa khác nhau về kỹ thuật phân cụm, nhưng
về bản chất ta có thể hiểu phân cụm là các qui trình tìm cách nhóm
các đối tượng đã cho vào các cụm (clusters), sao cho các đối tượng
trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm
thì không tương tự (dissimilar) nhau. Mục đích của phân cụm là tìm
ra bản chất bên trong các nhóm của dữ liệu.
1.3. Các kỹ thuật phân cụm
Các kỹ thuật phân cụm dữ liệu được chia làm một số loại:
Phương pháp dựa vào phân hoạch ( Partition Based Data Clustering
Method), phương pháp phân cấp (Hierarchical Based Data Clustering
Method), phương pháp dựa trên mật độ (Density Based Data
Clustering Method), phương pháp dựa trên lưới (Grid Based Data
Clustering Method).



- 8 -

Các đặc trưng

Phân cụm dữ liệu là kỹ thuật tổ chức dữ liệu bằng cách nhóm
các đối tượng có độ tương đồng cao để khám phá cấu trúc của dữ
liệu. Mục tiêu của phương pháp phân cụm dữ liệu chỉ đơn giản là tìm
kiếm cách tổ chức hợp lệ và tiện lợi của dữ liệu. Các thuật toán phân
cụm hướng tới việc tìm kiếm cấu trúc trong dữ liệu. Phương pháp
này còn được gọi là “học không có giám sát” (Unsupervised
Learning) trong lĩnh vực nhận dạng mẫu (Pattern Recognition) nói
riêng và trong trí tuệ nhân tạo (Artificial Intelligence) nói chung [6].
Một cụm sẽ bao gồm một tập các đối tượng có độ tương đồng
cao. Hiện nay, có một số định nghĩa về cụm đang được phát biểu như
sau [6]:
1. Một cụm là một tập các thực thể (các đối tượng) giống nhau,
và các thực thể ở các cụm khác nhau thì không giống nhau.
2. Một cụm là sự kết hợp của các điểm trong không gian thỏa
mãn điều kiền là khoảng cách giữa hai điểm bất kỳ trong một
cụm bé hơn khoảng cách giữa một điểm bất kỳ trong cụm đó
với một điểm bất kỳ không không thuộc cụm.
3. Các cụm có thể được mô tả như là các vùng chứa các đối
tượng có mật độ cao trong không gian nhiều chiều, được tách
với các vùng chứa các đối tượng có mật độ thấp hơn.
Một tập các đối tượng bao gồm dữ liệu thô cho quá trình phân
cụm và có thể được biểu diễn dưới hai dạng chuẩn [6]: Ma trận dữ
liệu, và ma trận không tương đồng.



- 9 -

Các hàm khoảng cách
Có rất nhiều hàm được dùng để biểu diễn độ tương đồng giữa

các đối tượng. Ở đây, chúng tôi chỉ trình bày một số các hàm đo
tương đồng phổ biến hay còn gọi là các hàm khoảng cách. Khoảng
cách tương đồng giữa hai mẫu thứ i và mẫu thứ k ký hiệu là d(i,k)
phải thỏa mãn các tính chất sau:
1. d(i,i)=0 với mọi i.
2. d(i,k)=d(k,i) với mọi cặp (i,k).
3. d(i,k)>=0 với mọi cặp (i,k).
Một số cách xác định hàm đánh giá độ tương đồng: Giả sử rằng
chúng ta có một ma trận mẫu [x
ij
] với x
ij
là giá trị của đặc trưng thứ j
của mẫu i. tất cả các đặc trưng là liên tục và được ước lượng theo tỷ
xích tỷ lệ. Hàm khoảng cách phổ biến là khoảng cách Minkowski [3]
dùng để ước lượng độ bất tương đồng. Mẫu thứ i tương ứng với dòng
thứ i của ma trận mẫu được ký hiệu là một vector cột x
i
.
x
i
= ( x
i1
,x
i2
, ,x
in
)
T
,i=1,2, ,n


Với d là số đặc trưng, n là số lượng mẫu, T ký hiệu là vector
chuyển vị. Khoảng cách Minkowski được định nghĩa như sau:
d (i,k )= (

j=
1
d
x
ij
− x
kj

r
)
1/r
với r>=1
Các hàm khoảng cách Minkowski thỏa mãn tính chất các tính
chất sau:



- 10 -
4. d(i,k)=0 nếu và chỉ nếu x
i
=x
k

5. d(i,k)
d (i,m)+d(m,k )

với mọi (i,m,k) Bất đẳng
thức tam giác
Có ba khoảng cách phổ biến sử dụng khoảng cách Minkowsky
được định nghĩa như sau:
Khoảng cách Euclidean (r=2):
d (i,k )= (

j=
1
d
x
ij
− x
kj

2
)
1/2
= [(x
i
− x
k
)
T
( x
i
− x
k
)]
1 /2


Khoảng cách Manhattan (r=1)
d (i,k )= (

j=
1
d
x
ij
− x
kj
)

Khoảng cách Max (r

):
|)|
1
max
(),(
kjij
xx
dj
kid 



Khoảng cách Euclidean là chuẩn được dùng phổ biến nhất trong
các chuẩn theo khoảng cách Minkowski [6].
Tiếp theo, chúng tôi đi sâu trình bày một số kỹ thuật phân cụm,

bao gồm:
1.3.2. Phân cụm dựa vào phân hoạch
Phương pháp phân cụm phân hoạch dựa trên ý tưởng ban đầu
tạo ra k phân hoạch, sau đó lặp lại nhiều lần để phân bố lại các đối
tượng dữ liệu giữa các cụm nhằm cải thiện chất lượng phân cụm.



- 11 -
1.3.3. Phân cụm dựa vào phân cấp
Phương pháp phân cụm phân cấp dựa trên ý tưởng cây phân cấp
để phân cụm dữ liệu. Có hai cách tiếp cận đó là phân cụm dưới lên
(Bottom up) và phân cụm trên xuống (Top down).
1.3.4. Phân cụm dựa trên mật độ
Phương pháp phân cụm dựa trên mật độ, căn cứ vào hàm mật
độ của các đối tượng dữ liệu để xác định cụm cho các đối tượng.
1.3.5. Phân cụm dựa trên lưới
Phương pháp phân cụm dựa trên lưới, ý tưởng của nó là đầu tiên
lượng hoá không gian đối tượng vào một số hữu hạn các ô theo một
cấu trúc dưới dạng lưới, sau đó thực hiện phân cụm dựa trên cấu trúc
lưới đó.
1.3.6. Phân cụm dựa trên mô hình
Ý tưởng chính của phương pháp phân cụm dựa trên mô hình là
giả thuyết một mô hình cho mỗi cụm và tìm kiếm sự thích hợp nhất
của đối tượng dữ liệu với mô hình đó, các mô hình tiếp cận theo
thống kê và mạng Nơron.
1.4. Một số phương pháp, thuật toán tiêu biểu
Phần này, chúng tôi trình bày một số thuật toán tiêu biểu đại
diện cho các kỹ thuật phân cụm phổ biến, tương đương với các mục,
bao gồm:




- 12 -
1.4.1. Thuật toán K-means
1.4.2. Thuật toán phân cụm K-medoids
1.4.3. Thuật toán EM (Expectation Maximization)
1.4.4. Thuật toán BIRCH (Balanced Iterative Reducing and
Clustering using Hierarchies)
1.4.5. Thuật toán CURE( Clustering Using Representatives)
1.4.6. Thuật toán CHAMELEON



- 13 -
Chương 2. PHÂN CỤM NGƯỜI SỬ DỤNG WEB
DỰA TRÊN MẪU TRUY CẬP
2.1. Phân cụm người sử dụng Web
Sử dụng các kỹ thuật tiền xử lý dữ liệu, phân cụm để khám phá
những mô hình truy cập của người sử dụng từ khối lượng lớn dữ liệu
đăng nhập Web như để tạo ra các nhóm người sử dụng có các mẫu
truy cập Web tương tự nhau, cung cấp tri thức cho việc cá nhân hóa
các dịch vụ Web, phát hiện các hành vi xâm nhập bất hợp lệ, dự báo
những hành vi của người dùng.
Việc nghiên cứu các giải pháp xử lý dữ liệu, cài đặt và ứng
dụng các mô hình phân cụm và áp dụng các phương pháp phân cụm
người dùng Web trong khai phá sử dụng Web là một xu thế tất yếu
vừa có ý nghĩa khoa học vừa mang ý nghĩa thực tiễn cao.
2.2. Phân cụm người sử người sử dụng Web dựa trên mẫu
truy cập

Từ bộ dữ liệu thô, để có thể trích chọn các tri thức hữu ích, dữ
liệu cần qua quá trình tiền xử lý, tổ chức dữ liệu và biểu diễn phù
hợp với định dạng để có thể tiến hành thực nghiệm phân cụm. Tiếp
theo đó, dữ liệu phù hợp sẽ được sử dụng cho công cụ phân cụm và
tiên hành thực nghiệm. Quá trình này có thể chia thành 02 bước,
trong mỗi bước sẽ bao gồm các pha như sau:



- 14 -
Bước 1: Tiền xử lý dữ liệu, bao gồm các pha:
 Pha làm sạch dữ liệu (Data Clearning)
 Pha xác định người sử dụng (User Identification)
 Xác định phiên của người sử dụng (Session Indentification)
 Hoàn thiện đường dẫn (Path Completion)
 Biểu diễn dữ liệu ( Biểu diễn các mẫu dữ liệu phù hợp với
chuẩn của công cụ thực nghiệm)
Bước 2: Phân cụm người sử dụng dựa trên mẫu truy cập:
 Sử dụng công cụ WEKA, áp dụng một số kỹ thuật phân cụm
tập dữ liệu
 So sánh, đánh giá kết quả.
Mẫu truy cập của người sử dụng Web được chiết xuất từ các file
nhật ký trên máy chủ Web, sau đó tổ chức vào các phiên đại diện cho
các giai đoạn của sự tương tác giữa người sử dụng Web và máy chủ
Web. Mẫu này bao gồm các trang mà họ đã đến thăm, và thời gian
họ đã dành trên mỗi trang. Mỗi người sử dụng sau đó có thể được đại
diện bởi một tập hợp gồm cặp thuộc tính ( URL truy cập, Thời gian
truy cập). Từ mỗi cặp thuộc tính này, chúng ta xác định một mẫu
người sử dụng.
Mục tiêu chính của phân cụm người sử dụng Web là để tìm ra

các tri thức, mô hình hóa, qua đó khám phá các mô hình truy cập vào
các trang Web khác nhau của người sử dụng trong không gian Web
liên kết với một máy chủ cụ thể.



- 15 -
Chương 3. THỰC NGHIỆM VÀ KẾT QUẢ
3.1. Bộ dữ liệu
Dữ liệu thực nghiệm được sử dụng trong luận văn này là các tệp
tin nhật ký sử dụng (log file) trên máy chủ Web của hệ thống Cổng
thông tin điện tử Đại học Quốc gia Hà Nội tại địa chỉ
.
Bộ dữ liệu Weblog ngày 31/05/2012 (lựa chọn ngẫu nhiên) trên
máy chủ Web, dung lượng file là: 50,207 KB, bao gồm 253.435 yêu
cầu từ máy khách.
3.2. Tiền xử lý dữ liệu
Trước khi tiến hành phân cụm, dữ liệu cần được tiền xử lý và
đưa về định dạng mà công cụ phân cụm chấp nhận.
Từ file nhật ký của IIS, chúng tôi phân tích và xác định người
từng người sử dụng cùng với danh sách URL mà người đó đã truy
cập. Các thông tinh này sẽ được biểu diễn thành dạng vector và đưa
vào một tệp tin. Các bước tiến hành như sau:
 Đọc file nhật ký, loại bỏ các thông tin dư thừa: làm sạch dữ
liệu, loại bỏ các trang sai sót và không hợp lệ ;
 Xác định và lập danh sách người sử dụng dựa trên các thông
tin và đặc điểm sau:
- Mỗi một địa chỉ IP gửi yêu cầu tới máy chủ Web đại diện
cho một người sử dụng,




- 16 -
- Nếu từ một địa chỉ IP có nhiều yêu cầu với các mã trình
duyệt Web khác nhau thì mỗi trình duyệt Web sẽ gắn với 1
người sử dụng (trường hợp qua Proxy),
- Cùng 1 địa chỉ IP, nếu khoảng thời gian giữa 2 lần yêu cầu
lớn hơn 30 phút thì coi như xuất hiện một người sử dụng
mới.
- Sử dụng nhật ký truy cập với các liên kết và cấu trúc liên kết
site để xác định tiến trình duyệt Web của người dùng.
 Xác định phiên của người sử dụng: Phiên giao dịch người dùng
là một tập giới hạn của các click người dùng theo một hoặc
nhiều máy chủ Web. Sau đây là các quy tắc được sử dụng để
xác định phiên người sử dụng:
- Nếu có một người dùng mới, có một phiên làm việc mới;
- Trong một phiên giao dịch người sử dụng, nếu trang tiếp
mong muốn là rỗng, thì có một phiên giao dịch mới;
- Nếu thời gian các yêu cầu trang vượt quá một giới hạn xác
định (25 đến 30 phút), thì giả sử rằng người dùng sẽ bắt đầu
một phiên mới.
 Hoàn thiện đường dẫn: Do sự tồn tại của bộ nhớ đệm cục bộ và
máy chủ Proxy, có nhiều truy cập quan trọng không được lưu
trong nhật ký truy cập. Nhiêm vụ của pha hoàn thiện đường
dẫn là điền vào những trang bị thiếu.
 Với mỗi người sử dụng, xác định danh sách các trang Web
(URL) mà người đó truy cập. Để tránh dư thừa dữ liệu, các




- 17 -
URL chỉ tới các thành phần phụ trong các trang Web sẽ được
loại bỏ. (các URL tới file jpg, gif, png, js, css ).;
 Đưa tất cả các URL tìm thấy vào một danh sách gọi là URL-
List. Mỗi phần tử trong URL-List tương ứng với một chiều của
Vector đặc trưng;
 Biểu diễn thông tin người sử dụng thành dạng vector với mỗi
thành phần tương ứng một URL trong URL-List và được gán
giá trị 1 hoặc 0 tương ứng với việc người đó đã truy cập vào
URL đó hay chưa (đây là mô hình Boolean - chúng tôi đã thử
nghiệm các mô hình Tần suất như TF, TF-IDF nhưng cho kết
quả không tốt bằng);
 Đưa dữ liệu vector của tất cả các người sử dụng cùng các
thông tin cần thiết khác vào một tệp có dạng .arff. Tệp này
tuân thủ theo định dạng tiêu chuẩn của công cụ phân cụm sẽ
được sử dụng – công cụ WEKA.
Từ tập dữ liệu thô ngày 31.5.2012 trên máy chủ Web với
253.435 yêu cầu, qua quá trình tiền xử lý, chúng tôi thu được bộ dữ
liệu với số trang Web được truy cập trong ngày và số mẫu người
dùng như sau:
Bảng 3.2. Số lượng mẫu sau tiền xử lý
STT Nội dung Số lượng
1.

Số trang Web được truy cập trong ngày
2490
2.

Mẫu người sử dụng được xác định
3219




- 18 -
Sau khi tiền xử lý, thực hiện biểu diễn dữ liệu theo mô hình
không gian vector, dữ liệu được lưu trữ theo định dạng .arff.
3.3. Thực nghiệm phân cụm
3.3.1. Công cụ thử nghiệm
Công cụ chúng tôi dùng để thực nghiệm phân cụm là WEKA
(Waikato Environment for Knowledge Analysis -
Công cụ này cung cấp hầu hết
các chức năng cơ bản phục vụ cho khai phá dữ liệu bao gồm các
thuật toán về tiền xử lý dữ liệu (filter), phân cụm (cluster), phân lớp
(classifier), luật kết hợp (association rule)
Để thực hiện việc tiền xử lý dữ liệu, chúng tôi đã xây dựng, căn
cứ vào các giải thuật đã nêu ở chương 2, chúng tôi đã xây dựng và
tổng hợp thêm các công cụ phục vụ cho việc thực nghiêm, bao gồm:
Bảng 3.3. Các công cụ, phần mềm hỗ trợ thực nghiệm
STT

Ứng dụng

Chức năng

Ngu
ồn

1.

DataClearning.java


Làm s
ạch, loại bỏ các dữ liệu
hỗn độn và dư thừa
T
ự xây dựng

2.

UserId.java

Xác đ
ịnh ng
ư
ời sử dụng truy cập
trang Web
T
ự xây dựng

3.

UserSessId.java

Xác đ
ịnh phi
ên s
ử dụng của
người truy cập và đường dẫn đầy
đủ
T

ự xây dựng

4.

ToVector.java

Chuy
ển các dữ liệu
logfile
sau
T
ự xây dựng




- 19 -
khi đ
ã qua các pha ti
ền xử lý về
dạng vector phù hợp với định
dạng .csv và .arff mà WEKA
chấp nhận
3.3.2. Phương pháp thực nghiệm
Trong phần thực nghiệm, chúng tôi lựa chọn một số thuật toán
thông dụng, đại diện cho kỹ thuật phân cụm dựa vào phân hoạch và
kỹ thuật phân cụm dựa vào phân cấp như đã trình bày ở Chương 1,
bao gồm:
 Thuật toán K-means
 Thuật toán EM (Expectation Maximization)

là các kỹ thuật phân cụm dựa vào phân hoạch và 01 thuật toán phân
cụm dựa vào phân cấp:
 Thuật toán BIRCH (Balanced Iterative Reducing and
Clustering using Hierarchies)
3.3.3. Quá trình và kết quả thực nghiệm
Ban đầu, chúng tôi sử dụng công cụ WEKA và bộ phân cụm
EM để tiến hành phân cụm trên dữ liệu chưa gán nhãn. Kết quả hệ
thống trả về gồm 5 cụm riêng biệt.
Sau khi phân tích kỹ các mẫu có trong từng cụm, chúng tôi
đánh giá và xác định 5 cụm này tương đương với 5 nhãn sau:
 visitor: Những người sử dụng thông thường, truy nhập và đọc
tin tức thông qua Internet



- 20 -
 editor (admin): Biên tập viên, sử dụng các chức năng CMS để
đưa tin lên cổng thông tin, những người được cấp quyền chỉnh
sửa, cập nhật thông tin.
 staff: Các cán bộ của ĐHQG, thường sử dụng các dịch vụ trên
cổng thông tin dành riêng cho cán bộ, cổng thông tin cán bộ.
 student: Sinh viên trong ĐHQG, thường sử dụng các dịch vụ
dành cho sinh viên.
 no_class: Những đối tượng này thường truy cập vào những
URL không tồn tại hoặc không hợp lệ với các mã lỗi mà máy
chủ trả về là HTTP 400, 500 hay HTTP 302 và 304.
Sau khi cập nhật nhãn phân cụm (lớp) vào dữ liệu, chúng tôi lần
lượt sử dụng 3 bộ phân cụm EM, K-Means và HierarchicalClusterer
đi kèm với tính năng So sánh với các lớp thực tế trong WEKA để
phân cụm và kiểm tra độ chính xác so với các cụm (lớp) thực tế.

Tổng hợp kết quả của việc thực nghiệm bởi các kỹ thuật trên
như sau:
Bảng 3.4. Kết quả phân cụm và thời gian tương quan giữa các thuật toán
STT Kỹ thuật phân cụm
Thời gian
(giây)
Độ chính
xác (%)
1.

K-Means
910 73.5943
2.

EM
1506 73.8117
3.

HierarchicalClusterer (BIRCH)
2658 74.8369
Từ bảng kết quả trên, chúng ta có thể thấy, kỹ thuật K-Means có
thời gian thực hiện là ngắn nhất, tuy nhiên, kết quả trả lại có độ chính



- 21 -
xác thấp nhất. Thuật toán EM thực hiện với thời gian trung bình, cho
kết quả tốt hơn so với kỹ thuật K-Means nhưng kém hơn so với
HierarchicalClusterer. Kỹ thuật phân cụm phân cấp với thuật toán
HierarchicalClusterer thực hiện với hời gian lâu nhất, tuy nhiên, kỹ

thuật này cho ra độ chính xác cao nhất.
Biểu đồ biểu diễn kết quả thực nghiệm về kết quả tương quan
giữa thời gian thực hiện và độ chính xác như sau:
1506
73.5943
73.8117
74.8369
1500
2000
2500
3000

Hinh 3.8. Biểu đồ so sánh tương quan thời gian, kết quả thực hiện
Biểu diễn độ chính xác phân bằng một biểu đồ dạng hình cột:
73
73.2
73.4
73.6
73.8
74
74.2
74.4
74.6
74.8
75
K-Means
EM
HierarchicalClusterer

Hinh 3.9. Biểu đồ so sánh độ chính xác phân cụm giữa các thuật toán




- 22 -
Từ kết quả thực nghiệm, chúng ta thấy, mỗi thuật toán có thời
gian thực hiện khác nhau, có một mức độ chính xác riêng và khả
năng thực hiện trên từng kích thước dữ liệu là khác nhau. Về độ
chính xác thì sự khác biệt giữa các kỹ thuật là không quá lớn.
Hai thuật toán phân cụm dựa trên phân hoạch K-Means và EM
có thời gian thực hiện nhanh hơn, kết quả trả lại cũng không có sự
khác biệt lớn. Thuật toán phân cụm phân cấp HierarchicalClusterer
thực hiện việc phân cụm với thời gian thực hiện lâu nhất (gần gấp 3
thời gian so với thuật toán K-Means), tuy nhiên, kết quả là độ chính
xác đạt được cao nhất.
Về tổng thể, trên cùng một bộ dữ liệu, các kỹ thuật phân cụm
dựa vào phân hoạch, phân cụm phân cấp với các thuật toán phân cụm
được lựa chọn mặc dù có thời gian thực hiện rất khác nhau, tuy
nhiên, kết quả độ chính xác đạt được không có sự khác biệt quá lớn.
Điều này cũng phần nào khẳng định quá trình tiền xử lý dữ liệu đã
được thực hiện khá tốt.



- 23 -
KẾT LUẬN

Luận văn tập trung nghiên cứu về ứng dụng của kỹ thuật phân
cụm người sử dụng Web dựa trên mẫu truy cập. Thông qua nghiên
cứu, thực nghiêm, chúng tôi đã đạt được một số kết quả sau:
 Khảo sát các kỹ thuật phân cụm trong khai phá dữ liệu, tập

trung nghiên cứu kỹ thuật phân cụm trong khai phá sử dụng
Web,
 Nghiên cứu các pha tiền xử lý dữ liệu, phân cụm người sử
dụng Web dựa trên mẫu truy cập. Bước tiền xử lý dữ liệu đã
thực hiện các pha: Làm sạch dữ liệu; Xác định người sử dụng;
Xác định phiên của người sử dụng; Hoàn thiện đường dẫn;
Biểu diễn dữ liệu. Từ nguồn dữ liệu thực tế, qua quá trình tiền
xử lý, dữ liệu được làm sạch và biểu diễn, trích chọ đặc trưng
và gán nhãn phù hợp, chúng tôi đã sử dụng công cụ WEKA
thực hiện phân cụm tập dữ liệu với 02 thuật toán trong kỹ thuật
phân cụm dựa vào phân hoạch và 01 thuật toán phân cụm dựa
vào phân cấp, bao gồm:
- Thuật toán K-means
- Thuật toán EM (Expectation Maximization)
- Thuật toán HierarchicalClusterer (BIRCH).
từ kết quả thực nghiệm, đưa được ra các so sánh, đánh giá.




- 24 -
Hướng nghiên cứu tiếp theo:
 Thử nghiệm với nguồn dữ liệu lớn hơn để đánh giá đầy đủ hiệu
quả của pha tiền xử lý dữ liệu.
 Dựa trên kỹ thuật phân cụm người sử dụng, phát triển kỹ thuật
phát hiện các truy cập trái phép. Áp dụng giải quyết bài toán
cụ thể trong thực tế.



×