[JAVA] Installation de Mecab qui peut se faire presque en tapant une commande

Je l'ai écrit parce que j'y étais accro. C'est principalement à cause de System.loadLibrary ...

environnement

macOS High Sierra

Télécharger

http://taku910.github.io/mecab/#download

--Corps MeCab (mecab-0.996.tar.gz) --Fichier de dictionnaire (mecab-ipadic-2.7.0-20070801.tar.gz)

Installation du corps principal

$ tar zxfv mecab-0.996.tar.gz

$ cd mecab-0.996

$ ./configure $ make $ make check $ sudo make install

Installation de dictionnaires

$ cd ../ $ tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz $ cd mecab-ipadic-2.7.0-20070801

$ ./configure --with-charset=utf8 --enable-utf8-only $ make $ make install

(* Il existe de nombreux articles qui modifient manuellement le fichier de paramètres, mais ce n'est pas nécessaire) (Si vous définissez l'option --with-charset = utf8 --enable-utf8-only dans la commande configure, le processus de conversion du codage du fichier dictionnaire d'EUC en UTF-8 sera exécuté. À ce stade, UTF-8 est exécuté manuellement. Si vous passez à, le codage du fichier d'origine n'est pas EUC, il échouera donc avec une erreur.)

Si les paramètres sont incorrects, l'erreur suivante se produit.

iconv conversion failed. skip this entry:... 

Vérification

$ mecab
Bonjour
Bonjour impression verbe,*,*,*,*,*,Bonjour,Ohayou,Ohayo
Oui verbe auxiliaire,*,*,*,Spécial 5ème Dan / La Line,Type continu,Gozaru,Gozai,Gozai
Masu verbe auxiliaire,*,*,*,Spécial / masse,Forme basique,Masu,truite,truite
EOS

(* Entrez vous-même "Bonjour" sur la deuxième ligne)

Installez la dernière version de JDK

Java SE Development Kit 9 Downloads (* Veuillez rechercher et télécharger la dernière version) (* 8 peut ne pas fonctionner)

Liaison à Java

$ cd ../ $ tar zxfv mecab-java-0.996.tar.gz $ cd mecab-java-0.996

$ vi Makefile

INCLUDE=/usr/lib/jvm/java-6-openjdk/include ↓ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers

(* Une erreur s'est produite lorsque le dossier suivant a été spécifié) INCLUDE=/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include

$ sudo make
Password:
c++ -O3 -c -fpic MeCab_wrap.cxx  `mecab-config --cflags` -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include/linux
In file included from MeCab_wrap.cxx:159:
/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/include/jni.h:45:10: fatal error: 
      'jni_md.h' file not found
#include "jni_md.h"
         ^~~~~~~~~~
1 error generated.
make: *** [all] Error 1

$ make

(De nombreux avertissements seront émis, mais c'est OK si deux fichiers, MeCab.jar et libMeCab.so, sont générés.)

$ javac -cp MeCab.jar test.java
test.java:7:Erreur:Une erreur s'est produite lors de l'écriture du test: /usr/local/lib/mecab-java/test.class
public class test {
       ^
1 erreur

Renommer le dossier

Renommez et déplacez le dossier pour en faciliter la gestion.

$ cd ../ $ mv mecab-java-0.996 mecab-java $ mv mecab-java /usr/local/lib/mecab-java

Modifications à apporter pour exécuter le programme de vérification

Correction du programme de confirmation test.java (loadLibrary ne chargeait pas bien MeCab dans mon environnement ...) System.loadLibrary("MeCab"); ↓ System.load("/usr/local/lib/mecab-java/libMeCab.so");

$ sudo javac -cp MeCab.jar test.java $ sudo java -cp MeCab.jar:. test


bash-3.2$ java -cp MeCab.jar:. test
0.996
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Jiro,Jiro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
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 assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Jiro,Jiro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
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

Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Jiro,Jiro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

Taro a remis ce livre à Jiro.
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Jiro,Jiro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
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 assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Jiro,Jiro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
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

nbest:0
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Jiro,Jiro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:1
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Deux nomenclatures,nombre,*,*,*,*,deux,ré,ré
Ro substantif,Général,*,*,*,*,Ro,Rowe,Faible
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:2
Taro substantif,Nomenclature propriétaire,zone,Général,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Jiro,Jiro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:3
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Général,*,*,*,Jiro,Niro,Niro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:4
Taro substantif,Nomenclature propriétaire,zone,Général,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Deux nomenclatures,nombre,*,*,*,*,deux,ré,ré
Ro substantif,Général,*,*,*,*,Ro,Rowe,Faible
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:5
Taro substantif,Nomenclature propriétaire,zone,Général,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Général,*,*,*,Jiro,Niro,Niro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:6
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Deux nomenclatures,nombre,*,*,*,*,deux,ré,ré
Ro substantif,Général,*,*,*,*,Ro,Rowe,Faible
Auxiliaire,Auxiliaire,*,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:7
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Niro,Niro
Auxiliaire,Assistant de cas,Général,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:8
Taro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Jiro substantif,Nomenclature propriétaire,Nom d'une personne,Nom,*,*,Jiro,Jiro,Jiro
Auxiliaire,Auxiliaire,*,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

nbest:9
Taro substantif,Nomenclature propriétaire,zone,Général,*,*,Taro,Taro,Taro
Est un assistant,Assistance,*,*,*,*,Est,C,sensationnel
Deux nomenclatures,nombre,*,*,*,*,deux,ré,ré
Ro substantif,Général,*,*,*,*,Ro,Rowe,Faible
Auxiliaire,Auxiliaire,*,*,*,*,À,ré,ré
Cet accessoire,*,*,*,*,*,cette,cette,cette
Cette nomenclature,Général,*,*,*,*,Livre,Hong,Hong
Auxiliaire,Assistant de cas,Général,*,*,*,À,Wo,Wo
Verbe passant,Indépendance,*,*,Ligne Godan / Sa,Type continu,remettre,je,je
Verbe auxiliaire,*,*,*,Spécial,Forme basique,Ta,Ta,Ta
.. symbole,Phrase,*,*,*,*,。,。,。
EOS

Recommended Posts

Installation de Mecab qui peut se faire presque en tapant une commande
Orienté objet qui peut être compris par les fées
Ecrire une classe qui peut être ordonnée en Java Un petit mémo standard
J'ai essayé un puzzle qui ne peut être résolu que par les 10% de mauvais ingénieurs
Créer un contrôle de page qui peut être utilisé avec RecyclerView
Créez un fichier jar qui peut être exécuté sur Gradle
Rechercher une instruction Switch qui peut être convertie en une expression Switch
Comment créer une paire de clés d'ecdsa dans un format lisible par Java
J'ai posé une question qui peut être utilisée pour des entretiens techniques
Paramètres à définir lors de l'exploitation d'un environnement de production avec Rails