Essayez de fouiller votre journal avec Python

Contexte

Exécutez janome étudié dans l'article suivant dans l'environnement local. J'essaierai d'explorer le journal que j'ai écrit. https://mocobeta.github.io/janome/

environnement

-PYthon 3.7.4

Module utilisé

-Janome 0.30.10 -wordcloud 1.7.0

Dès l'installation du module

pip install Janome
pip install wordcloud

N'oubliez pas de cd dans le dossier du module et procédez comme suit (j'ai oublié)

Python setup.py install

Commande en traitement

  1. Préparation du fichier texte (.txt)
  2. Division des mots du texte
  3. Créez un nuage de mots

from janome.tokenizer import Tokenizer
from janome.analyzer import Analyzer
from janome.charfilter import *
from janome.tokenfilter import *
from wordcloud import WordCloud

#Une fonction qui spécifie les mots de partie à filtrer ou à remplacer par des caractères non reconnus
def create_analyzer(): 
  tokenizer=Tokenizer()
  char_filters=[RegexReplaceCharFilter('《.*?》', '')]  #Filtre qui remplace les chaînes
  token_filters=[POSKeepFilter(['nom','adjectif','Verbe adjectif','Des mots impressionnants']),POSStopFilter(['nom,Non indépendant','nom,代nom']),ExtractAttributeFilter('base_form')]
  #Conserver les mots cibles, exclure en haut, extraire les cibles uniquement des formulaires de base
  #Cette fois, nous avons ciblé la nomenclature, les adjectifs, les verbes adjectifs et les verbes émotionnels.

  return Analyzer(char_filters,tokenizer,token_filters=token_filters)

#Une fonction qui divise une phrase en mots et la renvoie sous forme de fichier texte
def split_text(src, out): #Prétraiter en divisant les phrases en mots en appliquant les informations du dictionnaire utilisateur
  #Lit le fichier passé dans src, divise les mots et écrit en sortie.
  a=create_analyzer()
  with open(src,encoding='utf-8') as f1:
    with open(out, mode='w', encoding='utf-8') as f2:
      for line in f1:
        tokens=list(a.analyze(line))
        f2.write('%s\n' % ' '.join(tokens))


split_text('data/diary.txt', 'words.txt')
with open("words.txt",encoding='utf-8')as f:
    text=f.read()

wc = WordCloud(width=1920, height=1080,
               font_path="fonts/ipagp.ttf", #Téléchargement de polices
               max_words=100,#Nombre de mots dans le nuage de mots
               background_color="white",#Couleur de l'arrière plan
               stopwords={"moi même","Absent","Bien","Bien"}) #Définir des mots interdits

wc.generate(text)
wc.to_file('data/test_wordcloud.png')

Vous pouvez ajouter un fichier csv d'un dictionnaire qui décrit les termes techniques avec la toute première fonction create_analyzer, mais cette fois je l'ai omis. Encore une fois, vous pouvez étudier sur la page ci-dessous https://mocobeta.github.io/janome/

Le fichier png suivant est créé. À l'avenir, j'aimerais lire des fichiers JSON en combinaison avec les informations et les API récupérées par le web scraping.

test_wordcloud.png

Recommended Posts

Essayez de fouiller votre journal avec Python
Texte de cluster en Python
Traitement de texte avec Python
Essayez gRPC en Python
Essayez 9 tranches en Python
Traitement de texte UTF8 avec python
Essayez d'améliorer votre propre quiz d'introduction avec Python
Essayez LINE Notify avec Python
Parler avec Python [synthèse vocale]
Implémentons Yuma dans Python 3
Essayez de trier vos propres objets avec des files d'attente prioritaires en Python
GOTO en Python avec Sublime Text 3
Essayez d'utiliser LevelDB avec Python (plyvel)
Essayons Fizz Buzz avec Python
Text mining avec Python ① Analyse morphologique
Essayez de calculer Trace en Python
Essayez l'accès au registre PLC en Python
Extraire du texte d'images avec Python
Trier les gros fichiers texte en Python
Lire et écrire du texte en Python
Essayez d'utiliser LeapMotion avec Python
Essayez Python
Essayez de vous connecter automatiquement à Netflix en utilisant python sur votre PC
Essayez de vous connecter à qiita avec Python
Essayez d'utiliser l'API Wunderlist en Python
Essayez d'utiliser l'API Kraken avec Python
[LLDB] Créez votre propre commande avec Python
Essayez de travailler avec des données binaires en Python
Essayez d'envoyer un paquet SYN en Python
Essayez de dessiner une animation simple en Python
Utilisez facilement vos propres fonctions en Python
Text mining avec Python ② Visualisation avec Word Cloud
Essayez un tube de programmation fonctionnel en Python
Essayez quelque chose comme Python for-else dans Ruby
Lire des caractères dans des images avec Python OCR
Obtenez votre propre adresse IP en Python
Quadtree en Python --2
Python en optimisation
CURL en Python
Métaprogrammation avec Python
Premiers pas pour essayer Google CloudVision en Python
Python 3.3 avec Anaconda
Essayez d'implémenter Oni Mai Tsuji Miserable avec python
Géocodage en python
SendKeys en Python
Calculons en fait le problème statistique avec Python
3.14 π jour, alors essayez de sortir en Python
Essayez auto pour évaluer automatiquement Enum dans Python 3.6
Méta-analyse en Python
Essayez d'implémenter deux piles en Python sur un seul tableau
Pièces jointes par e-mail à l'aide de votre compte gmail avec python.
Unittest en Python
tse --Introduction à l'éditeur de flux de texte en Python
Mettez du texte récupéré en Python dans une feuille de calcul Google
Quand j'essaye matplotlib en Python, il dit 'cairo.Context'
Essayez d'utiliser l'API BitFlyer Ligntning en Python
Époque en Python
Discord en Python