Versuchen Sie, Ihr Tagebuch mit Python zu durchsuchen

Hintergrund

Führen Sie den im folgenden Artikel beschriebenen Janome in der lokalen Umgebung aus. Ich werde versuchen, das Tagebuch, das ich geschrieben habe, per Text abzubauen. https://mocobeta.github.io/janome/

Umgebung

-PYthon 3.7.4

Modul verwendet

-Janome 0.30.10 -wordcloud 1.7.0

Aus der Installation des Moduls

pip install Janome
pip install wordcloud

Vergessen Sie nicht, in den Modulordner zu cd und gehen Sie wie folgt vor (ich habe vergessen)

Python setup.py install

Bearbeitungsauftrag

  1. Vorbereitung der Textdatei (.txt)
  2. Wortteilung des Textes
  3. Erstellen einer Wortwolke

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

#Eine Funktion, die die Teilwörter angibt, die gefiltert oder durch nicht erkannte Zeichen ersetzt werden sollen
def create_analyzer(): 
  tokenizer=Tokenizer()
  char_filters=[RegexReplaceCharFilter('《.*?》', '')]  #Filter, der Zeichenfolgen ersetzt
  token_filters=[POSKeepFilter(['Substantiv','Adjektiv','Adjektiv Verb','Beeindruckende Worte']),POSStopFilter(['Substantiv,Nicht unabhängig','Substantiv,代Substantiv']),ExtractAttributeFilter('base_form')]
  #Behalten Sie Zielwörter bei, schließen Sie sie aus, extrahieren Sie Ziele nur in Grundformen
  #Dieses Mal haben wir Nomenklatur, Adjektive, Adjektivverben und emotionale Verben ins Visier genommen.

  return Analyzer(char_filters,tokenizer,token_filters=token_filters)

#Eine Funktion, die einen Satz in Wörter unterteilt und als Textdatei zurückgibt
def split_text(src, out): #Wenden Sie Benutzerwörterbuchinformationen auf Vorverarbeitungssätze an, indem Sie sie in Wörter unterteilen
  #Liest die in src übergebene Datei, teilt Wörter und schreibt nach out.
  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", #Schriftart herunterladen
               max_words=100,#Anzahl der Wörter in der Wortwolke
               background_color="white",#Hintergrundfarbe
               stopwords={"mich selber","Abwesend","Gut","Gut"}) #Setze verbotene Wörter

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

Sie können eine CSV-Datei eines Wörterbuchs hinzufügen, das technische Begriffe mit der allerersten Funktion create_analyzer beschreibt, aber diesmal habe ich sie weggelassen. Auch hier können Sie auf der folgenden Seite studieren https://mocobeta.github.io/janome/

Die folgende PNG-Datei wird erstellt. In Zukunft möchte ich aus JSON-Dateien in Kombination mit den Informationen und APIs lesen, die durch Web Scraping erfasst wurden.

test_wordcloud.png

Recommended Posts

Versuchen Sie, Ihr Tagebuch mit Python zu durchsuchen
Clustertext in Python
Textverarbeitung mit Python
Versuchen Sie gRPC in Python
Probieren Sie 9 Slices in Python aus
UTF8-Textverarbeitung mit Python
Versuchen Sie, Ihr eigenes Intro-Quiz mit Python zu verbessern
Versuchen Sie LINE Notify mit Python
Sprechen mit Python [Text zu Sprache]
Lassen Sie uns Yuma in Python 3 implementieren
Versuchen Sie, Ihre eigenen Objekte mit Prioritätswarteschlangen in Python zu sortieren
GOTO in Python mit erhabenem Text 3
Versuchen Sie es mit LevelDB mit Python (plyvel)
Versuchen wir es mit Fizz Buzz mit Python
Text Mining mit Python ① Morphologische Analyse
Versuchen Sie, Trace in Python zu berechnen
Versuchen Sie den Zugriff auf das SPS-Register in Python
Extrahieren Sie mit Python Text aus Bildern
Sortieren Sie große Textdateien in Python
Lesen und Schreiben von Text in Python
Versuchen Sie es mit LeapMotion mit Python
Versuchen Sie Python
Versuchen Sie, sich mit Python auf Ihrem PC automatisch bei Netflix anzumelden
Versuchen Sie, sich mit Python bei qiita anzumelden
Versuchen Sie es mit der Wunderlist-API in Python
Versuchen Sie, die Kraken-API mit Python zu verwenden
[LLDB] Erstellen Sie Ihren eigenen Befehl mit Python
Versuchen Sie, mit Binärdaten in Python zu arbeiten
Versuchen Sie, ein SYN-Paket in Python zu senden
Versuchen Sie, eine einfache Animation in Python zu zeichnen
Verwenden Sie einfach Ihre eigenen Funktionen in Python
Text Mining mit Python ② Visualisierung mit Word Cloud
Probieren Sie eine funktionale Programmierpipe in Python aus
Versuchen Sie etwas wie Python für-else in Ruby
Lesen von Zeichen in Bildern mit Python OCR
Holen Sie sich Ihre eigene IP-Adresse in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Erste Schritte zum Testen von Google CloudVision in Python
Python 3.3 mit Anaconda
Versuchen Sie, Oni Mai Tsuji Miserable mit Python zu implementieren
Geokodierung in Python
SendKeys in Python
Berechnen wir das statistische Problem mit Python
3,14 π Tag, versuchen Sie also, in Python auszugeben
Versuchen Sie automatisch, Enum in Python 3.6 automatisch zu bewerten
Metaanalyse in Python
Versuchen Sie, zwei Stapel in Python auf einem Array zu implementieren
E-Mail-Anhänge über Ihr Google Mail-Konto mit Python.
Unittest in Python
tse - Einführung in den Text Stream Editor in Python
Fügen Sie in Python gekratzten Text in eine Google-Tabelle ein
Wenn ich matplotlib in Python versuche, heißt es'cairo.Context '.
Versuchen Sie es mit der BitFlyer Ligntning API in Python
Epoche in Python
Zwietracht in Python