Tính năng Khuyến nghị của Amazon hoạt động như thế nào?


144

Công nghệ nào đi sau màn hình của công nghệ khuyến nghị Amazon? Tôi tin rằng khuyến nghị của Amazon hiện là tốt nhất trên thị trường, nhưng làm thế nào để họ cung cấp cho chúng tôi các đề xuất có liên quan như vậy?

Gần đây, chúng tôi đã tham gia vào loại dự án đề xuất tương tự, nhưng chắc chắn muốn biết về sự ra vào của công nghệ khuyến nghị Amazon từ quan điểm kỹ thuật.

Bất kỳ đầu vào sẽ được đánh giá cao.

Cập nhật:

Bằng sáng chế này giải thích cách các đề xuất được cá nhân hóa được thực hiện nhưng nó không mang tính kỹ thuật cao, và vì vậy sẽ thật sự tốt nếu một số hiểu biết có thể được cung cấp.

Từ ý kiến ​​của Dave, Phân tích mối quan hệ tạo cơ sở cho loại Công cụ khuyến nghị như vậy. Ngoài ra đây là một số đọc tốt về chủ đề

  1. Làm sáng tỏ phân tích giỏ thị trường
  2. Phân tích giỏ thị trường
  3. Phân tích mối quan hệ

Cách đọc được đề nghị:

  1. Khai thác dữ liệu: Khái niệm và kỹ thuật

3
Bạn đã thử sàng lọc qua đống bằng sáng chế của họ? google.com/patents
Dolph

Có, tôi đã trải qua Bằng sáng chế nhưng nó không kỹ thuật lắm và vì vậy sẽ đánh giá cao một số hiểu biết về khía cạnh kỹ thuật của cơ chế
Rachel

1
@Dave: Câu hỏi này hiện đang mở và tôi thực sự đánh giá cao nếu bạn có thể cung cấp thêm một số thông tin chi tiết về công nghệ đằng sau kiến ​​trúc và chức năng của công cụ đề xuất mà Amazon sử dụng để cung cấp các đề xuất.
Rachel

1
Tôi sẽ không gọi hệ thống khuyến nghị của Amazon là "tốt nhất" hoặc thậm chí hữu ích. Bạn đặt mua một con chuột, nó cũng đề nghị mua một con khác. Tại sao một người dùng bình thường cần hai con chuột cùng một lúc ???

1
@Rachel: Cho rằng bạn biết hệ thống của Amazon được cấp bằng sáng chế và bạn muốn phát triển một thứ tương tự, tôi thậm chí sẽ không liếc nhìn bằng sáng chế của họ --- và tất nhiên không nhìn vào họ cũng không bảo vệ bạn, nhưng đó là một sự khởi đầu.

Câu trả lời:


104

Nó là cả một nghệ thuật và khoa học. Các lĩnh vực nghiên cứu điển hình xoay quanh phân tích giỏ thị trường (còn gọi là phân tích ái lực) là một tập hợp con của lĩnh vực khai thác dữ liệu. Các thành phần tiêu biểu trong một hệ thống như vậy bao gồm nhận dạng các mục trình điều khiển chính và nhận dạng các mục có ái lực (bán phụ kiện, bán chéo).

Hãy ghi nhớ các nguồn dữ liệu họ phải khai thác ...

  1. Xe mua hàng đã mua = tiền thật từ người thật đã chi cho các mặt hàng thực = dữ liệu mạnh mẽ và rất nhiều.
  2. Các mặt hàng được thêm vào giỏ hàng nhưng bị bỏ rơi.
  3. Thử nghiệm giá trực tuyến (thử nghiệm A / B, v.v.) nơi họ cung cấp các sản phẩm giống nhau ở các mức giá khác nhau và xem kết quả
  4. Thử nghiệm đóng gói (thử nghiệm A / B, v.v.) nơi họ cung cấp các sản phẩm khác nhau trong các "gói" khác nhau hoặc giảm giá các cặp mặt hàng khác nhau
  5. Danh sách mong muốn - những gì thuộc về chúng dành riêng cho bạn - và tổng hợp, nó có thể được xử lý tương tự như một luồng dữ liệu phân tích giỏ khác
  6. Trang web giới thiệu (xác định nơi bạn đến từ có thể gợi ý các mục quan tâm khác)
  7. Thời gian dừng (bao lâu trước khi bạn nhấp lại và chọn một mục khác)
  8. Xếp hạng của bạn hoặc những người trong mạng xã hội / vòng tròn mua hàng của bạn - nếu bạn đánh giá những thứ bạn thích bạn sẽ nhận được nhiều hơn những gì bạn thích và nếu bạn xác nhận bằng nút "tôi đã sở hữu nó", họ sẽ tạo ra một hồ sơ rất hoàn chỉnh về bạn
  9. Thông tin về nhân khẩu học (địa chỉ giao hàng của bạn, v.v.) - họ biết những gì phổ biến trong khu vực chung của bạn cho con bạn, chính bạn, vợ / chồng của bạn, v.v.
  10. phân khúc người dùng = bạn đã mua 3 cuốn sách trong những tháng riêng biệt cho một đứa trẻ mới biết đi? có khả năng có con hoặc nhiều hơn .. vv
  11. Tiếp thị trực tiếp nhấp qua dữ liệu - bạn đã nhận được email từ họ và nhấp qua chưa? Họ biết đó là email nào và bạn đã nhấp vào cái gì và kết quả là bạn đã mua nó chưa.
  12. Nhấp vào đường dẫn trong phiên - bạn đã xem gì bất kể nó có đi vào giỏ hàng của bạn không
  13. Số lần xem một mặt hàng trước khi mua hàng cuối cùng
  14. Nếu bạn đang giao dịch với một cửa hàng gạch và vữa, họ cũng có thể có lịch sử mua hàng thực tế của bạn (ví dụ như đồ chơi cho chúng tôi hoặc một cái gì đó trực tuyến và cũng là một cửa hàng thực tế)
  15. v.v.

May mắn thay, mọi người hành xử tương tự nhau, vì vậy họ càng biết nhiều về dân số mua thì họ càng biết rõ những gì sẽ và sẽ không bán và với mỗi giao dịch và mọi xếp hạng / danh sách mong muốn họ biết cách đưa ra các khuyến nghị phù hợp hơn. Hãy nhớ rằng đây có thể chỉ là một mẫu nhỏ của toàn bộ ảnh hưởng của những gì kết thúc trong các khuyến nghị, v.v.

Bây giờ tôi không có kiến ​​thức bên trong về cách Amazon kinh doanh (chưa từng làm việc ở đó) và tất cả những gì tôi đang làm là nói về các cách tiếp cận cổ điển đối với vấn đề thương mại trực tuyến - Tôi từng là Thủ tướng làm việc về khai thác và phân tích dữ liệu cho Microsoft sản phẩm có tên là Máy chủ thương mại. Chúng tôi đã cung cấp cho Commerce Server các công cụ cho phép mọi người xây dựng các trang web có khả năng tương tự .... nhưng khối lượng bán hàng càng lớn thì dữ liệu càng tốt thì mô hình càng tốt - và Amazon là LỚN. Tôi chỉ có thể tưởng tượng sẽ vui như thế nào khi chơi với các mô hình có nhiều dữ liệu đó trong một trang web định hướng thương mại. Bây giờ nhiều thuật toán (như công cụ dự đoán bắt đầu trong máy chủ thương mại) đã chuyển sang sống trực tiếp trong Microsoft SQL .

Bốn cách thực hiện lớn bạn nên có là:

  1. Amazon (hoặc bất kỳ nhà bán lẻ nào) đang xem xét dữ liệu tổng hợp cho hàng tấn giao dịch và hàng tấn người ... điều này cho phép họ thậm chí đề xuất khá tốt cho người dùng ẩn danh trên trang web của họ.
  2. Amazon (hoặc bất kỳ nhà bán lẻ tinh vi nào) đang theo dõi hành vi và mua hàng của bất kỳ ai đã đăng nhập và sử dụng điều đó để tiếp tục tinh chỉnh trên đầu dữ liệu tổng hợp hàng loạt.
  3. Thường có một phương tiện vượt qua dữ liệu tích lũy và kiểm soát các đề xuất "biên tập" cho các nhà quản lý sản phẩm của các dòng cụ thể (như một số người sở hữu dọc 'máy ảnh kỹ thuật số' hoặc dọc 'tiểu thuyết lãng mạn' hoặc tương tự) là chuyên gia
  4. Thường có các ưu đãi khuyến mại (ví dụ như sony hoặc panasonic hoặc nikon hoặc canon hoặc sprint hoặc verizon trả thêm tiền cho nhà bán lẻ, hoặc giảm giá tốt hơn với số lượng lớn hơn hoặc những thứ khác trong các dòng đó) sẽ khiến một số "đề xuất" nhất định tăng lên đầu trang thường xuyên hơn những thứ khác - luôn có một số lý do kinh doanh hợp lý và lý do kinh doanh đằng sau mục tiêu này để kiếm nhiều tiền hơn trên mỗi giao dịch hoặc giảm chi phí bán buôn, v.v.

Về mặt thực tế? Tất cả các hệ thống trực tuyến lớn đều tập trung vào một số bộ đường ống (hoặc triển khai mẫu bộ lọc hoặc quy trình công việc, v.v. bạn gọi nó là những gì bạn sẽ) cho phép bối cảnh được đánh giá bởi một loạt các mô-đun áp dụng một số dạng logic kinh doanh.

Thông thường, một đường ống khác nhau sẽ được liên kết với từng tác vụ riêng biệt trên trang - bạn có thể có một nhiệm vụ được đề xuất là "gói / upells" (nghĩa là mua cái này với vật phẩm bạn đang xem) và một cái có "lựa chọn thay thế" (nghĩa là mua cái này thay vì thứ bạn đang xem) và cái khác kéo các mục liên quan chặt chẽ nhất từ ​​danh sách mong muốn của bạn (theo danh mục sản phẩm hoặc tương tự).

Kết quả của các đường ống này có thể được đặt trên các phần khác nhau của trang (phía trên thanh cuộn, bên dưới cuộn, bên trái, bên phải, các phông chữ khác nhau, hình ảnh kích thước khác nhau, v.v.) và thử nghiệm để xem hiệu suất nào tốt. Vì bạn đang sử dụng các mô-đun dễ dàng để cắm và phát, xác định logic nghiệp vụ cho các đường ống này, bạn kết thúc với các khối lego tương đương về mặt đạo đức giúp bạn dễ dàng chọn và chọn từ logic nghiệp vụ bạn muốn áp dụng khi bạn xây dựng một đường ống khác cho phép đổi mới nhanh hơn, thử nghiệm nhiều hơn và cuối cùng lợi nhuận cao hơn.

Có giúp được gì không? Hy vọng rằng cung cấp cho bạn một chút cái nhìn sâu sắc về cách thức hoạt động nói chung cho bất kỳ trang web thương mại điện tử nào - không chỉ Amazon. Amazon (từ việc nói chuyện với bạn bè đã làm việc ở đó) rất dựa trên dữ liệu và liên tục đo lường hiệu quả của trải nghiệm người dùng và giá cả, khuyến mãi, bao bì, v.v. - họ là một nhà bán lẻ trực tuyến rất tinh vi và có khả năng đứng đầu rất nhiều thuật toán họ sử dụng để tối ưu hóa lợi nhuận - và đó có thể là những bí mật độc quyền (bạn biết như công thức của các loại gia vị bí mật của KFC) và được gọi là như vậy.


1
Đúng. Nó đã giúp tôi rất nhiều và tôi thực sự đánh giá cao đầu vào của bạn về chủ đề này.
Rachel

những hiểu biết tuyệt vời
Shobi

28

Điều này không liên quan trực tiếp đến hệ thống khuyến nghị của Amazon, nhưng có thể hữu ích khi nghiên cứu các phương pháp được sử dụng bởi những người tham gia Giải thưởng Netflix , một cuộc thi để phát triển hệ thống đề xuất tốt hơn sử dụng dữ liệu người dùng Netflix. Rất nhiều thông tin tốt tồn tại trong cộng đồng của họ về các kỹ thuật khai thác dữ liệu nói chung.

Đội chiến thắng đã sử dụng hỗn hợp các khuyến nghị được tạo bởi rất nhiều mô hình / kỹ thuật khác nhau. Tôi biết rằng một số phương pháp chính được sử dụng là phân tích thành phần chính, phương pháp lân cận gần nhất và mạng lưới thần kinh. Dưới đây là một số giấy tờ của đội chiến thắng:

R. Bell, Y. Koren, C. Volinsky, " Giải pháp BellKor 2008 cho giải thưởng Netflix ", (2008).

A. Töscher, M. Jahrer, trộm Giải pháp BigChaos cho giải thưởng Netflix 2008 ", (2008).

A. Töscher, M. Jahrer, R. Legenstein, " Các thuật toán dựa trên vùng lân cận được cải tiến cho các hệ thống đề xuất quy mô lớn ", Hội thảo SIGKDD về các hệ thống đề xuất quy mô lớn và Cuộc thi giải thưởng Netflix (KDD'08), ACM Press (2008) .

Y. Koren, " Giải pháp BellKor cho giải thưởng lớn của Netflix ", (2009).

A. Töscher, M. Jahrer, R. Bell, " Giải pháp BigChaos cho giải thưởng lớn của Netflix ", (2009).

M. Piotte, M. Chabbert, " Giải pháp lý thuyết thực dụng cho giải thưởng lớn của Netflix ", (2009).

Các bài báo năm 2008 là từ Giải thưởng Tiến bộ năm đầu tiên. Tôi khuyên bạn nên đọc những cái trước trước vì những cái sau dựa trên công việc trước đó.


2
Điều tôi thích về câu trả lời này là nó chỉ ra thực tế là không có câu trả lời "hoàn hảo" và mọi người tiếp tục đổi mới trong lĩnh vực này - luôn có một số chỗ để cải thiện và khi thời gian thay đổi và phương pháp mới được áp dụng cho các vấn đề. sẽ tiếp tục được giải quyết khác nhau. Và nếu bạn đọc các liên kết chi tiết, bạn có thể thấy làm thế nào có một "sự pha trộn" của một số sự chấp thuận để dự đoán trong mỗi ứng cử viên lớn cho giải thưởng. Tài liệu tham khảo tuyệt vời.
Dave Quick


20

(Tuyên bố từ chối trách nhiệm: Tôi đã từng làm việc tại Amazon, mặc dù tôi không làm việc trong nhóm đề xuất.)

Câu trả lời của ewernli phải là câu trả lời đúng - bài viết liên kết đến hệ thống khuyến nghị ban đầu của Amazon và từ những gì tôi có thể nói (cả từ kinh nghiệm cá nhân là người mua hàng trên Amazon và đã làm việc trên các hệ thống tương tự tại các công ty khác), rất ít thay đổi: cốt lõi của nó, tính năng đề xuất của Amazon vẫn còn rất nhiều dựa trên bộ lọc cộng tác giữa các mục.

Chỉ cần nhìn vào hình thức mà các đề xuất đưa ra: trên trang nhất của tôi, tất cả chúng đều thuộc dạng "Bạn đã xem X ... Khách hàng cũng đã xem này cũng đã xem ...", hoặc nếu không thì một loạt các mặt hàng tương tự như mọi thứ Tôi đã mua hoặc xem trước đó. Nếu tôi đặc biệt truy cập trang "Được đề xuất cho bạn", mọi mục sẽ mô tả lý do tại sao tôi khuyên bạn: "Được đề xuất vì bạn đã mua ...", "Được đề xuất vì bạn đã thêm X vào danh sách mong muốn của mình ...", v.v ... Đây là một dấu hiệu cổ điển của bộ lọc cộng tác giữa các mục.

Vậy làm thế nào để lọc cộng tác từng mục hoạt động? Về cơ bản, đối với mỗi mặt hàng, bạn xây dựng một "vùng lân cận" của các mặt hàng liên quan (ví dụ: bằng cách xem những mặt hàng nào mọi người đã xem cùng nhau hoặc mặt hàng nào mọi người đã mua cùng nhau - để xác định độ tương tự, bạn có thể sử dụng các số liệu như chỉ số Jaccard ; là một khả năng khác, mặc dù tôi nghi ngờ Amazon không sử dụng dữ liệu xếp hạng rất nhiều). Sau đó, bất cứ khi nào tôi xem một mặt hàng X hoặc mua hàng Y, Amazon gợi ý cho tôi những thứ trong cùng khu phố với X hoặc Y.

Một số cách tiếp cận khác mà Amazon có thể có khả năng sử dụng, nhưng có thể không, được mô tả ở đây: http://blog.echen.me/2011/02/15/an-overview-of-item-to-item-collaborative-filtering -với-amazons-đề nghị-hệ thống /

Rất nhiều điều mà Dave mô tả gần như chắc chắn không được thực hiện tại Amazon. (Xếp hạng của những người trong mạng xã hội của tôi? Không, Amazon không có bất kỳ dữ liệu xã hội nào của tôi. Đây sẽ là một vấn đề lớn về quyền riêng tư trong mọi trường hợp, do đó, Amazon sẽ khó thực hiện ngay cả khi họ có dữ liệu đó: mọi người không muốn bạn bè của họ biết những cuốn sách hoặc phim họ đang mua. Thông tin về nhân khẩu học? Không, không có gì trong các đề xuất cho thấy họ đang xem cái này. [Không giống như Netflix, người không biết những gì người khác trong khu vực của tôi đang xem .])


Amazon trong nhiều năm tiếp xúc với vòng tròn mua hàng - vốn là những xu hướng mua hàng ẩn danh dựa trên tên miền và mã zip của công ty. Phải có ít nhất 50 người mua khác nhau trong một vòng mua hàng trước khi bạn có thể nhận được thông tin về nó - vì vậy amazon chắc chắn đã giữ, theo dõi và sử dụng thông tin đó để giúp bản thân họ (và những người khác) hiểu những gì phổ biến. Bạn có thể nhìn vào đĩa CD, đồ điện tử và mua sách trong khu vực của bạn hoặc tại công ty của bạn. Họ đã được tiếp xúc từ 1999-2002. forum.dvdtalk.com/archive/t-122436.html thậm chí có một bản sao và dán văn bản từ amazon mô tả chúng.
Dave Quick

3

Tôi không có kiến ​​thức cụ thể về thuật toán của Amazon, nhưng một thành phần của thuật toán đó có thể liên quan đến việc theo dõi các nhóm mặt hàng thường được đặt cùng nhau, sau đó sử dụng dữ liệu đó để giới thiệu các mặt hàng khác trong nhóm khi khách hàng mua một số tập hợp con của nhóm.

Một khả năng khác là theo dõi tần suất của mặt hàng B được đặt hàng trong vòng N ngày sau khi đặt hàng mặt hàng A, có thể gợi ý mối tương quan.



0

Ai đó đã làm một bài thuyết trình tại Đại học của chúng tôi về một cái gì đó tương tự vào tuần trước, và tham khảo hệ thống khuyến nghị của Amazon. Tôi tin rằng nó sử dụng một hình thức K-Means Clustering để phân cụm mọi người thành thói quen mua hàng khác nhau của họ. Hi vọng điêu nay co ich :)

Kiểm tra điều này quá: http://www.almaden.ibm.com/cs/people/dmodha/ml02.psdưới dạng HTML .


0

Nếu bạn muốn có một hướng dẫn thực hành (sử dụng R nguồn mở) thì bạn có thể làm điều tồi tệ hơn là trải qua điều này: https://gist.github.com/yoshiki146/31d4a46c3d8e906c3cd24f425568d34e

Đây là phiên bản được tối ưu hóa theo thời gian của một tác phẩm khác: http://www.salemmarafi.com/code/collaborative-filtering-r/

Tuy nhiên, biến thể của mã trên liên kết đầu tiên chạy NHIỀU nhanh hơn nên tôi khuyên bạn nên sử dụng nó (tôi thấy phần chậm duy nhất của mã yoshiki146 là thói quen cuối cùng tạo ra khuyến nghị ở cấp độ người dùng - mất khoảng một giờ với dữ liệu của tôi máy của tôi).

Tôi đã điều chỉnh mã này để làm việc như một công cụ đề xuất cho nhà bán lẻ mà tôi làm việc.

Thuật toán được sử dụng là - như những người khác đã nói ở trên - lọc cộng tác. Phương pháp CF này tính toán một ma trận tương tự cosine và sau đó sắp xếp theo độ tương tự đó để tìm "hàng xóm gần nhất" cho mỗi thành phần (nhóm nhạc trong ví dụ đã cho, sản phẩm bán lẻ trong ứng dụng của tôi).

Bảng kết quả có thể đề xuất một băng tần / sản phẩm dựa trên băng tần / sản phẩm được chọn khác.

Phần tiếp theo của mã sẽ tiến thêm một bước với bộ lọc cộng tác dựa trên USER (hoặc khách hàng).

Đầu ra của đây là một bảng lớn với 100 băng tần / sản phẩm hàng đầu được đề xuất cho một người dùng / khách hàng nhất định


1
Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi. - Từ đánh giá
Kos

Đúng ... Thuật toán được sử dụng là - như những người khác đã nói ở trên - lọc cộng tác. Phương pháp CF này tính toán một ma trận tương tự cosine và sau đó sắp xếp theo độ tương tự đó để tìm "hàng xóm gần nhất" cho mỗi thành phần (nhóm nhạc trong ví dụ đã cho, sản phẩm bán lẻ trong ứng dụng của tôi). Bảng kết quả có thể đề xuất một băng tần / sản phẩm dựa trên băng tần / sản phẩm được chọn khác. Phần tiếp theo của mã sẽ tiến thêm một bước với bộ lọc cộng tác dựa trên USER (hoặc khách hàng). Đầu ra của cái này là một bảng lớn với 100 băng tần / sản phẩm hàng đầu được đề xuất cho một người dùng / khách hàng nhất định
ChrisD

vui lòng chỉnh sửa câu trả lời của bạn và thêm thông tin này vào đó, không phải trong phần bình luận, cảm ơn
Kos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.