친구 추천 알고리즘의 변수 최소화와 흥미도 기반 무작위성
초록
본 논문은 소셜 네트워크에서 친구 추천 리스트를 구성할 때 핵심 변수들을 규명하고, 기존의 친구‑친구(Friend‑of‑Friend) 방식에 무작위성 및 흥미도(Interestingness) 기준을 직접 적용한 새로운 알고리즘을 제안한다. 실제 데이터 분석을 바탕으로 자동화 도구를 설계·구현하여 시간에 따른 추천 변동성을 재현하고, 시뮬레이션 결과를 통해 제안 기법의 유효성을 검증한다.
상세 분석
논문은 먼저 소셜 네트워크 서비스(SNS)에서 친구 추천이 비즈니스와 사용자 경험에 미치는 영향을 서술하고, 기존 연구가 주로 상호 연결성(공통 친구 수), 프로필 유사도, 활동 빈도 등 정형화된 변수에 의존해 왔음을 지적한다. 그러나 이러한 접근은 추천 리스트가 지나치게 정형화되고, 사용자에게 새로운 인맥을 제시하는 데 한계가 있다. 이를 극복하기 위해 저자는 두 가지 새로운 차원을 도입한다. 첫 번째는 무작위성(Randomization) 으로, 추천 후보군을 선정할 때 일정 비율(예: 10~20%)을 무작위로 섞어 다양성을 확보한다. 무작위 선택은 특히 사용자가 기존 네트워크와 겹치지 않는 영역을 탐색하도록 유도하며, 추천 리스트의 시간적 변동성을 자연스럽게 만든다. 두 번째는 흥미도(Interestingness) 로, 이는 ‘관련성(Relevance)’과 ‘새로움(Novelty)’을 결합한 복합 점수이다. 관련성은 전통적인 유사도 측정(공통 관심사, 지리적 근접성 등)으로 계산하고, 새로움은 후보가 사용자의 현재 네트워크에 얼마나 적게 노출되었는가를 역수 형태로 평가한다. 흥미도 점수는 가중치 파라미터 α, β에 의해 조정되며, α+β=1인 선형 결합 혹은 로그·지수 변환을 통한 비선형 결합이 가능하다.
알고리즘 구현부에서는 후보군 생성 → 무작위 샘플링 → 흥미도 점수 계산 → 정렬 → 최종 리스트 출력의 파이프라인을 제시한다. 특히 무작위 샘플링 단계는 ‘시드(seed)’를 고정함으로써 실험 재현성을 보장하고, 시간에 따라 시드가 변하도록 설계해 동적 추천을 구현한다. 흥미도 계산은 대규모 데이터셋에서도 효율성을 유지하기 위해 사전 계산된 프로파일 벡터와 히스토리 카운터를 활용한다.
시스템 아키텍처는 데이터 수집 모듈, 변수 추출 엔진, 추천 엔진, 그리고 시뮬레이션 인터페이스로 구성된다. 데이터 수집은 공개 API와 크롤링을 통해 실시간 사용자 관계와 활동 로그를 확보하고, 변수 추출 엔진은 이를 정규화·스케일링한다. 추천 엔진은 위에서 설명한 알고리즘을 모듈화된 플러그인 형태로 제공해, 연구자는 무작위 비율이나 흥미도 가중치를 손쉽게 교체·실험할 수 있다.
실증 분석에서는 두 개의 주요 SNS(예: Facebook, Twitter)에서 수집한 1백만 명 규모의 사용자 데이터를 이용해, 기존 FOAF 기반 추천과 제안된 무작위·흥미도 혼합 모델을 비교한다. 평가 지표는 클릭률(CTR), 수락률(Acceptance Rate), 그리고 네트워크 다양성 지표(네트워크 지름, 클러스터링 계수)이다. 결과는 무작위 비율이 15%일 때 CTR이 8% 상승하고, 수락률이 5% 상승했으며, 장기적으로 네트워크 구조가 보다 분산되는 경향을 보였다. 흥미도 가중치 α를 0.7로 설정하면 관련성 유지와 새로움 제공 사이의 최적 균형을 달성한다는 결론을 도출한다.
이 논문은 변수 최소화와 무작위·흥미도 기반 접근이 기존 추천 시스템의 한계를 보완하고, 사용자에게 보다 풍부하고 예측 불가능한 인맥 확장 기회를 제공한다는 점에서 의미가 크다. 또한 제안된 자동화 도구와 아키텍처는 실무 적용 가능성을 높이며, 향후 개인화된 무작위성, 다중 흥미도 모델, 그리고 강화학습 기반 동적 추천으로 확장될 여지를 제시한다.