콘텐츠로 건너뛰기

한글 명사 추출과 빈도 분석을 위한 KoNLPy 활용법



한글 명사 추출과 빈도 분석을 위한 KoNLPy 활용법

KoNLPy는 한국어 자연어 처리를 위한 파이썬 라이브러리로, 한글 데이터 분석에 적합한 도구입니다. 이 도구를 통해 한글 텍스트에서 명사를 추출하고 그 빈도를 계산하는 방법을 자세히 살펴보겠습니다. 이 가이드는 특정한 환경에서의 설치 및 사용법을 중심으로 진행됩니다.

 

👉 ✅ 상세 정보 바로 확인 👈

 

KoNLPy 설치 및 환경 설정

KoNLPy를 사용하기 위해서는 먼저 자바 JDK와 JPype가 설치되어 있어야 합니다. 이 두 가지는 KoNLPy의 정상적인 작동을 위해 필수적입니다. 설치가 완료되면, pip를 통해 KoNLPy를 설치할 수 있습니다. 아래는 설치 과정에 대한 요약입니다.



  1. 자바 JDK 설치: Java Development Kit을 다운로드하여 설치합니다.
  2. JPype 설치: JPype는 KoNLPy의 의존성 중 하나로, pip를 통해 설치할 수 있습니다.
  3. KoNLPy 설치: pip install konlpy 명령어를 사용하여 KoNLPy를 설치합니다.

설치 후에는 Python 환경에서 KoNLPy를 사용해 한글 자연어 처리를 진행할 수 있습니다. 환경 설정이 완료된 후, 아래의 분석기를 활용하여 텍스트 데이터를 처리합니다.

 

👉 ✅ 상세 정보 바로 확인 👈

 

KoNLPy 형태소 분석기 소개

KoNLPy에는 여러 형태소 분석기가 포함되어 있습니다. 사용자가 필요에 따라 선택하여 사용할 수 있습니다. 주요 형태소 분석기는 다음과 같습니다.

  1. Hannanum: 한국어 형태소 분석에 특화된 분석기입니다.
  2. Kkma: Kkma는 구문 분석 및 형태소 분석을 지원합니다.
  3. Komoran: 빠르고 효율적인 형태소 분석기로, 대량의 데이터를 처리할 때 유용합니다.
  4. Mecab: 일본어 형태소 분석기에서 파생된 것으로, 빠른 속도가 특징입니다.
  5. Okt (Twitter): Twitter에서 파생된 형태소 분석기로, 다양한 형태소 분석 기능을 제공합니다.

이 포스팅에서는 Okt 클래스를 사용하여 한글 명사를 추출하고 빈도를 계산하는 방법에 대해 설명합니다.

명사 추출 및 빈도 계산 방법

한글 명사를 추출하고 빈도를 계산하기 위한 기본 코드는 간단합니다. 아래의 코드를 참고하여 명사 추출 및 빈도 계산을 수행할 수 있습니다.

“`python
from konlpy.tag import Okt
from collections import Counter

파일 읽기

filename = “your_text_file.txt”
with open(filename, ‘r’, encoding=’utf-8′) as f:
news = f.read()

Okt 객체 생성

okt = Okt()
noun = okt.nouns(news)

명사 빈도 카운트

count = Counter(noun)
noun_list = count.most_common(100)

결과 출력

for v in noun_list:
print(v)
“`

위 코드에서 Okt 객체를 생성한 후, nouns 메소드를 사용하여 텍스트에서 명사를 추출합니다. 그 다음 Counter 모듈을 사용하여 각 명사의 빈도를 계산합니다. most_common 메소드를 통해 가장 많이 등장한 명사들을 확인할 수 있습니다.

명사 빈도 계산 시 유의사항

명사 추출 과정에서 주의해야 할 점은 한글자 명사가 빈도 분석에 포함되는 경우입니다. 일반적으로 의미가 없는 한글자 명사는 분석에서 제외하는 것이 좋습니다. 따라서 아래와 같은 코드를 통해 한글자 명사를 필터링할 수 있습니다.

“`python

한글자 명사 제거

noun = [v for v in noun if len(v) > 1]
count = Counter(noun)
noun_list = count.most_common(100)

for v in noun_list:
print(v)
“`

이 코드는 리스트 내포(list comprehension)를 사용하여 한글자 명사를 제거합니다. 이후 다시 빈도를 계산하면 보다 의미 있는 명사 목록을 얻을 수 있습니다.

한글 명사 빈도 계산의 전체 코드

아래는 한글 명사를 추출하고 빈도를 계산하며, 결과를 텍스트 파일과 CSV 파일로 저장하는 전체 코드입니다.

“`python
from konlpy.tag import Okt
from collections import Counter
import csv

파일 경로 설정

filename = “SecurityNews\secu_crawl_all.txt”
with open(filename, ‘r’, encoding=’utf-8′) as f:
news = f.read()

Okt 객체 생성 후 명사 추출

okt = Okt()
noun = okt.nouns(news)
noun = [v for v in noun if len(v) > 1]

명사 빈도 계산

count = Counter(noun)

상위 100개 명사 추출

noun_list = count.most_common(100)

결과 출력

for v in noun_list:
print(v)

txt 파일에 저장

with open(“noun_list.txt”, ‘w’, encoding=’utf-8′) as f:
for v in noun_list:
f.write(” “.join(map(str, v)))
f.write(“\n”)

csv 파일에 저장

with open(“noun_list.csv”, “w”, newline=”, encoding=’euc-kr’) as f:
csvw = csv.writer(f)
for v in noun_list:
csvw.writerow(v)
“`

위 코드를 사용하면 한글 명사를 효과적으로 추출하고 빈도를 계산하여 다양한 형태로 저장할 수 있습니다. 이제 KoNLPy를 활용하여 데이터 분석을 진행해 보세요.

시각화를 통한 데이터 표현

추출한 한글 명사 빈도를 시각화하는 방법으로는 파이썬의 wordcloud 라이브러리를 활용할 수 있습니다. 이를 통해 분석한 데이터를 보다 직관적으로 표현할 수 있습니다. 추가적인 정보는 관련 포스팅을 참고하면 도움이 될 것입니다.

이제 KoNLPy를 통해 한글 텍스트 데이터를 분석하는 기본적인 방법을 이해하였으므로, 다양한 응용을 통해 심화된 분석을 시도해 보시기 바랍니다.

이 콘텐츠에 대한 평가:
⭐⭐⭐⭐⭐ (5 / 5.0)
이 정보가 도움이 된 사람: 153명