――Créez Word Cloud en aussi peu d'étapes que possible. (S'il vous plaît quand il suffit de le faire une fois)
janome
--S'il s'agit de MeCab
, il est nécessaire de le définir pour qu'il puisse être vu depuis python
.Library setup Si vous avez Anaconda, est-ce que ça va dans un tel endroit?
pip install janome
pip install wordcloud
import pandas as pd
from janome.tokenizer import Tokenizer
import matplotlib.pyplot as plt
from wordcloud import WordCloud
--Préparez ces données (sample.csv
). Bien que je dise csv, je n'utilise pas de virgules, mais ...
sample.csv
Le lion peut être un panda
Non, ce n'est pas le cas
:
##Lecture des données
df = pd.read_csv('sample.csv', header=None)
##Donnez un titre
df.colums = ['sentences']
##Définition du groupe de fonctions
def get_nouns(sentence, noun_list):
for token in t.tokenize(sentence):
split_token = token.part_of_speech.split(',')
##Extraire la nomenclature générale
if split_token[0] == 'nom' and split_token[1] == 'Général':
noun_list.append(token.surface)
def depict_word_cloud(noun_list):
##Séparez les éléments de la liste de nomenclature par des blancs(word_spécifications du cloud)
noun_space = ' '.join(map(str, noun_list))
##paramètres de nuage de mots(Paramètres de police)
wc = WordCloud(background_color="white", font_path=r"C:/WINDOWS/Fonts/msgothic.ttc", width=300,height=300)
wc.generate(noun_space)
##Spécification de la taille de l'image de sortie
plt.figure(figsize=(5,5))
##Supprimer l'échelle
plt.tick_params(labelbottom=False,
labelleft=False,
labelright=False,
labeltop=False,
length=0)
##Affichage du nuage de mot
plt.imshow(wc)
plt.show()
##Préparation à l'analyse morphologique
t = Tokenizer()
noun_list = []
for sentence in list(df['sentences']):
get_nouns(sentence, noun_list)
depict_word_cloud(noun_list)
Succès si cela se produit: