[PYTHON] [Morphologische Analyse] So fügen Sie Mecab ein neues Wörterbuch hinzu

Umgebung

Mac Mecab installiert

Verfahren

1 Laden Sie die Keyword-Datei herunter und erstellen Sie eine CSV-Datei

1-1 Herunterladen der Keyword-Datei

#Hatena-Schlüsselwort
curl -L http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv | iconv -f euc-jp -t utf-8 > keywordlist_furigana.csv
# Wikipedia
curl -L http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-all-titles-in-ns0.gz | gunzip > jawiki-latest-all-titles-in-ns0

1-2 Nomenklatur in CSV-Datei extrahieren

sample.rb


require 'csv'

original_data = {
  wikipedia: 'jawiki-latest-all-titles-in-ns0',
  hatena: 'keywordlist_furigana.csv'
}

CSV.open("custom.csv", 'w') do |csv|
  original_data.each do |type, filename|
    next unless File.file? filename
    open(filename).each do |title|
      title.strip!

      next if title =~ %r(^[+-.$()?*/&%!"'_,]+)
      next if title =~ /^[-.0-9]+$/
      next if title =~ /Begriffsklärung/
      next if title =~ /_\(/
      next if title =~ /^PJ:/
      next if title =~ /Figuren/
      next if title =~ /Aufführen/

      title_length = title.length

      if title_length > 3
        score = [-36000.0, -400 * (title_length ** 1.5)].max.to_i
        csv << [title, nil, nil, score, 'Substantiv', 'Allgemeines', '*', '*', '*', '*', title, '*', '*', type]
      end
    end
  end
end

Führen Sie danach sample.rb aus

ruby sample.rb

2 Erstellen Sie ein Benutzerwörterbuch und fügen Sie es hinzu

Erstellen Sie ein Benutzerwörterbuch custom.dic mit dem Befehl mecab-dict-index basierend auf der auf diese Weise erstellten CSV-Datei.

/usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic -u custom.dic -f utf-8 -t utf-8 custom.csv

Stellen Sie sicher, dass Sie hier custom.dic haben.

Gehen Sie danach im Terminal zu / usr / local / lib / mecab / dic / ipadic und

$ sudo vi dicrc

Und

Erstellen Sie abschließend ein Verzeichnis custom.dic.

userdic ="Speicherort des Verzeichnisses des erstellten Wörterbuchs"

Einstellen.

Ergebnis

Lassen Sie uns den folgenden Code implementieren.

sample01.py


#coding:utf-8
import MeCab
tagger = MeCab.Tagger("-Ochasen")
result = tagger.parse("Wolke")
print result

Wenn Sie kein Wörterbuch hinzufügen, wird zunächst "Cloud" angezeigt.

Kura Kura Kura Nomen-Proprietäre Nomenklatur-Allgemeines
Udo Udo Nomen-Allgemeines

Während es war

Cloud Cloud Substantiv-Allgemeines

wurde.

Wenn Sie dies tun können, sind Sie fertig. Danke für deine harte Arbeit.

Recommended Posts

[Morphologische Analyse] So fügen Sie Mecab ein neues Wörterbuch hinzu
Fügen Sie MeCab ein Wörterbuch hinzu
MeCab: Hinzufügen neuer Wörter zum benutzerdefinierten Wörterbuch (Windows)
Fügen Sie MeCab ein Benutzerwörterbuch hinzu
Unterschied in den morphologischen Analyseergebnissen nach Mecab-Wörterbuch
Verwendung des Wörterbuchs {}
So erstellen Sie mit Elasticsearch unter macOS Sierra schnell eine morphologische Analyseumgebung
So konvertieren Sie ein Klassenobjekt mit SQLAlchemy in ein Wörterbuch
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
[NNabla] So fügen Sie eine neue Ebene zwischen den mittleren Ebenen eines vorgefertigten Netzwerks hinzu
[Python] Morphologische Analyse mit MeCab
So rufen Sie eine Funktion auf
Wie man ein Terminal hackt
So erstellen Sie eine neue virtuelle Python-Umgebung unter Ubuntu
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
Wie erstelle ich eine japanisch-englische Übersetzung?
So setzen Sie einen symbolischen Link
So fügen Sie MicroPython ein C-Modul hinzu ...
[Python] So fügen Sie einer Tabelle Zeilen und Spalten hinzu (pandas DataFrame)
Wie man einen lockeren Bot macht
So erstellen Sie ein Conda-Paket
Wie erstelle ich einen Crawler?
So erstellen Sie eine rekursive Funktion
So fügen Sie sudo hinzu, wenn Sie das Debug ausführen
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
■ [Google Colaboratory] Verwenden Sie die morphologische Analyse (MeCab)
Wie erstelle ich eine Docker-Datei?
[Blender] So erstellen Sie ein Blender-Plug-In
So löschen Sie einen Docker-Container
Metaklasse (delete) zum Generieren eines Wörterbuchs
So fügen Sie ein AWS EBS-Volume hinzu
Ich habe mit Mecab gespielt (morphologische Analyse)!
Wie erstelle ich einen Crawler?
So erstellen Sie eine Konfigurationsdatei
[Python] Erstellen einer Wörterbuchtypliste, Hinzufügen / Ändern / Löschen von Elementen und Extrahieren mit einer for-Anweisung
So generieren Sie eine neue Protokollgruppe in CloudWatch mit Python in Lambda
[Django 2.2] Fügen Sie neuen Posts mit einem Datum mithilfe eines Vorlagenfilters ein neues Abzeichen hinzu
[NNabla] Hinzufügen einer Quantisierungsschicht zur mittleren Schicht eines trainierten Modells
Fügen Sie GitHub per E-Mail ein neues Problem hinzu (Amazon SES-Nutzungsversion)
Fügen Sie Ihrem Computer eine GPIO-Karte hinzu. (1)
So erstellen Sie einen Klon aus Github
So erstellen Sie eine Sphinx-Übersetzungsumgebung
So erstellen Sie einen Git-Klonordner
Qiita (1) Wie schreibe ich einen Codenamen?
So zeichnen Sie ein Diagramm mit Matplotlib
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
Wie man Mecab, neologd-ipadic auf Colab verwendet
[Colab] So kopieren Sie einen riesigen Datensatz
So installieren Sie ein Paket mithilfe eines Repositorys
[Ubuntu] So führen Sie ein Shell-Skript aus
Wie bekomme ich Stacktrace in Python?
Verschiedene Möglichkeiten, ein Wörterbuch zu erstellen (Erinnerungen)
So erstellen Sie ein Repository aus Medien
Skript zum Erstellen einer Mac-Wörterbuchdatei
So erstellen Sie einen benutzerdefinierten Backtrader-Indikator
So fügen Sie der Anaconda-Umgebung ein Python-Modul hinzu
So wählen Sie eine Seaborn-Farbpalette aus
So testen Sie auf einer von Django authentifizierten Seite
Wie erstelle ich eine Pelican Site Map?