[PYTHON] Ich habe es herausgefunden, indem ich die Bewertungen der Website für Jobwechsel analysiert habe! ??

Einführung

Ich führe derzeit Forschungsaktivitäten zum Thema "Wie kann ich meine Arbeit genießen?" Durch. Ich denke, dass ich durch das Sammeln von Mundpropaganda-Informationen von Unternehmen einige Hinweise erhalten kann, also werde ich die Datenanalyse in Frage stellen!

Umgebung

Schaben

Überprüfen Sie vor der Implementierung die Vorsichtsmaßnahmen beim Schaben. Liste der Vorsichtsmaßnahmen für das Web-Scraping - Qiita

Lesen Sie die folgenden Artikel, um die erforderlichen Werkzeuge vorzubereiten. Vollständiger automatischer Betrieb von Chrome mit Python + Selen - Qiita

Sammeln Sie Bewertungen von Websites für Jobwechsel. Der Code lautet hier

Morphologische Analyse

Lesen Sie die folgenden Artikel, um die erforderlichen Werkzeuge vorzubereiten. Verwenden Sie Mecab auf dem Mac. --Qiita

Führen Sie den folgenden Code aus, um die Bewertungen zu teilen.

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('')#Verhindern Sie, dass Zeichenfolgen GC sind
node = mecab.parseToNode(text)
while node:
    #Holen Sie sich das Wort
    word = node.surface
    #Holen Sie sich Teil Texte
    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)
    
    #Fahren Sie mit dem nächsten Wort fort
    node = node.next

Wenn dies so bleibt, wie es ist, sind alle Wörter bedeutungslos, wie z. B. Hilfswörter. Extrahieren Sie also die Teilwörter, die wahrscheinlich eine Bedeutung als Wörter haben.

$ grep -e "Substantiv" -e "Verb" -e "Adjektiv" mecab.txt | grep -v "代Substantiv" | cut -d',' -f 1 > mecab_edited.txt

Wortwolke

Die Wortwolke wird verwendet, um die Häufigkeit des Auftretens geformter Überprüfungen zu visualisieren. Implementieren Sie dies anhand des folgenden Artikels.

Text Mining mit Python ② Visualisierung mit 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 = ["Aus dem Ausgabebild", "ich möchte entfernen", "Wort", "Bitte einstellen"]

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)

Da es immer noch Rauschen gibt, "Stoppt Wörter, unnötige Wörter [https://qiita.com/Hironsan/items/2466fe0f344115aff177#%E3%82%B9%E3%83%88%E3%83%83%E3". Registrieren Sie sich mit% 83% 97% E3% 83% AF% E3% 83% BC% E3% 83% 89% E3% 81% AE% E9% 99% A4% E5% 8E% BB) → Erzeugung von Wortwolken “, Wiederholen Sie diesen Vorgang, bis Sie Ergebnisse erhalten, die Sie analysieren können.

Und das folgende Bild wurde erhalten. Es wurde aus der Mundpropaganda eines bestimmten IT-Unternehmens generiert.

wordcloud.png

Selbst wenn Sie sich dieses Bild ansehen, ist es schwierig, die Tendenz des Unternehmens zu verstehen, daher werde ich mich auf das charakteristische Wort "Motivation" konzentrieren und es weiter analysieren. Ist es wirklich motiviert? Ist es niedrig?

Analyse

Extrahieren Sie zunächst Bewertungen, die die Zeichenfolge "Motivation" enthalten.

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

Ich habe meine Schlafzeit zu stark verkürzt, daher werde ich von hier aus einen externen Dienst in Anspruch nehmen. → AI Text Mining von Userlocal

Abhängigkeitsanalyse

1_名詞⇔形容詞.png

2_名詞⇔動詞.png

3_名詞⇔名詞.png

Was ich durch die Analyse der Bewertungen der Website für Jobwechsel gelernt habe

Aufgrund der Abhängigkeitsanalyse von "Motivation" werden positive Wörter wie "hoch" und "Zunahme" ganz oben auf der Auftrittshäufigkeit eingestuft, sodass "** Mitarbeiter dieses Unternehmens hoch motiviert zu sein scheinen" ** "wurde gefunden.

abschließend

Obwohl ich fast ein Amateur war, versuchte ich, die Daten zu analysieren, indem ich das Erscheinungsbild nachahmte. Infolgedessen konnte ich nicht zu den gewünschten Informationen gelangen, aber ich konnte feststellen, dass die Visualisierung der Daten zu neuen Entdeckungen führen kann. Vielleicht müssen wir die zu sammelnden Daten und Analysemethoden vollständig entwerfen, um den Zweck zu erreichen. (Es sieht schwierig aus ...)

"Wie macht man Spaß an der Arbeit?" → "Hoch motiviert" → Warum?

Es scheint jedoch schwierig zu sein, alle Antworten abzuleiten, indem man sich nur auf die Daten stützt. Ist es nicht die beste Abkürzung, um das Testen von Hypothesen mit dem Benutzer zu wiederholen? Ja, wie Design Thinking.

Recommended Posts

Ich habe es herausgefunden, indem ich die Bewertungen der Website für Jobwechsel analysiert habe! ??
Was ich bei der Analyse der Daten des Ingenieurmarktes gesehen habe
Finden Sie die mysteriöse Veränderung der Pokemon-Bilderbuchbeschreibung nach Levenstein-Entfernung heraus
Ich fand es heraus, indem ich ein Python-Skript erstellte, um Radiko aufzuzeichnen, während ich den Code der Vorgänger las
Ich verglich die Identität der Bilder nach Hu Moment
Ich habe mir die Versionen von Blender und Python angesehen
Ich habe versucht, die Werbung für die Raubkopien-Website zu kratzen
[Python] Lassen Sie uns die URL der Django-Administrator-Site ändern
Fand die Ursache für die mysteriöse Kommunikation des Minecraft-Servers (Spigot)
Ändern Sie das Thema von Jupyter
Ändern Sie den Stil von matplotlib
Ich habe zusammengefasst, wie die Boot-Parameter von GRUB und GRUB2 geändert werden
Was passiert, wenn ich die Hyperparameter von SVM (RBF-Kernel) ändere?
Ändern Sie den Hintergrund von Ubuntu (GNOME)
Ich habe den Mechanismus der Flaschenanmeldung untersucht!
Erkenntnisse aus der Analyse von Malware Mirai
Analysieren Sie den altersspezifischen Schweregrad des Coronavirus
Ändern Sie das Suffix von django-filter / DateFromToRangeFilter
Ich möchte die Farbe ändern, indem ich auf den Streupunkt in matplotlib klicke
Ich habe versucht, die optimale Route des Traumlandes durch (Quanten-) Tempern zu finden
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
Ich habe die Anzahl der bundesweit geschlossenen und eröffneten Geschäfte von Corona überprüft
Lassen Sie Siri die von Slackbot veröffentlichten AWS-Rechnungen lesen
Ich habe versucht, das Ergebnis des A / B-Tests mit dem Chi-Quadrat-Test zu überprüfen