핵심요약
여기어때는 '연관 키워드 추천' 시스템 구축 시, 데이터 특성을 고려하여 Word2Vec 모델을 선정했습니다. 동시 검색 패턴, 지역적/맥락적 타당성을 기준으로 데이터를 분석하고, 초기화 문제(Initialization Problem)를 해결하기 위해 Word2Vec과 Co-occurrence Filtering을 결합한 하이브리드 파이프라인을 적용했습니다.
연관 키워드 추천 시스템 구축 경험
문제 정의 및 데이터 특성
- 목표: 사용자의 검색어와 연관성 높고 지역적/맥락적으로 타당한 키워드 추천.
- 데이터 특성:
- Synonyms: 동일 의도라도 다양한 형태의 검색어 존재 (e.g., 강릉, 강릉시).
- Domain-Specific: 명사 중심, 위치/장소 특정 키워드 다수.
- Long-Tail 분포: 하위 키워드에 많은 트래픽 집중.
- Sequence 유형: 지역 → POI, 지역 → 인접 지역 등 시계열 패턴 발견.
모델 선정 기준 및 결정
- 핵심 기준:
- 근접성 vs 순서성: 키워드 동시 등장 빈도(근접성)가 중요, 검색 순서는 덜 중요.
- 동적 vs 전역적 관계: 고유명사 간의 전역적 관계 포착이 중요.
- 행동 기반 연관성: 사전적 의미보다 사용자 행동 기반 연관성 학습 필요.
- 모델 선정: Word2Vec (가벼움, 근접성/전역적 관계/행동 기반 학습 용이).
- 시퀀스 모델, 무거운 언어 모델은 '오버 스펙' 판단.
데이터 모델링 및 문제 해결
1. 텍스트 정규화
- 파편화된 동의어(Synonyms)를 단일 키워드로 통일 (e.g., 경주, 경북 경주 → 경주).
2. Word2Vec 모델 학습 및 결과 분석
- 코사인 유사도 기반 연관 키워드 목록 생성.
- 초기 문제: Initialization Problem으로 인한 비논리적 추천 (e.g., '홍대입구역' → '가톨릭 목포 성지').
3. Initialization Problem 해결
- 단순 빈도수 조절의 한계: Long-Tail 키워드 손실 위험.
- 하이브리드 파이프라인:
- Word2Vec 모델: 폭넓은 연관 키워드 후보 생성.
- Co-occurrence Filtering: 후보 키워드가 실제 로그에서 동시 출현했는지 통계적으로 검증 (노이즈 제거).
- 결과: 지역적/맥락적 타당성을 갖춘 키워드 추천 정확도 향상.
결론
- SOTA 기술이 아닌, 데이터 특성에 맞는 적정 기술(Word2Vec) 선택의 중요성 강조.
- 사용자 행동 기반 연관성 모델링 및 Initialization Problem 해결 경험 공유.
- 앞으로 추천 정교화 및 기술적 최적화 지속 예정.