자연어 처리에서 주로 쓰던 기법을 개인화 추천에 적용하는 방법을 설명한 글이다. 쇼핑몰의 Best 추천 화면에서 상위에 노출된 상품의 평균 기대 구매율이 모든 사람에게 동일하지 않다는 점에서 출발한다. 평소 김치를 자주 사는 사용자와 직접 김장을 하는 사용자에게 같은 상품은 전혀 다른 값을 갖는다.
핵심 포인트- 개인화 추천은 각 개인별로 각 상품에 대한 기대 구매율을 계산하고 그 값이 가장 높은 상품을 골라 보여주는 문제다.
- 여러 방법론 중 자연어 처리에서 주로 쓰이던 토픽 모델링 계열 기법을 추천에 적용하는 경로를 다룬다.
- LDA는 기계 학습과 자연언어 처리 분야에서 주로 쓰던 비지도학습 알고리즘이다.
- 문서 집합의 추상적인 주제를 발견하기 위한 통계적 모델로, 텍스트 본문의 숨겨진 의미구조를 찾는 텍스트 마이닝 기법 중 하나다.
- 특정 문서 집합에서 사전에 정의한 K개의 주제를 만들어내고, 각 주제에 대응하는 높은 빈도의 단어들을 할당한다.
상세 정리- 문제 설정: 같은 상품이라도 사용자에 따라 클릭 가능성 자체가 다르므로, 전체 평균 구매율을 그대로 개인에게 적용할 수 없다.
- 예시 대비: 한 사용자는 상품을 보자마자 클릭할 가능성이 높은 반면, 다른 사용자는 보더라도 구매는커녕 클릭조차 하지 않을 수 있다.
- 접근 방향: 문서와 단어의 관계를 다루던 구조를 사용자와 상품의 관계로 옮겨 놓는 방식으로 개인화 추천에 적용한다.
- LDA의 입력과 출력: 코퍼스에서 K개의 토픽을 뽑아내고 각 토픽에 그 토픽을 대표하는 고빈도 단어들이 배정되는 구조다.
- 사전에 K를 정의해야 한다는 점이 이 기법의 전제로 언급된다.
왜 읽나협업 필터링 외의 추천 접근을 찾는 엔지니어에게, 토픽 모델링을 사용자-상품 관계에 옮겨 개인별 기대 구매율을 산출하는 발상의 출발점을 보여준다.