Pour Ubuntu 14.04, écrivez un mémo sur la construction de l'environnement pour permettre à CaboCha, qui effectue une analyse de dépendance des phrases naturelles japonaises, d'être utilisé à partir de Python 2.7.
Tout d'abord, MeCab, qui effectue une analyse morphologique sous CaboCha, est nécessaire en premier. Si vous avez Ubuntu 14.04, vous pouvez installer MeCab 0.996 avec apt-get.
$ sudo apt-get install build-essential mecab libmecab-dev mecab-ipadic mecab-ipadic-utf8 python-mecab
$ mecab --version
mecab of 0.996
$ mecab-config --version
0.996
$ mecab
Des cuisses et des cuisses
Sumomo substantif,Général,*,*,*,*,Sumomo,Sumomo,Sumomo
Aussi assistant,Assistance,*,*,*,*,Aussi,Mo,Mo
Cuisse substantif,Général,*,*,*,*,Les pêches,pêche,pêche
Aussi assistant,Assistance,*,*,*,*,Aussi,Mo,Mo
Cuisse substantif,Général,*,*,*,*,Les pêches,pêche,pêche
Mots auxiliaires,syndicat,*,*,*,*,de,Non,Non
Dont nomenclature,Non indépendant,Avocat possible,*,*,*,domicile,Uchi,Uchi
EOS
Puis compilez CRF ++ - 0.58.tar.gz. Il semble que la bibliothèque CaboCha y fasse référence, vous devez donc d'abord installer CRF ++. Est-ce que MeCab utilise la commande crf_learn
en interne en raison de l'utilisation de * champs de probabilité conditionnelle * (CRF), ou est-il nécessaire d'avoir un en-tête ou une bibliothèque pour la compilation?
$ tar zxvf CRF++-0.58.tar.gz
$ cd CRF++-0.58/
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig
Téléchargez cabocha-0.69.tar.gz depuis le site officiel et compilez CaboCha 0.69 + cabocha-python.
$ tar zxvf cabocha-0.69.tar.gz
$ cd cabocha-0.69
$ ./configure --with-mecab-config=`which mecab-config` --with-charset=UTF8
$ make
$ sudo make install
$ cabocha --version
cabocha of 0.69
$ cabocha
Des cuisses et des cuisses
Cuisse-D
Cuisse---D
Cuisse-D
domicile
EOS
$ cd python
$ python setup.py install #sudo/Peut entrer en usr
$ python -c "import CaboCha; p=CaboCha.Parser(); print(p.parseToString('Des cuisses et des cuisses'))"
Cuisse-D
Cuisse---D
Cuisse-D
domicile
EOS
Notez que setup.py
ne prend pas en charge les contraintes de syntaxe Python 3, donc si vous pouvez le dire à Python 3, vous devez le corriger (recherchez-le).
c'est tout.
Recommended Posts