php igo-php(形態素解析)のインストール

2013/07/04

Mecabに代わるIgo-php(形態素解析)をインストールしてみた。

「Igo-php」をダウンロード・解凍したら「README」があるのでそれを読めば、基本わかる。
※私は分からなかったので以下は、その際のメモ書き。

必要なファイル

・igo-php
・igo本体(igo-X.X.X.jar)
・MeCab辞書

インストの流れ(2013-07-04現在)

igo-phpを解凍し、READMEに従えばOK
※ヴァージョンとか気にする必要あり

READMEに記載がなかったので…

DLしたファイルを解凍した状態で一つのフォルダにいれる。
※デスクトップに「igoPhp」というフォルダを作って中に入れた場合。

C:\Users\○○○○○○\Desktop\igoPhp\igo-php-0.1.7
C:\Users\○○○○○○\Desktop\igoPhp\mecab-ipadic-2.7.0-20070801
C:\Users\○○○○○○\Desktop\igoPhp\igo-0.4.5.jar

CMDを起動して
$ cd C:\Users\○○○○○○\Desktop\igoPhp
$ java -cp igo-0.4.5.jar net.reduls.igo.bin.BuildDic ipadic mecab-ipadic-2.7.0-20070801 EUC-JP

サンプル

<?php
require_once "lib/Igo.php";
// ini_set("memory_limit", "-1"); // メモリ的なエラーが出るようならこれを使う。
$igo = new Igo("./ipadic", "UTF-8");
$text = "これはテストです";
$result = $igo->wakati($text);
print_r($result);
?>

「ini_set("memory_limit", "-1");」がはじめ無くて実行したら何も表示されなかった。
で、エラーログを見ると下記のような感じのメッセージが出力。

PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 35 bytes)」

調べると…「ini_set("memory_limit", "-1");」を「使えばいいよ~」的なのがあったので使ってみれば対応できた。

取れる内容

上記のサンプルソースを元に下記の2種ある感じ。

・「$igo->wakati()」:分かちした単語たち。
・「$igo->parse()」:分かちした単語たち(品詞情報付き)。

問題点

Mecabと違ってサーバーにインストする必要ないんだけど…いかんせん辞書が40MB弱ある。
これをアップすることが可能ならこの問題はクリア。
何かしらの理由でアップNGなら…困ったね。

「ini_set("memory_limit", "-1");」を使ってる点。
現状の私の知識では何を意味してるか不明。
たぶん「使用するメモリの制限なし」だと思う。サーバの負荷が恐ろしくなるような気がする。

そのた

Mecabのインストは以前の記事参照
php MeCab(形態素解析)のインストール

wikiにもまとめ中。
IGO-PHP

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい