피드로 돌아가기
오픈챗 메시지들로부터 트렌딩 키워드 추출하기
LINE Engineering
Backend

오픈챗 메시지들로부터 트렌딩 키워드 추출하기

LINE AI Services Lab이 Z-테스트 통계량과 MinHash 클러스터링, NPMI 기반 다양화로 오픈챗 메시지에서 트렌딩 키워드 추출 시스템 구축

2025년 8월 29일12intermediate

Context

오픈챗 메인 화면이 채팅방 위주로 노출되면서 기존 사용자의 재방문 동기가 약해지고 있었다. 또한 단순 빈도 기반 키워드 선정 방식은 "안녕", "감사합니다" 같은 일상적 표현만 추출되어 실제 화제를 반영하지 못했다.

Technical Solution

  • Z-테스트 통계량으로 트렌딩 키워드 탐지: 일주일 전 기준일과 비교해 빈도 증가량을 Z = (p̂₁ - p̂₀) / √[p̂(1-p̂)(1/M₁ + 1/M₀)] 공식으로 계산하여 급증한 단어만 선정
  • MinHash 시그니처 기반 중복 메시지 제거: 메시지를 명사 토큰의 세트로 표현하고 k-MinHash 시그니처를 생성해 동일 시그니처 메시지를 클러스터링으로 통합
  • NPMI 지표를 활용한 부적절 키워드 제거: 공동 발생 빈도가 높은 의존적 키워드 쌍을 Normalized Pointwise Mutual Information으로 식별하고 임계치 이상인 경우 제거
  • 페널티 가중치를 이용한 키워드 다양화: 기존 트렌드 점수에서 α·max sim(i,j) 페널티항을 차감하여 유사한 키워드의 순위를 낮춤 (α ≥ 2)
  • 집계 기간을 일단위로 설정: 통계적 샘플 확보와 사용자 일방문 패턴에 맞춤

Key Takeaway

트렌딩 감지 시스템에서는 단순 빈도가 아닌 시간 기준점 비교를 통해 절대값이 높아도 증가량이 미미한 "피크 유지" 상황을 제거해야 하며, 텍스트 중복 제거와 의미적 유사도 기반 필터링을 결합하면 추출 결과의 품질을 획기적으로 높일 수 있다.


커뮤니티/소셜 플랫폼에서 대규모 메시지 데이터로부터 트렌딩 토픽을 추출할 때, 이전 기간(하루 전) 대비 비교가 아닌 일주일 전 기준 비교를 사용하면 지속적 화제의 피크 구간도 놓치지 않고 요일 반복 패턴도 자연스럽게 억제할 수 있으며, MinHash 기반 클러스터링으로 계산 비용을 유지하면서 복사/붙여넣기 중복까지 제거할 수 있다.

원문 읽기