저는 학습 추천 엔진입니다. Google 뉴스가 공동 필터링을 기반으로 사용자가 관심을 가질만한 뉴스 항목에 대한 권장 사항을 Google 뉴스에서 어떻게 생성하는지 정의하는 paper을 살펴 보았습니다.Google 뉴스에서 추천을 생성하는 데 사용되는 알고리즘은 무엇입니까?
흥미로운 기술 중 하나는 민해싱입니다. 나는 그 일을 겪었지만, 내가 가지고있는 것은 모호한 생각이고 내가 틀렸다는 강한 확률이 있음을 확신합니다. 다음은 내가 그것을 밖으로 만들 수있는 것입니다 : -
- 이 모든 뉴스 항목의 집합을 수집합니다.
- 사용자에 대한 해시 함수를 정의하십시오. 이 해시 함수는 모두 뉴스 항목 목록에서이 사용자가 본 뉴스 항목 중 첫 번째 항목의 색인을 반환합니다.
- "n"개의 값을 수집하고이 값 목록을 가진 사용자를 나타냅니다.
- 이러한 목록 간의 유사도를 기반으로 사용자 간의 유사도를 공통 항목 수로 계산할 수 있습니다. 이렇게하면 많은 비교 횟수를 줄일 수 있습니다.
- 이러한 유사성 측정에 따라 사용자를 다른 클러스터로 그룹화합니다.
이것은 내가 생각하는 것입니다. 2 단계에서는 상수 해시 함수를 정의하는 대신 다른 요소의 인덱스를 반환하는 방식으로 해시 함수를 변경하는 것이 가능할 수 있습니다. 따라서 한 해시 함수는 사용자의 목록에서 첫 번째 요소의 인덱스를 반환하고 다른 해시 함수는 사용자의 목록에서 두 번째 요소의 인덱스를 반환 할 수 있습니다. 따라서 minwise independent permutations 조건을 만족하는 해시 함수의 특성은 가능한 접근 방식처럼 들립니다.
내가 옳다고 생각하는 사람은 누구나 확인할 수 있습니까? 또는 Google 뉴스 추천의 일부분이 다른 방식으로 작동합니까? 나는 권고안의 내부 구현에 익숙하지 않다. 어떤 도움이라도 대단히 감사합니다.
감사합니다.
답변 해 주셔서 감사합니다. 말된다. 알고리즘을 여러 번 반복하면 해시 값 목록을 비교하여 두 사용자의 유사도를 계산할 수 있습니다. 이렇게하면 두 사용자가 한 위치에서 몇 번 동의하는지를 측정 할 수 있습니다. 내가 가지고있는 한 가지 질문은 버킷이 어떻게 정의되어 있는가입니다. 특정 인물을 양동이에 넣으려면이 사람을 다른 사람과 연관시켜야합니다. 버킷에있는 다른 모든 사용자는 대부분 비슷하기 때문에 버킷의 * 사용자 *와 사용자를 비교하나요? 다시 한 번 감사드립니다. – Siddhant
버킷은 "임의 순열로 처음 2-4 개 항목에 대해 동일한 해시 값을 가진 사용자 집합"으로 정의됩니다. 그래서 물통에 사람과 사람을 비교할 필요가 없습니다. 마찬가지로 해시 테이블과 마찬가지로 각 사용자는 곧바로 하나의 버킷으로 전송됩니다. 전체 문서를 읽지는 않았지만 권장 사항을 결정하는 데 공유 된 버킷의 모든 사용자를 사용한다고 가정합니다. 버킷의 전체 목표는 "모든 사용자"를 충분히 작게 만드는 것입니다. – mathmike