Ich habe versucht, die Neujahrskarte selbst mit Python zu analysieren

Motivation zur Entwicklung

Neujahrskarten werden jedes Jahr verschickt ... Als ich mein Zimmer organisierte, bekam ich viele Neujahrskarten von meinen Senioren und Junioren. Ich fragte mich, ob dies nützlich sein könnte.

Dann kam mir die Idee, mich durch die Neujahrskarte so zu visualisieren, wie andere sie sehen. Ich fragte mich, ob eine sogenannte Selbstanalyse mit der Neujahrskarte durchgeführt werden könnte.

Wenn ich an eine andere Person schreibe, schreibe ich mit den Eindrücken und Episoden dieser Person aus dem letzten Jahr. Ich fragte mich, ob dies für andere auch so war.

Sie sollten in der Lage sein, Ihren Eindruck von sich selbst zu extrahieren, indem Sie die Neujahrskarte morphologisch analysieren ... Ich wollte daraus eine Wortwolke machen und meinen Eindruck von anderen visualisieren.

Wie man ... macht

Geben Sie den Text der 1. Neujahrskarte ein (Dateneingabe)

Zuerst müssen wir die zu analysierenden Daten sammeln, damit wir den Inhalt der Neujahrskarte in Excel zusammenfassen können.

messageImage_1585488373040.jpg

So trat ich ohne die lächerlichen Grüße von Happy New Year und Kotoyoro ein. So viel wie möglich habe ich versucht, nur Wörter einzugeben, die sich auf meine Eindrücke und Episoden beziehen.

2 Stellen Sie die Daten zusammen

Kombinieren Sie anschließend das eingegebene Excel zu einem Datenelement

python


import xlrd

wb = xlrd.open_workbook('/nenga2020.xlsx')
sheet = wb.sheet_by_name('Sheet1')
col_values = sheet.col_values(0)
text=""
for i in col_values:
    text=text+i
print(text)

Dies bedeutet, dass der Text den gesamten Text der Neujahrskarte enthält.

3 Morphologische Analyse und Erstellung von Wortwolken

Schließlich erfolgt von hier aus die morphologische Analyse und die Erstellung von Wortwolken.


import MeCab
import wordcloud, codecs

m = MeCab.Tagger("")
text = text.replace('\r', '')
parsed = m.parse(text)

splitted = ' '.join(
    [x.split('\t')[0] for x in parsed.splitlines()[:-1] if x.split('\t')[1].split(',')[0]  in ["Substantiv","Adjektiv","Adjektiv Verb"] ])

wordc = wordcloud.WordCloud(font_path='HGRGM.TTC',
                            background_color='white',
                            contour_color='steelblue',
                            contour_width=2).generate(splitted)
wordc.to_file('nenga2020.png')

Dadurch wird der auf der Neujahrskarte angegebene Eindruck gelöst.

python


splitted = ' '.join(
    [x.split('\t')[0] for x in parsed.splitlines()[:-1] if x.split('\t')[1].split(',')[0]  in ["Substantiv","Adjektiv","Adjektiv Verb"] ])

Die Teile sind übrigens auf Nomenklatur, Adjektive und Adjektive eingegrenzt. Dies liegt daran, dass der Zweck darin besteht, meinen Eindruck zu extrahieren.

Zusammenfassung

Ganzer Code

import xlrd
import MeCab
import wordcloud, codecs


wb = xlrd.open_workbook('/nenga2020.xlsx')
sheet = wb.sheet_by_name('Sheet1')
col_values = sheet.col_values(0)
text=""
for i in col_values:
    text=text+i

m = MeCab.Tagger("")
text = text.replace('\r', '')
parsed = m.parse(text)

splitted = ' '.join(
    [x.split('\t')[0] for x in parsed.splitlines()[:-1] if x.split('\t')[1].split(',')[0]  in ["Substantiv","Adjektiv","Adjektiv Verb"] ])

wordc = wordcloud.WordCloud(font_path='HGRGM.TTC',
                            background_color='white',
                            contour_color='steelblue',
                            contour_width=2).generate(splitted)
wordc.to_file('nenga2020.png')

Und hier ist die fertige Wortwolke zur Selbstanalyse. nenga2020_qujita.png

Ich habe viele Neujahrskarten vom Kendo Club bekommen, daher gibt es viele verwandte Wörter ...

Wörter wie lustig, kompetent und Respekt gelten als Eindrücke von anderen.

Recommended Posts

Ich habe versucht, die Neujahrskarte selbst mit Python zu analysieren
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Ich habe Web Scraping versucht, um die Texte zu analysieren.
[Python] Ich habe versucht, den Pitcher zu analysieren, der keinen Treffer und keinen Lauf erzielt hat
Qiita Job Ich habe versucht, den Job zu analysieren
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Django super Einführung von Python-Anfängern! Teil 3 Ich habe versucht, die Vererbungsfunktion für Vorlagendateien zu verwenden
Django super Einführung von Python-Anfängern! Teil 2 Ich habe versucht, die praktischen Funktionen der Vorlage zu nutzen
Ich habe versucht, die statistischen Daten der neuen Corona mit Python abzurufen und zu analysieren: Daten der Johns Hopkins University
[Python] Ich habe versucht, das Mitgliederbild der Idolgruppe mithilfe von Keras zu beurteilen
Ich habe versucht, die Python-Bibliothek "pykakasi" zu verwenden, die Kanji in Romaji konvertieren kann.
Ich habe versucht, die Veränderung der Schneemenge für 2 Jahre durch maschinelles Lernen vorherzusagen
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
[Python] Ich habe versucht, die Top 10 der Lidschatten grafisch darzustellen
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, die Sprache mit CNN + Melspectogram zu identifizieren
Ich habe versucht, mit Python auf Google Spread Sheets zuzugreifen
Ich habe versucht, das Wissensdiagramm mit OpenKE zu ergänzen
Ich habe versucht, das Bild mithilfe von maschinellem Lernen zu komprimieren
Ich habe versucht, die String-Operationen von Python zusammenzufassen
[Einführung] Ich habe versucht, es selbst zu implementieren, während ich den Dichotomiebaum erklärte
Python-Übung 100 Schläge Ich habe versucht, den Entscheidungsbaum von Kapitel 5 mit graphviz zu visualisieren
[Einführung] Ich habe versucht, es selbst zu implementieren, während ich erklärte, um die Dichotomie zu verstehen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich habe versucht, die Emotionen des gesamten Romans "Wetterkind" zu analysieren
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
Ich habe versucht, die Anzeigenoptimierung mithilfe des Banditenalgorithmus zu simulieren
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
[TF] Ich habe versucht, das Lernergebnis mit Tensorboard zu visualisieren
Verschiedene Hinweise zur Verwendung von Python für Projekte
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich habe versucht, scRNA-seq-Daten mithilfe der topologischen Datenanalyse (TDA) zu analysieren.
Ich habe versucht, die Sündenfunktion mit Chainer zu approximieren (Re-Challenge)
Ich habe versucht, das Blackjack of Trump-Spiel mit Python zu implementieren
Ich habe versucht, das Zugriffsprotokoll mit Node.js auf dem Server auszugeben
Django super Einführung von Python-Anfängern! Teil 6 Ich habe versucht, die Login-Funktion zu implementieren
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, eine RESTful-API zu erstellen, indem ich die explosive Fast-API des Python-Frameworks mit MySQL verbunden habe.
Ich habe versucht, die Anzahl der Todesfälle pro Kopf von COVID-19 (neues Koronavirus) nach Ländern zu tabellieren
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe versucht, die Infektion mit einer neuen Lungenentzündung mithilfe des SIR-Modells vorherzusagen: ☓ Wuhan ed. ○ Hubei ed.
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, den Abschnitt zu schätzen.
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe versucht, den Getränkepräferenzdatensatz durch Tensorzerlegung zu visualisieren.
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen