[PYTHON] Je l'ai découvert en analysant les avis du site de changement d'emploi! ??

introduction

Je mène actuellement des activités de recherche sous le thème "Comment profiter de mon travail?" Je pense que je peux obtenir des indices en recueillant des informations de bouche à oreille sur les entreprises, alors je vais contester l'analyse des données!

environnement

Grattage

Passez en revue les précautions de grattage avant de mettre en œuvre. Liste des précautions pour le scraping Web --Qiita

Reportez-vous aux articles suivants pour préparer les outils nécessaires. Fonctionnement automatique complet de Chrome avec Python + Selenium --Qiita

Recueillez les avis sur les sites de changement d'emploi. Le code est ici

Analyse morphologique

Reportez-vous aux articles suivants pour préparer les outils nécessaires. Utilisez mecab sur Mac. --Qiita

Exécutez le code ci-dessous pour partager les avis.

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('')#Empêcher les chaînes d'être GC
node = mecab.parseToNode(text)
while node:
    #Obtenez le mot
    word = node.surface
    #Obtenir des paroles de partie
    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)
    
    #Passer au mot suivant
    node = node.next

Si cela reste tel quel, tous les mots n'auront aucun sens, comme les mots auxiliaires, alors extrayez les mots de partie qui sont susceptibles d'avoir un sens en tant que mots.

$ grep -e "nom" -e "verbe" -e "adjectif" mecab.txt | grep -v "代nom" | cut -d',' -f 1 > mecab_edited.txt

Mot nuage

Le nuage de mots est utilisé pour visualiser la fréquence d'apparition des avis mis en forme. Implémentez en vous référant à l'article suivant.

Text mining avec Python ② Visualisation avec Word Cloud - Qiita

WordCloud.py


# coding: utf-8
from wordcloud import WordCloud

FONT_PATH = "/System/Library/Fonts/Hiragino Kaku Gothic 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 = ["À partir de l'image de sortie", "Je veux enlever", "Mot", "Veuillez régler"]

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)

Puisqu'il y a encore du bruit, "Arrêtez les mots des mots inutiles [https://qiita.com/Hironsan/items/2466fe0f344115aff177#%E3%82%B9%E3%83%88%E3%83%83%E3" Enregistrez-vous avec% 83% 97% E3% 83% AF% E3% 83% BC% E3% 83% 89% E3% 81% AE% E9% 99% A4% E5% 8E% BB) → Génération de nuage de mots », Répétez jusqu'à ce que vous obteniez des résultats que vous pouvez analyser.

Et l'image suivante a été obtenue. Il a été généré par le bouche à oreille d'une certaine société informatique.

wordcloud.png

Même si vous regardez cette image, il est difficile de comprendre la tendance de l'entreprise, je vais donc me concentrer sur le mot caractéristique «motivation» et l'analyser davantage. Est-ce vraiment motivé? Est-ce bas?

une analyse

Tout d'abord, extrayez les avis qui incluent la chaîne " motivation ".

$ grep "motivation" scraping.csv > scraping_motivation.csv

J'ai trop réduit mon temps de sommeil, alors je vais utiliser un service externe à partir d'ici. → Exploration de texte AI par Userlocal

Analyse des dépendances

1_名詞⇔形容詞.png

2_名詞⇔動詞.png

3_名詞⇔名詞.png

Ce que j'ai appris en analysant les avis du chantier de changement de poste

À la suite de l'analyse de dépendance sur la «« motivation »», les mots positifs tels que «« élevé »» et «« augmenter »» sont classés en haut de la fréquence d'apparition, donc «** Les employés de cette entreprise semblent être très motivés. ** "a été trouvé.

en conclusion

Bien que j'étais presque un amateur, j'ai essayé d'analyser les données en imitant l'apparence. En conséquence, je n'ai pas pu accéder aux informations que je souhaitais, mais j'ai pu constater que la visualisation des données pouvait conduire à de nouvelles découvertes. Peut-être devons-nous concevoir totalement les données et les méthodes d'analyse à collecter pour atteindre l'objectif. (Cela semble difficile ...)

"Comment aimer travailler?" → "Très motivé" → Pourquoi?

Cependant, il semble difficile de dériver toutes les réponses en se basant uniquement sur les données, donc tout en utilisant les données comme outil de support, N'est-ce pas le meilleur raccourci pour répéter les tests d'hypothèse avec l'utilisateur? Oui, comme le design thinking.

Recommended Posts

Je l'ai découvert en analysant les avis du site de changement d'emploi! ??
Ce que j'ai vu en analysant les données du marché des ingénieurs
Découvrez le changement mystérieux de la description du livre illustré Pokemon par Levenstein Distance
J'ai découvert en créant un script python pour enregistrer radiko tout en lisant le code des prédécesseurs
J'ai comparé l'identité des images par moment Hu
J'ai vérifié les versions de Blender et Python
J'ai essayé de gratter la publicité du site de dessin animé piraté
[Python] Changeons l'URL du site administrateur de Django
Trouvé la cause de la communication mystérieuse du serveur Minecraft (Spigot)
Changer le thème de Jupyter
Changer le style de matplotlib
J'ai résumé comment changer les paramètres de démarrage de GRUB et GRUB2
Que se passe-t-il lorsque je change les hyper paramètres de SVM (noyau RBF)?
Changer l'arrière-plan d'Ubuntu (GNOME)
J'ai étudié le mécanisme de connexion flask!
Connaissances trouvées en analysant le malware Mirai
Analyser la gravité spécifique à l'âge du coronavirus
Changer le suffixe de django-filter / DateFromToRangeFilter
Je veux changer la couleur en cliquant sur le point de dispersion dans matplotlib
J'ai essayé de trouver l'itinéraire optimal du pays des rêves par recuit (quantique)
J'ai essayé de vérifier et d'analyser l'accélération de Python par Cython
J'ai vérifié le nombre de magasins fermés et ouverts dans tout le pays par Corona
Demandez à Siri de lire les factures AWS publiées par Slackbot
J'ai essayé de vérifier le résultat du test A / B avec le test du chi carré