벡터화의 방법은 사이킷런의 CountVectorizer, TfidfVectorizer이나 Word2Vec이 대표적.
TfidfVectorizer는 TF-IDF를 이용해 텍스트 데이터의 특징을 추출하는 것이다.
TF는 Term Frequency, '단어빈도'로 특정 단어가 글 안에서 나오는 횟수를 말하며
IDF는 Inverse Document Frequency, '문서빈도의 역수'로 특정 단어가 여러 글에 얼마나 자주 나오는지 알려주는 지표의 Inverse(반대) 값이다.
TF-IDF 는 '단어빈도(TF)'와 '문서빈도의 역수(IDF)'를 곱한 값이다.
글에서 지시대명사나 조사가 많이 나오므로 IDF는 반대로 낮은 값을 갖게 된다. 이것이 TF-IDF의 장점으로 의미가 없는 조사나 지시대명사를 제외한 단어들의 임베딩 값을 얻을 수 있는 것이다.
CountVectorizer는 각 단어가 문서에서 몇 번 출현했는지를 기반으로 문서를 벡터화하였다. 단어 빈도수를 기반으로 벡터로 표현한 이유는 단어의 빈도가 의미있는 정보라고 생각하기 때문이다.
하지만 같은 문서에 똑같은 횟수만큼 출현한 단어 간에도 중요도에 차이가 있는 경우가 있다.
=> 그렇기 때문에 단어의 빈도를 세주더라도, 중요하지 않은 단어에는 가중치를 조금만 주어 문서 벡터의 방향이 좀 더 중요한 단어들에 의해 좌우될 수 있도록 하는 것이 TF-IDF.
단어빈도(TF)
특정 단어가 한 문서 내에서 출현한 빈도
예를 들어, 다음 두 개의 문서
를 아래와 같이 표현해주는 것을 문서 단어 행렬이라 하는데,
위 표에 나와 있는 숫자들이 바로 단어빈도이다.
문서빈도의 역수(IDF, Inverse Document Frequency)
위 표에서 She는 두 개의 문서에 출현했으니까 She의 문서빈도는 2. 반면 likes는 한 개의 문서에 출현했으므로 문서빈도는 1.
IDF는 문서 빈도의 역수. she의 IDF를 구하기 위해서는 2의 역수를 취해주게 되는데, 문서의 개수에 영향을 받지 않도록 정규화를 해준다.
즉, 전체 문서의 개수와 상관없도록 비율로 계산해준다.
그러면 she는 (2의 역수, 0.5)x(전체 문서의 개수, 2) 이므로 0.5 X 2 = 1 이다. 반면, likes는 (1의 역수)x(전체 문서의 개수) = 2이다.
(이처럼 출현 빈도가 작은 단어에 높은 가중치(IDF)를 주는 것이다.)
그리고 마지막으로, 정규화한 값에 log 값을 취하면 IDF가 된다.
예시
카페 에이트와의 유사도 비교
에이트(자기 자신이므로 유사도가 1) > 스타벅스 대전도암DT점 > 탐앤탐스 대전 유성점
(유사도가 높은 순서부터 리스트에 표시되었다.)
에이트 카페의 문서
: 에이트 주차도 편하고 뷰가 엄청 좋아요 사진 찍기 좋은 장소들도 많고 테이블 간격도 넓어서 이야기하거나 공부하기도 좋은 것 같아요 재방문 의사 있습니당. 노트북 들고 와서 백색 소음 듣고 공부하긴 좋아요. 도심 속 인테리어가 멋진 카페 넓은 공간이라 편하고 좋았던 곳 와 정말 좋은 대형카페에요ㅜ 메뉴 다 맛있고 무엇보다 화장실이 감동 넓은 홀, 2층 이상, 베이커리, 빵, 케이크,샌드위치, 주차 가능
스타벅스 대전도암DT점의 문서
: 2층 올라갓는데 너무 스터디카페 분위기라 다들 공부하고 노트북 두드리는 분위기였어요. 공부하기 좋네여 근데 사람이 넘 많음 자주 가는 곳이예요 주차도 편하고 카페도 넓어요 빠르고 친절하고 매장이 깔끔합니다 편리하고좋아요 빵, 케이크, 샌드위치, 넓은 홀, 2층 이상, 주차 가능
탐앤탐스 대전유성점의 문서
: 카공족에게 너무 좋은 곳 카공족들 베스트 카페 공부하기 좋아요 공부하기 아주 조와요 깨끗하고 공부하기 좋은 분위기네요 도서관카페임 사람들 다 공부하러와서 진짜 도서관 온 줄 오늘은 2층이 너무 심각하게 조용한 분위기였어요 빵, 케이크, 샌드위치, 넓은 홀, 2층 이상
=> 탐앤탐스는 '공부'라는 단어의 빈도가 에이트나 스타벅스 대전도암DT점에 비해 많이 나오다 보니 TF-IDF로 변환하여 에이트와의 유사도 계산시 스타벅스 대전도암DT점에 밀리는 것 같다. 또한 탐앤탐스는 '주차 가능' 키워드가 없지만, 에이트와 스타벅스는 주차 가능 키워드가 존재하므로 에이트와의 유사도 측면에서 스타벅스가 탐앤탐스보다 높다.