tf-idf 예제

단어 “예”는 더 흥미롭습니다 – 세 번 발생하지만 두 번째 문서에서만 발생합니다 : 예를 들어 “cat”이라는 용어가 10,000,000,000,000 개의 문서 크기의 코퍼스 (예 : 웹)에서 x 배로 나타납니다. “cat”이라는 용어가 포함된 문서가 0.3백만 개라고 가정해 보겠습니다. TF-IDF로 좋은 결과를 얻으려면 거대한 코퍼스가 필요합니다. 내 예에서, 난 그냥 작은 크기의 코퍼스를 사용했다. 중지 단어를 제거했기 때문에 결과가 즐거웠습니다. 더 명확한 이해를 얻기 위해 예를 들어 봅시다. 예를 들어, 100 단어 문서에 “고양이”라는 단어가 12 번 포함되어 있을 때 TF는 일반적으로 `고양이`라는 단어에 대한 TF는 두 용어로 구성됩니다 – 한 달 전에 우리 가족이 Mawi라는 새로운 개를 입양했다는 점을 감안할 때 (모아나의 캐릭터 마우이의 이름을 따서 명명됨). , 우리는이 예제에 대한 모아나 위키 백과 페이지를 사용합니다. tf-idf는 용어 주파수 역 문서 빈도를 의미합니다. tf-idf 가중치는 정보 검색 및 텍스트 마이닝에 자주 사용되는 가중치입니다. tf-idf 가중치 체계의 변형은 쿼리가 주어진 문서의 관련성을 채점하고 순위를 매기는 검색 엔진에서 자주 사용됩니다. 이 가중치는 단어가 컬렉션 또는 모음의 문서에 얼마나 중요한지 평가하는 데 사용되는 통계 측정값입니다.

중요도는 문서에 단어가 나타나는 횟수에 비례하여 증가하지만 코퍼스(데이터 집합)에서 단어의 빈도에 의해 상쇄됩니다. TF*IDF는 저평가된 콘텐츠를 더 잘 이해하기 위해 검색 엔진에서 사용됩니다. 예를 들어 Google에서 `콜라`라는 용어를 검색하려는 경우 Google에서 `COKE`라는 제목의 페이지가 약인지 확인할 수 있습니다. 이 시점에서, 우리는 (22)에 의해 주어진 각 구성 요소에 대한 가중치와 함께, 사전의 각 용어에 대응하는 하나의 구성 요소를 가진 벡터로 각 문서를 볼 수 있습니다. 문서에서 발생하지 않는 사전 용어의 경우 이 가중치는 0입니다. 이 벡터 양식은 득점과 순위에 결정적인 역할을 합니다. 우리는 섹션 6.3에서 이러한 아이디어를 개발할 것입니다. 첫 번째 단계로, 문서의 점수는 모든 쿼리 용어에 걸쳐 각 쿼리 용어가 에서 발생하는 횟수의 합계인 겹침 점수 측정값을 소개합니다.

에서 각 쿼리 용어의 발생 수가 아니라 에서 각 용어의 tf-idf 가중치를 합산할 수 있도록 이 아이디어를 구체화할 수 있습니다. 계산 방법: tf-idf는 문서의 각 용어를 해당 용어 빈도(tf) 및 역문서 빈도(idf)에 따라 가중치를 할당하는 가중치 체계입니다. 체중 점수가 높은 용어는 더 중요한 것으로 간주됩니다. 우리는 쿼리와 각 문서 사이의 유사성을 찾기 위해 유사성 측정값 (예 : Cosine 유사성 방법)을 사용합니다. 예를 들어 Cosine 유사성 방법을 사용하여 유사성을 찾은 다음 각도가 가장 작으면 유사성이 더 많이 됩니다. TF-IDF의 작동 방식을 더 잘 설명하기 위해 몇 가지 예제를 살펴보겠습니다. 이제 용어 빈도 및 역 문서 빈도의 정의를 결합하여 각 문서의 각 용어에 대한 복합 가중치를 생성합니다. tf-idf 가중치 체계는 이전 코드 조각으로 주어진 문서의 가중치를 할당합니다. 이 예제에서는 Numpy, 팬더 및 정규 표현 외에 Scikit 학습을 활용합니다. Scikit-learn은 파이썬을위한 무료 기계 학습 라이브러리입니다. CountVectorizer를 사용하여 텍스트 문서 컬렉션을 토큰 개수 행렬로 변환합니다. TfidfTransformers정규화된 TF 또는 TF-IDF 표현으로 개수 행렬의 변환을 처리합니다.

따라서 우리는 sklearn을 사용하여 단 4 줄로 TF-IDF를 쉽게 코딩 할 수있는 방법을 보았습니다. 이제 우리는 TF-IDF가 코퍼스에서 텍스트 데이터를 처리하는 도구로 얼마나 강력한지 이해합니다. sklearn TF-IDF에 대해 자세히 알아보려면 이 링크를 사용할 수 있습니다. TF-IDF는 정보 검색 및 텍스트 마이닝에 사용되는 수치 통계입니다.