MeCab de Python

Tâche

Méthode

supposition

Contenu

1. Créez l'environnement de construction

2. Créez libmecab.lib et libmecab.dll (build MeCab)

:feature_index.cpp.patch


--- mecab-0.996.org/src/feature_index.cpp	Sun Nov 25 14:35:33 2012
+++ mecab-0.996/src/feature_index.cpp	Sat Mar  1 11:19:20 2014
@@ -353,7 +353,7 @@
               if (!r) goto NEXT;
               os_ << r;
             } break;
-            case 't':  os_ << (size_t)path->rnode->char_type;     break;
+            case 't':  os_ << (unsigned int)path->rnode->char_type;     break;
             case 'u':  os_ << ufeature; break;
             case 'w':
               if (path->rnode->stat == MECAB_NOR_NODE) {

:writer.cpp.patch


--- mecab-0.996.org/src/writer.cpp	Sun Sep 30 01:44:27 2012
+++ mecab-0.996/src/writer.cpp	Sat Mar  1 11:20:32 2014
@@ -257,7 +257,7 @@
             // input sentence
           case 'S': os->write(lattice->sentence(), lattice->size()); break;
             // sentence length
-          case 'L': *os << lattice->size(); break;
+          case 'L': *os << (unsigned int)lattice->size(); break;
             // morph
           case 'm': os->write(node->surface, node->length); break;
           case 'M': os->write(reinterpret_cast<const char *>

:Makefile.msvc.in.patch


--- mecab-0.996.org/src/Makefile.msvc.in	Sun Sep 30 01:44:27 2012
+++ mecab-0.996/src/Makefile.msvc.in	Thu Mar  6 02:36:41 2014
@@ -3,7 +3,7 @@
 LINK=link.exe
 
 CFLAGS = /EHsc /O2 /GL /GA /Ob2 /nologo /W3 /MT /Zi /wd4800 /wd4305 /wd4244
-LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X86 ADVAPI32.LIB
+LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X86_amd64 ADVAPI32.LIB
 DEFS =  -D_CRT_SECURE_NO_DEPRECATE -DMECAB_USE_THREAD \
         -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=@DIC_VERSION@ \
         -DVERSION="\"@VERSION@\"" -DPACKAGE="\"mecab\"" \
> call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" X86_amd64
> nmake -f Makefile.msvc.in

3. Créer un programme d'installation (créer une liaison Python)

setup.py


#!/usr/bin/env python

from distutils.core import setup,Extension

setup(name = "mecab-python",
	version = "0.996",
	py_modules=["MeCab"],
	ext_modules = [
		Extension("_MeCab",
			["MeCab_wrap.cxx",],
			include_dirs=['C:/Program Files (x86)/MeCab/sdk'],
			library_dirs=['C:/Program Files (x86)/MeCab/sdk'],
			libraries=["libmecab"])
			])
> python setup.py bdist_wininst

4. Installation (exécution du programme d'installation)

5. Contrôle de fonctionnement

> python test.py
0.996
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un mot auxiliaire,Assistance,*,*,*,*,Est,C,sensationnel
Cet accessoire,*,*,*,*,*,cette,cette,cette
Nomenclature du livre,Général,*,*,*,*,Livre,Hong,Hong
Mots auxiliaires,Assistant de cas,Général,*,*,*,À,Wo,Wo
Deux nomenclatures,nombre,*,*,*,*,deux,ré,ré
Ro substantif,Général,*,*,*,*,Ro,Rowe,Faible
Mots auxiliaires,Assistant de cas,Général,*,*,*,À,Wo,Wo
Voir verbe,Indépendance,*,*,Un pas,Type continu,à voir,Mi,Mi
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
Nomenclature féminine,Général,*,*,*,*,Femme,Josei,Josei
Ni,Assistant de cas,Général,*,*,*,À,ré,ré
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

  	BOS/EOS,*,*,*,*,*,*,*,*
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un mot auxiliaire,Assistance,*,*,*,*,Est,C,sensationnel
Cet accessoire,*,*,*,*,*,cette,cette,cette
Nomenclature du livre,Général,*,*,*,*,Livre,Hong,Hong
Mots auxiliaires,Assistant de cas,Général,*,*,*,À,Wo,Wo
Deux nomenclatures,nombre,*,*,*,*,deux,ré,ré
Ro substantif,Général,*,*,*,*,Ro,Rowe,Faible
Mots auxiliaires,Assistant de cas,Général,*,*,*,À,Wo,Wo
Voir verbe,Indépendance,*,*,Un pas,Type continu,à voir,Mi,Mi
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
Nomenclature féminine,Général,*,*,*,*,Femme,Josei,Josei
Ni,Assistant de cas,Général,*,*,*,À,ré,ré
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
  	BOS/EOS,*,*,*,*,*,*,*,*
EOS
EOS
filename: C:\Program Files (x86)\MeCab\etc\..\dic\ipadic\sys.dic
charset: UTF-8
size: 392126
type: 0
lsize: 1316
rsize: 1316
version: 102

référence

Recommended Posts

MeCab de Python
Rendre MeCab disponible à partir de Python 3
Remarques sur l'utilisation de MeCab depuis Python
sql à sql
De Python à l'utilisation de MeCab (et CaboCha)
Utilisez Thingsspeak de Python
Touchez MySQL depuis Python 3
Exploitez Filemaker depuis Python
Utiliser fluentd de python
Accéder à bitcoind depuis python
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Python depuis ou import
Utilisez MySQL depuis Python
Utiliser mecab avec Python 3
Exécutez Python à partir d'Excel
Installer Python à partir de la source
Faites fonctionner le neutron de Python!
Utiliser MySQL depuis Python
Faire fonctionner LXC depuis Python
Manipuler riak depuis python
Forcer Python depuis Fortran
Utilisez BigQuery depuis Python.
Exécuter la commande depuis Python
[Python] Lire depuis Stdin
Utilisez mecab-ipadic-neologd de Python
Aplatir à l'aide du rendement Python de
Appeler CPLEX depuis Python (DO cplex)
Deep Python appris de DEAP
Publier de Python vers Slack
Fonctionnalités de grammaire ajoutées à partir de Python3.6
Flirter de PHP à Python
Python
Informations obtenues à partir de tweet_id (Python)
OCR à partir de PDF en Python
Collecte d'informations sur Twitter avec Python (analyse morphologique avec MeCab)
Exécutez le script illustrator à partir de python
Utiliser MySQL depuis Anaconda (python)
Anaconda mis à jour de 4.2.0 à 4.3.0 (python3.5 mis à jour vers python3.6)
Étude de Python Hour4: orientée objet ②
Interroger Athena depuis Lambda Python
Accéder à Oracle DB depuis Python
Étude de Python Hour3: Fonctions
Extraction de mots-clés par MeCab (python)
Arrêtez Omxplayer à partir du code Python
Passer de python2.7 à python3.6 (centos7)
Connectez-vous à sqlite depuis python
Installez pyenv depuis Homebrew, installez Python depuis pyenv
Étude de Python Hour4: orientée objet ①
Convention de dénomination Python (à partir de PEP8)
Avec skype, notifiez avec skype de python!
Utilisez l'API e-Stat de Python
Enregistrer le problème Redmine de Python
Appelez Matlab depuis Python pour optimiser
Exécuter le script Python à partir du fichier de commandes
Python: exclure les balises des données html
Utiliser la PNL Stanford Core à partir de Python
Toucher les objets Python d'Elixir
Frappez les données du trésor de Python Pandas
Utilisation de Rstan de Python avec PypeR