전직 사이트의 리뷰를 분석하여 알게 된 것! ?

소개



저는 현재 '일을 즐기려면?'이라는 주제로 연구활동을 하고 있습니다.
기업의 리뷰 정보를 모으면 뭔가 힌트를 얻을 수 있다고 생각하고 데이터 분석에 도전해 보겠습니다!

환경


  • macOS Mojave
  • Python 3.7.4
  • Google 크롬 79.0.3945.79
  • ChromeDriver 79.0.3945.36
  • selenium 3.141.0
  • mecab-python3 0.996.2

  • 스크래핑



    구현하기 전에 스크래핑 주의사항을 검토하십시오.
    웹 스크래핑 주의사항 목록 - Qiita

    다음 기사를 참고하여 필요한 도구를 정렬합니다.
    Python + Selenium에서 Chrome의 자동 조작을 한 대로 - Qiita

    전직 사이트에서 리뷰를 수집합니다.
    코드는 여기

    형태소 분석



    다음 기사를 참고하여 필요한 도구를 정렬합니다.
    Mac에서 mecab을 사용합니다. - Qiita

    다음 코드를 실행하여 리뷰를 나눕니다.

    KeitaisoKaiseki.py
    # coding: utf-8
    import MeCab
    
    mecab = MeCab.Tagger ('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')
    
    INPUT_FILE_PATH = "./scraping.csv"
    OUTPUT_FILE_PATH = "./mecab.txt"
    
    with open(INPUT_FILE_PATH) as f:
        text = f.read()
    
    # mecab.parse('')#文字列がGCされるのを防ぐ
    node = mecab.parseToNode(text)
    while node:
        #単語を取得
        word = node.surface
        #品詞を取得
        pos = node.feature.split(",")[1]
        tmp_str = '{0} , {1}\n'.format(word, pos)
    
        with open(OUTPUT_FILE_PATH, mode='a') as f:
            f.write(tmp_str)
    
        #次の単語に進める
        node = node.next
    

    이대로라면, 조사 등의 의미가 없는 단어만이 되어 버리므로, 단어로서 의미를 가질 것 같은 품사를 추출합니다.
    $ grep -e "名詞" -e "動詞" -e "形容詞" mecab.txt | grep -v "代名詞" | cut -d',' -f 1 > mecab_edited.txt
    

    워드 클라우드



    성형된 입소문의 출현 빈도 등을 보이게 하기 위해 워드 클라우드를 이용합니다.
    다음 기사를 참고로 구현합니다.

    Python으로 텍스트 마이닝 ② Word Cloud로 시각화 - Qiita

    WordCloud.py
    # coding: utf-8
    from wordcloud import WordCloud
    
    FONT_PATH = "/System/Library/Fonts/ヒラギノ角ゴシック W9.ttc"
    
    INPUT_FILE_PATH = "./mecab_edited.txt"
    OUTPUT_FILE_PATH = "./wordcloud.png"
    
    with open(INPUT_FILE_PATH) as f:
        text = f.read()
    
    stop_words = ["出力画像から", "除去したい", "単語を", "設定してください"]
    
    wordcloud = WordCloud(background_color="white",
        font_path=FONT_PATH,
        width=800,height=600,
        stopwords=set(stop_words)).generate(text)  
    
    wordcloud.to_file(OUTPUT_FILE_PATH)
    

    아직 노이즈가 포함되어 있으므로 "불필요한 단어를 스톱워드에 등록 → 워드 클라우드 생성"을 분석할 수 있을 것 같은 결과가 얻어질 때까지 반복합니다.

    그리고 얻은 것이 다음 이미지입니다.
    모 IT계 기업의 리뷰로부터 생성했습니다.



    이 이미지를 봐도 회사의 경향을 알기 어려우므로, 특징적인 단어 「 モチベーション 」에 짜서, 한층 더 분석합니다.
    과연, 동기 부여는 높은가? 낮은가?

    분석



    먼저 문자열 "モチベーション"를 포함하는 리뷰를 추출합니다.
    $ grep "モチベーション" scraping.csv > scraping_motivation.csv
    

    수면 시간을 너무 깎아서 힘이 다했기 때문에 여기에서 외부 서비스를 활용합니다.
    → → AI 텍스트 마이닝 by 사용자 로컬

    수락 해석









    전직 사이트의 리뷰를 분석하여 알게 된 것



    モチベーション 」에 대해 관련해 해석한 결과, 출현 빈도 상위에 「 高い 」 「 上がる 일을 알았습니다.

    결론



    거의 아마추어이면서, 보는 모습 흉내에서 데이터 분석에 도전해 보았습니다.
    결과적으로 원하는 정보까지 도착할 수 없었습니다만, 데이터를 보이게 하는 것으로 새로운 발견에 연결될 것 같다는 것은 체험할 수 있었습니다.
    아마도 목적을 달성하기 위해 수집하는 데이터와 해석 방법을 토탈 디자인 해 나가야 할 것입니다. (어려울 것 같다···)

    "일을 즐기기 위해서는?"→ "동기 높은"→ 왜?

    그러나, 데이터만을 의지해 모든 대답을 이끌어내는 것은 어려울 것 같기 때문에, 데이터를 서포트 툴로서 사용하면서,
    사용자와 함께 가설 검증을 반복하는 것이 가장 지름길이 아닐까요?
    이렇게, 디자인 생각 같이.

    좋은 웹페이지 즐겨찾기