Python: Japanischer Text: Morphologische Analyse

Sprachverarbeitung und Textkorpus

Was ist die Verarbeitung natürlicher Sprache?

Die Wörter, die wir normalerweise sprechen, die Sätze, die wir schreiben usw.

Sagen Sie "natürliche Sprache"

Technologie, mit der ein Computer natürliche Sprache verarbeitet

Verarbeitung natürlicher Sprache(Natural Language Processing, NLP)Wird genannt.

Die Verarbeitung natürlicher Sprache besteht aus elementaren Technologien wie morphologischer Analyse, syntaktischer Analyse und semantischer Analyse. Durch die Kombination dieser Elementartechnologien werden sie in verschiedenen Situationen wie maschineller Übersetzung, Spracherkennung und Informationsabruf verwendet.

Die natürliche Sprache wurde ursprünglich für Menschen geschaffen, um miteinander zu kommunizieren. Menschen können Wörter interpretieren und mit ihnen kommunizieren, die mehrdeutige Ausdrücke enthalten. Da Computer jedoch gut darin sind, Daten genau und mit hoher Geschwindigkeit zu verarbeiten.

Ich kann nicht gut mit natürlichen Sprachen umgehen, die mehrdeutige Elemente enthalten.

Als Beispiel für die Verarbeitung natürlicher Sprache sollten Sie japanische Nachrichtendokumente in Kategorien einteilen. Angenommen, ein Dokument enthält ungefähr 100 Wörter. Wenn die Menge des Dokuments ungefähr 10 beträgt, kann es von Menschen manuell klassifiziert werden. Wenn Sie jedoch über 1.000 Dokumente verfügen, sollten Sie den Computer die Arbeit erledigen lassen.

Wie gehen Sie mit natürlicher Sprache auf Ihrem Computer um?

Sie müssen lediglich die natürliche Sprache in eine Form konvertieren, die für den Computer leicht zu verarbeiten ist, dh einen numerischen Wert.

Natürliche Sprache ist eine Reihe von Wörtern. Wenn Wörter "auf irgendeine Weise" in numerische Daten umgewandelt werden können Die Analyse ist mit Algorithmen für maschinelles Lernen und tiefes Lernen möglich.

In diesem Beitrag werde ich natürliche Sprache in numerische Daten konvertieren Erfahren Sie, wie Sie Themen mithilfe von Algorithmen für maschinelles Lernen extrahieren.

Chat Dialog Corpus

Ein Korpus ist eine Sammlung einer großen Anzahl von Dokumenten in natürlicher Sprache.

Weil natürliche Sprache ein Mittel zur menschlichen Kommunikation ist Es gibt nicht nur Japanisch, sondern nur Arten von Sprachen wie Englisch und Deutsch.

Da es schwierig ist, alles vorzustellen, werden wir hier den uns bekannten japanischen Korpus vorstellen. Viele japanische Korpora werden angeboten, auch kostenpflichtig und kostenlos.

Mit den Ergebnissen können Sie Dokumente klassifizieren und Themen extrahieren.

Aozora Bunko
Moderner japanischer geschriebener Wortausgleichskorpus(BCCWJ)
Chat Dialog Corpus
Meidai Conversation Corpus(Japanischer natürlicher Konversations-Transkriptionskorpus)
Korpus der japanischen gesprochenen Sprache(CSJ)
Livedoor News Corpus

Diese Korpora werden in verschiedenen Dateiformaten wie dem CSV-Format, dem JSON-Format und dem XML-Format bereitgestellt. Insbesondere, weil das JSON-Format und das XML-Format eine hierarchische Struktur haben. Wir empfehlen, dass Sie die erforderlichen Daten herausnehmen, in eine CSV-Datei konvertieren und dann verwenden.

Lassen Sie uns nun die Daten mit der json-Bibliothek von Python extrahieren. Geben Sie zum Extrahieren von Daten den Namen der Variablen an, in der die Daten gespeichert sind, und den Schlüssel der Daten, die Sie abrufen möchten.

#Lesen Sie die Datei im schreibgeschützten Modus
f = open("./6110_nlp_preprocessing_data/init100/1407219916.log.json",
         "r", encoding='utf-8')
json_data = json.load(f)

# `json_data`einschließen'Gesprächs-ID ('dialogue-id')'Variable`dialogue`Komm zu
dialogue = json_data["dialogue-id"]
print(dialogue)
# >>>Ausgabeergebnis
1407219916

Klicken Sie hier für Nutzungsergebnisse

import json

#Datei im schreibgeschützten Modus lesen
f = open("./6110_nlp_preprocessing_data/init100/1407219916.log.json",
         "r", encoding='utf-8')
json_data = json.load(f)

#Gesprächs-ID abrufen
print("dialogue-id : " + json_data["dialogue-id"])

#Lautsprecher-ID abrufen
print("speaker-id  : " + json_data["speaker-id"])

#Holen Sie sich den Sprecher und den Inhalt der Rede
for turn in json_data["turns"]:
    #Der Schlüssel des Lautsprechers ist"speaker"Der Schlüssel zum Inhalt der Äußerung ist"utterance"ist
    print(turn["speaker"] + ":" + turn["utterance"])

image.png

Der hier verwendete Korpus ist wie folgt.

Korpus

Chat Dialog Corpus Daten zur gemeinsamen Analyse von Dialogsystemfehlern, gekennzeichnet für alle Gespräche zwischen Mensch und System (Chat) und Systemantworten.

Verzeichnisaufbau

Die heruntergeladenen Daten sind in die Verzeichnisse init100 und rest1046 unterteilt. Init100 enthält 100 Sätze von Chat-Daten und rest1046 enthält 1.046 Sätze von Chat-Daten. Verwenden Sie die Daten im Verzeichnis init100.

Dateistruktur

Die Datendatei wird im JSON-Format bereitgestellt und ist grob in menschliche Sprachdaten (Frage) und Systemsprachdaten (Antwortdaten) unterteilt. Eine Datei ist eine Dialogdaten.

Datenstruktur

Die Äußerungsdaten werden in japanischen Sätzen ausgedrückt und befinden sich in der Datei. Es wird im Schlüssel der Turns gespeichert. 'Äußerung' sind gesprochene Daten "Sprecher" "U" ist die Person und "S" ist das System.

Darüber hinaus enthalten die Sprachdaten des Systems Systemantworten auf menschliche Fragen. Es ist eine Flagge (Beschriftung), die angibt, ob sie beschädigt ist oder nicht. Es hat einen "Zusammenbruch" und einen Kommentar "Kommentar".

Die Flagge ist O Sprechen, das ist kein Fehler, Es kann nicht gesagt werden, dass T ein Fehler ist, aber es ist eine seltsame Rede. X Es gibt drei Arten von Äußerungen, die sich eindeutig seltsam anfühlen.

Da "Breakdown" durch mehrere Annotatoren ("Annotator-ID") angehängt wird. Es gibt mehrere "Pannen" für eine Antwort in einem System.

Ein Teil des Korpus ist unten dargestellt.

{
  'dialogue-id': '1407219916',
  'group-id': 'init100',
  'speaker-id': '12_08',
  'turns': [
    {
      'annotations': [
        {
          'annotator-id': '01_A',
          'breakdown': 'O',
          'comment': '',
          'ungrammatical-sentence': 'O'
        },
        {
          'annotator-id': '01_B',
          'breakdown': 'O',
          'comment': '',
          'ungrammatical-sentence': 'O'
        },
        ...
        {
          'annotator-id': '15_A',
          'breakdown': 'T',
          'comment': 'Die Zahlen sind völlig unterschiedlich',
          'ungrammatical-sentence': 'O'
        }
      ],
      'speaker': 'S',
      'time': '2014-08-05 15:23:07',
      'turn-index': 2,
      'utterance': 'Wird eine maximale Temperatur von 17 Grad erwartet? ??'
    },
    {
      'annotations': [],
      'speaker': 'U',
      'time': '2014-08-05 15:23:15',
      'turn-index': 3,
      'utterance': 'Nein, es ist extrem heiß'
    },
    ...
}

Extraktion von Analysedaten

Wir werden Äußerungen quantitativ analysieren, bei denen es unwahrscheinlich ist, dass sie zusammenbrechen. Die zu analysierenden Beispieldaten sind in 10 Dateien im Verzeichnis init100 enthalten. Verwendet ein Flag, um anzuzeigen, ob die Sprache einer Person und die Sprache des Systems zu ihr unterbrochen sind.

Wenn Sie über die Daten verfügen, die Sie für Ihre Analyse benötigen, entfernen Sie zunächst alle doppelten unerwünschten Daten.

Doppelte Daten löschen So entfernen Sie eine Zeile, die doppelte Elemente enthält

Pandas fallen_duplicates()Verwenden Sie die Methode.
from pandas import DataFrame

#DataFrame mit doppelter Indexnummer 0 und Indexnummer 2
df=DataFrame([['AA','Camela',150000,20000],
              ['BB','Camera',70000,10000],
              ['AA','Camela',150000,20000],
              ['AA','Video',3000,150]],
              columns=['CUSTOMER','PRODUCT','PRICE','DISCOUNT'])
df
# >>>Ausgabeergebnis
    CUSTOMER      PRODUCT        PRICE    DISCOUNT
0       AA          Camela       150000    20000
1       BB          Camera        70000    10000
2       AA          Camela       150000    20000 
3       AA          Video         3000      150
#Entfernen Sie Zeilen mit Duplikaten
drop = df.drop_duplicates()
drop
# >>>Ausgabeergebnis
    CUSTOMER     PRODUCT      PRICE        DISCOUNT
0       AA          Camela      150000      20000
1       BB          Camera       70000      10000
3       AA          Video        3000        150

Klicken Sie hier für Anwendungsbeispiele

import os
import json
import pandas as pd

#Geben Sie das Verzeichnis init100 an
file_path = './6110_nlp_preprocessing_data/init100/'
file_dir = os.listdir(file_path)

#Erstellen Sie eine leere Liste zum Speichern von Flags und Äußerungen
label_text = []

#Verarbeiten Sie 10 JSON-Dateien nacheinander
for file in file_dir[:10]:
    #Lesen Sie im schreibgeschützten Modus
    r = open(file_path + file, 'r', encoding='utf-8')
    json_data = json.load(r)

    #Sprachdatenarray`turns`Extrahieren Sie Äußerungsinhalte und Flags aus
    for turn in json_data['turns']:
        turn_index = turn['turn-index'] #Sprechrunde Nr
        speaker = turn['speaker'] #Lautsprecher-ID
        utterance = turn['utterance'] #Inhalt der Rede
        #Schließen Sie die erste Zeile aus, da es sich um eine Systemäußerung handelt
        if turn_index != 0:
            #Extrahieren des Inhalts der Rede einer Person
            if speaker == 'U':
                u_text = ''
                u_text = utterance
            else:
                a = ''
                for annotate in turn['annotations']:
                    #Extrahieren Sie die Fehlerflagge
                    a = annotate['breakdown']
                    #Speichern Sie Flaggen und menschliche Sprache in einer Liste
                    tmp1 = str(a) + '\t' + u_text
                    tmp2 = tmp1.split('\t')
                    label_text.append(tmp2)

#aufführen`label_text`Zu DataFrame
df_label_text = pd.DataFrame(label_text)

#Entfernen Sie doppelte Zeilen
df_label_text = df_label_text.drop_duplicates()
df_label_text.head(25)

image.png

Morphologische Analyse von Text

Was ist morphologische Analyse?

Eine der Methoden der Verarbeitung natürlicher Sprache

Morphologische Analyse(Morphological Analysis)Wird angehoben.

Die morphologische Analyse unterteilt einen Satz in Wörter, die auf Grammatikregeln und Analysewörterbuchdaten basieren. Es ist ein Prozess, jedem ein Teilwort zu geben.

Eine "Morphologie" ist die kleinste Einheit oder das kleinste Wort, das in der Sprache eine Bedeutung hat. Hier werden wir uns die japanische morphologische Analyse ansehen.

[Text] Heute wird es gut.
  ↓
[Formularelement] Heute|Ist|Sonnig|Masu| 。
     (Substantiv)(Partikel)(Verb)(助Verb)(Symbol)

Die morphologischen Elemente sind zum leichteren Verständnis durch "|" getrennt. Wenn es sich wie im Beispiel um einen kurzen Satz handelt, kann der Satz manuell in Wörter unterteilt werden. Da die in den tatsächlich behandelten Dokumenten enthaltenen Sätze lange Sätze sind, ist es realistisch, sie auf einem Computer zu verarbeiten.

Es gibt ein Tool namens Morphological Analysis Engine, das morphologische Analysen auf einem Computer durchführt. Die morphologische Analyse-Engine wird installiert und ausgeführt Was kann als Web-API bezeichnet werden Dinge, die als Bibliothek von Programmiersprachen usw. bezeichnet werden können. Es wird in verschiedenen Formen angeboten, einschließlich kostenpflichtig / kostenlos. Der Hauptunterschied zwischen ihnen ist die Grammatik und die Wörterbücher, die für die morphologische Analyse verwendet werden.

ChaSen: Entwickelt und bereitgestellt vom Matsumoto Laboratory der Nara Advanced Science and Technology Graduate University.
JUMAN: Entwickelt und bereitgestellt von Kurohashi / Kawahara Laboratory, Kyoto University.
MeCab: Entwickelt und bereitgestellt als Open Source von Herrn Taku Kudo.
Janome: Entwickelt von Tomoko Uchida und als Python-Bibliothek bereitgestellt.
Rosette Base Linguistics: Entwickelt und bereitgestellt von Basis Technology (gegen Gebühr).

Morphologische Analyse und Segmentierung mit MeCab

Versuchen wir die morphologische Analyse und Aufteilung des japanischen Textes mit der morphologischen Analyse-Engine MeCab.

Morphologische Analyse
①Tagger()Geben Sie mithilfe eines Objekts das Wörterbuch an, mit dem die Morphologie im Ausgabemodus des Arguments geteilt wird.
(2) Wenn nichts angegeben ist, wird das Standard-Systemwörterbuch von MeCab verwendet.
③parse('String')で指定したStringを形態素に分割し、品詞などを付与した形態素解析結果を取得します。
import MeCab

k = MeCab.Tagger()
print(k.parse('Wörter, die Sie morphologisch analysieren möchten'))
Ausgabeergebnis
Morphologische Nomenklatur,Allgemeines,*,*,*,*,Morphem,Keitaiso,Keitaiso
Analytisches Substantiv,Verbindung ändern,*,*,*,*,Analyse,Kaiseki,Kaiseki
Shi Verb,Unabhängigkeit,*,*,Sahen / Suru,Kontinuierlicher Typ,Machen,Shi,Shi
Tai Assistent Verb,*,*,*,Spezielles Thailand,Grundform,Wollen,Thailand,Thailand
Wortnomenklatur,Allgemeines,*,*,*,*,Wort,Kotoba,Kotoba
EOS

Die Ergebnisse der ausgegebenen morphologischen Analyse sind in der Reihenfolge von links wie folgt. Die Notation in Klammern ist der Attributname, wenn die Informationen der einzelnen Attribute erfasst werden.

Oberfläche (im Text verwendete Wörter)
Teil_of_speech)
Teiltexte Unterkategorie 1-3 (Teil_of_speech)
Nutzungsart (infl_type)
Nutzungsformular (infl_form)
Prototyp (Basis)_Form) (die ursprüngliche Form des im Satz verwendeten Wortes)
lesen
Aussprache (phonetisch)

Teilen Wenn Sie ('-Owakati') als Ausgabemodus des Tagger () -Objekts angeben Es ist möglich, nur das Teilungsschreiben mit einem Trennzeichen für jedes morphologische Element durchzuführen, ohne Teilwörter hinzuzufügen.

import MeCab

k = MeCab.Tagger('-Owakati')
print(k.parse('Wörter, die Sie teilen möchten'))
>>>Ausgabeergebnis
Wörter, die Sie teilen möchten
Andere Ausgabemodi
-Oyomi :Ausgabe schreibgeschützt
-Ochasen :ChaSen-kompatibles Format
-Odump :Alle Informationen ausgeben

Klicken Sie hier für Anwendungsbeispiele

import MeCab

#Morphologische Analyse
m = MeCab.Tagger()
print(m.parse('Von den Oberschenkeln und Oberschenkeln'))

#Teilen
w = MeCab.Tagger('-Owakati')
print(w.parse('Von den Oberschenkeln und Oberschenkeln'))

image.png

Morphologische Analyse und Segmentierung mit Janome

Als nächstes werden wir die morphologische Analyse-Engine Janome verwenden, um die morphologische Analyse und Aufteilung des japanischen Textes durchzuführen.

Morphologische Analyse
①Tokenizer()Erstellen Sie ein Objekt und tokenisieren Sie()Geben Sie die Zeichenfolge an, die Sie in der Methode morphologisch analysieren möchten.
(2) Das Ablesen des Ausgabeergebnisses der morphologischen Analyse ist dasselbe wie bei MeCab.
from janome.tokenizer import Tokenizer

#Erstellen eines Tokenizer-Objekts
t = Tokenizer()
tokens = t.tokenize("Wörter, die Sie morphologisch analysieren möchten")
for token in tokens:
    print(token)
>>>Ausgabeergebnis
Morphologische Nomenklatur,Allgemeines,*,*,*,*,Morphem,Keitaiso,Keitaiso
Analytisches Substantiv,Verbindung ändern,*,*,*,*,Analyse,Kaiseki,Kaiseki
Shi Verb,Unabhängigkeit,*,*,Sahen / Suru,Kontinuierlicher Typ,Machen,Shi,Shi
Tai Assistent Verb,*,*,*,Spezielles Thailand,Grundform,Wollen,Thailand,Thailand
Wortnomenklatur,Allgemeines,*,*,*,*,Wort,Kotoba,Kotoba

Teilen Wenn im Argument der tokenize () -Methode wakati = True angegeben ist, wird nur die Division durchgeführt.

from janome.tokenizer import Tokenizer

#Erstellen eines Tokenizer-Objekts
t = Tokenizer()
tokens = t.tokenize("Wörter, die Sie teilen möchten", wakati=True)
for token in tokens:
    print(token)
>>>Ausgabeergebnis
Teilen
Shi
Wollen
Wort

Andere Funktionen

① Sie können nach Teilen filtern.

Wenn Sie es ausschließen möchten, geben Sie den Teil des Wortes an, den Sie ausschließen möchten.
POSStopFilter(['Verbindung', 'Symbol', 'Partikel', 'Hilfsverb'])

Wenn Sie es erhalten möchten, geben Sie den Teil des Wortes an, den Sie erhalten möchten.
POSKeepFilter(['Substantiv'])

(2) Analyzer ist ein Framework zum Erstellen von Vorlagen für die Vor- und Nachbearbeitung von morphologischen Analysen. Übergeben Sie einen Analysator (Vorverarbeitung, Tokenizer-Objekt, Filter). Stellen Sie den Vorverarbeitungsteil wie folgt ein.

char_filters = [UnicodeNormalizeCharFilter(), 
                  RegexReplaceCharFilter('Reguläre Ausdrücke', 'Zeichen, die Sie konvertieren möchten')]
UnicodeNormalizeCharFilter()
Normalisiert Notationsschwankungen in Unicode-Zeichenfolgen.
Das Argument ist"NFKC"、"NFC"、"NFKD"、"NFD"Der Standardwert ist NFKC.
Zum Beispiel in voller Breite"ABC"Ist halb so breit"ABC"Bis zur halben Breite"Kana"Ist in voller Breite"Kana"Führt eine Normalisierung wie z.

RegexReplaceCharFilter('Reguläre Ausdrücke', 'Zeichen, die Sie konvertieren möchten')
Ersetzt die Zeichenfolge, die dem Muster für reguläre Ausdrücke entspricht.
from janome.tokenizer import Tokenizer
from janome.tokenfilter import POSKeepFilter
from janome.analyzer import Analyzer

#Erstellen eines Tokenizer-Objekts
t = Tokenizer()

#Generieren Sie einen Filter, der nur die Nomenklatur extrahiert
token_filters = [POSKeepFilter(['Substantiv'])]

#Generieren eines Analyse-Frameworks mit Filtern
analyzer = Analyzer([], t, token_filters)

#Lauf
for token in analyzer.analyze("Wörter, die Sie filtern möchten"):
    print(token)
>>>Ausgabeergebnis
Filternomenklatur,Allgemeines,*,*,*,*,Filter,Filter,Filter
Wortnomenklatur,Allgemeines,*,*,*,*,Wort,Kotoba,Kotoba

Klicken Sie hier für Anwendungsbeispiele

from janome.tokenizer import Tokenizer
from janome.tokenfilter import POSKeepFilter
from janome.analyzer import Analyzer

#Erzeugung eines morphologischen Analyseobjekts
t = Tokenizer()

#Generieren Sie einen Filter, der nur die Nomenklatur extrahiert
token_filters = [POSKeepFilter(['Substantiv'])]

#Generieren eines Analyse-Frameworks mit Filtern
analyzer = Analyzer([], t, token_filters)

for token in analyzer.analyze('Von den Oberschenkeln und Oberschenkeln'):
    print(token)

Textnormalisierung

Wörterbuch für die morphologische Analyse

Das Analyseergebnis der morphologischen Analyse hängt vom Wörterbuch ab. Zur Laufzeit wird das Standard- "Standardwörterbuch" verwendet, um Sätze in Wörter zu unterteilen und Teile hinzuzufügen.

Obwohl das Standardwörterbuch gebräuchliche Wörter enthält Es enthält nicht oft Fachbegriffe oder neue Wörter werden aktualisiert.

In solchen Fällen können die Wörter unnatürlich aufgeteilt sein oder die Teilwörter können als unbekannte Wörter analysiert werden.

[Text] Ich gehe zum Tokyo Tower.
[Analyseergebnis] I.|Ist|Tokio|Turm|Zu|Gehen|Masu| 。

Um dies zu verhindern, bereiten Sie ein Benutzerwörterbuch getrennt vom Standardwörterbuch vor. Die Methode zum Erstellen eines Benutzerwörterbuchs hängt von der morphologischen Analyse-Engine ab. Denken Sie hier nur an die Existenz des Benutzerwörterbuchs.

Es gibt auch ein Benutzerwörterbuch, das kostenlos verteilt wird. Suchen Sie also nach Ihrem Zweck. Sie können es installieren. (Die Verwendung erfolgt jedoch nach eigenem Ermessen und in eigener Verantwortung.)

Textnormalisierung

Führen Sie vor der Durchführung einer morphologischen Analyse Arbeiten zur Normalisierung von Notationsschwankungen durch, z. B. Löschen unnötiger Symbole und Vereinheitlichen von Notationen.

[Text] Ich habe gestern einen Apfel gegessen. Ich werde heute Apfelsaft trinken.
[Nach der Normalisierung] Ich habe gestern Äpfel gegessen. Ich werde heute Apfelsaft trinken.

Im obigen Beispiel gibt es zwei Arten von Satzzeichen: "," und ",". Da sie jedoch dieselbe Bedeutung haben, können sie zu "," vereinheitlicht werden. Auch die Wörter "Apfel" und "Apfel" können auf die gleiche Weise vereinheitlicht werden.

Bei der Normalisierung auf einem Computer wird ein regulärer Ausdruck verwendet, um die Zeichenfolge anzugeben. Ein regulärer Ausdruck ist der Ausdruck mehrerer Zeichenfolgen in einer Form. Um beispielsweise nach einer bestimmten im Text enthaltenen Zeichenfolge zu suchen, wird die zu durchsuchende Zeichenfolge durch den Zeichentyp wie folgt ausgedrückt.

[0-9] :Entspricht einer der Zahlen 0-9
[0-9a-z]+ :Entspricht einer oder mehreren der Zahlen 0-9 und den unteren Buchstaben a-z

Wenn Sie eine bestimmte im Text enthaltene Zeichenfolge entfernen oder ersetzen möchten

re.sub()Wird verwendet, aber geben Sie die Zeichenfolge an, deren Argument Sie mit diesem regulären Ausdruck entfernen möchten.
import re

re.sub("Die Zeichenfolge, die Sie entfernen möchten", "Zeichenkette nach der Konvertierung", "Text, den Sie entfernen möchten")

Klicken Sie hier für Anwendungsbeispiele

import re

#Ausgabetext ohne alphanumerische Zeichen
re.sub("[0-9a-zA-Z]+", "", "Ich kaufe 10 Artikel A.")

Recommended Posts

Python: Japanischer Text: Morphologische Analyse
Japanische morphologische Analyse mit Python
Text Mining mit Python ① Morphologische Analyse
[Python] Morphologische Analyse mit MeCab
Japanische morphologische Analyse mit Janome
Text Mining mit Python ① Morphologische Analyse (re: Linux-Version)
Python: Negative / Positive Analyse: Textanalyse-Anwendung
Sprechen Sie japanischen Text mit OpenJTalk + Python
Datenanalyse Python
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Python: Vereinfachte morphologische Analyse mit regulären Ausdrücken
Gründlicher Vergleich von drei morphologischen Python-Analysebibliotheken
Clustertext in Python
Datenanalyse mit Python 2
Datenanalyse Übersicht Python
Sprachanalyse mit Python
Textverarbeitung mit Python
Python-Fehlerliste (Japanisch)
Python-Datenanalysevorlage
Japanische Ausgabe mit Python
Assoziationsanalyse in Python
Python Umweltfreundliche japanische Umgebung
Sprachanalyse mit Python
Datenanalyse mit Python
Regressionsanalyse mit Python
Python: Japanischer Text: Charakteristisch für Sprache aufgrund von Wortähnlichkeit
Sammeln von Informationen von Twitter mit Python (morphologische Analyse mit MeCab)
Fordern Sie die Hauptkomponentenanalyse von Textdaten mit Python heraus
Reine Python-Version Online-Morphologieanalyse-Tool Rakuten MA
Python: Japanischer Text: Charakteristisch für Sprache aus Wortkontinuität
[Anmerkung] WordCloud aus morphologischer Analyse
Mein Python-Datenanalyse-Container
UTF8-Textverarbeitung mit Python
Senden Sie japanische Post mit Python3
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Python für die Datenanalyse Kapitel 4
Python Statistical Techniques-Statistische Analyse gegen Python-
Emotionsanalyse von Python (word2vec)
Statische Analyse von Python-Programmen
[Python] Hinweise zur Datenanalyse
Axialsymmetrische Spannungsanalyse mit Python
Verarbeitung natürlicher Sprache 1 Morphologische Analyse
Lernnotizen zur Python-Datenanalyse
Planare Skelettanalyse mit Python
Japanisches NLP @ janome / spaCy / Python
#python python Vermeidung japanischer Syntaxfehler
Sprechen mit Python [Text zu Sprache]
Ich habe einen Python-Text gemacht
Python für die Datenanalyse Kapitel 2
Einfache Regressionsanalyse mit Python
Ich verstehe Python auf Japanisch!
Datenanalyse mit Python-Pandas
Muskel-Ruck-Analyse mit Python
Morphologische Analyse mit Igo + mecab-ipadic-neologd in Python (mit Ruby-Bonus)
[PowerShell] Morphologische Analyse mit SudachiPy
tesseract-OCR für Python [japanische Version]
Text Emotionsanalyse mit ML-Ask
Python für die Datenanalyse Kapitel 3
Holen Sie sich japanische Synonyme mit Python