#Probieren Sie es mit Word Cloud Japanese Python JupyterLab.
#Haupt-HP, die ich als Referenz verwendet habe
# https://github.com/amueller/word_cloud/blob/master/examples/masked.py
# https://note.nkmk.me/python-janome-tutorial/
# https://quest.signate.jp/quests/10031 "Dojo zur Datenvorverarbeitung"
from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import os
from wordcloud import WordCloud, STOPWORDS
#Installieren Sie "re", um den Ersatz zu verwenden
import re
# get data directory (using getcwd() is needed to support running example in generated IPython notebook)
d = path.dirname(__file__) if "__file__" in locals() else os.getcwd()
#----
#Verwenden Sie "janome", da es nur mit pip eingeführt werden kann. Wird verwendet, um nur die Nomenklatur aus Zeichenketten zu extrahieren
from janome.tokenizer import Tokenizer
text_wakati = open(path.join(d, 'chumonno_oi_ryoriten.txt'), encoding='shift_jis').read()
t = Tokenizer()
s = text_wakati
print(type(t.tokenize(s)))
text_wakati=[token.surface for token in t.tokenize(s)
if token.part_of_speech.startswith('Substantiv')]
text_wakati =" ".join(map(str, text_wakati))
#Das Wort "Absenken" wird als Nomenklatur anerkannt. Schließen Sie es aus, da es als häufiges Zeichen erkannt wird.
text_wakati = re.sub("Charakter", ' ', text_wakati)
text_wakati = re.sub("Niedriger", ' ', text_wakati)
text_wakati = re.sub("Hier", ' ', text_wakati)
#Beschrieben, um die generierte Zeichenfolge zu bestätigen. Machen Sie abschließend einen Kommentar, um den Einfluss zu beseitigen.
#print(text_wakati)
# read the mask image
# taken from
alice_mask = np.array(Image.open(path.join(d, "alice_mask.png ")))
stopwords = set(STOPWORDS)
stopwords.add("said")
font_patha_a = 'gomarice_mukasi_mukasi.ttf'
#Wenn eine Schriftart, die Japanisch anzeigen kann, nicht verwendet werden kann, wird sie als □□□□ geschrieben.
#Da ich dieses Mal Python verwende, das von Docker installiert wurde, war es schwierig, die Schriftart in den Ordner zu legen. Platzieren Sie die Schriftartdatei also in derselben Hierarchie.
#「font_path=font_patha_"A" hinzugefügt.
wc = WordCloud(background_color="white", max_words=2000, mask=alice_mask,
stopwords=stopwords, contour_width=3, contour_color='steelblue',font_path=font_patha_a)
# generate word cloud
wc.generate(text_wakati)
# store to file
wc.to_file(path.join(d, "alice.png "))
# show
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.figure()
plt.imshow(alice_mask, cmap=plt.cm.gray, interpolation='bilinear')
plt.axis("off")
plt.show()
#Vorbereitungen
#Bereiten Sie "Textdatei", "Bilddatei" und "Schriftdatei" in derselben Ebene vor
#Hauptänderungen mit der Probe
#Textdatei: Verwendet Daten aus Restaurants mit vielen Bestellungen von "Aozora Bunko". Gespeicherter Name "chumonno"_oi_ryoriten.txt "In dieselbe Hierarchie gestellt.
#import re: Wird verwendet, um Zeichenfolgen zu ersetzen
#Zeichenklassifizierung: Verwenden Sie "janome", da es nur mit pip eingeführt werden kann. Wird verwendet, um nur die Nomenklatur aus der Zeichenfolge zu extrahieren
#<Font> (Ich dachte, es wurde von Docker verursacht, also habe ich mir nur Artikel angesehen, die Japanisch unterstützen ... Das Ergebnis scheint □□□ aufgrund der Schriftart zu sein.)(gomarice_mukasi_mukasi.Für ttf stehen kostenlose Schriftarten zur Verfügung.)
#Wenn eine Schriftart, die Japanisch anzeigen kann, nicht verwendet werden kann, wird sie als □□□□ geschrieben.
#Da ich dieses Mal Python verwende, das von Docker installiert wurde, war es schwierig, die Schriftart in den Ordner zu legen. Platzieren Sie die Schriftartdatei also in derselben Hierarchie.
#「font_path=font_patha_"A" hinzugefügt.
Recommended Posts