2011-03-24 3 views
1

우리가 만들고있는 시장으로 사람들은 물건을 일괄 적으로 판매 할 수 있습니다. 우리는 이것을위한 추천 엔진을 만들려고하고 있지만 대부분의 기사는 아마존, 넷플릭스 등 많은 제품을 "판매"하는 시장에 더 적합하다고 생각합니다. 모든 목록은 다소 독특하기 때문에 추천 엔진을위한 최선의 접근법? 관련 기사가 있습니까?추천 "친절한"제품 "을위한 Engin

사람들은 과거에 구입 한 품목을 알고 있습니다. 우리는 그들이 찾고있는 크기 또는 연령 적합성을 알고 있습니다.

나열된 번들에는 카테고리, 브랜드, 크기/나이, 색상 및 자유 양식 텍스트가 있습니다.

시작하는 데 도움이되는 아이디어가 있으십니까? 우리의 데이터가 MySQL에 저장된다면 가장 좋을 것이라고 생각되는 언어가 있습니까?

+0

관련 항목 : http://stackoverflow.com/questions/1592037/where-can-i-learn-about-recommendation-systems – Daenyth

답변

0

개인적으로 나는 Ruby를 선호하지만 Ruby, Python 및 Perl은 MySQL에 쉽게 연결할 수 있습니다.

내가 Ruby를 좋아하는 이유 중 하나는 매우 강력한 ORM 인 Sequel 보석이며, 데이터베이스 액세스를 매우 쉽게 관리 할 수 ​​있습니다. MVC에 가면 Ruby는 Rails을 가지고 있습니다. ORM은 ActiveRecord이며, MySQL과 쉽게 대화 할 수 있습니다. Sinatra과 Padrino도 있습니다. 조금 가벼운 무게 ORM이지만 매우 유능합니다. 그들은 더 이상 DB 불가지론 자이고 Sequel과 잘 통합됩니다.

2

권장 사항 엔진으로 필터링 할 수있는 몇 가지 사항이 있습니다. 이전에 특정 사용자가 구입 한 제품을 필터링 할 수 있습니다 (구입 한 제품에 어떤 기능이 있는지). 소셜 그룹을 좋아하는 사용자 또는 이전에 판매 한 제품과 같은 다른 제품을 제품 그룹으로 필터링 할 수도 있습니다. 우선 제품을 클러스터링 한 다음 해당 제품 클러스터의 기능에 개인 또는 그룹을 매핑하는 것이 좋습니다. 따라서이 기능을 사용하여 항목을 구입 한 사용자는이 기능이있는 항목을 구입 한 권장 사항 엔진으로 끝납니다. 그런 다음 알려진 사용자를위한 엔진을 만들 수 있습니다. 이러한 기능을 사용하여 제품을 구입하는 경향이 있습니다. 여기에 이러한 항목이 더 있습니다. 마지막으로, 그룹을위한 엔진을 만들 수 있습니다. 이러한 사람들은 이러한 기능을 사용하여 제품을 구매하는 경향이 있습니다.

여러 모델을 사용하면 알려진 사용자, 알려진 사용자 그룹 또는 알려진 검색 기록과 같이 현재 알고있는 내용에 따라 적절한 모델로 전환 할 수 있습니다.

더 많은 고유 제품을 권장하므로 권장 사항을 얻은 후에 추가 모델을 추가하여 부적절한 권장 사항을 걸러 낼 수 있습니다. 이 모델은 호환성을 나타냅니다. 이전에 사용했던 것과 동일한 콘솔을 사용하는 새로운 게임은 다른 콘솔보다 더 호환됩니다. 그들이 지난 달에 새 차를 사면 새 차를 권하지 않겠지 만 10 회 세차를하는 것이 좋습니다.

이 마지막 모델에는 여러 가지 개념을 사용할 수 있습니다. 사람들의 머리 속에있는 모델에 명시 적 지식을 추가하려는 경우 부적절한 권장 사항을 걸러내는 신념 네트워크를 구축하는 것이 좋습니다. 집단 지성을 사용하려는 경우 단순 회귀, 지원 벡터 머신 또는 인공 신경망을 사용할 수 있습니다. 필자는 가장 쉬운 필터를 구현하고 빌드하는 첫 번째 모델을 선택하는 것에 대해 걱정하지 않을 것입니다. 적절한 작업을 통해 좋은 결과를 얻을 수 있도록하기 전에 모델을 몇 가지 만들 수 있습니다.

필터링 모델은 권장 사항을 작성한 테스트 단계를 거쳐 적절성에 대한 필터링을 실시한 다음 사용자 개입과 함께 필터를 다시 필터링합니다 (필터가 배우려는 일련의 "답변"). 단지 인간이 이중 검사 결과를 보게됩니다. 그런 다음 업데이트 된 결과로 필터를 다시 테스트하고 다시 샘플링 한 다음 다시 테스트하십시오.

권장 엔진이있는 한 SVD를 GNU 과학 라이브러리 (모든 플랫폼에서 사용할 수있는 바인딩)로 수행 할 수 있습니다. 큰 데이터를 사용하려는 경우 Mahout 추천 엔진 (Hadoop 세계의 일부)을 선택할 수도 있습니다. 필터의 경우, 아포 피니 아, libsvm 또는 FANN을 살펴볼 수 있습니다.

당신이 사물을 다루는 것처럼 느끼기 전까지는 분석 프레임 워크에서 잠시 동안 일할 수도 있습니다. Weka, R, Octave, Matlab, Maple 및 Mathematica 중에서 선택할 수 있습니다. 나는 먼저 가격면에서, 그리고 사용의 용이성면에서 그것들을 나열했다고 생각합니다.

자원에 관한 한, 집단 지성, Mahout (매닝의 MEAP), 데이터 마이닝 (Weka에 관한 것) 및 Modeling with Data (아포 피 니아 참고 자료)과 같은 유용한 입문서가 있습니다.

마지막으로 생각한 것은 사용자가 정교한 엔진을 사용하거나 권장 엔진을 사용하지 않아도된다는 것입니다. 대부분의 가치는 사용자 환경에 있습니다. 아마존의 사람들 중 한 명은 추천 엔진이 왜 사용자에게 추천을했는지에 대해 이야기 할 때 가장 효과적이라고 썼습니다. 이는 사용자가 자신의 추론 (오래되고 좋은 구매에 대한 감정적 인 반응)을 신속하게 채택하거나 거부하고 계속 진행할 수있게 해줍니다 (그들은 이미 이와 비슷한 것을 가지고 있으며 다른 것을 필요로하지 않습니다).