본문 바로가기

cosine similarity

(3)
[NLP] Contents-based Recommendation(컨텐츠 기반 추천) 이번에 다룰 주제는 2개의 포스팅으로 분리해서 작성해 볼 예정이다. 바로 자연어 처리(NLP)를 활용한 추천 시스템 구현이다. 추천 시스템은 우리의 일상에 매우 가까이에서 적용되고 있다. 대표적으로 YouTube나 Netflix와 같은 영상 컨텐츠를 담은 기업뿐만 아니라 국내외 E-commerce 기업에서도 추천 알고리즘을 상당히 효과적으로 활용하고 있다. YouTube에서의 '맞춤 동영상' 이나 E-commerce 홈페이지의 "이 A라는 상품을 구매한 고객들은 B라는 상품도 함께 구매합니다" 라는 문구를 보았을 것이다. 이런 것들이 바로 추천 알고리즘을 적용한 예시이다. 추천 알고리즘에도 종류가 몇 가지 존재한다. 크게 '컨텐츠 기반 필터링' 과 '협업 필터링'으로 나뉘어 진다. '협업 필터링'에서는 ..
[NLP] 문서 군집화(Clustering)와 문서간 유사도(Similarity) 측정하기 이번 포스팅에서는 여러가지의 문서들을 군집화시켜보고 특정 하나의 문서가 다른 문서들간의 유사도를 측정해보는 방법에 대해서 알아보려고 한다. 군집분석은 비지도 학습으로 비슷한 데이터들끼리 서로 군집을 이루는 것을 말한다. 이러한 방법은 텍스트로 이루어진 문서 데이터에도 적용이 된다. 단어 발생 빈도수에 기반하는 BOW(Bag Of Words) 방식을 이용해 Feature(문서들을 이루고 있는 단어들)를 벡터화시키거나 단어들간의 의미 관계 즉, 단어 벡터들간의 방향을 고려해 Word embedding을 통해 벡터화 시킨다. 이번 포스팅에서는 BOW에 기반한 Tf-idf 방법을 사용한다. 다른 BOW 방식인 Count Vectorizer는 단순히 그저 단어 발생 빈도수에만 초점을 맞추기 때문에 여러가지 문서들..
[ML] Clustering의 Distance Function의 종류 이번 포스팅에서는 저번 시간에 배웠던 Clustering 내용에 대한 추가적인 컨텐츠이다. 바로 Clustering을 실행할 때 데이터 간의 거리를 계산해야 하는데 '어떤 방법' 으로 계산을 할지에 대한 내용이다. 이번에는 하나의 주제에 대한 것이므로 별다른 목차 없이 바로 본론으로 들어가겠다. 앞으로 나올 내용들은 모두 거리는 계산하는 방법 중 하나인 Distance Function의 종류들이다. 1. Euclidian Distance 중, 고등학교 시절 문과, 이과를 불문하고 수학을 공부했던 사람들에겐 모두 친숙한 공식일 것이다. 바로 유클리디안 거리 공식이다. 이름만 듣고 잘 모르겠는가? 그렇다면 공식을 보면 "아~!" 라고 나올지도 모른다. 유클리디안 거리 공식을 살펴보자. 하지만 이 유클리디안 ..