-
[RecSys] 3-2. 추천 시스템 Basic - TF-IDF인공지능/부스트캠프 Ai Tech 2022. 3. 11. 18:11728x90In [1]:
from IPython.core.display import display, HTML display(HTML("<style>.container { width:90% !important; }</style>"))
추천 시스템의 기법¶
새로 적용한 추천 시스템/모델의 성능 평가는 어떻게 해야하는가?
TF-IDF를 활용한 컨텐츠 기반 추천¶
유저가 흥미 있어하는 아이템과 유사한 아이템을 추천해주는 방식
- 장점
- 유저에게 추천 할 때 다른 유저의 데이터 필요하지 않음
- 새로운 아이템 혹은 인기도가 낮은 아이템을 추천할 수 있음
- 추천아이템에 대한 설명(왜 이걸 추천해줬는지)이 가능
- 단점
- 아이템에게 적합한 피처(비정형 데이터의 경우)를 찾기가 어려움
- 똑같은 아이템만 계속 나올 수 있음(overspecialization)
- 다른 유저의 데이터를 활용할 수 없음
TF-IDF(Term Frequency - Inverse Document Frequency)¶
문서의 경우 중요한 단어들의 집합으로 표현 할 수 있다. 단어의 중요도를 나타내기 위해 가장 많이 쓰이는 방법이 TF-IDF 방법
문서 d에 등장하는 단어 w에 대해, 단어 w가 문서 d에 많이 등장하면서(TF), 단어 w가 전체 문서(D)에서는 적게 등장하는 단어라면(IDF) 단어 w는 문서 d를 설명하는 중요한 feature로 TF-IDF 값이 높다!
- TF : 단어 w가 문서 d에 등장하는 횟수
${TF(w,d) = freq_{w,d}}$
${TF(w,d) = {freq_{w,d} \over max_{k}(freq_{k,d})}}$(normalize TF to discount 'longer' document)
- IDF : 전체 문서 가운데 단어 w가 등장한 비율의 역수
${IDF(w) = \log{N \over n_w}}$ (N : 전체 문서 개수, ${n_w}$ : w가 등장한 문서 개수)
- IDF 값의 변화가 크기 때문에 smoothing을 위해 log를 사용
TF-IDF로 Item Profile과 User Profile을 구할 수 있으며, 해당 유저와 가자 유사한 아이템을 찾기 위해선 Cosine Similarity를 사용해 가장 유사도 점수가 높은 아이템을 추천해주면 된다.
'인공지능 > 부스트캠프 Ai Tech' 카테고리의 다른 글
[RecSys] 4-2. Collaborative Filtering - Rating Prediction (0) 2022.03.11 [RecSys] 4-1. Collaborative Filtering (0) 2022.03.11 [RecSys] 3-1. 추천 시스템 Basic - 추천 시스템 기법과 연관분석 (0) 2022.03.10 [RecSys] 2. 추천시스템 Basic - 평가지표와 인기도 기반 추천 (0) 2022.03.10 [RecSys] 1. 추천시스템 Basic - 추천시스템이란 (0) 2022.03.10 - 장점