Word Cloud가 만들고 싶다면.

하고 싶은 일


  • 극히 적은 단계로 Word Cloud 만들기. (1 번 만들면 충분할 때 부디)

  • 포인트


  • 형태소 분석을 janome
  • MeCab 그렇다면 python 에서 볼 수 있도록 설정이 필요합니다

  • Word Cloud에 사용할 글꼴 설정

  • 환경


  • Windows 10
  • 파이썬 3.7

  • Library setup



    Anaconda를 넣고 있다면, 이런 곳에서 괜찮습니까?
    pip install janome
    pip install wordcloud
    

    환경설정


    import pandas as pd
    
    from janome.tokenizer import Tokenizer
    
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud
    

    데이터 로드에서 아래 준비


  • 이런 데이터( sample.csv )를 준비합니다. csv라고 말하면서 쉼표는 사용하지 않지만

  • sample.csv
    ライオンはパンダかもしれない
    いや、そんなことはない 
     :
    
    ## データ読み込み
    df = pd.read_csv('sample.csv', header=None)
    ## タイトルを付与
    df.colums = ['sentences']
    
    ## 関数群の定義
    def get_nouns(sentence, noun_list):
        for token in t.tokenize(sentence):
            split_token = token.part_of_speech.split(',')
            ## 一般名詞を抽出
            if split_token[0] == '名詞' and split_token[1] == '一般':
                noun_list.append(token.surface)
    
    def depict_word_cloud(noun_list):
        ## 名詞リストの要素を空白区切りにする(word_cloudの仕様)
        noun_space = ' '.join(map(str, noun_list))
        ## word cloudの設定(フォントの設定)
        wc = WordCloud(background_color="white", font_path=r"C:/WINDOWS/Fonts/msgothic.ttc", width=300,height=300)
        wc.generate(noun_space)
        ## 出力画像の大きさの指定
        plt.figure(figsize=(5,5))
        ## 目盛りの削除
        plt.tick_params(labelbottom=False,
                        labelleft=False,
                        labelright=False,
                        labeltop=False,
                       length=0)
        ## word cloudの表示
        plt.imshow(wc)
        plt.show()
    

    준비가 된 곳에서 실행


    ## 形態素解析の準備
    t = Tokenizer()
    
    noun_list = []
    for sentence in list(df['sentences']):
        get_nouns(sentence, noun_list)
    
    depict_word_cloud(noun_list)
    

    결과



    이런 것이 나오면 성공 :

    좋은 웹페이지 즐겨찾기