최종 검토로 바쁘고 scrapy 프레임워크를 작성하고 사용하는 데 시간을 보냈습니다. 오늘은 Python을 사용하여 단어 클라우드를 생성하는 방법을 소개하겠습니다. 인터넷에는 많은 단어 클라우드 생성 도구가 있지만 그 이상일 것입니다. 파이썬으로 직접 작성하는 것이 만족스럽습니다.
오늘 생성할 것은 바이두 라이브러리에서 누구나 익히 알고 있는 "Stubborn", "The Sea and the Sky" 등 20여곡의 감동적인 노래들로 이루어진 워드클라우드입니다.
사용되는 Python 라이브러리에는 jieba(중국어 단어 분할 라이브러리), wordcould, matplotlib, PIL 및 numpy가 포함됩니다.
가장 먼저 해야 할 일은 가사를 읽는 것입니다. 감동적인 노래 가사를 파일디렉토리에 저장해두었습니다.
이제 읽어봅시다
#encoding=gbklyric= ''f=open('./励志歌曲歌词.txt','r')for i in f: lyric+=f.read()
#encoding=gbk를 추가하는 목적은 후속 작업에서 SyntaxError: Non-UTF-8 code start with 'xc0' 오류를 방지하기 위한 것입니다. 그런 다음 jieba 단어 분할을 사용하여 세그먼트를 만듭니다. 노래를 불러 빈도가 높은 단어를 추출합니다
import jieba.analyse result=jieba.analyse.textrank(lyric,topK=50,withWeight=True) keywords = dict()for i in result: keywords[i[0]]=i[1]print(keywords)결과 얻기: 그런 다음 wrodcloud 및 기타 라이브러리를 사용하여 단어 구름을 생성할 수 있습니다 우선 노래의 모양으로 사용할 사진을 찾습니다. 워드 클라우드
from PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGenerator image= Image.open('./tim.jpg') graph = np.array(image) wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph) wc.generate_from_frequencies(keywords) image_color = ImageColorGenerator(graph) plt.imshow(wc) plt.imshow(wc.recolor(color_func=image_color)) plt.axis("off") plt.show()생성된 이미지 저장
wc.to_file('dream.png')
전체 코드:
#encoding=gbkimport jieba.analysefrom PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGenerator lyric= ''f=open('./励志歌曲歌词.txt','r')for i in f: lyric+=f.read() result=jieba.analyse.textrank(lyric,topK=50,withWeight=True) keywords = dict()for i in result: keywords[i[0]]=i[1]print(keywords) image= Image.open('./tim.jpg') graph = np.array(image) wc = WordCloud(font_path='./fonts/simhei.ttf',background_color='White',max_words=50,mask=graph) wc.generate_from_frequencies(keywords) image_color = ImageColorGenerator(graph) plt.imshow(wc) plt.imshow(wc.recolor(color_func=image_color)) plt.axis("off") plt.show() wc.to_file('dream.png')
위 내용은 Python을 사용하여 단어 구름을 생성하는 방법에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!