tf-idf 예제 파이썬

예를 들어 재생 및 재생은 기본적으로 액션 플레이를 나타내는 단어의 동일한 유형입니다. 형태소 분석은 정확히이 작업을 수행, 그것은 줄기에 단어를 감소. 우리는 규칙 기반 의 형태소 분석기인 포터- 스템퍼라는 라이브러리를 사용할 것입니다. Porter-Stemmer는 단어의 접미사 또는 접미사를 식별하고 제거합니다. 형태소 분석기에서 제공하는 단어는 몇 번 의미있는 메모가 필요하지만 모델에 대해 동일한 것으로 식별됩니다. True이면 0이 아닌 모든 용어 수는 1로 설정됩니다. 이는 출력에 0/1 값만 있는 것은 아니며 tf-idf의 tf 용어가 바이너리라는 의미는 아닙니다. (0/1 출력을 얻으려면 idf 및 정규화를 false로 설정합니다.) 일치 점수는 유사성을 계산하는 가장 간단한 방법입니다.이 메서드에서는 모든 문서에 대한 쿼리에 있는 토큰의 tf_idf 값을 추가합니다. 예를 들어 쿼리 “hello world”가 이러한 단어가 있는 경우 모든 문서를 체크 인해야 하며 단어가 있는 경우 tf_idf 값이 특정 doc_id의 일치 점수에 추가됩니다. 결국 우리는 정렬하고 상단 k 문서를 취할 것입니다. 후알라! 이제 모든 유형의 텍스트에서 중요한 키워드를 추출 할 수 있습니다! 이 전체 코드를 사용하려면 리포지토리로 이동하여 TF-IDF Jupyter 노트북을 사용하여 전체 예제를 다시 실행하십시오. IDF를 계산한 후에는 TF-IDF를 계산한 다음 TF-IDF 벡터에서 상위 키워드를 추출할 준비가 되었습니다.

이 예제에서는 데이터/스택오버플로우-test.json의 질문에 대한 주요 키워드를 추출합니다. 이 데이터 파일에는 위에서 보았듯이 데이터/스택오버플로우 데이터-idf.json과 동일한 필드가 있는 500개의 질문이 있습니다. 먼저 테스트 파일을 읽고 필요한 필드(제목 및 본문)를 추출하고 텍스트를 목록으로 가져오는 것으로 시작합니다. TF-IDF로 좋은 결과를 얻으려면 거대한 코퍼스가 필요합니다. 내 예에서, 난 그냥 작은 크기의 코퍼스를 사용했다. 중지 단어를 제거했기 때문에 결과가 즐거웠습니다. 키워드는 문서의 특징을 나타내는 설명적인 단어 또는 구입니다. 예를 들어 이 문서의 키워드는 tf-idf, scikit-learn, 키워드 추출, 추출 등입니다.

이러한 키워드는 일부 응용 프로그램에서 항목이라고도 합니다. 위에서 언급한 이론적 개념은 이론적인 개념이지만 사전을 사용하여 데이터 집합을 보유할 때 사전의 모든 값을 반복하고 값이 토큰에 있는지 확인하는 것입니다. 우리의 사전은 (문서, 토큰) 키이기 때문에 쿼리에있는 토큰을 찾을 때 tf-idf 값과 함께 다른 사전에 문서 ID를 추가합니다. 마지막으로 우리는 단지 다시 상단 k 문서를 취할 것입니다. 나는 이것이 처음에 이해하기 쉽지 않다는 것을 알고 있지만, 여전히 위의 흐름이 작동하는 이유를 설명해 주면서, 토큰이 두 장소에 있는 경우 본체와 제목에 대한 tf-idf가 동일할 것이라는 것을 알고 있기 때문에 신체와 제목에 사용하는 가중치는 하나까지 합치도록 합시다. 더 명확한 이해를 얻을 수 있는 예입니다.