본문 바로가기
개발

파이썬으로 만드는 단어 빈도 계산기 튜토리얼

by hes3518 2024. 11. 12.
728x90
반응형

파이썬을 활용한 단어 빈도 계산기 만들기

안녕하세요, 개발과 블로그를 동시에 즐기는 여러분! 오늘은 Python을 사용하여 텍스트 내 단어의 빈도를 계산하는 프로그램을 만들어 보겠습니다. 이 프로그램은 텍스트 데이터를 다루고 싶은 데이터 분석가, 블로거 또는 작가에게 많은 도움이 될 것입니다. 시작해 볼까요?

프로젝트 개요

텍스트 데이터를 분석하는 것은 많은 분야에서 중요한 작업입니다. 예를 들어, 블로그 글을 작성하는 작가들은 독자들에게 어떤 메시지를 전달할지 고민하며, 검색 최적화를 위해서는 자주 사용되는 키워드에 대해 파악하는 것이 필요합니다. 오늘 우리는 간단한 단어 빈도 계산기를 만들어볼 것입니다.

코드 작성하기

먼저 단어 빈도를 계산하는 기본 코드를 작성해 보겠습니다. 아래는 그 코드입니다.

from collections import Counter

def count_words(text):
    # 텍스트를 소문자로 변환하고, 공백으로 분리하여 단어 목록 생성
    words = text.lower().split()
    
    # 단어의 빈도를 세기 위한 Counter 사용
    word_counts = Counter(words)
    
    return word_counts

# 테스트 텍스트
test_text = "안녕하세요 안녕하세요 블로그 개발 블로그"
word_frequency = count_words(test_text)

# 결과 출력
for word, count in word_frequency.items():
    print(f"'{word}'의 빈도수: {count}")

코드 설명하기

  1. 텍스트 전처리:
    • 입력받은 텍스트를 소문자로 변환하고, 문자열을 공백을 기준으로 분리하여 단어 목록을 생성합니다. 이는 대/소문자를 구분하지 않고 모든 단어를 고르게 세기 위함입니다.
  2. Counter 사용:
    • collections 모듈의 Counter 클래스를 활용하여 각 단어의 빈도를 쉽게 계산할 수 있습니다. Counter는 리스트와 같은 이터러블 객체를 받아 각 요소의 개수를 딕셔너리 형태로 반환합니다.
  3. 결과 출력:
  • 최종적으로 계산된 단어와 그 빈도를 출력합니다.

예제 실행 결과

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

'안녕하세요'의 빈도수: 2
'블로그'의 빈도수: 2
'개발'의 빈도수: 1

추가적으로 고려할 사항들

이 프로그램은 기본적인 단어 빈도 계산 기능을 제공합니다. 하지만 여러 기능을 추가하여 더욱 유용하게 만들 수 있습니다. 여기에 몇 가지 아이디어를 제안합니다:

  • 구두점 제거: 단어 계산 시 구두점이 포함된 경우를 처리하기 위해 정규 표현식을 사용하여 구두점을 제거할 수 있습니다.
  • 텍스트 파일 입출력: 사용자가 입력한 텍스트 대신 파일에서 읽고 쓰는 기능을 추가할 수 있습니다.
  • 상위 N개 단어 출력: 빈도가 가장 높은 상위 N개의 단어를 출력하는 기능을 추가하여 사용자가 텍스트 분석에 필요한 정보를 쉽게 얻을 수 있도록 할 수 있습니다.

마무리하며

이번 포스팅에서는 Python을 통해 단어 빈도 계산기를 만드는 방법을 알아보았습니다. 실용적인 방법으로 데이터를 분석하고 처리하는 데 도움이 되었으면 좋겠습니다. 여러분도 다양한 변형을 추가하여 자신만의 단어 빈도 계산기를 만들어 보세요. 프로그래밍은 항상 재미있고 새로운 가능성을 열어주는 경험입니다! 궁금한 점이 있으면 댓글로 남겨주세요!

공유하기: 이 정보를 필요로 하는 친구들에게도 알려주시면 좋습니다. 다음 포스트에서 만나요!

728x90
반응형