Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

파이썬 스크립트

Python으로 문장 내 단어 빈도 쉽게 분석하기

Billcorea 2025. 3. 23. 15:46
반응형

Python으로 문장 내 단어 빈도 쉽게 분석하기

문자열에서 단어 출현 빈도

 

기 - 문제의식

텍스트 데이터를 다루다 보면 특정 단어가 얼마나 자주 등장했는지 파악해야 할 때가 많습니다. 이를테면 문서 분석, 검색 엔진 최적화(SEO), 소셜 미디어 데이터 분석 등 다양한 분야에서 단어 빈도 계산이 중요한 역할을 합니다. Python은 이러한 작업을 간단하게 처리할 수 있는 강력한 도구를 제공합니다. 오늘은 Python을 사용해 문장 내 단어 빈도를 계산하는 방법을 알아보겠습니다.

승 - 해결책 1: collections.Counter 활용

Python의 collections 모듈 내 Counter 클래스는 단어 빈도를 계산하는 가장 간단하고 효율적인 방법 중 하나입니다. 아래는 예제 코드입니다:

python
from collections import Counter

sentence = "Python is amazing and Python is fun"
words = sentence.split()
word_counts = Counter(words)

print(word_counts)

위 코드는 단어를 공백으로 나눈 뒤, 각 단어가 몇 번 등장했는지를 계산해줍니다. 결과는 다음과 같습니다:

 
Counter({'Python': 2, 'is': 2, 'amazing': 1, 'and': 1, 'fun': 1})

만약 대소문자를 무시하고 싶다면 sentence.lower()를 사용해 소문자로 변환할 수 있습니다. Counter는 간결하면서도 강력한 기능을 제공하여 추천할 만합니다.

전 - 해결책 2: collections 없이 구현하기

만약 외부 모듈을 사용하지 않고 이 작업을 수행하려면 어떻게 해야 할까요? 다음은 이를 직접 구현한 코드입니다:

python
sentence = "Python is amazing and Python is fun"
words = sentence.lower().split()
word_counts = {}

for word in words:
    if word in word_counts:
        word_counts[word] += 1
    else:
        word_counts[word] = 1

print(word_counts)

이 코드는 각 단어를 순회하며, 이미 존재하는 단어의 빈도를 증가시키거나 새로운 단어를 추가합니다. 실행 결과는 다음과 같으며 Counter를 사용하는 방법과 동일한 결과를 얻을 수 있습니다:

 
{'python': 2, 'is': 2, 'amazing': 1, 'and': 1, 'fun': 1}

결 - 마무리 및 활용 방안

단어 빈도 분석은 데이터 분석에서 기본적이지만 매우 유용한 기술입니다. Python을 사용하면 collections.Counter와 같은 간단한 도구부터 직접 구현하는 방법까지 다양한 선택지가 존재합니다. 여러분의 필요에 맞는 방법을 선택해 활용해 보세요.

만약 데이터 전처리, 예를 들어 문장부호 제거나 불용어(stop words) 제거가 필요하다면 추가적인 코드를 더해 분석을 심화할 수도 있습니다.

이제 여러분도 Python으로 단어 빈도를 계산해보고, 다양한 텍스트 분석 작업에 도전해 보세요!

이 글이 도움이 되었길 바랍니다. 추가적으로 원하는 방향이나 수정이 있다면 말씀해 주세요! 😊

반응형