Es war notwendig, eine morphologische Analyse auf Englisch durchzuführen, wenn das Material für den Adventskalender erstellt wurde, aber ich blieb ein wenig stecken, also werde ich es verlassen.
In der japanischen Domäne wird MeCab häufig als morphologisches Analysewerkzeug verwendet, aber es gibt nicht so viele Fälle, wenn es um morphologische Analyse auf Englisch geht. Polygot ist eine Bibliothek mit vielen Funktionen der Analyse natürlicher Sprachen wie Sprachidentifikation und Spracherkennung, einschließlich der morphologischen Analyse englischer Sätze.
Es ist wie in Offizielles Dokument beschrieben, aber die unterstützten Sprachen unterscheiden sich je nach Funktion.
Funktionsname | Anzahl der unterstützten Sprachen | Erläuterung |
---|---|---|
Tokenisierung | 165 Sprachen | Teilen Sie die Zeichenfolge in die kleinsten Sätzeinheiten ein, die bei der Verarbeitung natürlicher Sprache behandelt werden sollen |
Spracherkennung | 196 Sprachen | Identifizieren Sie die Sprache der zu analysierenden Zeichenfolge |
Einzigartige Ausdrucksextraktion | 40 Sprachen | Extrahiert den eindeutigen Ausdruck aus der zu analysierenden Zeichenfolge PolygotOrt、Organisation、MannSie können 3 Arten von extrahieren |
Teilwort-Tagging | 16 Sprachen | Fügen Sie jedem Token der zu analysierenden Zeichenfolge ein Teilwort-Tag hinzu |
Emotionsanalyse | 136 Sprachen | Negativ、neutral、positivSie können 3 Arten von bekommen |
Verteilte Darstellung | 137 Sprachen | Ordnen Sie Wörter dem d-dimensionalen Vektorraum zu |
Morphologische Analyse | 135 Sprachen | Teilen Sie die zu analysierende Zeichenfolge in die kleinsten sinnvollen Einheiten |
Transliteration | 69 Sprachen | Konvertiert die eingegebene Zeichenfolge in die Zeichenfolge der angegebenen Sprache |
Wie Sie der obigen Tabelle entnehmen können, werden viele Sprachen unterstützt.
Install Lassen Sie uns Polygot so einrichten, dass es tatsächlich funktioniert.
$ sudo pip3 install -U polyglot
polyglot selbst kann einfach durch Ausführen des obigen Befehls installiert werden. Um jedoch tatsächlich eine Sprachanalyse mit Polyglot durchzuführen, ist es erforderlich, ein Wörterbuch der zu analysierenden Sprache zu erhalten. Wenn beim Abrufen des Wörterbuchs keine Intensivstation installiert ist, wird ein Fehler ausgegeben. Führen Sie daher vor dem Herunterladen den folgenden Befehl aus, um die erforderliche Bibliothek abzurufen.
$ sudo apt-get -y install libicu-dev
$ sudo pip3 install -U pyicu
$ sudo pip3 install -U morfessor
Außerdem ist ** pycld2 ** erforderlich, um das Modell herunterzuladen. In einer normalen Linux-Umgebung können Sie installieren, indem Sie einfach auf "$ sudo pip install pycld2" klicken. Wenn ich jedoch den obigen Befehl auf Raspberry Pi ausführe, wird der folgende Fehler angezeigt.
arm-linux-gnueabihf-gcc: error: unrecognized command line option ‘-m64’
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for pycld2
Der obige Fehler tritt auf, weil der Compiler für die ARM-Architektur die Option -m64 nicht bereitstellt und die Kompilierung fehlschlägt. Pycld2 kann derzeit nicht installiert werden, sodass Polyglot nicht auf Raspberry Pi ausgeführt werden kann. Ich bin in Schwierigkeiten ...
Da es nicht so installiert werden kann, wie es ist, muss setup.py ausgeführt werden, nachdem die in setup.py
von pycld2 angegebene Kompilierungsoption -m64 entfernt wurde.
Spielen Sie nach git clone
aus dem folgenden Repository mit setup.py
.
aboSamoor/pycld2 - Github
$ git clone https://github.com/aboSamoor/pycld2.git
$ cd pycld2/
Wechseln Sie in das Verzeichnis git clone pycld2, entfernen Sie ** - m64 ** aus dem Array der Kompilierungsoptionen, das in Zeile 78 von setup.py direkt darunter beschrieben ist, und speichern Sie es.
Vorher ändern
language="c++",
# TODO: -m64 may break 32 bit builds
extra_compile_args=["-w", "-O2", "-m64", "-fPIC"],
Nach der veränderung
language="c++",
# TODO: -m64 may break 32 bit builds
extra_compile_args=["-w", "-O2", "-fPIC"],
Führen Sie nach den Änderungen den folgenden Befehl aus.
$ sudo pip3 install hogehoge/pycld2/
Successfully built pycld2
Installing collected packages: pycld2
Successfully installed pycld2-0.42
Wenn nach der Ausführung Erfolgreich angezeigt wird, ist die Installation erfolgreich.
Sie können das Modell herunterladen, das den folgenden Befehl ausführt. Dieses Mal werden wir die Morphologie englischer Sätze analysieren. Laden Sie also das englische Modell herunter.
$ polyglot download morph2.en
[polyglot_data] Downloading package morph2.en to
[polyglot_data] /home/pi/polyglot_data...
Sie müssen lediglich den folgenden Beispielcode ausführen.
morph.py
from polyglot.text import Text
sample_text = "One Hamburger and a Medium Coffee please."
tokens = Text(sample_text)
print(tokens.morphemes)
Wenn Sie das obige Skript tatsächlich ausführen, können Sie das Ergebnis in der folgenden Form erhalten.
$ python3 morph.py
['One', ' ', 'Ham', 'burg', 'er and a Medium Coffee p', 'lease', '.']
Dieses Mal habe ich Polyglot zum ersten Mal verwendet, um ein bestimmtes Programm zu erstellen. Da es möglich ist, die Sprache zu beurteilen, denke ich, dass Japanisch in Verbindung mit der Twitter-API auf der MeCab-Seite verarbeitet werden kann und der Rest Polyglot überlassen werden kann. Ich denke nicht, dass die Verarbeitung von englischen Sätzen in natürlicher Sprache im Geschäftsleben verwendet wird, aber ich werde es als Memorandum als eine Schublade belassen.
Recommended Posts