MeCab (http://mecab.sourceforge.net/#download) を使用して、日本語の文章の単語分割と、すべての単語を品詞でタグ付けしようとしています。http://mecab.sourceforge.net/#install-unixの手順に従って MeCab をインストールしました。150,000 文を処理するシェル スクリプトを書きたくないので (私の Mac OS X ターミナルでは日本語の文字が表示されないため)、既存の Java バインディングを使用しています: http://sourceforge.net/projects/mecab/files /mecab-java/0.98pre3/ . この時点で、指定された test.java ファイルをコンパイルして実行しようとしています。
import org.chasen.mecab.MeCab;
import org.chasen.mecab.Tagger;
import org.chasen.mecab.Node;
public class test {
static {
try {
System.loadLibrary("MeCab");
} catch (UnsatisfiedLinkError e) {
System.err.println("Cannot load the example native code.\nMake sure your LD_LIBRARY_PATH contains \'.\'\n" + e);
System.exit(1);
}
}
public static void main(String[] argv) {
System.out.println(MeCab.VERSION);
Tagger tagger = new Tagger();
String str = "太郎は二郎にこの本を渡した。";
System.out.println(tagger.parse(str));
Node node = tagger.parseToNode(str);
for (;node != null; node = node.getNext()) {
System.out.println(node.getSurface() + "\t" + node.getFeature());
}
System.out.println ("EOS\n");
}
}
README は次のとおりです。
1. Build UTF-8 dictionary
2. How to use?
See test.java as sample program.
% java -classpath MeCab.jar test -d ../dic
コンパイルします: javac test.java. 次に実行します: java -classpath MeCab.jar test -d ../dic. 結果は次のエラーです。
Exception in thread "main" java.lang.NoClassDefFoundError: //
Caused by: java.lang.ClassNotFoundException: ..
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
この mecab-java-0.98pre3 ディレクトリの階層がよくわからないので、この test.java を実際にコンパイルして実行する方法がわかりません。アイデアはありますか?ありがとう!