Hệ thống gợi ý dựa trên người dùng – lọc cộng tác (Collaborative filtering

Một phần của tài liệu Xây dựng website bán hàng thời trang sử dụng công nghệ ASP net core (Trang 28 - 33)

6. Điểm: (Bằng chữ: )

2.4.2. Hệ thống gợi ý dựa trên người dùng – lọc cộng tác (Collaborative filtering

recommender system)

Tức là hệ thống sẽ phân tích các người dùng có cùng đánh giá, cùng mua sản phẩm hiện tại. Sau đó tìm ra danh sách các sản phẩm khác cũng được đánh giá, xếp hạng bởi các người dùng này. Ý tưởng của phương pháp này chính là dựa trên sự tương đồng về sở thích giữa các người dùng để đưa ra các gợi ý.

Đối với phương pháp này, có 2 cách tiếp cận nhỏ hơn đó là user-based và item- based.

Chương 2: Cơ sở lý thuyết 12

Hình 2. 3: Cách tiếp cận phương pháp Collaborative Filtering

Cách tiếp cận User-based

Ví dụ: Có rất nhiều người thích phim “Kungfu Panda”, liệu rằng bạn có thích “Kungfu Panda” như vậy không?

Ý tưởng của cách tiếp cận này là, lấy 20-50 người cùng chia sẻ với bạn rằng họ thích “Kungfu Panda” do đó, mức độ thích bộ phim này của bạn phụ thuộc vào mức độ thích của họ.

Hướng tiếp cận chính đó là hệ thống sẽ gợi ý sản phẩm dựa vào số người có cùng sở thích với người dùng hiện tại.

Dựa vào hình ảnh ở trên, chúng ta sẽ cùng thực hiện ví dụ minh họa về cách tiếp cận user-based.

- Bên trái sẽ có 3 người (A, B, C), bên phải sẽ có 4 loại trái cây (nho, dâu, dưa hấu và cam).

- Người A thích cả 4 loại trái cây, người B thích dâu và người C thích dâu, dưa hấu.

Mục tiêu của chúng ta dựa vào hình ảnh sẽ chứng minh tại sao hệ thống lại gợi ý nho và cam cho người C.

Giải quyết bài toán

- Người B có cùng 1 sở thích với người C là thích dâu.

- Người A có cùng 2 sở thích với người C là thích dâu và dưa hấu - Người A sẽ có nhiều sở thích chung với người C hơn người B.

Chương 2: Cơ sở lý thuyết 13 - Cách tiếp cận của user-based là dựa vào số người có cùng nhiều sở thích nên hệ

thống gợi ý trái nho và trái cam cho người C là hoàn toàn đúng logic.

Giả sử một bài toán khác

Hình 2. 4: Ví dụ bài toán khác của hướng tiếp cận User-based - Thêm một người dùng thứ 4 (người D) và thêm một trái táo.

- Người thứ 4 thích dâu, dưa hấu và táo.

Hệ thống có gợi ý trái táo cho người C hay không?

Giải quyết bài toán

- Người D có cùng sở thích với người C là đều thích dâu và dưa hấu. - Hệ thống sẽ gợi ý táo cho người C là đúng logic.

- Nhưng mục đích cao hơn đó là nếu thêm một người E có cùng sở thích với người C và thích thêm trái dâu thì hệ thống cũng sẽ gợi ý trái dâu cho người C, đó là theo logic.

- Như vậy, nếu có hàng nghìn người dùng có cùng sở thích tương quan với người E thì có thể hệ thống sẽ gợi ý toàn bộ sản phẩm cho người C.

- Cách giải quyết là việc chúng ta muốn hiển thị bao nhiêu sản phẩm được gợi ý và thêm trọng số để ưu tiên những người dùng giống người C hơn, từ đó gợi ý các sản phẩm tốt nhất.

Cách xây dựng:

- Biểu diễn mỗi người dùng bằng một vector các sản phẩm đã tương tác, có thể có trọng số.

Chương 2: Cơ sở lý thuyết 14 - Tính độ tương tự giữa các vector đại diện cho người dùng.

- Đối với người dùng hiện tại, ước tính độ phù hợp của sản phẩm dựa vào lịch sử của nhóm người dùng tương tự như người dùng hiện tại.

- Có thể chọn k người dùng gần giống người dùng hiện tại nhất, hoặc chọn tất cả người dùng nhưng thêm trọng số để ưu tiên những người dùng giống người dùng hiện tại hơn.

Cách tiếp cận Item-based

Ví dụ: Bạn đã từng xem những bộ phim hay và không hay trước đó, vậy có thể gợi ý cho bạn rằng, bạn có nên xem “Ip Man 4” hay không?

Ý tưởng của cách tiếp cận này là, lấy 20-50 bộ phim mà bạn đã xem trước đó, mà chúng có cùng đối tượng với “Ip Man 4”, mức độ mà bạn sẽ thích “Ip Man 4” phụ thuộc vào mức độ bạn thích những bộ phim trước đó.

Hướng tiếp cận chính đó là hệ thống sẽ gợi ý các sản phẩm có cùng nội dung, đặc điểm với sản phẩm người dùng hiện tại đang tương tác và thêm một yếu tố đó là sản phẩm đó phải được nhiều người dùng khác tương tác, yêu thích.

Dựa vào hình ảnh ở trên, chúng ta sẽ cùng thực hiện ví dụ minh họa về cách tiếp cận item-based.

- Bên trái sẽ có 3 người (A, B, C), bên phải sẽ có 4 loại trái cây (dưa gang, dâu, dưa hấu và cam).

- Người A thích dưa gang, dưa hấu, cam, người B thích dưa gang, dưa hấu và người C thích dưa hấu.

Mục tiêu của chúng ta dựa vào hình ảnh sẽ chứng minh tại sao hệ thống lại gợi ý dưa gang cho người C.

Giải quyết bài toán

- Giả sử ta thấy trái dưa gang có những đặc điểm giống trái dưa hấu, cùng loại dưa chẳng hạn mà người C thích.

- Trái dưa gang cũng có được người A và người B thích, tính trên 3 người thì gọi là nhiều người thích.

- Do đó hệ thống gợi ý trái dưa gang cho người C là hợp lý theo logic.

Chương 2: Cơ sở lý thuyết 15

Hình 2. 5: Ví dụ bài toán khác của hướng tiếp cận Item-based - Thêm một người dùng thứ 4 (người D).

- Người thứ 4 thích cam.

Hệ thống có gợi ý trái cam cho người C hay không?

Giải quyết bài toán

- Trái cam sẽ có khá nhiều đặc điểm giống với trái dưa hấu. - Đầu tiên chúng ta thấy trái cam được người C và người D thích.

- Do đó, hệ thống có thể sẽ gợi ý trái cam cho người C (trong trường hợp chỉ có 4 trái này).

- Nếu trường hợp có nhiều có trái khác thì sẽ tùy thuộc mức độ giống nhau của từng đặc điểm với trái dưa hấu mà quyết định có gợi ý trái cam hay là không?

Cách xây dựng

- Biểu diễn mỗi sản phẩm bằng một vector người dùng. - Tính độ tương quan giữa các sản phẩm.

- Đối với người dùng hiện tại , tìm các sản phẩm tương tự với các sản phẩm mà người dùng hiện tại đã tương tác

- Gợi ý sản phẩm cho người dùng hiện tại từ các sản phẩm được nói như ở trên, thông qua các tiêu chi như mức độ giống nhau của từng đặc điểm (trọng số cao hơn), nhiều người tương tác.

Chương 3: Xác định yêu cầu 16

Chương 3: XÁC ĐỊNH YÊU CẦU 3.1. Yêu cầu người dùng

Một phần của tài liệu Xây dựng website bán hàng thời trang sử dụng công nghệ ASP net core (Trang 28 - 33)