Amazon Recommendation 기능은 어떻게 작동합니까?


144

Amazon 추천 기술의 화면 뒤에 어떤 기술이 적용됩니까? Amazon 권장 사항이 현재 시장에서 최고라고 생각하지만 이러한 권장 사항을 어떻게 제공합니까?

최근 우리는 비슷한 종류의 추천 프로젝트에 참여했지만 기술적 인 관점에서 아마존 추천 기술의 입 / 출력에 대해 알고 싶습니다.

모든 의견을 높이 평가합니다.

최신 정보:

특허 는 개인화 된 권장 사항이 수행되는 방법을 설명하지만 그다지 기술적이지 않기 때문에 통찰력을 제공 할 수 있다면 정말 좋을 것입니다.

Affinity Analysis 는 Dave의 의견으로부터 이러한 종류의 권장 사항 엔진의 기초를 형성합니다. 또한 여기 주제에 대한 좋은 읽을 거리가 있습니다

  1. 시장 바구니 분석 이해하기
  2. 시장 바구니 분석
  3. 선호도 분석

추천 독서 :

  1. 데이터 마이닝 : 개념 및 기술

3
당신은 그들의 특허의 더미를 통해 선별하려고 했습니까? google.com/patents
Dolph

예, 특허를 겪었지만 기술적 인 것은 아니기 때문에 메커니즘의 기술적 측면에 대한 통찰력을 높이 평가할 것입니다.
Rachel

1
@Dave :이 질문은 현재 열려 있으며 Amazon이 권장 사항을 제공하기 위해 사용하는 권장 사항 엔진 아키텍처 및 기능의 기술에 대한 통찰력을 제공 할 수 있다면 정말 감사하겠습니다.
Rachel

1
아마존 추천 시스템을 "최고"라고 부르지도 않고 유용하지도 않습니다. 마우스를 주문하면 다른 마우스도 구입하는 것이 좋습니다. 일반 사용자가 한 번에 두 개의 마우스가 필요한 이유는 무엇입니까?

1
@Rachel : 아마존의 시스템이 특허를 받았으며 비슷한 것을 개발하고 싶다는 것을 알면, 그들의 특허를 한눈 에 보지 않아도 될 것 입니다.

답변:


104

예술이자 과학입니다. 일반적인 연구 분야는 데이터 마이닝 분야의 하위 집합 인 시장 바구니 분석 (호환성 분석이라고도 함)을 중심으로 진행됩니다. 이러한 시스템의 일반적인 구성 요소에는 기본 드라이버 항목 식별 및 선호도 항목 식별 (액세서리 상향 판매, 교차 판매)이 포함됩니다.

그들이 채굴해야 할 데이터 소스를 명심하십시오.

  1. 구매 한 쇼핑 카트 = 실제 항목에서 소비 한 실제 사람들의 실제 돈 = 강력한 데이터 및 많은 것.
  2. 장바구니에 상품을 추가했지만 버렸습니다.
  3. 다른 가격으로 동일한 제품을 제공하고 결과를 볼 수있는 온라인 가격 책정 실험 (A / B 테스트 등)
  4. 다른 "번들"로 다양한 제품을 제공하거나 다양한 품목 쌍을 할인하는 포장 실험 (A / B 테스트 등)
  5. 위시리스트-귀하를 위해 특별히 마련된 사항-종합적으로 바스켓 분석 데이터의 다른 스트림과 유사하게 처리 할 수 ​​있습니다.
  6. 추천 사이트 (귀하가 어디에서 왔는지 식별하면 다른 관심 항목을 암시 할 수 있음)
  7. 체류 시간 (뒤로 클릭하여 다른 항목을 선택하기까지의 시간)
  8. 귀하 또는 귀하의 소셜 네트워크 / 구매 서클에있는 사람들의 평가-당신이 좋아하는 것을 더 평가하고 "이미 소유하고 있습니다"버튼으로 확인하면 그들은 당신의 매우 완전한 프로파일을 생성합니다
  9. 인구 통계 정보 (배송 주소 등)-자녀, 본인, 배우자 등 일반 지역에서 인기있는 사항을 알고 있습니다.
  10. 사용자 세분화 = 유아를 위해 별도의 달에 3 권의 책을 구매 했습니까? 아이 등이있을 수 있습니다.
  11. 직접 마케팅 클릭 연결 데이터-이메일을 받고 클릭 연결 했습니까? 그들은 어떤 이메일인지, 어떤 이메일을 클릭했는지, 그 결과 이메일을 샀는지 여부를 알고 있습니다.
  12. 세션에서 클릭 경로-장바구니에 넣었는지 여부에 관계없이 무엇을 보았습니까?
  13. 최종 구매 전에 상품을 본 횟수
  14. 벽돌과 박격포 상점을 다루는 경우 실제 구매 내역이 없어 질 수도 있습니다 (예 : 장난감 또는 온라인 상점 및 실제 상점).

운 좋게도 사람들은 총체적으로 유사하게 행동하기 때문에 구매 인구에 대해 더 많이 알수록 판매 할 것과 팔지 않을 것을 더 잘 알 수 있으며 모든 거래와 모든 평가 / 소유자 목록에 따라 개인적으로 권장 사항을 조정하는 방법을 알 수 있습니다. 이것은 권장 사항 등으로 인한 영향의 전체 집합에 대한 작은 샘플 일뿐입니다.

이제는 Amazon에서 비즈니스를 수행하는 방법에 대한 내부 지식이 없으며 온라인 상거래의 문제에 대한 고전적인 접근 방식에 대해 이야기하고 있습니다. Commerce Server라는 제품. 우리는 사람들이 비슷한 기능을 가진 사이트를 구축 할 수있게 해주는 도구를 Commerce Server에 제공했습니다. 그러나 판매량이 클수록 데이터가 더 좋고 모델이 더 좋으며 Amazon은 BIG입니다. 상거래 중심 사이트에서 많은 양의 데이터가있는 모델을 사용하는 것이 얼마나 재미 있는지 상상할 수 있습니다. 이제 커머스 서버에서 시작된 예측 변수와 같은 많은 알고리즘이 Microsoft SQL 내에서 직접 실행되었습니다 .

네 가지 중요한 조치는 다음과 같습니다.

  1. 아마존 (또는 모든 소매 업체)은 수많은 거래와 수많은 사람들에 대한 집계 데이터를 검토하고 있습니다.이를 통해 사이트의 익명 사용자에게도 아주 잘 추천 할 수 있습니다.
  2. 아마존 (또는 모든 정교한 소매 업체)은 로그인 한 사람의 행동과 구매를 추적하고이를 사용하여 대량의 집계 데이터를 더욱 세분화합니다.
  3. 축적 된 데이터를 극복하고 특정 라인 ( '디지털 카메라'카테고리를 소유 한 사람 또는 '로맨틱 소설'카테고리를 수직으로 유지하는 사람과 같은)의 제품 관리자를 위해 제안을 "편집"제어하는 방법이 종종 있습니다. 전문가입니다
  4. 종종 프로모션 거래 (예 : 소니, 파나소닉 또는 니콘 또는 캐논 또는 스프린트 또는 버라이존이 소매점에 추가로 돈을 지불하거나 해당 라인의 대량 또는 다른 것들에 대해 더 나은 할인을 제공함)가있어 특정 "제안"이 다른 거래보다 더 자주-거래마다 더 많은 것을 만들거나 도매 비용을 줄이는 것을 목표로 한 합리적인 비즈니스 논리와 비즈니스 이유가 항상 있습니다.

실제 구현 측면에서? 거의 모든 대형 온라인 시스템은 몇 가지 파이프 라인 세트 (또는 필터 패턴 구현 또는 워크 플로우 등)로 구성되어 일련의 모듈을 적용하여 일련의 모듈에 의해 컨텍스트를 평가할 수 있습니다. 비즈니스 로직.

일반적으로 다른 파이프 라인이 페이지의 각 개별 작업과 연결됩니다. "패키지 / 업셀"을 권장하는 (예 :보고있는 항목과 함께 구매) 및 "대체"를 수행하는 (예 : 구매) 이것은 당신이보고있는 것 대신에) 그리고 다른 하나는 당신의 위시리스트에서 가장 밀접하게 관련된 항목을 (제품 카테고리별로 또는 유사하게) 가져옵니다.

이 파이프 라인의 결과는 페이지의 여러 부분 (스크롤 막대 위, 스크롤 아래, 왼쪽, 오른쪽, 다른 글꼴, 다른 크기 이미지 등)에 배치 할 수 있으며 테스트 한 결과를 확인합니다. 베스트. 이러한 파이프 라인에 대한 비즈니스 로직을 정의하는 편리한 플러그 앤 플레이 모듈을 사용하기 때문에 다른 파이프 라인을 구축 할 때 적용하려는 비즈니스 로직에서 쉽게 선택하고 선택할 수있는 레고 ​​블록과 동일한 도덕적 블록을 얻게됩니다. 더 빠른 혁신, 더 많은 실험, 더 높은 수익을 얻을 수 있습니다.

그게 전혀 도움이 되었습니까? 아마존뿐만 아니라 전자 상거래 사이트의 일반적인 작동 방식에 대한 통찰력을 얻으시기 바랍니다. 아마존 (그곳에서 일한 친구들과 대화하기)은 매우 데이터 중심이며 사용자 경험의 효과와 가격, 판촉, 포장 등의 효과를 지속적으로 측정합니다. 그들이 이익을 최적화하기 위해 사용하는 많은 알고리즘들-그들은 독점적 비밀 일 것입니다 (KFC의 비밀 향신료에 대한 공식과 같습니다).


1
예. 그것은 많은 도움이되었고 주제에 대한 귀하의 의견에 정말 감사드립니다.
Rachel

놀라운 통찰력
Shobi

28

이는 Amazon의 권장 시스템과 직접 관련이 없지만 Netflix 사용자 데이터를 사용하여 더 나은 권장 시스템을 개발하기위한 경쟁 인 Netflix Prize 에 참여한 사람들이 사용하는 방법을 연구하는 것이 도움이 될 수 있습니다 . 커뮤니티 에는 일반적으로 데이터 마이닝 기술에 대한 많은 좋은 정보가 있습니다 .

이긴 팀은 다양한 모델 / 기술로 생성 된 권장 사항을 혼합하여 사용했습니다. 사용 된 주요 방법 중 일부는 주성분 분석, 가장 가까운 인접 방법 및 신경망이라는 것을 알고 있습니다. 다음은 우승 팀의 논문입니다.

R. Bell, Y. Koren, C. Volinsky, " Netflix Prize에 대한 BellKor 2008 솔루션 "(2008).

A. Töscher, M. Jahrer,“ Netflix Prize 2008에 대한 BigChaos 솔루션 ”(2008).

A. Töscher, M. Jahrer, R. Legenstein, " 대규모 권장 시스템을위한 향상된 이웃 기반 알고리즘 ", 대규모 권장 시스템 에 대한 SIGKDD 워크샵 및 Netflix Prize Competition (KDD'08), ACM Press (2008) .

Y. Koren, " Netflix 대상에 대한 BellKor 솔루션 "(2009).

A. Töscher, M. Jahrer, R. Bell, " Netflix 대상에 대한 BigChaos 솔루션 "(2009).

M. Piotte, M. Chabbert, " Netflix 대상에 대한 실용적인 이론 솔루션 "(2009).

2008 년 논문은 첫해 진행상에서 발췌 한 것입니다. 후자는 이전 작업을 기반으로하기 때문에 이전을 먼저 읽는 것이 좋습니다.


2
이 답변에 대해 내가 좋아하는 것은 "완벽한"답변이없고 사람들이이 분야에서 계속 혁신하고 있다는 사실을 지적한다는 것입니다. 개선의 여지가 항상 있으며 시간이 바뀌고 새로운 방법이 문제에 적용됨 계속 다르게 해결됩니다. 자세한 링크를 읽으면 상금에 대한 각 큰 경쟁자 내에서 예측할 여러 접근 방식의 "혼합"이 어떻게 나타나는지 알 수 있습니다. 훌륭한 참고 문헌.
Dave Quick


20

(Disclamer : 추천 팀에서 일하지는 않았지만 Amazon에서 일했습니다.)

ewernli의 대답은 정답입니다.이 문서는 Amazon의 원래 권장 시스템과 연결되며 내가 말할 수있는 것 (Amazon 쇼핑객으로서의 개인적인 경험과 다른 회사의 유사한 시스템에서 일한 경험)에서 거의 변경되지 않았습니다. 아마존의 핵심 추천 기능은 여전히 ​​항목 별 협업 필터링을 기반으로합니다.

권장 사항이 어떤 형식인지 살펴보십시오. 제 첫 페이지에서 "모두 X를 본 고객 ...이 또한 본 고객도 ..."또는 다른 것과 유사한 항목의 혼합 형태 중 하나입니다. 나는 전에 사거나 본 적이있다. 특히 "권장 사항"페이지로 이동하면 모든 항목에 권장 사항이 설명되어 있습니다. "구매 권장 사항 ...", "X를 희망 목록에 추가했기 때문에 권장 사항 ..."등 항목 간 협업 필터링의 고전적인 표시.

항목 별 협업 필터링은 어떻게 작동합니까? 기본적으로 각 항목에 대해 관련 항목의 "이웃"을 구성합니다 (예 : 사람들이 함께 본 항목 또는 사람들이 함께 구입 한 항목을보고-유사성을 결정하기 위해 Jaccard 지수 와 같은 메트릭을 사용할 수 있습니다 . 아마존이 등급 데이터를 매우 많이 사용하지 않는다고 생각하지만 다른 가능성이 있습니다). 그런 다음 항목 X를 보거나 Y를 구매할 때마다 Amazon은 X 또는 Y와 같은 동네에 물건을 제안합니다.

아마존이 잠재적으로 사용할 수는 있지만 사용하지 않을 가능성이있는 다른 접근법은 다음과 같습니다. http://blog.echen.me/2011/02/15/an-overview-of-item-to-item-collaborative-filtering with-amazons-recommendation-system /

Dave가 설명하는 많은 부분은 Amazon에서 거의 이루어지지 않았습니다. (내 소셜 네트워크에있는 사람들의 평가? 아니요, Amazon에는 내 소셜 데이터가 없습니다. 이것은 어떠한 경우에도 개인 정보 보호 문제가 될 수 있으므로 해당 데이터가 있어도 아마존이하기 까다로울 수 있습니다. 사람들은 친구들이 구매 한 책이나 영화를 알고 싶어하지 않습니다. 인구 통계 정보? 아니오, 추천에서 아무것도보고 있지 않습니다. [내 지역의 다른 사람들이보고있는 것을 드러내는 Netflix와 달리 .])


몇 년 동안 아마존은 회사 도메인 이름과 우편 번호를 기반으로 익명의 구매 트렌드 인 구매 서클을 노출했습니다. 정보를 얻기 전에 구매 서클에 구매자가 50 명 이상이어야했습니다. 따라서 아마존은 해당 정보를 유지하고 추적하고 사용하여 자신과 다른 사람들이 인기있는 것을 이해하도록 돕습니다. 해당 지역이나 회사에서 CD, 전자 제품 및 책 구매를 볼 수 있습니다. 그들은 1999-2002에서 노출되었습니다. forum.dvdtalk.com/archive/t-122436.html 에는 아마존에서 텍스트를 복사하여 붙여 넣을 수도 있습니다.
Dave Quick

3

Amazon의 알고리즘에 대해서는 잘 모르지만 이러한 알고리즘의 한 구성 요소에는 자주 함께 주문한 항목 그룹을 추적 한 다음 고객이 그룹.

다른 가능성은 품목 A를 주문한 후 N 일 이내에 주문 된 품목 B의 빈도를 추적하는 것인데, 이는 상관 관계를 암시 할 수 있습니다.


2

내가 아는 한, 사례 기반 추론 을 엔진으로 사용합니다.

이 소스에서 볼 수 있습니다 : here , herehere .

Google 검색에는 아마존 및 사례 기반 추론을 검색하는 많은 소스가 있습니다.



0

실습 튜토리얼 (오픈 소스 R 사용)을 원한다면 https://gist.github.com/yoshiki146/31d4a46c3d8e906c3cd24f425568d34e 보다 더 나빠질 수 있습니다.

http://www.salemmarafi.com/code/collaborative-filtering-r/ 는 다른 작업의 런타임 최적화 버전입니다 .

그러나 첫 번째 링크의 코드 변형은 MUCH를 더 빨리 실행하므로 사용하는 것이 좋습니다 (yoshiki146 코드의 유일한 느린 부분은 사용자 수준에서 권장 사항을 생성하는 마지막 루틴이라는 것을 알았습니다. 내 데이터를 사용하는 데 약 1 시간이 걸렸습니다. 내 기계).

나는이 코드를 내가 일하는 소매점을위한 추천 엔진으로 작동하도록 수정했다.

사용 된 알고리즘은 다른 사람들이 위에서 언급했듯이 협업 필터링입니다. CF 의이 방법은 코사인 유사성 행렬을 계산 한 다음 그 유사성에 따라 정렬하여 각 요소 (이 예제의 음악 밴드, 내 응용 프로그램의 소매 제품)에 대한 '가장 가까운 이웃'을 찾습니다.

결과 표는 다른 선택된 밴드 / 제품을 기반으로 밴드 / 제품을 추천 할 수 있습니다.

코드의 다음 섹션은 USER (또는 고객) 기반 협업 필터링으로 한 단계 더 발전합니다.

이 결과는 특정 사용자 / 고객에게 권장되는 상위 100 개의 밴드 / 제품이있는 큰 테이블입니다.


1
이 링크가 질문에 대한 답변을 제공 할 수 있지만 여기에 답변의 필수 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않을 수 있습니다. - 리뷰에서
Kos

사실 ... 사용 된 알고리즘은 다른 사람들이 위에서 말했듯이 협업 필터링입니다. CF 의이 방법은 코사인 유사성 행렬을 계산 한 다음 그 유사성에 따라 정렬하여 각 요소 (이 예제의 음악 밴드, 내 응용 프로그램의 소매 제품)에 대한 '가장 가까운 이웃'을 찾습니다. 결과 표는 다른 선택된 밴드 / 제품을 기반으로 밴드 / 제품을 추천 할 수 있습니다. 코드의 다음 섹션은 USER (또는 고객) 기반 협업 필터링으로 한 단계 더 발전합니다. 이 결과는 특정 사용자 / 고객에게 권장되는 상위 100 개의 밴드 / 제품이 포함 된 큰 테이블입니다.
ChrisD

당신이 답변을 편집하고 의견 섹션이 아닌 감사 에이 정보를 추가하십시오
Kos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.