Giới thiệu về Hệ thống tư vấn Recommender Systems – RS:Hệ thống tư vấn Recommender Systems – RS là một loại phần mềm hoặc công nghệ tích hợp các thuật toán và dữ liệu để tư vấn và hỗ trợ
Trang 1THÀNH PHỐ HỒ CHÍ MINH2022-2023
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Lời cảm ơn
Lời đầu tiên, nhóm em xin gửi lời cám ơn sâu sắc thầy Nhã đã hướng dẫn, giúp đỡnhóm em trong qua trình học tập Qua bài tập nhóm này, em đã có thể nắm rõ hơn về bộ môn Hệ tư vấn thông tin, cũng như cách vận dụng bộ môn này vào thực tiễn, rút ra nhiều bài học và kinh nghiệm để có thể thu được kinh nghiệm thực tiễn một cách hiệu quả nhất
Do chưa có nhiều kinh nghiệm làm đề tài cũng như hạn chế về kiến thức, nên chắcchắn trong bài tập này sẽ không tránh khỏi những thiếu sót Nhóm em rất mong nhận được sự nhận xét, ý kiến đóng góp, phê bình từ phía thầy để bài đồ án được hoàn thiện hơn
Em rất vui khi được học với thầy trong học phần này, nếu có thể em mong là sẽ gặp lại thầy trong nhiều học phần khác trong năm học tiếp theo Cảm ơn thầy vì đã giúp
đỡ bọn em trong khoảng thời gian vừa qua Chúng em xin chân thành cảm ơn !
Thành phố Hồ Chí Minh, ngày 18 tháng 3 năm 2023.
Trang 3Mục lục
Lời cảm ơn 2
I Tổng quan hệ thống tư vấn: 4
1 Giới thiệu về Hệ thống tư vấn (Recommender Systems – RS): 4
2 Khái niệm trong RS: 4
3 Thông tin phản hồi từ người dùng và hai dạng bài toán chính trong RS: 4
II Những lĩnh vực ứng dụng của hệ thống tư vấn: 5
1 Thương mại điện tử: 6
2 Bán lẻ: 6
3 Truyền thông: 7
4 Ngân hàng: 7
5 Viễn thông: 8
6 Tiện ích: 8
III Chức năng hệ thống tư vấn: 9
IV Phân loại hệ thống tư vấn: 10
1 Lọc cộng tác: 11
2 Lọc dựa trên nội dung: 13
3 Hệ thống gợi ý lai (Hybrid recommender systems): 16
4 Có bảy kỹ thuật lai cơ bản (hybridization techniques): 19
5 Các kỹ thuật không cá nhân hóa: 19
6 Áp dụng kỹ thuật mới: 20
KẾT LUẬN 21
Nguồn tham khảo 22
Trang 4I. Tổng quan hệ thống tư vấn:
1 Giới thiệu về Hệ thống tư vấn (Recommender Systems – RS):
Hệ thống tư vấn (Recommender Systems – RS) là một loại phần mềm hoặc công nghệ tích hợp các thuật toán và dữ liệu để tư vấn và hỗ trợ người dùng trong việc giải quyết các vấn đề hoặc đưa ra các quyết định thông minh (là một hệ thống lọc thông tin đặc biệt, hệ thống cho phép lọc thông tin dựa trên sự quan tâm của người dùng và nội dung của văn bản)
Ví dụ, trong hệ thống bán hàng trực tuyến (chẳng hạn như Amazon), nhằm tối ưu hóa khả năng mua sắm của khách hàng (user), người ta quan tâm đến việc những khách hàng nào đã ‘yêu thích’ những sản phẩm (item) nào bằng cách dựa vào dữ liệu quá khứ của họ (dữ liệu này có thể là xếp hạng mà người dùng đã bình chọn trên sản phẩm, thời gian duyệt (browse) trên sản phẩm, số lần click chuột trên sản phẩm, ) từ đó hệ thống sẽ
dự đoán được người dùng có thể thích sản phẩm nào và đưa ra những gợi ý phù hợp cho họ
2 Khái niệm trong RS:
Hệ thống tư vấn trong RS (Recommendation System) là một phần mềm hoặc dịch
vụ trực tuyến được thiết kế để giúp người dùng tìm kiếm và phân loại thông tin theo sở thích cá nhân của họ Hệ thống này sử dụng các thuật toán máy học để phân tích lịch sử tìm kiếm và hoạt động của người dùng, từ đó đưa ra các gợi ý và khuyến nghị về các sản phẩm, dịch vụ hoặc nội dung liên quan
3 Thông tin phản hồi từ người dùng và hai dạng bài toán chính trong RS:
Thông tin phản hồi từ người dùng là một yếu tố quan trọng trong hệ thống RS Khi người dùng tương tác với hệ thống, ví dụ như đánh giá sản phẩm, nhấn vào các liên kết gợi ý hoặc đăng ký nhận thông tin, hệ thống sẽ thu thập các dữ liệu này để cải thiện khả năng tư vấn
Có hai dạng bài toán chính trong RS:
- Bài toán tiên đoán (Prediction problem): Bài toán này liên quan đến việc dự
đoán sở thích của người dùng cho các sản phẩm, dịch vụ hoặc nội dung tương tự mà họ
Trang 5đã tương tác trước đó Để giải quyết bài toán này, hệ thống RS sử dụng các thuật toán tiênđoán, ví dụ như collaborative filtering (lọc cộng tác) hoặc content-based filtering (lọc dựatrên nội dung).
- Bài toán xếp hạng (Ranking problem): Bài toán này liên quan đến việc sắp xếp
và đưa ra các gợi ý sản phẩm, dịch vụ hoặc nội dung tốt nhất cho người dùng Hệ thống
RS sử dụng các thuật toán xếp hạng như collaborative ranking (xếp hạng cộng tác) hoặc content-based ranking (xếp hạng dựa trên nội dung) để giải quyết bài toán này
Từ các kết quả dự đoán và xếp hạng, hệ thống RS đưa ra các gợi ý sản phẩm, dịch vụ hoặc nội dung tương tự mà người dùng đã tương tác trước đó, tạo ra trải nghiệm người dùng tốt hơn và tăng cường doanh số bán hàng cho các doanh nghiệp
Hiện tại, các công ty lớn như Amazon, Netflix, Launch, Google, YouTube và Facebook đang sử dụng và dựa nhiều vào hệ thống giới thiệu để bán sản phẩm và dịch vụ của họ bằng cách giới thiệu các mặt hàng phù hợp nhất cho người dùng, giúp tăng doanh thu đáng kể
- Recommendation Systems được chia làm 3 loại:
Collaborative Filtering (lọc cộng tác)
Content-Based Filtering (lọc dựa trên nội dung)
Hybrid Recommendation Systems (Hệ thống khuyến nghị lại)
II Những lĩnh vực ứng dụng của hệ thống tư vấn:
Hầu như bất kỳ doanh nghiệp nào cũng có thể hưởng lợi từ một hệ thống đề xuất Có hai khía cạnh quan trọng quyết định mức độ lợi ích mà một doanh nghiệp có thể đạt được
từ công nghệ
Độ rộng của dữ liệu: Một doanh nghiệp chỉ phục vụ một số ít khách hàng cư xử theo những cách khác nhau sẽ không nhận được nhiều lợi ích từ hệ thống đề xuất tự động Con người vẫn tốt hơn nhiều so với máy móc trong lĩnh vực học hỏi từ một vài ví
dụ Trong những trường hợp như vậy, nhân viên của bạn sẽ sử dụng logic và sự hiểu biết định tính và định lượng của họ về khách hàng để đưa ra các khuyến nghị chính xác
Trang 6Độ sâu của dữ liệu: Có một điểm dữ liệu duy nhất trên mỗi khách hàng cũng không hữu ích cho các hệ thống đề xuất Dữ liệu chuyên sâu về các hoạt động trực tuyến của khách hàng và, nếu có thể, mua hàng ngoại tuyến có thể hướng dẫn các đề xuất chínhxác Với khuôn khổ này, chúng ta có thể xác định các ngành có lợi ích từ các hệ thống đề xuất:
1 Thương mại điện tử:
Là một ngành công nghiệp nơi các hệ thống khuyến nghị lần đầu tiên được sử dụng rộng rãi Với hàng triệu khách hàng và dữ liệu về hành vi trực tuyến của họ, các công ty thương mại điện tử phù hợp nhất để đưa ra các đề xuất chính xác
2 Bán lẻ:
Dữ liệu mua sắm là dữ liệu có giá trị nhất vì nó là điểm dữ liệu trực tiếp nhất về ý định của khách hàng Các nhà bán lẻ với kho dữ liệu mua sắm luôn đi đầu trong việc các công ty đưa ra các khuyến nghị chính xác
Trang 9Ngoài lĩnh vực thương mại điện tử như đã thấy ở ví dụ trên, hiện tại RScũng được ứng dụng khá thành công trong nhiều lĩnh vực khác như trong giảitrí: gợi ý bài hát cho người nghe (ví dụ, hệ thống của LastFM - www.last.fm),gợi ý phim ảnh (ví dụ, hệ thống của Netflix - www.netflix.com), gợi ý các video clip (ví dụ, hệ thống của YouTube - www.youtube.com); trong giáo dục và đào tạo (gợi ý nguồn tài nguyên học tập như sách, bài báo, địa chỉ web,… cho người học)
III Chức năng hệ thống tư vấn:
Hệ thống tư vấn, hay còn gọi là hệ thống chuyên môn, là một hệ thống có chức năng giúp người sử dụng tìm các thông tin và tư vấn chuyên môn trong một lĩnh vực cụ thể Hệthống tư vấn thường bao gồm các chuyên gia và kiến thức chuyên môn được tích hợp vàomột hệ thống thông tin nhằm giúp người dùng có thể tiếp cận và tìm kiếm thông tin một cách dễ dàng
Các chức năng chính của hệ thống tư vấn bao gồm:
Cung cấp thông tin và kiến thức chuyên môn: Hệ thống tư vấn cung cấp cho ngườidùng những thông tin chuyên sâu và kiến thức chuyên môn trong lĩnh vực mà hệ thống tưvấn hướng đến
Tư vấn, giải đáp thắc mắc: Hệ thống tư vấn giúp người dùng giải quyết các thắc mắc, vấn đề cụ thể trong lĩnh vực mà hệ thống chuyên trách
Trang 10Hỗ trợ ra quyết định: Bằng việc cung cấp thông tin và tư vấn của chuyên gia, hệ thống giúp người dùng có cơ sở để đưa ra quyết định đúng đắn hơn.
Tự động hóa quy trình: Một số hệ thống tư vấn có khả năng tự động hóa quy trình
tư vấn và giải đáp thắc mắc ở một mức độ nào đó Điều này giúp tiết kiệm thời gian và tăng độ chính xác
Cá nhân hóa cho từng người dùng: Một hệ thống tư vấn tốt có thể cá nhân hóa thông tin và lời khuyên cho từng người dùng dựa trên hồ sơ và nhu cầu của họ Điều này làm cho sự tương tác trở nên phù hợp và hữu ích hơn
Sẵn sàng mọi lúc mọi nơi: Người dùng có thể truy cập vào hệ thống tư vấn thông tin mọi lúc mọi nơi thông qua Internet Điều này mang lại rất nhiều tiện lợi và linh hoạt.Giảm chi phí: Hệ thống tư vấn tự động có thể xử lý nhiều câu hỏi đơn giản và lặp
đi lặp lại, giúp giảm chi phí thuê nhiều nhân viên tư vấn Tuy nhiên, các chuyên gia về con người vẫn cần thiết cho những vấn đề phức tạp hơn
Tóm lại, một hệ thống tư vấn thông tin nhằm cung cấp cho người sử dụng những thông tin và lời khuyên chuyên biệt một cách thuận tiện, cá nhân hóa và tiết kiệm chi phí Mặc
dù hệ thống không thể thay thế hoàn toàn các chuyên gia con người, nhưng nó đóng một vai trò quan trọng trong việc hỗ trợ và trợ giúp họ
IV Phân loại hệ thống tư vấn:
Trang 11Hiệ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 (hybridfiltering) và nhóm giải thuật không cá nhân hóa (non-personalization).
1 Lọc cộng tác:
Một cách tiếp cận để thiết kế các hệ thống recommender được sử dụng rộng rãi là lọccộng tác Các phương pháp lọc cộng tác dựa trên việc thu thập và phân tích một lượnglớn thông tin về hành vi, hoạt động hoặc sở thích của người dùng và dự đoán những gìngười dùng sẽ thích dựa trên sự tương đồng của họ với người dùng khác Một lợi thếquan trọng của phương pháp lọc cộng tác là nó không dựa vào nội dung phân tích máy và
do đó nó có khả năng đề xuất chính xác các mục phức tạp như phim mà không yêu cầu
“hiểu biết” về mục đó Nhiều thuật toán đã được sử dụng để đo lường sự giống nhau củangười dùng hoặc sự tương đồng về mặt hàng trong các hệ thống giới thiệu Ví dụ, cáchtiếp cận hàng xóm gần nhất (k-nearest neighbor) và Pearson Correlation được Allen triểnkhai lần đầu tiên
Trang 12Lọc cộng tác dựa trên giả định rằng những người đã đồng ý trong quá khứ sẽ đồng ýtrong tương lai và rằng họ sẽ thích các loại mặt hàng tương tự như họ thích trong quákhứ.
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ựchiện giữa các hình thức thu thập dữ liệu rõ ràng và tiềm ẩn
Ví dụ về thu thập dữ liệu rõ ràng bao gồm:
Yêu cầu người dùng xếp hạng một mục trên thang trượt
Yêu cầu người dùng tìm kiếm
Yêu cầu người dùng xếp hạng một bộ sưu tập các mục từ yêu thích đến ít yêuthích nhất
Trình bày hai mục cho một người dùng và yêu cầu anh ta / cô ấy chọn một trong
số chúng tốt hơn
Yêu cầu người dùng tạo danh sách các mục mà anh / cô ấy thích
Ví dụ về thu thập dữ liệu ngầm bao gồm:
Quan sát các mục mà người dùng xem trong cửa hàng trực tuyến
Phân tích thời gian xem mục / người dùng
Lưu giữ một bản ghi các mục mà người dùng mua trực tuyến
Lấy danh sách các mục mà người dùng đã nghe hoặc xem trên máy tính của họ.Phân tích mạng xã hội của người dùng và khám phá những lượt thích và khôngthích tương tự
Hệ thống recommender so sánh dữ liệu đã thu thập với dữ liệu tương tự và khác nhauđược thu thập từ những người khác và tính toán danh sách các mục được đề xuất chongười dùng Một số ví dụ thương mại và phi thương mại được liệt kê trong bài viết về các
Trang 13Như đã đề cập chi tiết ở trên, Last.fm đề xuất âm nhạc dựa trên so sánh thói quennghe của những người dùng tương tự, trong khi Readgeek so sánh xếp hạng sách cho các
đề xuất
Facebook , MySpace , LinkedIn và các mạng xã hội khác sử dụng tính năng lọccộng tác để giới thiệu bạn bè, nhóm và các kết nối xã hội khác (bằng cách kiểm tra mạngkết nối giữa người dùng và bạn bè của họ) Twitter sử dụng nhiều tín hiệu và tính toántrong bộ nhớ để giới thiệu cho người dùng của họ rằng họ nên “theo dõi”
Các phương pháp lọc cộng tác thường gặp phải ba vấn đề: Cold Start, khả năng
Sparsity: Số lượng các mặt hàng được bán trên các trang web thương mại điện tửlớn là cực kỳ lớn Những người dùng tích cực nhất sẽ chỉ đánh giá một tập con nhỏ của
cơ sở dữ liệu tổng thể Do đó, ngay cả những mặt hàng phổ biến nhất cũng có rất ít xếphạng
Một loại thuật toán lọc cộng tác cụ thể sử dụng hệ số ma trận hóa (matrixfactorization), kỹ thuật xấp xỉ ma trận cấp thấp (low-rank matrix approximation).Các phương pháp lọc cộng tác được phân loại là bộ lọc cộng tác dựa trên bộ nhớ vàdựa trên mô hình Một ví dụ nổi tiếng về các phương pháp dựa trên bộ nhớ là thuật toándựa trên người dùng và các phương pháp dựa trên mô hình là Kernel-MappingRecommender
2 Lọc dựa trên nội dung:
Trang 14Một cách tiếp cận phổ biến khác khi thiết kế hệ thống recommender là lọc nộidung Phương pháp lọc dựa trên nội dung dựa trên mô tả về mặt hàng và hồ sơ về các tùychọn của người dùng.
Trong hệ thống gợi ý dựa trên nội dung, từ khóa được sử dụng để mô tả các mục và
hồ sơ người dùng được xây dựng để chỉ ra loại mục mà người dùng này thích Nói cáchkhác, các thuật toán này cố gắng đề xuất các mục tương tự với các mục mà người dùng
đã thích trong quá khứ (hoặc đang kiểm tra trong hiện tại) Cụ thể, các mục đề cử khácnhau được so sánh với các mục được đánh giá trước đây bởi người dùng và các mục phùhợp nhất được đề xuất Cách tiếp cận này có nguồn gốc từ việc thu thập thôngtin và nghiên cứu lọc thông tin
Để tóm tắt các tính năng của các mục trong hệ thống, một thuật toán trình bày mụcđược áp dụng Một thuật toán được sử dụng rộng rãi là biểu diễn tf – idf (còn được gọi làbiểu diễn không gian vectơ)
Để tạo hồ sơ người dùng, hệ thống chủ yếu tập trung vào hai loại thông tin:
1 Một mô hình ưu tiên của người dùng
2 Lịch sử tương tác của người dùng với hệ thống gợi ý
Trang 15Về cơ bản, các phương thức này sử dụng một hồ sơ mặt hàng (ví dụ, một tập hợp cácthuộc tính và tính năng rời rạc) mô tả mục trong hệ thống Hệ thống tạo hồ sơ dựa trênnội dung của người dùng dựa trên vectơ trọng số của các đối tượng địa lý Trọng số biểuthị 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ácvectơ nội dung được xếp hạng riêng lẻ bằng nhiều kỹ thuật Các phương pháp đơn giản
sử dụng các giá trị trung bình của vector hạng mục trong khi các phương pháp phức tạpkhác sử dụng các kỹ thuật máy học như Bayesian Classifiers , phân tích cụm , cây quyếtđịnh và mạng thần kinh nhân tạo (artificial neural networks) để ước tính xác suất ngườidùng sẽ thích mục đó
Phản hồi trực tiếp từ người dùng, thường dưới dạng nút thích hoặc không thích , cóthể được sử dụng để gán trọng số cao hơn hoặc thấp hơn về tầm quan trọng của các thuộctính nhất định (sử dụng phân loại Rocchio hoặc các kỹ thuật tương tự khác)
Một vấn đề quan trọng với lọc dựa trên nội dung là liệu hệ thống có thể tìm hiểu cáctùy chọn của người dùng từ hành động của người dùng liên quan đến một nguồn nội dunghay không và sử dụng chúng trên các loại nội dung khác Khi hệ thống bị hạn chế đề xuấtnội dung cùng loại với người dùng đang sử dụng, giá trị từ hệ thống đề xuất thấp hơnđáng kể so với các loại nội dung khác từ các dịch vụ khác có thể được đề xuất Ví dụ:giới thiệu các bài viết tin tức dựa trên việc duyệt tin tức hữu ích nhưng sẽ hữu ích hơnnhiều khi bạn có thể đề xuất âm nhạc, video, sản phẩm, cuộc thảo luận, v.v từ các dịch vụkhác nhau dựa trên duyệt tin tức
Pandora Radio là một ví dụ về hệ thống giới thiệu dựa trên nội dung phát nhạc có cácđặc điểm tương tự như một bài hát do người dùng cung cấp làm hạt giống ban đầu Ngoài
ra còn có một số lượng lớn các hệ thống gợi ý dựa trên nội dung nhằm cung cấp các đềxuất phim, một vài ví dụ như Rotten Tomatoes , Internet Movie Database , Jinni , RoviCorporation và Jaman Các hệ thống gợi ý giới thiệu tài liệu liên quan nhằm mục đíchcung cấp các đề xuất tài liệu cho các nhà nghiên cứu Các chuyên gia y tế công cộng đãnghiên cứu các hệ thống gợi ý để cá nhân hóa giáo dục sức khỏe và các chiến lược phòngngừa