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.
Zuerst müssen wir die zu analysierenden Daten sammeln, damit wir den Inhalt der Neujahrskarte in Excel zusammenfassen können.
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.
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.
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.
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.
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.