J'ai décidé d'utiliser wordcloud, alors je l'ai posté sous forme de mémorandum
Puisque mecab est utilisé, si vous demandez "Qu'est-ce que mecab?", Veuillez cliquer [ici] 1!
J'ai essayé de résumer de l'installation de wordcloud à la sortie d'image
La description de l'article est la suivante
Comme c'est un gros problème, je vais publier le problème en sortie par wordcloud (rire)
J'écrirai la réponse dans ** Conclusion **!
Une méthode de sélection de plusieurs mots qui apparaissent fréquemment dans une phrase et de les afficher dans une taille en fonction de la fréquence.
Le fonctionnaire est [ici] 2
L'installation peut être utilisée immédiatement en installant avec pip, etc.
pip install wordcloud
Je pense que c'est plus rapide à expliquer en utilisant des images, alors j'ai essayé de le déplacer immédiatement L'histoire utilisée ici est "Le Chaperon Rouge"
import MeCab
from wordcloud import WordCloud
FILE_NAME = "sample.txt"
with open(FILE_NAME, "r", encoding="utf-8") as f:
CONTENT = f.read()
tagger = MeCab.Tagger("-Owakati")
parse = tagger.parse(CONTENT)
wordcloud = WordCloud()
wordcloud.generate(CONTENT)
wordcloud.to_file("wordcloud.png ")
wordcloud = WordCloud()
Objet nuage de mots pour la génération et le dessin
wordcloud.generate ("chaîne")
Créer wordcloud à partir de texte (chaîne de caractères)
wordcloud.to_file ("nom de la photo")
Exporter vers un fichier image
Les étapes ci-dessus créeront une image wordcloud
Wordcloud affiche les mots fréquemment utilisés en grande taille
Cependant, notez que les ** mots d'une seule lettre ** tels que A et moi ne sont pas affichés!
On peut voir que grand-mère, Little Red et Red Riding sont souvent utilisés dans "Red Riding".
Vous pouvez ajouter des paramètres dans WordCloud, tels que les arrière-plans et les limites de caractères
Voici quelques-uns des paramètres que vous utiliserez le plus souvent.
parameter | Défaut | La description |
---|---|---|
width | 400 | Largeur |
height | 200 | Largeur verticale |
background_color | "black" | Couleur de l'arrière plan |
colormap | None | Couleur de la lettre |
collocations | True | Langage commun |
stopwords | None | Mots à exclure (liste) |
max_words | 200 | Nombre maximum de mots à afficher |
regexp | r"\w[\w']+" | Expression régulière du caractère affiché |
L'image précédente est un peu petite (car c'est pour Qiita)
Si vous essayez de le régler sur 1080 vertical et 1920 horizontal, ce qui correspond également à la taille du bureau, ce sera comme suit
wordcloud = WordCloud(width=1920, height=1080)
L'arrière-plan et la couleur du texte sont difficiles à voir ...
Déclarez la couleur d'arrière-plan que vous souhaitez spécifier Puisqu'il existe plusieurs couleurs d'image de caractères, déclarez-les.
Cette fois, la couleur de fond est le blanc et la couleur de l'image des personnages est l'été.
wordcloud = WordCloud(background_color="white", colormap="summer")
"Red" apparaît souvent à l'écran, comme Red Riding et Little Red.
Alors, essayez de régler comme suit Très pratique car vous pouvez juger une combinaison de mots comme des mots séparés
wordcloud = WordCloud(background_color="white", colormap="summer", collocations=False)
Cela n'a pas beaucoup de sens de mettre des mots comme "le, et, à" sur wordcloud
Si vous ne souhaitez pas afficher ces mots, vous pouvez le déclarer à l'aide d'un tableau comme suit. (Cette fois, par souci de clarté, essayez de ne pas afficher ["Petite", "grand-mère"])
wordcloud = WordCloud(background_color="white", colormap="summer", collocations=False, stopwords=["Little", "grandmother"])
wordcloud est configuré pour afficher 200 caractères par défaut Vous pouvez définir le nombre de caractères à sortir en définissant comme suit.
wordcloud = WordCloud(background_color="white", colormap="summer", collocations=False, stopwords=["Little", "grandmother"], max_words=10])
En regardant cela, il semble que vous pouvez obtenir des données qui semblent bonnes si vous effacez autour de [le, et, à]? ??
Comme mentionné ci-dessus, wordcloud ne peut pas générer des mots d'une seule lettre. En limitant avec regexp, même les mots avec un ou plusieurs caractères peuvent être pris en charge.
wordcloud = WordCloud(background_color="white", colormap="summmer", collocations=False, stopwords=["the", "and", "to"], max_words=20, regexp=r"[\w']+")
Il est compréhensible que ** a ** soit le plus courant ...
Dis m'en plus! De [Officiel] 2
Si vous jouez une phrase japonaise avec le programme ci-dessus, vous verrez l'image suivante ...
En effet, la police utilisée dans wordcloud ne prend pas en charge le japonais.
Ainsi, vous pouvez définir la police
Les paramètres de police sont les suivants
FONT_FILE = "C:\Windows\Fonts\MSGOTHIC.TTC" wordcloud = WordCloud(font_path=FONT_FILE, background_color="white", colormap="summer", collocations=False, regexp=r"[\w']+")
e? Pourquoi est-ce MS Gothic? ** Ancien Coboler ** Voilà pourquoi! (Ceux qui comprennent ... je pense)
C'est pourquoi la sortie était comme ça
J'ai résumé en gros wordcloud
À propos, la réponse à la question précédente est ...
** Trois porcelets **!
wordcloud est un mot qui a souvent de grandes lettres Regardant l'image
little pig house
Les trois ci-dessus sont les mots qui apparaissent souvent!
En créant un nuage de mots comme celui-ci, Il peut également être utilisé comme un index tel que ce que représente la chaîne de caractères (˘ω˘)
Recommended Posts