形態素解析してくれるライブラリ「igo-php」

用意するものは3つ。まずそれらを全部ダウンロードしときます。

① igo-php 0.1.7.zip
ここからダウンロードできます。→http://sourceforge.jp/projects/igo-php/

igo-php 0.1.7 (日付: 2012-02-27)をクリック。


igo-php-0.1.7.zipをクリック。勝手にダウンロードが始まります。

② igo-0.4.5.jar
ここからダウンロードできます。→http://sourceforge.jp/projects/igo/releases/

だいぶ下にスクロールして、ページの中頃にあるigo-0.4.5.jarをクリック。勝手にダウンロードが始まります。

③ mecab-ipadic-2.7.0-20070801.tar.gz
ここからダウンロードできます。→http://sourceforge.net/projects/mecab/files/mecab-ipadic/

2.7.0-20070801をクリック。


mecab-ipadic-2.7.0-20070801.tar.gzをクリック。勝手にダウンロードが始まります。

 

3つインストールしたら、それぞれ解凍するなどして、一つのフォルダに入れときます。そのフォルダをデスクトップに作っておきます。名前は何でもいいんですが、ここでは「igo-php」としときます。

igo-php 0.1.7.zipを解凍して、その中にある「lib」フォルダを「igo-php」フォルダにコピー。

igo-0.4.5.jarは解凍できませんので、そのまま「igo-php」フォルダに移動します。

mecab-ipadic-2.7.0-20070801.tar.gzを解凍して、その中にある「mecab-ipadic-2.7.0-20070801」フォルダを「igo-php」フォルダにコピー。
※拡張子.gzはLhaca デラックス版などで解凍できます。

「igo-php」フォルダの中身がこうなってればおk。

 

コマンドプロンプトを起動。以下のコマンドを1行ずつ入力する。
[php]
cd C:Users?????Desktopigo-php
java -Xmx1024m -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic ipadic mecab-ipadic-2.7.0-20070801 EUC-JP
[/php]
DONEとなれば成功。

「igo-php」フォルダに新しく「ipadic」フォルダができているはずです。

使うのは、「ipadic」フォルダと「lib」フォルダのみ。この2つをFTPサーバの同じ階層に置いておしまい。

 
コードは以下。インクルードする階層などは適宜調整。

[php]
<?php
$text = "私は日本人です。";

include_once "lib/Igo.php";
$igo = new Igo("./ipadic", "UTF-8");
$result = $igo->wakati($text);

echo ‘【wakati】</br>’;
for ( $i=0 ; isset( $result[$i] ) ; $i++ ) {
echo ‘$result[‘ . $i . ‘] => ’ . $result[$i] . ‘</br>’;
}

echo ‘</br>【parse】</br>’;
$result = $igo->parse($text);

foreach($result as $value){
echo $value->surface . ‘</br>’;
$feature = explode(",", $value->feature);
for ( $i=0 ; isset( $feature[$i] ) ; $i++ ) {
echo ‘$feature[‘ . $i . ‘] => ’ . $feature[$i] . ‘</br>’;
}
echo ‘スタート位置:’ . $value->start . ‘</br>’;
echo ‘</br>’;
}
?>
[/php]

wakatiは値が取り出しやすいのに対して、parseは正直よくわかんない。foreachで配列から値を取り出さないといけないみたいで、surfaceには分かち書き、featureには品詞などの詳細、startには開始位置が格納。

形態素に分けて品詞も分かるならいろいろ面白いことができそう。

コメントを残す

メールアドレスが公開されることはありません。