Phương pháp tư vấn cộng tác dựa vào hành vi Combinated-Comment-
Friend-Like đề xuất được mô tả chi tiết trong Hình 2.8. Tại bước 1, thuật toán thực
hiện tính toán tìm K1 người dùng láng giềng của người dùng hiện thời iU dựa vào
ma trận đánh giá. Tại bước 2, thuật toán thực hiện tính toán tìm K2 người dùng láng
giềng của người dùng hiện thời iU dựa vào ma trận Friend. Tại bước 3, thuật toán
thực hiện tính toán tìm K3 người dùng láng giềng của người dùng hiện thời iU dựa
vào ma trận Like. Tại bước 4, thuật toán thực hiện tính toán tìm K4 người dùng láng
giềng của người dùng hiện thời iU dựa vào ma trận Comment. Tại bước 5, thuật
toán thực hiện tính toán tìm Ki người dùng láng giềng của người dùng hiện thời iU
dựa vào ma trận đánh giá và ma trận Comment, ma trận Like, ma trận Friend. Tại
bước 6, thuật toán dự đoán quan điểm của người dùng i đối với các sản phẩm mới
xP\Pi bằng cách lấy giá trị trung bình các đánh giá của những người dùng j trong
tập láng giềng Ki. Bước 7 chọn K sản phẩm có mức độ tương tự cao nhất tư vấn cho
người dùng i.
Thuật toán Combinated-Comment-Friend-Like Input:
- Ma trận quan hệ bạn bè F = (fij:i=1, 2,..,n; j=1, 2,..,n). - Ma trận Like Li = (liij:i=1, 2,..,n; j=1, 2,..,m).
- Ma trận Comment C = (cij:i=1, 2,..,n; j=1, 2,..,m).
- iU là người dùng cần tư vấn.
Output:
- Top K sản phẩm phù hợp nhất đối với người dùng i.
Các bước tiến hành: Begin:
Bước 1. Xác định K1 là tập láng giềng của người dùng iU dựa vào ma trận đánh giá
1.1. Tính tooán mức độ tương tự giữa các cặp người dùng dựa vào ma trận đánh giá.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
1.2. Sắp xếp theo thứ tự giảm dần của 1.3.
Bước 2. Xác định K2 là tập láng giềng của người dùng iU dựa vào ma trận Friend
2.1. Tính toán mức độ tương tự giữa các cặp người dùng dựa vào ma trận Friend.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
2.2. Sắp xếp theo thứ tự giảm dần của fijL
2.3. K2 = >;
Bước 3. Xác định K3 là tập láng giềng của người dùng iU dựa vào ma trận Like.
3.1. Tính toán mức độ tương tự giữa các cặp người dùng dựa vào ma trận Like.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
3.2. Sắp xếp theo thứ tự giảm dần của
3.3. ;
Bước 4. Xác định K4 là tập láng giềng của người dùng iU dựa vào ma trận Comment.
4.1. Xác định mức độ tương tự giữa các cặp người dùng dựa vào ma trận Comment.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
4.3. ;
Bước 5. Xác định Ki là tập láng giềng của người dùng iU dựa vào ma trận đánh giá và ma trận friend, ma trận post, ma trận like, ma trận comment.
Bước 6. Dự đoán các sản phẩm phù hợp nhất đối với người dùng i.
Bước 7. Chọn K sản phẩm có mức độ tương tự cao nhất tư vấn cho người dùng i.
End.
Hình 2.8. Thuật toán Combinated-Comment-Friend-Like 2.4.2 Phương pháp tư vấn kết hợp ba hành vi Comment, Like, Post
Phương pháp tư vấn cộng tác dựa vào hành vi Combinated-Like-Post-
Comment đề xuất được mô tả chi tiết trong Hình 2.9. Tại bước 1, thuật toán thực
hiện tính toán tìm K1 người dùng láng giềng của người dùng hiện thời iU dựa vào
ma trận đánh giá. Tại bước 2, thuật toán thực hiện tính toán tìm K2 người dùng láng
giềng của người dùng hiện thời iU dựa vào ma trận Post. Tại bước 3, thuật toán
thực hiện tính toán tìm K3 người dùng láng giềng của người dùng hiện thời iU dựa
vào ma trận Like. Tại bước 4, thuật toán thực hiện tính toán tìm K4 người dùng láng
giềng của người dùng hiện thời iU dựa vào ma trận Comment. Tại bước 5, thuật
toán thực hiện tính toán tìm Ki người dùng láng giềng của người dùng hiện thời iU
dựa vào ma trận đánh giá và ma trận Comment, ma trận Like, ma trận Post. Tại
bước 6, thuật toán dự đoán quan điểm của người dùng i đối với các sản phẩm mới
xP\Pi bằng cách lấy giá trị trung bình các đánh giá của những người dùng j trong
tập láng giềng Ki. Bước 7 chọn K sản phẩm có mức độ tương tự cao nhất tư vấn cho
- Ma trận đánh giá R = (rix:i=1, 2,..,n; j=1, 2,..,m). - Ma trận Post Po= (poij:i=1, 2,..,n; j=1, 2,..,m). - Ma trận Like Li = (liij:i=1, 2,..,n; j=1, 2,..,m). - Ma trận Comment C = (cij:i=1, 2,..,n; j=1, 2,..,m).
- iU là người dùng cần tư vấn.
Output:
- Top K sản phẩm phù hợp nhất đối với người dùng i.
Các bước tiến hành: Begin:
Bước 1. Xác định K1 là tập láng giềng của người dùng iU dựa vào ma trận đánh giá.
1.2. Tính toán mức độ tương tự giữa các cặp người dùng dựa vào ma trận
đánh giá.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
1.2. Sắp xếp theo thứ tự giảm dần của 1.3.
Bước 2. Xác định K2 là tập láng giềng của người dùng iU dựa vào ma trận Post.
2.1. Tính tooán mức độ tương tự giữa các cặp người dùng dựa vào ma trận Post.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
2.2. Sắp xếp theo thứ tự giảm dần của
2.3.
Bước 3. Xác định K3 là tập láng giềng của người dùng iU dựa vào ma trận Like.
3.1. Tính toán mức độ tương tự giữa các cặp người dùng dựa vào ma trận Like.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
3.2. Sắp xếp theo thứ tự giảm dần của
3.3. ;
Bước 4. Xác định K4 là tập láng giềng của người dùng iU dựa vào ma trận Comment.
4.1. Xác định mức độ tương tự giữa các cặp người dùng dựa vào ma trận Comment.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
Until ( với mọi j(U \ i)); 4.2. Sắp xếp theo thứ tự giảm dần của
4.3. ;
Bước 5. Xác định Ki là tập láng giềng của người dùng iU dựa vào ma trận đánh giá và ma trận friend, ma trận post, ma trận like, ma trận comment.
Bước 6. Dự đoán các sản phẩm phù hợp nhất đới với người dùng i.
Bước 7. Chọn K sản phẩm có mức độ tương tự cao nhất tư vấn cho người dùng i.
End.
Hình 2.9. Thuật toán Combinated-Like-Post-Comment
2.5 Phương pháp tư vấn kết hợp bốn hành vi Comment, Like, Friend, Post Post
2.5.1 Thuật toán
Phương pháp tư vấn cộng tác dựa vào hành vi Combinated- Comment-
Friend- Like-Post đề xuất được mô tả chi tiết trong Hình 2.10. Tại bước 1, thuật toán thực hiện tính toán tìm K1 người dùng láng giềng của người dùng hiện thời iU dựa vào ma trận đánh giá. Tại bước 2, thuật toán thực hiện tính toán tìm K2
người dùng láng giềng của người dùng hiện thời iU dựa vào ma trận Friend. Tại
bước 3, thuật toán thực hiện tính toán tìm K3 người dùng láng giềng của người dùng
hiện thời iU dựa vào ma trận Post. Tại bước 4, thuật toán thực hiện tính toán tìm
K4 người dùng láng giềng của người dùng hiện thời iU dựa vào ma trận Like.
Bước 5, thuật toán thực hiện tính toán tìm K5 người dùng láng giềng của người dùng
hiện thời iU dựa vào ma trận Comment. Tại bước 6, thuật toán thực hiện tính toán
giá và ma trận Friend, ma trận Like, ma trận Post, ma trận Comment. Tại bước 7, thuật toán dự đoán quan điểm của người dùng i đối với các sản phẩm mới xP\Pi
bằng cách lấy giá trị trung bình các đánh giá của những người dùng j trong tập láng
giềng Ki. Bước 8 chọn K sản phẩm có mức độ tương tự cao nhất tư vấn cho người
dùng i.
Thuật toán Combinated- Comment-Friend- Like-Post Input:
- Ma trận đánh giá R = (rix:i=1, 2,..,n; j=1, 2,..,m). - Ma trận quan hệ bạn bè F = (fij:i=1, 2,..,n; j=1, 2,..,n). - Ma trận Post Po= (poij:i=1, 2,..,n; j=1, 2,..,m).
- Ma trận Like Li = (liij:i=1, 2,..,n; j=1, 2,..,m). - Ma trận Comment C = (cij:i=1, 2,..,n; j=1, 2,..,m).
- iU là người dùng cần tư vấn.
Output:
- Top K sản phẩm phù hợp nhất đối với người dùng i.
Các bước tiến hành: Begin:
Bước 1. Xác định K1 là tập láng giềng của người dùng iU dựa vào ma trận đánh giá
1.1. Tính tooán mức độ tương tự giữa các cặp người dùng dựa vào ma trận đánh giá.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
1.3.
Bước 2. Xác định K2 là tập láng giềng của người dùng iU dựa vào ma trận Friend
2.1. Tính toán mức độ tương tự giữa các cặp người dùng dựa vào ma trận Friend.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
2.2. Sắp xếp theo thứ tự giảm dần của fijL
2.3. K2 = >;
Bước 3. Xác định K3 là tập láng giềng của người dùng iU dựa vào ma trận Post.
3.1. Tính tooán mức độ tương tự giữa các cặp người dùng dựa vào ma trận Post.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
3.2. Sắp xếp theo thứ tự giảm dần của
3.3.
Bước 4. Xác định K4 là tập láng giềng của người dùng iU dựa vào ma trận Like.
4.1. Tính toán mức độ tương tự giữa các cặp người dùng dựa vào ma trận Like.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
4.2. Sắp xếp theo thứ tự giảm dần của
4.3. ;
Bước 5. Xác định K5 là tập láng giềng của người dùng iU dựa vào ma trận Comment.
5.1. Xác định mức độ tương tự giữa các cặp người dùng dựa vào ma trận Comment.
L 2;//Thiết lập độ dài đường đi ban đầu L=2
Repeat
LL + 2; //Tăng độ dài đường đi.
Until ( với mọi j(U \ i));
5.2. Sắp xếp theo thứ tự giảm dần của
5.3. ;
Bước 6. Xác định Ki là tập láng giềng của người dùng iU dựa vào ma trận đánh giá và ma trận friend, ma trận post, ma trận like, ma trận comment.
Bước 8. Chọn K sản phẩm có mức độ tương tự cao nhất tư vấn cho người dùng i.
End.
Hình 2.10. Thuật toán Combinated- Comment-Friend- Like-Post 2.5.2 Ví dụ minh họa
Giả sử ta thu thập được các đánh giá, hành vi like, hành vi post, hành vi comment và hành vi add friend của một số người dùng với một số khách sạn. Giá trị đánh giá nằm trong khoảng từ 1 đến 5 được thể hiện trong ví dụ 2.1, 1.1, 1.2, 1.3, và 1.4.
Đầu vào:
- Ma trận đánh giá người dùng-sản phẩm
- Ma trận Friend người dùng-người dùng
- Ma trận Post người dùng-sản phẩm
- Ma trận Comment người dùng-sản phẩm
là người dùng cần được tư vấn
K = 3 là số lượng người dùng của tập láng giềng Thuật toán được tiến hành qua 8 bước như sau:
Bước 1: Xác định K1 là tập láng giềng của người dùng iU dựa vào ma trận đánh giá.
Sử dụng kết quả trong bước 1 của mục 2.2.1.2 ta được kết quả: Chọn 3 người dùng đầu tiên làm tập láng giềng của người dùng 5:
Bước 2: Xác định K2 là tập láng giềng của người dùng iU dựa vào ma trận Friend. Sử dụng kết quả trong bước 2 của mục 2.2.4.2 ta được kết quả:
Chọn 3 người dùng đầu tiên làm tập láng giềng của người dùng 5: K25={2,3,4}
Bước 3: Xác định K3 là tập láng giềng của người dùng iU dựa vào ma trận Post. Sử dụng kết quả trong bước 2 của mục 2.2.2.2 ta được kết quả:
Chọn 3 người dùng đầu tiên làm tập láng giềng của người dùng 5:
Bước 4: Xác định K4 là tập láng giềng của người dùng iU dựa vào ma trận Like. Sử dụng kết quả trong bước 2 của mục 2.2.1.2 ta được kết quả:
4.3. Chọn 3 người dùng đầu tiên làm tập láng giềng của người dùng 5:
Bước 5: Xác định K5 là tập láng giềng của người dùng iU dựa vào ma trận Comment.
Sử dụng kết quả trong bước 2 của mục 2.2.3.2 ta được kết quả: Chọn 3 người dùng đầu tiên làm tập láng giềng của người dùng 5:
Bước 6: Lấy tập láng giềng K cho người dùng
Bước 7: Dự đoán quan điểm người dùng đối với các sản phẩm .
Bước 8: Chọn 3 sản phẩm có mức độ tương tự cao nhất tư vấn cho người dùng thứ 5 (trừ 2 sản phẩm đã có là khách sạn “Grand Sunrise” và “Hagl Plaza”) là khách sạn
“ ” có , khách sạn “Hanoi Zesty Hotel” có
, khách sạn “ ” có
2.6 Kết luận chương 2
Trong chương 2, luận văn đã trình bày các thuật toán kết hợp hành vi người dùng trong mạng xã hội vào hệ tư vấn, trong đó lấy hành vi đánh giá lần lượt kết hợp với các hành vi còn lại như like, friend, post, comment. Sau đó, lấy hành vi đánh giá lần lượt kết hợp với hai hành vi, ba hành vi và cả bốn hành vi. Quá trình tư vấn được xem xét thêm với các hành vi người dùng khi sử dụng mạng xã hội. Bằng cách này ta có thể thu hẹp lại số lượng người dùng trong tập láng giềng có cùng mức độ tương tự.
CHƯƠNG 3. THỬ NGHIỆM VÀ ĐÁNH GIÁ
Dưới đây là các vấn đề chương 3 sẽ trình bày: - Dữ liệu thử nghiệm
- Phương pháp thử nghiệm - Kết quả thử nghiệm - Kết luận
3.1 Dữ liệu thử nghiệm
Luận văn thu thập dữ liệu thực tế từ người dùng và các trang về khách sạn trên trang mạng xã hội FaceBook. Dữ liệu người dùng bao gồm:
- 5090 người dùng - 753 khách sạn - 2702 hành vi Rate - 2585 hành vi Add Friend - 961 hành vi Post - 4629 hành vi Like - 1995 hành vi comment
Các hành vi lấy được từ mạng xã hội FaceBook là: Friend, Post, Like, Comment, Rate.
Bộ dữ liệu được lấy trong vòng 8 tháng: 3/2016 - 11/2016 vàvới các bộ dữ liệu đã được xử lý để đạt được mức quy định sau:
- Loại bỏ khách sạn không có các hành vi tương tác nào của người dùng.
- Loại bỏ các người dùng không tương tác với bất kỳ một khách sạn nào.
- Phân loại, gán nhãn cho các bài post và comment, giữ lại các bài có nội dung
tích cực.
Hành vi Post, Comment có chứa các câu quan điểm có thể bằng tiếng
Việt hoặc tiếng Anh.
Các hành vi bằng tiếng Việt sẽ được gán nhãn bằng tay.
nhãn là tích cực trong trường hợp điểm số trả về: score ≥ 0.7 (0 ≤ score ≤ 1)
Mô hình dữ liệu hệ thống tư vấn khách sạn dựa trên hành vi người dùng trong mạng xã hội:
Hình 3.1. Mô hình dữ liệu hệ thống HotelRecomendSystem
Bảng tbluser
Đây là bảng lưu trữ thông tin của người dùng. Bảng bao gồm 3 trường:
STT Tên trường Kiểu dữ liệu
và độ dài Nullable Unique
P/F Key
Mặc
định Mô tả
1 user_id varchar(25) X P Khóa chính
của bảng tbluser, là một chuỗi lưu thông tin theo id của
2 name varchar(100) Tên người dùng
3 link varchar(100) Địa chỉ truy
cập của người dùng
Bảng tblhotel
Đây là bảng lưu trữ thông tin của khách sạn. Bảng bao gồm 4 trường: