Mettez Cabocha 0.68 dans Windows et essayez d'analyser la dépendance avec Python

Objectif

Installez Cabocha 0.68 et effectuez une analyse des dépendances avec Python

supposition

Faire installer Mecab https://code.google.com/p/mecab/downloads/list

Ici, on suppose que mecab-0.996.exe est installé avec UTF-8.

Installation de Cabocha

  1. Téléchargez cabocha-0.68.exe  http://code.google.com/p/cabocha/downloads/list

  2. Exécutez le fichier EXE téléchargé. À ce stade, le code de caractère à sélectionner doit être le même que le code de caractère de Mecab.

  1. Rendez possible l'exécution de cabocha via "C: \ Program Files (x86) \ CaboCha \ bin" dans le chemin de la variable d'environnement. Il est également nécessaire pour python d'accéder à la DLL.

  2. Confirmer l'exécution Créez un fichier UTF8 appelé input.txt, entrez la chaîne de caractères que vous souhaitez analyser et exécutez ce qui suit à partir de l'invite de commande.

cabocha < input.txt > out.txt

S'il peut être analysé correctement, le fichier suivant sera généré.


ici---D
Marisa-D
C'est un endroit lent!
EOS

Notez que la raison pour laquelle le fichier est acheminé ici est que UTF-8 ne peut pas être géré à l'invite de commande.

C'est l'endroit lent de Marisa!
EOS

Si cela se produit, le code de caractère de input.txt peut ne pas être utf-8. (Notez que la valeur par défaut est ANSI lorsqu'elle est créée avec le Bloc-notes)

En outre, l'erreur suivante peut se produire.

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

Dans ce cas, la version de cabocha n'a pas été correctement mise à jour, supprimez donc le dossier suivant.

C:\Users\Nom d'utilisateur\AppData\Local\VirtualStore\Program Files(x86)\CaboCha

Rendre Cabocha disponible à partir de Python.

  1. Téléchargez cabocha-0.68.tar.bz  http://code.google.com/p/cabocha/downloads/list Ce fichier peut être décompressé avec Lhaplus etc.

  2. Déplacez le répertoire actuel dans le dossier python dans le dossier décompressé et exécutez la commande suivante.

python setup.py install
  1. L'erreur suivante se produit.
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

Cela se produit car cabocha-config n'est pas installé sur Windows

  1. Modifiez setup.py.

Changer avant


#!/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"))
			])


Réécrire la version et le contenu des ext_modules avec les informations installées.

Après le changement


#!/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. Exécutez à nouveau setup.py
python setup.py install
  1. Entrez le programme exemple suivant et essayez-le.
#!/usr/bin/python
# -*- coding: utf-8 -*-

import CaboCha

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

sentence = "Retourner le chapeau"

#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 #Adresse principale
    print ' Func:', chunk.func_pos #Mot fonctionnel
    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 #Expression unique
    print ' Info:', token.additional_info
    print ' Chunk:', token.chunk
    print

Chapeau-D
revenir
EOS

* 0 1D 0/1 0.000000
Chapeau substantif,Général,*,*,*,*,chapeau,Arc,Boshi
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
* 1 -1D 0/0 0.000000
Verbe retourner,Indépendance,*,*,Ligne Godan / Sa,Forme basique,revenir,Kaes,Kaes
EOS

Chunk: 0
 Score: 0.0
 Link: 1
 Size: 2
 Pos: 0
 Head: 0
 Func: 1
 Features:   FCASE:À
  FHS:chapeau
  FHP0:nom
  FHP1:Général
  FFS:À
  FFP0:Particule
  FFP1:Assistant de cas
  FFP2:Général
  FLS:chapeau
  FLP0:nom
  FLP1:Général
  FRS:À
  FRP0:Particule
  FRP1:Assistant de cas
  FRP2:Général
  LF:À
  RL:chapeau
  RH:chapeau
  RF:À
  FBOS:1
  GCASE:À
  A:À

Text
chapeau
À

Chunk: 1
 Score: 0.0
 Link: -1
 Size: 1
 Pos: 2
 Head: 0
 Func: 0
 Features:   FHS:revenir
  FHP0:verbe
  FHP1:Indépendance
  FHF:Forme basique
  FFS:revenir
  FFP0:verbe
  FFP1:Indépendance
  FFF:Forme basique
  FLS:revenir
  FLP0:verbe
  FLP1:Indépendance
  FLF:Forme basique
  FRS:revenir
  FRP0:verbe
  FRP1:Indépendance
  FRF:Forme basique
  LF:revenir
  RL:revenir
  RH:revenir
  RF:revenir
  FEOS:1
  A:Forme basique

Text
revenir

Surface:chapeau
 Normalized:chapeau
 Feature:nom,Général,*,*,*,*,chapeau,Arc,Boshi
 NE: None
 Info: None
 Chunk: <CaboCha.Chunk; proxy of <Swig Object of type 'CaboCha::Chunk *' at 0x0274A170> >

Surface:À
 Normalized:À
 Feature:Particule,Assistant de cas,Général,*,*,*,À,Wo,Wo
 NE: None
 Info: None
 Chunk: None

Surface:revenir
 Normalized:revenir
 Feature:verbe,Indépendance,*,*,Ligne Godan / Sa,Forme basique,revenir,Kaes,Kaes
 NE: None
 Info: None
 Chunk: <CaboCha.Chunk; proxy of <Swig Object of type 'CaboCha::Chunk *' at 0x0274A170> >


Recommended Posts

Mettez Cabocha 0.68 dans Windows et essayez d'analyser la dépendance avec Python
Python 3.6 sous Windows ... et vers Xamarin.
Mettez MicroPython sur Windows pour exécuter ESP32 sur Python
Essayez de résoudre le diagramme homme-machine avec Python
Installez OpenCV 4.0 et Python 3.7 sur Windows 10 avec Anaconda
Mettre la liaison MeCab pour Python sur Windows, Mac et Linux avec pip
Introduction à Python avec Atom (en route)
Comment démarrer le projet Python en 2020 (Windows WSL et Mac commun)
Essayez de résoudre le livre des défis de programmation avec python3
Essayez de résoudre le problème d'affectation du médecin de formation avec Python
Installez le sélénium sur votre Mac et essayez-le avec python
Essayez le fonctionnement de la base de données avec Python et visualisez avec d3
Essayez d'exécuter le cube core toio sur Windows 10 / macOS / Linux avec la bibliothèque Python bleak
Essayez d'ouvrir une sous-fenêtre avec PyQt5 et Python
Essayez d'automatiser le fonctionnement des périphériques réseau avec Python
Enregistrer des images sur le Web sur un lecteur avec Python (Colab)
J'ai essayé de changer le script python de 2.7.11 à 3.6.0 sur Windows10
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Utilisez Python pour surveiller Windows et Mac et collecter des informations sur les applications sur lesquelles vous travaillez
Essayez d'exploiter Facebook avec Python
Lier Modelica et Python sous Windows
Mecab / Cabocha / KNP sur Python + Windows
Premiers pas avec Python 3.8 sous Windows
Mettez Ubuntu dans Raspi, mettez Docker dessus et contrôlez GPIO avec python à partir du conteneur
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7
IME On / Off est affiché par LED en coopération avec Python et Arduino
Installez rapidement OpenCV2.4 (+ python) sur OS X et essayez l'exemple
Pour utiliser python, mettez pyenv sur macOS avec PyCall
Déguisez l'herbe sur GitHub et essayez de devenir ingénieur.
Essayez d'afficher la carte google et la carte géographique avec python
La meilleure façon d'utiliser MeCab et CaboCha avec Google Colab
La route pour installer Python et Flask sur un PC hors ligne
Essayer d'implémenter et de comprendre les arborescences de segments étape par étape (python)
Essayez de résoudre l'itinéraire le plus court avec les données sociales Python + NetworkX +
[Python] Essayez de reconnaître les caractères des images avec OpenCV et pyocr
Essayez de reproduire un film couleur avec Python
De Python à l'utilisation de MeCab (et CaboCha)
Exécutez le servo avec Python sur ESP32 (Windows)
[Kivy] Comment installer Kivy sur Windows [Python]
Fractal pour faire et jouer avec Python
Un mémo contenant Python2.7 et Python3 dans CentOS
Je veux analyser les journaux avec Python
Télécharger des fichiers sur le Web avec Python
Analyse des tweets avec Python, Mecab et CaboCha
Python amateur tente de résumer la liste ①
La route de la compilation vers Python 3 avec Thrift
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
Connectez-vous au VPN avec votre smartphone et éteignez / rallumez le serveur
Essayez de convertir les coordonnées de latitude / longitude et du monde entre elles avec python
Comment obtenir la différence de date et d'heure en secondes avec Python
Ajouter un intervalle de confiance de 95% des deux côtés pour la figure avec Python / Matplotlib
Utilisez python sur Raspberry Pi 3 pour éclairer la LED avec le contrôle du commutateur!
Essayez de créer foldl et foldr avec Python: lambda. Aussi mesure du temps
Essayez d'imaginer les données d'élévation du National Land Research Institute avec Python
Note de travail pour migrer et mettre à jour les scripts de la série Python 2 sur le cloud vers la série 3
Procédure de création d'un environnement virtuel Python avec VS Code sous Windows
Essayez de créer un environnement python et anaconda sur Mac (avec pyenv, conda)
Essayez d'écrire du code python pour générer du code go - Essayez de porter JSON-to-Go et ainsi de suite
J'ai essayé avec les 100 meilleurs packages PyPI> J'ai essayé de représenter graphiquement les packages installés sur Python
J'ai essayé de vérifier et d'analyser l'accélération de Python par Cython
Lisez le fichier avec python et supprimez les sauts de ligne [Notes sur la lecture du fichier]