phpTweet文章中のキーワード抽出を行いたくなっていろいろ調べていて、次の組み合わせで実現することができました。MecabLingua::JA::SummarizePecl/PerlMecabは文書の形態素解析に。Lingua::JA::Summarizeはサイボウズラボ奥さんのキーワード抽出CPANモジュール。これをCakePHPに組み込みたかったのでPeclのPerlライブラリ(PHPからPerlのコードをダイレクトに呼べる)。導入も特に難しくないので、その導入メモを残しておきます。MecabFedora系Linuxだとyumで辞書ファイルも一緒にさっくりインストールできます。Perlのモジュールも入れておきます。installします。あと、実行時エラーも出たので、次のようにインストールすると回避できました。shell'と、しています。Lingua::JA::SummarizePecl/PerlこれもpeclコマンドでOKです。次のものをインストールしておいたほうがいいかも。perl-\*」はちょっと強引すぎる気が自分でもしてるのですが、何かしらのperl系モジュールがないとpecl/perlのインストールにコケてしまったことは確か。(このあたりの詳細のメモを失念。pecl/perlまた、extensionにperl.soを登録します。/etc/php.d/perl.iniで、次の1行を追加。extension=perl.soこれで、Apacheを再起動するとPHPでキーワード抽出が可能になります。Lingua/JA/ディレクトリを作成し、そこにSummarize.phpを作成します。?>これをapp/config/bootsrrap.phpで読み込ませます。次の1行を最後に追加。'Summarize.php'));これでキーワード抽出用のモジュールSummarizeが読み込まれるので、たとえばControllerで次のような処理を行うことができます。$num);$wordは抽出対象の文章、$numは抽出キーワード数です。$keysは抽出されたキーワードの配列が返ります。返ってくるキーワードの抽出に違和感があれば、Summarize.phpのdefault_cost、singlechar_factorあたりをチューニングしてみましょう。このあたりのパラメータについては奥さんのドキュメントが最も分かりやすくまとまっていると思います。