Với sự tăng trưởng vượt bậc của dữ liệu trên internet, việc sử dụng các hệ thống gợi ý để đề xuất thông tin phù hợp với người dùng đã trở thành một phần quan trọng của cuộc sống hàng ngà
TỔNG QUAN VỀ HỆ THỐNG GỢI Ý
Các kỹ thuật chính trong hệ thống gợi ý
2 Chương 2 TRIỂN KHAI VÀ ĐÁNH GIÁ MÔ HÌNH GỢI Ý BẰNG PHƯƠNG PHÁP LAI (HYBRID RECOMMENDER SYSTEMS)
2.1 Content KNN và User Based CF
2.2 Content KNN và Item Based CF
2.3 Content KNN và SVD Untuned
2.4 Content KNN và SVD Tuned
2.6 SVD Untuned và SVD Tuned
2.7 User Based CF và SVD Tuned
2.8 Item Based CF và SVD Tuned
2.14 Độ chính xác các mô hình kết hợp (hybrid)
2.15 Đánh giá kết quả thực nghiệm
2.16 So sánh phương pháp Weighted và Switching iv
3 Chương 3 TRIỂN KHAI TÍCH HỢP HỆ THỐNG GỢI Ý VÀO HỆ THỐNG ERP ODOO
3.1 Giới thiệu thương mại điện tử
3.6 Giao diện website dành cho người dùng
3.7 Giao diện website dành cho quản trị hệ thống
3.8 Giao diện dashboard dành cho quản trị hệ thống
N Alharbe, M A Rakrouki, A Aljohani, "A collaborative filtering recommendation algorithm based on embedding representation," Expert Systems with Applications, vol 215, p 119380, April 2023
F.O Isinkaye, Y.O Folajimi, B.A Ojokoh, "Recommendation systems: Principles, methods and evaluation," Egyptian Informatics Journal, vol 16, no 3, pp 261-273, November 2015
L Guo, K Luan, L Sun, Y Luo, X Y Zheng, "Collaborative filtering recommendations based on multi-factor random walks," Engineering Applications of Artificial Intelligence, vol 123, p 106409, August 2023
Z B Ayman, 2022 [Online] Available: https://medium.com/mlearning- ai/recommendation-systems-content-based-filtering-e19e3b0a309e
Dheeraj Bokde, Sheetal Girase, Debajyoti Mukhopadhyay, "Matrix Factorization Model in Collaborative Filtering Algorithms: A Survey,"
Procedia Computer Science, vol 49, pp 136-146, 2015 v
Francesco Ricci, Lior Rokach, Bracha Shapira, Paul B Kantor, Recommender Systems Handbook, New York: Springer Science+Business Media, LLC, 2011
[7] Xiangnan He, Zhankui He, Jingkuan Song, Zhenguang Liu, Yu-Gang Jiang,
Tat-Seng Chua, "Neural Collaborative Filtering," 2017
[8] H Hai, 16 April 2020 [Online] Available: https://viblo.asia/p/tim-hieu- phuong-phap-loc-cong-tac-voi-mang-no-ron-ncf-3P0lPj5Z5ox
S Madhu, 2015 [Online] Available: https://dataaspirant.wordpress.com/2015/01/24/recommendation-engine- part-1/ [Accessed November 2023]
J Chiang, 26 June 2021 [Online] Available: https://medium.com/analytics- vidhya/7-types-of-hybrid-recommendation-system-3e4f78266ad8
N Hug, 2015 [Online] Available: https://surpriselib.com/ [Accessed November 2023]
"Thương mại điện tử," 2024 [Online] Available: https://vi.wikipedia.org/wiki/Th%C6%B0%C6%A1ng_m%E1%BA%A1i_
%C4%91i%E1%BB%87n_t%E1%BB%AD [Accessed 07 July 2024]
[13] "OpenERP," 2024 [Online] Available: https://vi.wikipedia.org/wiki/OpenERP [Accessed 07 July 2024]
[14] "Phần mềm Odoo," 2024 [Online] Available: https://cloudify.vn/phan-mem- odoo/ [Accessed 07 July 2024]
[15] "Pros and Cons of Odoo," 2024 [Online] Available: https://financesonline.com/pros-and-cons-of-odoo/ [Accessed 07 July 2024]
"Khám phá ưu nhược điểm của phần mềm Odoo ERP - Lựa chọn hoàn hảo cho doanh nghiệp," 2024 [Online] Available: https://erp.cloudmedia.vn/en/tin-tuc-1/kham-pha-uu-nhuoc-iem-cua-phan- mem-odoo-erp-lua-chon-hoan-hao-cho-doanh-nghiep-166 [Accessed 07 July 2024]
[17] "All Apps," 2024 [Online] Available: https://www.odoo.com/page/all-apps
[18] "Odoo eCommerce," 2024 [Online] Available: https://www.odoo.com/app/ecommerce [Accessed 07 July 2024]
"Odoo eCommerce," 2024 [Online] Available: https://www.cybrosys.com/odoo/odoo-books/v17-ce/ecommerce/ [Accessed
[20] D Jannach, M Zanker, A Felfernig, G Friedrich, Recommender Systems:
An Introduction, Cambridge University Press, 2010
STT Thời gian Công việc Ghi chú
Tìm hiểu thêm các phương pháp gợi ý kết hợp
Tìm hiểu Odoo, tìm hiểu Postgres SQL, triển khai cài đặt Áp dụng phương pháp lọc dựa trên nội dung (content-based filtering) và cải tiến với TF-IDF
Tìm hiểu Module Ecommerce có sẵn trên odoo, vận dụng Ecommerce triển khai web xem phim
Chọn phương pháp gợi ý kết hợp Switching, tìm hiểu lý thuyết xây dựng demo
Chọn lọc các chức năng của Ecommerce phù hợp với web xem phim Nghiên cứu import data movie vào database
Hoàn thiện phương pháp switching Triển khai train lại các model chuẩn bị tích hợp vào web
Tìm hiểu, tích hợp và hoàn thiện mô hình học máy recommend vào nền tảng Odoo
Tiến hành kiểm thử hệ thống tích hợp
Bổ sung các chương mới vào báo cáo
Phát triển các chức năng bổ sung cho website như trang chủ, trang chi tiết phim, đánh giá phim, các trang quản trị dành cho quản trị viên
Tiến hành kiểm thử các chức năng bổ sung vii
Bổ sung các lý thuyết vào báo cáo
Tìm hiểu tích hợp khả năng train model và tích vào trang quản lý Recommend ML của quản trị viên
Tìm hiểu, triển khai chức năng vẽ biểu đồ, pivot vào module watching và ratings
Bổ sung các lý thuyết vào báo cáo
Tìm hiểu Odoo DashBoard Module có sẵn của odoo, triển khai gọi các biểu đồ có sẵn vào dashboard
Bổ sung các lý thuyết vào báo cáo
Kiểm thử toàn bộ hệ thống
Tiếp tục chỉnh sửa báo cáo
Làm powerpoint cho báo cáo
Hoàn thiện báo cáo khóa luận tốt nghiệp
Chuẩn bị tài liệu và trình bày cho buổi bảo vệ khóa luận
Ngày … tháng … năm 2024 Ý kiến của giáo viên hướng dẫn
Ngô Hoàng Khắc Tường Nguyễn Thị Tường Vi viii
LỜI CẢM ƠN i ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP ii
1 Lý do chọn đề tài 1
3 Cách tiếp cận và phương pháp nghiên cứu 2
4 Phân tích những công trình nghiên cứu có liên quan 2
5 Kết quả dự kiến đạt được 3
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 4
1.3 Các kỹ thuật chính trong hệ thống gợi ý 5
1.3.2.1 Memory Based Collaborative Filtering (Neighbourhood Based) 10
1.3.3.6 Feature Augmentation Recommendation System 23 ix
1.3.3.7 Cascade hybrid recommendation system (CARS) 23
1.3.4.2 Dữ liệu sử dụng đánh giá 25
1.3.4.4 RMSE (Root Mean Square Error) 25
CHƯƠNG 2 TRIỂN KHAI VÀ ĐÁNH GIÁ MÔ HÌNH GỢI Ý BẰNG PHƯƠNG PHÁP LAI (HYBRID RECOMMENDER SYSTEMS) 26
2.1 Content KNN và User Based CF 26
2.2 Content KNN và Item Based CF 27
2.3 Content KNN và SVD Untuned 28
2.4 Content KNN và SVD Tuned 30
2.6 SVD Untuned và SVD Tuned 32
2.7 User Based CF và SVD Tuned 33
2.8 Item Based CF và SVD Tuned 34
2.11.1.4 Surprise (SVD, KNNWithMeans, train_test_split, accuracy) [11] 38
2.11.2 Cấu hình máy thực nghiệm 39
2.12.2 User Based CF và Item Based CF 40
2.12.3 SVD Tuned và SVD Untuned 41
2.13.1 Độ chính xác các mô hình đơn lẻ: 43
2.14 Độ chính xác các mô hình kết hợp (hybrid): 44
2.15 Đánh giá kết quả thực nghiệm 45
2.16 So sánh phương pháp Weighted và Switching 48
CHƯƠNG 3 TRIỂN KHAI TÍCH HỢP HỆ THỐNG GỢI Ý VÀO HỆ THỐNG
3.1 Giới thiệu thương mại điện tử 49
3.2.4 Cấu trúc module của odoo 51
3.2.5 Một số modules của odoo 52
3.4.1 Use case xem, xem gợi ý movie và đánh giá movie 57
3.4.2 Use case quản trị hệ thống 58
3.6 Giao diện website dành cho người dùng 59
3.7 Giao diện website dành cho quản trị hệ thống 62
3.8 Giao diện dashboard dành cho quản trị hệ thống 66
TÀI LIỆU THAM KHẢO 1 xii
Hình 1.1 Sơ đồ biểu diễn các thuật toán chính trong hệ thống gợi ý 6
Hình 1.2 Sơ đồ biểu diễn các thuật toán lọc cộng tác 9
Hình 1.3 Hình mô tả chung về ý tưởng thuật toán User based 10
Hình 1.4 Hình mô tả chung về ý tưởng thuật toán Item based 13
Hình 1.5 Hình mô tả Matrix Factorization 15
Hình 1.6 Mô hình cấu trúc tổng quát của NCF 18
Hình 1.7 Hình mô tả một ví dụ về Hybrid Recommendations sử dụng CF Based
Recommender và Content Based Recommender 20
Hình 1.8 Weighted Hybrid Recommendation System 21
Hình 1.9 Switching Hybrid Recommendation System 22
Hình 1.10 Mixed Hybrid Recommendation System 22
Hình 1.11 Feature Combination Hybrid Recommendation System 23
Hình 1.12 Feature Augmentation Hybrid Recommendation System 23
Hình 1.13 Cascade Hybrid Recommendation System 24
Hình 1.14 Meta-level Hybrid Recommendation System 24
Hình 2.1 Ảnh mô tả phương pháp Weighted của Content-based và User-based 26
Hình 2.2 Ảnh mô tả phương pháp Switching của Content-based và User-based 27
Hình 2.3 Ảnh mô tả phương pháp Weighted của Content-based và Item-based 28
Hình 2.4 Ảnh mô tả phương pháp Switching của Content-based và Item-based 28
Hình 2.5 Hình mô tả phương pháp Weighted của Content-based và SVD Untuned 29
Hình 2.6 Ảnh mô tả phương pháp Switching của Content-based và SVD Untuned 29
Hình 2.7 Ảnh mô tả phương pháp Weighted của Content-based và SVD Tuned 30
Hình 2.8 Ảnh mô tả phương pháp Switching của Content-based và SVD Tuned 31
Hình 2.9 Ảnh mô tả phương pháp Weighted của Content-based và Neural 31
Hình 2.10 Ảnh mô tả phương pháp Switching của Content-based và Neural 32
Hình 2.11 Ảnh mô tả phương pháp Weighted của SVD Tuned và SVD Untuned 32
Hình 2.12 Ảnh mô tả phương pháp Switching của SVD Tuned và SVD Untuned 33
Hình 2.13 Ảnh mô tả phương pháp Weighted của User-based và SVD Tuned 33
Hình 2.14 Ảnh mô tả phương pháp Switching của User-based và SVD Tuned 34
Hình 2.15 Ảnh mô tả phương pháp Weighted của Item-based và SVD Tuned 34
Hình 2.16 Ảnh mô tả phương pháp Switching của Item-based và SVD Tuned 35 xiii
Hình 2.17 Ảnh mô tả phương pháp Weighted của Neural và SVD Tuned 35
Hình 2.18 Ảnh mô tả phương pháp Switching của Neural và SVD Tuned 36
Hình 2.19 Hình mô tả thư viện sử dụng 37
Hình 2.20 Khởi tạo mô hình User Based và Item Based 40
Hình 2.21 Khởi tạo mô hình SVD Tuned và SVD Untuned 41
Hình 2.22 Khởi tạo mô hình Neural 42
Hình 2.23 Hình mô tả hàm get_number 42
Hình 2.24 Hàm init mô hình Neural 42
Hình 2.25 Hình mô tả các lớp của Neural 43
Hình 2.26 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán đơn lẻ 45
Hình 2.27 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán bằng phương pháp Weighted 46
Hình 2.28 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán bằng phương pháp Switching 47
Hình 3.1 Cấu trúc module của odoo 51
Hình 3.2 Giao diện ứng dụng của odoo 53
Hình 3.3 Sơ đồ cấu trúc tổng quan 54
Hình 3.5 Các modules có sẵn của odoo 55
Hình 3.7 Sơ đồ Use case user xem, xem gợi ý và đánh giá movie 57
Hình 3.8 Sơ đồ Use case quản trị hệ thống 58
Hình 3.9 Sơ đồ hoạt động của hệ thống 59
Hình 3.10 Giao diện đăng nhập 59
Hình 3.12 Giao diện gợi ý phim 60
Hình 3.13 Giao diện xem chi tiết phim 61
Hình 3.14 Giao diện xem phim 61
Hình 3.15 Giao diện đánh giá phim 62
Hình 3.16 Giao diện quản lý phim 62
Hình 3.17 Giao diện quản lý thể loại của phim (genres) 63 xiv
Hình 3.18 Giao diện quản lý tài khoản người dùng 63
Hình 3.19 Giao diện quản lý các model gợi ý 64
Hình 3.20 Giao diện quản lý danh sách phim gợi ý cho từng user 64
Hình 3.21 Giao diện quản lý lịch sử xem phim của người dùng 65
Hình 3.22 Giao diện quản lý lịch sử đánh giá của người dùng 65
Hình 3.23 Dash board tổng hợp biểu đồ 66
Hình 3.24 Biểu đồ thể hiện số lượt xem của từng phim 66
Hình 3.25 Bảng pivot thể hiện số lượt xem của từng phim 67
Hình 3.26 Biểu đồ thể hiện số lượt xem theo recommend model 67
Hình 3.27 Biểu đồ pivot số lượt xem theo recommend model 68
Hình 3.28 Biểu số thể hiện số lượt xem theo User 68
Hình 3.29 Bảng pivot thể hiện số lượt xem theo User 69
Hình 3.30 Biểu đồ thể hiện số lượt xem theo tháng 69
Hình 3.31 Bảng pivot thể hiện số lược xem theo tháng 70 xv
Bảng 2.1 Bảng kết quả thực nghiệm của các thuật toán đơn lẻ 43 Bảng 2.2 Bảng kết quả thực nghiệm của các thuật toán (Weighted) 44 Bảng 2.3 Bảng kết quả thực nghiệm của các thuật toán (Switching) 44
1 Lý do chọn đề tài
Trong thời đại số hóa ngày càng phát triển, thông tin tràn ngập mọi lúc mọi nơi, việc truy cập đúng thông tin mà chúng ta cần trở nên khó khăn hơn bao giờ hết Với sự tăng trưởng vượt bậc của dữ liệu trên internet, việc sử dụng các hệ thống gợi ý để đề xuất thông tin phù hợp với người dùng đã trở thành một phần quan trọng của cuộc sống hàng ngày Từ đó, tìm hiểu hệ thống gợi ý kết hợp giữa lọc cộng tác và lọc theo nội dung là một hành trình vào thế giới đầy tiềm năng của trí tuệ nhân tạo và khoa học máy tính
Lọc cộng tác, thông qua việc sử dụng thông tin về hành vi của người dùng khác để đề xuất nội dung, đã trở nên phổ biến trong các dịch vụ trực tuyến như mạng xã hội, cửa hàng trực tuyến và các nền tảng giải trí Trong khi đó, lọc theo nội dung tập trung vào việc hiểu và phân tích sâu hơn về nội dung để đưa ra gợi ý dựa trên sự liên quan và tương tự về chủ đề, nội dung, hoặc ngữ cảnh
Sự kết hợp giữa hai phương pháp này hứa hẹn tạo ra những hệ thống gợi ý thông minh, giúp người dùng tìm kiếm, khám phá, và tiếp cận thông tin một cách hiệu quả hơn Trong bài viết này, chúng ta sẽ đi sâu vào việc tìm hiểu cách hệ thống này hoạt động, ưu điểm và nhược điểm, cũng như tầm quan trọng của việc áp dụng chúng trong thế giới kỹ thuật số ngày nay
Một trong những mục tiêu chính của nghiên cứu là nâng cao độ chính xác của hệ thống gợi ý Điều này bao gồm việc tối ưu hóa thuật toán và phương pháp sử dụng thông tin về hành vi của người dùng để đưa ra những gợi ý chính xác hơn Đảm bảo rằng hệ thống có khả năng đề xuất nội dung phù hợp nhất với người dùng, giúp họ tìm kiếm thông tin một cách hiệu quả
Một trong những thách thức đối diện của hệ thống gợi ý là tình trạng "hạn chế tầm nhìn" thông tin, khi người dùng chỉ được tiếp cận nội dung dựa trên sở thích hiện tại mà không khám phá thông tin mới Mục tiêu là giải quyết tình trạng này, giúp người dùng mở rộng phạm vi tìm kiếm và tiếp cận đa dạng loại thông tin Điều này không chỉ mở rộng kiến thức của người dùng mà còn thúc đẩy sự hiếu kỳ và tư duy mở rộng
Nghiên cứu này không chỉ tập trung vào việc cải thiện độ chính xác của hệ thống gợi ý đối với người dùng cá nhân, mà còn hướng đến mục tiêu tối ưu hóa lợi ích kinh tế và hoạt động của doanh nghiệp Mục đích tạo ra giá trị đồng thời cho cả người dùng và doanh nghiệp, tạo nên một hệ sinh thái thông tin linh hoạt và tích cực
Như vậy, mục đích của nghiên cứu này là tạo ra các hệ thống gợi ý thông minh, giúp người dùng tìm kiếm và tiếp cận thông tin một cách hiệu quả hơn và mang lại giá trị cho cả người dùng và doanh nghiệp trong thế giới số hóa ngày nay
3 Cách tiếp cận và phương pháp nghiên cứu Đối tượng nghiên cứu chính trong bài nghiên cứu này là người dùng và sản phẩm
Phương pháp gợi ý đặt biệt là collaborative filtering và content-based recommendation, cách xây dựng mô hình học máy lai, ma trận user-item scoring Việc áp dụng dữ liệu movielens
4 Phân tích những công trình nghiên cứu có liên quan
Vấn đề về cải thiện độ chính xác của hệ thống gợi ý dựa trên lọc cộng tác đã thu hút nhiều sự quan tâm và nghiên cứu Trong bài báo "A collaborative filtering recommendation algorithm based on embedding representation", tác giả Nawaf Alharbe, Mohamed Ali Rakrouki và Abeer Al Johani [1] đã đề xuất thuật toán UI2vec để giải quyết vấn đề này [2] Họ sử dụng kỹ thuật nhúng từ để nhúng người dùng và các mục vào không gian tiềm năng và sử dụng độ tương đồng giữa các mục để dự đoán sở thích của người dùng Đồng thời, họ cũng đề xuất mô hình VUI2vec dựa trên UI2vec, với độ chính xác ổn định hơn, bằng cách mô hình hóa người dùng và các mục như các phân phối Gaussian độc lập và sử dụng phương pháp suy diễn biến phân
Tuy nhiên, trong bài báo "Collaborative filtering recommendations based on multi- factor random walks" của tác giả Liangmin Guo, Kaixuan Luan, Li Sun, Yonglong Luo và Xiao Yao Zheng [3], họ đã đề xuất một phương pháp khác để cải thiện độ chính xác của hệ thống đề xuất dựa trên lọc cộng tác Phương pháp này sử dụng bước đi ngẫu nhiên đa yếu tố để tính toán giá trị tin cậy toàn diện của người dùng đối với các người dùng khác Điều này giúp xác định các người dùng đáng tin cậy có sở thích tương tự để cải thiện độ chính xác đề xuất Đồng thời, họ cũng thử nghiệm và đánh giá phương pháp
3 trên các bộ dữ liệu khác nhau, và phát hiện rằng phương pháp này hoạt động tốt và ổn định ngay cả khi dữ liệu thưa thớt
Mặc dù cả hai bài báo đều đưa ra các phương pháp hứa hẹn để cải thiện độ chính xác của hệ thống đề xuất dựa trên lọc cộng tác, nhưng còn một số hạn chế cần xem xét Một vấn đề là việc lựa chọn các siêu tham số quan trọng trong mô hình có thể ảnh hưởng đến độ chính xác của các phương pháp này Cần tiến hành nghiên cứu để xác định cách tối ưu hóa các tham số này để đảm bảo hiệu quả và độ ổn định của hệ thống đề xuất Hơn nữa, cả hai phương pháp đều đang sử dụng dữ liệu thưa thớt, điều này có thể làm giảm độ chính xác của đề xuất Cần thêm nghiên cứu và xem xét các phương pháp xử lý dữ liệu thưa thớt để tối ưu hóa độ chính xác của hệ thống đề xuất trong tương lai
5 Kết quả dự kiến đạt được
Nhờ sự kết hợp giữa hai phương pháp gợi ý đáng tin cậy là collaborative filtering algorithm (CF) và content-based algorithm (CB), dự đoán cho thấy đề tài "Tìm hiểu hệ thống gợi ý kết hợp giữa lọc cộng tác và lọc theo nội dung " có tiềm năng mang lại nhiều kết quả tích cực Dự kiến, hệ thống đề xuất sẽ cải thiện đáng kể độ chính xác so với việc áp dụng một phương pháp đơn lẻ Kết quả dự kiến cho thấy hệ thống sẽ đề xuất những sản phẩm phù hợp với sở thích và nhu cầu của từng người dùng một cách chính xác hơn Điều này giúp tăng tính ứng dụng của hệ thống gợi ý , thúc đẩy sự tương tác của người dùng và cung cấp trải nghiệm cá nhân hơn Hệ thống cũng được dự đoán sẽ đa dạng hóa đề xuất, giúp người dùng khám phá những nguồn tài nguyên mới và đa sắc trong lĩnh vực cụ thể
Tuy nhiên, để đạt được những kết quả này, đề tài sẽ đòi hỏi nỗ lực đáng kể trong việc thu thập và phân tích dữ liệu, tối ưu hóa thuật toán, và đảm bảo tính bảo mật và riêng tư trong việc xử lý thông tin cá nhân Sự thành công của đề tài dự kiến sẽ phụ thuộc vào việc thực hiện nghiên cứu thực tế và kiểm tra thực tế trên dữ liệu cụ thể và sự đánh giá kỹ lưỡng từ cộng đồng người dùng
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 1.1 Giới thiệu
TRIỂN KHAI VÀ ĐÁNH GIÁ MÔ HÌNH GỢI Ý BẰNG PHƯƠNG PHÁP LAI (HYBRID RECOMMENDER SYSTEMS)
So sánh phương pháp Weighted và Switching
3 Chương 3 TRIỂN KHAI TÍCH HỢP HỆ THỐNG GỢI Ý VÀO HỆ THỐNG ERP ODOO
3.1 Giới thiệu thương mại điện tử
3.6 Giao diện website dành cho người dùng
3.7 Giao diện website dành cho quản trị hệ thống
3.8 Giao diện dashboard dành cho quản trị hệ thống
N Alharbe, M A Rakrouki, A Aljohani, "A collaborative filtering recommendation algorithm based on embedding representation," Expert Systems with Applications, vol 215, p 119380, April 2023
F.O Isinkaye, Y.O Folajimi, B.A Ojokoh, "Recommendation systems: Principles, methods and evaluation," Egyptian Informatics Journal, vol 16, no 3, pp 261-273, November 2015
L Guo, K Luan, L Sun, Y Luo, X Y Zheng, "Collaborative filtering recommendations based on multi-factor random walks," Engineering Applications of Artificial Intelligence, vol 123, p 106409, August 2023
Z B Ayman, 2022 [Online] Available: https://medium.com/mlearning- ai/recommendation-systems-content-based-filtering-e19e3b0a309e
Dheeraj Bokde, Sheetal Girase, Debajyoti Mukhopadhyay, "Matrix Factorization Model in Collaborative Filtering Algorithms: A Survey,"
Procedia Computer Science, vol 49, pp 136-146, 2015 v
Francesco Ricci, Lior Rokach, Bracha Shapira, Paul B Kantor, Recommender Systems Handbook, New York: Springer Science+Business Media, LLC, 2011
[7] Xiangnan He, Zhankui He, Jingkuan Song, Zhenguang Liu, Yu-Gang Jiang,
Tat-Seng Chua, "Neural Collaborative Filtering," 2017
[8] H Hai, 16 April 2020 [Online] Available: https://viblo.asia/p/tim-hieu- phuong-phap-loc-cong-tac-voi-mang-no-ron-ncf-3P0lPj5Z5ox
S Madhu, 2015 [Online] Available: https://dataaspirant.wordpress.com/2015/01/24/recommendation-engine- part-1/ [Accessed November 2023]
J Chiang, 26 June 2021 [Online] Available: https://medium.com/analytics- vidhya/7-types-of-hybrid-recommendation-system-3e4f78266ad8
N Hug, 2015 [Online] Available: https://surpriselib.com/ [Accessed November 2023]
"Thương mại điện tử," 2024 [Online] Available: https://vi.wikipedia.org/wiki/Th%C6%B0%C6%A1ng_m%E1%BA%A1i_
%C4%91i%E1%BB%87n_t%E1%BB%AD [Accessed 07 July 2024]
[13] "OpenERP," 2024 [Online] Available: https://vi.wikipedia.org/wiki/OpenERP [Accessed 07 July 2024]
[14] "Phần mềm Odoo," 2024 [Online] Available: https://cloudify.vn/phan-mem- odoo/ [Accessed 07 July 2024]
[15] "Pros and Cons of Odoo," 2024 [Online] Available: https://financesonline.com/pros-and-cons-of-odoo/ [Accessed 07 July 2024]
"Khám phá ưu nhược điểm của phần mềm Odoo ERP - Lựa chọn hoàn hảo cho doanh nghiệp," 2024 [Online] Available: https://erp.cloudmedia.vn/en/tin-tuc-1/kham-pha-uu-nhuoc-iem-cua-phan- mem-odoo-erp-lua-chon-hoan-hao-cho-doanh-nghiep-166 [Accessed 07 July 2024]
[17] "All Apps," 2024 [Online] Available: https://www.odoo.com/page/all-apps
[18] "Odoo eCommerce," 2024 [Online] Available: https://www.odoo.com/app/ecommerce [Accessed 07 July 2024]
"Odoo eCommerce," 2024 [Online] Available: https://www.cybrosys.com/odoo/odoo-books/v17-ce/ecommerce/ [Accessed
[20] D Jannach, M Zanker, A Felfernig, G Friedrich, Recommender Systems:
An Introduction, Cambridge University Press, 2010
STT Thời gian Công việc Ghi chú
Tìm hiểu thêm các phương pháp gợi ý kết hợp
Tìm hiểu Odoo, tìm hiểu Postgres SQL, triển khai cài đặt Áp dụng phương pháp lọc dựa trên nội dung (content-based filtering) và cải tiến với TF-IDF
Tìm hiểu Module Ecommerce có sẵn trên odoo, vận dụng Ecommerce triển khai web xem phim
Chọn phương pháp gợi ý kết hợp Switching, tìm hiểu lý thuyết xây dựng demo
Chọn lọc các chức năng của Ecommerce phù hợp với web xem phim Nghiên cứu import data movie vào database
Hoàn thiện phương pháp switching Triển khai train lại các model chuẩn bị tích hợp vào web
Tìm hiểu, tích hợp và hoàn thiện mô hình học máy recommend vào nền tảng Odoo
Tiến hành kiểm thử hệ thống tích hợp
Bổ sung các chương mới vào báo cáo
Phát triển các chức năng bổ sung cho website như trang chủ, trang chi tiết phim, đánh giá phim, các trang quản trị dành cho quản trị viên
Tiến hành kiểm thử các chức năng bổ sung vii
Bổ sung các lý thuyết vào báo cáo
Tìm hiểu tích hợp khả năng train model và tích vào trang quản lý Recommend ML của quản trị viên
Tìm hiểu, triển khai chức năng vẽ biểu đồ, pivot vào module watching và ratings
Bổ sung các lý thuyết vào báo cáo
Tìm hiểu Odoo DashBoard Module có sẵn của odoo, triển khai gọi các biểu đồ có sẵn vào dashboard
Bổ sung các lý thuyết vào báo cáo
Kiểm thử toàn bộ hệ thống
Tiếp tục chỉnh sửa báo cáo
Làm powerpoint cho báo cáo
Hoàn thiện báo cáo khóa luận tốt nghiệp
Chuẩn bị tài liệu và trình bày cho buổi bảo vệ khóa luận
Ngày … tháng … năm 2024 Ý kiến của giáo viên hướng dẫn
Ngô Hoàng Khắc Tường Nguyễn Thị Tường Vi viii
LỜI CẢM ƠN i ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP ii
1 Lý do chọn đề tài 1
3 Cách tiếp cận và phương pháp nghiên cứu 2
4 Phân tích những công trình nghiên cứu có liên quan 2
5 Kết quả dự kiến đạt được 3
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 4
1.3 Các kỹ thuật chính trong hệ thống gợi ý 5
1.3.2.1 Memory Based Collaborative Filtering (Neighbourhood Based) 10
1.3.3.6 Feature Augmentation Recommendation System 23 ix
1.3.3.7 Cascade hybrid recommendation system (CARS) 23
1.3.4.2 Dữ liệu sử dụng đánh giá 25
1.3.4.4 RMSE (Root Mean Square Error) 25
CHƯƠNG 2 TRIỂN KHAI VÀ ĐÁNH GIÁ MÔ HÌNH GỢI Ý BẰNG PHƯƠNG PHÁP LAI (HYBRID RECOMMENDER SYSTEMS) 26
2.1 Content KNN và User Based CF 26
2.2 Content KNN và Item Based CF 27
2.3 Content KNN và SVD Untuned 28
2.4 Content KNN và SVD Tuned 30
2.6 SVD Untuned và SVD Tuned 32
2.7 User Based CF và SVD Tuned 33
2.8 Item Based CF và SVD Tuned 34
2.11.1.4 Surprise (SVD, KNNWithMeans, train_test_split, accuracy) [11] 38
2.11.2 Cấu hình máy thực nghiệm 39
2.12.2 User Based CF và Item Based CF 40
2.12.3 SVD Tuned và SVD Untuned 41
2.13.1 Độ chính xác các mô hình đơn lẻ: 43
2.14 Độ chính xác các mô hình kết hợp (hybrid): 44
2.15 Đánh giá kết quả thực nghiệm 45
2.16 So sánh phương pháp Weighted và Switching 48
CHƯƠNG 3 TRIỂN KHAI TÍCH HỢP HỆ THỐNG GỢI Ý VÀO HỆ THỐNG
3.1 Giới thiệu thương mại điện tử 49
3.2.4 Cấu trúc module của odoo 51
3.2.5 Một số modules của odoo 52
3.4.1 Use case xem, xem gợi ý movie và đánh giá movie 57
3.4.2 Use case quản trị hệ thống 58
3.6 Giao diện website dành cho người dùng 59
3.7 Giao diện website dành cho quản trị hệ thống 62
3.8 Giao diện dashboard dành cho quản trị hệ thống 66
TÀI LIỆU THAM KHẢO 1 xii
Hình 1.1 Sơ đồ biểu diễn các thuật toán chính trong hệ thống gợi ý 6
Hình 1.2 Sơ đồ biểu diễn các thuật toán lọc cộng tác 9
Hình 1.3 Hình mô tả chung về ý tưởng thuật toán User based 10
Hình 1.4 Hình mô tả chung về ý tưởng thuật toán Item based 13
Hình 1.5 Hình mô tả Matrix Factorization 15
Hình 1.6 Mô hình cấu trúc tổng quát của NCF 18
Hình 1.7 Hình mô tả một ví dụ về Hybrid Recommendations sử dụng CF Based
Recommender và Content Based Recommender 20
Hình 1.8 Weighted Hybrid Recommendation System 21
Hình 1.9 Switching Hybrid Recommendation System 22
Hình 1.10 Mixed Hybrid Recommendation System 22
Hình 1.11 Feature Combination Hybrid Recommendation System 23
Hình 1.12 Feature Augmentation Hybrid Recommendation System 23
Hình 1.13 Cascade Hybrid Recommendation System 24
Hình 1.14 Meta-level Hybrid Recommendation System 24
Hình 2.1 Ảnh mô tả phương pháp Weighted của Content-based và User-based 26
Hình 2.2 Ảnh mô tả phương pháp Switching của Content-based và User-based 27
Hình 2.3 Ảnh mô tả phương pháp Weighted của Content-based và Item-based 28
Hình 2.4 Ảnh mô tả phương pháp Switching của Content-based và Item-based 28
Hình 2.5 Hình mô tả phương pháp Weighted của Content-based và SVD Untuned 29
Hình 2.6 Ảnh mô tả phương pháp Switching của Content-based và SVD Untuned 29
Hình 2.7 Ảnh mô tả phương pháp Weighted của Content-based và SVD Tuned 30
Hình 2.8 Ảnh mô tả phương pháp Switching của Content-based và SVD Tuned 31
Hình 2.9 Ảnh mô tả phương pháp Weighted của Content-based và Neural 31
Hình 2.10 Ảnh mô tả phương pháp Switching của Content-based và Neural 32
Hình 2.11 Ảnh mô tả phương pháp Weighted của SVD Tuned và SVD Untuned 32
Hình 2.12 Ảnh mô tả phương pháp Switching của SVD Tuned và SVD Untuned 33
Hình 2.13 Ảnh mô tả phương pháp Weighted của User-based và SVD Tuned 33
Hình 2.14 Ảnh mô tả phương pháp Switching của User-based và SVD Tuned 34
Hình 2.15 Ảnh mô tả phương pháp Weighted của Item-based và SVD Tuned 34
Hình 2.16 Ảnh mô tả phương pháp Switching của Item-based và SVD Tuned 35 xiii
Hình 2.17 Ảnh mô tả phương pháp Weighted của Neural và SVD Tuned 35
Hình 2.18 Ảnh mô tả phương pháp Switching của Neural và SVD Tuned 36
Hình 2.19 Hình mô tả thư viện sử dụng 37
Hình 2.20 Khởi tạo mô hình User Based và Item Based 40
Hình 2.21 Khởi tạo mô hình SVD Tuned và SVD Untuned 41
Hình 2.22 Khởi tạo mô hình Neural 42
Hình 2.23 Hình mô tả hàm get_number 42
Hình 2.24 Hàm init mô hình Neural 42
Hình 2.25 Hình mô tả các lớp của Neural 43
Hình 2.26 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán đơn lẻ 45
Hình 2.27 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán bằng phương pháp Weighted 46
Hình 2.28 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán bằng phương pháp Switching 47
Hình 3.1 Cấu trúc module của odoo 51
Hình 3.2 Giao diện ứng dụng của odoo 53
Hình 3.3 Sơ đồ cấu trúc tổng quan 54
Hình 3.5 Các modules có sẵn của odoo 55
Hình 3.7 Sơ đồ Use case user xem, xem gợi ý và đánh giá movie 57
Hình 3.8 Sơ đồ Use case quản trị hệ thống 58
Hình 3.9 Sơ đồ hoạt động của hệ thống 59
Hình 3.10 Giao diện đăng nhập 59
Hình 3.12 Giao diện gợi ý phim 60
Hình 3.13 Giao diện xem chi tiết phim 61
Hình 3.14 Giao diện xem phim 61
Hình 3.15 Giao diện đánh giá phim 62
Hình 3.16 Giao diện quản lý phim 62
Hình 3.17 Giao diện quản lý thể loại của phim (genres) 63 xiv
Hình 3.18 Giao diện quản lý tài khoản người dùng 63
Hình 3.19 Giao diện quản lý các model gợi ý 64
Hình 3.20 Giao diện quản lý danh sách phim gợi ý cho từng user 64
Hình 3.21 Giao diện quản lý lịch sử xem phim của người dùng 65
Hình 3.22 Giao diện quản lý lịch sử đánh giá của người dùng 65
Hình 3.23 Dash board tổng hợp biểu đồ 66
Hình 3.24 Biểu đồ thể hiện số lượt xem của từng phim 66
Hình 3.25 Bảng pivot thể hiện số lượt xem của từng phim 67
Hình 3.26 Biểu đồ thể hiện số lượt xem theo recommend model 67
Hình 3.27 Biểu đồ pivot số lượt xem theo recommend model 68
Hình 3.28 Biểu số thể hiện số lượt xem theo User 68
Hình 3.29 Bảng pivot thể hiện số lượt xem theo User 69
Hình 3.30 Biểu đồ thể hiện số lượt xem theo tháng 69
Hình 3.31 Bảng pivot thể hiện số lược xem theo tháng 70 xv
Bảng 2.1 Bảng kết quả thực nghiệm của các thuật toán đơn lẻ 43 Bảng 2.2 Bảng kết quả thực nghiệm của các thuật toán (Weighted) 44 Bảng 2.3 Bảng kết quả thực nghiệm của các thuật toán (Switching) 44
1 Lý do chọn đề tài
Trong thời đại số hóa ngày càng phát triển, thông tin tràn ngập mọi lúc mọi nơi, việc truy cập đúng thông tin mà chúng ta cần trở nên khó khăn hơn bao giờ hết Với sự tăng trưởng vượt bậc của dữ liệu trên internet, việc sử dụng các hệ thống gợi ý để đề xuất thông tin phù hợp với người dùng đã trở thành một phần quan trọng của cuộc sống hàng ngày Từ đó, tìm hiểu hệ thống gợi ý kết hợp giữa lọc cộng tác và lọc theo nội dung là một hành trình vào thế giới đầy tiềm năng của trí tuệ nhân tạo và khoa học máy tính
Lọc cộng tác, thông qua việc sử dụng thông tin về hành vi của người dùng khác để đề xuất nội dung, đã trở nên phổ biến trong các dịch vụ trực tuyến như mạng xã hội, cửa hàng trực tuyến và các nền tảng giải trí Trong khi đó, lọc theo nội dung tập trung vào việc hiểu và phân tích sâu hơn về nội dung để đưa ra gợi ý dựa trên sự liên quan và tương tự về chủ đề, nội dung, hoặc ngữ cảnh
Sự kết hợp giữa hai phương pháp này hứa hẹn tạo ra những hệ thống gợi ý thông minh, giúp người dùng tìm kiếm, khám phá, và tiếp cận thông tin một cách hiệu quả hơn Trong bài viết này, chúng ta sẽ đi sâu vào việc tìm hiểu cách hệ thống này hoạt động, ưu điểm và nhược điểm, cũng như tầm quan trọng của việc áp dụng chúng trong thế giới kỹ thuật số ngày nay
Một trong những mục tiêu chính của nghiên cứu là nâng cao độ chính xác của hệ thống gợi ý Điều này bao gồm việc tối ưu hóa thuật toán và phương pháp sử dụng thông tin về hành vi của người dùng để đưa ra những gợi ý chính xác hơn Đảm bảo rằng hệ thống có khả năng đề xuất nội dung phù hợp nhất với người dùng, giúp họ tìm kiếm thông tin một cách hiệu quả
Một trong những thách thức đối diện của hệ thống gợi ý là tình trạng "hạn chế tầm nhìn" thông tin, khi người dùng chỉ được tiếp cận nội dung dựa trên sở thích hiện tại mà không khám phá thông tin mới Mục tiêu là giải quyết tình trạng này, giúp người dùng mở rộng phạm vi tìm kiếm và tiếp cận đa dạng loại thông tin Điều này không chỉ mở rộng kiến thức của người dùng mà còn thúc đẩy sự hiếu kỳ và tư duy mở rộng
Nghiên cứu này không chỉ tập trung vào việc cải thiện độ chính xác của hệ thống gợi ý đối với người dùng cá nhân, mà còn hướng đến mục tiêu tối ưu hóa lợi ích kinh tế và hoạt động của doanh nghiệp Mục đích tạo ra giá trị đồng thời cho cả người dùng và doanh nghiệp, tạo nên một hệ sinh thái thông tin linh hoạt và tích cực
Như vậy, mục đích của nghiên cứu này là tạo ra các hệ thống gợi ý thông minh, giúp người dùng tìm kiếm và tiếp cận thông tin một cách hiệu quả hơn và mang lại giá trị cho cả người dùng và doanh nghiệp trong thế giới số hóa ngày nay
3 Cách tiếp cận và phương pháp nghiên cứu Đối tượng nghiên cứu chính trong bài nghiên cứu này là người dùng và sản phẩm
Phương pháp gợi ý đặt biệt là collaborative filtering và content-based recommendation, cách xây dựng mô hình học máy lai, ma trận user-item scoring Việc áp dụng dữ liệu movielens
4 Phân tích những công trình nghiên cứu có liên quan
Vấn đề về cải thiện độ chính xác của hệ thống gợi ý dựa trên lọc cộng tác đã thu hút nhiều sự quan tâm và nghiên cứu Trong bài báo "A collaborative filtering recommendation algorithm based on embedding representation", tác giả Nawaf Alharbe, Mohamed Ali Rakrouki và Abeer Al Johani [1] đã đề xuất thuật toán UI2vec để giải quyết vấn đề này [2] Họ sử dụng kỹ thuật nhúng từ để nhúng người dùng và các mục vào không gian tiềm năng và sử dụng độ tương đồng giữa các mục để dự đoán sở thích của người dùng Đồng thời, họ cũng đề xuất mô hình VUI2vec dựa trên UI2vec, với độ chính xác ổn định hơn, bằng cách mô hình hóa người dùng và các mục như các phân phối Gaussian độc lập và sử dụng phương pháp suy diễn biến phân
Tuy nhiên, trong bài báo "Collaborative filtering recommendations based on multi- factor random walks" của tác giả Liangmin Guo, Kaixuan Luan, Li Sun, Yonglong Luo và Xiao Yao Zheng [3], họ đã đề xuất một phương pháp khác để cải thiện độ chính xác của hệ thống đề xuất dựa trên lọc cộng tác Phương pháp này sử dụng bước đi ngẫu nhiên đa yếu tố để tính toán giá trị tin cậy toàn diện của người dùng đối với các người dùng khác Điều này giúp xác định các người dùng đáng tin cậy có sở thích tương tự để cải thiện độ chính xác đề xuất Đồng thời, họ cũng thử nghiệm và đánh giá phương pháp
3 trên các bộ dữ liệu khác nhau, và phát hiện rằng phương pháp này hoạt động tốt và ổn định ngay cả khi dữ liệu thưa thớt
Mặc dù cả hai bài báo đều đưa ra các phương pháp hứa hẹn để cải thiện độ chính xác của hệ thống đề xuất dựa trên lọc cộng tác, nhưng còn một số hạn chế cần xem xét Một vấn đề là việc lựa chọn các siêu tham số quan trọng trong mô hình có thể ảnh hưởng đến độ chính xác của các phương pháp này Cần tiến hành nghiên cứu để xác định cách tối ưu hóa các tham số này để đảm bảo hiệu quả và độ ổn định của hệ thống đề xuất Hơn nữa, cả hai phương pháp đều đang sử dụng dữ liệu thưa thớt, điều này có thể làm giảm độ chính xác của đề xuất Cần thêm nghiên cứu và xem xét các phương pháp xử lý dữ liệu thưa thớt để tối ưu hóa độ chính xác của hệ thống đề xuất trong tương lai
5 Kết quả dự kiến đạt được
Nhờ sự kết hợp giữa hai phương pháp gợi ý đáng tin cậy là collaborative filtering algorithm (CF) và content-based algorithm (CB), dự đoán cho thấy đề tài "Tìm hiểu hệ thống gợi ý kết hợp giữa lọc cộng tác và lọc theo nội dung " có tiềm năng mang lại nhiều kết quả tích cực Dự kiến, hệ thống đề xuất sẽ cải thiện đáng kể độ chính xác so với việc áp dụng một phương pháp đơn lẻ Kết quả dự kiến cho thấy hệ thống sẽ đề xuất những sản phẩm phù hợp với sở thích và nhu cầu của từng người dùng một cách chính xác hơn Điều này giúp tăng tính ứng dụng của hệ thống gợi ý , thúc đẩy sự tương tác của người dùng và cung cấp trải nghiệm cá nhân hơn Hệ thống cũng được dự đoán sẽ đa dạng hóa đề xuất, giúp người dùng khám phá những nguồn tài nguyên mới và đa sắc trong lĩnh vực cụ thể
Tuy nhiên, để đạt được những kết quả này, đề tài sẽ đòi hỏi nỗ lực đáng kể trong việc thu thập và phân tích dữ liệu, tối ưu hóa thuật toán, và đảm bảo tính bảo mật và riêng tư trong việc xử lý thông tin cá nhân Sự thành công của đề tài dự kiến sẽ phụ thuộc vào việc thực hiện nghiên cứu thực tế và kiểm tra thực tế trên dữ liệu cụ thể và sự đánh giá kỹ lưỡng từ cộng đồng người dùng
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 1.1 Giới thiệu
TRIỂN KHAI TÍCH HỢP HỆ THỐNG GỢI Ý VÀO HỆ THỐNG
Giao diện dashboard dành cho quản trị hệ thống
N Alharbe, M A Rakrouki, A Aljohani, "A collaborative filtering recommendation algorithm based on embedding representation," Expert Systems with Applications, vol 215, p 119380, April 2023
F.O Isinkaye, Y.O Folajimi, B.A Ojokoh, "Recommendation systems: Principles, methods and evaluation," Egyptian Informatics Journal, vol 16, no 3, pp 261-273, November 2015
L Guo, K Luan, L Sun, Y Luo, X Y Zheng, "Collaborative filtering recommendations based on multi-factor random walks," Engineering Applications of Artificial Intelligence, vol 123, p 106409, August 2023
Z B Ayman, 2022 [Online] Available: https://medium.com/mlearning- ai/recommendation-systems-content-based-filtering-e19e3b0a309e
Dheeraj Bokde, Sheetal Girase, Debajyoti Mukhopadhyay, "Matrix Factorization Model in Collaborative Filtering Algorithms: A Survey,"
Procedia Computer Science, vol 49, pp 136-146, 2015 v
Francesco Ricci, Lior Rokach, Bracha Shapira, Paul B Kantor, Recommender Systems Handbook, New York: Springer Science+Business Media, LLC, 2011
[7] Xiangnan He, Zhankui He, Jingkuan Song, Zhenguang Liu, Yu-Gang Jiang,
Tat-Seng Chua, "Neural Collaborative Filtering," 2017
[8] H Hai, 16 April 2020 [Online] Available: https://viblo.asia/p/tim-hieu- phuong-phap-loc-cong-tac-voi-mang-no-ron-ncf-3P0lPj5Z5ox
S Madhu, 2015 [Online] Available: https://dataaspirant.wordpress.com/2015/01/24/recommendation-engine- part-1/ [Accessed November 2023]
J Chiang, 26 June 2021 [Online] Available: https://medium.com/analytics- vidhya/7-types-of-hybrid-recommendation-system-3e4f78266ad8
N Hug, 2015 [Online] Available: https://surpriselib.com/ [Accessed November 2023]
"Thương mại điện tử," 2024 [Online] Available: https://vi.wikipedia.org/wiki/Th%C6%B0%C6%A1ng_m%E1%BA%A1i_
%C4%91i%E1%BB%87n_t%E1%BB%AD [Accessed 07 July 2024]
[13] "OpenERP," 2024 [Online] Available: https://vi.wikipedia.org/wiki/OpenERP [Accessed 07 July 2024]
[14] "Phần mềm Odoo," 2024 [Online] Available: https://cloudify.vn/phan-mem- odoo/ [Accessed 07 July 2024]
[15] "Pros and Cons of Odoo," 2024 [Online] Available: https://financesonline.com/pros-and-cons-of-odoo/ [Accessed 07 July 2024]
"Khám phá ưu nhược điểm của phần mềm Odoo ERP - Lựa chọn hoàn hảo cho doanh nghiệp," 2024 [Online] Available: https://erp.cloudmedia.vn/en/tin-tuc-1/kham-pha-uu-nhuoc-iem-cua-phan- mem-odoo-erp-lua-chon-hoan-hao-cho-doanh-nghiep-166 [Accessed 07 July 2024]
[17] "All Apps," 2024 [Online] Available: https://www.odoo.com/page/all-apps
[18] "Odoo eCommerce," 2024 [Online] Available: https://www.odoo.com/app/ecommerce [Accessed 07 July 2024]
"Odoo eCommerce," 2024 [Online] Available: https://www.cybrosys.com/odoo/odoo-books/v17-ce/ecommerce/ [Accessed
[20] D Jannach, M Zanker, A Felfernig, G Friedrich, Recommender Systems:
An Introduction, Cambridge University Press, 2010
STT Thời gian Công việc Ghi chú
Tìm hiểu thêm các phương pháp gợi ý kết hợp
Tìm hiểu Odoo, tìm hiểu Postgres SQL, triển khai cài đặt Áp dụng phương pháp lọc dựa trên nội dung (content-based filtering) và cải tiến với TF-IDF
Tìm hiểu Module Ecommerce có sẵn trên odoo, vận dụng Ecommerce triển khai web xem phim
Chọn phương pháp gợi ý kết hợp Switching, tìm hiểu lý thuyết xây dựng demo
Chọn lọc các chức năng của Ecommerce phù hợp với web xem phim Nghiên cứu import data movie vào database
Hoàn thiện phương pháp switching Triển khai train lại các model chuẩn bị tích hợp vào web
Tìm hiểu, tích hợp và hoàn thiện mô hình học máy recommend vào nền tảng Odoo
Tiến hành kiểm thử hệ thống tích hợp
Bổ sung các chương mới vào báo cáo
Phát triển các chức năng bổ sung cho website như trang chủ, trang chi tiết phim, đánh giá phim, các trang quản trị dành cho quản trị viên
Tiến hành kiểm thử các chức năng bổ sung vii
Bổ sung các lý thuyết vào báo cáo
Tìm hiểu tích hợp khả năng train model và tích vào trang quản lý Recommend ML của quản trị viên
Tìm hiểu, triển khai chức năng vẽ biểu đồ, pivot vào module watching và ratings
Bổ sung các lý thuyết vào báo cáo
Tìm hiểu Odoo DashBoard Module có sẵn của odoo, triển khai gọi các biểu đồ có sẵn vào dashboard
Bổ sung các lý thuyết vào báo cáo
Kiểm thử toàn bộ hệ thống
Tiếp tục chỉnh sửa báo cáo
Làm powerpoint cho báo cáo
Hoàn thiện báo cáo khóa luận tốt nghiệp
Chuẩn bị tài liệu và trình bày cho buổi bảo vệ khóa luận
Ngày … tháng … năm 2024 Ý kiến của giáo viên hướng dẫn
Ngô Hoàng Khắc Tường Nguyễn Thị Tường Vi viii
LỜI CẢM ƠN i ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP ii
1 Lý do chọn đề tài 1
3 Cách tiếp cận và phương pháp nghiên cứu 2
4 Phân tích những công trình nghiên cứu có liên quan 2
5 Kết quả dự kiến đạt được 3
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 4
1.3 Các kỹ thuật chính trong hệ thống gợi ý 5
1.3.2.1 Memory Based Collaborative Filtering (Neighbourhood Based) 10
1.3.3.6 Feature Augmentation Recommendation System 23 ix
1.3.3.7 Cascade hybrid recommendation system (CARS) 23
1.3.4.2 Dữ liệu sử dụng đánh giá 25
1.3.4.4 RMSE (Root Mean Square Error) 25
CHƯƠNG 2 TRIỂN KHAI VÀ ĐÁNH GIÁ MÔ HÌNH GỢI Ý BẰNG PHƯƠNG PHÁP LAI (HYBRID RECOMMENDER SYSTEMS) 26
2.1 Content KNN và User Based CF 26
2.2 Content KNN và Item Based CF 27
2.3 Content KNN và SVD Untuned 28
2.4 Content KNN và SVD Tuned 30
2.6 SVD Untuned và SVD Tuned 32
2.7 User Based CF và SVD Tuned 33
2.8 Item Based CF và SVD Tuned 34
2.11.1.4 Surprise (SVD, KNNWithMeans, train_test_split, accuracy) [11] 38
2.11.2 Cấu hình máy thực nghiệm 39
2.12.2 User Based CF và Item Based CF 40
2.12.3 SVD Tuned và SVD Untuned 41
2.13.1 Độ chính xác các mô hình đơn lẻ: 43
2.14 Độ chính xác các mô hình kết hợp (hybrid): 44
2.15 Đánh giá kết quả thực nghiệm 45
2.16 So sánh phương pháp Weighted và Switching 48
CHƯƠNG 3 TRIỂN KHAI TÍCH HỢP HỆ THỐNG GỢI Ý VÀO HỆ THỐNG
3.1 Giới thiệu thương mại điện tử 49
3.2.4 Cấu trúc module của odoo 51
3.2.5 Một số modules của odoo 52
3.4.1 Use case xem, xem gợi ý movie và đánh giá movie 57
3.4.2 Use case quản trị hệ thống 58
3.6 Giao diện website dành cho người dùng 59
3.7 Giao diện website dành cho quản trị hệ thống 62
3.8 Giao diện dashboard dành cho quản trị hệ thống 66
TÀI LIỆU THAM KHẢO 1 xii
Hình 1.1 Sơ đồ biểu diễn các thuật toán chính trong hệ thống gợi ý 6
Hình 1.2 Sơ đồ biểu diễn các thuật toán lọc cộng tác 9
Hình 1.3 Hình mô tả chung về ý tưởng thuật toán User based 10
Hình 1.4 Hình mô tả chung về ý tưởng thuật toán Item based 13
Hình 1.5 Hình mô tả Matrix Factorization 15
Hình 1.6 Mô hình cấu trúc tổng quát của NCF 18
Hình 1.7 Hình mô tả một ví dụ về Hybrid Recommendations sử dụng CF Based
Recommender và Content Based Recommender 20
Hình 1.8 Weighted Hybrid Recommendation System 21
Hình 1.9 Switching Hybrid Recommendation System 22
Hình 1.10 Mixed Hybrid Recommendation System 22
Hình 1.11 Feature Combination Hybrid Recommendation System 23
Hình 1.12 Feature Augmentation Hybrid Recommendation System 23
Hình 1.13 Cascade Hybrid Recommendation System 24
Hình 1.14 Meta-level Hybrid Recommendation System 24
Hình 2.1 Ảnh mô tả phương pháp Weighted của Content-based và User-based 26
Hình 2.2 Ảnh mô tả phương pháp Switching của Content-based và User-based 27
Hình 2.3 Ảnh mô tả phương pháp Weighted của Content-based và Item-based 28
Hình 2.4 Ảnh mô tả phương pháp Switching của Content-based và Item-based 28
Hình 2.5 Hình mô tả phương pháp Weighted của Content-based và SVD Untuned 29
Hình 2.6 Ảnh mô tả phương pháp Switching của Content-based và SVD Untuned 29
Hình 2.7 Ảnh mô tả phương pháp Weighted của Content-based và SVD Tuned 30
Hình 2.8 Ảnh mô tả phương pháp Switching của Content-based và SVD Tuned 31
Hình 2.9 Ảnh mô tả phương pháp Weighted của Content-based và Neural 31
Hình 2.10 Ảnh mô tả phương pháp Switching của Content-based và Neural 32
Hình 2.11 Ảnh mô tả phương pháp Weighted của SVD Tuned và SVD Untuned 32
Hình 2.12 Ảnh mô tả phương pháp Switching của SVD Tuned và SVD Untuned 33
Hình 2.13 Ảnh mô tả phương pháp Weighted của User-based và SVD Tuned 33
Hình 2.14 Ảnh mô tả phương pháp Switching của User-based và SVD Tuned 34
Hình 2.15 Ảnh mô tả phương pháp Weighted của Item-based và SVD Tuned 34
Hình 2.16 Ảnh mô tả phương pháp Switching của Item-based và SVD Tuned 35 xiii
Hình 2.17 Ảnh mô tả phương pháp Weighted của Neural và SVD Tuned 35
Hình 2.18 Ảnh mô tả phương pháp Switching của Neural và SVD Tuned 36
Hình 2.19 Hình mô tả thư viện sử dụng 37
Hình 2.20 Khởi tạo mô hình User Based và Item Based 40
Hình 2.21 Khởi tạo mô hình SVD Tuned và SVD Untuned 41
Hình 2.22 Khởi tạo mô hình Neural 42
Hình 2.23 Hình mô tả hàm get_number 42
Hình 2.24 Hàm init mô hình Neural 42
Hình 2.25 Hình mô tả các lớp của Neural 43
Hình 2.26 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán đơn lẻ 45
Hình 2.27 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán bằng phương pháp Weighted 46
Hình 2.28 Hình mô tả kết quả RMSE, MAE và thời gian thực hiện của các thuật toán bằng phương pháp Switching 47
Hình 3.1 Cấu trúc module của odoo 51
Hình 3.2 Giao diện ứng dụng của odoo 53
Hình 3.3 Sơ đồ cấu trúc tổng quan 54
Hình 3.5 Các modules có sẵn của odoo 55
Hình 3.7 Sơ đồ Use case user xem, xem gợi ý và đánh giá movie 57
Hình 3.8 Sơ đồ Use case quản trị hệ thống 58
Hình 3.9 Sơ đồ hoạt động của hệ thống 59
Hình 3.10 Giao diện đăng nhập 59
Hình 3.12 Giao diện gợi ý phim 60
Hình 3.13 Giao diện xem chi tiết phim 61
Hình 3.14 Giao diện xem phim 61
Hình 3.15 Giao diện đánh giá phim 62
Hình 3.16 Giao diện quản lý phim 62
Hình 3.17 Giao diện quản lý thể loại của phim (genres) 63 xiv
Hình 3.18 Giao diện quản lý tài khoản người dùng 63
Hình 3.19 Giao diện quản lý các model gợi ý 64
Hình 3.20 Giao diện quản lý danh sách phim gợi ý cho từng user 64
Hình 3.21 Giao diện quản lý lịch sử xem phim của người dùng 65
Hình 3.22 Giao diện quản lý lịch sử đánh giá của người dùng 65
Hình 3.23 Dash board tổng hợp biểu đồ 66
Hình 3.24 Biểu đồ thể hiện số lượt xem của từng phim 66
Hình 3.25 Bảng pivot thể hiện số lượt xem của từng phim 67
Hình 3.26 Biểu đồ thể hiện số lượt xem theo recommend model 67
Hình 3.27 Biểu đồ pivot số lượt xem theo recommend model 68
Hình 3.28 Biểu số thể hiện số lượt xem theo User 68
Hình 3.29 Bảng pivot thể hiện số lượt xem theo User 69
Hình 3.30 Biểu đồ thể hiện số lượt xem theo tháng 69
Hình 3.31 Bảng pivot thể hiện số lược xem theo tháng 70 xv
Bảng 2.1 Bảng kết quả thực nghiệm của các thuật toán đơn lẻ 43 Bảng 2.2 Bảng kết quả thực nghiệm của các thuật toán (Weighted) 44 Bảng 2.3 Bảng kết quả thực nghiệm của các thuật toán (Switching) 44
1 Lý do chọn đề tài
Trong thời đại số hóa ngày càng phát triển, thông tin tràn ngập mọi lúc mọi nơi, việc truy cập đúng thông tin mà chúng ta cần trở nên khó khăn hơn bao giờ hết Với sự tăng trưởng vượt bậc của dữ liệu trên internet, việc sử dụng các hệ thống gợi ý để đề xuất thông tin phù hợp với người dùng đã trở thành một phần quan trọng của cuộc sống hàng ngày Từ đó, tìm hiểu hệ thống gợi ý kết hợp giữa lọc cộng tác và lọc theo nội dung là một hành trình vào thế giới đầy tiềm năng của trí tuệ nhân tạo và khoa học máy tính
Lọc cộng tác, thông qua việc sử dụng thông tin về hành vi của người dùng khác để đề xuất nội dung, đã trở nên phổ biến trong các dịch vụ trực tuyến như mạng xã hội, cửa hàng trực tuyến và các nền tảng giải trí Trong khi đó, lọc theo nội dung tập trung vào việc hiểu và phân tích sâu hơn về nội dung để đưa ra gợi ý dựa trên sự liên quan và tương tự về chủ đề, nội dung, hoặc ngữ cảnh
Sự kết hợp giữa hai phương pháp này hứa hẹn tạo ra những hệ thống gợi ý thông minh, giúp người dùng tìm kiếm, khám phá, và tiếp cận thông tin một cách hiệu quả hơn Trong bài viết này, chúng ta sẽ đi sâu vào việc tìm hiểu cách hệ thống này hoạt động, ưu điểm và nhược điểm, cũng như tầm quan trọng của việc áp dụng chúng trong thế giới kỹ thuật số ngày nay
Một trong những mục tiêu chính của nghiên cứu là nâng cao độ chính xác của hệ thống gợi ý Điều này bao gồm việc tối ưu hóa thuật toán và phương pháp sử dụng thông tin về hành vi của người dùng để đưa ra những gợi ý chính xác hơn Đảm bảo rằng hệ thống có khả năng đề xuất nội dung phù hợp nhất với người dùng, giúp họ tìm kiếm thông tin một cách hiệu quả
Một trong những thách thức đối diện của hệ thống gợi ý là tình trạng "hạn chế tầm nhìn" thông tin, khi người dùng chỉ được tiếp cận nội dung dựa trên sở thích hiện tại mà không khám phá thông tin mới Mục tiêu là giải quyết tình trạng này, giúp người dùng mở rộng phạm vi tìm kiếm và tiếp cận đa dạng loại thông tin Điều này không chỉ mở rộng kiến thức của người dùng mà còn thúc đẩy sự hiếu kỳ và tư duy mở rộng
Nghiên cứu này không chỉ tập trung vào việc cải thiện độ chính xác của hệ thống gợi ý đối với người dùng cá nhân, mà còn hướng đến mục tiêu tối ưu hóa lợi ích kinh tế và hoạt động của doanh nghiệp Mục đích tạo ra giá trị đồng thời cho cả người dùng và doanh nghiệp, tạo nên một hệ sinh thái thông tin linh hoạt và tích cực
Như vậy, mục đích của nghiên cứu này là tạo ra các hệ thống gợi ý thông minh, giúp người dùng tìm kiếm và tiếp cận thông tin một cách hiệu quả hơn và mang lại giá trị cho cả người dùng và doanh nghiệp trong thế giới số hóa ngày nay
3 Cách tiếp cận và phương pháp nghiên cứu Đối tượng nghiên cứu chính trong bài nghiên cứu này là người dùng và sản phẩm
Phương pháp gợi ý đặt biệt là collaborative filtering và content-based recommendation, cách xây dựng mô hình học máy lai, ma trận user-item scoring Việc áp dụng dữ liệu movielens
4 Phân tích những công trình nghiên cứu có liên quan
Vấn đề về cải thiện độ chính xác của hệ thống gợi ý dựa trên lọc cộng tác đã thu hút nhiều sự quan tâm và nghiên cứu Trong bài báo "A collaborative filtering recommendation algorithm based on embedding representation", tác giả Nawaf Alharbe, Mohamed Ali Rakrouki và Abeer Al Johani [1] đã đề xuất thuật toán UI2vec để giải quyết vấn đề này [2] Họ sử dụng kỹ thuật nhúng từ để nhúng người dùng và các mục vào không gian tiềm năng và sử dụng độ tương đồng giữa các mục để dự đoán sở thích của người dùng Đồng thời, họ cũng đề xuất mô hình VUI2vec dựa trên UI2vec, với độ chính xác ổn định hơn, bằng cách mô hình hóa người dùng và các mục như các phân phối Gaussian độc lập và sử dụng phương pháp suy diễn biến phân
Tuy nhiên, trong bài báo "Collaborative filtering recommendations based on multi- factor random walks" của tác giả Liangmin Guo, Kaixuan Luan, Li Sun, Yonglong Luo và Xiao Yao Zheng [3], họ đã đề xuất một phương pháp khác để cải thiện độ chính xác của hệ thống đề xuất dựa trên lọc cộng tác Phương pháp này sử dụng bước đi ngẫu nhiên đa yếu tố để tính toán giá trị tin cậy toàn diện của người dùng đối với các người dùng khác Điều này giúp xác định các người dùng đáng tin cậy có sở thích tương tự để cải thiện độ chính xác đề xuất Đồng thời, họ cũng thử nghiệm và đánh giá phương pháp
3 trên các bộ dữ liệu khác nhau, và phát hiện rằng phương pháp này hoạt động tốt và ổn định ngay cả khi dữ liệu thưa thớt
Mặc dù cả hai bài báo đều đưa ra các phương pháp hứa hẹn để cải thiện độ chính xác của hệ thống đề xuất dựa trên lọc cộng tác, nhưng còn một số hạn chế cần xem xét Một vấn đề là việc lựa chọn các siêu tham số quan trọng trong mô hình có thể ảnh hưởng đến độ chính xác của các phương pháp này Cần tiến hành nghiên cứu để xác định cách tối ưu hóa các tham số này để đảm bảo hiệu quả và độ ổn định của hệ thống đề xuất Hơn nữa, cả hai phương pháp đều đang sử dụng dữ liệu thưa thớt, điều này có thể làm giảm độ chính xác của đề xuất Cần thêm nghiên cứu và xem xét các phương pháp xử lý dữ liệu thưa thớt để tối ưu hóa độ chính xác của hệ thống đề xuất trong tương lai
5 Kết quả dự kiến đạt được
Nhờ sự kết hợp giữa hai phương pháp gợi ý đáng tin cậy là collaborative filtering algorithm (CF) và content-based algorithm (CB), dự đoán cho thấy đề tài "Tìm hiểu hệ thống gợi ý kết hợp giữa lọc cộng tác và lọc theo nội dung " có tiềm năng mang lại nhiều kết quả tích cực Dự kiến, hệ thống đề xuất sẽ cải thiện đáng kể độ chính xác so với việc áp dụng một phương pháp đơn lẻ Kết quả dự kiến cho thấy hệ thống sẽ đề xuất những sản phẩm phù hợp với sở thích và nhu cầu của từng người dùng một cách chính xác hơn Điều này giúp tăng tính ứng dụng của hệ thống gợi ý , thúc đẩy sự tương tác của người dùng và cung cấp trải nghiệm cá nhân hơn Hệ thống cũng được dự đoán sẽ đa dạng hóa đề xuất, giúp người dùng khám phá những nguồn tài nguyên mới và đa sắc trong lĩnh vực cụ thể
Tuy nhiên, để đạt được những kết quả này, đề tài sẽ đòi hỏi nỗ lực đáng kể trong việc thu thập và phân tích dữ liệu, tối ưu hóa thuật toán, và đảm bảo tính bảo mật và riêng tư trong việc xử lý thông tin cá nhân Sự thành công của đề tài dự kiến sẽ phụ thuộc vào việc thực hiện nghiên cứu thực tế và kiểm tra thực tế trên dữ liệu cụ thể và sự đánh giá kỹ lưỡng từ cộng đồng người dùng
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 1.1 Giới thiệu