Google Colaboratory로 단어 클라우드 만들기

22091 단어 Python문자운tech
Google 드라이브의 텍스트 파일을 읽고 워드 크로스를 만드는 스크립트를 썼기 때문에 저장하는 것을 잊어버릴 수 있습니다.

사전 준비


내 콘서트 아래에 폴더 만들기 및 텍스트 파일 구성

word.txt 내용


[['観念的',50],['ポジティブ',150],['ロジカル',150],['素直',150],['達観',150],['冷静',150],['安定',50],['ミステリアス',50],['強火ポジティブ',150],['納得感',150],['戦略的',150],['本質的自分ファースト',150],['こだわり',150],['仕事人間',150],['ストイック',150],['年末年始長くとって',150],['休んで',150],['楽しければ良いけどね!',150],['落着いている',50],['温か',50],['分析家',150],['肌ラボ!',150],['趣味も仕事も全力!',150],['落ち着いてる',150],['アルゴリズム',150],['ワーカホリック',150],['ストイック',150],['真面目',150],['完璧主義',150],['アルゴリズム',150],['真面目',50],['物好き',50],['MacbookPro',150],['シンプル',150],['こだわり派',150],['深める',150],['へこたれない',150],['ドリーマー',50],['フリーダム',50],['滑るギャグ',150],['同じ土俵には立ちません',150],['変化を求める',150],['こだわり',150],['バルス!',150]]

드라이브 불러오기


  • Script 쓰기
    from google.colab import drive
    drive.mount('/content/drive')
    

  • 실행


  • 인증




  • 토큰을 붙여 넣고 Enter → Mounted At...이렇게 하면 오케이.

  • 마운트된 폴더로 이동


    %cd "drive/My Drive"
    %cd word_cloud
    

    실행 결과



    글꼴 불러오기


    !apt-get -y install fonts-ipafont-gothic
    

    실행 결과



    글꼴 클라우드 생성


    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    import codecs
    
    file = codecs.open('word.txt','r', 'utf-8', 'ignore')
    text = file.read()
    wordcloud = WordCloud(font_path = '/usr/share/fonts/truetype/fonts-japanese-mincho.ttf',
                          background_color="white",
                          width=1000,height=400).generate(text)
    plt.figure(figsize=(15,12))
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.savefig("word_cloud.png")
    

    실행 결과



    (기타 모드) 텍스트를 붙여서 글꼴 구름 만들기


    import matplotlib.pyplot as plt
    from wordcloud import WordCloud
    import random
    import codecs
    
    words = [['観念的',50],['ポジティブ',150],['ロジカル',150],['素直',150],['達観',150],['冷静',150],['安定',50],['ミステリアス',50],['強火ポジティブ',150],['納得感',150],['戦略的',150],['本質的自分ファースト',150],['こだわり',150],['仕事人間',150],['ストイック',150],['年末年始長くとって',150],['休んで',150],['楽しければ良いけどね!',150],['落着いている',50],['温か',50],['分析家',150],['肌ラボ!',150],['趣味も仕事も全力!',150],['落ち着いてる',150],['アルゴリズム',150],['ワーカホリック',150],['ストイック',150],['真面目',150],['完璧主義',150],['アルゴリズム',150],['真面目',50],['物好き',50],['MacbookPro',150],['シンプル',150],['こだわり派',150],['深める',150],['へこたれない',150],['ドリーマー',50],['フリーダム',50],['滑るギャグ',150],['同じ土俵には立ちません',150],['変化を求める',150],['こだわり',150],['バルス!',550]]
    
    fpath = './fonts/IPAfont00303/ipagp.ttf'
    
    def show_word_cloud(ws):
        # 前処理
        # 単語をスペースで区切った1文にする。
        # 出現回数分、appendしている。
        ws_show = []
        for i in range(len(ws)):
            word_times = ws[i][1]
            if word_times>0:
                for j in range(word_times):
                    ws_show.append(ws[i][0])
        # 綺麗に整列してると、「あああ あああ」という単語と判断されるので、シャッフル
        random.shuffle(ws_show)
        # スペース区切りにする
        texts = ' '.join(ws_show)
        #print(texts)
        
        # 描画
        wc = WordCloud(background_color="white", font_path=fpath, 
                       width=820, height=312, regexp=r"[\w']+").generate(texts)
        plt.figure(figsize=(15,12))
        plt.imshow(wc)
        plt.axis('off')
        plt.show()
    
    show_word_cloud(words)
    

    실행 결과



    여기까지

    좋은 웹페이지 즐겨찾기