Đồ án 1: Tìm hiểu Recommender System và Xây dựng Ứng dụng Minh họa

Khám phá Recommender System: Nguyên lý, các thuật toán phổ biến và hướng dẫn xây dựng ứng dụng minh họa chi tiết cho đồ án sinh viên.

Chuyên ngành

Công nghệ phần mềm

Người đăng

Ẩn danh

Thể loại

Báo cáo đồ án

2024

161
1
0

Phí lưu trữ

45 Point

Tóm tắt

I. Recommender System là gì

Recommender system (hệ thống gợi ý) là một công nghệ thông minh giúp các nền tảng số dự đoán và đề xuất những sản phẩm, dịch vụ hoặc nội dung phù hợp nhất với nhu cầu của từng người dùng cá nhân. Hệ thống này hoạt động bằng cách phân tích hành vi, sở thích và lịch sử tương tác của người dùng để tìm ra các mẫu và khuynh hướng chung. Recommender system được áp dụng rộng rãi trong thương mại điện tử (Amazon, Shopee), nền tảng giải trí (Netflix, YouTube), giáo dục trực tuyến và y tế. Mục đích chính của hệ thống gợi ý là nâng cao trải nghiệm người dùng, tăng tỷ lệ chuyển đổi bán hàng và gia tăng lợi nhuận cho doanh nghiệp. Công nghệ này đóng vai trò quan trọng trong bối cảnh chuyển đổi số hiện nay, giúp các tổ chức tối ưu hóa mối quan hệ với khách hàng.

1.1. Nguyên lý hoạt động của Recommender System

Recommender system hoạt động dựa trên việc thu thập và phân tích dữ liệu người dùng như lịch sử mua hàng, đánh giá sản phẩm, thời gian xem, v.v. Hệ thống sử dụng các thuật toán học máy để tìm ra mối liên hệ giữa người dùng và sản phẩm, từ đó đưa ra những khuyến nghị phù hợp. Quá trình này liên tục được cải thiện thông qua machine learningdeep learning để đạt độ chính xác cao nhất.

1.2. Tầm quan trọng của Recommender System trong kinh doanh

Các hệ thống gợi ý giúp tăng doanh số bán hàng lên 30-50% và nâng cao mức độ hài lòng khách hàng đáng kể. Những khuyến nghị cá nhân hóa tạo cơ hội để khách hàng khám phá những sản phẩm mới mà họ quan tâm, từ đó tăng tỷ lệ chuyển đổi. Recommender system cũng giúp giảm thời gian tìm kiếm sản phẩm, cải thiện trải nghiệm người dùng.

II. Các phương pháp xây dựng Recommender System

Để xây dựng một recommender system hiệu quả, các kỹ sư phần mềm và nhà khoa học dữ liệu sử dụng nhiều phương pháp khác nhau. Mỗi phương pháp có ưu điểm và nhược điểm riêng, phù hợp với từng loại ứng dụng cụ thể. Các phương pháp chính bao gồm content-based filtering, collaborative filtering, matrix factorizationdeep learning methods. Việc lựa chọn phương pháp đúng đắn là chìa khóa để xây dựng một hệ thống gợi ý chất lượng cao, có khả năng xử lý lượng dữ liệu lớn và đạt độ chính xác tối ưu. Các doanh nghiệp thường kết hợp nhiều phương pháp lại với nhau (hybrid approach) để tăng hiệu quả của recommender system.

2.1. Content Based Filtering

Content-based filtering phân tích đặc điểm của sản phẩm và so sánh với các sản phẩm mà người dùng đã thích trước đó. Phương pháp này dựa trên nội dung sản phẩm như thể loại, tác giả, độ phổ biến. Ưu điểm là không cần dữ liệu từ người dùng khác, nhưng nhược điểm là khó khăn trong việc khám phá những sản phẩm hoàn toàn mới.

2.2. Collaborative Filtering

Collaborative filtering tìm kiếm những người dùng có sở thích tương tự và đề xuất sản phẩm mà những người đó đã yêu thích. Phương pháp này chia thành neighborhood-basedmodel-based. Ưu điểm là có thể phát hiện các sở thích ẩn, nhưng gặp vấn đề cold-start problem khi có người dùng mới.

2.3. Matrix Factorization Deep Learning

Matrix factorization phân tích ma trận tương tác người dùng-sản phẩm để tìm ra các đặc trưng tiềm ẩn. Deep learning methods sử dụng mạng nơ-ron như AutoencoderRNN để cải thiện độ chính xác. Những phương pháp này xử lý tốt dữ liệu lớn và phức tạp.

III. Các thách thức khi xây dựng Recommender System

Xây dựng một recommender system chất lượng cao gặp phải nhiều thách thức kỹ thuật và kinh doanh. Cold-start problem là một trong những vấn đề chính, xảy ra khi có người dùng mới hoặc sản phẩm mới mà hệ thống chưa có dữ liệu tương tác. Ngoài ra, sparsity problem khiến ma trận dữ liệu rất thưa thớt, ảnh hưởng đến độ chính xác của các dự đoán. Scalability cũng là thách thức lớn khi recommender system phải xử lý hàng triệu người dùng và sản phẩm. Việc đánh giá hiệu suất, bảo vệ dữ liệu cá nhân và tránh bias trong khuyến nghị cũng đòi hỏi sự chú ý đặc biệt từ các nhà phát triển.

3.1. Cold Start Problem

Cold-start problem xảy ra khi người dùng mới hoặc sản phẩm mới không có lịch sử tương tác. Hệ thống không thể đưa ra khuyến nghị chính xác do thiếu dữ liệu. Giải pháp bao gồm sử dụng content-based filtering, thu thập thông tin cơ bản từ người dùng mới, hoặc sử dụng các phương pháp hybrid kết hợp nhiều nguồn dữ liệu.

3.2. Scalability và Performance

Khi recommender system phát triển, xử lý hàng triệu người dùng và sản phẩm trở thành thách thức lớn. Sử dụng công cụ như Apache Spark giúp phân tán tính toán và tăng tốc độ xử lý. Tối ưu hóa thuật toán và cơ sở dữ liệu là những biện pháp cần thiết để duy trì hiệu suất cao.

3.3. Data Sparsity và Bias

Data sparsity khiến ma trận dữ liệu rất thưa thớt, làm giảm độ chính xác của recommender system. Bias trong dữ liệu cũng dẫn đến các khuyến nghị sai lệch hoặc không công bằng. Cần áp dụng các kỹ thuật xử lý dữ liệu nâng cao và kiểm tra định kỳ để giảm thiểu các vấn đề này.

IV. Hướng dẫn xây dựng ứng dụng Recommender System

Xây dựng một ứng dụng recommender system thành công đòi hỏi việc lập kế hoạch kỹ lưỡng, lựa chọn công nghệ phù hợp và triển khai từng bước một. Đầu tiên, cần xác định rõ mục tiêu kinh doanh và loại dữ liệu sẵn có. Tiếp theo, chọn phương pháp recommender system phù hợp như collaborative filtering cho nền tảng thương mại điện tử, content-based cho hệ thống blog, hoặc kết hợp cả hai. Sau đó, thu thập và tiền xử lý dữ liệu, xây dựng mô hình, và đánh giá hiệu suất bằng các chỉ số như precision, recall, RMSE. Cuối cùng, triển khai ứng dụng trên môi trường sản xuất và liên tục theo dõi, cải thiện dựa trên phản hồi người dùng. Sử dụng các thư viện phổ biến như Scikit-learn, TensorFlow, Apache Spark sẽ giúp quá trình phát triển nhanh chóng hơn.

4.1. Lựa chọn công nghệ và công cụ

Chọn công nghệ đúng là bước quan trọng đầu tiên. Python với các thư viện Scikit-learn, Pandas, NumPy phù hợp cho prototyping. Cho recommender system quy mô lớn, sử dụng Apache Spark để xử lý dữ liệu phân tán. TensorFlow, PyTorch thích hợp cho các mô hình deep learning. Chọn cơ sở dữ liệu phù hợp như PostgreSQL, MongoDB hoặc Elasticsearch để lưu trữ và tìm kiếm dữ liệu hiệu quả.

4.2. Quy trình phát triển và đánh giá

Quy trình phát triển recommender system bao gồm: (1) Thu thập dữ liệu từ người dùng và sản phẩm, (2) Tiền xử lý và làm sạch dữ liệu, (3) Xây dựng mô hình, (4) Đánh giá hiệu suất với precision, recall, F1-score, RMSE, (5) Tối ưu hóa mô hình, (6) Triển khai sản xuất. Cần kiểm tra A/B testing để so sánh các phiên bản recommender system khác nhau.

4.3. Ứng dụng thực tiễn và mở rộng

Recommender system có thể triển khai trong nhiều lĩnh vực: khóa học online, thương mại điện tử, blog cá nhân, nền tảng giải trí. Để mở rộng ứng dụng, cần tích hợp API với các nền tảng khác, theo dõi metrics hiệu suất liên tục, và điều chỉnh thuật toán dựa trên dữ liệu mới. Sử dụng cachingindexing để tăng tốc độ phục vụ khuyến nghị.

28/12/2025

Trích đoạn nội dung tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN 1 ĐỀ TÀI TÌM HIỂU RECOMMENDER SYSTEM VÀ XÂY DỰNG ỨNG DỤNG MINH HOẠ Giảng viên hướng dẫn: ThS. Huỳnh Hồ Thị Mộng Trinh Lớp: SE121.P11 Sinh viên thực hiện Phạm Hoàng Duy 22520339 Hà Phú Thịnh 22521405 TP. Hồ Chí Minh, tháng 12 năm 2024 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN. năm 2024 Người nhận xét (Ký tên và ghi rõ họ tên) LỜI CẢM ƠN Đầu tiên, nhóm xin gửi lời cảm ơn chân thành đến quý Thầy Cô Trường Đại học Công nghệ thông tin - Đại học quốc gia TP.HCM và quý Thầy Cô khoa Công nghệ phần mềm đã giúp cho nhóm có kiến thức cơ bản làm nền tảng để thực hiện đề tài này.

Đặc biệt, nhóm xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Cô Huỳnh Hồ Thị Mộng Trinh (Giảng viên hướng dẫn Đồ án 1). Cô đã trực tiếp hướng dẫn tận tình, sửa chữa và đóng góp nhiều ý kiến quý báu giúp nhóm hoàn thành tốt báo cáo môn học của mình. Trong thời gian một học kỳ thực hiện đề tài, nhóm tác giả đã vận dụng những kiến thức nền tảng đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới. Từ đó, nhóm vận dụng tối đa những gì đã tiếp thu được để hoàn thành một báo cáo đồ án tốt nhất.

Tuy nhiên, trong quá trình thực hiện, nhóm không tránh khỏi những thiếu sót. Chính vì vậy, nhóm rất mong được sự góp ý từ phía Thầy cô nhằm hoàn thiện những kiến thức mà nhóm đã học tập và là hành trang để nhóm thực hiện tiếp các đề tài trong tương lai. Xin chân thành cảm ơn quý Thầy cô! Nhóm sinh viên thực hiện MỤC LỤC 1. Lý do chọn đề tài.

Mục tiêu nghiên cứu. Đối tượng và phạm vi nghiên cứu. Đối tượng nghiên cứu. Phạm vi nghiên cứu.

Giới thiệu về recommender system. Phân loại recommender system. Phân loại rating. Các phương pháp đánh giá recommender system.

Content based filtering. Các thuật toán và phương pháp. Ưu điểm và nhược điểm. Neighborhood based collaborative filtering.

Ưu điểm và nhược điểm. Matrix factorization method. Ưu và nhược điểm. Deep learning method.

Autoencoder based recommender system. RNN for Clickstream recommender system. Ưu, nhược điểm của Deep Learning. Một số thư viện xây dựng Recommender System.Scaling recommender system.

Giới thiệu về Apache Spark. Kiến trúc của Spark.Các vấn đề khi xây dựng recommender system. Cold-Start Problem.Các phương pháp khuyến nghị hay nhưng chưa phổ biến 80 2. NGHIÊN CỨU THỰC NGHIỆM.

Thực nghiệm các phương pháp khuyến nghị. Thực nghiệm Content based filtering. Thực nghiệm Neighborhood based collaborative filtering. Thực nghiệm Matrix factorization method.

Thực nghiệm Deep learning method. Thực nghiệm ALS với Spark. Xây dựng ứng dụng minh họa. Ứng dụng mua bán khóa học online.

Ứng dụng blog cá nhân. Ứng dụng thương mại điện tử. Kết quả đạt được. Hướng phát triển.

TÀI LIỆU THAM KHẢO. Lý do chọn đề tài Trong bối cảnh xu hướng chuyển đổi số và khai thác dữ liệu ngày càng tăng, các hệ thống gợi ý (recommender system) đóng vai trò quan trọng trong nhiều lĩnh vực như thương mại điện tử, giải trí, giáo dục, và y tế, … Thế nên việc cung cấp những gợi ý phù hợp không chỉ giúp tăng tỷ lệ hài lòng của người dùng, mà còn nâng cao hiệu quả kinh doanh và gia tăng lợi nhuận cho các doanh nghiệp. Hướng nghiên cứu này đáng chú ý ở chỗ khả năng áp dụng rộng rãi và tính thực tiễn cao. Vì thế nên trong Đồ Án 1, nhóm quyết định lựa chọn đề tài "Tìm hiểu về Recommender System và xây dựng ứng dụng minh họa" với mong muốn: - Hiểu rõ nguyên lý vận hành của các hệ thống gợi ý, bao gồm các phương pháp phổ biến như Collaborative filtering, Content-based filtering và Hybrid methods.

- Đánh giá được tác động thực tế của hệ thống gợi ý trong các ngành nghề khác nhau, từ đó rút ra bài học và đề xuất cải tiến. - Tìm hiểu và áp dụng các công cụ, thuật toán tiên tiến trong lĩnh vực khoa học dữ liệu và machine learning để phát triển một hệ thống gợi ý. Với những lý do nêu trên, đề tài này không chỉ mang lại kiến thức chuyên môn đáng giá mà còn là bước đệm quan trọng trong việc định hướng nghiên cứu và áp dụng công nghệ vào thực tiễn sau này. Mục tiêu nghiên cứu Ở đề tài này, nhóm đã đặt ra các mục tiêu nghiên cứu như sau: - Khảo sát các phương pháp và thuật toán chính được sử dụng trong các hệ thống gợi ý, từ đó xây dựng nền tảng kiến thức vững chắc cho việc phát triển mô hình.

- Đánh giá hiệu quả và vai trò của các hệ thống gợi ý trong các lĩnh vực thực tiễn như thương mại điện tử, giáo dục,. - Thiết kế và triển khai một hệ thống gợi ý đơn giản để minh họa cách thức hoạt động của các thuật toán đã nghiên cứu, đồng thời đánh giá hiệu suất của hệ thống dựa trên các chỉ số như độ chính xác và mức độ hài lòng của người dùng. - Đưa ra các ý tưởng cải tiến hoặc ứng dụng mới dựa trên kết quả nghiên cứu và thử nghiệm, nhằm tối ưu hóa hiệu quả của hệ thống gợi ý trong các tình huống cụ thể. Đối tượng và phạm vi nghiên cứu 1.

Đối tượng nghiên cứu o Nghiên cứu các thuật toán chính như collaborative filtering (dựa trên sự hợp tác), content-based filtering (dựa trên nội dung), và hybrid methods (phương pháp lai) nhằm tìm hiểu cách mỗi phương pháp vận hành, ưu và nhược điểm trong từng trường hợp ứng dụng cụ thể. o Tìm hiểu về các hệ thống thực tế đang sử dụng recommender systems, bao gồm các nền tảng thương mại điện tử (như Amazon, Shopee), dịch vụ giải trí trực tuyến (như Netflix, Spotify), và các nền tảng giáo dục trực tuyến (như Coursera, Udemy). Từ đó phân tích cơ chế gợi ý mà các nền tảng này sử dụng. o Nghiên cứu các nguồn dữ liệu cần thiết để phát triển hệ thống gợi ý, bao gồm:  Hồ sơ người dùng, lịch sử tương tác, sở thích và hành vi.

 Thông tin về sản phẩm hoặc dịch vụ, các đặc điểm chi tiết của từng mục gợi ý.  Các đánh giá, nhận xét hoặc điểm số mà người dùng đưa ra, giúp làm cơ sở để cải thiện chất lượng gợi ý. o Phân tích nhóm người dùng mục tiêu của các hệ thống gợi ý, bao gồm thói quen sử dụng, mức độ hài lòng và kỳ vọng của người dùng đối với các gợi ý được đưa ra. o Đánh giá tác động của các hệ thống gợi ý đối với doanh nghiệp (tăng doanh thu, tối ưu hóa quảng cáo) và đối với người dùng (tăng trải nghiệm cá nhân hóa, tiết kiệm thời gian).

Nghiên cứu các thách thức liên quan đến tính công bằng, quyền riêng tư và bảo mật trong hệ thống gợi ý. Phạm vi nghiên cứu o Phạm vi lý thuyết  Tập trung vào các phương pháp phổ biến nhất trong hệ thống gợi ý như collaborative filtering, content-based filtering và hybrid methods.  Khảo sát các thuật toán cơ bản như matrix factorization, k-nearest neighbors (k-NN), và deep learning trong recommender systems.  Phân tích các ưu, nhược điểm của từng phương pháp để đưa ra sự so sánh và lựa chọn phù hợp cho từng ngữ cảnh ứng dụng.

o Phạm vi thực tiễn  Nghiên cứu các hệ thống gợi ý thực tế được áp dụng trên các nền tảng phổ biến như Amazon, Netflix, Spotify, Shopee, và các nền tảng học tập trực tuyến.  Đánh giá hiệu quả của các hệ thống gợi ý qua các chỉ số như MAE (Mean Average Error), RMSE (Root Mean Square Error), Hit Rate, …  Phân tích các bài toán thách thức như cold start (khởi đầu lạnh), scalability (khả năng mở rộng), và xử lý dữ liệu lớn. o Phạm vi dữ liệu  Tập trung vào dữ liệu người dùng, bao gồm lịch sử mua sắm, hành vi tương tác, và các đánh giá/điểm số từ người dùng.  Sử dụng các bộ dữ liệu công khai như MovieLens, Amazon Reviews để thực nghiệm và kiểm chứng các thuật toán.

 Xử lý dữ liệu bằng các công cụ và thư viện phổ biến như Pandas, NumPy, Scikit-learn,. o Giới hạn nghiên cứu  Không tập trung sâu vào các thuật toán tiên tiến và phức tạp nhất trong lĩnh vực recommender systems do giới hạn về thời gian và nguồn lực.  Chỉ triển khai hệ thống mẫu với quy mô nhỏ, phục vụ mục đích minh họa thay vì một sản phẩm hoàn chỉnh. Giới thiệu về recommender system 2.

Tổng quan - Recommender System, hay còn được gọi là hệ thống đề xuất/ hệ thống khuyến nghị, là một phần mềm hoặc hệ thống thông tin được thiết kế để tự động đưa ra gợi ý cho người dùng về các mục hoặc thông tin mà họ có thể quan tâm. Sự đề xuất này dựa trên việc phân tích và đánh giá dữ liệu lịch sử của người dùng, như lịch sử mua sắm, đánh giá, hay hành vi trực tuyến. Recommender System sử dụng các thuật toán và mô hình học máy để tối ưu hóa quá trình đề xuất, tạo ra trải nghiệm cá nhân hóa cho từng người dùng. - Nó ra đời nhằm giải quyết bài toán cơ bản trong việc kết nối người dùng với những sản phẩm, dịch vụ hoặc thông tin phù hợp, từ đó tối ưu hóa lợi ích cho cả người dùng và doanh nghiệp.

Mặc dù mục tiêu tổng thể thường xoay quanh việc tăng doanh thu và sự hài lòng của người dùng, hệ thống gợi ý còn có nhiều mục đích cụ thể, được chia thành các khía cạnh sau: o Tăng tính liên quan của gợi ý: Mục tiêu cốt lõi của mọi hệ thống gợi ý là đưa ra các đề xuất phù hợp và liên quan đến sở thích hoặc nhu cầu của người dùng. Người dùng thường có xu hướng tiêu thụ các sản phẩm hoặc dịch vụ mà họ cảm thấy hấp dẫn, vì vậy tính liên quan là yếu tố hàng đầu để tăng tỷ lệ chấp nhận các gợi ý. o Cung cấp sự mới mẻ: Hệ thống gợi ý mang lại giá trị thực sự khi đề xuất những mục mà người dùng chưa từng biết đến hoặc trải nghiệm trước đó. Ví dụ, việc giới thiệu một bộ phim hoặc sản phẩm mới trong thể loại mà người dùng yêu thích có thể khuyến khích họ khám phá thêm và nâng cao trải nghiệm cá nhân hóa.

o Tạo yếu tố bất ngờ: Tạo yếu tố bất ngờ hướng tới việc gợi ý những mục mà người dùng không ngờ tới nhưng lại phù hợp với sở thích tiềm ẩn của họ. Điều này không chỉ tăng trải nghiệm thú vị mà còn mở ra cơ hội khám phá những lĩnh vực hoặc sản phẩm mới mà người dùng chưa từng nghĩ tới trước đó.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ