TOP
class="layout-aside-left paging-number">
본문 바로가기
데이터분석 만능열쇠 [파이썬]/<파이썬 데이터 분석>

[파이썬] 자연어 처리(NLP) 시작하기 - 4

by 기록자_Recordian 2024. 5. 8.
728x90
반응형
시작에 앞서
해당 내용은 <파이썬으로 데이터 주무르기> -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다.
보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다.

지난 챕터
 

[파이썬] 자연어 처리(NLP) 시작하기 - 3

시작에 앞서해당 내용은 -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다.보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다.지난 챕터 [파이썬] 자연어 처리(NLP) 시작하기

puppy-foot-it.tistory.com


워드 클라우드 - 스타워즈

 

먼저 스타워즈의 A New Hope 텍스트 파일과 png 파일을 다운로드한 후, 파이썬에서 불러온다.

09. a_new_hope.txt
0.31MB
09. stormtrooper_mask.png
0.01MB

text = open('../data/09. a_new_hope.txt').read()

# 단어 처리
text = text.replace('HAN', 'Han')
text = text.replace("LUKE'S", 'Luke')

mask = np.array(Image.open('../data/09. stormtrooper_mask.png'))

 

그리고 불용어(STOPWORDS)도 처리

# 불용어 처리
stopwords = set(STOPWORDS)
stopwords.add("int")
stopwords.add("ext")

워드 클라우드 준비

# 단어수: 최대1000개 / margin: 단어와 단어 클라우드 가장자리 사이의 여백(픽셀 단위) 설정
# random_state=1: 워드클라우드 레이아웃의 재현성을 위해 무작위 상태를 설정
wc = WordCloud(max_words=1000, mask=mask,stopwords = stopwords,
              margin=10, random_state=1).generate(text)
default_colors = wc.to_array() #워드 클라우드 이미지의 기본 색상이 NumPy 배열로 포함

 

워크 클라우드에 색상 정의

import random
def grey_color_func(word, font_size, position, orientation,
                    random_state=None, **kwargs):
                    return 'hsl(0, 0%%, %d%%)' % random.randint(60, 100)
코드 설명(with Chat GPT)

grey_color_func라는 이 함수는 여러 매개변수를 사용합니다.

단어: 색칠되는 단어입니다.

font_size: 단어의 글꼴 크기입니다.

position: 단어의 위치.

orientation: 단어의 방향입니다.

random_state: 임의의 상태 개체(선택 사항).

**kwargs: 추가 키워드 인수(선택 사항).

함수 내에서 60에서 100 사이의 임의의 정수를 생성하는 random.randint() 함수를 사용하여 임의의 회색 음영이 생성됩니다.

그런 다음 이 값은 HSL의 밝기 구성 요소(색조, 채도, 밝기) 색상 모델로 인해 밝은 회색에서 흰색까지 다양한 색상이 생성됩니다.

이 함수는 hsl(0, 0%, %d%)' 형식으로 색상을 나타내는 문자열을 반환합니다.
여기서 처음 두 매개변수(0, 0%)는 색조와 채도(둘 다 0으로 설정됨)를 나타냅니다. ,결과적으로 회색이 됨),
세 번째 매개변수(%d)는 random.randint()에 의해 생성된 밝기 구성요소를 나타냅니다.

워드 클라우드 그리기
plt.figure(figsize=(12, 12))
# recolor() 메소드는 워드 클라우드에 사용자 정의 색상을 적용
# color_func 매개변수는 사용자 정의 색상 함수(grey_color_func)를 지정
# random_state=3 매개변수는 색 구성표의 재현성을 보장
plt.imshow(wc.recolor(color_func=grey_color_func, random_state=3),
           interpolation='bilinear') 
plt.axis('off')
plt.show()

 

댜음 챕터에서는 육아휴직 관련 법안에 대한 분석 및 워드 클라우드 진행


다음글

[파이썬] 자연어 처리(NLP) 시작하기 - 5

 

728x90
반응형