| 45번째 줄: |
45번째 줄: |
| | |명사만 추출 | | |명사만 추출 |
| | |조사를 제거한다. | | |조사를 제거한다. |
| | + | |
| | + | |
| | + | 형태소분석기 종류에 따라 결과가 조금씩 달라지니, 필요에 따라 선택하여 사용. |
| | + | |
| | + | 분석기에 대해선 [https://konlpy.org/ko/latest/morph/ 링크] 참조 |
| | |<syntaxhighlight lang="python"> | | |<syntaxhighlight lang="python"> |
| | import konlpy | | import konlpy |
| − | hannanum = konlpy.tag.Hannanum() # 형태소 분석기 중 하나. | + | hannanum = konlpy.tag.Hannanum() # tag 하위에 제공되는 형태소 분석기 중 하나. |
| | nouns = hannanum.nouns(text_data) # 명사만 추출한다. 리스트로 반환. | | nouns = hannanum.nouns(text_data) # 명사만 추출한다. 리스트로 반환. |
| | </syntaxhighlight> | | </syntaxhighlight> |
| 85번째 줄: |
90번째 줄: |
| | # 파워포인트 따위를 이용해 배경을 지운 후(그림서식>배경제거), | | # 파워포인트 따위를 이용해 배경을 지운 후(그림서식>배경제거), |
| | # 검게 만들어 사용하자.(밝기 -100%) | | # 검게 만들어 사용하자.(밝기 -100%) |
| | + | 컬러맵의 종류에 대한 것은 [https://matplotlib.org/stable/tutorials/colors/colormaps.html 링크]에서 확인하자. |
| | |<syntaxhighlight lang="python"> | | |<syntaxhighlight lang="python"> |
| | # 선택사항. 워드클라우드 모양 만들기. | | # 선택사항. 워드클라우드 모양 만들기. |
| 90번째 줄: |
96번째 줄: |
| | back_img = PIL.Image.open('파일경로.png') # 워드클라우드는 기본적으로 사각형인데, 모양을 지정해줄 수 있다. | | back_img = PIL.Image.open('파일경로.png') # 워드클라우드는 기본적으로 사각형인데, 모양을 지정해줄 수 있다. |
| | import numpy as np | | import numpy as np |
| − | img = PIL.Image.net('RGB', back_img.size, (255,255,255))
| + | img_array = np.array(back_img) # 그림을 배열처리. |
| − | img.paste(back_img, back_img)
| |
| − | img = np.array(img) # 그림을 배열처리.
| |
| | | | |
| | from wordcloud import WordCloud | | from wordcloud import WordCloud |
| | # 생성기. 생성에 필요한 옵션을 선언할 때 지정한다.(기본적으로 랜덤생성) | | # 생성기. 생성에 필요한 옵션을 선언할 때 지정한다.(기본적으로 랜덤생성) |
| − | wc = WordCloud(mast = img, | + | wc = WordCloud(mast = img_array, |
| | font_path = 'NanumGothic', # 설치된 글꼴 지정. 속은 .ttf 경로 지정. | | font_path = 'NanumGothic', # 설치된 글꼴 지정. 속은 .ttf 경로 지정. |
| − | ) | + | colormap = 'inferno', |
| | + | ...) |
| | img_cloud = wc.generate_from_frequencies(word_dict) # 사전을 토대로 워드클라우드 생성. | | img_cloud = wc.generate_from_frequencies(word_dict) # 사전을 토대로 워드클라우드 생성. |
| | plt.axis('off') # 테두리선 없애기. | | plt.axis('off') # 테두리선 없애기. |