Hệ thống này hoạt động dựa trên nguyên tắc lọc thông tin, thu thập dữ liệu về hành vi và sở thích của người dùng trong quá khứ, từ đó đưa ra những gợi ý phù hợp nhất cho nhu cầu của họ..
Trang 1TRƯỜNG ĐẠI HỌC PHENIKAA
KHOA CÔNG NGHỆ THÔNG TIN
⸎⸎⸎⸎⸎
BÀI TẬP LỚN KẾT THÚC HỌC KHAI PHÁ DỮ LIỆU
Đề bài: Hệ thống khuyến nghị (Recommendation systems)
Trang 2Mục Lục
CHƯƠNG 1 TỔNG QUAN VỀ HỆ GỢI Ý (RECOMMENDER SYSTEMS).3
1 Giới Thiệu 3
2 Recommender Systems 4
Chương 2: Thuật Toán Recommender Systems trong thực tế 12
3 Bộ dữ liệu Movielens: 12
4 Phân tích thống kê cơ bản 13
KẾT LUẬN 16
TÀI LIỆU THAM KHẢO 18
Trang 3CHƯƠNG 1 TỔNG QUAN VỀ HỆ GỢI Ý (RECOMMENDER SYSTEMS)
1 Giới Thiệu
Hệ thống gợi ý, hay còn gọi là Hệ thống đề xuất (Recommender System - RS),
là một công nghệ thông minh giúp dự đoán sở thích và đánh giá của người dùngđối với những sản phẩm hoặc thông tin mà họ chưa từng trải nghiệm Hệ thống này hoạt động dựa trên nguyên tắc lọc thông tin, thu thập dữ liệu về hành vi và
sở thích của người dùng trong quá khứ, từ đó đưa ra những gợi ý phù hợp nhất cho nhu cầu của họ
Hãy tưởng tượng bạn đang mua sắm trên Shopee Hệ thống gợi ý sẽ phân tích lịch sử mua hàng, xếp hạng sản phẩm và thời gian bạn dành cho từng sản phẩm
để dự đoán những món đồ bạn có thể quan tâm Nhờ vậy, bạn sẽ dễ dàng tìm thấy những sản phẩm phù hợp mà không cần tốn nhiều thời gian tìm kiếm.Ngoài lĩnh vực thương mại điện tử, hệ thống gợi ý còn được ứng dụng rộng rãi trong nhiều lĩnh vực khác như:
• Giải trí: Gợi ý bài hát (Last.fm), phim ảnh (Netflix), video clip (YouTube)
• Giáo dục và đào tạo: Gợi ý sách, bài báo, tài liệu học tập phù hợp với nhu cầu học tập của từng học viên
Hệ thống gợi ý không chỉ đơn thuần là một công cụ hỗ trợ tìm kiếm thông tin
mà còn là một lĩnh vực nghiên cứu khoa học đầy tiềm năng Với sự phát triển của trí tuệ nhân tạo và học máy, hệ thống gợi ý ngày càng trở nên thông minh
và chính xác hơn, giúp mang đến cho người dùng những trải nghiệm cá nhân
Trang 4hóa và hiệu quả.
Hội thảo chuyên đề về hệ thống gợi ý:
• ACM RecSys: Diễn đàn chuyên đề về hệ thống gợi ý được tổ chức hàng năm bởi Hiệp hội Máy tính Hoa Kỳ (ACM)
• ACM KDD: Hội nghị Khai phá tri thức trong Dữ liệu - Nơi có các tiểu bang dành riêng cho hệ thống gợi ý
• ACM CIKM: Hội nghị Quốc tế về Quản lý Thông tin và Kiến thức - Nơi có các tiểu bang dành riêng cho hệ thống gợi ý
Hệ thống gợi ý là một công nghệ đầy hứa hẹn, đóng vai trò quan trọng trong việc nâng cao trải nghiệm người dùng trong nhiều lĩnh vực khác nhau Với sự phát triển không ngừng của khoa học kỹ thuật, hệ thống gợi ý sẽ ngày càng trở nên thông minh và hữu ích hơn, giúp kết nối người dùng với những sản phẩm
và thông tin phù hợp nhất với nhu cầu của họ
2 Recommender Systems
Trang 52.1.Các khái niệm
Hệ thống gợi ý hoạt động dựa trên ba yếu tố chính: người dùng (user), mục tin (item) và phản hồi (feedback) của người dùng đối với mục tin đó Phản hồi thường được biểu thị dưới dạng xếp hạng (rating) thể hiện mức độ thích hoặc quan tâm củangười dùng
Tất cả thông tin này được biểu diễn dưới dạng ma trận, như hình 2 Mỗi dòng trong
ma trận đại diện cho một người dùng, mỗi cột đại diện cho một mục tin và mỗi ô thể hiện mức độ thích của người dùng đối với mục tin tương ứng Các ô có giá trị
là những mục tin mà người dùng đã đánh giá trong quá khứ, còn lại là những mục tin chưa được đánh giá Do mỗi người dùng chỉ đánh giá một số lượng nhỏ mục tin, nên ma trận này thường có rất nhiều ô trống, hay còn gọi là ma trận thưa
Nhiệm vụ chính của hệ thống gợi ý là dựa vào những ô đã có giá trị trong ma trận (dữ liệu quá khứ) để dự đoán mức độ thích của người dùng đối với những mục tin chưa được đánh giá Sau đó, hệ thống sẽ sắp xếp các dự đoán này theo thứ tự từ cao xuống thấp và chọn ra Top-N mục tin phù hợp nhất để gợi ý cho người dùng
Ví dụ:
Giả sử bạn là một người dùng trên Netflix Hệ thống gợi ý sẽ thu thập dữ liệu về những bộ phim bạn đã xem và đánh giá trong quá khứ Sau đó, dựa vào dữ liệu
Trang 6này, hệ thống sẽ dự đoán những bộ phim bạn có thể thích và gợi ý cho bạn những lựa chọn phù hợp nhất.
Hệ thống gợi ý đóng vai trò quan trọng trong việc giúp người dùng khám phá những sản phẩm và thông tin phù hợp với sở thích của họ Nhờ có hệ thống này, người dùng có thể tiết kiệm thời gian và công sức tìm kiếm, đồng thời có thể trải nghiệm những sản phẩm và dịch vụ tốt hơn
Hệ thống gợi ý hoạt động dựa trên các thuật toán học máy tiên tiến, giúp dự đoán
sở thích của người dùng một cách chính xác và hiệu quả
Lưu ý:
• Ma trận thưa (sparse matrix): là ma trận có nhiều ô trống hơn ô có giá trị
• Top-N: là danh sách N mục tin có mức độ phù hợp cao nhất với người dùng
2.2.Thông tin phản hồi từ người dùng và hai dạng bài toán trong RS
Hệ thống đề xuất (RS) sử dụng giá trị phản hồi để dự đoán hành vi của người dùng
Giá trị phản hồi (feedback) đóng vai trò quan trọng trong hệ thống đề xuất (RS)
Nó thể hiện mức độ tương tác của người dùng với các mục tin (item) và được sử dụng để dự đoán hành vi của họ trong tương lai
Có hai loại phản hồi chính:
Phản hồi tường minh (explicit feedback): được thể hiện rõ ràng qua các
hành động như đánh giá, xếp hạng (ví dụ: từ 1 đến 5 sao), thích (like) hoặc không thích (dislike)
Phản hồi không tường minh (implicit feedback): được thể hiện qua hành
vi tương tác như số lần click chuột, thời gian xem, thời gian duyệt, v.v
Trang 7Có hai dạng bài toán chính trong RS:
Dự đoán xếp hạng (rating prediction): áp dụng cho hệ thống có phản hồi
tường minh, dự đoán mức độ đánh giá của người dùng cho các mục tin
Dự đoán mục thông tin (item prediction/recommendation): xác định xác
suất người dùng thích một mục tin cụ thể, thường được sử dụng trong hệ thống có phản hồi không tường minh
Ví dụ:
Hệ thống thương mại điện tử: sử dụng xếp hạng sản phẩm để dự đoán
những sản phẩm nào mà người dùng có khả năng mua cao
Hệ thống e-learning: sử dụng kết quả bài tập để dự đoán những bài học nào
mà người dùng cần học thêm
Giá trị phản hồi là yếu tố then chốt giúp RS hoạt động hiệu quả Việc thu thập và
sử dụng phản hồi một cách chính xác sẽ giúp hệ thống đưa ra những dự đoán chínhxác hơn về hành vi của người dùng, từ đó cung cấp cho họ những mục tin phù hợp
và hữu ích nhất
2.3.Các kĩ thuật chính trong Recommender Systems
Hiện tại, trong RS có rất nhiều giải thuật được đề xuất, tuy nhiên có thể gom chúngvào trong các nhóm chính: nhóm giải thuật lọc theo nội dung (content-based
filtering), nhóm giải thuật lọc cộng tác (collaborative filtering), nhóm giải thuật lai ghép (hybrid filtering) và nhóm giải thuật không cá nhân hóa (non-
personalization)
2.3.1 Lọc cộng tác
Trang 8Một hướng tiếp cận phổ biến trong thiết kế hệ thống đề xuất (RS) là sử dụng lọc cộng tác Các phương pháp lọc cộng tác tập trung vào việc thu thập và phân tích thông tin lớn về hành vi, hoạt động hoặc sở thích của người dùng để dự đoán sự thích hợp của họ dựa trên mức độ tương đồng với người dùng khác Một điểm mạnh quan trọng của lọc cộng tác là không phụ thuộc vào việc phân tích nội dung của mục, cho phép nó đề xuất hiệu quả các mục phức tạp như phim mà không cần
"hiểu biết" chi tiết về chúng Có nhiều thuật toán được áp dụng để đo lường sự giống nhau giữa người dùng hoặc mức độ tương đồng về mục trong các hệ thống
đề xuất
Lọc cộng tác dựa trên giả định rằng những người đồng ý về sở thích trong quá khứ
sẽ tiếp tục đồng ý trong tương lai và rằng họ sẽ thích những mục tương tự như những gì họ thích trước đây Khi xây dựng mô hình từ hành vi của người dùng, sự phân biệt thường được thực hiện giữa việc thu thập dữ liệu rõ ràng và dữ liệu tiềm ẩn
Dữ liệu rõ ràng có thể bao gồm yêu cầu người dùng xếp hạng, tìm kiếm, xếp hạng
bộ sưu tập, so sánh mục, hoặc yêu cầu người dùng tạo danh sách các mục mà họ thích Dữ liệu tiềm ẩn có thể được thu thập bằng cách quan sát mục mà người dùngxem, phân tích thời gian xem, lưu giữ mục mà người dùng mua trực tuyến, hoặc theo dõi mục người dùng đã nghe hoặc xem trực tuyến
Hệ thống đề xuất so sánh dữ liệu đã thu thập với dữ liệu tương tự và khác biệt từ người dùng khác nhau để tính toán danh sách các mục đề xuất Tính đến nhược điểm của lọc cộng tác, bao gồm vấn đề Cold Start, khả năng mở rộng và sự thưa thớt, là quan trọng để phát triển các phương pháp khắc phục những vấn đề này.Một ví dụ nổi tiếng về lọc cộng tác là lọc cộng tác theo từng mục, như được sử dụng rộng rãi trong hệ thống gợi ý của Amazon.com Các ứng dụng khác của lọc
Trang 9cộng tác bao gồm các dịch vụ như Last.fm và Readgeek, cũng như sử dụng trong các mạng xã hội như Facebook, MySpace và LinkedIn để giới thiệu bạn bè và kết nối xã hội Các thuật toán lọc cộng tác thường gặp thách thức từ ba vấn đề chính: Cold Start, khả năng mở rộng và sự thưa thớt (sparsity).
Một trong những kỹ thuật cụ thể trong lọc cộng tác là sử dụng hệ số ma trận hóa (matrix factorization), một phương pháp xấp xỉ ma trận cấp thấp Các phương pháplọc cộng tác có thể được phân loại thành dựa trên bộ nhớ và dựa trên mô hình, với
ví dụ về phương pháp dựa trên bộ nhớ như thuật toán dựa trên người dùng và phương pháp dựa trên mô hình như Kernel-Mapping Recommender
2.3.2 Lọc dựa trên nội dụng
Một phương pháp phổ biến trong thiết kế hệ thống gợi ý là sử dụng lọc nội dung Phương pháp này dựa trên việc mô tả các mục hàng và xây dựng hồ sơ người dùng dựa trên tùy chọn của họ Từ khóa được sử dụng để mô tả mục hàng, trong khi hồ
sơ người dùng được tạo để chỉ ra loại mục mà người dùng thích Cụ thể, các thuật toán so sánh các mục đề cử với các mục mà người dùng đã thích trước đó, và đề xuất những mục phù hợp nhất
Để tóm tắt tính năng của các mục, thuật toán thường sử dụng biểu diễn tf-idf (term frequency-inverse document frequency), còn được gọi là biểu diễn không gian vectơ Hồ sơ người dùng chủ yếu tập trung vào mô hình ưu tiên của người dùng và lịch sử tương tác của họ với hệ thống gợi ý
Hệ thống tạo hồ sơ dựa trên nội dung của người dùng, sử dụng vectơ trọng số của các đối tượng địa lý Trọng số này biểu thị tầm quan trọng của từng tính năng đối với người dùng và có thể được tính từ các vectơ nội dung được xếp hạng bằng nhiều kỹ thuật khác nhau Phản hồi từ người dùng, như nút thích hoặc không thích,
Trang 10có thể được sử dụng để đánh giá cao hoặc thấp tầm quan trọng của các thuộc tính
cụ thể
Tuy nhiên, một thách thức quan trọng là hệ thống có thể hạn chế việc đề xuất nội dung từ cùng một loại, giảm giá trị so với việc đề xuất nội dung từ các loại khác
Ví dụ, giới thiệu tin tức có thể hữu ích, nhưng sẽ trở nên mạnh mẽ hơn nếu có thể
đề xuất âm nhạc, video, sản phẩm, cuộc thảo luận, và nhiều loại nội dung khác từ các nguồn khác nhau
Pandora Radio là một ví dụ về hệ thống gợi ý dựa trên nội dung, trong đó người dùng cung cấp hạt giống ban đầu bằng cách chọn một bài hát Ngoài ra, có nhiều
hệ thống gợi ý khác, như Rotten Tomatoes, Internet Movie Database, Jinni, Rovi Corporation và Jaman, nhằm đề xuất phim dựa trên nội dung Các hệ thống gợi ý cũng được sử dụng trong lĩnh vực nghiên cứu để đề xuất tài liệu liên quan và trong lĩnh vực y tế để cá nhân hóa giáo dục sức khỏe và chiến lược phòng ngừa
2.3.3 Hệ thống gợi ý lai( Hybrid recommender systems)
Nghiên cứu gần đây đã khẳng định rằng sự kết hợp giữa lọc cộng tác và lọc dựa trên nội dung có thể mang lại hiệu suất tốt hơn trong một số trường hợp Phương pháp lai có thể được triển khai theo một số cách khác nhau:
Dự đoán dựa trên nội dung và lọc cộng tác riêng lẻ, sau đó kết hợp chúng
Thêm khả năng dựa trên nội dung vào phương pháp lọc cộng tác (và ngược lại).Thống nhất các phương pháp tiếp cận thành một mô hình duy nhất
Nghiên cứu đã thực nghiệm và so sánh hiệu suất của phương pháp lai với các phương pháp cộng tác thuần túy và chứng minh rằng phương pháp lai có thể cung cấp đề xuất chính xác hơn so với các phương pháp thuần túy Đối với các vấn đề
Trang 11như Cold Start và vấn đề thưa thớt trong hệ thống gợi ý, phương pháp lai cũng có khả năng giải quyết.
Netflix là một ví dụ điển hình cho việc sử dụng hệ thống gợi ý lai Trang web này đưa ra các đề xuất bằng cách so sánh thói quen xem và tìm kiếm của những người dùng tương tự (lọc cộng tác), cũng như bằng cách cung cấp những bộ phim có chung đặc điểm với những bộ phim mà người dùng đánh giá cao (lọc dựa trên nội dung)
Có nhiều kỹ thuật đã được đề xuất làm cơ sở cho các hệ thống gợi ý, bao gồm các
kỹ thuật hợp tác (collaborative), dựa trên nội dung (content-based), dựa trên kiến thức (knowledge-based) và nhân khẩu học (demographic techniques) Các hệ thốnggợi ý lai kết hợp nhiều kỹ thuật này để tận dụng sức mạnh tổng hợp của chúng
• Cộng tác – Collaborative: Hệ thống tạo đề xuất chỉ sử dụng thông tin về hồ
sơ xếp hạng cho những người dùng hoặc mục khác nhau Các hệ thống cộng tác định vị “người dùng/mục” ngang hàng với lịch sử xếp hạng tương tự như người dùng hoặc mục hiện tại và tạo đề xuất sử dụng vùng lân cận này Các thuật toán dựa trên người dùng và dựa trên hàng gần nhất có thể được kết hợp để giải quyết vấn đề Cold Start và cải thiện kết quả đề xuất
• Dựa trên nội dung – Content-based: Hệ thống tạo đề xuất từ hai nguồn: các tính năng liên quan đến sản phẩm và xếp hạng mà người dùng đã cung cấp cho họ
Đề xuất dựa trên nội dung coi đề xuất là sự cố phân loại người dùng cụ thể và tìm hiểu trình phân loại cho lượt thích và không thích của người dùng dựa trên các tínhnăng của sản phẩm
• Nhân khẩu học – demographic techniques: Trình giới thiệu nhân khẩu học cung cấp các đề xuất dựa trên hồ sơ nhân khẩu học của người dùng Sản phẩm
Trang 12được đề xuất có thể được sản xuất cho các mục nhân khẩu học khác nhau, bằng cách kết hợp xếp hạng của người dùng trong các mục đó.
• Dựa trên tri thức – knowledge-based: Trình giới thiệu dựa trên kiến thức gợi
ý các sản phẩm dựa trên các suy luận về nhu cầu và sở thích của người dùng Kiến thức này đôi khi sẽ chứa kiến thức chức năng rõ ràng về cách các tính năng sản phẩm nhất định đáp ứng nhu cầu của người dùng
Các phương pháp cộng tác tập trung vào thông tin về hồ sơ xếp hạng của những người dùng hoặc mục khác nhau Các phương pháp dựa trên nội dung sử dụng tính năng liên quan đến sản phẩm và xếp hạng của người dùng Phương pháp nhân khẩuhọc cung cấp đề xuất dựa trên hồ sơ nhân khẩu học của người dùng Phương pháp dựa trên kiến thức sử dụng suy luận về nhu cầu và sở thích của người dùng Hybridrecommender systems kết hợp nhiều phương pháp để tạo ra dữ liệu đầu ra chính xác và đa dạng
Có bảy kĩ thuật lai cơ bản
• Có trọng số (Weighted): Điểm số của các thành phần đề xuất khác nhau được kết hợp theo số lượng
• Chuyển đổi (Switching): Hệ thống chọn giữa các thành phần đề xuất và áp dụng hệ thống được chọn
• Hỗn hợp (Mixed): Các khuyến nghị từ những người giới thiệu khác nhau được trình bày cùng nhau để đưa ra đề xuất
• Kết hợp tính năng (Feature Combination): Các tính năng được lấy từ các nguồn tri thức khác nhau được kết hợp với nhau và được đưa ra cho một thuật toángợi ý duy nhất
Trang 13• Tính năng tăng cường (Feature Augmentation): Một kỹ thuật gợi ý được sử dụng để tính toán một tính năng hoặc tập hợp các tính năng, sau đó là một phần của đầu vào cho kỹ thuật tiếp theo.
• Cascade: Các khuyến nghị được ưu tiên nghiêm ngặt, với những ưu tiên thấphơn phá vỡ các mối quan hệ trong việc tính điểm của những người cao hơn
• Cấp độ meta (Meta-level): Một kỹ thuật đề xuất được áp dụng và tạo ra một
số loại mô hình, sau đó là đầu vào được sử dụng bởi kỹ thuật tiếp theo
2.3.4 Các kĩ thuật không cá nhân hóa
Các kỹ thuật trong nhóm này thường được tích hợp dễ dàng vào các website hoặc
hệ thống, đặc biệt là trên các trang thương mại, tin tức, và giải trí Ví dụ, trong hệ thống bán hàng trực tuyến, thường xuyên sử dụng các kỹ thuật này để gợi ý các sảnphẩm phổ biến, mới nhất, cùng loại, hoặc thường được mua kèm Một ứng dụng điển hình là sử dụng luật kết hợp (như Apriori) trong hệ thống của Amazon, giúp xác định các sản phẩm thường được mua cùng nhau, như được minh họa trong Hình 4