[파이썬] textblob 텍스트 데이터의 TF-IDF 계산

텍스트 데이터에서 단어의 중요도를 측정하는 방법 중 하나는 TF-IDF(Term Frequency-Inverse Document Frequency)를 사용하는 것입니다. TF-IDF는 단어의 상대적인 빈도와 문서 간의 빈도를 고려하여 단어의 중요도를 평가합니다.

이번 블로그 포스트에서는 Python의 TextBlob 패키지를 사용하여 텍스트 데이터의 TF-IDF를 계산하는 방법을 알아보겠습니다.

1. TextBlob 설치하기

TextBlob 패키지는 텍스트 처리와 분석을 위한 간편한 API를 제공합니다. 설치하기 위해서는 다음 명령어를 사용합니다:

pip install textblob

2. TF-IDF 계산하기

from textblob import TextBlob
from textblob import Tfidf

# 텍스트 데이터
documents = [
    "This is the first document.",
    "This document is the second document.",
    "And this is the third one.",
    "Is this the first document?"
]

# TextBlob 객체 생성
blob = TextBlob(". ".join(documents))

# TF-IDF 계산
tfidf = Tfidf()
tdidf_scores = tfidf.fit_transform([blob]).toarray()[0]

# 결과 출력
for i, word in enumerate(blob.words):
    print(f"{word}: {tfidf_scores[i]}")

위 코드는 주어진 텍스트 데이터의 단어별 TF-IDF 값을 계산하는 예시입니다.

우선, TextBlob를 사용하여 텍스트 데이터를 blob 객체로 만들어줍니다. 그리고 Tfidf를 사용하여 TF-IDF 값 계산을 위한 객체를 생성합니다.

Tfidf 객체의 fit_transform 메서드를 사용하여 blob 객체를 TF-IDF 형식으로 변환한 후, toarray() 메서드를 통해 배열로 변환합니다. 그리고 [0] 인덱스를 사용하여 첫번째 문서의 TF-IDF 값을 가져옵니다.

예시 코드 실행 시, 각 단어와 해당 단어의 TF-IDF 값을 출력합니다.

TF-IDF는 주어진 문서 내에서 얼마나 자주 등장하는 단어인지와 동시에 전체 문서 집합에 얼마나 고유한지를 측정하기 때문에, 자연어 처리나 정보 검색 분야에서 널리 사용됩니다.

주의: 코드 실행 전 반드시 TextBlobTfidf를 임포트해야 합니다.

TF-IDF를 활용하여 텍스트 데이터의 단어 중요도를 계산하여 다양한 응용 프로그램에 활용할 수 있습니다. 이를 통해 텍스트 분류, 검색 엔진 최적화, 문서 유사도 측정 등 다양한 분야에서 유용한 결과를 얻을 수 있습니다.