Xây dựng hệ thống quảng cáo dựa trên nơi chốn kết
hợp với đánh giá của người dùng trong mạng xã hội
di động
www.egobile.com
1
Nội dung
Tổng quan đề tài
Tình hình nghiên cứu trong và ngoài nước
Mô hình khuyến nghị EgoRec
Thực nghiệm và đánh giá mô hình EgoRec
Kết luận
Hiện thực ứng dụng – Demo
1
2
3
4
5
6
2
1. Tổng quan đề tài
3
1. Tổng quan đề tài
Quảng cáo xã hội – Động lực chính
4
1. Tổng quan đề tài
+ +
Recommender System
Rating + Context + TagLocation
5
Hành vi đánh giá
(Rating)
Vị trí
(Location)
Ngữ cảnh và hành vi gán nhãn
(Context + Tag)
2. Tình hình nghiên cứu
Đánh giá tương đồng
R
Collaborative Filtering
Kết hợp ngữ cảnh
R + C
Hành vi gán nhãn (tag)
T
6
2. Tình hình nghiên cứu
•
Memory-based: lịch sử đánh giá của người dùng.
•
Model-based: mô hình lại hành vi đánh giá của người dùng.
I
1
I
2
I
3
I
4
U
1
4 5 5
U
2
4 2 1
U
3
3 2 4
U
4
4 4
U
5
2 1 3 5
?
?
?
? ?
7
Đánh giá tương đồng
R
Collaborative Filtering
Francesco Ricci, L. R., Bracha Shapira, Paul B. Kantor. Recommender Systems Handbook, 2010.
2. Tình hình nghiên cứu
Kết hợp ngữ cảnh
R + C
Ví dụ:
•
Người dùng A thích ăn lẩu vào cuối tuần.
•
Người dùng B thích đi mua sắm vào buổi tối.
8
Hynuchul Ahn, K j. K., Ingoo Han, Mobile Advertisement Recommender System using Collaborative Filtering, 2006.
2. Tình hình nghiên cứu
Hành vi gán nhãn (tag)
T
nature, cool…
Nature, photograph,
cool…
Tương đồng
9
Tom Chao Zhou, H. M., Michael R. Lyu, Irwin King. A User Recommendation Framework in Social Tagging Systems, 2010.
2. Tình hình nghiên cứu
EgoRec
R + C + T
+
+
Kết hợp ngữ cảnh
R + C
Hành vi gán nhãn (tag)
T
10
Đánh giá tương đồng
R
Collaborative Filtering
3. Mô hình khuyến nghị EgoRec
Mô hình tổng quan của EgoRec
U x I x T x R x C
U x I x R
U x I x R x C
U x I x T
Memory-based Collaborative Filtering Finding Community Structure Based on Tag
Predict and Result
Extend Context
(VisitingDay – VisitingTime)
11
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
I
1
I
2
I
3
I
4
U
1
4 5 5
U
2
4 2 1
U
3
3 2 4
U
4
3 3
U
5
3 3 3 5
Pearson
12
1
?
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
I
1
I
2
I
3
I
4
U
1
4 5 5
U
2
4 2 1
U
3
3 2 4
U
4
3 3
U
5
3 3 3 5
Pearson
13
?
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
I
1
I
2
I
3
I
4
U
1
4 5 5
U
2
4 2 1
U
3
3 2 4
U
4
3 3
U
5
3 3 3 5
Pearson
14
?
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
Ngữ cảnh
thời gian
Mã (giá trị số) Ý nghĩa
Ngày
(Visiting day)
1
Ngày trong tuần
(thứ 2 đến thứ 6)
2
Ngày cuối tuần
(thứ bảy, chủ nhật)
Giờ
(Visiting time)
1
Buổi sáng
(00h – 11h)
2
Buổi trưa
(11h – 14h)
3
Buổi chiều
(14h – 17h)
4
Buổi tối
(17h – 20h)
5
Khuya
(20h – 24h)
(
15
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
Visiting time
I
1
I
2
I
3
U
1
Buổi tối
(4)
Khuya
(5)
U
2
Buổi tối
(4)
Buổi trưa
(2)
Buổi sáng
(1)
Ví dụ ngữ cảnh “Visiting time”:
16
Trung bình
độ lệch
ngữ cảnh
2
0.625
3
0.75
4
0.875
5
1
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
Bảng ma trận gán nhãn
User Movie Tag
u 1 A
u 1 B
u 2 C
… … …
v 1 E
v 1 F
v 2 C
… … …
Đồ thị gán nhãn cho từng người dùng
•
Đỉnh là các tag.
•
Cạnh là số lần 2 tag cùng xuất hiện trong 1 hành vi.
[Newman] – Tìm kiếm cấu trúc cộng đồng (Finding Structure in Community)
17
Zhou đề xuất
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
Áp dụng: Jensen-Shannon divergence để tính mức độ tương đồng giữa hai phân bố xác suất.
c
1
c
2
c
3
u (a, b, c, d) 0.7 (e, f) 0.2 (g) 0.1
v (a, b, e) 0.75 (d, f) 0.25
c
1
c
2
c
3
u (a, b, c, d) 0.7 (e, f) 0.2 (g) 0.1
v (a, b, e) 0.75 (d, f) 0.25
JSD - Jensen-Shannon divergence
KLD - Kullback-Leibler divergence
18
MM
Zhou
EgoRec
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
c
1
c
2
c
3
u (a, b, c, d) 0.7 (e, f) 0.2 (g) 0.1
v (a, b, e) 0.75 (d, f) 0.25
M
c
1
c
2
c
3
u (a, b, c, d) 0.7 (e, f) 0.2 (g) 0.1
v (a, b, e) 0.75 (d, f) 0.25
M
19
3. Mô hình khuyến nghị EgoRec
Rating Context Tag ResultResultResult
Tính toán độ tương đồng tổng hợp:
Weighted Sum of Others’ Ratings:
Kết quả dự đoán cho người dùng u sản phẩm i.
20
4. Thực nghiệm và đánh giá
Thông tin cơ bản:
-
Cấu hình thực nghiệm:
•
Intel® Core™ i3 CPU M350 @ 2.27GHz 2.27GHz, 2GB RAM.
•
Intel® Core™ 2 Duo CPU E7300 @ 2.66GHz 2.67GHz, 2GB RAM.
•
Intel® Core™ 2 Duo CPU T5850 @ 2.16GHz 2.17GHz, 2GB RAM.
-
Bộ dữ liệu: MovieLen (cung cấp bởi GroupLen) và dữ liệu thu thập.
-
Phương pháp thực nghiệm: tự xây dựng module xử lý và đánh giá bằng PHP trên nền tảng Web.
-
Mô hình thực nghiệm:
21
4. Thực nghiệm và đánh giá
Dữ liệu đầu vào
Tiền xử lý –
Chuẩn hóa dữ liệu
Chia nhóm dữ liệu (Cross
Validation)
EgoRec
MMBCF
RC
Kết quả
10
9
Đánh giá
RT
Mô hình thực nghiệm tổng quan
22
4. Thực nghiệm và đánh giá
Phương pháp đánh giá
23
4. Thực nghiệm và đánh giá
Thông tin bộ dữ liệu MovieLen
24
Số lượng
Tag 9,079
Số Tag được thiết lập (tas)
(Số bộ [user, movie, tag] trong bảng dữ liệu tag)
47,957
Số User_Movie được tag (user_movie)
(Số bộ [user, movie] trong bảng dữ liệu tag)
27,712
Tas / User 22.696
Tas / Movie 8.117
Số lượng
User 2,113
Movie 10,197
Movie Genre 20
Số thể loại trung bình của mỗi
Movie
2.04
Rating 855,598
Rating / User 404.921
Rating / Movie 84.637
4. Thực nghiệm và đánh giá
Kỹ thuật
Giá trị
dự đoán
Tỉ lệ phần trăm sai lệch so với kỹ thuật MMBCF
(R)
MAE
R 0.682119 -
RC 0.683159 0.00152466 0.152%
RT 0.682345 0.00033132 0.033%
RCT 0.683378 0.00184572 0.185%
RMSE
R 0.885479 -
RC 0.886767 0.00145458 0.145%
RT 0.885808 0.00037155 0.037%
RCT 0.887085 0.00181371 0.181%
Bảng so sánh kết quả dự đoán với bộ dữ liệu MovieLen
25