사용자가 이전에 선호한 아이템을 분석하여 유사한 특징을 가진 아이템을 추천하는 추천 시스템 방식입니다.
"A를 선호했으니, 비슷한 A'도 선호할 것이다!' 라는 개념입니다.
'비슷한 정도'는 수치 형태로 나타내고,'비슷한 정도'를 계산해야합니다.
각 아이템의 특성을 feature로 나타내고 연속형 변수일 경우에는 정규화 후 수치 형태로 사용하거나 범주형 변수의 경우 one-hot 인코딩 방식으로 가공해야합니다.
사용자의 상호작용이 적은 경우(cold start)에도 추천이 가능하며 어떤 특징이 추천에 도움이 되었는지 근거를 찾을 수 있다라는 장점이 있습니다. 하지만 특징의 정보로만 유사도를 계산하기 때문에 어떤 특징을 사용했는지에 따라 데이터 결과 품질에 크게 영향을 줄 수 있습니다.
상호작용이 적은 경우에도 추천이 가능하다라는 장점이 있지만 신규 사용자같이 아무런 상호작용이 없는 사용자에게는 추천이 힘들다라는 단점이 있습니다.
■ 유사도
a 마트에 위 4개의 식품이 있다고 가정한다. 4개의 식품에 대해 유사도를 구해보려 합니다.
유사도를 구하기 위해서는 코사인 유사도, 유클리드 거리, 피어슨 상관계수를 활용할 수 있습니다.
이외에도 유사도를 구하기 위해서는 다양한 방법이 존재합니다.
아이템의 특성을 추출하는 과정으로 아이템간의 유사성을 계산할 수 있다.
텍스트는 TF-IDF와 같은 기법을 적용한다.
** TF-IDF란 문장을 벡터 형식으로 만드는 기법으로 문장 내의 단어를 토큰으로 만들어 주머니 안에 넣듯이 다루는 것들로 단어가 늘어남에 따라 feature가 크게 증가한다라는 단점이 있습니다. 문서별로 문장내 단어는 다른 중요도를 가지며 문장 내에서 자주 등장하는 단어는 중요도를 가집니다. 여러 문장에 걸쳐 자주 등장하는 단어는 별로 중요하지 않고 흔한 단어로 취급합니다.
사용자가 상호작용한 아이템이나 선호도를 나타내는 데이터를 활용한다.
아이템과 사용자 프로필 벡터 사이의 유사도를 계산하거나 유사도 함수를 사용합니다.
유사도 스코어에 따라 순위를 매기며 상위 아이템이 사용자에게 추천됩니다.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!