Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python

Einführung

Es ist fast immer notwendig, morphologische Analysen zu verwenden, wenn Dinge im Zusammenhang mit der Verarbeitung natürlicher Sprache ausgeführt werden. Morphologische Analysatoren, die Japanisch verwenden können, sind "MeCab" und "JUMAN ++. jp / index.php? JUMAN ++) "ist berühmt. Dieses Mal werden wir JUMAN ++ einführen und morphologische Analysen durchführen.

Der Inhalt dieses Artikels ist wie folgt.

Was ist die Verarbeitung natürlicher Sprache?

Die Verarbeitung natürlicher Sprache (Englisch: Verarbeitung natürlicher Sprache, Abkürzung: NLP) ist eine Reihe von Technologien, mit denen ein Computer die natürliche Sprache verarbeiten kann, die Menschen täglich verwenden. Sie wird in der künstlichen Intelligenz und Linguistik verwendet. Es ist ein Feld. [Verarbeitung natürlicher Sprache | Wikipedia](https://ja.wikipedia.org/wiki/Natürliche Sprachverarbeitung)

** "Auf den Punkt gebracht" **: Technologie, die die Sprache verarbeitet, die Menschen normalerweise auf einem Computer verwenden

Was ist morphologische Analyse?

Die morphologische Analyse reicht von Textdaten (Sätzen) in natürlicher Sprache ohne Anmerkungen zu grammatikalischen Informationen bis zu Informationen wie der Grammatik der Zielsprache und den Teiltexten von Wörtern, die als Wörterbücher bezeichnet werden. Ursprünglich ist es die Arbeit, morphologische Elemente in Spalten zu unterteilen (Morpheme, grob gesagt, die kleinste Einheit, die in der Sprache eine Bedeutung hat) und den Teil jedes morphologischen Elements zu unterscheiden.

** "In einem Wort" **: Ein Prozess, der einen bestimmten Satz in die kleinsten aussagekräftigen Wörter unterteilt und Informationen zu Teiltexten usw. hinzufügt. Was ist JUMAN ++? JUMAN ++ ist vom Kurohashi / Kawahara-Labor der Universität Kyoto. Es ist ein entwickeltes morphologisches Hochleistungsanalysesystem. Unter Verwendung von RNNLM als Sprachmodell wird eine Analyse unter Berücksichtigung der semantischen Natürlichkeit der Wortsequenz durchgeführt. Die grundlegende Genauigkeit ändert sich nicht, aber zusätzlich zu der guten Wortverbindung scheint in einigen Punkten eine höhere Genauigkeit als bei MeCab bestätigt worden zu sein. Es scheint jedoch langsamer zu sein als andere. Wenn Sie also Echtzeitleistung benötigen, sollten Sie MeCab verwenden.

** "Auf den Punkt gebracht" **: Ein leistungsstarker morphologischer Analysator auf Japanisch, der möglicherweise genauer als MeCab ist.

Betriebsumgebung

Einführung von JUMAN ++

Beginnen wir nun mit der Einführung von JUMAN ++. Dieses Mal werden wir JUMAN ++ in Linux einführen.

Informationen zu Mac-Benutzern finden Sie unter hier.

Dies sind die beiden Websites, auf die ich mich bezogen habe.

Installieren Sie zunächst zwei vorausgesetzte Pakete für die Verwendung von JUMAN ++.

Installieren Sie als Nächstes JUMAN ++ selbst.

$ wget http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-1.01.tar.xz
$ tar xJvf jumanpp-1.01.tar.xz
$ cd jumanpp-1.01
$ ./configure
$ make
$ make install

JUMAN ++ ist jetzt installiert! Standardmäßig wird es in / usr / local / installiert. Wenn Sie also das Installationsziel angeben möchten, klicken Sie auf ./configure Fügen Sie die Option --prefix = / path hinzu.

Versuchen Sie es sofort.

$ jumanpp
Ich begann morphologische Analyse zu studieren

Form Keitai Form Nase 6 Gewöhnliche Nase 1* 0 * 0 "Repräsentative Notation:bilden/Keitai Kategorie:Form / Muster"
Elementare Nase 6 Gewöhnliche Nase 1* 0 * 0 "Repräsentative Notation:Grundstufe/Also Kanji lesen:Klangkategorie:Abstrakt"
Analyse Kaiseki Analyse Nominal 6 Sahen Nomen 2* 0 * 0 "Repräsentative Notation:Analyse/Kaiseki Kategorie:Abstrakte Domain:Bildung / Lernen;Wissenschaft und Technik"
Nono kein Assistent 9 Verbindungsassistent 3* 0 * 0 NIL
Studie Benkyo Studie Nomen 6 Sahen Nomen 2* 0 * 0 "Repräsentative Notation:Studie/Benkyo Kategorie:Abstrakte Domain:Bildung / Lernen"
Zu Hilfs 9 Fall Hilfs 1* 0 * 0 NIL
Begin Begin Begin Verb 2*0 Vokalverb 1 Grundform 8"Repräsentative Notation:Start/Anfang Angehängter Verbkandidat (grundlegend) Selbst-anderes Verb:Selbst:Start/Rebellion, die beginnt:Verb:Fertig/Ja"
Masu Masu Suffix 14 Verb Sex Suffix 7 Verb Sex Suffix Typ 31 ta Form 7"Repräsentative Notation:Masu/Masu"
.. .. .. Spezial 1 Satz 1* 0 * 0 NIL
EOS

Die ausführbare Datei für JUMAN ++ ist jumanpp. In meiner Umgebung befand es sich in / bin im Zielordner. Die morphologische Analyse war mit JUMAN ++ erfolgreich!

Verwenden Sie JUMAN ++ aus Python

Als nächstes werden wir JUMAN ++ aus Python verwenden.

JUMAN ++ ist in Python mit PyKNP verfügbar. Wenn Sie bei Verwendung von PyKNP JUMAN und KNP nicht in der aktuellen Umgebung enthalten sind, müssen Sie beide installieren.

Ich habe auf die folgende Seite verwiesen. Verwenden von JUMAN ++ aus Python

Bitte verwenden Sie die Referenzseite für die oben genannten drei Installationsmethoden.

Rufen wir endlich JUMAN ++ aus Python auf!

python_jumanpp.py


#-*- encoding: utf-8 -*-
from pyknp import Jumanpp
import sys
import codecs
sys.stdin = codecs.getreader('utf_8')(sys.stdin)
sys.stdout = codecs.getwriter('utf_8')(sys.stdout)
# Use Juman++ in subprocess mode
jumanpp = Jumanpp()
result = jumanpp.analysis(u"Ich fing an, natürliche Sprache zu verarbeiten.")
for mrph in result.mrph_list():
	print u"Überschrift:%s" % (mrph.midasi)
$ python python_jumanpp.py
Überschrift:Natur
Überschrift:Sprache
Überschrift:wird bearbeitet
Überschrift:Start
Überschrift:War
Überschrift:。

Sie haben JUMAN ++ von Python erfolgreich verwendet!

das ist alles

Recommended Posts

Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Japanische morphologische Analyse mit Python
Einführung in die Datenanalyse mit Python P17-P26 [ch02 1.usa.gov Daten von bit.ly]
Einführung in Python mit Atom (unterwegs)
Von der Einführung von Pyethapp bis zur Vertragsabwicklung
Von der Vorbereitung der morphologischen Analyse mit Python unter Verwendung von Polyglot bis zur Teilwortmarkierung
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
[Einführung in Python] Wie wird mit der continue-Anweisung wiederholt?
[Python] Von der morphologischen Analyse von CSV-Daten bis zur CSV-Ausgabe und Diagrammanzeige [GiNZA]
Die Wand beim Ändern des Django-Dienstes von Python 2.7 auf Python 3-Serie
[Python] Morphologische Analyse mit MeCab
Lerne Nim mit Python (ab Anfang des Jahres).
Python: Japanischer Text: Morphologische Analyse
[Einführung in Python] Wie iteriere ich mit der Bereichsfunktion?
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Berechnen Sie den Regressionskoeffizienten der einfachen Regressionsanalyse mit Python
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Einführung in Python] Grundlegende Verwendung der Bibliothek matplotlib
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Ich habe versucht, die Entropie des Bildes mit Python zu finden
20200329_Einführung in die Datenanalyse mit Python 2nd Edition Personal Summary
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
[Raspi4; Einführung in den Sound] Stabile Aufzeichnung der Toneingabe mit Python ♪
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Existenz aus Sicht von Python
Text Mining mit Python ① Morphologische Analyse
Einführung in die Bildanalyse opencv python
So kratzen Sie mit Python den Aktienkurs einer einzelnen Aktie von der Nikkei Shimbun-Website
Wie man die Anzahl der GPUs aus Python kennt ~ Hinweise zur Verwendung von Multiprocessing mit pytorch ~
Portiert von der R-Sprache von "Sazae-sans Janken Data Analysis" nach Python
IPynb-Bewertungssystem mit TA von Introduction to Programming (Python)
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
Einführung in die Python-Grundlagen des maschinellen Lernens (unbeaufsichtigtes Lernen / Hauptanalyse)
[Einführung in Python] Ich habe die Namenskonventionen von C # und Python verglichen.
Einführung in die Datenanalyse mit Python P32-P43 [ch02 3.US Babynamen 1880-2010]
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Ich las "Das Lernen mit Python von der Einführung bis zur Praxis stärken", Kapitel 1
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich las "Das Lernen mit Python von der Einführung bis zur Praxis stärken", Kapitel 2
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Notizen vom Anfang von Python 1 lernen
Ich möchte mit Python eine beliebige URL aus der Zeichenfolge der HTML-Quelle extrahieren
Überprüfen Sie die Existenz der Datei mit Python
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
Einfache Einführung der Spracherkennung mit Python
[Einführung in Python] Verwenden wir foreach mit Python
Kapitel 1 Einführung in Python Schneiden Sie nur die guten Punkte des Deeplearning aus, die von Grund auf neu erstellt wurden
Gibt das Ergebnis der morphologischen Analyse mit Mecab an einen WEB-Browser aus, der mit Sakura Server / UTF-8 kompatibel ist
Wie man mit Python-Flüchen Japanisch eingibt
Versuchen Sie, die Position des Senders aus dem Funkwellenausbreitungsmodell mit Python [Wi-Fi, Beacon] zu berechnen.
Python: Vereinfachte morphologische Analyse mit regulären Ausdrücken
Notizen vom Anfang von Python 2 lernen