Die morphologische Analyse ist eine der Methoden zur Verarbeitung natürlicher Sprache, die auch in Suchmaschinen verwendet wird. Sie zerlegt einen Satz / eine Phrase in "minimale sinnvolle Einheiten (= Wörter)". Es wird verwendet, um den Inhalt von Sätzen und Phrasen zu beurteilen.
Referenzseite
MeCab ist eine Open-Source-Engine für morphologische Analysen, die im Rahmen des Joint Research Unit Project der Graduiertenschule für Informatik der Kyoto University-Nippon Telegraph and Telephone Corporation, Forschungsinstitut für Kommunikationswissenschaft, entwickelt wurde. Die grundlegende Richtlinie ist ein Allzweckentwurf, der nicht von Sprache, Wörterbuch oder Korpus abhängt. Bedingte Zufallsfelder (CRF) werden zum Schätzen der Parameter verwendet. Es läuft im Durchschnitt auch schneller als ChaSen, Juman und KAKASI. Mekabu ist übrigens ein Favorit des Autors.
-Universelles Design unabhängig von Wörterbuch und Korpus -Hohe Analysegenauigkeit basierend auf dem bedingten Wahrscheinlichkeitsfeld (CRF) Schneller als ChaSen und KAKASI -Adopts Double-Array, eine Hochgeschwindigkeits-TRIE-Struktur, für den Wörterbuch-Suchalgorithmus / die Datenstruktur. -Reentrante Bibliothek -Verschiedene Bindungen für Skriptsprachen (Perl / Ruby / Python / Java / C #)
mecab | chasen | juman | kakasi | |
---|---|---|---|---|
Analysemodell | bi-Gramm Markov Modell | Markov-Modell mit variabler Länge | bi-Gramm Markov Modell | Längste Übereinstimmung |
Lernmodell | CRF (Diskriminierungsmodell) | HMM (Generationsmodell) | ||
Wörterbuch-Suchalgorithmus | Double Array | Double Array | Patricia Baum | Hash? |
Lösungssuchalgorithmus | Viterbi | Viterbi | Viterbi | Definitiv? |
Implementierung einer verketteten Tabelle | 2D-Tabelle | Automat | 2D-Tabelle? | Keine Verbindungstabelle? |
Hierarchie der Teilwörter | Unbegrenzte mehrschichtige Teile | Unbegrenzte mehrschichtige Teile | 2-stufig behoben | Kein Konzept von Teiltexten? |
Unbekannte Textverarbeitung | Zeichentyp(Die Aktionsdefinition kann geändert werden) | Zeichentyp(Unveränderlich) | Zeichentyp(Unveränderlich) | |
Einschränkungsanalyse | Möglich | 2.4.0でMöglich | 不Möglich | 不Möglich |
N-beste Lösung | Möglich | 不Möglich | 不Möglich | 不Möglich |
neologd
$ echo "Instagram glänzen" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Instagram-würdiges Substantiv,Eigenname,Allgemeines,*,*,*,Instagram glänzen,Insta fliegen,Insta fliegen
EOS
$ echo "Instagram glänzen" | mecab
Insta Nomen,Allgemeines,*,*,*,*,*
Shine Nomen,Allgemeines,*,*,*,*,Scheinen,Fliegen,Fliegen
EOS
$ echo "Ernsthaft" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Ernsthaft Nomen,Eigenname,Allgemeines,*,*,*,Ernsthaft,Ernsthaft,Ernsthaft
EOS
$ echo "Ernsthaft" | mecab
Ernstes Substantiv,Adjektiv Verbstamm,*,*,*,*,Ernsthaft,Ja wirklich,Ja wirklich
卍 nein,Allgemeines,*,*,*,*,卍,Manji,Manji
EOS
$ echo "Tapiru" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Tapi Substantiv,Eigenname,Allgemeines,*,*,*,Tapi,Tapi,Tapi
Hilfsverb,*,*,*,Literarische Sprache,Wortverbindung,Ri,Le,Le
EOS
$ echo "Tapiru" | mecab
Tapi Substantiv,Allgemeines,*,*,*,*,*
Hilfsverb,*,*,*,Literarische Sprache,Grundform,Ru,Le,Le
EOS
$ echo "Agemizawa" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Agemizawa Substantiv,Eigenname,Allgemeines,*,*,*,Agemizawa,Agemizawa,Agemizawa
EOS
$ echo "Agemizawa" | mecab
Verb erheben,Unabhängigkeit,*,*,Ein Schritt,Kontinuierlicher Typ,Geben,Alter,Alter
Mi Verb,Nicht unabhängig,*,*,Ein Schritt,Kontinuierlicher Typ,Aussicht,Mi.,Mi.
Zawa Nomen,Eigenname,Organisation,*,*,*,*
EOS
$ echo "Azamaru Fischerei" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Azamaru Fisheries Nominal,Eigenname,Allgemeines,*,*,*,Azamaru Fischerei,Azamaru Suisan,Azamaru Suisan
EOS
$ echo "Azamaru Fischerei" | mecab
Aza Nomen,Allgemeines,*,*,*,*,Aza,Aza,Aza
Maru Präfix,Mehrere Verbindungen,*,*,*,*,Maru,Maru,Maru
Fischernomenklatur,Allgemeines,*,*,*,*,Fischerei,Suisan,Suisan
EOS
$ echo "Instagram" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Instagram Nomenklatur,Eigenname,Allgemeines,*,*,*,Instagram,Instagram,Instagram
EOS
$ echo "Instagram" | mecab
Instagram Nomenklatur,Eigenname,Organisation,*,*,*,*
EOS
$ echo "Kemio" | mecab
Ke Assistent,Letzte Hilfe,*,*,*,*,Ke,Ke,Ke
Mi Verb,Unabhängigkeit,*,*,Ein Schritt,Kontinuierlicher Typ,Aussicht,Mi.,Mi.
O Verb,Nicht unabhängig,*,*,Fünf Schritte, La Linie,Wortverbindungsspezial 2,Oru,Oh,Oh
EOS
$ echo "Kemio" | mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/
Kemio Substantiv,Eigenname,Name der Person,Allgemeines,*,*,Kemio,Chemio,Chemio
EOS
mecab.py
import MeCab
t = MeCab.Tagger ('-d /usr/local/lib/mecab/dic/mecab-ipadic-neologd')#mecab-ipadic-NEologd
t = MeCab.Tagger ("-Ochasen")#Standard-Typ
text = 'Text, den Sie analysieren möchten'
t.parse('')#Verhindern Sie, dass Zeichenfolgen GC sind
m = t.parseToNode(text)
while m:
if m.feature.split(',')[0] == 'Substantiv':
print(m.surface)
result
AWS-Nomenklatur,Eigenname,Allgemeines,*,*,*,AWS,Amazon Web Services,Amazon Web Services
Berühmte Nomenklatur,Adjektiv Verbstamm,*,*,*,*,Berühmt,Yumei,Yumei
Service-Nomenklatur,Verbindung ändern,*,*,*,*,Bedienung,Bedienung,Bedienung
Amazon Nomen,Eigenname,Allgemeines,*,*,*,Amazon,Amazonas,Amazonas
Elastisches Substantiv,Eigenname,Allgemeines,*,*,*,Elastic,Elastisch,Elastisch
Nomen berechnen,Allgemeines,*,*,*,*,*
Wolke Nomen,Allgemeines,*,*,*,*,*
Es ist eines der probabilistischen grafischen Modelle, die durch ungerichtete Graphen dargestellt werden, und es ist ein Diskriminanzmodell. Die Serienbeschriftung zielt darauf ab, eine Datenzeichenfolge (z. B. eine Wortzeichenfolge) als Eingabe zu empfangen und einzelne Daten als Ausgabe zu kennzeichnen. Beispielsweise besteht das Problem, einer Wortfolge Teiltextinformationen zu geben (Eingabe: "I / ha / run" ⇒ Ausgabe: "Nomen / Assistent / Verb"). Ist fertig.
Das CRF zum Lösen der Sequenzmarkierung wird als lineares Ketten-CRF bezeichnet.
Referenzseite: [Technische Erklärung] CRF (Conditional Random Fields)
Recommended Posts