TỔNG QUAN VỀ TƯ VẤN LỌC CỘNG TÁC 4 1.1 Giới thiệu chung
Bài toán lọc cộng tác
Thuật toán lọc cộng tác (Collaborative Filtering - CF) nhằm mục tiêu đề xuất sản phẩm mới hoặc dự đoán tiện ích của sản phẩm dựa trên sở thích trước đây của người dùng và ý kiến từ những người dùng tương tự Trong mô hình CF cổ điển, có m người dùng ký hiệu là U = {u1, u2,…, um} và n sản phẩm ký hiệu là I = {i1, i2, , in} Mỗi người dùng ui có danh sách sản phẩm đã đánh giá gọi là Su, trong khi mỗi sản phẩm ij∈I có thể là hàng hóa, phim, sách, hoặc dịch vụ Ma trận đánh giá R={ rij }, với i = 1…m, j = 1…n, thể hiện đánh giá của người dùng ui về sản phẩm ij thông qua giá trị rij Mức độ ưa thích của người dùng đối với sản phẩm được phản ánh qua giá trị này, có thể thu thập từ điểm xếp hạng, hồ sơ mua hàng, hoặc phân tích nhật ký Nếu người dùng ui chưa biết đến sản phẩm ij, giá trị rij sẽ là ∅ Đối với người dùng ua∈U, hay còn gọi là người dùng mục tiêu, nhiệm vụ của lọc cộng tác sẽ được thể hiện qua các thuật toán và mô hình phù hợp.
Hình 1.1: Sơ đồ thể hiện quy trình của hệ thống tư vấn lọc cộng tác
Ma trận đánh giá R = (rij) là nguồn thông tin chính cho các kỹ thuật lọc cộng tác Dựa vào ma trận này, các phương pháp lọc cộng tác thực hiện hai nhiệm vụ quan trọng: dự đoán và tư vấn.
Dự đoán giá trị số r aj thể hiện sở thích của người dùng ua đối với các sản phẩm chưa được đánh giá (raj = ∅) Dựa trên thông tin này, hệ thống sẽ tư vấn cho ua những sản phẩm được đánh giá cao nhất Cuối cùng, sẽ cung cấp một danh sách N sản phẩm mà người dùng ua yêu thích nhất.
Trong hệ thống tư vấn lọc cộng tác, ma trận đánh giá R = (rij) được xây dựng với bốn người dùng trong tập U = {u1, u2, u3, u4} Các người dùng này đánh giá bảy sản phẩm thuộc tập I = {i1, i2, i3, i4, i5, i6, i7} theo thang điểm từ {∅, 1, 2, 3, 4, 5} Mỗi đánh giá phản ánh mức độ hài lòng của người dùng với từng sản phẩm, giúp cải thiện chất lượng tư vấn và gợi ý sản phẩm cho người dùng khác.
Bảng 1.1: Ví dụ về ma trận đánh giá của lọc cộng tác
Đặc điểm và thách thức của lọc cộng tác
Việc áp dụng thuật toán lọc cộng tác trong thương mại điện tử gặp nhiều thách thức, đặc biệt tại các nền tảng lớn như eBay và Amazon Hệ thống giới thiệu hiệu quả có khả năng cung cấp khuyến nghị nhanh chóng và chính xác, thu hút khách hàng và mang lại lợi ích cho doanh nghiệp Đối với các hệ thống lọc cộng tác, khả năng đưa ra dự đoán và khuyến nghị chất lượng phụ thuộc vào việc giải quyết các vấn đề thách thức, điều này là đặc trưng cho các nhiệm vụ trong lọc cộng tác.
Nhiều hệ thống khuyến nghị thương mại hiện nay phải đối mặt với thách thức trong việc đánh giá các bộ sản phẩm lớn, do ma trận đánh giá của người dùng thường rất thưa thớt Điều này ảnh hưởng đến hiệu suất của các dự đoán và khuyến nghị trong các hệ thống lọc cộng tác.
Dữ liệu thưa là một thách thức lớn khi người dùng mới hoặc sản phẩm mới chưa có đánh giá hoặc hành vi tương tác nào Khi một người dùng mới được thêm vào hệ thống, họ có thể không có bất kỳ đánh giá sản phẩm nào, và sản phẩm mới có thể chưa được mua, xem hoặc tìm kiếm Điều này gây khó khăn trong việc tìm kiếm người dùng hoặc sản phẩm tương tự do thiếu thông tin Để giải quyết vấn đề này, nhiều phương pháp đã được đề xuất, bao gồm kỹ thuật giảm kích thước như giảm số chiều (SVD) và loại bỏ những người dùng hoặc sản phẩm không đại diện để tối ưu hóa ma trận người dùng và sản phẩm.
Sự gia tăng nhanh chóng về số lượng người dùng và sản phẩm đã đặt ra thách thức lớn cho các thuật toán lọc cộng tác (CF) truyền thống, đặc biệt về khả năng mở rộng khi tài nguyên tính toán vượt quá giới hạn cho phép Với hàng triệu khách hàng và danh mục sản phẩm, độ phức tạp của thuật toán CF hiện tại đã trở nên quá tải Hơn nữa, nhiều hệ thống cần khả năng phản hồi ngay lập tức với các yêu cầu trực tuyến và cung cấp khuyến nghị cho tất cả người dùng, bất kể lịch sử mua sắm hay xếp hạng của họ, điều này càng làm tăng yêu cầu về khả năng mở rộng của hệ thống CF.
Các kỹ thuật giảm kích thước như SVD giúp cải thiện khả năng mở rộng và nhanh chóng đưa ra các đề xuất chất lượng, nhưng thường phải trải qua các bước phân tích ma trận tốn kém Thuật toán lọc cộng tác sử dụng SVD có thể tăng cường tính toán trước khi phân rã bằng cách khai thác thông tin từ người dùng hiện có Khi có xếp hạng mới, thuật toán áp dụng kỹ thuật chiếu gấp khúc để xây dựng hệ thống gia tăng mà không cần tính toán lại mô hình từ đầu, từ đó nâng cao khả năng mở rộng của hệ thống giới thiệu.
Từ đồng nghĩa thể hiện sự tương đồng giữa các nội dung khác nhau nhưng có tên gọi khác nhau, khiến cho nhiều hệ thống tư vấn không nhận diện được mối liên hệ này và xử lý các sản phẩm một cách riêng biệt Chẳng hạn, "children movie" và "children film" thực chất là cùng một nội dung, nhưng các hệ thống CF dựa trên bộ nhớ không thể tìm thấy sự tương đồng giữa chúng Sự thay đổi trong cách sử dụng thuật ngữ mô tả có thể lớn hơn mức thường được công nhận, và việc không nhận diện được từ đồng nghĩa sẽ làm giảm hiệu suất khuyến nghị của các hệ thống CF.
Các nỗ lực trước đây nhằm giải quyết vấn đề đồng nghĩa thường dựa vào việc mở rộng thuật ngữ trí tuệ hoặc tự động, hoặc xây dựng từ điển đồng nghĩa Tuy nhiên, các phương pháp hoàn toàn tự động gặp phải hạn chế khi một số thuật ngữ bổ sung có thể mang ý nghĩa khác với dự định, dẫn đến hiệu suất khuyến nghị giảm sút nhanh chóng.
Kỹ thuật phân tích giá trị kỳ dị (SVD), đặc biệt là phương pháp lập chỉ mục ngữ nghĩa tiềm ẩn (LSI), có khả năng giải quyết vấn đề đồng nghĩa hiệu quả SVD xử lý ma trận dữ liệu lớn liên kết tài liệu và thuật ngữ, tạo ra một không gian ngữ nghĩa, trong đó các thuật ngữ và tài liệu liên quan được đặt gần nhau Phương pháp này giúp sắp xếp không gian để phản ánh các mẫu liên kết chính và loại bỏ các mẫu nhỏ, ít quan trọng Mặc dù LSI thể hiện hiệu suất ấn tượng trong việc giải quyết vấn đề đồng nghĩa ở mức thu hồi cao, với độ chính xác thường thấp, nhưng hiệu suất của nó lại kém ở mức thu hồi thấp nhất.
1.3.4 Gray sheep và Black sheep
Cừu xám đề cập đến những người dùng có quan điểm không nhất quán, không hoàn toàn đồng ý hoặc không đồng ý với bất kỳ nhóm nào, khiến cho Collaborative Filtering (CF) không hiệu quả Trong khi đó, cừu đen chỉ đến nhóm người có sở thích đặc biệt, thường đưa ra các khuyến nghị khó thực hiện, như việc thích nhưng lại sử dụng từ ngữ tiêu cực, do đó không thể cung cấp gợi ý chính xác cho nhóm này.
Các kỹ thuật lọc cộng tác
Kỹ thuật lọc cộng tác được phân thành hai loại chính: Lọc cộng tác dựa trên bộ nhớ và Lọc cộng tác dựa trên mô hình, như thể hiện trong hình 1.2.
Hình 1.2: Các kỹ thuật lọc cộng tác
1.4.1 Kỹ thuật lọc cộng tác dựa trên bộ nhớ
Các hệ thống này áp dụng kỹ thuật thống kê để xác định một nhóm người dùng, gọi là hàng xóm, có lịch sử đồng ý với người dùng mục tiêu, tức là họ có đánh giá tương tự về các sản phẩm hoặc xu hướng mua sắm giống nhau Sau khi hình thành vùng lân cận, các thuật toán sẽ kết hợp sở thích của những người hàng xóm để tạo ra các đề xuất dự đoán hoặc danh sách top-N sản phẩm cho người dùng hiện tại Những kỹ thuật này được biết đến với tên gọi là láng giềng gần nhất hoặc cộng tác dựa trên người dùng.
Kỹ thuật lọc cộng tác dựa trên bộ nhớ được chia làm 2 loại: Lọc cộng tác dựa trên người dùng và Lọc cộng tác dựa trên sản phẩm
1.4.1.1 Lọc cộng tác dựa trên người dùng Đây là phương pháp sử dụng toàn bộ ma trận đánh giá để chọn ra một tập người dùng tương đồng nhất với người dùng cần được tư vấn Sau đó, kết hợp các đánh giá của tập những người dùng tương đồng nhất này để đưa ra dự đoán cho người dùng cần được tư vấn về một sản phẩm chưa biết
Lọc cộng tác dựa trên bộ nhớ
Lọc cộng tác dựa trên người dùng Lọc cộng tác dựa trên sản phẩm
Lọc cộng tác dựa trên mô hình
Các bước thực hiện tư vấn lọc cộng tác dựa trên người dùng:
Bước đầu tiên trong quá trình xử lý dữ liệu là tiền xử lý, nơi dữ liệu thu thập từ đánh giá sản phẩm của người dùng được tối ưu hóa Mặc dù dữ liệu thu thập thường rất lớn, nhưng không phải tất cả đánh giá đều hữu ích cho phương pháp lọc cộng tác Do đó, cần loại bỏ những sản phẩm hoặc người dùng có số lượng đánh giá quá ít để cải thiện chất lượng dữ liệu đầu vào.
Bước 2: Tính toán mức độ tương tự của người dùng cần tư vấn với tất cả những người dùng trong hệ thống
Bước 3: Để xác định nhóm người dùng láng giềng cho người dùng cần tư vấn, hãy chọn K1 người dùng có mức độ tương đồng cao nhất với người dùng mục tiêu.
Bước 4: Dự đoán đánh giá của người dùng cần tư vấn cho sản phẩm chưa có đánh giá bằng cách kết hợp các đánh giá từ những người dùng trong tập láng giềng.
Bước 5: Tư vấn K sản phẩm mới có mức độ phù hợp cao nhất cho người dùng cần tư vấn
1.4.1.2 Lọc cộng tác dựa trên sản phẩm
Giải thuật lọc cộng tác dựa trên sản phẩm khác với giải thuật lọc cộng tác dựa trên người dùng, vì nó tập trung vào các sản phẩm thay vì người dùng Phương pháp này tính toán độ tương tự giữa các sản phẩm và chọn ra k sản phẩm tương tự {i 1, i 2, , i k} Dựa trên các sản phẩm tương tự này, các dự đoán được thực hiện bằng cách tính trung bình các đánh giá của người dùng.
Các bước thực hiện tư vấn theo phương pháp lọc cộng tác dựa trên sản phẩm:
Bước 1: Tiền xử lý dữ liệu
Bước 2: Xây dựng Ma trận đánh giá: Hàng là người dùng, Cột là các sản phẩm
Bảng 1.2: Ma trận đánh giá
Bước 3: Tính độ tương tự của các cặp sản phẩm, xây dựng Ma trận tương tự của các sản phẩm
Một bước quan trọng trong thuật toán lọc cộng tác dựa trên sản phẩm là tính toán sự tương tự giữa các sản phẩm và chọn những sản phẩm có mức độ tương đồng cao nhất Để tính toán độ tương tự giữa hai sản phẩm i và j, trước tiên cần tách những người dùng đã xếp hạng cả hai sản phẩm này, sau đó áp dụng một độ đo tương tự để xác định mức độ tương tự S i,j Hình 1.3 minh họa quá trình này, với các hàng của ma trận đại diện cho người dùng và các cột đại diện cho các sản phẩm Chương 2 sẽ trình bày cụ thể các phương pháp khác nhau để tính độ giống nhau giữa các sản phẩm.
Hình 1.3: Tách các sản phẩm cùng được đánh giá và tính toán độ tương tự
Mức độ tương tự giữa hai sản phẩm được tính bằng cách chỉ xem xét các sản phẩm được đồng xếp hạng
Khi so sánh hai sản phẩm i và j, mức độ tương đồng Si,j được xác định dựa trên các sản phẩm có xếp hạng giống nhau, cụ thể là những cặp người dùng đã đánh giá cả hai sản phẩm này.
Hai sản phẩm được phân tích bằng các kỹ thuật tính toán độ tương tự, nhằm mô tả mức độ tương đồng Si,j Trong đó, những người dùng cùng đánh giá sản phẩm i và j được ký hiệu là 1, u và m-1.
Bước 4: Đánh giá dự đoán của người dùng về sản phẩm bằng cách so sánh với các sản phẩm tương tự đã được đề cập trong mục 1.6.
Hệ thống lọc cộng tác dựa trên sản phẩm có thể được minh họa qua ví dụ về một nền tảng xem phim trực tuyến Người dùng đăng nhập vào hệ thống, nơi lưu trữ hồ sơ cá nhân và các đánh giá phim theo thang điểm từ 1 đến 5 sao Những bộ phim được đánh giá cao cho thấy sự yêu thích của người dùng Khi người dùng truy cập, hệ thống sẽ tư vấn những bộ phim dự đoán sẽ được họ đánh giá cao dựa trên sở thích và đánh giá trước đó.
Hệ thống phân tích các bộ phim chưa xem của người dùng và so sánh độ tương tự giữa chúng với những bộ phim khác Độ tương tự được xác định dựa trên đánh giá của người dùng đã từng xem cả hai bộ phim, thông qua một thuật toán xác suất Cuối cùng, hệ thống dự đoán đánh giá của người dùng cho các bộ phim chưa xem và lựa chọn những bộ phim có khả năng nhận được đánh giá cao để đưa vào danh sách gợi ý.
1.4.2 Kỹ thuật lọc cộng tác dựa trên mô hình
Mô hình mạng Bayes là một đồ thị có hướng, xoay chiều, trong đó mỗi nút n
Mô hình mạng Bayes là một công cụ mạnh mẽ trong việc phân loại, trong đó N đại diện cho biến ngẫu nhiên và mỗi cung có hướng a ∈ A giữa các nút thể hiện mối liên kết xác suất giữa các biến Θ đóng vai trò là bảng xác suất có điều kiện, giúp định lượng mức độ phụ thuộc của một nút vào cha mẹ của nó.
Phương pháp mạng Bayes đơn giản cho lọc cộng tác được Breese đề xuất sử dụng chiến lược Bayes gần nhất để dự đoán cho các nhiệm vụ CF Giả định rằng các tính năng độc lập với lớp, xác suất của một lớp nhất định có thể được tính toán dựa trên tất cả các đặc trưng, và lớp có xác suất cao nhất sẽ được phân loại là lớp dự đoán Đối với dữ liệu không đầy đủ, xác suất và phân loại được tính toán trên dữ liệu quan sát Breese giả thiết rằng các giá trị đánh giá là những số nguyên trong khoảng từ 0 đến n, trong đó ru,p là đánh giá chưa biết của người dùng u đối với sản phẩm p, được ước lượng dựa trên những đánh giá trước đó của người dùng u.
P| ru,p' ≠ 0} Khi đó, đánh giá chưa biết của người dùng u đối với sản phẩm p được tính theo công thức (1.1)
Các tiêu chuẩn đánh giá độ đo
Chất lượng của hệ thống giới thiệu được xác định qua kết quả đánh giá, với loại số liệu sử dụng phụ thuộc vào ứng dụng của hệ thống Các số liệu đánh giá này có thể được phân loại thành nhiều loại khác nhau.
Tiêu chuẩn đánh giá độ chính xác của đánh giá dự đoán bao gồm: Sai số tuyệt đối trung bình (MAE) và Sai số trung bình bình phương (RMSE)
Tiêu chuẩn đánh giá độ chính xác của danh sách sản phẩm tư vấn bao gồm Độ chính xác (Precision), độ nhạy (Recall), E-measure, F-measure; Độ chính
1.5.1 Tiêu chuẩn đánh giá độ chính xác của đánh giá dự đoán
Sai số tuyệt đối trung bình (MAE) là một trong những chỉ số phổ biến nhất trong lọc cộng tác, được sử dụng để đánh giá sự khác biệt giữa giá trị dự đoán và giá trị thực tế MAE giúp xác định độ chính xác của các dự đoán trong các hệ thống gợi ý.
Sai số dự đoán MAEu cho mỗi người dùng u trong tập dữ liệu kiểm tra Utest được xác định bằng cách tính trung bình cộng của sai số tuyệt đối giữa giá trị dự đoán và xếp hạng thực tế của người dùng u đối với tất cả các sản phẩm trong tập Pu.
Trong đó: Pu: là tổng xếp hạng trên tất cả người dùng
𝑟̂ 𝑥 𝑢 : là xếp hạng dự đoán của người dùng u trên sản phẩm x
Sai số dự đoán trên tập dữ liệu kiểm tra được tính bằng trung bình cộng sai số dự đoán cho mỗi người dùng thuộc Utest, trong đó 𝑟 𝑥 𝑢 đại diện cho xếp hạng thực của người dùng u trên sản phẩm x.
Sai số trung bình bình phương (RMSE)
Một tiêu chuẩn phổ biến để đánh giá độ chính xác của dự đoán là sai số trung bình bình phương (RMSE) RMSE được xác định bằng cách lấy căn bậc hai của trung bình bình phương chênh lệch giữa xếp hạng thực tế và xếp hạng dự đoán.
Độ đo RMSE (Root Mean Square Error) là một chỉ số quan trọng được sử dụng để đánh giá độ chính xác của các dự đoán, đặc biệt khi sai số lớn hơn so với giá trị thực tế.
Giá trị MAE, RMSE càng nhỏ thì hệ tư vấn cho kết quả càng chính xác
1.5.2 Tiêu chuẩn đánh giá độ chính xác của danh sách sản phẩm tư vấn
Giá trị đánh giá của người dùng với sản phẩm được chia thành 2 loại: đánh giá
Đánh giá "thích" và "không thích" được phân loại dựa trên một ngưỡng giá trị nhất định Các đánh giá đạt giá trị lớn hơn hoặc bằng ngưỡng này được xem là "thích", trong khi những đánh giá thấp hơn sẽ được gọi là "không thích" Để xác định độ chính xác của danh sách sản phẩm tư vấn so với những sản phẩm thực sự được người dùng yêu thích, chúng ta sẽ xây dựng ma trận nhầm lẫn (Confusion matrix).
Bảng 1.3: Ma trận nhầm lẫn Đánh giá thực tế/Đánh giá dự đoán Thích Không thích
Tổng số sản phẩm tư vấn cho các người dùng Utest là:
- a là sản phẩm tư vấn cũng là sản phẩm thực tế thích bởi người dùng
- c là sản phẩm tư vấn nhưng lại là những sản phẩm thực tế không được thích bởi người dùng
Tổng số sản phẩm không được tư vấn cho những người dùng Utest là:
- b là sản phẩm không được tư vấn nhưng thực tế sản phẩm này được thích bởi người dùng
- d là sản phẩm không được tư vấn và thực tế các sản phẩm này cũng không được thích bởi người dùng
Từ ma trận nhầm lẫn, lĩnh vực học máy đã đưa ra một số độ đo tính chính xác Độ chính xác (Precision), độ nhạy (Recall), E-measure, F-measure
Hệ tư vấn sử dụng một tập hợp sản phẩm có sẵn để tạo ra danh sách sản phẩm tương tự mà người dùng có thể thích, tương tự như quá trình lọc thông tin trong truy vấn thông tin (Information Retrieval – IR) Để đánh giá hiệu năng của hệ tư vấn, các độ đo tiêu chuẩn trong lọc thông tin thường được áp dụng, trong đó hai độ đo quan trọng là độ chính xác (Precision) và độ nhạy (Recall) Độ chính xác và độ nhạy được xác định theo các công thức cụ thể.
- d sản phẩm tư vấn trong tập Q cũng là sản phẩm thực tế được thích bởi người dùng thuộc Utest
- b + d: tổng số sản phẩm trong tập Q tư vấn cho người dùng Utest
Tổng số sản phẩm trong tập Q được ưa chuộng bởi người dùng trên Utest là c + d Độ nhạy và độ chính xác có mối quan hệ nghịch đảo: khi độ nhạy cao, độ chính xác sẽ thấp và ngược lại Để đạt được sự cân bằng giữa hai chỉ số này, một chỉ số mới mang tên E-measure đã được giới thiệu với công thức cụ thể.
Tham số ∝ là độ lệch cho trước giữa P và R Giá trị ∝∈ [0,1]
Khi ∝ = 0.5, P và R đóng vai trò tương đương trong việc đánh giá độ chính xác của hệ thống Trong trường hợp này, độ đo 𝐸 − measure được gọi bằng tên mới là F − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒, được định nghĩa theo công thức sau:
Giá trị 𝐹 − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 càng cao thì chứng tỏ hệ tư vấn cho kết quả càng chính xác
Trên thực tế, số lượng kết quả tìm kiếm thường rất lớn, khiến chỉ số P không còn ý nghĩa rõ ràng Do đó, chỉ số P@k được sử dụng để đánh giá kết quả chính xác hơn bằng cách chỉ xem xét top k sản phẩm có giá trị dự đoán cao nhất.
|𝑃 𝑡𝑟𝑢𝑒 |: Tổng số kết quả chính xác trong top k sản phẩm được chọn tư vấn
|𝑃 𝑡 |: Tổng số lượng kết quả
𝑃@10 thể hiện rằng cứ 10 gợi ý tới người dùng thì sẽ có bao nhiêu gợi ý được người dùng lựa chọn
R@k là một chỉ số quan trọng trong việc đánh giá khả năng gợi ý thành công của các sản phẩm trong danh sách top k được tư vấn, được tính toán theo công thức cụ thể.
|𝑃 𝑡𝑟𝑢𝑒 |: Tổng số kết quả chính xác trong top k sản phẩm được chọn tư vấn
M: Tổng số lượng lựa chọn của người dùng.
Công thức dự đoán
Bước quan trọng nhất trong hệ thống lọc cộng tác là tạo ra giao diện đầu ra dự đoán Sau khi tính toán mức độ tương tự giữa các sản phẩm, bước tiếp theo là xem xét xếp hạng của người dùng mục tiêu và áp dụng một kỹ thuật để đưa ra dự đoán chính xác.
Hình 1.4: Mô phỏng công thức dự đoán
1.6.1 Công thức dự đoán dựa trên người dùng Để dự đoán xếp hạng của một người dùng đang hoạt động, nhiều biện pháp đã được đề xuất Phép đo được sử dụng phổ biến nhất trong lĩnh vực này là phương pháp tổng có trọng số (Sarwar và cộng sự, 2001) được cho bởi công thức 1.12
𝑁 𝑢 𝑖 : Là tập những người hàng xóm giống nhất với người dùng u và đã xếp hạng mục i v: là người dùng thuộc 𝑁 𝑢 𝑖 𝑆𝑖𝑚 𝑢𝑣 : là giá trị tương tự giữa người dùng u và v
Ngoài ra chức năng dự đoán trung bình được đề xuất bởi (Aggarwal, 2016) là một biện pháp tổng hợp phổ biến được cho bởi công thức (1.13)
𝑟̅ 𝑢 : là xếp hạng trung bình của người dùng u
𝑟̅ 𝑣 : là xếp hạng trung bình của người dùng v
1.6.2 Công thức dự đoán dựa trên sản phẩm
Tương tự như công thức dự đoán dựa trên người dùng, công thức dự đoán dựa theo sản phẩm được cho như công thức (1.14)
Tập hợp 𝑁 𝑖 𝑢 bao gồm những người hàng xóm tương đồng nhất với sản phẩm i, được xếp hạng bởi người dùng u Trong đó, j đại diện cho một người dùng thuộc tập hợp 𝑁 𝑖 𝑢 Giá trị 𝑆𝑖𝑚 𝑖𝑗 thể hiện mức độ tương tự giữa sản phẩm i và sản phẩm j.
Công thức tổng hợp lấy giá trị trung bình được cung cấp trong (1.15) 𝑟̃ 𝑢,𝑖 = 𝑟̅ + 𝑖
𝑟 𝑖 ̅: là xếp hạng trung bình của sản phẩm i
𝑟̅ 𝑗 : là xếp hạng trung bình của sản phẩm j.
Kết luận
Trong chương này, luận văn trình bày kỹ thuật lọc cộng tác, bao gồm hai loại chính: lọc cộng tác dựa trên bộ nhớ và lọc cộng tác dựa trên mô hình Chương cũng đề cập đến các tiêu chuẩn đánh giá độ đo và công thức dự đoán kết quả Để dự đoán kết quả trong tư vấn lọc cộng tác, việc sử dụng các độ đo để tính toán khoảng cách giữa người dùng hoặc sản phẩm là rất quan trọng Chương tiếp theo sẽ khám phá một số độ đo tương tự trong kỹ thuật lọc cộng tác.
MỘT SỐ ĐỘ ĐO TƯƠNG TỰ CHO TƯ VẤN LỌC CỘNG TÁC 23 2.1 Giới thiệu chung
Một số độ đo tương tự
2.2.1 Khoảng cách Euclide (Euclide distance)
Khoảng cách Euclide giữa hai người dùng u và v, hoặc giữa hai sản phẩm i và j, được xác định bằng độ dài đoạn thẳng nối chúng trong không gian Euclide Trong thực tế, mỗi người dùng được biểu diễn bằng tọa độ Descartes tương ứng với cơ sở sản phẩm, và tương tự, mỗi sản phẩm được biểu diễn dựa trên cơ sở người dùng Khoảng cách giữa hai người dùng hoặc hai sản phẩm được tính bằng giá trị tuyệt đối của hiệu số tọa độ của chúng.
Công thức khoảng cách Euclide biểu thị mối tương quan giữa hai người dùng u và v như sau:
𝐼 𝑢𝑣 : là tập hợp các sản phẩm được xếp hạng bởi cả người dùng u và người dùng v
𝑟 𝑣𝑖 : xếp hạng của người dùng v với sản phẩm i
𝑟 𝑢𝑖 : xếp hạng của người dùng u với sản phẩm i
Công thức khoảng cách Euclide biểu thị mối tương quan giữa hai sản phẩm i và j như sau:
𝑈 𝑖𝑗 : là tập hợp những người dùng đã xếp hạng cả hai sản phẩm i và j
𝑟 𝑢𝑗 : xếp hạng của người dùng u với sản phẩm j
𝑟 𝑢𝑖 : xếp hạng của người dùng u với sản phẩm i
Khoảng cách Euclide được chuẩn hóa thành độ đo tương tự Euclide cho người dùng và sản phẩm được thể hiện ở công thức (2.3) và (2.4)
2.2.2 Chỉ số Jaccard (Jaccard index)
Chỉ số Jaccard, được phát triển bởi Paul Jaccard vào năm 1912, là một công cụ quan trọng để đo lường độ tương đồng và sự đa dạng giữa hai tập hợp Hệ số Jaccard được xác định bằng cách chia số phần tử chung của hai tập hợp cho tổng số phần tử trong cả hai tập hợp Chỉ số này cung cấp cái nhìn rõ ràng về tỷ lệ phần tử chia sẻ giữa hai tập, với giá trị nằm trong khoảng từ 0 đến 1.
0 đến 1, chỉ số càng gần 1 thì hai vectơ càng giống nhau
Chỉ số Jaccard giữa hai người dùng u và v được tính theo công thức:
𝐼 𝑢 : Số lượng các sản phẩm do người dùng u đánh giá
𝐼 𝑣 : Số lượng các sản phẩm do người dùng v đánh giá
Chỉ số Jaccard giữa hai sản phẩm i và j được tính theo công thức:
𝑈 𝑖 : Số lượng người dùng cùng đánh giá sản phẩm i
𝑈 𝑗 : Số lượng người dùng cùng đánh giá sản phẩm j
2.2.3 Tương tự Cosine (Cosine similarity)
Kỹ thuật được Breese và cộng sự giới thiệu cho phép người dùng đánh giá sản phẩm thông qua véc tơ xếp hạng cá nhân và véc tơ xếp hạng từ nhóm người dùng Độ tương tự giữa hai véc tơ, đại diện cho hai người dùng hoặc hai sản phẩm, được xác định bằng giá trị cosin Nếu giá trị này gần bằng 1, điều đó cho thấy mối tương quan chặt chẽ giữa hai biến; ngược lại, giá trị gần 0 chỉ ra rằng không có mối tương quan (các biến độc lập) Độ tương tự cosin giữa hai người dùng u và v được tính theo công thức (2.7), trong đó u và v được xem như hai véc-tơ m chiều, với m là số lượng sản phẩm mà cả hai người dùng đều đã đánh giá.
Độ tương tự cosin giữa hai sản phẩm i và j được tính bằng cosin của hai véc-tơ tương ứng, theo công thức (2.8) Trong đó, các sản phẩm i và j được coi là hai véc-tơ n chiều, với n = Uij, đại diện cho số lượng người dùng đã đánh giá cả hai sản phẩm này.
2.2.4 Hệ số tương quan Pearson (Pearson Correlation Coefficient)
Hệ số tương quan Pearson (PCC) là một thước đo truyền thống quan trọng được Karl Pearson đề xuất vào năm 1895 để đánh giá mối quan hệ tuyến tính, phổ biến trong lĩnh vực thống kê PCC được tính bằng tỷ lệ hiệp phương sai giữa hai người dùng hoặc sản phẩm với độ lệch chuẩn của chúng, chỉ xem xét các sản phẩm đã được xếp hạng Giá trị PCC dao động từ -1 đến 1, trong đó 1 thể hiện mối tương quan dương mạnh, -1 cho thấy mối tương quan âm mạnh, và 0 chỉ ra không có mối tương quan nào (Resnick và cộng sự, 1994).
Hệ số tương quan Pearson giữa hai người dùng u, v được tính toán theo công thức (2.9)
Iuv = {𝑖 ∈ 𝐼|𝑟 𝑢𝑖 ≠ ∅^𝑟 𝑣𝑖 ≠ ∅} là tập hợp tất cả những sản phẩm người dùng u và v cùng đánh giá
𝑟 𝑢𝑖 : Đánh giá của người dùng u cho sản phẩm i
Đánh giá của người dùng v cho sản phẩm i được ký hiệu là 𝑟 𝑣𝑖 Trung bình cộng các đánh giá khác của người dùng u được ký hiệu là 𝑟̅ 𝑢, trong khi trung bình cộng các đánh giá khác của người dùng v được ký hiệu là 𝑟̅ 𝑣.
Hệ tương quan Pearson giữa hai sản phẩm i và j [20] được tính toán theo công thức (2.10)
Uij = {𝑢 ∈ 𝑈|𝑟 𝑢𝑖 ≠ ∅^𝑟 𝑢𝑗 ≠ ∅} là tập hợp tất cả những người dùng cùng đánh giá sản phẩm i và j
𝑟̅ 𝑖 : là đánh giá trung bình cho sản phẩm i 𝑟̅ 𝑗 là đánh giá trung bình cho sản phẩm j
2.2.5 Hệ số tương quan Pearson ràng buộc (Constrained Pearson Correlation) Đề xuất RINGO được phát triển để cung cấp cho người dùng các đề xuất về album nhạc và nghệ sĩ Trong RINGO, người dùng cung cấp phản hồi trên thang điểm danh nghĩa từ một (“không thích mạnh”) đến bảy (“thích mạnh”), với giá trị trung bình tính ở giữa thang Dựa trên số lượng ngày càng tăng của người dùng RINGO, Shraddhanand và Mae [5] đã đề xuất phương pháp tương quan Pearson có giới hạn (CPCC) để thay thế các biến xếp hạng trung bình được sử dụng bởi các phương pháp tiếp cận PCC bằng giá trị trung bình của thang đo xếp hạng tích cực và tiêu cực Mối tương quan giữa hai người dùng u và v được tính như sau:
𝑟 𝑚 : biểu thị giá trị trung bình của thang đánh giá Ví dụ: trong thang điểm từ 1 đến 5 thì 𝑟 𝑚 là 3, 𝑟 𝑚 là 4 trong thang điểm từ 1 đến 7
Mối tương quan giữa hai sản phẩm i và j được tính như sau:
Hạn chế chính của kỹ thuật này là hiệu suất kém đối với tập dữ liệu thưa thớt
2.2.6 Tương quan Pearson dựa trên chức năng Sigmoid (Sigmoid Function-Based Pearson Correlation)
Hệ số tương quan Pearson dựa trên hàm Sigmoid (SPCC) là một phương pháp tương tự hiệu quả khi có nhiều sản phẩm được người dùng đồng xếp hạng Mức độ tương tự giữa hai người dùng u và v trong SPCC được tính toán dựa trên các xếp hạng này.
Trong đó i' là tổng số người dùng đồng xếp hạng
Mức độ tương tự giữa hai sản phẩm i và j trong SPCC được tính như sau:
Trong đó j' là tổng số sản phẩm đồng xếp hạng.
Ví dụ
Cho ma trận đánh giá R = (rij)trong hệ tư vấn lọc cộng tác gồm 7 người dùng
Trong mô hình đánh giá sản phẩm, tập hợp người dùng được ký hiệu là U = {u1, u2, u3, u4, u5, u6, u7} và tập hợp sản phẩm là I = {i1, i2, i3, i4, i5} Mỗi người dùng thực hiện việc đánh giá các sản phẩm theo thang điểm từ {∅, 1, 2, 3, 4, 5} Đối với những sản phẩm mà người dùng ui chưa đưa ra đánh giá, giá trị rij sẽ được thể hiện là ∅, như trình bày trong Bảng 2.1.
Bảng 2.1: Ma trận đánh giá của người dùng i 1 i 2 i 3 i 4 i 5 u 1 3 4 2 2 u 2 5 4 2 1 u 3 2 1 5 u 4 3 2 4 u 5 1 5 u 6 2 1 u 7 1 4 4
Bài toán yêu cầu tính toán mức độ tương tự giữa các cặp người dùng và cặp sản phẩm, và vấn đề này sẽ được giải quyết trong các mục 2.3.1 và 2.3.2.
2.3.1 Độ tương tự giữa các cặp người dùng
Phần này mô tả các phương pháp tính toán độ tương tự giữa các cặp người dùng thông qua các công thức như Khoảng cách Euclide, Chỉ số Jaccard, Tương tự Cosine, Hệ số tương quan Pearson, Hệ số tương quan Pearson ràng buộc và Hệ số tương quan Pearson dựa trên chức năng Sigmoid.
Khoảng cách Euclide biểu thị mối tương quan giữa hai người dùng u 1 và u 2 được tính như sau:
𝑑 𝐸 (𝑢 1 , 𝑢 2 ) = √(3 − 5) 2 + (2 − 2) 2 + (2 − 1) 2 = 2.24 Độ đo tương tự Euclide được tính như sau:
Tương tự ta có bảng độ đo tương tự giữa hai người dùng sử dụng độ đo tương tự Euclide
Bảng 2.2: Bảng tính độ tương tự giữa hai người dùng theo công thức công thức E u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 1 1.00 0.31 0.24 0.26 0.22 0.33 0.26 u 2 0.31 1.00 0.15 0.26 0.17 0.25 0.18 u 3 0.24 0.15 1.00 0.50 0.50 1.00 0.50 u 4 0.26 0.26 0.50 1.00 0.31 1.00 1.00 u 5 0.22 0.17 0.50 0.31 1.00 1.00 0.50 u 6 0.33 0.25 1.00 1.00 1.00 1.00 1.00 u 7 0.26 0.18 0.50 1.00 0.50 1.00 1.00
Chỉ số Jaccard giữa hai người dùng u1 và u2 được tính như sau:
5= 0.60 Tương tự như vậy ta có bảng tính độ tương tự giữa hai người dùng khác nhau bằng chỉ số Jaccard
Bảng 2.3: Bảng tính độ tương tự giữa hai người dùng theo công thức J u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 1 1.00 0.60 0.40 0.60 0.50 0.20 0.40 u 2 0.60 1.00 0.75 0.40 0.50 0.20 0.75 u 3 0.40 0.75 1.00 0.20 0.25 0.25 0.50 u 4 0.60 0.40 0.20 1.00 0.67 0.25 0.20 u 5 0.50 0.50 0.25 0.67 1.00 0.00 0.25 u 6 0.20 0.20 0.25 0.25 0.00 1.00 0.25 u 7 0.40 0.75 0.50 0.20 0.25 0.25 1.00
Từ ma trận đánh giá của 7 người dùng về 5 sản phẩm ta tính giá trị trung bình cộng các đánh giá của người dùng
Bảng 2.4: Giá trị trung bình cộng các đánh giá của người dùng u 1 u 2 u 3 u 4 u 5 u 6 u 7
Từ đó ta đưa ra ma trận chuẩn hóa dữ liệu
Bảng 2.5: Ma trận chuẩn hóa dữ liệu i 1 i 2 i 3 i 4 i 5 u 1 0.25 1.25 -0.75 -0.75 u 2 2.00 1.00 -1.00 -2.00 u 3 -0.67 -1.67 2.33 u 4 0.00 -1.00 1.00 u 5 -2.00 2.00 u 6 0.50 -0.50 u 7 -2.00 1.00 1.00 Độ tương tự cosin giữa hai người dùng u1, u2 được tính như sau:
𝑆𝑖𝑚 𝐶𝑂𝑆 (𝑢 1 , 𝑢 2 ) = 0.52 Tương tự như vậy ta có bảng tính độ tương tự giữa hai người dùng khác nhau bằng độ tương tự cosin (Bảng 2.6)
Bảng 2.6: Bảng tính độ tương tự giữa hai người dùng theo công thức COS u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 1 1.00 0.52 -0.39 -0.85 -0.43 0.53 -0.37 u 2 0.52 1.00 -0.82 -0.22 -0.67 -0.22 -0.65 u 3 -0.39 -0.82 1.00 0.00 0.16 0.40 0.79 u 4 -0.85 -0.22 0.00 1.00 0.50 -0.50 0.29 u 5 -0.43 -0.67 0.16 0.50 1.00 0.00 0.29 u 6 0.53 -0.22 0.40 -0.50 0.00 1.00 0.58 u 7 -0.37 -0.65 0.79 0.29 0.29 0.58 1.00
Hệ số tương quan Pearson giữa hai người dùng 𝑢 1 và 𝑢 2 được tính như sau:
Tương tự như vậy ta có bảng tính độ tương tự giữa hai người dùng theo công thức của hệ số tương quan
Bảng 2.7: Bảng tính độ tương tự giữa hai người dùng theo công thức PCC u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 1 1.00 0.84 -0.72 -0.96 -0.89 0.71 -1.00 u 2 0.84 1.00 -0.82 -0.45 -0.95 -1.00 -0.83 u 3 -1.00 -0.87 1.00 0.00 1.00 1.00 0.88 u 4 -0.96 -0.45 0.00 1.00 0.00 -1.00 1.00 u 5 -0.89 -0.95 1.00 0.00 1.00 0.00 1.00 u 6 0.71 -1.00 1.00 -1.00 0.00 1.00 1.00 u 7 -1.00 -0.83 0.88 1.00 1.00 1.00 1.00
Hệ số tương quan Pearson ràng buộc
Trong ma trận đánh giá người dùng (Bảng 2.1), các đánh giá được phân loại từ 1 đến 5, với giá trị trung bình rm = 3 Để tính độ tương tự giữa hai người dùng u1 và u2, ta áp dụng công thức tính toán tương ứng.
𝑆𝑖𝑚 𝐶𝑃𝐶𝐶 (𝑢 1 , 𝑢 2 ) = 0.71 Tương tự ta có bảng tính toán độ tương tự giữa hai người dùng khác nhau dựa trên Hệ số tương quan Pearson ràng buộc
Bảng 2.8: Bảng tính độ tương tự giữa hai người dùng theo công thức CPCC u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 1 1.00 0.71 -0.89 -1.00 -0.71 -1.00 -1.00 u 2 0.71 1.00 -0.89 -0.45 -0.95 -1.00 -0.83 u 3 -0.89 -0.89 1.00 0.00 1.00 1.00 0.95 u 4 -1.00 -0.45 0.00 1.00 0.00 1.00 1.00 u 5 -0.71 -0.95 1.00 0.00 1.00 0.00 1.00 u 6 -1.00 -1.00 1.00 1.00 0.00 1.00 1.00 u 7 -1.00 -0.83 0.95 1.00 1.00 1.00 1.00
Hệ số tương quan Pearson dựa trên chức năng Sigmoid Độ tương tự giữa hai người dùng u 1 và u 2 được tính như sau:
1+exp(− |3| 2 ) = 0.69 Tương tự ta có độ tương tự giữa hai người dùng khác nhau được thể hiện trong bảng 2.9
Bảng 2.9: Bảng tính độ tương tự giữa hai người dùng theo công thức SPCC u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 1 1.00 0.69 -0.53 -0.78 -0.65 0.44 -0.73 u 2 0.69 1.00 -0.67 -0.33 -0.69 -0.62 -0.68 u 3 -0.53 -0.67 1.00 0.00 0.62 0.62 0.65 u 4 -0.78 -0.33 0.00 1.00 0.00 -0.62 0.62 u 5 -0.65 -0.69 0.62 0.00 1.00 0.00 0.62 u 6 0.44 -0.62 0.62 -0.62 0.00 1.00 0.62 u 7 -0.73 -0.68 0.65 0.62 0.62 0.62 1.00
Dựa vào các bảng đã trình bày, chúng ta có bảng tổng hợp kết quả tính toán độ tương tự giữa các cặp người dùng, được tính toán dựa trên các công thức xác định độ tương tự.
Bảng 2.10: Bảng tổng hợp tính độ tương tự giữa hai người dùng
Từ bảng 2.10 và bảng 2.1 ta đưa ra một số so sánh, đánh giá các độ đo tương tự với các cặp người dùng như sau:
Khoảng cách Euclide (E) cho thấy sự tương tự giữa các cặp người dùng khác nhau Đối với cặp người dùng u12, 60% sản phẩm được đánh giá 3/5, trong đó 67% sản phẩm có xếp hạng tương đương, cho thấy độ tương tự ở mức trung bình đến cao Tuy nhiên, trong bảng 2.10, độ tương tự lại được đánh giá thấp Cặp u17 có 40% sản phẩm được đánh giá giống nhau với độ tương tự cao, nhưng cũng bị đánh giá thấp trong bảng 2.10 (0.26) Cặp u34 chỉ có 20% sản phẩm cùng đánh giá với xếp hạng khác nhau, dẫn đến độ tương tự thấp và được đánh giá trung bình (0.5) trong bảng 2.10 Các cặp u36, u46, u47, u67 cũng chỉ có 20% sản phẩm cùng đánh giá, nhưng xếp hạng tương tự nhau đạt 100%, tuy nhiên độ chính xác không cao do số lượng sản phẩm thấp; trong bảng 2.10, độ tương tự lại được đánh giá rất cao (1) Cuối cùng, cặp u56 không có sản phẩm nào được đánh giá, dẫn đến độ tương tự bằng 0, nhưng trong bảng 2.10 lại được đánh giá rất cao (1).
Như vậy trong một số trường hợp Khoảng cách Euclide (E) đưa ra mức độ tương tự chưa chính xác
Chỉ số Jaccard (J) cho cặp người dùng u 17 cho thấy 40% sản phẩm được đánh giá giống nhau, với 100% xếp hạng tương đồng, tuy nhiên mức độ tương tự chỉ đạt 0.40 trong bảng 2.10 Ngược lại, cặp người dùng u 23 có 67% sản phẩm được đánh giá giống nhau, nhưng xếp hạng hoàn toàn khác nhau trên cả 3 sản phẩm, dẫn đến mức độ tương tự cao hơn, đạt 0.75 trong bảng 2.10.
Cặp người dùng u 27 có 40% sản phẩm với đánh giá 2/5, cho thấy sự khác biệt rõ rệt trong mức độ xếp hạng giữa các sản phẩm Mặc dù độ tương tự giữa cặp người dùng u 23 thấp, nhưng trong bảng 2.10, mức độ tương tự lại được đánh giá khá cao với giá trị 0.75.
Đối với cặp người dùng u17, mức độ tương tự giữa hai sản phẩm được đánh giá cao với 40% số lượng sản phẩm có cùng đánh giá 2/5 Tuy nhiên, theo bảng 2.10, độ tương tự này lại chỉ đạt 0.37, cho thấy sự khác biệt trong đánh giá tổng thể.
Hệ tương quan Pearson (PCC) và Hệ tương quan Pearson ràng buộc
Trong bảng 2.10, mức độ tương tự giữa các cặp người dùng sử dụng công thức PCC và CPCC cho thấy sự tương đồng đáng kể Cụ thể, cặp người dùng u 13 và u 25 chỉ có 2/5 sản phẩm cùng đánh giá, chiếm 40% tổng số sản phẩm, nhưng mức độ xếp hạng hoàn toàn khác nhau, dẫn đến độ tương tự thấp Tương tự, cặp người dùng u 14, u 23 và u 27 có 3/5 sản phẩm cùng đánh giá (67%), nhưng mức độ xếp hạng cũng khác biệt, cho thấy độ tương tự vẫn thấp Đối với cặp u 16 và u 26, chỉ có 1/5 sản phẩm cùng đánh giá (20%), với mức xếp hạng khác nhau, dẫn đến độ tương tự thấp Trong khi đó, cặp người dùng u 45 có 2/5 sản phẩm cùng đánh giá (40%), với 50% sản phẩm có mức xếp hạng tương tự, nhưng độ tương tự được đánh giá là không có Cuối cùng, các cặp người dùng u 35, u 36, u 46, u 47, u 57 và u 67 chỉ có 1/5 sản phẩm cùng đánh giá (20%), nhưng mức xếp hạng tương tự 100%, khiến độ tương tự không thể đánh giá chính xác, mặc dù bảng 2.10 lại cho thấy mức độ tương tự rất cao.
Hạn chế của PCC và CPCC là chỉ xem xét mức đánh giá tương tự của người dùng mà chưa tính đến số lượng các cặp sản phẩm được đánh giá cùng lúc.
Tương quan Pearson dựa trên chức năng Sigmoid (SPCC) cho thấy rằng trong các cặp người dùng u 27, 67% số lượng sản phẩm được đánh giá là 3/5, dẫn đến sự khác biệt rõ rệt trong xếp hạng giữa ba sản phẩm, làm giảm mức độ tương tự giữa các cặp người dùng u 13 và u 25 Ngược lại, trong các cặp người dùng u 45, 40% sản phẩm được đánh giá là 2/5, với 50% số sản phẩm có mức xếp hạng tương tự nhau, cho thấy mức độ tương tự trung bình Tuy nhiên, theo bảng 2.10, mức độ tương tự giữa các cặp người dùng u 45 lại được đánh giá là không có (bằng 0).
Kết quả tính toán độ tương tự giữa hai người dùng với các độ đo khác nhau, như trình bày trong bảng 2.10, cho thấy rằng các độ đo này mang lại kết quả khác nhau Tuy nhiên, độ đo PCC và CPCC cho kết quả tương tự nhau và có nhiều hạn chế hơn so với các độ đo khác.
2.3.2 Độ tương tự giữa các cặp sản phẩm
Phần này hướng dẫn cách tính độ tương tự giữa các cặp sản phẩm thông qua các công thức như Khoảng cách Euclide, Chỉ số Jaccard, Tương tự Cosine, Hệ số tương quan Pearson, Hệ số tương quan Pearson ràng buộc và Hệ số tương quan Pearson dựa trên chức năng Sigmoid.
Khoảng cách Euclide biểu thị mối tương quan giữa hai sản phẩm 𝑖 1 và 𝑖 2 được tính như sau:
𝑑 𝐸 (𝑖 1 , 𝑖 2 ) = √(3 − 4) 2 + (3 − 2) 2 = 1.41 Độ đo tương tự Euclide được tính như sau:
1+1.41= 0.41 Tương tự ta có bảng độ đo tương tự giữa hai người dùng sử dụng độ đo tương tự Euclide (Bảng 2.11)
Bảng 2.11: Bảng tính độ tương tự giữa hai sản phẩm theo công thức E i 1 i 2 i 3 i 4 i 5 i 1 1.00 0.41 0.41 0.16 0.16 i 2 0.41 1.00 0.50 0.26 0.33 i 3 0.41 0.50 1.00 0.22 0.15 i 4 0.16 0.26 0.22 1.00 0.50 i 5 0.16 0.33 0.15 0.50 1.00
Chỉ số Jaccard (Jaccard index)
Chỉ số Jaccard giữa hai sản phẩm i 1 và i 2 được tính như sau:
6= 0.33 Tương tự như vậy ta có bảng tính độ tương tự giữa hai sản phẩm khác nhau bằng chỉ số Jaccard
Bảng 2.12: Bảng tính độ tương tự giữa hai sản phẩm theo công thức J i 1 i 2 i 3 i 4 i 5 i 1 1.00 0.33 0.29 0.57 0.43 i 2 0.33 1.00 0.17 0.33 0.17 i 3 0.29 0.17 1.00 0.29 0.60 i 4 0.57 0.33 0.29 1.00 0.50 i 5 0.43 0.17 0.60 0.50 1.00
Tương tự Cosine (Cosine similarity)
Từ ma trận đánh giá của người dùng u1, u2, u3, u4, u5, u6, u7 về các sản phẩm i1, i2, i3, i4, i5, chúng ta tính giá trị trung bình cộng các đánh giá của người dùng cho từng sản phẩm, như thể hiện trong bảng 2.13.
Bảng 2.13: Giá trị trung bình cộng đánh giá từng sản phẩm i 1 i 2 i 3 i 4 i 5
Từ đó ta có ma trận chuẩn hóa dữ liệu
Bảng 2.14: Ma trận chuẩn hóa dữ liệu i 1 i 2 i 3 i 4 i 5 u 1 0.20 1.33 -1.40 -1.00 u 2 2.20 2.25 -1.40 -2.00 u 3 -0.80 -0.75 2.00 u 4 0.20 -0.67 0.60 u 5 -1.80 1.60 u 6 -0.67 -0.75 u 7 -0.75 0.60 1.00 Độ tương tự cosine giữa hai sản phẩm i1 và i2 được tính như sau:
𝑆𝑖𝑚 𝐶𝑂𝑆 (𝑖 1 , 𝑖 2 ) = 0.03 Tương tự như vậy ta có bảng tính độ tương tự giữa hai sản phẩm khác nhau bằng độ tương tự cosine (Bảng 2.15)
Bảng 2.15: Bảng tính độ tương tự giữa hai sản phẩm theo công thức COS i 1 i 2 i 3 i 4 i 5 i 1 1.00 0.03 0.72 -0.77 -0.66 i 2 0.03 1.00 0.12 -0.52 -0.26 i 3 0.72 0.12 1.00 -0.52 -0.82 i 4 -0.77 -0.52 -0.52 1.00 0.57 i 5 -0.66 -0.26 -0.82 0.57 1.00
Hệ tương quan Pearson giữa hai sản phẩm i 1 và i 2 được tính như sau:
𝑆𝑖𝑚 𝑃𝐶𝐶 (𝑖 1 , 𝑖 2 ) = 0.32 Tương tự như vậy ta có bảng tính độ tương tự giữa hai sản phẩm theo công thức của hệ số tương quan (bảng 2.13)
Bảng 2.16: Bảng tính độ tương tự giữa hai sản phẩm theo công thức PCC i 1 i 2 i 3 i 4 i 5 i 1 1.00 0.32 1.00 -0.82 -0.88 i 2 0.32 1.00 1.00 -1.00 -1.00 i 3 1.00 1.00 1.00 -1.00 -0.90 i 4 -0.82 -1.00 -1.00 1.00 0.95 i 5 -0.88 -1.00 -0.90 0.95 1.00
Hệ số tương quan Pearson ràng buộc: Độ tương tự giữa hai người dùng i 1 và i 2 được tính như sau:
Tương tự ta có bảng tính toán độ tương tự giữa hai sản phẩm khác nhau dựa trên Hệ số tương quan Pearson ràng buộc
Bảng 2.17: Bảng tính độ tương tự giữa hai sản phẩm theo công thức CPCC i 1 i 2 i 3 i 4 i 5 i 1 1.00 0.00 0.80 -0.80 -0.89 i 2 0.00 1.00 1.00 -1.00 -1.00 i 3 0.80 1.00 1.00 -0.95 -0.89 i 4 -0.80 -1.00 -0.95 1.00 0.94 i 5 -0.89 -1.00 -0.89 0.94 1.00
Tương quan Pearson dựa trên chức năng Sigmoid Độ tương tự giữa hai sản phẩm i 1 và i 2 được tính như sau:
2 )= 0.23 Tương tự ta có độ tương tự giữa hai sản phẩm khác nhau được thể hiện trong bảng
Bảng 2.18: Bảng tính độ tương tự giữa hai sản phẩm theo công thức SPCC i 1 i 2 i 3 i 4 i 5 i 1 1.00 0.23 0.73 -0.72 -0.72 i 2 0.23 1.00 0.62 -0.73 -0.62 i 3 0.73 0.62 1.00 -0.73 -0.74 i 4 -0.72 -0.73 -0.73 1.00 0.77 i 5 -0.72 -0.62 -0.74 0.77 1.00
Kết luận
Trong chương này, luận văn trình bày sáu độ đo tương tự trong tư vấn lọc cộng tác, bao gồm công thức tính toán và ý nghĩa của các ký hiệu Bài viết cũng cung cấp ví dụ minh họa để tính toán các độ đo, từ đó đưa ra dự đoán về xếp hạng cho người dùng hoặc sản phẩm Việc đánh giá các độ đo tương tự sử dụng cùng một thuật toán là cần thiết để xem xét mức độ phù hợp của chúng Chương tiếp theo sẽ thử nghiệm các độ đo tương tự với thuật toán K-Means trên bộ dữ liệu MovieLens 100K để so sánh và đánh giá hiệu quả của các độ đo trong tư vấn lọc cộng tác.
THỬ NGHIỆM VÀ ĐÁNH GIÁ 45 3.1 Giới thiệu chung
Phát biểu bài toán
Lọc cộng tác là phương pháp giúp hệ thống đề xuất (RS) cung cấp luồng dữ liệu phù hợp với sở thích của người dùng mục tiêu, dựa trên sự tương đồng với những người dùng khác Hồ sơ của người dùng được xây dựng dựa trên mức độ tương đồng, điều này cho thấy độ tương đồng là yếu tố quan trọng trong việc đánh giá sự tương tự giữa hai người dùng hoặc hai sản phẩm Chương 2 của luận văn đã đề cập đến một số độ đo tương tự trong tư vấn lọc cộng tác, và trong chương 3, luận văn sẽ tập trung vào việc đánh giá các độ đo tương tự này.
Bộ dữ liệu MovieLens 100k đánh giá của người dùng với các bộ phim trên website: https://grouplens.org/datasets/movielens/
Dữ liệu đã được phân cụm dựa trên nhiều độ đo tương tự, bao gồm Tương tự Cosine, hệ số tương quan Pearson, hệ số tương quan Pearson ràng buộc, tương quan Pearson dựa trên chức năng Sigmoid, chỉ số Jaccard và khoảng cách Euclide.
Mục đích của luận văn là sử dụng thuật toán K-Means để phân cụm dữ liệu, kiểm tra sự khác biệt trong kết quả phân cụm khi áp dụng các độ đo tương tự khác nhau K-Means là thuật toán phân cụm phổ biến trong học máy và khai phá dữ liệu, nổi bật với ưu điểm dễ cài đặt, dễ hiểu và linh hoạt trong việc sử dụng các phương pháp đo khoảng cách.
Thuật toán K-Means được phát biểu như sau :
Bước 1 : Chọn số k để quyết định số lượng cụm
Bước 2 : Khởi tạo ngẫu nhiên trọng tâm cụm C={c 1 ,c 2 ,…, c k }
Bước 3 : Lặp a Đối với mỗi điểm dữ liệu (x i ) trong tập dữ liệu (D)
- Tính khoảng cách dis(x i ,C) giữa x i và tất cả các trọng tâm cụm
- Gán x i cho cụm gần nhất b Tính toán lại các trọng tâm của cụm làm giá trị trung bình của tất cả các thành viên trong cụm
Bước 4 : Dừng khi các thành viên cụm ổn định.
Dữ liệu thử nghiệm và phương pháp đánh giá
MovieLens 100K là một tập dữ liệu chứa 100836 xếp hạng 5 sao và 3683 ứng dụng gắn thẻ văn bản miễn phí từ dịch vụ đề xuất phim MovieLens Dữ liệu này được thu thập từ 610 người dùng trong khoảng thời gian từ ngày 29 tháng 3 năm 1996 đến ngày 24 tháng Tập dữ liệu này cung cấp cái nhìn sâu sắc về sở thích và hành vi của người dùng đối với 9742 bộ phim.
9 năm 2018 Tập dữ liệu này được tạo vào ngày 26 tháng 9 năm 2018
Người dùng được chọn ngẫu nhiên từ một tập hợp đã đánh giá ít nhất 20 phim, không bao gồm thông tin nhân khẩu học Mỗi người dùng được xác định bằng một ID duy nhất và không có thông tin bổ sung nào khác Dữ liệu được lưu trữ trong các tệp links.csv, movies.csv, ratings.csv và tags.csv Tệp ratings.csv chứa tất cả các xếp hạng phim, với mỗi dòng sau hàng tiêu đề đại diện cho một xếp hạng của người dùng, theo định dạng: userId, movieId, rating, timestamp.
Tệp dữ liệu được tổ chức theo thứ tự userId, và bên trong từng user, các movieId được sắp xếp Hệ thống xếp hạng sử dụng thang điểm từ 0,5 sao đến 5 sao Tệp tags.csv chứa tất cả các thẻ mà người dùng áp dụng cho phim, với định dạng userId, movieId, tag, timestamp Các dòng trong tệp này cũng được sắp xếp theo userId và sau đó theo movieId.
Thẻ phim là siêu dữ liệu do người dùng tạo, thường là từ đơn hoặc cụm từ ngắn, và được xác định ý nghĩa, giá trị bởi từng cá nhân Thông tin phim được lưu trữ trong tệp movies.csv, với mỗi dòng sau tiêu đề đại diện cho một bộ phim, bao gồm các thông tin như movieId, title và genres Tên phim có thể được nhập thủ công hoặc lấy từ trang web https://www.themoviedb.org/, kèm theo năm phát hành trong ngoặc đơn.
Các thể loại phim được phân tách bằng dấu sổ đứng bao gồm: Hoạt động, Cuộc phiêu lưu, Hoạt hình, Trẻ em, Phim hài, Tội ác, Phim tài liệu, Kịch, Tưởng tượng, Kinh dị, Âm nhạc, Huyền bí, và Lãng mạn Tệp links.csv chứa các số nhận dạng để liên kết đến các nguồn dữ liệu phim khác, với mỗi dòng đại diện cho một bộ phim theo định dạng: movieId, imdbId, tmdbId.
- movieId là mã định danh cho phim được https://movielens.org sử dụng Vd: phim Toy Story có link https://movielens.org/movies/1
- imdbId là mã định danh cho phim được sử dụng bởi http://www.imdb.com
Vd: phim Toy Story có link là http://www.imdb.com/title/tt0114709/
- tmdbId là mã định danh cho phim được sử dụng bởi https://www.themoviedb.org Vd: phim Toy Story có link https://www.themoviedb.org/movie/862
Trong tệp movies.csv, hãy chọn hai thể loại phim là phim lãng mạn và phim khoa học viễn tưởng để tiến hành kiểm tra Đầu tiên, tính toán xếp hạng trung bình của mỗi người dùng cho tất cả các phim lãng mạn và phim khoa học viễn tưởng Tiếp theo, loại bỏ những người dùng thích cả hai thể loại để các cụm có thể xác định rõ hơn sở thích của họ đối với từng thể loại.
3.3.2 Môi trường và công cụ
Hệ điều hành Windows 11 64bit, RAM 8GB Phần mềm Visual Studio Code, Jupyter notebook Ngôn ngữ lập trình: Python
Cài đặt thuật toán
Cài đặt thuật toán K-Means
Một phương pháp để xác định giá trị k tối ưu trong phân cụm là thử nghiệm với từng giá trị k từ 1 đến 5 và quan sát sự thay đổi trong kết quả phân cụm Nhiều nghiên cứu đã chỉ ra rằng việc điều chỉnh k có thể mang lại hiệu quả, nhưng sẽ dừng lại ở một mức nhất định Do đó, việc kiểm tra dữ liệu với các giá trị k khác nhau là cần thiết để tìm ra giá trị phù hợp nhất.
Phương pháp khửu tay (Elbow Method) là một kỹ thuật hữu ích trong việc xác định số lượng cụm tối ưu khi sử dụng thuật toán K-means Bằng cách chạy thuật toán K-means nhiều lần và tăng dần số lượng cụm trong mỗi lần lặp, chúng ta có thể ghi lại tổn thất tương ứng Cuối cùng, việc lập biểu đồ đường cho các cụm so với tổn thất sẽ giúp trực quan hóa và xác định điểm khửu tay, từ đó hỗ trợ trong việc chọn số lượng cụm phù hợp.
Từ các tính toán theo phương pháp khửu tay dựa vào bộ dữ liệu MovieLens100K ta xác định được k = 2 và xi là những người dùng
Gán điểm cho Centers gần nhất
Cài đặt các độ đo tương tự
Hệ số tương quan Pearson
Hệ số tương quan Pearson ràng buộc
Tương quan Pearson dựa trên chức năng Sigmoid
Kết quả thử nghiệm
Kết quả thử nghiệm cho thấy khi áp dụng thuật toán K-Means với k=2, dữ liệu được phân cụm hiệu quả qua các độ đo tương tự khác nhau.
Hình 3.1: Phân cụm sử dụng độ đo tương tự Khoảng cách Euclide
Hình 3.2: Phân cụm sử dụng độ đo tương tự Cosine
Hệ số tương quan Pearson
Hình 3.3: Phân cụm sử dụng độ đo tương tự Hệ số tương quan Pearson
Tương quan Pearson dựa trên chức năng Sigmoid
Hình 3.4: Phân cụm sử dụng độ đo Tương quan Pearson dựa trên chức năng Sigmoid Đánh giá các cụm sử dụng các độ đo khác nhau
Các cụm dữ liệu được phân tích thông qua các độ đo như Khoảng cách Euclide, Tương tự Cosine, Hệ số tương quan Pearson và Tương quan Pearson dựa trên chức năng Sigmoid Kết quả cụm được trình bày dựa trên thuật toán K-Means cho thấy sự tương đồng giữa các cụm khi áp dụng các độ đo này.
Các cụm dữ liệu áp dụng các chỉ số như Tương tự Cosine, Hệ số tương quan Pearson và Tương quan Pearson dựa trên hàm Sigmoid cho kết quả tương tự nhau Điều này cho thấy rằng khoảng cách giữa các cặp người dùng dựa trên các chỉ số này có sự chênh lệch thấp, không đủ để thay đổi vị trí của họ vào các cụm khác nhau.
Cụm dữ liệu sử dụng Khoảng cách Euclide có sự phân bố khác biệt so với các cụm sử dụng các độ đo tương tự khác, nhưng vẫn tồn tại những điểm chung Việc đánh giá các độ đo tương tự là cần thiết để hiểu rõ hơn về sự khác biệt và tương đồng trong các cụm dữ liệu này.
Ngẫu nhiên chọn năm cặp người dùng, chúng tôi đo khoảng cách giữa các cặp này bằng các phương pháp như: Tương tự Cosine, hệ số tương quan Pearson, hệ số tương quan Pearson ràng buộc, tương quan Pearson dựa trên hàm Sigmoid, chỉ số Jaccard và khoảng cách Euclide Kết quả được thể hiện trên đồ thị (Hình 3.5).
Hình 3.5: Đồ thị thể hiện độ đo tương tự một số cặp người dùng
Quan sát từ đồ thị (hình 3.5), chúng ta nhận thấy rằng mức độ tương tự giữa các cặp người dùng sử dụng các độ đo tương tự khác nhau sẽ dẫn đến những kết quả không giống nhau Tuy nhiên, phần lớn các độ đo tương tự vẫn cho ra kết quả tương đồng trong việc xác định những người dùng.
Trong trường hợp đầu tiên, mức độ tương đồng giữa hai người dùng được đánh giá bằng các chỉ số PCC, CPCC, COS và J là tương tự nhau, trong khi các kết quả sử dụng chỉ số SPCC và E cũng cho thấy sự tương đồng.
Trong trường hợp thứ 2: Mức độ tương tự của hai người dùng tương tự nhau với các độ đo: PCC và E, SPCC và COS; CPCC và J
Trong trường hợp thứ 3, mức độ tương tự giữa hai người dùng được đánh giá bằng các chỉ số PCC, J, CPCC, SPCC và COS, tuy nhiên, chỉ số E lại cho kết quả hoàn toàn khác biệt so với các chỉ số này.
Trong trường hợp thứ 4 và thứ 5, các độ đo như PCC, CPCC, SPCC, COS và J cho kết quả tương tự nhau, trong khi đó, độ đo E lại cho kết quả hoàn toàn khác biệt so với các độ đo còn lại.
Việc đánh giá độ đo nào là tốt nhất trong phân tích dữ liệu gặp nhiều khó khăn do có nhiều ràng buộc khác nhau Các độ đo như hệ số tương quan Pearson, tương quan Pearson ràng buộc, và tương quan Pearson dựa trên chức năng Sigmoid chỉ xem xét các sản phẩm chung đã được đánh giá, trong khi hệ số Jaccard lại xem xét cả tổng số sản phẩm được đánh giá bởi hai người dùng Hơn nữa, sự lựa chọn độ đo cũng phụ thuộc vào mức độ thưa thớt của dữ liệu, với mỗi trường hợp có mức độ thưa khác nhau sẽ làm nổi bật các ưu điểm và nhược điểm riêng của từng độ đo.
Kết luận
Trong chương này, luận văn áp dụng thuật toán K-Means kết hợp với các chỉ số tương tự như Hệ số tương quan Pearson, tương quan Pearson ràng buộc, tương quan Pearson dựa trên chức năng Sigmoid, khoảng cách Euclide, tương tự Cosine và hệ số Jaccard để phân cụm dữ liệu từ bộ dữ liệu MovieLens 100K Ngoài ra, bài viết cũng cung cấp các đánh giá so sánh về các cụm dữ liệu và các chỉ số tương tự được sử dụng.
KẾT LUẬN VÀ KIẾN NGHỊ
Hệ thống tư vấn lọc cộng tác đang phát triển mạnh mẽ, đặc biệt trong lĩnh vực thương mại điện tử Hệ thống này không ngừng cải thiện chất lượng và rút ngắn thời gian xử lý, nhằm đáp ứng tốt hơn nhu cầu tư vấn sản phẩm và dịch vụ cho người dùng.
Luận văn đã trình bày về một số độ đo tương tự sử dụng trong lọc cộng tác Các kết quả đạt được của luận văn như sau:
- Tìm hiểu tổng quan về tư vấn lọc cộng tác, các kỹ thuật lọc cộng tác
Trong bài viết này, chúng ta sẽ khám phá một số độ đo tương tự quan trọng trong tư vấn lọc cộng tác, bao gồm hệ số tương quan Pearson, tương quan Pearson ràng buộc, tương quan Pearson dựa trên chức năng Sigmoid, khoảng cách Euclide, tương tự Cosine và hệ số Jaccard Mỗi độ đo sẽ được minh họa bằng ví dụ cụ thể để giúp người đọc hiểu rõ cách tính toán và ứng dụng của chúng Bên cạnh đó, chúng ta cũng sẽ đánh giá và so sánh hiệu quả của các độ đo này trong việc cải thiện chất lượng của hệ thống lọc cộng tác.
- Sử dụng thuật toán K-Means để phân cụm dữ liệu đánh giá các độ đo dựa vào bộ dữ liệu MovieLens 100K
- So sánh và đánh giá các độ đo tương tự
Mặc dù luận văn đã đạt được một số kết quả nhất định, nhưng vẫn tồn tại nhiều hạn chế, chủ yếu ở mức độ nghiên cứu và tìm hiểu Số lượng các chỉ số nghiên cứu chưa được đầy đủ, điều này mở ra những hướng phát triển tiềm năng cho đề tài trong tương lai.
- Nghiên cứu một số độ đo tương tự khác sử dụng trong lọc cộng tác
- Sử dụng một số thuật toán khác để đánh giá các độ đo tương tự
DANH MỤC CÁC TÀI LIỆU THAM KHẢO
[1] Aberger, Christopher R and caberger, (2014), "Recommender: An Analysis of Collaborative Filtering Techniques"
[2] Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl, (2001), "Item- Based Collaborative Filtering Recommendation Algorithms", Proceedings of the 10th international conference on World Wide Web, 285–295
[3] FethiFkih, (2021), "Similarity measures for Collaborative Filtering-based Recommender Systems: Review and experimental comparison", Computer and Information Sciences, Volume 33, Issue 8, October 2021
[4] Hael Al-bashiri, Mansoor Abdullateef Abdulgabber, Awanis Romli, Hasan Kahtan, (2018), "An improved memory-based collaborative filtering method based on the TOPSIS technique"
[5] Haifeng Liu, Zheng Hu, Ahmad Mian, Hui Tian, Xuzhen Zhu, (2014), "A new user similarity model to improve the accuracy of collaborative filtering",
[6] Hyung, J and Ahn, (2008), "A new similarity measure for collaborative filtering to alleviate the new user cold-starting problem", Elsevier, Information Sciences, 178: 37–51
[7] Jonathan L Herlocker, Joseph A Konstan, Loren G Terveen, and John T Riedl,
(2004), "Evaluating collaborative filtering recommender systems", ACM Trans Inf Syst 22, 1 (January 2004), 5–53
In their 2020 study, Jain et al conducted a comprehensive survey on similarity measures utilized in collaborative filtering-based recommender systems, highlighting their significance in enhancing recommendation accuracy Published in "Soft Computing: Theories and Applications," this research contributes to the Advances in Intelligent Systems and Computing series by providing insights into various methodologies for improving user experience through effective recommendations The findings underscore the importance of selecting appropriate similarity metrics to optimize the performance of recommender systems For further details, refer to the publication available through Springer at https://doi.org/10.1007/978-981-15-0751-9_32.
[9] Kai Yu, A Schwaighofer, V Tresp, Xiaowei Xu and H - Kriegel, (2004),
"Probabilistic memory-based collaborative filtering," in IEEE Transactions on Knowledge and Data Engineering, vol 16, no 1, pp 56-69
[10] K G Saranya*, G Sudha Sadasivam and M Chandralekha, (2016), " Performance Comparison of Different Similarity Measures for Collaborative Filtering Technique", Indian Journal of Science and Technology, Volume:
[11] L.A Hassanieh, C A Jaoudeh, J B Abdo and J Demerjian, (2018), "Similarity measures for collaborative filtering recommender systems," 2018 IEEE Middle East and North Africa Communications Conference (MENACOMM), pp 1-5, doi: 10.1109/MENACOMM.2018.8371003
[12] N Mustafa, A O Ibrahim, A Ahmed and A Abdullah, (2017), "Collaborative filtering: Techniques and applications", 2017 International Conference on Communication, Control, Computing and Electronics Engineering (ICCCCEE), pp 1-6, doi: 10.1109/ICCCCEE.2017.7867668
[13] Sivaramakrishnan N, Subramaniyaswamy V, Arunkumar S, Renugadevi A, Ashikamai Kk, (2018), "Neighborhood-based approach of collaborative filtering techniques for book recommendation system", International Journal of
Pure and Applied Mathematics, Volume 119(No 12), 13241-13250
[14] Songjie Gong, (2010), "A Collaborative Filtering Recommendation Algorithm Based on User Clustering and Item Clustering", Journal of Software 5(7), 745-
[15] Sondur, S.D., Nayak, S., & Chigadani, A.P, (2016), "Similarity Measures for Recommender Systems: A Comparative Study", International Journal for
[16] Xiaoyuan Su and Taghi M Khoshgoftaar, (2009), "A Survey of Collaborative Filtering Techniques", Advances in artificial intelligence, Volume 2009.