Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren

Zweck

Installieren Sie Cabocha 0.68 und führen Sie eine Abhängigkeitsanalyse mit Python durch

Annahme

Habe Mecab installiert https://code.google.com/p/mecab/downloads/list

Hier wird davon ausgegangen, dass mecab-0.996.exe mit UTF-8 installiert ist.

Cabocha installieren

  1. Laden Sie cabocha-0.68.exe herunter  http://code.google.com/p/cabocha/downloads/list

  2. Führen Sie die heruntergeladene EXE-Datei aus. Zu diesem Zeitpunkt sollte der auszuwählende Zeichencode mit dem Zeichencode von Mecab übereinstimmen.

  1. Ermöglichen Sie die Ausführung von Cabocha über "C: \ Programme (x86) \ CaboCha \ bin" im Pfad der Umgebungsvariablen. Python wird auch benötigt, um auf die DLL zuzugreifen.

  2. Bestätigen Sie die Ausführung Erstellen Sie eine UTF8-Datei mit dem Namen input.txt, geben Sie die zu analysierende Zeichenfolge ein und führen Sie an der Eingabeaufforderung Folgendes aus.

cabocha < input.txt > out.txt

Wenn es richtig analysiert werden kann, wird die folgende Datei ausgegeben.


Hier---D
Marisa-D
Es ist ein langsamer Ort!
EOS

Beachten Sie, dass der Grund, warum die Datei hier weitergeleitet wird, darin besteht, dass UTF-8 nicht an der Eingabeaufforderung verarbeitet werden kann.

Dies ist Marisas langsamer Ort!
EOS

In diesem Fall lautet der Zeichencode von input.txt möglicherweise nicht utf-8. (Beachten Sie, dass der Standardwert ANSI ist, wenn Sie mit Notepad erstellt werden.)

Außerdem kann der folgende Fehler auftreten.

svm.cpp(140) [version == MODEL_VERSION] incompatible version: 101
svm.cpp(751) [size >= 2] dep.cpp(79) [!failed] no such file or directory: C:\Program Files (x86)\CaboCha\etc\..\model\dep.ipa.model

In diesem Fall wurde die Version von Cabocha nicht ordnungsgemäß aktualisiert. Löschen Sie daher den folgenden Ordner.

C:\Users\Nutzername\AppData\Local\VirtualStore\Program Files(x86)\CaboCha

Stellen Sie Cabocha bei Python zur Verfügung.

  1. Laden Sie cabocha-0.68.tar.bz herunter  http://code.google.com/p/cabocha/downloads/list Diese Datei kann mit Lhaplus usw. dekomprimiert werden.

  2. Verschieben Sie das aktuelle Verzeichnis in den Python-Ordner im entpackten Ordner und führen Sie den folgenden Befehl aus.

python setup.py install
  1. Der folgende Fehler tritt auf.
Traceback (most recent call last):
  File "setup.py", line 13, in <module>
    version = cmd1("cabocha-config --version"),
  File "setup.py", line 7, in cmd1
    return os.popen(str).readlines()[0][:-1]
IndexError: list index out of range

Dies liegt daran, dass cabocha-config unter Windows nicht installiert ist

  1. Ändern Sie setup.py.

Vorher ändern


#!/usr/bin/env python

from distutils.core import setup,Extension,os
import string

def cmd1(str):
    return os.popen(str).readlines()[0][:-1]

def cmd2(str):
    return string.split (cmd1(str))

setup(name = "cabocha-python",
	version = cmd1("cabocha-config --version"),
	py_modules=["CaboCha"],
	ext_modules = [
		Extension("_CaboCha",
			["CaboCha_wrap.cxx",],
			include_dirs=cmd2("cabocha-config --inc-dir"),
			library_dirs=cmd2("cabocha-config --libs-only-L"),
			libraries=cmd2("cabocha-config --libs-only-l"))
			])


Schreiben Sie die Version und den Inhalt von ext_modules mit den installierten Informationen neu.

Nach der veränderung


#!/usr/bin/env python

from distutils.core import setup,Extension,os
import string

def cmd1(str):
    return os.popen(str).readlines()[0][:-1]

def cmd2(str):
    return string.split (cmd1(str))

setup(name = "cabocha-python",
	version = "0.68",
	py_modules=["CaboCha"],
	ext_modules = [
		Extension("_CaboCha",
			["CaboCha_wrap.cxx",],
			include_dirs=[r"C:\Program Files (x86)\CaboCha\sdk"],
			library_dirs=[r"C:\Program Files (x86)\CaboCha\sdk"],
			libraries=['libcabocha'])
])
  1. Führen Sie setup.py erneut aus
python setup.py install
  1. Geben Sie das folgende Beispielprogramm ein und probieren Sie es aus.
#!/usr/bin/python
# -*- coding: utf-8 -*-

import CaboCha

# c = CaboCha.Parser("");
c = CaboCha.Parser("")

sentence = "Gib den Hut zurück"

#print c.parseToString(sentence)

#tree =  c.parse(sentence)
#
tree =  c.parse(sentence)
print tree.toString(CaboCha.FORMAT_TREE)
print tree.toString(CaboCha.FORMAT_LATTICE)
#print tree.toString(CaboCha.FORMAT_XML)

for i in range(tree.chunk_size()):
    chunk = tree.chunk(i)
    print 'Chunk:', i
    print ' Score:', chunk.score
    print ' Link:', chunk.link
    print ' Size:', chunk.token_size
    print ' Pos:', chunk.token_pos
    print ' Head:', chunk.head_pos #Hauptadresse
    print ' Func:', chunk.func_pos #Funktionswort
    print ' Features:',
    for j in range(chunk.feature_list_size):
        print '  ' + chunk.feature_list(j) 
    print
    print 'Text' 
    for ix  in range(chunk.token_pos,chunk.token_pos + chunk.token_size):
      print ' ', tree.token(ix).surface 
    print

for i in range(tree.token_size()):
    token = tree.token(i)
    print 'Surface:', token.surface
    print ' Normalized:', token.normalized_surface
    print ' Feature:', token.feature
    print ' NE:', token.ne #Einzigartiger Ausdruck
    print ' Info:', token.additional_info
    print ' Chunk:', token.chunk
    print

Hut-D
Rückkehr
EOS

* 0 1D 0/1 0.000000
Hut Nomen,Allgemeines,*,*,*,*,Hut,Bogen,Boshi
Hilfs,Fallassistent,Allgemeines,*,*,*,Zu,Wo,Wo
* 1 -1D 0/0 0.000000
Verb, um zurückzukehren,Unabhängigkeit,*,*,Godan / Sa Linie,Grundform,Rückkehr,Kaes,Kaes
EOS

Chunk: 0
 Score: 0.0
 Link: 1
 Size: 2
 Pos: 0
 Head: 0
 Func: 1
 Features:   FCASE:Zu
  FHS:Hut
  FHP0:Substantiv
  FHP1:Allgemeines
  FFS:Zu
  FFP0:Partikel
  FFP1:Fallassistent
  FFP2:Allgemeines
  FLS:Hut
  FLP0:Substantiv
  FLP1:Allgemeines
  FRS:Zu
  FRP0:Partikel
  FRP1:Fallassistent
  FRP2:Allgemeines
  LF:Zu
  RL:Hut
  RH:Hut
  RF:Zu
  FBOS:1
  GCASE:Zu
  A:Zu

Text
Hut
Zu

Chunk: 1
 Score: 0.0
 Link: -1
 Size: 1
 Pos: 2
 Head: 0
 Func: 0
 Features:   FHS:Rückkehr
  FHP0:Verb
  FHP1:Unabhängigkeit
  FHF:Grundform
  FFS:Rückkehr
  FFP0:Verb
  FFP1:Unabhängigkeit
  FFF:Grundform
  FLS:Rückkehr
  FLP0:Verb
  FLP1:Unabhängigkeit
  FLF:Grundform
  FRS:Rückkehr
  FRP0:Verb
  FRP1:Unabhängigkeit
  FRF:Grundform
  LF:Rückkehr
  RL:Rückkehr
  RH:Rückkehr
  RF:Rückkehr
  FEOS:1
  A:Grundform

Text
Rückkehr

Surface:Hut
 Normalized:Hut
 Feature:Substantiv,Allgemeines,*,*,*,*,Hut,Bogen,Boshi
 NE: None
 Info: None
 Chunk: <CaboCha.Chunk; proxy of <Swig Object of type 'CaboCha::Chunk *' at 0x0274A170> >

Surface:Zu
 Normalized:Zu
 Feature:Partikel,Fallassistent,Allgemeines,*,*,*,Zu,Wo,Wo
 NE: None
 Info: None
 Chunk: None

Surface:Rückkehr
 Normalized:Rückkehr
 Feature:Verb,Unabhängigkeit,*,*,Godan / Sa Linie,Grundform,Rückkehr,Kaes,Kaes
 NE: None
 Info: None
 Chunk: <CaboCha.Chunk; proxy of <Swig Object of type 'CaboCha::Chunk *' at 0x0274A170> >


Recommended Posts

Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren
Python 3.6 unter Windows ... und zu Xamarin.
Setzen Sie MicroPython unter Windows ein, um ESP32 unter Python auszuführen
Versuchen Sie, das Mensch-Maschine-Diagramm mit Python zu lösen
Installieren Sie OpenCV 4.0 und Python 3.7 unter Windows 10 mit Anaconda
Setzen Sie die MeCab-Bindung für Python unter Windows, Mac und Linux mit pip ein
Einführung in Python mit Atom (unterwegs)
So starten Sie das Python-Projekt im Jahr 2020 (Windows WSL und Mac Common)
Versuchen Sie, das Programmier-Herausforderungsbuch mit Python3 zu lösen
Versuchen Sie, das Problem der Zuweisung von Schulungsärzten mit Python zu lösen
Installieren Sie Selenium auf Ihrem Mac und probieren Sie es mit Python aus
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
Versuchen Sie, den toio core cube unter Windows 10 / macOS / Linux mit der düsteren Python-Bibliothek auszuführen
Versuchen Sie, ein Unterfenster mit PyQt5 und Python zu öffnen
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Speichern Sie Bilder im Web mit Python (Colab) auf einem Laufwerk.
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Versuchen Sie, die verstümmelten Zeichen im angehängten Dateinamen mit Python zu entschlüsseln
Verwenden Sie Python, um Windows und Mac zu überwachen und Informationen zu den Apps zu sammeln, an denen Sie arbeiten
Versuchen Sie, Facebook mit Python zu betreiben
Verknüpfen Sie Modelica und Python unter Windows
Mecab / Cabocha / KNP unter Python + Windows
Erste Schritte mit Python 3.8 unter Windows
Setzen Sie Ubuntu in Raspi ein, setzen Sie Docker darauf und steuern Sie GPIO mit Python aus dem Container
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
IME On / Off wird in Zusammenarbeit mit Python und Arduino durch LED angezeigt
Installieren Sie OpenCV2.4 (+ Python) schnell unter OS X und probieren Sie das Beispiel aus
So verwenden Sie Python in Pyenv unter MacOS mit PyCall
Verkleide das Gras auf GitHub und versuche Ingenieur zu werden.
Versuchen Sie, Google Map und Geography Map mit Python anzuzeigen
Die stärkste Möglichkeit, MeCab und CaboCha mit Google Colab zu verwenden
Der Weg zur Installation von Python und Flask auf einem Offline-PC
Der Versuch, Segmentbäume Schritt für Schritt zu implementieren und zu verstehen (Python)
Versuchen Sie, den kürzesten Weg mit Python + NetworkX + Social Data zu lösen
[Python] Versuchen Sie, Zeichen aus Bildern mit OpenCV und pyocr zu erkennen
Versuchen Sie, Farbfilme mit Python zu reproduzieren
Von Python bis zur Verwendung von MeCab (und CaboCha)
Führen Sie das Servo mit Python unter ESP32 (Windows) aus.
[Kivy] So installieren Sie Kivy unter Windows [Python]
Fraktal zum Erstellen und Spielen mit Python
Ein Memo mit Python2.7 und Python3 in CentOS
Ich möchte Protokolle mit Python analysieren
Laden Sie mit Python Dateien im Web herunter
Tweet-Analyse mit Python, Mecab und CaboCha
Python Amateur versucht die Liste zusammenzufassen ①
Der Weg zum Kompilieren zu Python 3 mit Thrift
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
Stellen Sie mit Ihrem Smartphone eine Verbindung zum VPN her und schalten Sie den Server aus / ein
Versuchen Sie, Breiten- / Längen- und Weltkoordinaten mit Python ineinander umzuwandeln
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Fügen Sie auf beiden Seiten ein Konfidenzintervall von 95% hinzu, um mit Python / Matplotlib zu rechnen
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
Versuchen Sie, Foldl und Foldr mit Python: Lambda zu machen. Auch Zeitmessung
Versuchen Sie, die Höhendaten des National Land Research Institute mit Python abzubilden
Arbeitsnotiz zum Migrieren und Aktualisieren von Skripten der Python 2-Serie in der Cloud auf 3-Serien
Vorgehensweise zum Erstellen einer virtuellen Python-Umgebung mit VS-Code unter Windows
Versuchen Sie, eine Python- und Anaconda-Umgebung auf einem Mac zu erstellen (mit pyenv, conda).
Versuchen Sie, Python-Code zu schreiben, um Go-Code zu generieren. - Versuchen Sie, JSON-to-Go usw. zu portieren
Ich habe es mit den Top 100 PyPI-Paketen versucht.> Ich habe versucht, die auf Python installierten Pakete grafisch darzustellen
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
Lesen Sie die Datei mit Python und löschen Sie die Zeilenumbrüche [Hinweise zum Lesen der Datei]