形態素解析をもっと簡単に使える方法を探す
→igo-phpを発見。
READMEによると、
これは「Igo - Java形態素解析器」の PHP による実装です。 Igo は、MeCab由来の辞書フォーマットを用い、ほぼ MeCab と同様の解析結果を提供する形態素解析プログラムです。 Igo-phpは、Igoと同様の形態素解析と分かち書きの機能を提供します。
とのこと。素晴らしい。ちなみにigoの本家はこちら。
早速、READMEに書かれている手順でインストール。
igo-phpのダウンロード
展開後、好きな場所にコピーし、php.iniのinclude_pathに追加する。
igo本体のダウンロード
mecabの辞書をダウンロード
jarファイルと辞書フォルダを両方共ホームディレクトリにコピー。
以下のコマンドを入力する。
$ java -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic ipadic mecab-ipadic-2.7.0-20070801 EUC-JP
と、何やらエラー
### Build word trie
### Build word dictionary
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
at java.lang.StringBuilder.append(StringBuilder.java:119)
at net.reduls.igo.dictionary.build.WordDic.buildWordInfo(Unknown Source)
at net.reduls.igo.bin.BuildDic.main(Unknown Source)
このエラーはJava heap spaceが不足していることが原因だそうなので、javaコマンドに-Xmxオプションで適当なヒープサイズ(最大値)を指定しておく。
-Xmx1024mを追加。
再度、実行。
java -Xmx1024m -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic ipadic mecab-ipadic-2.7.0-20070801 EUC-JP
### Build word trie
### Build word dictionary
### Build matrix
### Build char-category dictionary
DONE
出来たっぽい。
あとは、作成されたipadicフォルダを適当な場所にコピーすれば、辞書が使用可能に。
とりあえず、PHPから形態素解析をしてみる。
実行結果
とりあえず、PHPから形態素解析をしてみる。
<?php require_once 'Igo.php'; $igo = new Igo("/home/user/ipadic"); $result = $igo->parse("すもももももももものうち"); print_r($result); ?>
実行結果
Array ( [0] => Morpheme Object ( [surface] => すもも [feature] => 名詞,一般,*,*,*,*,すもも,スモモ,スモモ [start] => 0 ) [1] => Morpheme Object ( [surface] => も [feature] => 助詞,係助詞,*,*,*,*,も,モ,モ [start] => 3 ) [2] => Morpheme Object ( [surface] => もも [feature] => 名詞,一般,*,*,*,*,もも,モモ,モモ [start] => 4 ) [3] => Morpheme Object ( [surface] => も [feature] => 助詞,係助詞,*,*,*,*,も,モ,モ [start] => 6 ) [4] => Morpheme Object ( [surface] => もも [feature] => 名詞,一般,*,*,*,*,もも,モモ,モモ [start] => 7 ) [5] => Morpheme Object ( [surface] => の [feature] => 助詞,連体化,*,*,*,*,の,ノ,ノ [start] => 9 ) [6] => Morpheme Object ( [surface] => うち [feature] => 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ [start] => 10 ) )以上。
0 件のコメント:
コメントを投稿