Phân tích sở thích người dùng cho dữ liệu tin tức

12 293 0
Phân tích sở thích người dùng cho dữ liệu  tin tức

Đ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

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

Ngày đăng: 08/10/2015, 13:42

Tài liệu cùng người dùng

Tài liệu liên quan