2013-11-26 1 views
0

나는 레스토랑을위한 검색 엔진을 개발했습니다. 나는 사용자가 친구 및 양식 그룹을 추가하고 서로에게 레스토랑을 추천 할 수있는 소셜 네트워크를 가지고 있습니다. 각 레스토랑은 여러 가지 요리를 제공 할 수 있습니다. 이 모든 것을 파이썬으로합니다.Python에서 협업 필터링을 사용하는 권장 엔진

그래서 사용자가 추천 한 레스토랑을 기반으로 사용자가 더 좋아할만한 종류의 요리에 집중할 수 있습니다. 동시에 사용자가 탐험 할 가능성이 높은 가격대 (고급형, 패스트 푸드, 카페, 라운지 등)를 알 수 있습니다.

친구들은 더 많은 광고를 게재 할 곳을 추천합니다. 비슷한 친구가 아닌 비슷한 사용자가 있는데, 사용자가 추천 한 일부 레스토랑과 그렇지 않은 레스토랑이 있습니다.

최종 문제를 기반으로 사용자에게 레스토랑을 추천하는 것입니다 : 그는 (비슷한 요리로 다른 레스토랑) 권장 것을 1) - 50 % weightage 2) 그의 ​​친구가 추천 한 무엇합니다 (요리를 제공 필터링 레스토랑 사용자가 가장 좋아하는 것) - 25 %의 체중 3) '유사한'친구가 아닌 사용자가 공개 추천 - 25 %의 체중.

저는 Neo4j에 대해 많은 시간을 보냅니다. Neo4j는 유망 해 보입니다. 그 외에는 pysuggest를 시도했지만 위의 문제를 해결하지 못했습니다. 나는 또한 reco4j를 시도했지만 파이썬 기반 솔루션을 찾고있는 반면 자바 기반 솔루션이다. Reco4j 커뮤니티에도 활동이 없으며 아직 개발 중입니다.

비록 내가 많은 연구를했지만, 나는 뭔가를 놓칠지도 모른다.

위의 솔루션을 구현하는 방법에 대해 알고 싶습니다. 같은 용도로 사용할 수 있습니까?

+0

[py2neo] (http://book.py2neo.org/ko/latest/)을 보셨습니까? 그것은 Python에서 Neo4j와 상호 작용하는 선호하는 방법입니다. – jjaderberg

답변

0

아주 구체적이므로 문제의 해결책을 찾을 수 없을 것입니다. Neo4j로 할 수있는 일은 권장 사항 (사용자, 우정 링크, 사용자의 레스토랑 권장 사항 및 리뷰 등)을 작성하는 데 사용하는 모든 데이터를 저장 한 다음이 데이터에 대한 추천 엔진을 작성하는 것입니다. 제 경험으로 Neo4j (Cypher 또는 Gremlin)에서 모든 데이터를 가져온 것은 매우 간단합니다.

관련 문제