국소 표현(Local Representation): 해당 단어 그 자체만 보고, 특정 값을 맵핑하여 단어를 표현하는 방법 예) 고양이: 1, 귀여운: 2, 동물: 3
분산 표현(Dense Representation): 그 단어를 표현하고자 주변을 참고하여 단어를 표현하는 방법 예) ‘고양이’ 단어 주변에 ‘귀여운’과 ‘동물’이 자주 등장 => 고양이는 귀엽다, 동물이다로 인식
단어들의 순서는 전혀 고려하지 않고, 단어들의 출현 빈도(frequency)에만 집중하는 텍스트 데이터의 수치화 표현 방법
어휘의 빈도(개수)를 기반으로 통계적 언어 모델을 적용해서 나타낸 것 => 국소 표현에 해당
임베딩 벡터의 차원 = 단어의 개수 = 모델의 크기
단어의 분절이 정확하게 되었을 때 유용
단어의 여러 의미를 반영하지 못함 => 동음이의어, 다의어에 대한 의미 표현 불가
Term Frequency (TF): 단어의 등장빈도
Inverse Document Frequency (IDF): 단어가 제공하는 정보의 양
ex) He is the president of UK.
→ He, is, the, of: 자주 등장하지만 제공하는 정보량이 적음 → president, UK: 좀 더 많은 정보를 제공
단어마다 제공하는 정보량이 서로 다르다는 것을 통계적으로 계산함
특정 용어가 어느 문서들에서 발생하는지 빠르게 찾을 수 있도록 구성된 데이터 구조,
용어와 해당 용어가 포함된 문서의 위치를 매핑
질의(query)와 문서(document) 사이의 관련성의 정도를 계산
• Query와 inverted index의 term을 비교하여 문서를 검색하고 순위화 • 실시간으로 계산
Term 빈도수 (Term frequency)
가정: 사용자가 입력한 query와 매칭하는 term의 빈도수가 높을수록 query와 해당 document 연관성이 높음
• 예) query: fish => “fish”를 포함한 문서 및 term 빈도수
• If Doc1의 “fish” 빈도수: 1, Doc2의 “fish” 빈도수: 2 => 연관성(“fish”, Doc2) > 연관성(“fish”, Doc1)
가정: 사용자가 입력한 query가 특정 document에만 나타나는 경우, query와 해당 document 사이의 연관성이 높음
• Query가 나타나는 document 의 수가 적을수록 관련성이 높음
예) query: egg, red
• “egg”를 포함한 문서 빈도수: 1 => doc 4
• “red”를 포함한 문서 빈도수: 2 => Doc1, Doc2
=> 연관성(“egg”, Doc4) > 연관성(“red”, Doc1) = 연관성(“red”, Doc2)
• 문서에서 등장하는 각 단어들의 빈도나 특성을 반영한 행렬
• Document Frequency (DF): DF는 특정 단어 t가 등장한 문서의 수
=> Inverse Document Frequency (IDF): DF의 역수 == 단어가 제공하는 정보의 양
• 단어가 모든 문서에서 너무 많이 등장 => 정보의 양이 적음. 흔한 단어
• TF-IDF 를 기반으로, 문서의 길이까지도 고려하여 점수를 매김
• TF 값에 한계를 지정해두어 일정한 범위를 유지하도록 함
• 평균적인 문서의 길이보다 더 작은 문서에서 단어가 매칭된 경우 그 문서에 대해 가중치를 부여
• 현재까지도 검색엔진, 추천 시스템 등에서 빈번하게 사용되는 유사도 알고리즘