Tải bản đầy đủ (.doc) (12 trang)

Phân tích hành vi sử dụng web của người dùng

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 (491.81 KB, 12 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - ĐHQGHN
KHOA CÔNG NGHỆ THÔNG TIN

CÔNG TRÌNH DỰ THI
GIẢI THƯỞNG “SINH VIÊN NGHIÊN CỨU KHOA HỌC”
NĂM 2014

Tên công trình: Phân tích hành vi sử dụng web của người dùng

Họ và tên sinh viên: Đỗ Thành Trung

Nam, Nữ: Nam

Lớp: K55C-CLC

Khoa: Công nghệ thông tin

Người hướng dẫn: ThS. Vũ Quang Dũng


Tóm tắt công trình
Internet ngày một phát triển, cùng với đó là lượng thông tin khổng lồ. Khi người dùng sử
dụng internet để truy cập vào các website, đặt biệt là các website tin tức, người dùng luôn
muốn xem những vấn đề theo sở thích cá nhân của mình. Vậy vấn đề đặt ra là làm sao dự
đoán được và đưa ra được gợi ý cho người dùng những tin tức mà người dùng có thể quan
tâm. Công trình này thực hiện việc phân tích dữ liệu từ những thông tin bắt được về thao tác
của người dùng đối với website để đưa ra những dữ liệu cần thiết cho việc phán đoán.

2



Mục lục
Tóm tắt công trình......................................................................................................................2
Mục lục.......................................................................................................................................3
1.Đặt vấn đề................................................................................................................................4
2.Giải quyết bài toán..................................................................................................................4
2.1.Mô hình tổng quát............................................................................................................4
2.2.Cơ sở lý thuyết.................................................................................................................5
2.2.1.ABC model (Antecedent-Behavior-Consequence)...................................................5
2.2.2.Phân lớp Bayes..........................................................................................................5
2.3.Tiền xử lý dữ liệu.............................................................................................................6
2.4.Phân tích dữ liệu...............................................................................................................6
2.4.1.Nhóm chủ đề (category) theo thời gian.....................................................................6
2.4.2.Nhóm dữ liệu theo người dùng..................................................................................7
2.4.3.Xác định các tin nổi bật (được truy cập nhiều).........................................................8
2.5.Làm mịn...........................................................................................................................9
2.5.1.Trích xuất từ khóa.....................................................................................................9
2.5.2.Đánh trọng số............................................................................................................9
2.6.Kết quả, ý nghĩa..............................................................................................................10
3.Kết luận.................................................................................................................................11
3.1.Hạn chế còn tồn tại.........................................................................................................11
3.2.Hướng phát triển.............................................................................................................11
Tài liệu tham khảo....................................................................................................................12

3


1. Đặt vấn đề
Để có thể phán đoán và đưa ra gợi ý hợp lý cho tin tức mà người dùng có thể quan
tâm, việc phân tích dữ liệu tương tác người dùng là vô cùng quan trọng. Với dữ liệu
thu thập được từ tương tác người dùng làm sao để có thể biết được người dùng nào

thích đọc loại tin nào, vào khoảng thời gian nào hay xu hướng tin tức đọc nhiều của
mọi người là gì.
Vậy bài toán đặt ra phân tích từ những dữ liệu tương tác của người dùng, làm sao ta
có thể nhóm được người dùng cũng như dữ liệu thành các nhóm sở thích và cùng với
những luật đưa ra có thể dự đoán một cách chính xác những vấn đề mà người dùng
quan tâm.
Báo cáo này gồm 3 phần chính:
Phần 1: Đặt vấn đề.
Phần 2: Giải quyết bài toán.
Phần 3: Kết luận.

2. Giải quyết bài toán
2.1.

Mô hình tổng quát

Ta có mô hình tổng quát hệ thống phân tích dữ liệu người dùng như sau:

Hình 1: Mô hình tổng quát luồng hoạt động
Trong đó, vai trò của từng phần là:
- Tiền xử lý: đưa ra các form theo ABC model để làm chuẩn cho việc phân tích.
- Phân tích dữ liệu: Từ thông tin thu được về thao tác người dùng, tiến hành phân
tích để đưa ra kết quả theo form đã đưa ra.
- Đưa vào CSDL: Đưa kết quả đã phân tích được vào cơ sở dữ liệu.
- Làm mịn: Sử dụng phân lớp Bayes để xác định category chính xác hơn cho các
tin tức sau đó cập nhật lại cơ sở dữ liệu.
Dữ liệu dùng để phân tích có thể lưu trong cơ sở dữ liệu dưới dạng như sau:

4



Hình 2: Cấu trúc cơ sở dữ liệu dùng cho phân tích
Trong đó:
- Bảng Users: lưu trữ dữ liệu của người dùng.
- Bảng Articles: lưu trữ dữ liệu của các tin bao gồm các trường chính: tiêu đề, chủ
đề, thời gian post và url của tin đó.
-

2.2.

Bảng Requests: lưu trữ dữ liệu về các request của người dùng bao gồm các
trường chính: định danh người dùng, định danh thông tin và thời gian yêu cầu
thông tin.

Cơ sở lý thuyết

2.2.1. ABC model (Antecedent-Behavior-Consequence)
ABC model (tiền đề - hành vi - kết quả). Tiền đề là sự việc gì đó xảy ra trước khi có
hành vi, hành vi lại đưa ra một kết quả nhất định. Theo ABC model, ta có thể đưa ra
dự đoán kết quả từ một tiền đề nào đó đã xảy ra.

2.2.2. Phân lớp Bayes
Phân lớp Bayes dựa vào khung xác suất để xây dựng bộ phân lớp.
Xác xuất điều kiện:
Với 2 biến cố A và C:
Xác suất có điều kiện của C phụ thuộc A: P(C|A) =
Trong đó:
- P(A,C) là xác suất xuất hiện cả A và C.
- P(A) là xác suất xuất hiện A.
Định lý Bayes:

P(C|A) =
Thuật toán phân lớp Bayes áp dụng trong hệ thống trong việc phân loại chủ đề
(category) đối với các tin tức dạng văn bản. Sử dụng xác suất có điều kiện giữa
keyword và category, thuật toán cho phép xác định một cách tương đối category của
tin tức đang xét.

5


2.3.

Tiền xử lý dữ liệu

Tại bước này, ta đưa ra các form theo ABC model để dựa vào đó làm mục tiêu và
mẫu chuẩn cho việc thống kê và phân tích ở bước sau. Cụ thể ta có một số form như
sau.
- Form hiển thị tần suất truy cập theo từng ngày trong tháng.
Bảng 1: Bảng hiển thị tần suất xem tin của từng category theo các ngày trong tháng
Time
1
2
3
4
5

26
27
28
29
Category


Category1
Category2
Category3
Category4
Category5







- Form hiển thị tần suất truy cập theo khoảng thời gian trong ngày.
Bảng 2: Bảng hiển thị tần suất xem tin theo từng khoảng thời gian trong ngày
Time
0-2 2-4 4-6 6-8 8-12 12-14 1416182016
18
20
22
Category

2224

Category1
Category2
Category3
Category4
Category5
- Form hiển thị tần suất truy cập của mỗi người dùng.

Bảng 3: Bảng hiện thị tần suất xem tin của mỗi người dùng đối với các category.
Category
Category1
Category2
Category3
Category4
Category5
User
User1
User2
User3
User4

2.4.

Phân tích dữ liệu

2.4.1. Nhóm chủ đề (category) theo thời gian
Ta chia một ngày ra làm 12 khoảng ứng với 24 tiếng. Từ dữ liệu request của người
dùng, ta biết được tin tức request và thời gian request. Từ dữ liệu tin tức, ta biết được
category của bài đó. Tổng hợp lại ta có thể đưa ra số lần truy cập vào từng category
trong từng khoảng thời gian và lưu vào cơ sở dữ liệu như hình 4. Với dữ liệu phân tích
được, ta có thể xác định được khoảng thời gian nào, người dùng thích truy cập những
loại tin nào để đưa ra dự đoán hợp lý. Ta có sơ đồ luồng hoạt động như sau.

6


Hình 3: Luồng hoạt động của Nhóm chủ đề theo thời gian
Trong đó:

- Bước 1: Lấy thông tin request của người dùng từ cơ sở dữ liệu, bao gồm: định
danh người dùng, định danh tin tức và thời gian truy cập.
- Bước 2: Xác định khoảng thời gian và category của request.
- Bước 3: Kiểm tra xem hang có cặp thời gian và category đó đã tồn tại trong bảng
CSDL hay chưa. Nếu đã tồn tại thì tang số lần truy cập của hang đó lên 1. Ngược
lại thì tạo một hang mới với thời gian và category đã lấy được cùng số lần truy
cập gán là 1.

Hình 4: Cấu trúc bảng dữ liệu lưu trữ tần suất truy cập từng category theo thời gian.
Hình 4 biểu diễn cấu trúc bảng cơ sở dữ liệu dùng để lưu trữ số lần truy cập theo thời
gian của từng category. Trong đó:
- cbt_id: lưu trữ id của cặp duration – category.
- cbt_category: lưu trữ tên category của tin được request.
- cbt_duration: lưu trữ khoảng thời gian trong ngày.
- cbt_numberaccess: lưu trữ số lần của truy cập của category trong khoảng thời
gian ứng với 2 trường cbt_category và cbt_duration.

2.4.2. Nhóm dữ liệu theo người dùng
Từ dữ liệu request của người dùng, ta có thể biết được người dùng nào request tin tức
nào rồi từ đó đưa ra được loại tin nào được người dùng thường xuyên truy cập nhất.
Tương tự với nhóm chủ theo thời gian ta có sơ đồ luồng hoạt động như sau:

7


Hình 5: Luồng hoạt động của Nhóm dữ liệu theo người dùng
Trong đó:
- Bước 1: Lấy thông tin request của người dùng từ cơ sở dữ liệu, bao gồm: định
danh người dùng và định danh tin tức.
- Bước 2: Xác định user và category của request.

- Bước 3: Kiểm tra xem hàng có cặp user và category đó đã tồn tại trong bảng
CSDL hay chưa. Nếu đã tồn tại thì tăng số lần truy cập của hàng đó lên 1. Ngược
lại thì tạo một hang mới với user và category đã lấy được cùng số lần truy cập
gán là 1.

Hình 6: Cấu trúc bảng dữ liệu tần suất truy cập từng category của mỗi người dùng
Hình 6 biểu diễn cấu trúc bảng lưu trữ số lần truy cập của người dùng đối với mỗi
category. Trong đó:
- cbu_id: lưu trữ id của đối tượng.
- cbu_user: lưu trữ user id của người dùng gửi request.
- cbu_category: lưu trữ category được request.
- cbu_numberaccess: lưu trữ số lần truy cập vào category của user ứng với 2
trường cbu_user và cbu_category.

2.4.3. Xác định các tin nổi bật (được truy cập nhiều)
Đối với mỗi category, lại tìm ra những tin tức nổi bật trong ngày tương ứng với
những tin có số lượng truy cập nhiều hơn các tin khác. Tìm ra những tin nổi bật đồng
nghĩa với những tin đó đang nóng và nó thu hút sự chú ý của mọi người. Trường
article_numberaccess được thêm vào bảng Articles để lưu trữ số lần truy cập của thông
tin đó.

8


Hình 7: Bảng lưu trữ dữ liệu về các tin tức.

2.5.

Làm mịn


2.5.1. Trích xuất từ khóa
Đầu vào: tập dữ liệu Dtrain gồm các tin tức dạng văn bảng đã được phân chia category
sẵn.
Đầu ra: danh sách các từ khóa cùng số lần xuất hiện trong mỗi category.
Từ nội dung của mỗi trang tin tức, ta tiến hành trích ra các từ khóa và đếm số lần
xuất hiện của từ khóa đó. Mô hình luồng hoạt động được thể hiện như hình 6.

Hình 8: Mô hình luồng hoạt động trích xuất từ khóa
Trong đó vai trò của các module là:
- Tách từ khóa: tự nội dung tin tức, tách ra các từ với độ dài khác nhau trong bài.
- Chuẩn hóa từ: chuẩn hóa từ, loại bỏ các dấu câu còn xót từ quá trình tách từ
khóa.
- Đếm số lần xuất hiện: đếm số lần xuất hiện của từ khóa đó trong mỗi category.
- Lọc từ khóa: bỏ đi các từ khóa ít xuất hiện hoặc không quan trọng.

2.5.2. Đánh trọng số
Từ số lần xuất hiện của các từ khóa trong mỗi category, ta tinh tỉ lệ và đưa ra trọng
số của từng từ khóa trong mỗi category tương ứng. Sau đó lưu vào cơ sở dữ liệu như
hình 7.
9


Hình 9: Bảng cơ sở dữ liệu keyword
Trong đó:
- keyword_id: lưu trữ id của keyword.
- keyword_name: nội dung từ khóa.
- keyword_category: category có xuất hiện từ khóa.
- keyword_weight: trọng số của từ khóa đối với category được lưu trữ trong
trường keyword_category.


2.6.

Kết quả, ý nghĩa

Kết quả công trình đạt được đó là nền tảng cơ bản để có thể xác định sở thích truy
cập tin tức của người dung, kết hợp với việc đặt ra các luật để từ đó xây dựng hệ thống
dự đoán, gợi ý các tin tức mà người dùng có thể quan tâm.
Một số kết quả đã phân tích được trong thực nghiệm:

Hình 10: Form biểu diễn số lần truy cập category theo thời gian

10


Hình 11: Form biểu diễn số lần truy cập từng category theo từng ngày

3. Kết luận
3.1.

Hạn chế còn tồn tại

Bên cạnh các kết quả đạt được vẫn còn nhiều hạn chế còn tồn tại:
- Việc phân tích chưa xét đến liên kết giữa các tin tức để có thể đưa ra các tin liên
quan.
- Keyword chưa được lọc tối ưu, vẫn còn tồn tại các từ không hợp lệ, không có
nghĩa.
- Keyword chưa phân biệt được danh từ chung và danh từ riêng.

3.2.


Hướng phát triển

Dựa vào các kết quả đạt được, hướng phát triển sắp tới của công trình sẽ tập trung vào:
- Xác định liên kết (dấu trang) của tin tức.
- Hoàn thiện việc trích xuất keyword.
- Ghép bộ trích xuất keyword và bộ tiền xử lý để có thể đưa ra các keyword theo
sở thích người dùng.
- Xây dựng hệ thống dự đoán sở thích người dùng.

11


Tài liệu tham khảo
[1] Gerald Stermsek, Mark Strembeck, Gustaf Neumann. A User Profile Derivation
Approach based on Log-File Analysis.
[2] Jin Young Kim , Kevyn Collins-Thompson, Paul N. Bennett, Susan T. Dumais.
Characterizing Web Content, User Interests, and Search Behavior by Reading Level and
Topic.

12



×