본문으로 바로가기

단어~ 자연어 처리가 되었든 안되었든... 말(단어로 된)을 프로그램으로 다루다 보면 워드클라우드가 필요할 때가 있습니다. 오늘은 그 중 제가 볼 때, 가장 접근하기 편하면서 너무나 강력한 워드클라우드를 소개해 드릴까 합니다. 이름도 그냥 wordcloud입니다.~^^ 설치는 pip install wordcloud입니다.~^^

일단 처음에는 영어로 할거라~ 그냥 matplotlib를 import하고

constitution.txt

을 받아 두고 위 코드를 실행하면 됩니다.~ wordcloud 모듈 자체가 빈도를 계산하는 기능을 가지고 있어서 쉽게 결과를 얻을 수 있습니다.

그리고 그냥~ matplotlib에서 그려버리면 그만~~~^^ 그래도 뭔가 허전하시다면~~~ 사실 이걸로 끝인데^^ 좀 더 진행해 보죠^^ 아참.. 언제나 그렇듯.. 이 글은 WordCloud의 공식홈페이지[바로가기]에서 배포하는 예제를 그냥 한 번 실행해 본 것 뿐입니다.

max_font_size를 지정하면 좀 더 많은 단어를 볼 수 있습니다.

이번에는

alice.txt

를 다운 받으시고~

를 받으시면 됩니다.~ 그리고 위 코드를 실행해보시면 됩니다.~~~ 저건 변수 이름에서 눈치채셨겠습니다만... 저 모양으로 마스킹하겠다는 겁니다.^^ 여기서 살짝 PIL 모듈의 Image라는 명령으로 마스킹 데이터를 뽑을 수 있습니다.

뭐~ 마스킹 그림은 저렇구요~~~^^

엘리스 문서에서 단어를 뽑고~

짜잔~~~~ 괜찮죠^^

한가지 기술이 더 들어가면~ 칼라를 살짝 변경해서 저렇게 그레이톤으로~~~ 갈 수도 있습니다.^^

이번에는 starwars입니다.~~~

a_new_hope.txt

이 문서를 받아서 위 코드를 입력하고 마스킹 그림파일은

입니다.

짜잔~~~ 응? 좀 판독이 어렵죠...

어떤가요~ 괜찮죠^^

이번에는 엘리스 텍스트인데.. 마스킹을

으로 사용해보겠습니다.~~

괜찮죠~~ 그런데 WordCloud는 또 재미난 기능을 제공하는데요~

이런 마스킹의 색상에 대한 것을 반영해 줍니다.

요렇게 말이죠~~^^

이제.. 얼마전에 소개한 Lucy Park님의 KoNLPy 모듈[바로가기]을 사용해서 한글을 처리해보죠... 바로 대한민국 헌법입니다.

뭐.. 그냥 눈에 거슬리는 몇몇 단아만 수동으로 stop_words에 걸었습니다.ㅠㅠ

이제... 시작해야죠~~~ 법률, 대통령, 국가, 국회, 국민, 헌법이 많이 사용된 단어이네요~

한글 폰트에 대해 좀 설정해주고~~~[바로가기1바로가기2]

짜잔~~~~ 뭐 쉽네요^^ 근데.. 조금더 욕심을 내볼까요^^

구글링으로 저 그림을 구했습니다. 제가 저 그림을 구한 곳은 [바로가기]입니다. 미리 양해를 구하지 못해 송구합니다.ㅠㅠ.

다운은 위 그림으로 해주세요~

짠~.. 흠.. 좀 심하게 날씬해 보이지만.. 어떤가요.. 괜찮죠^^

신고