Fügen Sie dem Benutzerwörterbuch von MeCab unter Ubuntu Wörter zur Verwendung in Python hinzu

Einführung

Vor kurzem habe ich angefangen, mit Python und MeCab zu analysieren, aber es fiel mir schwer, Wörter zum Benutzerwörterbuch hinzuzufügen, deshalb habe ich es für mich selbst zusammengefasst.

Umgebung

1. Bereiten Sie ein Wörterbuch vor

Erstellen Sie das Wörterbuch als CSV-Datei. Das Format des Wörterbuchs ist Oberflächenform, linke Kontext-ID, rechte Kontext-ID, Kosten, Teiltexte, Teiltexte Unterklassifizierung 1, Teilteilunterklassifizierung 2, Teilteilunterklassifizierung 3, Verwendungsart, Verwendungsform, Prototyp, Lesen, Aussprache In der Reihenfolge von anordnen.

vim add_term.csv
Gefroren,,,1,Substantiv,Allgemeines,*,*,*,*,Gefroren,Anato Yukinojoou,Anato Yukino Jooh

Wenn Sie die linke Kontext-ID und die rechte Kontext-ID leer lassen, werden sie automatisch eingegeben. Außerdem geben die Kosten an, wie wahrscheinlich es ist, dass das Wort erscheint, und je kleiner es ist, desto wahrscheinlicher ist es, dass es erscheint. Es scheint eine Kostenschätzungsmethode zu geben, aber diesmal habe ich sie auf 1 gesetzt. Unnötige Elemente sind mit "*" in Ordnung.

2. Erstellen Sie ein Benutzerwörterbuch

Erstellen Sie ein Benutzerwörterbuch aus der erstellten CSV-Datei. Verwenden Sie zum Erstellen eines Wörterbuchs den mecab-dict-Index, der bei der Installation mit MeCab geliefert wurde.

#Erstellen eines Benutzerwörterbuchs zum Speichern des Zielverzeichnisses
mkdir /usr/local/lib/mecab/dic/userdic

#Erstellen Sie ein Wörterbuch
sudo /usr/lib/mecab/mecab-dict-index \
-d /usr/local/mecab/dic/ipadic \
-u /usr/local/lib/mecab/dic/userdic/add.dic \
-f utf-8 \
-t utf-8 \
add_term.csv

Die Optionen sind: -d Verzeichnis mit Systemwörterbüchern -u Speicherort des Benutzerwörterbuchs -f CSV-Datei Zeichencode -t Benutzerwörterbuch-Zeichencode CSV-Datei

Führen Sie mecab-dict-index mit vollständigem Pfad aus. Geben Sie zu diesem Zeitpunkt auch UTF-8 als Zeichencode an.

reading add_term.csv ... 1
emitting double-array: 100% |###########################################|

done!

Wird angezeigt, ist es erfolgreich.

3. Fügen Sie das erstellte Benutzerwörterbuch zur MeCab-Einstellungsdatei hinzu

Fügen Sie der Einstellungsdatei die folgende Anweisung hinzu.

sudo vim /etc/mecabrc
userdic = /usr/local/lib/mecab/dic/userdic/add.dic

Auf der offiziellen Website /usr/local/lib/mecab/dic/ipadic/dicrc /usr/local/etc/mecabrc Es wurde geschrieben, um es zu einem von beiden hinzuzufügen, aber es hat in meiner Umgebung nicht funktioniert, und da sich an der oben genannten Stelle Mecabrc befand, hat es korrekt funktioniert, indem es dort hinzugefügt wurde. Wenn Sie mehrere Wörterbücher registrieren möchten

userdic = AAA.dic,BBB.dic

Wenn ja, konnte ich mich registrieren.

Funktionsprüfung

--Überprüfen Sie über die Befehlszeile

#Vor dem Hinzufügen
mecab
Gefroren
Ana Substantiv,Allgemeines,*,*,*,*,Anna,Anna,Anna
Und Hilfswörter,Parallele Assistenten,*,*,*,*,Wann,Zu,Zu
Schnee Nomen,Allgemeines,*,*,*,*,Schnee,Schnee,Schnee
Hilfswörter,Union,*,*,*,*,von,Nein,Nein
Königin Nomen,Allgemeines,*,*,*,*,Königin,Joou,Jooh
EOS

#Nach Zugabe
Gefroren
Anna und die Schneekönigin Nomen,Allgemeines,*,*,*,*,Gefroren,Anato Yukinojoou,Anato Yukino Jooh
EOS

python3


>>> import MeCab
>>> m_t = MeCab.Tagger('-Ochasen \
                        -u /usr/local/lib/mecab/dic/userdic/add.dic')
>>> txt = 'Lass uns Anna und die Schneekönigin sehen.'
>>> print(m_t.parse(txt))
Lass uns Anna und die Schneekönigin sehen.

Wenn Sie es mit dem installierten mecab-ipadic-neologd verwenden möchten

python3


>>> import MeCab
>>> m_t = MeCab.Tagger('-Ochasen \
                        -d /usr/lib/mecab/dic/mecab-ipadic-neologd \
                        -u /usr/local/lib/mecab/dic/userdic/add.dic')

Wenn Sie es ändern, wird es gleichzeitig gelesen.

Fazit

Nach einigem Ausprobieren konnte ich bestätigen, dass es unter Python gut funktioniert. Ich würde mich freuen, wenn Sie auf Fehler hinweisen könnten.

Referenzseite

Hinzufügen von Wörtern Hinzufügen von Wörtern zum MeCab-Benutzerwörterbuch

Recommended Posts

Fügen Sie dem Benutzerwörterbuch von MeCab unter Ubuntu Wörter zur Verwendung in Python hinzu
[Japanische Version] Beurteilung der Wortähnlichkeit für Polynomwörter mit ELMo und BERT
Erkennen Sie Anomalien in Sätzen mit ELMo, BERT, USE
So installieren und verwenden Sie Tesseract-OCR
Verwendung von .bash_profile und .bashrc
So installieren und verwenden Sie Graphviz
Fügen Sie dem Benutzerwörterbuch von MeCab unter Ubuntu Wörter zur Verwendung in Python hinzu
Fügen Sie MeCab ein Benutzerwörterbuch hinzu
Verwendung von SQLite in Python
Wie man MySQL mit Python benutzt
Verwendung von PubChem mit Python
Installieren Sie Confluent-Kafka für Python unter Ubuntu
So verwenden Sie Python in Pyenv unter MacOS mit PyCall
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Anmerkung von nfc.ContactlessFrontend () von nfcpy von Python
Schritte zum Installieren der Python-Umgebung unter Ubuntu
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
[Python] Organisieren der Verwendung für Anweisungen
Memorandum über die Verwendung von Gremlin Python
Python / Wörterbuch> setdefault ()> Hinzufügen, wenn nicht im Wörterbuch
Verwendung von __slots__ in der Python-Klasse
Installieren Sie Python auf xserver, um pip zu verwenden
Verwendung von "deque" für Python-Daten
Verwenden Sie pathlib in Maya (Python2.7), um sich auf das kommende Python3.7 vorzubereiten
Verwendung regulärer Ausdrücke in Python
Verwendung ist und == in Python
Hinzufügen von Kv-Sprachsyntax-Highlights zu Spyder in Python IDE
Wenn Sie Wörter in Python zählen möchten, können Sie bequem Counter verwenden.
Ein Memorandum, weil ich beim Versuch, MeCab mit Python zu verwenden, gestolpert bin
Fügen Sie dem Benutzerwörterbuch von MeCab unter Ubuntu Wörter zur Verwendung in Python hinzu
Gibt es keinen Standardwert im Wörterbuch?
Ändern Sie die reservierten Wörter der Flask Template Engine
[AWS IoT] Registrieren Sie Dinge in AWS IoT mithilfe des AWS IoT Python SDK
Registrieren Sie zum ersten Mal eine Aufgabe in cron
Implementieren Sie die Django-Benutzererweiterung und registrieren Sie die angehängten Informationen
Verwendung der C-Bibliothek in Python
Einfache Möglichkeit, Python 2.7 unter Cent OS 6 zu verwenden
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
Verwendung von Python Kivy ④ ~ Ausführung unter Android ~
So führen Sie MeCab unter Ubuntu 18.04 LTS Python aus
Zusammenfassung der Verwendung von MNIST mit Python
MeCab: Hinzufügen neuer Wörter zum benutzerdefinierten Wörterbuch (Windows)
Verwenden Sie ein Kryptografiemodul, das OpenSSL in Python verarbeitet
Dinge, die Sie bei der Verwendung von Python beachten sollten, wenn Sie MATLAB verwenden
So fügen Sie Python ein Modul hinzu, das Sie in Julialang eingefügt haben
Verwenden Sie in Ihrem Python keine readlines () für Anweisungen!
Wie man tkinter mit Python in Pyenv benutzt
So schreiben Sie in Error Repoting in Python auf GAE
Verwenden Sie die LibreOffice-App in Python (3) Bibliothek hinzufügen
Als ich versuchte, Python unter WSL (Windows-Subsystem für Linux) zu verwenden, blieb es in Jupyter stecken (gelöst)
Verwenden Sie os.getenv, um Umgebungsvariablen in Python abzurufen
Verwenden Sie das Kintone API SDK für Python mit Raspberry Pi (speichern Sie Daten einfach in Kintone von Raspberry Pi).
Hinweise zur Verwendung von StatsModels, die lineare Regression und GLM in Python verwenden können
Ein Tool zum Erstellen von Maskenbildern für ETC in Python
[BigQuery] Verwendung der BigQuery-API für die Python-Tabellenerstellung-
[Python] [Django] Verwendung des Auswahlfelds und Hinzufügen von Optionen
So führen Sie Python im virtuellen Raum aus (für MacOS)
Ein Memorandum zur Verwendung von Keras 'keras.preprocessing.image
So fügen Sie einer PDF-Datei Seitenzahlen hinzu (in Python)
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Praktisch, um Matplotlib-Unterzeichnungen in for-Anweisungen zu verwenden
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
Ich möchte OpenJDK 11 mit Ubuntu Linux 18.04 LTS / 18.10 verwenden
Verwendung von Django mit Google App Engine / Python
Verwendung des in Lobe in Python erlernten Modells
Ich möchte R-Datensatz mit Python verwenden
Web-Scraping für Anfänger mit Python (4) --2 Scraping auf Cloud Shell
Verwenden Sie config.ini mit Python