igo-phpを用いた形態素解析を作成しています。
環境は以下のURLを参考に構築いたしました。
http://life-collections.com/dev/programming/php_make_tag_cloud_with_igo_php
ローカルのXAMPP上では形態素解析された状態で結果を返します。
この時点では、igo-phpはMecabの辞書を使い結果を返しているようです。
しかし、サーバー上では形態素解析されない状態で結果を返します。
- 「すもももももももものうち」の場合は、分かち書きされない状態で結果を返します。
- 「私は誰?」の場合は、全て名詞として認識された状態で結果を返します。
辞書がうまく読み込めていない、もしくは、アップロード時に壊れてしまっていると予想しています。
しかし、打開策が見つからず質問させていただきました。
###ディレクトリ構成は以下のようにいたしました。
└test.php(下記のソース記述ファイル) └igo-php └lib └Igo.php └ipadic
###test.phpのソースコード
header("Content-Type: text/html; charset=UTF-8"); require_once 'igo-php/lib/Igo.php'; $igo = new Igo("./igo-php/lib/ipadic", "UTF-8"); $testtext = "すもももももももものうち"; # 単語のみを取得する $result = $igo->wakati($testtext); echo "<pre>"; print_r($result); echo "</pre>"; # 品詞等補足情報も取得する $result = $igo->parse($testtext); echo "<pre>"; print_r($result); echo "</pre>"; $testtext = "私は誰?"; # 単語のみを取得する $result = $igo->wakati($testtext); echo "<pre>"; print_r($result); echo "</pre>"; # 品詞等補足情報も取得する $result = $igo->parse($testtext); echo "<pre>"; print_r($result); echo "</pre>";
###出力結果は以下のようになります。
Array ( [0] => すもももももももものうち ) Array ( [0] => Morpheme Object ( [surface] => すもももももももものうち [feature] => 名詞,一般,*,*,*,*,* [start] => 0 ) ) Array ( [0] => 私 [1] => は [2] => 誰 [3] => ? ) Array ( [0] => Morpheme Object ( [surface] => 私 [feature] => 名詞,一般,*,*,*,*,* [start] => 0 ) [1] => Morpheme Object ( [surface] => は [feature] => 名詞,一般,*,*,*,*,* [start] => 1 ) [2] => Morpheme Object ( [surface] => 誰 [feature] => 名詞,一般,*,*,*,*,* [start] => 2 ) [3] => Morpheme Object ( [surface] => ? [feature] => 名詞,サ変接続,*,*,*,*,* [start] => 3 ) )
###試したこと
- 載せるサーバーを変更してみました。
- 文字コードをEUC-JPに変更してみました。
- ファイル全てをパーミッションを705にしてみました。
- error_reporting(-1); >> エラーは出力されません。
- ini_set('error_reporting', E_ALL); >> エラーは出力されません。
- ini_set('memory_limit', '128M'); >> を設定して見ました。
- ipadicのコンパイル時に文字コードをUTF-8に変更してみました。
- コンパイルに使用するjarファイルを1つ前のバージョンのigo-0.4.3.jarにしてコンパイルしてみました。(現在はigo-0.4.5.jar)
この質問に対する回答でなくてもかまいません。
どこを疑ったら良いのか、なにを調べたら良いのかだけでもお願いします。
以上となります。
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。