[PYTHON] Textanalyse, die in 5 Minuten durchgeführt werden kann [Word Cloud]

Lassen Sie uns Text Mining sehr einfach mit der Python 3.x-Serie durchführen.

** Dieses Mal können Sie nicht nur so viel wie möglich auf dem LINUX-Terminal verarbeiten, damit auch Personen, die Python noch nie verwendet haben, es verstehen, sondern auch die einzugebenden Befehle beschreiben! ** (Ich weiß nichts über Python ...)

Was ist Text Mining?

Text Mining (englisch: Text Mining) ist Data Mining für Zeichenfolgen. Dies ist eine Methode zur Analyse von Textdaten, bei der nützliche Informationen extrahiert werden, indem Daten, die aus gewöhnlichen Sätzen bestehen, in Wörter und Phrasen unterteilt und die Häufigkeit ihres Auftretens, die Korrelation des gemeinsamen Auftretens, die Tendenz des Auftretens und die Zeitreihen analysiert werden. Quelle [Wikipedia](https://ja.m.wikipedia.org/wiki/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%9E% E3% 82% A4% E3% 83% 8B% E3% 83% B3% E3% 82% B0)

Lassen Sie uns diesmal eine * Wortwolke * mit Text Mining-Technologie erstellen! Das ist eine Wortwolke. ↓ wc1-1.png

Bereiten Sie zuerst die Daten vor

Bereiten Sie zunächst die zu analysierenden Daten vor. Es ist jedoch schwierig, sich sofort vorzubereiten, daher werde ich dieses Mal die Tweet-Daten ** des Online-Events ** "Idol Master Shiny Colors MUSIC DAWN DAY 1" vom 31. Oktober verwenden.

Klicke hier zum herunterladen [Textdaten # Shanimas MUSICDAWNday2](https://www.github.com/ysok2135/py/tree/main/%E5%BD%A2%E6%85%8B%E7%B4%A0%E8%A7%A3 % E6% 9E% 90% E5% 85% 83% E3% 83% 86% E3% 82% 99% E3% 83% BC% E3% 82% BF_SC_DOWN_20201031_utf8.csv)

Installation der Python 3.x-Serie

sudo apt install python3.7

Führen Sie eine morphologische Analyse der Daten durch

Im Gegensatz zu Englisch trennt Japanisch keine Segmente durch Leerzeichen, sodass Sie kein Text Mining von Anfang an durchführen können. Daher werden wir dieses Mal die auf den Straßen bekannte ** Open-Source-Engine für morphologische Analysen MeCab ** verwenden.

MeCab-bezogene Installation

Geben Sie die folgende Befehlsreihenfolge ein.

udo apt install mecab
sudo apt install libmecab-dev
sudo apt install mecab-ipadic
sudo apt install mecab-ipadic-utf8
pip install mecab-python3

Wenn Sie die Suchgenauigkeit verbessern möchten, sollten Sie auch ein zusätzliches Wörterbuch wie NEologd installieren. Diesmal ist dies jedoch nicht ärgerlich.

Aktuelle morphologische Analyse

Viele Websites laufen auf Python, aber ich denke, das ist viel einfacher. Setzen Sie zunächst die Analysequelldatei auf "test.txt". Geben Sie dann Folgendes in das Terminal ein:

mecab -Owakati test.txt -o sample.txt

**das ist alles! ** **. Wenn ich die Datei überprüfe, wird sie ordnungsgemäß analysiert. スクリーンショット 2020-11-01 15.42.09.png スクリーンショット 2020-11-01 15.42.23.png

Endlich an WordCloud arbeiten!

Wordcloud-Installation

pip install wordcloud

Das ist alles.

Versuchen Sie, eine Wortwolke zu erstellen

Kopieren Sie den folgenden Beispielcode.

sample.py


from wordcloud import WordCloud
with open('sample.txt') as f:
        text = f.read()
stop_words = [ u'https', u'co', u'Vielen Dank', u'RT', u'Ah', u'']
wc = WordCloud(background_color="white",width=1600, height=1200, font_path='GenEiLateGoP_v2.ttf', stopwords=set(stop_words))
wc.generate(text)
wc.to_file('wc1.png')

Codebeschreibung

** ① Wordcloud lesen und Dateien importieren **

from wordcloud import WordCloud
with open('sample.txt') as f:
        text = f.read()

** ② Verschiedene Einstellungen ** stop_words ・ ・ ・ Festlegen von Schlüsselwörtern zum Ausschließen ** Es wird empfohlen, dies mehrmals zu versuchen und Schlüsselwörter festzulegen. ** **. Hintergrundfarbe ・ ・ ・ Hintergrundfarbe Breite, Höhe ・ ・ ・ Stellen Sie die Größe des Bildes ein (Einheit ist Pixel) fonf_path ・ ・ ・ Geben Sie den Schriftpfad an (diesmal verwende ich die englische Quelle Latemin). ↑ ** [Super wichtig! Wenn Sie die japanische Schrift nicht laden, erhalten Sie Tofu! !! !! ] ** **

stop_words = [ u'https', u'co', u'Vielen Dank', u'RT', u'Ah', u'']
wc = WordCloud(background_color="white",width=1600, height=1200, font_path='GenEiLateGoP_v2.ttf', stopwords=set(stop_words))

** ③ Ausführungsverarbeitung **

wc.generate(text)
wc.to_file('wc1.png')

Ich bin tatsächlich gegangen

python3 sample.py

Ausführungsergebnis wc1.png

Toll! !! !! Mr. Tsudas Anwesenheit ist gefährlich! (Lol)

Sie können es mit dem Thema von Aozora Bunko sehen. Ich hoffe, dass Sie sich für emotionale Analysen und so weiter interessieren. Danke bis zum Ende.

Ich mache Twitter

* Verifizierungsumgebung
Ubuntu 18.04 LTS
Python 3.7

Recommended Posts

Textanalyse, die in 5 Minuten durchgeführt werden kann [Word Cloud]
Eine Geschichte, die Heroku, die in 5 Minuten gemacht werden kann, tatsächlich 3 Tage dauerte
ANTs Bildregistrierung, die in 5 Minuten verwendet werden kann
Morphologische Analyse und tfidf (mit Testcode), die in ca. 1 Minute durchgeführt werden können
Serverloser LINE-Bot, der in 2 Stunden ausgeführt werden kann (Erfassung der Quellkennung)
[Kann in 10 Minuten erledigt werden] Erstellen Sie schnell eine lokale Website mit Django
Erstellen von Sphinx, das mit Markdown geschrieben werden kann
Grundlegende Algorithmen, die bei Wettkampfprofis eingesetzt werden können
Zusammenfassung der statistischen Datenanalysemethoden mit Python, die im Geschäftsleben verwendet werden können
Ein Mechanismus zum Aufrufen von Ruby-Methoden aus Python, der in 200 Zeilen ausgeführt werden kann
Es scheint, dass Skeleton Tracking mit RealSense durchgeführt werden kann
Goroutine (parallele Steuerung), die im Feld eingesetzt werden kann
Goroutine, die im Feld verwendet werden kann (errgroup.Group Edition)
Skripte, die bei der Verwendung von Bottle in Python verwendet werden können
Ich habe die Vorbehandlung untersucht, die mit PyCaret durchgeführt werden kann
Bewertungsindex, der für GridSearchCV von sklearn angegeben werden kann
[Für Anfänger] Baseball-Statistiken, die in 33 Minuten und 4 Sekunden gespeichert werden können, und PyData ~ mit Yojima Steel
Ein Datensatz, den GAMEBOY mit Python nicht erstellen konnte. (PYBOY)
Erstellen Sie eine Spinbox, die mit Tkinter in Binär angezeigt werden kann
Ein Timer (Ticker), der im Feld verwendet werden kann (kann überall verwendet werden)
Umgang mit Zeichenketten in der JSON-Kommunikation
Zusammenfassung der Standardeingabe von Python, die in Competition Pro verwendet werden kann
Erstellen Sie eine Spinbox, die mit Tkinter in HEX angezeigt werden kann
Bestätigung, dass rkhunter installiert werden kann
Einfaches Auffüllen von Daten, die in der Verarbeitung natürlicher Sprache verwendet werden können
Zusammenfassung der AtCoder C-Probleme, die in der Mathematik der High School gelöst werden können
Maximale Anzahl von Funktionsparametern, die in jeder Sprache definiert werden können
Analyse der Zusammenfassung von PubMed in der Wortwolke
Text Mining mit Python ② Visualisierung mit Word Cloud
Holen Sie sich die Cloud-Protokollierung in Python in 10 Minuten
Kann eine FIFO-Warteschlange durch "Festlegen der Reihenfolge der Nachrichten" in Cloud Pub / Sub realisiert werden?
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Persönliche Notizen zu Pandas-bezogenen Vorgängen, die in der Praxis verwendet werden können
Einfache Programminstallation und automatische Programmaktualisierung, die in jeder Sprache verwendet werden kann
Zusammenfassung der Scikit-Learn-Datenquellen, die beim Schreiben von Analyseartikeln verwendet werden können
Es kann in 1 Minute erreicht werden! Ein Dekorator, der die Funktionsausführung zwischenspeichert, führt zu einem Memcached
Liste der Tools, mit denen Sie auf einfache Weise die Emotionsanalyse japanischer Sätze mit Python ausprobieren können (versuchen Sie es mit Google Colab).