🛒

Item2Vec

Word2Vec을 아이템에 적용한 추천 임베딩

Word2Vec에서 문장 속 단어의 공출현으로 의미를 학습하듯, Item2Vec은 사용자 행동 시퀀스에서 아이템의 공출현으로 관계를 학습한다.

"A를 본 사람이 B도 봤다"는 패턴이 반복되면, A와 B의 벡터가 가까워진다. 이게 collaborative filtering의 핵심 신호인데, 명시적인 user-item 매트릭스 없이도 작동한다는 게 강점.

구현이 간단하다

gensim의 Word2Vec 모듈에 아이템 시퀀스를 넣으면 된다. 코드 10줄이면 프로토타입이 나온다.

다만 시퀀스 순서 정보를 완전히 활용하지는 못한다. 순서가 중요한 추천(다음에 뭘 볼까?)에는 GRU4Rec이 더 적합하다.

동작 원리

1

사용자별 행동 시퀀스 수집 (구매, 클릭, 시청)

2

시퀀스를 Word2Vec의 \"문장\"으로 투입

3

Skip-gram + Negative Sampling으로 학습

4

학습된 벡터로 코사인 유사도 기반 추천

장점

  • 구현이 극도로 간단하다 (gensim 10줄)
  • Cold start 아이템도 부분적으로 대응 가능

단점

  • 시퀀스 내 순서 정보를 완전히 활용 못함
  • 사용자 개인화보다는 아이템 간 유사도 중심

사용 사례

EC 사이트 \"이 상품과 비슷한 상품\" 음악 스트리밍 \"비슷한 곡 추천\"

참고 자료