8 Bảng so sánh hiệu quả theo số lượng cụm

Một phần của tài liệu Xây dựng hệ thống gợi ý cho website thương mại điện tử (Trang 62)

60

Đồ thị thể hiện hiệu quả của hệ thống theo số lượng cụm theo bảng trên:

Hình 3.4 - Hiệu quả hệ thống theo số lượng cụm

Đồ thị biểu thị thay đổi cuả thời gian xử lý trên số cụm:

Hình 3.5 - Thời gian xử lý theo số lượng cụm

0 5 10 15 20 25 30 35 40 45 50 0.98 1 1.02 1.04 1.06 1.08 1.1 1.12 1.14 Number of Clusters R M S E 0 5 10 15 20 25 30 35 40 45 50 4 6 8 10 12 14 16 18 20 22 Number of Cluster E la p s e d t im e ( s )

61

Nhìn vào các kết quả trên ta thấy, hiệu quả hệ thống giảm dần khi số cụm tăng lên. Điều này là do phân càng nhiều cụm thì số sản phẩm trong mỗi cụm sẽ giảm đi, khiến thiếu dữ liệu tính tốn. Tuy nhiên phân cụm sẽ làm giảm thời gian xử lý đi đáng kể như ta đã khảo sát ở trên. Ở đây ta sẽ lựa chọn số cụm là 15 để cân bằng giữa 2 yếu tố này.

3.4.3.Hệ gợi ý Demographic-based

Để bù đắp cho khuyết điểm thiếu hiệu quả do khơng đủ dữ liệu cũng như vấn đề người dùng mới, ta sẽ sử dụng thêm hệ gợi ý Demographic Based lấy thơng tin người dùng để gợi ý sản phẩm cho họ.

Hình 3.6 Hệ gợi ý Demographic-based [6]

Đối với tập movielens chúng ta các thơng tin đĩ là tuổi, giới tính và nghề nghiệp, chúng ta lấy thơng tin này từ hồ sơ người dùng, dự đốn được đưa ra như sau: - Tìm ra các người dùng cĩ thuộc tính tương đồng với người dùng hiện tại (giới

tính, tuổi, nghề nghiệp)

- Đưa ra danh sách các bộ phim được nhĩm người trên đánh giá

- Dự đốn đánh giá sản phẩm là đánh giá trung bình được tính bằng cơng thức được đề xuất bởi Laila Safoury và Akram Salah [7]:

Pred(i) = 𝐹𝑟𝑒𝑞1×1+ 𝐹𝑟𝑒𝑞 2× 2+ 𝐹𝑟𝑒𝑞3×3+𝐹𝑟𝑒𝑞4×4+ 𝐹𝑟𝑒𝑞5×5

62

Trong đĩ Freqk là tần suất item i được đánh giá k điểm (k = 1-5)

- Độ tin cậy của sản phẩm gợi ý dựa vào 2 nhân tố là tần suất đánh giá của sản phẩm Freq(i) và dự đốn đánh giá trung bình Pred(i), ta tổng hợp 2 tiêu chí này vào một để xếp hạng sản phẩm theo cơng thức tự đề xuất sau:

Rank(i) = w × Freq(i) + (a - w) × Pred(i) (3.5) Trong đĩ:

• Rank(i) là điểm xếp hạng của sản phẩm i

• Freq(i) là tần suất được đánh giá của sản phẩm i • W là trọng số tối ưu

- (Cho trọng số w chạy từ 0 đến hằng số a cho trước, áp dụng với tập test tìm ra TopN item rồi dựa vào tiêu chuẩn Recall, Percision, và F1 để tìm ra giá trị w thích hợp)

- Chọn N item cĩ rank cao nhất để gợi ý cho người dùng.

- Trong trường hợp thuộc tính người dùng hiện tại hiếm (cĩ quá ít hoặc khơng cĩ người dùng tương đồng thuộc tính) thì sẽ giảm đi một thuộc tính ít tổng quát nhất (chẳng hạn trong trường hợp moivelens thì giảm đi thuộc tính nghề nghiệp) và lặp lại quá trình tính tốn như trên, sau đĩ thêm item vào danh sách cịn thiếu. Các thuộc tính của người dùng trong tập Movielens:

- Giới tính: Nam, nữ

- Tuổi: Ta chia thành 5 khoảng: • Trẻ em: Tuổi bé hơn 9 • Thanh thiếu niên: Từ 10 – 19 • Trưởng thành: Từ 20 – 45 • Trung niên: Từ 46 – 60 • Già: Tuổi lớn hơn 60

63 - Nghề nghiệp: Bao gồm 21 nghề

Sử dụng tập test là các người dùng, với mỗi người dùng ta tìm tập các người dùng tương đồng, tìm các sản phẩm mà những người này đánh giá, sau đĩ sử dụng cơng thức (3.4) để dự đốn đánh giá và dùng cơng thức (3.5) để xếp hạng cho mỗi sản phẩm.

Ví dụ với user cĩ ID = 30 ( lấy w = 35, lấy n = 10 item cĩ rank cao nhất) ta cĩ bảng:

Item ID Tần suất đánh giá Dự đốn đánh giá Rank

286 14 3 685 121 13 3 650 56 11 3 580 111 11 3 580 412 10 3 545 82 9 3 510 245 9 3 510 763 9 3 510 125 7 4 505 151 7 4 505

3.4.4.Các thước đo đánh giá

Để đánh giá các hệ gợi ý, thơng thường trên thế giới người ta hay sử dụng 2 loại thang đo. Đầu tiên là những thang đo độ chính xác tiên đốn (Predictive Accuracy Measures) [1] như MAE, MSE, RMSE, NMSE… Những thang đo này chỉ ra rằng hệ gợi ý ra đánh giá chính xác đến mức nào so với đánh giá thực tế của người dùng, tuy nhiên trong trường hợp này hệ gợi ý thành phần demographic-based chỉ đưa ra danh sách n sản phẩm gợi ý cho người dùng chứ khơng đưa ra được cụ thể dự đốn đánh giá của một cặp (user, item) bất kỳ. Hơn nữa nĩ chỉ chú trọng vào việc đưa ra những sản phẩm phù hợp với người dùng chứ khơng quan trọng về độ chính xác cụ thể của đánh giá, cho nên việc sử dụng những thang đo trên là khơng hợp lý.

64

Thay vào đĩ, ta sẽ sử dụng những thang đo độ chính xác phân loại (Classification Accuracy Measures) [1] chẳng hạn như Precision, Recall và F1. Những thang đo này đánh giá hệ thống dựa trên tần suất những gợi ý đúng/ sai dành cho người dùng.

Xét ví dụ người dùng X cĩ đánh giá thực tế như sau (đánh giá bằng 0 là chưa đánh giá):

Item ID 1 2 3 4 5 6 7 8 9 10 Đánh giá 5 1 5 1 4 2 5 2 1 0

Và giả sử hệ gợi ý đưa ra danh sách gợi ý cho người dùng là: Item ID 1 4 10 5 8

Ta thấy nếu giả sử sản phẩm tốt cĩ đánh giá thực tế lớn hơn 3, vậy:

- Gọi A là số sản phẩm hệ thống gợi ý đúng (sản phẩm thực tế được đánh giá tốt): A = 2 sản phẩm

- Gọi B là tổng số sản phẩm hệ thống gợi ý (độ dài danh sách gợi ý): B = 5 sản phẩm

- Gọi C là tổng số sản phẩm được người dùng đánh giá tốt: C = 4 sản phẩm

Precision là thước đo độ chính xác, được tính bằng số sản phẩm gợi ý đúng trên tổng số sản phẩm gợi ý:

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝐴 𝐵=

2

5= 0,4 (3.6)

Recall là thước đo độ hồn thiện, được tính bằng số sản phẩm gợi ý đúng trên tổng số sản phẩm được người dùng đánh giá tốt:

65

𝑅𝑒𝑐𝑎𝑙𝑙 = 𝐴 𝐶=

2

4= 0,5 (3.7)

Precision và Recall mỗi thước đo thể hiện 2 khía cạnh khác nhau về độ chính xác của hệ gợi ý, nếu chúng ta cĩ nhu cầu sử dụng kết hợp cả 2 thang đo này, ta cĩ thể sử dụng thang đo F1, là thang đo điều hịa giữa Precision và Recall:

𝐹1 = 2. 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛. 𝑅𝑒𝑐𝑎𝑙𝑙 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙 =

2.0,5.0,4

0,5 + 0,4 = 0,45 (3.8)

Chọn độ dài độ dài danh sách gợi ý là 10, với mỗi giá trị w ta tiến hành tính Precision, Recall và F1 (giả sử các bộ phim đạt yêu cầu cĩ đánh giá 3, 4, 5) , sau đĩ tính các giá trị trung bình trên tập người dùng .

0 10 20 30 40 50 60 70 80 90 100 0.185 0.19 0.195 0.2 0.205 0.21 W P re c is io n

66

Hình 3.7 Hiệu quả hệ thống theo W

Từ đĩ trọng số w tối ưu được xác định: w = 35

0 10 20 30 40 50 60 70 80 90 100 0.042 0.044 0.046 0.048 0.05 0.052 0.054 W R e c a ll 0 10 20 30 40 50 60 70 80 90 100 0.072 0.074 0.076 0.078 0.08 0.082 0.084 W F1

67 Ta cĩ cơng thức (3.5) chuyển thành:

Rank(i) = 35Freq(i) + 65Pred(i) Hiệu quả trung bình của hệ thống trên tập người dùng:

Precision Recall F1

0,2006 0,0516 0,0821

3.4.5.Hệ thống gợi ý lai

Do mục đích muốn sử dụng hệ gợi ý demographic để bổ sung sản phẩm gợi ý cho lọc cộng tác, hướng đến một phép lai rõ ràng và đơn giản, dễ áp dụng nên ta sẽ cho 2 hệ thống hoạt động và đưa ra kết quả độc lập, kết hợp sử dụng phương pháp lai Mixed, danh sách topN sản phẩm gợi ý của 2 phương pháp sẽ được trộn lẫn với nhau theo một cách nào đĩ rồi đưa ra cho người dùng.

68 Mơ tả quá trình:

- Đầu vào hệ thống sẽ là UserID của người dùng, đầu ra là topN item gợi ý bằng hệ thống lai

- Đầu tiên từ UserID tìm ra được danh sách topN1 dùng kỹ thuật demographic- based

- Sau đĩ kiểm tra xem cĩ phải là người dùng mới (new user) hay khơng, người dùng là mới nếu tổng số đánh giá dưới một số a nào đĩ:

∑(𝑅𝑢,𝑖 ≠ 0) < a

- Nếu người dùng hiện tại là người dùng mới thì đưa ra danh sách topN1 làm kết quả luơn, bỏ qua lọc cộng tác.

- Nếu người dùng hiện tại khơng phải người dùng mới, thì sử dụng lọc cộng tác item-based đưa ra topN2.

- Kiểm tra lần lượt các sản phẩm trong topN2, giả sử sản phẩm thuộc cụm K, ta kiểm tra tổng số đánh giá của người dùng hiện tại trong cụm nhỏ hơn số b nào đĩ thì coi như dự đốn đĩ khơng tin cậy.

∑𝑖 ∈𝐾(𝑅𝑢,𝑖 ≠ 0) < b

- Với mỗi sản phẩm khơng đạt thì thay thế bằng 1 sản phẩm bên tập topN1 với điều kiện khơng trùng với sản phẩm nào bên topN2, sản phẩm thay thế ở topN1 được lấy lần lượt từ trên xuống (Rank giảm dần).

- Danh sách topN thu được sẽ được đưa ra cho người dùng.

Ví dụ như với người dùng cĩ userID = 2, với các thơng số a = 1, b = 3, ta cĩ bảng sau:

TopN item-based TopN Demographic TopN Hybrid

13 50 13

23 134 50

26 211 26

69 32 258 211 45 268 45 46 300 46 48 331 213 52 515 258 57 606 57

Bây giờ sử dụng tập người dùng ta sẽ tìm được giá trị tối ưu cho a và b, cho a chạy từ 1 đến 10, b chạy từ 1 đến 10 ta thu được kết quả (một phần của bảng):

A B Precision Recall F1 1 1 0,2110 0,0607 0,0943 1 2 0,2110 0,0607 0,0943 1 3 0,2130 0,0620 0,0960 1 4 0,2100 0,0610 0,0945 1 5 0,2100 0,0611 0,0947 1 6 0,2100 0,0607 0,0942 1 7 0,2110 0,0598 0,0932 Bảng 3.9 - Độ chính xác hệ thống theo a, b

Thu được giá trị a, b tối ưu: a = 1, b = 3

A B Precision Recall F1

1 3 0,2130 0,0620 0,0960

Sử dụng tập người dùng này để tính hiệu quả của hệ gợi ý lọc cộng tác item-based đã nĩi ở phần trước, ta được:

Precision Recall F1

70

3.5. Minh họa hệ thống bằng Matlab GUI

3.5.1.Giao diện demo hệ thống

Hình 3.9 Giao diện demo hệ thống

Ta nhập User ID vào rồi click Recommendation thì bảng bên phải sẽ hiện ra các gợi ý bao gồm ID của phim, tên phim và dự đốn đánh giá cho bộ phim đĩ.

71

Phần User Information hiện các thơng tin của người dùng hiện tại

Phần Measurement là các thước đo hiệu quả Precision, Recall và F1 cho người dùng hiện tại.

Phần Add New User cho phép tạo người dùng mới để, click vào Get ID để hệ thống hiện ID mới, chọn các thuộc tính của người dùng rồi chọn Add

72

Ta thử tạo một người dùng mới để xem đã khắc phục được nhược điểm người dùng mới chưa.

Hệ thống vẫn gợi ý được cho người dùng mới ID = 944.

Tương tự cũng cĩ thể kiểm tra bằng cách thêm đánh giá của người dùng cĩ ID đang xét ở phần Add New Rating:

73 Param là nơi thiết lập các tham số của hệ thống:

- K là số lân cận tối đa trong hệ gợi ý item-based

- W là trọng số trong cơng thức tính rank item của hệ gợi ý thành phần Demographic-based

- A là tham số để xác định người dùng mới.

- B là tham số đánh giá chất lượng của các gợi ý trong danh sách topN lọc cộng tác.

- TopN là chiều dài của danh sách sản phẩm gợi ý, mặc định là 20 sản phẩm. Thay đổi các tham số này sẽ thay đổi hiệu quả gợi ý ở phần Measurement.

3.5.2.Các module gợi ý bổ sung

Trong thực tế thì một website TMĐT thường cĩ nhiều module gợi ý, để đáp ứng nhu cầu người dùng cũng cần thêm các hệ gợi ý phụ khác như các sản phẩm tương đồng với sản phẩm đang xét, thêm các bộ lọc thuộc tính giúp người dùng tìm được các sản phẩm theo ý mình.

Điều này cũng giúp khắc phục nhược điểm cứng nhắc của hệ thống gợi ý chính. Sau đây là một vài hệ gợi ý phụ cĩ thể thêm vào hệ thống TMĐT.

74

Độ tương đồng được lấy từ ma trận tương đồng các sản phẩm.

Gợi ý các sản phẩm được đánh giá cao, người dùng lựa chọn các thuộc tính sản phẩm (thể loại):

75

3.6. Đánh giá

Sau đây là bảng tổng kết hiệu quả của các kỹ thuật (với độ dài danh sách gợi ý N = 10, tính kết quả trung bình trên tập người dùng), được đánh giá trên cả 3 thang đo, để cho ta thấy một cái nhìn tổng quan về hệ thống:

Hiệu quả trung bình các kỹ thuật (N = 10)

Kỹ Thuật Precision Recall F1

Item-based Collaborative Filtering 0,1700 0,0439 0,0686

Demographic-Based 0,2006 0,0516 0,0821

Mixed Hybrid 0,2130 0,0620 0,0960

Bảng 3.10 – Đánh giá độ chính xác của chương trình cài đặt

Hình 3.10 - Biểu đồ so sánh độ chính xác của các kỹ thuật áp dụng

Vậy từ bảng thống kê và biểu đồ, ta đưa ra được một số nhận xét như sau:

- Hệ thống lọc cộng tác sản phẩm cĩ hiệu quả thấp nhất, tiếp đến là hệ thống demographic-based, hệ thống lai cĩ hiệu quả cao nhất.

0 0.05 0.1 0.15 0.2 0.25 Precision Recall F1 Item-based Collaborative Filtering Demographic-Based Mixed Hybrid

76

- Hệ gợi ý lai đã cải thiện được vấn đề người dùng mới và thiếu dữ liệu đánh giá của lọc cộng tác.

So sánh với một số phương pháp khác trên bộ dữ liệu Movielens:

Cơng bố Bộ dữ liệu Precision

Hệ thống lai trong bài viết này MovieLens 100k

0,213(N = 10)

A Personalized Recommender System Based on Users’ Information In Folksonomies - M.N.Jelassi

MovieLens 10M

0,36 (N = 10)

Personalized

recommender system based on item taxonomy and folksonomy - H.Liang

MovieLens 10M

0,26 (N = 10)

Improving Collaborative Filtering based Recommenders using Topic Modelling (Hybrid approach) - Jobin Wilson

MovieLens 1M

0,275 (N = 10)

Bảng 3.11 - So sánh kết quả với một số phương pháp khác trên tập MovieLens

Ta thấy hiệu quả của hệ thống này so với các hệ thống khác cịn thấp do các nguyên nhân sau:

- Do sử dụng tập dữ liệu Movielens 100K cịn ít dữ liệu đánh giá.

- Do sử dụng phương pháp lọc cộng tác Item-based mà trong tập Movielens cĩ nhiều sản phẩm thiếu dữ liệu đánh giá và số lượng đánh giá khơng đồng đều nên gây nên việc tính tốn khơng hiệu quả như áp dụng User-based trên chính tập này.

- Do sử dụng hệ thống lọc cộng tác Item-based chưa được tối ưu bằng các phương pháp khác.

77

- Thử nghiệm trên các tập dữ liệu lớn và đầy đủ hơn.

- Sử dụng thêm các phương pháp tăng hiệu quả cho hệ thống lọc cộng tác chẳng hạn như là kỹ thuật SVD…

78

KẾT LUẬN

Hệ gợi ý là một nhân tố quan trọng trong quá trình tự động hĩa các website TMĐT. Nĩ cung cấp các giải pháp mang tính cá nhân hĩa cho khách hàng để họ khơng cần trải qua các quá trình tìm kiếm phức tạp, những mơ hình kinh doanh hiện đại đều coi hệ gợi ý là một trong những “vũ khí” bắt buộc phải trang bị.

Trong quá trình xây dựng một hệ gợi ý cĩ nhiều cách tiếp cận khác nhau, mỗi cách lại cĩ những ưu điểm và nhược điểm riêng, trong khuơn khổ luận văn này đã trình bày được một số điểm chính:

- Tìm hiểu được những kiến thức tổng quan cũng như vai trị của hệ gợi ý, tổng hợp các kiến thức về hệ gợi ý cơ bản, hệ gợi ý lai làm nền tảng cơ sở lý thuyết cho nghiên cứu.

- Từ yêu cầu bài tốn và bộ dữ liệu thực tế, đề xuất ra cách xây dựng một hệ thống gợi ý lai với kỹ thuật lọc cộng tác và demographic-based, khảo sát hiệu quả lọc cộng tác trên số lân cận, áp dụng phương pháp phân cụm phân cấp vào hệ thống, sử dụng phương pháp lai Mixed với các phương pháp xếp hạng và

Một phần của tài liệu Xây dựng hệ thống gợi ý cho website thương mại điện tử (Trang 62)

Tải bản đầy đủ (PDF)

(83 trang)