상세 컨텐츠

본문 제목

워드클라우드: 텍스트 데이터 시각화 (파이썬 소스 제공)

ChatGPT 와 파이썬

by 마리우치 2023. 8. 24. 23:03

본문

반응형

워드클라우드는 시각화 기술의 한 형태로, 텍스트 데이터를 단어의 빈도수에 따라 시각적으로 표현하는 방법입니다. 이는 특정 주제나 문서의 핵심 내용을 한눈에 파악하는 데 매우 유용한 도구로서 사용됩니다.  삼성전자 이재용 회장의 기사를 파이썬으로 아래와 같이 워드클라우드로 만들어보겠습니다.  
 
 

워드클라우드-텍스트-데이터-시각화하기

 

 

목차 

 

워드클라우드 정의와 활용 사례  

워드클라우드는 단어들을 시각적으로 표현한 그림으로, 빈도수에 따라 단어의 크기가 조절됩니다. 빈도수가 높은 단어일수록 더 크게 나타나기 때문에 주요 단어들을 쉽게 식별할 수 있습니다.  워드클라우드는 간단한 작동 원리를 가지고 있습니다. 텍스트 데이터를 처리하여 단어의 빈도수를 계산하고, 이를 시각화하는 과정을 거칩니다. 가장 많이 등장하는 단어일수록 더 크게 표시되기 때문에 중요한 단어들을 빠르게 파악할 수 있습니다.

워드클라우드 만들기와 활용 방안 

워드클라우드를 만드는 과정은 간단합니다. 먼저 텍스트 데이터를 수집하고 정제합니다. 그다음 빈도수를 계산하여 워드클라우드를 생성합니다. 다양한 도구와 프로그램을 사용하여 워드클라우드를 만들 수 있으며, 각각의 장단점이 있습니다.

워드클라우드는 다양한 분야에서 활용됩니다. 기업은 제품 또는 브랜드의 이미지를 분석하고 고객의 반응을 파악하기 위해 워드클라우드를 사용합니다. 또한 교육 분야에서는 학생들의 텍스트 데이터를 분석하여 학습 동향을 파악하는 데에도 활용됩니다.

장점과 한계

워드클라우드의 가장 큰 장점은 시각적인 효과를 통해 복잡한 데이터를 쉽게 이해할 수 있다는 점입니다. 단어들의 빈도수를 한눈에 확인할 수 있으며, 핵심 내용을 빠르게 파악할 수 있습니다.  하지만 워드클라우드는 빈도수만을 고려하기 때문에 단어의 의미나 문맥을 완전히 이해하기 어렵습니다. 따라서 항상 다른 분석 방법과 함께 사용하는 것이 좋습니다.

데이터 시각화와 활용 사례 

데이터 시각화는 데이터의 패턴과 인사이트를 발견하는 데에 중요한 역할을 합니다. 워드클라우드는 이러한 데이터 시각화 기법 중 하나로서 다양한 정보를 단순하고 효과적으로 전달하는 데에 도움이 됩니다.  워드클라우드는 소셜 미디어에서도 많이 사용됩니다. 트위터 등의 플랫폼에서는 특정 키워드에 대한 워드클라우드를 제공하여 트렌드를 신속하게 파악할 수 있습니다.
 
워드클라우드는 데이터 분석에 있어서 가볍고 빠르게 적용할 수 있는 방법 중 하나입니다. 그러나 단순한 빈도수만으로는 충분하지 않으며, 보다 깊은 인사이트를 얻기 위해서는 다양한 분석 방법과 함께 사용되어야 합니다.

마케팅 전략 수립에 있어서 워드클라우드는 소비자들의 니즈와 요구를 파악하는 데에 도움이 됩니다. 특정 제품이나 브랜드와 관련하여 어떤 단어들이 많이 언급되는지를 파악하여 효과적인 마케팅 전략을 수립할 수 있습니다. 

교육 분야에서도 워드클라우드는 학생들의 텍스트를 분석하는 데에 활용됩니다. 학생들의 글쓰기 습관이나 주제에 대한 선호도를 파악하여 교육 방법을 개선하는 데에 도움이 됩니다.  빅데이터와 인공지능 기술의 발전으로 워드클라우드의 활용은 더욱 증가할 것으로 예상됩니다. 더 정교한 데이터 분석과 시각화를 통해 보다 정확한 정보를 얻을 수 있을 것입니다.
 
 

파이썬으로 워드클라우드 만들기  

삼성전자가 미래기술사무국을 신설하는 등의 조직개편에 나섰다는 기사가 나왔습니다. 삼성전자 이재용 회장이 취임하면서 가장 중시한 가치가 인재와 기술이라고 하면서 기술 투자를 강조했었습니다.  이 기사 텍스트를  수집하고 정제합니다. 그다음 빈도수를 계산하여 워드클라우드를 생성합니다.

 

 

 

파이썬 워드클라우드 코드

아래의 코드는 쉽게 말하면, 텍스트 파일에서 가장 많이 사용되는 단어를 추출하고, 그 단어를 사용하여 워드 클라우드를 생성하는 코드입니다.  "123korea.txt"라는 파일을 utf-8 인코딩으로 읽어와서 변수 text에 저장합니다.  re.split(r"\W+", text)는 정규 표현식을 사용하여 문자열 text를 분리합니다. \W+는 단어가 아닌 문자(특수문자, 공백 등)를 기준으로 문자열을 분리하는 역할을 합니다. 이렇게 분리된 단어들을 words 리스트에 저장하고, 각 단어의 빈도수를 계산하여 word_counts 딕셔너리에 저장합니다.

word_counts 딕셔너리를 빈도수를 기준으로 내림차순으로 정렬합니다. sorted() 함수의 key 매개변수를 이용하여 빈도수를 기준으로 정렬하고, reverse=True로 내림차순 정렬을 수행합니다. 결과는 sorted_word_counts에 저장됩니다.  정렬된 빈도수를 내림차순으로 출력하여 확인합니다.

WordCloud 객체를 생성합니다. font_path는 워드클라우드에서 사용할 폰트의 경로를 지정합니다.  'C:/Windows/Fonts/malgun.ttf'는 맑은 고딕 폰트를 사용한다는 의미입니다. background_color는 워드클라우드의 배경 색상을 지정하며, 'white'로 설정되어 흰색 배경을 갖습니다. width와 height는 워드클라우드의 가로와 세로 크기를 설정합니다.  generate_from_frequencies(word_counts) 메서드를 사용하여 word_counts에 저장된 빈도수 정보를 바탕으로 워드클라우드 이미지를 생성합니다.

plt.figure()를 통해 그림의 크기를 설정하고, plt.imshow()로 워드클라우드 이미지를 표시합니다. interpolation='bilinear'은 워드클라우드 이미지를 보간(interpolation)하여 부드러운 이미지로 표현한다는 의미입니다.

plt.axis('off')는 축을 표시하지 않도록 설정합니다.  마지막으로 plt.show()를 호출하여 워드클라우드를 화면에 표시합니다.
 

 

word_cloud4.py
0.00MB

소스 다운로드 - 클릭하세요.

 

파이썬-워드클라우드-코드

 

 

워드클라우드 결과

아래의 워드클라우드 결과를 보면, 삼성전자 이재용 회장이 취임하면서 가장 중시한 가치가 인재와 기술이라고 하면서 기술 투자를 강조했었습니다. 와 일치하는 내용임을 확인할 수 있습니다.  

 

 

워드클라우드 결과 : 삼성전자 이재용 기술 강조


 

영문 워드클라우드 생성기

이번에는 한국 수출실적과 관련한 영문 기사를 파이썬으로 동일한 방식으로 워드클라우드를 만들어 보겠습니다. 텍스트 파일에서 가장 많이 사용되는 단어를 추출하고, 그 단어를 사용하여 워드 클라우드를 생성하는 코드입니다.  이번 코드에서는 특정한 이름의 이미지를 생성합니다. 

 

 

word_cloud2.py
0.00MB

소스 다운로드 - 클릭하세요.

영문 워드클라우드 생성기 소스 코드


 

 

영문 워드클라우드 만들기

 

 

파이썬 워드클라우드 오류 해결 방법

첨부된 파이썬 워드클라우드 스크립트 실행에서 에러, 오류가 발생한다면, 아래의 글에서 에러, 오류 해결하는 방법을 확인하시기 바랍니다. 

 

파이썬 워드클라우드 오류 해결 방법, ModuleNotFoundError 등

 

워드클라우드 색상 변경, 9개 색상, 파이썬 소스 제공


 

결론

워드클라우드는 시각화의 강력한 도구로서 다양한 분야에서 활용될 수 있습니다.  빈도수를 통해 핵심 내용을 한눈에 파악할 수 있으며, 복잡한 데이터를 쉽게 이해하도록 합니다.  다만 단어의 빈도수만을 고려하여, 의미나 문맥을 완전히 이해하기 어려울 수는 있습니다.

 

 

 

 

반응형

지금 뜨고 있는 이야기들

아이폰16 Pro, 자급제, 사전 예약, 네이버 쇼핑 top 50




김포 재개발 대장주 한강 수자인 오브센트




챗GPT GPT-4o 무료로 그림 그리기



관련글 더보기

댓글 영역