Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
651,38 KB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
KHOA CÔNG NGHỆ THÔNG TIN
----------------------------------------
Niên luận
ĐỀ TÀI: Phân tích sở thích người dùng cho dữ liệu
tin tức
Giảng viên hướng dẫn: PGS.TS. Nguyễn Việt Hà
Giảng viên đồng hướng dẫn: ThS. Vũ Quang Dũng
Sinh viên: Đỗ Thành Trung
Mã SV: 10020382
Lớp: K55CLC
Hà Nội, tháng 12 năm 2013
1
Mục lục
1. Đặt vấn đề ..................................................................................................................... 3
2. Bài toán đặt ra............................................................................................................... 3
a.
Phân tích dữ liệu người dùng................................................................................. 3
b.
Dự đoán sở thích người dùng ................................................................................ 3
3. Cơ sở lý thuyết và công nghệ ....................................................................................... 3
a.
MySQL .................................................................................................................. 3
b.
Java và JDBC......................................................................................................... 4
c.
Highcharts .............................................................................................................. 4
4. Giải quyết bài toán ....................................................................................................... 4
a.
Phân tích dữ liệu người dùng................................................................................. 5
b.
Dự đoán sở thích người dùng ................................................................................ 8
5. Kết quả đã đạt được ...................................................................................................... 8
a.
Xử lý dữ liệu .......................................................................................................... 8
b.
Phân tích tỉ lệ truy cập theo category .................................................................... 9
c.
Xây dựng trang giao diện thể hiện dữ liệu thông qua biểu đồ .............................. 9
6. Hướng phát triển......................................................................................................... 10
a.
Xử lý dữ liệu ........................................................................................................ 10
b.
Trang hiển thị dữ liệu dưới dạng biểu đồ ............................................................ 10
c.
Dự đoán sở thích người dùng .............................................................................. 10
Tài liệu tham khảo ............................................................................................................. 11
2
1. Đặt vấn đề
Hiện nay, với việc internet phát triển kèm theo đó là báo điện tử dần thay thế cho báo
giấy truyền thống, các dịch vụ được đưa ra hướng tới sự thuận tiện nhất cho người dùng.
Việc tin tức quá nhiều cả về lĩnh vực lẫn số lượng làm nhiễu việc đọc những tin tức mà
người dùng quan tâm. Để tránh việc này, việc phân tích sở thích của người dùng là thiết yếu,
đưa ra các gợi ý theo những lĩnh vực mà người dùng ưa thích hay những nội dung đang
được mọi người quan tâm.
2. Bài toán đặt ra
Bài toán đặt ra gồm 2 nhiệm vụ chính: phân tích dữ liệu người dùng và từ đó đưa ra dự
đoán các bài báo người dùng muốn xem.
a. Phân tích dữ liệu người dùng
Dữ liệu người dùng được lấy dưới dạng các log file ghi lại thời gian và bài báo mà
người dùng yêu cầu. Yêu cầu đặt ra là ta phải phân tích được dữ liệu đó để đưa ra:
-
-
Đối với người dùng chung:
Tỉ lệ truy cập đối với từng category tại từng khoảng thời gian trong ngày.
Tỉ lệ truy cập của từng bài tại từng category.
Mối liên kết giữa các bài báo, cụ thể là tỉ lệ truy cập bài báo B sau khi người
dùng xem bài báo A.
Đối với từng người dùng:
Tỉ lệ truy cập đối với từng category của người dùng đó để xác định loại tin tức
người dùng thích đọc nhất.
Tỉ lệ truy cập đối với từng category tại từng khoảng thời gian trong ngày để xác
định loại tin người dùng thích đọc tại mỗi thời điểm.
b. Dự đoán sở thích người dùng
Từ kết quả đã phân tích có thể đưa ra:
-
Các bài báo được đọc nhiều theo xu hướng chung tại thời điểm đó.
Các bài báo nổi bật theo sở thích người dùng.
Các bài báo liên quan tới bài báo người dùng đang đọc.
3. Cơ sở lý thuyết và công nghệ
a. MySQL
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở có tính ổn định, dễ sử dụng
và hoạt động được trên nhiều hệ điều hành. Dữ liệu trong MySQL được lưu trong
bảng với mỗi cột là một trường và các dòng là các bản ghi.
3
b. Java và JDBC
Java là ngôn ngữ lập trình hướng đối tượng. Java có cú pháp hướng đối tượng đơn
giản, dễ sửa lỗi và có khả năng chạy với hiệu suất cao.
JDBC là một API chứa tập hợp các lớp, các giao diện Java và các thông báo lỗi
ngoại lệ cho phép kết nối, truy xuất tới cơ sở dữ liệu và cung cấp kết quả lại cho
chương trình.
c. Highcharts
Highcharts là thư viện biểu đồ được viết trên HTML5/JavaScript, một giải pháp
cho việc vẽ biểu đồ trên web để đưa ra cái nhìn tổng quan và dễ dàng cho người sử
dụng. Highcharts hỗ trợ một lượng lớn các loại biểu đồ: line, spline, area, areaspline,
column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange,
bubble, box plot, error bars, funnel, waterfall and polar chart.
4. Giải quyết bài toán
Hình 1: Luồng xử lý chung
Mô tả:
-
Log file: chứa các thông tin về request của người dùng, có thể bao gồm: định danh người
dùng, địa chỉ ip, thời gian request, url request…
MySQL: cơ sở dữ liệu lưu trữ thông tin dùng để phân tích và thông tin đã phân tích.
4
-
Xử lý log file: đọc các log file và thực hiện việc phân tách các trường và ghi vào cơ sở dữ
liệu.
Phân tích dữ liệu: từ dữ liệu đã đưa vào các bảng trong cơ sở dữ liệu, tiến hành phân
tích để lấy các thông tin cần thiết và ghi vào bảng kết quả.
Dự đoán dữ liệu: đầu vào là định danh người dùng hoặc bài báo, kết hợp với kết quả đã
phân tích để đưa ra các bài báo mà người dùng có thể quan tâm.
a. Phân tích dữ liệu người dùng
Đầu vào: các log file bao gồm các bản ghi theo dõi request từ người dùng.
Sử dụng java để đọc và tách các trường trong log file và ghi vào cơ sở dữ liệu để từ đó
phân tích.
Hình 2: Cấu trúc cơ sở dữ liệu dùng cho phân tích
Cấu trúc cơ sở dữ liệu dùng để phân tích được thể hiện như hình 1, trong đó:
-
Bảng Users: lưu trữ thông tin của người dùng.
Bảng Articles: lưu trữ thông tin của các bài báo.
Bảng Requests: lưu trữ thông tin về các request của người dùng.
Dựa vào cơ sở dữ liệu đã có, tập trung phân tích để đưa ra:
-
Tỉ lệ truy cập của mỗi loại dữ liệu tại mỗi khoảng thời gian trong ngày:
Dựa vào dữ liệu mẫu đã phân tích được, ta chia một ngày thành 9 khoảng thời gian
chính như bảng 1 là những khoảng thời gian người dùng thường thay đổi thói quen
đọc dữ liệu. Ví dụ khoảng thời gian 6h-8h là thời gian mọi người mới dậy và đọc tin
tức thời sự, 12h-14h là thời gian nghỉ trưa và thường đọc tin tức văn hóa, … Thực
hiện đếm số lần truy cập vào từng category theo các khoảng thời gian đó và lưu vào
bảng CSDL (Hình 3).
5
Bảng 1: Tỉ lệ truy cập theo thời gian của từng category
Time
0-2 2-6 6-8 8-12 12-14 14-18 18-20
20-22
22-24
Thời sự
Văn hóa
Giáo dục
Thể thao
Kinh tế
Hình 3: 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.
Category By Time
350
300
250
200
150
100
50
0
0h - 2h
2h - 6h
6h - 8h
8h - 12h
12h - 14h
14h - 18h
Thời sự
Giáo dục
Thể thao
Kinh tế
18h - 20h
20h - 22h
22h - 24h
Văn hóa
Hình 4: Biểu đồ tần suất truy cập mỗi category theo thời gian
Tỉ lệ truy cập của mỗi loại dữ liệu đối với từng người dùng:
Đối với mỗi người dùng, đưa ra số lần truy cập đối với từng category, từ đó có thể
thấy loại dữ liệu ưa thích của người dùng đó.
-
6
CATEGORY ANALYSIS
Văn hóa
26%
Thời sự
9%
Giáo dục
22%
Kinh tế
9%
Thể thao
34%
Hình 5: Biểu đồ tần suất truy cập mỗi category của người dùng
-
Tỉ lệ truy cập của các bài báo trong mỗi loại dữ liệu:
Đối với mối category, lại tìm ra những bài báo nổi bật trong ngày tương ứng với
những bài báo có số lượng truy cập nhiều hơn các bài khác.
-
Ma trận thể hiện sự liên quan giữa các tờ báo:
Dựa vào thứ tự truy cập các bài báo trong một khoảng thời gian nhất định tại một
category, ta có thể đưa ra tỉ lệ phụ thuộc giữa các bài báo như bảng 2.
Bảng 2: Ma trận quan hệ giữa các bài báo
News1
News2
News3
News1
News2
News3
News4
News5
News6
News7
News4
News5
News6
News7
Từ đó có thể đưa ra đồ thị quan hệ giữa những bài báo có liên quan đến nhau với trọng số
cho mỗi cạnh là mức độ liên quan giữa 2 bài báo (Hình 6).
7
3
5
6
7
1
2
4
Hình 6: Đồ thị quan hệ giữa các bài báo
b. Dự đoán sở thích người dùng
Từ những kết quả đã phân tích, ta có thể đưa ra các gợi ý mà người dùng có thể sẽ
quan tâm.
-
-
Khi vào trang chủ:
Đưa ra các bài nổi bật thuộc category mà người dùng đó thường truy cập dựa
vào tỉ lệ truy cập từng category phân tích được.
Đưa ra các bài báo phổ biến, được đọc nhiều trong khoảng thời gian đó dựa
vào tỉ lệ truy cập category và tỉ lệ truy cập các bài báo thuộc category đó.
Khi đọc một bài báo cụ thể:
Đưa ra các bài báo liên quan dựa vào đồ thị đã phân tích. Rút gọn và lấy ra
những bài nổi bật phụ thuộc theo mức độ liên quan của bài báo đó.
Đưa ra các bài báo nổi bật thuộc category ưa thích của người dùng và các bài
báo phổ biến như ở trang chủ.
5. Kết quả đã đạt được
a. Xử lý dữ liệu
Tách các trường từ log file và đưa vào các bảng phù hợp trong cơ sở dữ liệu.
Hình 7: Bảng cơ sở dữ liệu lưu trữ thông tin bài báo
8
Hình 8: Bảng cơ sở dữ liệu lưu trữ thông tin request từ người dùng
b. Phân tích tỉ lệ truy cập theo category
Dựa vào 2 bảng cơ sở dữ liệu đã lấy được, tiến hành phân tích và đưa ra số lần truy
cập các category theo các khoảng thời gian, sau đó lưu vào cơ sở dữ liệu.
Hình 9: Bảng cơ sở dữ liệu lưu trữ số lần truy cập category theo thời gian
c. Xây dựng trang giao diện thể hiện dữ liệu thông qua biểu đồ
Xây dựng trang web thực hiện việc lấy dữ liệu đã phân tích trong cơ sở dữ liệu và
sử dụng Highcharts để hiển thị dưới dạng biểu đồ. Hiện tại trang demo mới chỉ hiển
thị một biểu đồ từ dữ liệu tỉ lệ category theo thời gian đã phân tích.
Link demo: http://203.113.130.218:50080/UA_demo/
9
Hình 10: Trang hiển thị dữ liệu dưới dạng biểu đồ
6. Hướng phát triển
a. Xử lý dữ liệu
-
Tiếp tục phân tích để đưa ra các kết quả đã xác định ở phần 4a.
Thực hiện việc phân tích đối với dữ liệu theo từng tuần: dữ liệu phân tích trong
thời gian 1 tuần kể từ hiện tại sẽ có giá trị hơn so với dữ liệu phân tích cũ.
b. Trang hiển thị dữ liệu dưới dạng biểu đồ
-
Biểu đồ thay đổi theo sự thay đổi của dữ liệu.
Hiển thị được những thay đổi đối với dữ liệu dưới dạng text.
Hiển thị dữ liệu dưới nhiều dạng biểu đồ khác nhau
Cho phép người dùng quan sát thống kê của các số liệu cũ (ngày trước, tuần trước,
tháng trước, …).
c. Dự đoán sở thích người dùng
-
Đưa ra các bài báo gợi ý theo sở thích người dùng.
Rút gọn đồ thị quan hệ giữa các bài báo để đưa ra những bài thích hợp nhất với
người dùng.
10
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.
11
Ý kiến đánh giá :
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
Điểm số: ……… Điểm chữ: ………..
Xác nhận của Khoa CNTT
Chủ nhiệm Khoa
Hà Nội, ngày tháng năm 2013
Giáo viên đánh giá
12
[...]...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 ... báo người dùng muốn xem a Phân tích liệu người dùng Dữ liệu người dùng lấy dạng log file ghi lại thời gian báo mà người dùng yêu cầu Yêu cầu đặt ta phải phân tích liệu để đưa ra: - - Đối với người. .. liệu để từ phân tích Hình 2: Cấu trúc sở liệu dùng cho phân tích Cấu trúc sở liệu dùng để phân tích thể hình 1, đó: - Bảng Users: lưu trữ thông tin người dùng Bảng Articles: lưu trữ thông tin báo... việc phân tách trường ghi vào sở liệu Phân tích liệu: từ liệu đưa vào bảng sở liệu, tiến hành phân tích để lấy thông tin cần thiết ghi vào bảng kết Dự đoán liệu: đầu vào định danh người dùng