[PYTHON] Verarbeitung natürlicher Sprache 1 Morphologische Analyse

Aidemy 2020/10/29

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur AI-spezialisierten Schule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dies ist der erste Beitrag zur Verarbeitung natürlicher Sprache. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Was ist die Verarbeitung natürlicher Sprache? ・ Über den Textkorpus ・ Über die morphologische Analyse

Über die Verarbeitung natürlicher Sprache

・ __ "Natürliche Sprache" __ ist eine gesprochene / geschriebene Sprache, die Menschen normalerweise verwenden. Wenn Sie einen Computer verarbeiten lassen, wird dies als "Verarbeitung natürlicher Sprache" bezeichnet. -Die vom Menschen verwendete natürliche Sprache kann mehrdeutige Ausdrücke enthalten, die Computer nicht "interpretieren" können __.

Korpus

-__ Corpus__ sind __ Daten, die Dokumente in natürlicher Sprache zusammenfassen __. Es unterstützt viele Sprachen und es gibt auch eine japanische Version. ・ Dieses Mal verwenden wir einen "Chat-Dialog-Korpus". -Die Daten sind in 100 Sätze von Chat-Daten __ "init100" __ Verzeichnis und 1046 Sätze von Chat-Daten __ "rest1046" __ Verzeichnis unterteilt. Diesmal "init100" Verwenden Sie die eine. -Die Dateistruktur wird im __ "JSON-Format" __ bereitgestellt. Es ist unterteilt in "Fragendaten (menschliche Sprache)" und "Antwortdaten (Systemsprache)". -Diese Daten werden im __ "Turns" __ - Schlüssel in der Datei gespeichert. Von diesen ist __ "Äußerung" __ die Sprachdaten, __ "Sprecher" __ ist __ "U" __, die Person, und __ "S" __ ist die Systemsprache.

Korpuslesen / Datenextraktion

-Das Lesen des Korpus erfolgt mit __ "open ()" __, genau wie beim Lesen einer normalen Datei. Da die Datei vom Typ JSON ist, lesen Sie sie mit __ "json.load ()" __. -Daten können extrahiert werden, indem der Schlüssel der Daten angegeben wird, die Sie für die gelesene Datei erfassen möchten.

・ Gesprächs-ID abrufen スクリーンショット 2020-10-18 13.14.23.png

#Extrahieren und zeigen Sie den Sprecher und den Inhalt der Äußerung an
for turn in json_data['turns']:
    print("{}:{}".format(turn['speaker'],turn['utterance']))

Extraktion von Analysedaten

・ Von hier aus analysieren wir "natürliche Konversation". Das heißt, da eine Aufschlüsselung verwendet wird, werden zuerst __ "Sprachinhalt der Personen" und "System-Sprachflag" __ erfasst.

·Code スクリーンショット 2020-10-18 14.30.51.png

Morphologische Analyse

Was ist morphologische Analyse?

-__ Morphologische Analyse __ ist eine der Methoden zur Verarbeitung natürlicher Sprache und eine Methode zum Teilen eines Satzes durch Wörter (morphologische Elemente) und zum Klassifizieren von Teilen. • Zum Beispiel "Hallo, es ist Ja!" Wenn "Hallo /, / I / ist / Ngayope / ist /!" Wird.

MeCab ・ Führen Sie eine morphologische Analyse mit MeCab durch. Die Verwendung ist wie folgt. Für k mit __k = MeCab.Tagger ('Ausgabemodus angeben') __ Ausführen als __k.parse ('Zeichenkette für morphologische Analyse') __. Insbesondere ist es wie folgt.

スクリーンショット 2020-10-18 15.06.54.png

Janome -Wenn Sie mit Janome eine morphologische Analyse durchführen, können Sie ein Objekt mit __t = Tokenizer () __ erstellen und es dann mit __t.tokenize ('Zeichenkette für morphologische Analyse') __ ausführen. -Bei separatem Schreiben setzen Sie in diesem zweiten Argument "wakati = True".

-Wenn __Analyzer () __ verwendet wird, können die Verarbeitung bis zu diesem Punkt und die Vorverarbeitung des Textes für die morphologische Analyse gleichzeitig durchgeführt werden. -Das zu übergebende Argument ist __ (Vorverarbeitung, Tokenizer-Objekt (t), Filter) __. -Der Vorverarbeitungsteil enthält __UnicodeNormalizeCharFilter () __, das die Notationsschwankung von Unicode-Zeichenfolgen normalisiert. Übrigens führt dies eine Normalisierung durch, wie das Vereinheitlichen von Alphabeten voller Breite und Katakana zu halber Breite.

Textnormalisierung

・ Code (ausgenommen alphanumerische Zeichen aus "Ich kaufe 10 Artikel A") スクリーンショット 2020-10-18 16.44.49.png

Zusammenfassung

-Natürliche Sprachverarbeitung kann durchgeführt werden, indem ein Computer die natürliche Sprache als numerischen Wert verarbeitet.

Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Verarbeitung natürlicher Sprache 1 Morphologische Analyse
100 Sprachverarbeitungsklopfen 2020: Kapitel 4 (morphologische Analyse)
100 Sprachverarbeitung Knock 2020 Kapitel 4: Morphologische Analyse
100 Sprachverarbeitung Knock Kapitel 4: Morphologische Analyse
[Sprachverarbeitung 100 Schläge 2020] Kapitel 4: Morphologische Analyse
100 Language Processing Knock 2015 Kapitel 4 Morphologische Analyse (30-39)
100 natürliche Sprachverarbeitung klopft Kapitel 4 Morphologische Analyse (erste Hälfte)
100 natürliche Sprachverarbeitung klopft Kapitel 4 Morphologische Analyse (zweite Hälfte)
Python: Verarbeitung natürlicher Sprache
Sprachverarbeitung 100 Schläge Kapitel 4: Morphologische Analyse 31. Verben
RNN_LSTM2 Verarbeitung natürlicher Sprache
■ [Google Colaboratory] Vorverarbeitung der Verarbeitung natürlicher Sprache & Janome
100 Sprachverarbeitung klopft Morphologische Analyse in Kapitel 4 gelernt
100 Sprachverarbeitung Knock-57: Abhängigkeitsanalyse
Verarbeitung natürlicher Sprache 3 Wortkontinuität
100 Sprachverarbeitung Knock-56: Co-Referenz-Analyse
Verarbeitung natürlicher Sprache 2 Wortähnlichkeit
100 Sprachverarbeitung Knock-30 (unter Verwendung von Pandas): Lesen der Ergebnisse der morphologischen Analyse
100 natürliche Sprachverarbeitung klopft Kapitel 5 Abhängigkeitsanalyse (zweite Hälfte)
100 natürliche Sprachverarbeitung klopft Kapitel 5 Abhängigkeitsanalyse (erste Hälfte)
Studieren Sie die Verarbeitung natürlicher Sprache mit Kikagaku
100 Sprachverarbeitung Knock 2015 Kapitel 5 Abhängigkeitsanalyse (40-49)
100 Klicks in der Verarbeitung natürlicher Sprache Kapitel 4 Kommentar
Verarbeitung natürlicher Sprache für vielbeschäftigte Menschen
[Sprachverarbeitung 100 Schläge 2020] Kapitel 5: Abhängigkeitsanalyse
[Verarbeitung natürlicher Sprache] Vorverarbeitung mit Japanisch
Künstliche Sprache Logivan und Verarbeitung natürlicher Sprache (Verarbeitung künstlicher Sprache)
100 Sprachverarbeitung Knock 2020 Kapitel 5: Abhängigkeitsanalyse
100 Sprachverarbeitung Knock-59: Analyse der S-Formel
Vorbereitung zum Starten der Verarbeitung natürlicher Sprache
Installationszusammenfassung des Analysators für die Verarbeitung natürlicher Sprache
[Für Anfänger] Sprachanalyse mit dem Verarbeitungswerkzeug "GiNZA" (von der morphologischen Analyse bis zur Vektorisierung)
100 Sprachverarbeitungsklopfen 03 ~ 05
100 Sprachverarbeitungsklopfen (2020): 40
100 Sprachverarbeitungsklopfen (2020): 32
100 Sprachverarbeitungsklopfen (2020): 35
100 Sprachverarbeitungsklopfen (2020): 39
Verarbeiten Sie den Namen der Yugioh-Karte in natürlicher Sprache - Yugiou Data Science 2. NLP
100 Sprachverarbeitungsklopfen (2020): 22
100 Sprachverarbeitungsklopfen (2020): 26
100 Sprachverarbeitungsklopfen (2020): 34
100 Klopfen der Verarbeitung natürlicher Sprache Kapitel 1 (Vorbereitungsbewegung)
100 Sprachverarbeitungsklopfen (2020): 28
100 Sprachverarbeitungsklopfen (2020): 42
100 Sprachverarbeitungsklopfen (2020): 29
100 Sprachverarbeitungsklopfen 06 ~ 09
100 Sprachverarbeitungsklopfen (2020): 43
100 Sprachverarbeitungsklopfen (2020): 24
100 Sprachverarbeitungsklopfen (2020): 45
3. Verarbeitung natürlicher Sprache durch Python 2-1. Netzwerk für das gleichzeitige Auftreten
100 Sprachverarbeitungsklopfen (2020): 10-19
[WIP] Vorverarbeiten von Notizen in der Verarbeitung natürlicher Sprache
100 Sprachverarbeitungsklopfen (2020): 30
100 Sprachverarbeitungsklopfen (2020): 00-09
100 Sprachverarbeitungsklopfen (2020): 31
100 Sprachverarbeitungsklopfen (2020): 38
100 Sprachverarbeitungsklopfen (2020): 48
100 Sprachverarbeitungsklopfen (2020): 44