[PYTHON] Die Geschichte, ein Paket zu erstellen, das den Betrieb von Juman (Juman ++) & KNP beschleunigt

Was in diesem Artikel einzuführen

Was ist KNP?

Es ist ein "japanischer Syntaxanalysator". Du kannst das.

--Fall Analyse

Vorheriger Artikel als Referenz

Nun, RNN ist in Ordnung, nicht wahr?

Zum Zeitpunkt der DNN-Epidemie fragen Sie sich möglicherweise: "Analysieren Sie noch?" Tatsächlich wurde bereits gezeigt, dass das entwickelte RNN die höchste Genauigkeit bei der Schätzung der Bewertung bietet (http://www.slideshare.net/hirokiouchi5/ss-70436298). Tatsächlich ist der Quellcode auch für die Öffentlichkeit zugänglich, daher denke ich, dass es in Ordnung ist, hierher zu gehen.

KNP ist jedoch immer noch das am häufigsten analysierte Ziel. pdf) und KNP ist einfach als Werkzeug zu verwenden, da es nicht nur Fallanalysen, sondern auch Syntaxinformationen aus morphologischen Informationen anzeigt.

Ein kleines Problem mit KNP

~~ Einige Leute sagen, dass die Analysegeschwindigkeit von Mecab und Cabocha einfach zu hoch ist ~~ Es ist mir egal, wann die Eingabedaten klein sind, aber wenn die Datenmenge zunimmt, Ich möchte noch ein wenig erfinden. Ich möchte den Inhalt jedoch nicht berühren. Dann ist das in diesem Artikel vorgestellte Paket eine einfache Idee von __ "Es ist in Ordnung zu dezentralisieren" __. Installierte ein Paket, das die KNP-Anrufverarbeitung dezentralisiert

Nachdem Sie sich bei Pypi registriert haben, können Sie es mit pip installieren.

pip install knp-utils

Charakteristisch

Geschwindigkeitsvergleich (Juman & KNP)

Es ist schneller. Der Unterschied nimmt tendenziell zu, wenn die Anzahl der Eingabedokumente zunimmt. Die folgenden Zahlen sind Vergleiche für 40 Dokumente.

Übrigens sind "pexpect" und "everytime" Modusnamen, die Human- und KNP-Prozesse innerhalb von Multithreading verarbeiten. pexpect lässt den Human & KNP-Prozess laufen. everytime startet Human & KNP für jeden Eingabetext.

pexpect mode, finished with :44.13979196548462[sec]
everytime mode, finished with :38.31942701339722[sec]
pyknp, finished with :64.74086809158325[sec]

Geschwindigkeitsvergleich (Juman ++ & KNP)

Zeitvergleich beim Kombinieren von Juman ++ & KNP. Juman ++ (1.02) soll "langsam sein, was ist das?" Dies liegt daran, dass das Laden der Modelldatei beim Starten des Prozesses einige Zeit in Anspruch nimmt.

Wenn Sie den Prozess also laufen lassen, ist er schneller. Es ist eine einfache Geschichte.

pexpect mode, finished with :48.096940994262695[sec]
everytime mode, finished with :64.07872700691223[sec]
pyknp, finished with : 602.032340992232452[sec]

Betriebsinhalt

Es wird nur der folgende Vorgang wiederholt.

Schließlich

Haben Sie ein schnelles, einfaches und unterhaltsames Leben mit Syntaxanalysen!

[^ 1]: 40 Unterschiede zwischen Dokumenten. Je mehr Dokumente Sie eingeben, desto schneller wird es. [^ 2]: Multiprozess ist schneller, aber ich habe einen Fehler erhalten und es hat nicht funktioniert (´ ・ ω ・ `)

Recommended Posts

Die Geschichte, ein Paket zu erstellen, das den Betrieb von Juman (Juman ++) & KNP beschleunigt
Eine Geschichte, die den Aufwand für Betrieb / Wartung reduziert
Die Geschichte, ein Modul zu erstellen, das E-Mails mit Python überspringt
Die Geschichte eines Mel-Icon-Generators
Die Geschichte einer Box, die Peppers AL Memory und MQTT miteinander verbindet
Die Geschichte der Erstellung einer Webanwendung, die umfangreiche Lesungen mit Django aufzeichnet
Die Geschichte, einen Line Bot zu erstellen, der uns den Zeitplan für die Wettbewerbsprogrammierung erzählt
Die Geschichte eines neuronalen Netzwerks der Musikgeneration
Eine Geschichte, die die Lieferung von Nico Nama analysierte.
Die Geschichte, wie man mit discord.py einen Fragenkasten-Bot erstellt
Die Geschichte des Exportierens eines Programms
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
Die Geschichte, ein Tool zu erstellen, das auf Mac und Windows auf der Spieleentwicklungsseite ausgeführt wird
Eine Geschichte, die auf eine Vergleichsberechnung stieß
Die Geschichte der Verarbeitung A von Blackjack (Python)
Eine Geschichte, die die Gegenwart von Qiita mit Qiita API + Elasticsearch + Kibana visualisiert
Die Geschichte der Entwicklung einer WEB-Anwendung, die automatisch Fangkopien generiert [MeCab]
Die Geschichte einer Soundkamera mit Touch Designer und ReSpeaker
Die Geschichte der IPv6-Adresse, die ich auf ein Minimum beschränken möchte
Die Geschichte der Herstellung des Mel Icon Generator Version 2
Rund um die Authentifizierung von PyDrive2, einem Paket zum Betreiben von Google Drive mit Python
Die Geschichte von Django, wie er eine Bibliothek erstellt, die vielleicht etwas nützlicher ist
Die Geschichte des Starts eines Minecraft-Servers von Discord
[Python] Ein Programm, das die Anzahl der Täler zählt
Erstellen Sie einen BOT, der die Discord-URL verkürzt
#Eine Funktion, die den Zeichencode einer Zeichenfolge zurückgibt
Die Geschichte, eine harte Zeit mit der gemeinsamen Menge HTTP_PROXY = ~ zu haben
Erzeugen Sie diese Form des Bodens einer Haustierflasche
Eine Geschichte über die Änderung des Master-Namens von BlueZ
Die Geschichte, dass der Rückgabewert von tape.gradient () None war
Zip 4 Gbyte Problem ist eine Geschichte der Vergangenheit
[Python] Ein Programm, das die Positionen von Kängurus vergleicht.
Die Geschichte von sys.path.append ()
Die Geschichte der Einrichtung eines VIP-Kanals im internen Chatwork
Die Geschichte der Einführung von Jedi (automatisches Vervollständigungspaket von Python) in Emacs
Die Geschichte des Erstellens einer Datenbank mithilfe der Google Analytics-API
Python-Skript, das den Inhalt zweier Verzeichnisse vergleicht
Eine Geschichte, die bestätigte, ob die Zahl der Coronas bei jungen Menschen wirklich schnell zunimmt
Eine kleine süchtig machende Geschichte mit den Berechtigungen des von expdp angegebenen Verzeichnisses (für Anfänger)
Die Geschichte des Erstellens eines Bots, der aktive Mitglieder in einem bestimmten Slack-Kanal mit Python anzeigt
Die Geschichte des Baus von Zabbix 4.4
Memorandum des Python-Paketverwaltungstools ez_setup
Beim Inkrementieren des Werts eines Schlüssels, der nicht vorhanden ist
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Die Geschichte, dass die Version von Python 3.7.7 nicht an Heroku angepasst wurde
pandas Ruft den Namen einer Spalte ab, die ein bestimmtes Zeichen enthält
Die Geschichte, dass ein Hash-Fehler bei der Verwendung von Pipenv auftrat
Eine Formel, die einfach das Alter ab dem Geburtsdatum berechnet
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Die Geschichte der Release-Arbeit der Anwendung, die Google nicht erzählt
Das Problem, dass die Version von Vue CLI nicht gestartet wurde
Ich habe einen schlaffen Bot gemacht, der mich über die Temperatur informiert
[Pythonista] Die Geschichte einer Aktion zum Kopieren ausgewählten Textes
Eine Geschichte, die die elektronische Bewertung von Prüfungen mit Bilderkennung unterstützt
[Python] Ein Hinweis, dass ich das Verhalten von matplotlib.pyplot zu verstehen begann
[Python] Ein Programm, das den Inhalt der Liste nach links dreht