2009-12-04 51 views
19

Tôi đang tìm một thuật toán đề xuất đơn giản để triển khai trong Ứng dụng web của tôi. Giống như Netflix, Amazon, v.v ... Nhưng đơn giản hơn. Tôi không cần đội ngũ của Phd làm việc để có được một số liệu gợi ý tốt hơn.Thuật toán đề xuất/đề xuất đơn giản

Vì vậy, nói tôi có:

  • User1 thích Object1.
  • User2 thích Object1 và Object2.

Tôi muốn đề xuất cho User1 họ cũng có thể thích Object2.

Tôi rõ ràng có thể nghĩ ra điều gì đó ngây thơ. Tôi đang tìm một cái gì đó được xem xét và thực hiện dễ dàng.

Trả lời

11

Có rất nhiều ví dụ đơn giản như vậy đơn giản và không các thuật toán đề nghị trong sắc Programming Collective Intelligence

Các Pearson correlation coefficient (một chút bài viết Wikipedia khô) có thể cho kết quả khá tốt. Dưới đây là triển khai trong Python và một triển khai khác trong TSQL cùng với lời giải thích thú vị về thuật toán.

1

Bạn có thể muốn xem Association rule learningApriori algorithm. Ý tưởng cơ bản đằng sau là bạn tạo các quy tắc như "nếu người dùng như Object1, hơn người dùng thích Object2" và kiểm tra xem họ mô tả như thế nào (thực tế) của bạn. Trong ví dụ cụ thể của bạn, quy tắc này sẽ có một hỗ trợ 2 (như hai người dùng như Object1) và một sự tự tin của 50% một (như quy tắc là đúng trong 1 trong 2 trường hợp). Tôi vừa mới thực hiện bản chứng minh khái niệm cơ bản (thực ra là các bước đầu tiên của tôi trên Hadoop) và nó không quá khó để làm.

Hoặc, bạn có thể muốn xem Apache Mahout - Taste. Tôi đã không bao giờ sử dụng nó bản thân mình mặc dù.

11

thử thuật toán Slope One, đây là một trong những thuật toán được sử dụng nhiều nhất cho loại sự cố này.

here's triển khai mẫu trong t-sql

+1

+1 cho liên kết tới mã nguồn. Đây là Slope One trong 40 dòng Python (và giải thích chi tiết): http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/ –

1

Tôi sẽ đi với K láng giềng gần nhất. wikipedia entry giải thích rõ và có liên kết đến các triển khai tham chiếu.

0

thuật toán lân cận k-gần nhất

0

Tôi đã tạo thuật toán bài viết được đề xuất sử dụng từ khóa (trái ngược với "mua sản phẩm") để xác định mối tương quan. Nó cần một từ khóa và chạy qua tất cả các bài viết khác mà từ khóa đó xảy ra và tạo ra các kết quả dựa trên các bài viết nào có từ khóa phù hợp nhất.

Bên cạnh nhu cầu rõ ràng về việc lưu vào bộ nhớ đệm thông tin như vậy, có điều gì đó sai với anh ấy bằng một phương pháp tương tự không?

Các vấn đề liên quan