Twitter에는 For You라고 올라온 트윗을 시간순으로 보여주는 것이 아니 관련 높은 트윗을 추천해 주는 방식을 적용한 탭이 있습니다. 저는 시간순으로 보는게 더 좋아서 여전히 시간순으로 쓰고 있지만 아마도 플랫폼 입장에서는 추천 트윗을 보여주는게 사용자 리텐션이나 광고 매출에 도움이 되는게 아닐까 생각합니다. 참고로 페이스북도 예전에는 친구들의 글이 다 보였지만 지금은 추천 글만 보여주고 있습니다. 이 추천 알고리즘을 트위터에서 오픈소스로 공개했습니다. 추천 알고리즘이란 건 꽤 중요한 부분이고 논란이 될 부분도 많기 때문에 보통 상세한 내용을 공개하지 않는데 신기하게 이 알고리즘을 전부 공개했습니다.(일론 머스크가 인수한 뒤로는 의외인 행동은 너무 많습니다만....) 글에서 알고리즘의 관해 설명한 내용을 요약하면 다음과 같습니다. - For You에 보여줄 1,500개의 트윗을 추출해서 보여준다. - 사용자가 팔로잉하는 In-Network 소스와 팔로잉하고 있지 않은 Out-of-Network 소스 두가지에서 50:50 비율로 가져온다. - In-Network 소스에서는 두 사용자(로그인 사용자와 트윗 올린 사용자)의 상호 참여 가능성을 예측하는 모델인 Real Graph를 통해 트윗의 순위를 정한다 - Out-Network 소스에서는 소셜 그래프로 팔로잉하는 사람들과 비슷한 관심사를 가진 사람들을 통해 실시간으로 상호작용 그래프를 유지하는 그래프 처리 엔진 GraphJet을 개발해서 사용한다. - 소셜 그래프보다 큰 비중을 차지하는 임베딩 스페이스는 사용자의 관심사와 트윗의 관련도를 수치로 만들어서 145,000개의 커뮤니티를 3주마다 업데이트한다. - 이렇게 순위가 정해진 트윗을 필터링하고 정제한 후(블록이나 너무 같은 사람 트윗이 나오지 않도록) 사용자에게 보여준다. - 이 파이프라인은 하루에 50억번 실행되고 평균 1.5초 이내에 완료된다. 다른데서는 공개를 안하기 꽤 유용한 정보이고 Scala로 작성되었기 때문에 Scala의 좋은 레퍼런스도 될 것 같습니다. 다만 처음에는 코드 정리만 해서 그대로 올렸던 것 같은데 Git 히스토리가 있기 때문에 과거에 일론 머스크를 별도로 처리했던 코드 등의 이슈가 발견되어 논란이 되었습니다. 지금은 히스토리를 다 지우고 새로 올린 상태입니다.

Twitter's Recommendation Algorithm

Twitter

Twitter's Recommendation Algorithm

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 4월 12일 오전 2:50

 • 

저장 12조회 3,521

댓글 0