Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
7,25 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Chung Nguyễn Trường Duy Liên Hiệp Quốc KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG CHO NGƯỜI TIÊU DÙNG Build a product recommendation system KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM CHUNG NGUYỄN TRƯỜNG DUY – 17520388 LIÊN HIỆP QUỐC - 17520958 KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG CHO NGƯỜI TIÊU DÙNG Build a product recommendation system KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN THS THÁI THỤY HÀN UYỂN TP HỒ CHÍ MINH, 2021 THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin ……………………………………………… - Chủ tịch ……………………………………………… - Thư ký ……………………………………………… - Ủy viên ……………………………………………… - Ủy viên ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP CỦA CÁN BỘ HƯỚNG DẪN Tên khóa luận: XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG CHO NGƯỜI TIÊU DÙNG Nhóm SV thực hiện: Cán hướng dẫn Chung Nguyễn Trường Duy - 17520388 ThS Thái Thụy Hàn Uyển Liên Hiệp Quốc - 17520958 Đánh giá Khóa luận Về báo cáo: Số trang: 81 Số chương: Số bảng số liệu: 17 Số hình vẽ: 17 Số tài liệu tham khảo: Sản phẩm: Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: ● ● Về chương trình ứng dụng: ● ● Về thái độ làm việc sinh viên: ● ● Đánh giá chung: Điểm sinh viên: Chung Nguyễn Trường Duy:……… /10 Liên Hiệp Quốc:……… /10 Người nhận xét (Ký tên ghi rõ họ tên) ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP CỦA CÁN BỘ PHẢN BIỆN Tên khóa luận: XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG CHO NGƯỜI TIÊU DÙNG Nhóm SV thực hiện: Cán phản biện Chung Nguyễn Trường Duy - 17520388 ThS Đinh Nguyễn Anh Dũng Liên Hiệp Quốc - 17520958 Đánh giá Khóa luận Về báo cáo: Số trang: 66 Số chương: Số bảng số liệu: 17 Số hình vẽ: 17 Số tài liệu tham khảo: Sản phẩm: Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: ● Về chương trình ứng dụng: ● Về thái độ làm việc sinh viên: ● ● Đánh giá chung: Điểm sinh viên: Chung Nguyễn Trường Duy:……… /10 Liên Hiệp Quốc:……… /10 Người nhận xét (Ký tên ghi rõ họ tên) LỜI CẢM ƠN Sau trình học tập rèn luyện khoa Công nghệ phần mềm trường Đại học Công nghệ thông tin - Đại học quốc gia thành phố Hồ Chí Minh, chúng em trang bị đẩy đủ kiến thức bổ ích lý thuyết thực hành, kỹ cần thiết để hồn thành Khóa luận tốt nghiệp Em xin chân thành cảm ơn quý thầy, cô trường Đại học Cơng nghệ thơng tin nói chung khoa Cơng nghệ phần mềm nói riêng, đặc biệt Thái Thụy Hàn Uyển quan tâm tận tình hướng dẫn chúng em hồn thành tốt khóa luận tốt nghiệp Ngoài ra, chúng em gửi lời cảm ơn đến anh, chị, bạn bè gia đình để tạo điều kiện, tiếp thêm động lực cho chúng em giải đốn khó khăn Trong q trình thực khóa luận tốt nghiệp, khơng tránh khỏi thiếu sót, chúng em mong thơng cảm góp ý từ q thầy để hồn thiện Một lần chúng em xin chân thành cảm ơn ! Thành phố Hồ Chí Minh, tháng 7, năm 2021 Sinh Viên CHUNG NGUYỄN TRƯỜNG DUY LIÊN HIỆP QUỐC MỤC LỤC NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP Người nhận xét NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP Người nhận xét CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu đề tài 1.2 Mục tiêu đề tài 1.3 Phạm vi, đối tượng 1.4 Kết mong đợi CHƯƠNG 2: HỆ THỐNG KHUYẾN NGHỊ 2.1 Tổng quan hệ thống khuyến nghị 2.1.1 Giai đoạn tạo ứng viên 2.1.2 Giai đoạn chấm điểm 2.1.3 Giai đoạn xếp hạng lại 10 2.2 Các vấn đề hệ thống khuyến nghị 2.3.1 Khởi động nguội (cold start) 2.3.2 Dữ liệu thưa thớt liệu bị thiếu 10 10 11 2.3 Các hướng tiếp cận: 2.3.1 Lọc nội dung 2.3.1.1 Các phương pháp lọc nội dung Phân tích mơ tả nội dung Xây dựng hồ sơ người dùng hồ sơ sản phẩm dựa nội dung đánh giá người dùng 2.3.1.2 Các vấn đề tồn Giới hạn nội dung cần phân tích Chun mơn hố q mức 2.3.2 Lọc cộng tác: 2.3.2.1 Các phương pháp Memory-based filtering 13 13 13 13 14 14 14 14 15 15 15 Model-based filtering 2.3.2.2 Các vấn đề tồn Khả mở rộng Cừu xám (Grey sheep) 16 17 17 17 2.4 Các phương pháp tính tốn tương đồng 2.4.1 Khoảng cách Euclide 2.4.2 Tương quan Pearson 2.4.3 Khoảng cách Cosine 18 18 19 20 CHƯƠNG 3: CẤU TRÚC HỆ THỐNG 23 3.1 Kiến trúc hệ thống 3.1.1 Database 3.1.2 Trainer 3.1.3 Api server 3.1.4 Client 23 23 23 24 25 3.2 Sơ đồ use case 3.2.1 Sơ đồ use case tổng quát 3.2.2 Danh sách actor 3.2.3 Danh sách use case 3.2.4 Đặc tả use case 3.2.4.1 Use case đăng nhập 3.2.4.2 Use case danh sách sản phẩm 3.2.4.3 Lấy lịch sử hành vi 3.2.4.4 Gợi ý sản phẩm dựa hành vi 3.2.4.5 Gợi ý sản phẩm dựa văn 3.2.4.6 Gợi ý sản phẩm dựa thuộc tính sản phẩm 3.2.4.7 Gợi ý sản phẩm dựa đánh giá tốt 3.2.4.8 Gợi ý sản phẩm dựa người dùng có hành vi tương tự 3.2.4.9 Gợi ý sản phẩm dựa người dùng có đánh giá tương tự 26 26 27 27 29 29 29 30 31 31 32 33 33 34 3.3 Cơ sở liệu 3.3.1 Users 3.3.2 Products 3.3.3 Events 3.3.4 Reviews 35 35 36 39 39 - Khi gợi ý truy xuất hình hình từ file, lấy theo số lượng sản phẩm top người dùng tương tự ứng với người dùng đăng nhập theo yêu cầu 3.4.5.4 Ưu nhược điểm Thích hợp gợi ý cho: - Những website có nhiều liệu hành vi người dùng Ưu điểm: - Có tính liên kết người dùng - Có tính xác cao Nhược điểm: - Cần có liệu hành vi người dùng - Đối với người dùng người dùng chưa có thơng tin hành vi khơng xác 3.4.6 Gợi ý sản phẩm dựa sản phẩm người dùng đánh giá tương tự 3.4.6.1 Phân loại: Gợi ý sản phẩm dựa người dùng có hành vi tương tự thuộc loại gợi ý lọc cộng tác (item-based) 3.4.6.2 Kỹ thuật, thuật toán - Sử dụng số phép biến đổi ma trận liệu khoảng cách cosine 3.4.6.3 Luồng xử lý - Lấy liệu đánh giá sản phẩm từ sở liệu - Khởi tạo mơ hình cài đặt thuộc tính 53 - Chuyển đổi liệu dạng: với giá trị số đánh giá - Chuẩn hóa liệu theo cơng thức: tổng điểm = (số điểm sản phẩm - điểm trung bình) / (điểm cao - điểm thấp nhất) - Tính tốn độ tương tự người dùng khoảng cách cosine pearson - Lưu mơ hình file sử dụng thư viện joblib để sử dụng api gọi đến - Khi gợi ý truy xuất hình hình từ file, từ mảng đánh giá truyền vào tính tổng điểm tương đồng sản phẩm, sau lấy theo số lượng sản phẩm có số điểm cao theo yêu cầu 3.4.6.4 Ưu nhược điểm Thích hợp gợi ý cho: - Những website có nhiều liệu đánh giá sản phẩm người dùng Ưu điểm: - Có tính liên kết người dùng - Độ tương tự người dùng cao Nhược điểm: - Cần có liệu đánh giá người dùng - Người dùng cần có đánh giá để tăng sử xác 54 3.5 Máy chủ (api server) Api Đường dẫn Phương thức Đầu vào Đầu Đăng nhập /login POST Body: username, password Token người dùng Lấy danh sách sản phẩm /products GET Query: page, limit, product_id? Danh sách sản phẩm Lấy lịch sử hành vi /events GET Headers: token, Query: page, limit Danh sách hành vi người dùng Lấy gợi ý dựa lịch sử hành vi /pf_rec GET Query: limit Danh sách sản phẩm gợi ý Lấy gợi ý dựa văn /ctf_rec GET Params: product_id Query: limit Danh sách sản phẩm gợi ý Lấy gợi ý sản phẩm dựa thuộc tính sản phẩm /ctp_rec GET Query: page, limit Body: property, value, score Danh sách sản phẩm gợi ý Lấy gợi ý sản phẩm dựa đánh giá tốt /iir_rec GET Params: wilson / payes Query: limit Danh sách sản phẩm gợi ý Lấy gợi ý sản phẩm dựa sản phẩm người dùng đánh giá tương tự /cbr_rec GET Query: limit Danh sách sản phẩm gợi ý Lấy gợi ý sản phẩm dựa người dùng có hành vi tương tự /ucf_rec GET Params: uid Query: limit Danh sách sản phẩm gợi ý Bảng 3.16: Danh sách mô tả api 3.6 Máy khách (client) 3.6.1 Màn hình đăng nhập: Đăng nhập vào tài khoản người dùng cụ thể để khuyến nghị 55 Màn hình có trường là: ● Username: dùng để nhập username đăng ký ● Password: dùng để nhập mật theo tài khoản đăng ký Hình 3.3: Các thành phần hình đăng nhập ứng dụng Người dùng thực điền thông tin vào trường Username(1) Password(2) bấm nút Sign In(3) để thực đăng nhập 56 Hình 3.4: Thơng báo đăng nhập khơng thành cơng Khi người dùng nhập sai thiếu thông tin snackbar component làm nhiệm vụ thông báo 3.6.2 Màn hình chính: Màn hình hình khuyến nghị ứng dụng Màn hình hiển thị tất mặt hàng có trang trưng bày sản phẩm sàn thương mại điện tử 57 Hình 3.5: Màn hình ứng dụng vừa đăng nhập thành công Sau người dùng đăng nhập thành cơng chuyển hướng tới hình ứng dụng kèm snackbar component thơng báo đăng nhập thành cơng 58 Hình 3.6: Các thành phần hình Tại hình chính, người dùng có thể: ● Bấm vào icon Profile(1) để chuyển sang trang hồ sơ người dùng ● Bấm vào card sản phẩm bất kì(2) để chuyển tới trang chi tiết sản phẩm ● Bấm vào icon Exit(3) để thực sign out hình đăng nhập 3.6.3 Màn hình hồ sơ người dùng Màn hình hồ sơ người dùng hình thể thơng tin người dùng Màn hình hiển thị sản phẩm mà người dùng đánh giá để người dùng tham khảo đối chiếu xem qua khuyến nghị 59 Hình 3.7: Màn hình hồ sơ người dùng - thông tin lịch sử tương tác Tại hình hồ sơ người dùng, người dùng có thể: ● Bấm icon Home(1) để quay hình ● Bấm vào card sản phẩm xem bất kì(2) để tới trang chi tiết sản phẩm ● Bấm vào icon Exit(3) để thực đăng xuất hình đăng nhập ● Xem thơng tin tài khoản 60 Hình 3.8: Màn hình hồ sơ người dùng - gợi ý theo hành vi tương tự đánh giá tốt Hình 3.9: Màn hình hồ sơ người dùng - gợi ý theo lịch sử đánh giá tương tự 61 Người dùng bấm nút mũi tên điều hướng qua lại chọn sản phẩm từ list gợi ý để đến trang chi tiết sản phẩm 3.6.4 Màn hình chi tiết sản phẩm Màn hình chi tiết sản phẩm hiển thị thông tin chi tiết sản phẩm, bao gồm thương hiệu, mơ tả, danh mục, … Màn hình hiển thị dòng sản phẩm khuyến nghị liên quan tới sản phẩm xem với phương pháp khác nhằm phục vụ cho nhu cầu mua sắm đa dạng người dùng Hình 3.10: Màn hình chi tiết sản phẩm - chi tiết sản phẩm gợi ý dựa văn 62 Hình 3.11: Màn hình chi tiết sản phẩm - gợi ý dựa lịch sử hành vi thuộc tính sản phẩm Tại hình chi tiết sản phẩm, người dùng có thể: ● Bấm vào icon Home(1) để quay hình ● Bấm vào icon Exit(2) để đăng xuất trang đăng nhập Người dùng bấm nút mũi tên điều hướng qua lại chọn sản phẩm từ list gợi ý để đến trang chi tiết sản phẩm 63 CHƯƠNG 4: TỔNG QUAN KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết đạt - Hoàn thành hệ thống khuyến nghị linh hoạt, đảm bảo số gợi ý - Tìm hiểu thêm thuật toán khuyến nghị phổ biến - Biết tầm quan trọng liệu toán khuyến nghị cách thu thập liệu cần thiết - Mở rộng thêm kiến thức Máy học Khoa học Dữ liệu 4.2 Khó khăn - Kiến thức máy học nhóm cịn hạn chế nên chưa thể nghiên cứu ứng dụng thêm nhiều thuật tốn - Giao tiếp nhóm phải thực trực tuyến tình hình dịch bệnh nên chưa đạt hiệu trao đổi trực tiếp - Sử dụng phương pháp thu thập liệu làm liệu thủ công nên nhiều thời gian 4.3 Hướng phát triển - Nghiên cứu phát triển thuật tốn theo hướng Học sâu để gia tăng độ xác cho hệ thống - Thu thập thêm liệu để có liệu phong phú, đa dạng hơn, góp phần làm cho hệ thống dự đốn xác - Xây dựng thêm trang Giỏ hàng, cho phép người dùng thực cho sản phẩm vào giỏ hàng mua hàng Cập nhật khuyến nghị theo tương tác tương ứng - Cải thiện UI/UX 64 PHỤ LỤC Hướng dẫn cài đặt ● Tải cài đặt nodejs: https://nodejs.org/en/ ● Tải cài đặt python: https://www.python.org/ ● Tải cài đặt mongodb mongodb compass: https://www.mongodb.com/ ● Cài đặt anaconda: https://www.anaconda.com/ ● Cài đặt visual studio code: https://code.visualstudio.com/ Hướng dẫn sử dụng bước 1: setup môi trường conda ● activate conda: conda activate base ● tạo conda environment để tải thư viện từ file env.yml : conda create env -f env.yml bước 2: setup liệu ● mở mongodb compass ● tạo database ● tạo collection import từ file csv tương ứng bước 3: chạy server ● setup python path: ○ window: export PYTHONPATH= 65 ○ linux: export PYTHONPATH=”${PYTHONPATH}:$(pwd)” ● mở thư mục server visual studio code ● tạo file env điền theo cấu trúc mẫu file env.production ● run server: python main.py bước 4: chạy client ● mở thư mục client visual studio code ● tải thư viện cần thiết: npm install ● run client: npm start 66 TÀI LIỆU THAM KHẢO [1] J Bobadilla, F Ortega, A Hernando and J Bernal, A collaborative filtering approach to mitigate the new user cold start problem, 2012 [2] J Bobadilla, F Ortega, A Hernando and A Gutiérrez, Recommender systems survey, 2013 [3] M J Pazzani and D Billsus, Content-Based Recommendation Systems, 2007 [4] Z A a I U Shah Khusro, Recommender Systems: Issues, Challenges, and Research Opportunities, Peshawar: Springer Science, 2016 [5] C J H Y C I Benesty J., Noise Reduction in Speech Processing, Berlin: Springer, Berlin, Heidelberg, 2009 [6] L M Pietro Di Lena, Optimal global alignment of signals by maximization of Pearson correlation, 2010 [7] Dell Zhang, Robert Mao, Haitao Li, Joanne Mao, "Advances in Information Retrieval Theory," How to Count Thumb-Ups and Thumb-Downs: User-Rating based Ranking of Items from an Axiomatic Perspective, pp 238-249, 2011 [8] W Sean, Binomial Confidence Intervals and Contingency Tests: Mathematical Fundamentals and the Evaluation of Alternative Methods, 04 07 2013 [9] N G Z R Mary McGlohon, Star Quality: Aggregating Reviews to Rank Products and Merchants, Pittsburgh: Carnegie Mellon University, Pittsburgh PA, 2010 67 ... thúc đẩy doanh số bán hàng Nắm bắt thực trạng kể trên, chúng em định chọn đề tài khóa luận tốt nghiệp: ? ?Xây dựng hệ thống đề xuất mua hàng cho người tiêu dùng. ” 1.2 Mục tiêu đề tài Tìm hiểu toán... Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP CỦA CÁN BỘ HƯỚNG DẪN Tên khóa luận: XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG CHO NGƯỜI TIÊU DÙNG Nhóm SV thực... THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP CỦA CÁN BỘ PHẢN BIỆN Tên khóa luận: XÂY DỰNG HỆ THỐNG ĐỀ XUẤT MUA HÀNG CHO NGƯỜI TIÊU DÙNG Nhóm SV thực hiện: Cán phản biện Chung