cmecab-javaによる分かち書き
KAKASIをJavaから利用するためのライブラリが、インターネット上から消えてしまったようなので、代わりにMeCabというソフトを使って分かち書きに挑戦することにした。こちらは、Javaから利用できる。
http://code.google.com/p/cmecab-java/
上記ページからソフトをダウンロードしてテストを始めたが、一向に動かない。悩むこと約1日、上記のソフトをインストールする前に、MeCab本体のインストールが必要なことが分かった (^_^;)
気を取り直して、?MeCab本体のインストール、?cmecab-javaのインストール、を手順どおりに実行すると、なんなく動作。こんな感じで、ちゃんと日本語の形態素解析をしてくれる。
すばらしい。
C:\cmecab-java-1.7>java -Djava.library.path=C:\cmecab-java-1.7\bin -cp .;c:\cmec ab-java-1.7\bin\cmecab-1.7.jar;c:\cmecab-java-1.7\lib\protobuf-java-2.3.0.jar cm ecabtest MeCab version: 0.98 Original text: 相互参照のリンク先(リンク・ターゲット)に指定できるのは、同一ト ピック内の任意の箇所、別のトピック、別のトピック内の任意の箇所、あるいは外部リソ ースです。外部リソースはURLで指定します。リンク・ターゲットの情報は、link要素のf ormat属性、href属性、scope属性、およびtype属性を使って指定します。 Morphemes: 相互 名詞,一般,*,*,*,*,相互,ソウゴ,ソーゴ 参照 名詞,サ変接続,*,*,*,*,参照,サンショウ,サンショー の 助詞,連体化,*,*,*,*,の,ノ,ノ リンク 名詞,サ変接続,*,*,*,*,リンク,リンク,リンク 先 名詞,接尾,一般,*,*,*,先,サキ,サキ ( 記号,括弧開,*,*,*,*,(,(,( リンク 名詞,サ変接続,*,*,*,*,リンク,リンク,リンク ・ 記号,一般,*,*,*,*,・,・,・ ターゲット 名詞,一般,*,*,*,*,ターゲット,ターゲット,ターゲット ) 記号,括弧閉,*,*,*,*,),),) に 助詞,格助詞,一般,*,*,*,に,ニ,ニ 指定 名詞,サ変接続,*,*,*,*,指定,シテイ,シテイ できる 動詞,自立,*,*,一段,基本形,できる,デキル,デキル の 名詞,非自立,一般,*,*,*,の,ノ,ノ は 助詞,係助詞,*,*,*,*,は,ハ,ワ 、 記号,読点,*,*,*,*,、,、,、 同 接頭詞,名詞接続,*,*,*,*,同,ドウ,ドー 一 名詞,数,*,*,*,*,一,イチ,イチ トピック 名詞,一般,*,*,*,*,トピック,トピック,トピック 内 名詞,接尾,一般,*,*,*,内,ナイ,ナイ の 助詞,連体化,*,*,*,*,の,ノ,ノ 任意 名詞,一般,*,*,*,*,任意,ニンイ,ニンイ の 助詞,連体化,*,*,*,*,の,ノ,ノ 箇所 名詞,一般,*,*,*,*,箇所,カショ,カショ 、 記号,読点,*,*,*,*,、,、,、 別 名詞,一般,*,*,*,*,別,ベツ,ベツ の 助詞,連体化,*,*,*,*,の,ノ,ノ トピック 名詞,一般,*,*,*,*,トピック,トピック,トピック 、 記号,読点,*,*,*,*,、,、,、 別 名詞,一般,*,*,*,*,別,ベツ,ベツ の 助詞,連体化,*,*,*,*,の,ノ,ノ トピック 名詞,一般,*,*,*,*,トピック,トピック,トピック 内 名詞,接尾,一般,*,*,*,内,ナイ,ナイ の 助詞,連体化,*,*,*,*,の,ノ,ノ 任意 名詞,一般,*,*,*,*,任意,ニンイ,ニンイ の 助詞,連体化,*,*,*,*,の,ノ,ノ 箇所 名詞,一般,*,*,*,*,箇所,カショ,カショ 、 記号,読点,*,*,*,*,、,、,、 あるいは 接続詞,*,*,*,*,*,あるいは,アルイハ,アルイワ 外部 名詞,一般,*,*,*,*,外部,ガイブ,ガイブ リソース 名詞,一般,*,*,*,*,リソース,リソース,リソース です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス 。 記号,句点,*,*,*,*,。,。,。 外部 名詞,一般,*,*,*,*,外部,ガイブ,ガイブ リソース 名詞,一般,*,*,*,*,リソース,リソース,リソース は 助詞,係助詞,*,*,*,*,は,ハ,ワ URL 名詞,一般,*,*,*,*,* で 助詞,格助詞,一般,*,*,*,で,デ,デ 指定 名詞,サ変接続,*,*,*,*,指定,シテイ,シテイ し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ ます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス 。 記号,句点,*,*,*,*,。,。,。 リンク 名詞,サ変接続,*,*,*,*,リンク,リンク,リンク ・ 記号,一般,*,*,*,*,・,・,・ ターゲット 名詞,一般,*,*,*,*,ターゲット,ターゲット,ターゲット の 助詞,連体化,*,*,*,*,の,ノ,ノ 情報 名詞,一般,*,*,*,*,情報,ジョウホウ,ジョーホー は 助詞,係助詞,*,*,*,*,は,ハ,ワ 、 記号,読点,*,*,*,*,、,、,、 link 名詞,固有名詞,組織,*,*,*,* 要素 名詞,一般,*,*,*,*,要素,ヨウソ,ヨーソ の 助詞,連体化,*,*,*,*,の,ノ,ノ format 名詞,一般,*,*,*,*,* 属性 名詞,一般,*,*,*,*,属性,ゾクセイ,ゾクセイ 、 記号,読点,*,*,*,*,、,、,、 href 名詞,固有名詞,組織,*,*,*,* 属性 名詞,一般,*,*,*,*,属性,ゾクセイ,ゾクセイ 、 記号,読点,*,*,*,*,、,、,、 scope 名詞,固有名詞,組織,*,*,*,* 属性 名詞,一般,*,*,*,*,属性,ゾクセイ,ゾクセイ 、 記号,読点,*,*,*,*,、,、,、 および 接続詞,*,*,*,*,*,および,オヨビ,オヨビ type 名詞,一般,*,*,*,*,* 属性 名詞,一般,*,*,*,*,属性,ゾクセイ,ゾクセイ を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 使っ 動詞,自立,*,*,五段・ワ行促音便,連用タ接続,使う,ツカッ,ツカッ て 助詞,接続助詞,*,*,*,*,て,テ,テ 指定 名詞,サ変接続,*,*,*,*,指定,シテイ,シテイ し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ ます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス 。 記号,句点,*,*,*,*,。,。,。
というのは、Windows XP 32bitマシン上での話。
Windows7 64bitで実行すると以下のエラーになる。
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\cmecab-java-1.7\bi n\CMeCab.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at net.moraleboost.mecab.impl.StandardTagger.(StandardTagger.jav a:38) Could not find the main class: net.moraleboost.mecab.impl.StandardTagger. Progr am will exit.
しょうがないから、ソースコードからビルドすることに。
http://code.google.com/p/cmecab-java/wiki/HowToInstall
このページの説明によると、sconsというビルドツールを使うとのこと。ググったらすぐに出てきたので、ダウンロードして、実行。
すると、
'python' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 you do not have python in your PATH
今度は、Pythonがいるのかよぉ。
また、気持ちが折れた。