chương 1 cũng dé cập đến đối tượng nghiên cứu, phạm vi đề tài. Cuối chương | là phần bố cục của khóa luận. - Chương 2: Trình bày các kiến thức nên tang, các công nghệ sử dụng và thuật toán dùng cho recomnendation dé xây dựng ứng dụng. - _ Chương 3: Trinh bày chỉ tiết quy trình xây dựng hệ thống, xác định, phân tích tính năng, xây dựng cơ sở đữ liệu (CSDL) - _ Chương 4: Trình bày kết quả thử nghiệm của đề tài - _ Chương 5: Chương kết thúc, đưa ra kết luận về ứng dụng cũng như hướng phát triển trong tương lai Chương 2.
Hệ thống gợi ý (Recommendation System - RS) 2. Tổng quan Hệ thống khuyến nghị (hay Recommendation system) là những hệ thống mà mục đích chính của những hệ thống này là dự đoán sở thích của người dùng và đề xuất các mặt hàng, sản phẩm có khả năng thú vị với ho. Recommendation system là một trong những hệ thong máy học mạnh mẽ nhất mà các nhà bán lẻ triển khai để thúc day doanh số bán hàng. Dữ liệu cân thiệt cho hệ thông dé xuât bat nguôn từ xếp hạng rõ rang của người dùng sau khi xem phim hoặc nghe bài hát, từ các truy vân ngâm của công cụ tìm kiêm và lịch sử mua hàng hoặc từ kiến thức khác về ban thân người dùng / mặt hàng.
Các trang web như Spotify, YouTube hoặc Netflix sử dung dữ liệu đó dé đề xuất danh sách phát, cái gọi là Danh sách kết hợp hàng ngày hoặc dé đưa ra đề xuất video tương ứng. Recommendation system được chia làm hai nhóm lớn: - Content-based systems: đánh giá đặc tinh của items được recommended. Ví dụ: một user xem rất nhiều các bộ phim về cảnh sát hình sự, vậy thì gơi ý một bộ phim trong cơ sở dữ liệu có chung đặc tính hình sự tới user này, ví dụ phim Người phán xử. Cách tiếp cận này yêu cầu việc sắp xếp các items vào từng nhóm hoặc đi tìm các đặc trưng của từng item.
Tuy nhiên, có những items không có nhóm cụ thể và việc xác định nhóm hoặc đặc trưng của từng item đôi khi là bat khả thi. - Collaborative filtering: hệ thống gợi ý items dựa trên sự tương quan (similarity) giữa các users và/hoặc items. Có thé hiểu rang ở nhóm này một item được recommended tới một user dựa trên những users có hành vi tương tự. Ví du: users A, B, C đều thích các bai hát của Noo Phước Thịnh.
Ngoài ra, hệ thống biết rằng users B, C cũng thích các bài hát của Bích Phương nhưng chưa có thông tin về việc liệu user A có thích Bích Phương hay không. Dựa trên thông tin của những users tương tự là B và C, hệ thống có thé dự đoán rang A cũng thích Bích Phương và gợi ý các bài hát của ca sĩ này tới A. Kết quả mong đợi của các hệ thống khuyến nghị: - _ Mục tiêu của hệ thong khuyến nghị là cung cấp các khuyến nghị dựa trên thông tin được ghi lại về sở thích của người dùng. Góp phần gia tăng doanh số bán hàng cho các trang thương mại điện tử.
Đồng thời thỏa mãn nhu câu của người dùng, cải thiện trải nghiệm tôt người dùng. Utility matrix Có hai thực thé chính trong các Recommendation Systems là users va items. Mỗi user sẽ có mức độ quan tâm (degree of preference) tới từng item khác nhau. Mức độ quan tâm này, nếu đã biết trước, được gán cho một giá trị ứng với mỗi cặp user- item.
Giả sử rằng mức độ quan tâm được đo bằng giá trị user rate cho item, ta tạm gọi giá trị này là rating. Tập hợp tất cả các ratings, bao gồm cả những giá trị chưa biết cân được dự đoán, tạo nên một ma trận gọi là utility matrix. Xét ví dụ sau: Bảng 2. | Utility matrix U; U2 U4 waflAof!)S ewY"IyP|] 9ø|=5 Bảng 2.
1 là ví dụ về utility matrix. Trong đó, Uo-> Us tương ứng với các users, lo -> Ls tương ứng với các items. Giá trị từng cặp (u, i) là giá trị rating của user u đối VỚI item i. Xây dung utility matrix: Không có Utility matrix, gần như không thé gợi ý được sản phẩm tới ngừời dùng, ngoài cách luôn luôn gợi ý các sản phẩm phô biến nhất.
Vì vậy, trong các Recommender Systems, việc xây dựng Utility Matrix là tối quan trọng. Tuy nhiên, việc xây dựng ma trận này thường có gặp nhiều khó khăn. Có hai hướng tiếp cận phô biến để xác định giá trị rating cho mỗi cặp user-item trong Utility Matrix: - Nhờ người ding rate sản phẩm. Amazon luôn nhờ người dùng rate các sản phẩm của họ bằng cách gửi các email nhắc nhở nhiều lần.
Rat nhiều hệ thống khác cũng làm việc tương tự. Tuy nhiên, cách tiếp cận này có một vài hạn ché, vì thường thì người dùng ít khi rate sản phẩm. Và nếu có, đó có thé là những đánh giá thiên lệch bởi những người sẵn sàng rate. - _ Hướng tiếp cận thứ hai là dựa trên hành vi của users.
Rõ ràng, nếu một người dùng mua một sản phâm trên Amazon, xem một clip trên Youtube (có thé là nhiều lần), hay đọc một bài báo, thì có thé khang định rang ngừời dùng đó thích sản phâm đó. Facebook cũng dựa trên việc ta like những nội dung nào để hiển thị newsfeed những nội dung liên quan. Chúng ta càng đam mê facebook, facebook càng được hưởng lợi, thế nên nó luôn mang tới ta những thông tin mà khả năng cao là ta muốn đọc. Thường thì với cách này, ta chỉ xây dựng được một ma trận với các thành phần là 1 và 0, với 1 thể hiện người dùng thích sản phẩm, 0 thể hiện chưa có thông tin.
Trong trường hợp này, 0 không có nghĩa là thấp hơn 1, nó chỉ có nghĩa là người dùng chưa cung cấp thông tin. Chúng ta cũng có thé xây dựng ma trận với các giá trị cao hơn 1 thông qua thời gian hoặc số lượt mà người dùng xem một sản phẩm nào đó. Đôi khi, nút dislike cũng mang lại những lợi ích nhất định cho hệ thống, lúc này có thé gán giá trị tương ứng bang -1 chăng hạn. Cosine similarity Sau khi biểu diễn các rating thành utility matrix, mỗi hang(item) là một vector với độ dai là số lượng user.
Dé tính độ tương tự giữa các user ta sẽ dùng Cosine similarity. Feature vector 1 Feature vector 2 Dé tính độ tương quan giữa 2 vector, ta thực hiện phép tính tích vô hướng giữa 2 vector, hay nói cách khác là tính giá tri góc cosin được hop bởi 2 vector, với 0° < a < 180°: Nếu tích vô hướng cho ra kết quả càng gan về 0, khi đó 2 vector gần như vuông góc với nhau, đồng nghĩa với việc 2 vector không có sự tương đồng với nhau. Ngược lại, nếu tích vô hướng càng tiến về 1, khi đó 2 vector gần như trùng nhau, nghĩa là sự tương đồng giữa 2 vector rất cao. Feature vector 1 Feature vector 2 Feature vector + Feature vector 2 Orthogonal Vectors at or near 90 degree 2.
Root Mean Squared Error (RMSE) Sử dụng RootMean Squared Error dé đánh giá hiệu qua của thuật toán, RMSE được tính bằng công thức: - Dtest : tập kiểm tra - ru: dự đoán của người dùng u trên item i trên tập kiểm tra - Ti: dự đoán của người dùng u trên item i theo thuật toán gợi ý. Các cách tiếp cận của hệ thống khuyến nghị 2.1 Phương pháp tiếp cận dựa trên lọc nội dung (Content-based approach) Một cách tiếp cận phô biến khi thiết kế hệ thống recommender là loc nội dung. 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ùy chọ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 dé mô tả các mục và hồ sơ người dùng được xây dựng dé chi ra loại mục mà người dùng này thích.
Nói cách khá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ác nhau đượ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ông tin và nghiên cứu loc 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 vecto). Để 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: -_ Một mô hình ưu tiên của người dùng. - Lich sử tương tác của người dùng với hệ thống gợi ý. Về 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ác thuộ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ên nộ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éu thị tầm quan trọng của từng tinh 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 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á tri trung bình của vector hạng mục trong khi các phương pháp phức tạp khác sử dụng các kỹ thuật máy học như Bayesian Classifiers , phân tích cum , cây quyết định và mang thần kinh nhân tao (artificial neural networks) đê ước tính xác suât người dù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ử dung dé gán trọng số cao hơn hoặc thấp hơn về tam quan trọng của các thuộc tí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é tim hiéu các tùy chọn cua người dùng từ hành động của người dung liên quan đên một 10 nguồn nội dung hay không và sử dụng chúng trên các loại nội dung khác. Khi hệ thong bị hạn chế đề xuất nộ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ơn nhiều khi chúng ta có thể đề xuất âm nhạc, video, sản phẩm, cuộc thảo luận, v. từ các dịch vụ khác nhau dựa trên duyệt tin tức.