키워드 분석시 많이 쓰이는 방법이 두가지가 있다.
(1) 키워드 네트워크 (keyword network)
- 한 문장안에 어떠한 단워와 같이 언급되었는지를 확인
- 보통은 뉴스같은데에서 많이 쓰임
(2) 워드클라우드 (word cloud)
태그 클라우드(영어: tag cloud) 또는 워드 클라우드(word cloud)는 메타 데이터에서 얻어진 태그들을 분석하여 중요도나 인기도 등을 고려하여 시각적으로 늘어 놓아 웹 사이트에 표시하는 것이다. 보통은 2차원의 표와 같은 형태로 태그들이 배치되며 이때 순서는 알파벳/가나다 순으로 배치 된다. 시각적인 중요도를 강조를 위해 각 태그들은 그 중요도(혹은 인기도)에 따라 글자의 색상이나 굵기등 형태가 변한다. 사용자는 이렇게 표시된 태그 중 마음에 드는 키워드를 발견하고 그것을 선택하여 그 메타 데이터에 원래 연결된 웹 페이지로 이동하게 된다.
- 위키피디아 참조
- 키워드 네트워크는 단어의 빈도와 단어간의 관계를 표현하는 방법이고, 워드클라우드는 단어의 빈도만 표현하는 방법이다
- 키워드 네트워크는 보통 뉴스같은데에 많이 쓰이고, 실제로는 독립적인 단어를 분석하는 워드클라우드가 더 많이 쓰인다
1. 파이썬을 이용한 워드클라우드 생성
필요 라이브러리: wordcloud, matplotlib
from wordcloud import WordCloud
import matplotlib.pyplot as plt
* 참고: pypi.org/project/wordcloud/amueller.github.io/word_cloud/index.html
- 텍스트 만들기
text = '태그 클라우드(영어: tag cloud) 또는 워드 클라우드(word cloud)는 메타 데이터에서 얻어진 태그들을 분석하여 중요도나 인기도 등을 고려하여 시각적으로 늘어 놓아 웹 사이트에 표시하는 것이다. 보통은 2차원의 표와 같은 형태로 태그들이 배치되며 이때 순서는 알파벳/가나다 순으로 배치 된다. 시각적인 중요도를 강조를 위해 각 태그들은 그 중요도(혹은 인기도)에 따라 글자의 색상이나 굵기등 형태가 변한다. 사용자는 이렇게 표시된 태그 중 마음에 드는 키워드를 발견하고 그것을 선택하여 그 메타 데이터에 원래 연결된 웹 페이지로 이동하게 된다.'
- 위에 있는 워드클라우드에 정의에 대한 부분을 text라는 값으로 만듬
- 워드클라우드 생성
# Generate word cloud
wordcloud = WordCloud(font_path='font/NanumGothic.ttf').generate(text)
- 한글은 font 지정 필요
- 이미지 생성
# Set figure size
plt.figure(figsize=(10, 10))
# Display image
plt.imshow(wordcloud)
# No axis details
plt.axis("off")
plt.show()
- 완성
-
(응용) 물론 text 값을 변경하면 그림이 바뀜
text = '태그 클라우드(영어: tag cloud) 또는 워드 클라우드(word cloud)는 메타 데이터에서 얻어진 태그들을 분석하여 중요도나 인기도 등을 고려하여 시각적으로 늘어 놓아 웹 사이트에 표시하는 것이다. 보통은 2차원의 표와 같은 형태로 태그들이 배치되며 이때 순서는 알파벳/가나다 순으로 배치 된다. 시각적인 중요도를 강조를 위해 각 태그들은 그 중요도(혹은 인기도)에 따라 글자의 색상이나 굵기등 형태가 변한다. 사용자는 이렇게 표시된 태그 중 마음에 드는 키워드를 발견하고 그것을 선택하여 그 메타 데이터에 원래 연결된 웹 페이지로 이동하게 된다.'
# ' Bonanza'라는 단어를 3번 이어붙임
text = text + ' Bonanza'*3
wordcloud = WordCloud(font_path='font/NanumGothic.ttf').generate(text)
plt.figure(figsize=(10, 10))
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
- string은 + (플러스)로 이어붙이기 가능
2. 파이썬을 이용한 워드클라우드 생성 (위키피디아 이용)
필요 라이브러리: wordcloud, matplotlib, wikipedia
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import wikipedia
훌륭한 wikipedia에는 python 라이브러를 갖고 있다. 즉, wikipedia 검색한 결과를 갖고올 수 있다.
- 텍스트 만들기
# Search the keyword in wikipedia
wiki = wikipedia.search('artificial inteligence')
# Specify the title of the Wikipedia page
wiki = wikipedia.page(wiki[0])
# Extract the plain text content of the page
text = wiki.content
- 워드클라우드 생성
wordcloud = WordCloud(background_color='white', colormap='winter').generate(text)
- background_color 및 colormap 설정
- 이미지 생성
# Set figure size
plt.figure(figsize=(10, 10))
# Display image
plt.imshow(wordcloud)
# No axis details
plt.axis("off")
plt.show()
- 완성
-
(응용) wordcloud 의 STOPWORDS 활용
- 불용어(stopwords): 자주쓰는 단어 제거 (예: a, so, such, there 등)
(참고: wordcloud github github.com/amueller/word_cloud/blob/master/wordcloud/stopwords)
반응형
'데이터사이언스 > 시각화' 카테고리의 다른 글
[matplotlib] matplotlib 한글폰트 마이너스 표현 깨짐 (0) | 2021.01.15 |
---|---|
[오류] matplotlib 한글깨짐 해결 (2) (0) | 2021.01.15 |
[matplotlib] matplotlib 한글깨짐 해결 (1) (0) | 2021.01.15 |
[시각화] 한국 위키피디아를 이용한 워드클라우드(wordcloud) (0) | 2021.01.06 |