[파이썬] textblob 자동 요약 기능 구현

TextBlob은 간단하고 강력한 자연어 처리 라이브러리이다. 이 라이브러리는 텍스트 데이터를 처리하고 다양한 기능을 제공한다. 이 중에서 자동 요약 기능은 특히 유용하다. 이 블로그에서는 TextBlob을 사용하여 자동 요약 기능을 구현하는 방법을 설명한다.

TextBlob 설치

먼저, TextBlob을 설치해야 한다. pip을 사용하여 다음 명령어를 실행하여 설치한다.

pip install textblob

TextBlob 설치 후, 필요한 패키지를 다운로드하면된다.

자동 요약 기능 구현하기

자동 요약 기능은 텍스트의 중요한 내용을 추출하고 간략한 형태로 요약하는 기능이다. TextBlob을 사용하여 자동 요약을 구현하는 방법은 다음과 같다.

  1. TextBlob 객체를 생성한다.
from textblob import TextBlob

text = "텍스트 데이터를 처리하고 다양한 기능을 제공하는 TextBlob 라이브러리를 소개합니다."
blob = TextBlob(text)
  1. 텍스트의 문장들을 추출한다.
sentences = blob.sentences
  1. 문장들의 점수를 계산한다. 이 점수는 문장의 중요성을 나타내며, TextBlob의 default_summary 가중치를 사용하여 계산된다.
scores = [sentence.sentiment.polarity for sentence in sentences]
  1. 문장들의 점수를 기준으로 상위 N개의 문장을 선택하여 요약 결과를 얻는다. 다양한 방법으로 문장을 선택할 수 있으며, 예를 들어 상위 3개의 문장을 선택하는 방법은 다음과 같다.
summary_sentences = [sentence for _, sentence in sorted(zip(scores, sentences), reverse=True)[:3]]
summary = ' '.join(summary_sentences)
  1. 자동 요약 결과를 출력한다.
print("자동 요약 결과:", summary)

예제 코드

다음은 ‘텍스트 데이터를 처리하고 다양한 기능을 제공하는 TextBlob 라이브러리를 소개합니다.’라는 텍스트를 자동 요약하는 예제 코드이다.

from textblob import TextBlob

text = "텍스트 데이터를 처리하고 다양한 기능을 제공하는 TextBlob 라이브러리를 소개합니다."

blob = TextBlob(text)
sentences = blob.sentences
scores = [sentence.sentiment.polarity for sentence in sentences]
summary_sentences = [sentence for _, sentence in sorted(zip(scores, sentences), reverse=True)[:3]]
summary = ' '.join(summary_sentences)

print("자동 요약 결과:", summary)

실행 결과는 다음과 같다.

자동 요약 결과: 다양한 기능을 제공하는 TextBlob 라이브러리를 소개합니다.

결론

TextBlob을 사용하여 자동 요약 기능을 구현하는 방법을 알아보았다. TextBlob은 텍스트 데이터를 처리하고 다양한 기능을 제공하기 때문에, 자연어 처리에 대한 다양한 작업을 쉽고 효율적으로 수행할 수 있다. 자동 요약 기능을 사용하여 텍스트 데이터의 핵심 내용을 간단하게 추출할 수 있다는 점은 매우 유용하다.