Ich habe versucht, die folgende Software, die für die Verarbeitung japanischer natürlicher Sprache nützlich ist, in ein Docker-Image zu packen.
Wenn Sie vorerst einen Container einrichten und hineingehen möchten, können Sie dies folgendermaßen tun:
$ docker run --rm -it ototadana/nlp-jp bash
Das Starten von Python sieht folgendermaßen aus:
$ docker run --rm -it ototadana/nlp-jp python
MeCab Ein Beispiel für die Ausführung des Befehls mecab:
$ echo "Der UFO-Absturz, der letztes Jahr zu einem heißen Thema wurde, ist nur noch eine touristische Ressource. Stadtspezialitäten" | docker run --rm -i ototadana/nlp-jp mecab
Letztes Jahr Nomen,Anwalt möglich,*,*,*,*,letztes Jahr,Sakunen,Sakunen
Themennomenklatur,Allgemeines,*,*,*,*,Thema,Wadai,Wadai
Hilfs,Fallassistent,Allgemeines,*,*,*,Zu,D.,D.
Naru Verb,Unabhängigkeit,*,*,Fünf Schritte, La Linie,Kontinuierliche Verbindung,Werden,Natsu,Natsu
Hilfsverb,*,*,*,Besondere,Grundform,Ta,Ta,Ta
UFO Nomen,Proprietäre Nomenklatur,Allgemeines,*,*,*,UFO,UFO,UFO
Crash Nomen,Verbindung ändern,*,*,*,*,Absturz,Twirac,Twirac
Fallnomenklatur,Allgemeines,*,*,*,*,Vorfall,Jiken,Jiken
, Symbol,Lesepunkt,*,*,*,*,、,、,、
Nun Nomenklatur,Anwalt möglich,*,*,*,*,jetzt,Ima,Ima
Ist ein Assistent,Hilfe,*,*,*,*,Ist,C.,Beeindruckend
Nur ein Substantiv,Allgemeines,*,*,*,*,jedoch,frei,frei
Hilfswörter,Union,*,*,*,*,von,Nein,Nein
Nomen für Tourismusressourcen,Proprietäre Nomenklatur,Allgemeines,*,*,*,Tourismusressourcen,Kankoushigen,Kanko Shigen
.. Symbol,Phrase,*,*,*,*,。,。,。
Stadt Nomen,Allgemeines,*,*,*,*,Stadt,Machi,Machi
Hilfswörter,Union,*,*,*,*,von,Nein,Nein
Spezialnomenklatur,Allgemeines,*,*,*,*,Spezialität,Mabutsu,Mabutsu
EOS
CaboCha Beispiel für die Ausführung des Befehls cabocha:
$ echo "Der UFO-Absturz, der letztes Jahr zu einem heißen Thema wurde, ist nur noch eine touristische Ressource. Stadtspezialitäten" | docker run --rm -i ototadana/nlp-jp cabocha
letztes Jahr---D
Zum Thema-D
wurde-D
UFO-Absturz,-----D
jetzt---D
Gerade-D
Tourismusressourcen.---D
die Städte-D
Spezialität
Es wird als Datenbank im SQLite-Format im japanischen WordNet gespeichert. Sie können mit Python-Code wie folgt darauf zugreifen:
example-wordnet.py:
import sqlite3
query = """
select c.def from sense a, word b, synset_def c
where b.lemma = ? and c.lang = 'jpn'
and a.wordid = b.wordid and a.synset = c.synset
"""
with sqlite3.connect('/dictionary/wnjpn.db') as conn:
print([row[0] for row in conn.cursor().execute(query, ['Thema'])])
Wenn Sie diesen Code auf der Hostseite geschrieben haben, mounten Sie das aktuelle Verzeichnis auf der Hostseite und führen Sie es mit der Option -v
wie folgt aus:
$ docker run --rm -i -v $PWD:/app ototadana/nlp-jp python /app/example-wordnet.py
['Gegenstand des Gesprächs oder der Diskussion']
Auf MeCab kann auch über Python-Code zugegriffen werden. Aus Python-Code können Sie MeCab in Kombination mit japanischem WordNet wie folgt verwenden:
example-mecab+wordnet.py:
import MeCab, sqlite3
def get_definition(word):
query = """
select c.def from sense a, word b, synset_def c
where b.lemma = ? and c.lang = 'jpn'
and a.wordid = b.wordid and a.synset = c.synset
"""
with sqlite3.connect('/dictionary/wnjpn.db') as conn:
return [row[0] for row in conn.cursor().execute(query, [word])]
tagger = MeCab.Tagger()
tagger.parse('')
node = tagger.parseToNode('Der UFO-Absturz, der letztes Jahr zu einem heißen Thema wurde, ist nur noch eine touristische Ressource. Stadtspezialitäten').next
while node:
print('%s:' % node.surface)
print(' - %s' % node.feature)
for definition in get_definition(node.feature.split(',')[6]):
print(' - %s' % definition)
print()
node = node.next
Wenn ich das mache, sieht es so aus:
$ docker run --rm -i -v $PWD:/app ototadana/nlp-jp python /app/example-mecab+wordnet.py
letztes Jahr:
-Substantiv,Anwalt möglich,*,*,*,*,letztes Jahr,Sakunen,Sakunen
Thema:
-Substantiv,Allgemeines,*,*,*,*,Thema,Wadai,Wadai
-Gegenstand des Gesprächs oder der Diskussion
Zu:
-Partikel,Fallassistent,Allgemeines,*,*,*,Zu,D.,D.
Wurde:
-Verb,Unabhängigkeit,*,*,Fünf Schritte, La Linie,Kontinuierliche Verbindung,Werden,Natsu,Natsu
-Akzeptiere Veränderung oder Entwicklung
-Laut und fröhlich
-Krank werden und Opfer einer Krankheit werden
-Offiziell ein Jahr dauern
-Angemessen
-Zu machen oder darzustellen:
-Existieren
-Zahlen- oder Mengenberechnung passt
-Entwickeln und Reife erreichen
-Erwachsen werden
-Passiert auf besondere Weise
-Erreichen oder geben Sie einen Status, eine Beziehung, einen Zustand, eine Verwendung oder einen Status ein
-Kann, ändern, gemacht werden, oder sie sind möglich
-Wechseln Sie schrittweise in einen Zustand und weisen Sie bestimmte Eigenschaften oder Attribute auf
-Werden
-In einem bestimmten Zustand oder Zustand sein oder sein
-Verformt oder Änderungen in Position oder Verhalten unterworfen
-Lenken oder lenken Sie die Aufmerksamkeit, Interessen, Gedanken oder Interessen einer Person von etwas ab
-Sich entwickeln
Ta:
-Hilfsverb,*,*,*,Besondere,Grundform,Ta,Ta,Ta
UFO:
-Substantiv,Proprietäre Nomenklatur,Allgemeines,*,*,*,UFO,UFO,UFO
Absturz:
-Substantiv,Verbindung ändern,*,*,*,*,Absturz,Twirac,Twirac
-Schneller freier Fall aufgrund der Schwerkraft
-Unter dem Einfluss der Schwerkraft fällt es ohne anzuhalten
-Stark fallen oder fallen
Vorfall:
-Substantiv,Allgemeines,*,*,*,*,Vorfall,Jiken,Jiken
-Öffentlicher Aufruhr
-Probleme, die untersucht werden müssen
-Ein einziges bemerkenswertes Ereignis
-Etwas passiert
、:
-Symbol,Lesepunkt,*,*,*,*,、,、,、
jetzt:
-Substantiv,Anwalt möglich,*,*,*,*,jetzt,Ima,Ima
-Aktuell oder modern
-Momentan vorhanden
-Zeit passiert gerade
-Eine Reihe von Stunden einschließlich des Moments der Rede
-Nur ein bisschen vorher
-In historischer Gegenwart
-An diesem Punkt in der Erzählung einer Reihe von vergangenen Ereignissen
-In der aktuellen Zeit das Zeitmuster
-Grade eben
-Im Moment
-Aktuell
-Im Moment
Ist:
-Partikel,Hilfe,*,*,*,*,Ist,C.,Beeindruckend
jedoch:
-Substantiv,Allgemeines,*,*,*,*,jedoch,frei,frei
-Ohne irgendetwas anderes enthalten oder verwandt
-Und viele sind nichts
von:
-Partikel,Union,*,*,*,*,von,Nein,Nein
Tourismusressourcen:
-Substantiv,Proprietäre Nomenklatur,Allgemeines,*,*,*,Tourismusressourcen,Kankoushigen,Kanko Shigen
。:
-Symbol,Phrase,*,*,*,*,。,。,。
Stadt:
-Substantiv,Allgemeines,*,*,*,*,Stadt,Machi,Machi
-Situationen, die Chancen bieten
-Eine Region der Stadt mit besonderen Merkmalen
von:
-Partikel,Union,*,*,*,*,von,Nein,Nein
Spezialität:
-Substantiv,Allgemeines,*,*,*,*,Spezialität,Mabutsu,Mabutsu
-Unterhaltung für die Massen
:
- BOS/EOS,*,*,*,*,*,*,*,*
Der im obigen Beispiel verwendete Beispielsatz ist der Anfang des Textes von Oedo Controller - Yunomi feat. TORIENA.
** Yunomi ist das Beste! ** (Kurz gesagt, dies ist der Eintrag, den ich nur sagen wollte ...)
Recommended Posts