PHPでタグクラウドを生成する方法(前編) – ワードの重み付け-

By nakayama - 09/08/07 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

SEOの手法としてブログでよく使用されているタグクラウドですが、
今回はPHPで生成する方法を紹介します。
 
タグクラウドを生成するにはキーワードに重み付けが必要です。
タグの入力欄を設けてユーザーに入力してもらう形がベストなのですが
タグが付いていないテキストからタグクラウドを作って欲しいという要望もたまに発生します。
 
その場合どうするか?
 
テキストに対して『形態素解析』を行いワード毎を細切れにする必要があります。
 
PHPで実現する場合、大きく2つの方法が考えられます。

1. サーバーに形態素解析のライブラリ「Mecab」を導入

MySQLの場合

MySQL + Mecab + Senna をインストール、解析。
参考サイト:
たたみラボ – 『MySQLで全文検索 – FULLTEXTインデックスの基礎知識
  

PosrtgreSQLの場合

PostgreSQL + Mecab + Senna + Ludia をインストール、解析。
参考サイト
のほほん徒然 – 『PostgreSQL + Ludia を入れてみた
ウェブリ/ブログログイン – 『PostgreSQLから『Ludia』でSennaの全文検索エンジンを試した
 

2. Yahoo 形態素解析APIを使う

Yahoo!で形態素解析をしてくれるAPIが公開されていますのでこれを使うのも手です。
 
Yahoo! – Yahoo!日本語形態素解析
 
Mecab とYahooのAPIの比較をしている記事がありますがYahoo!の方がより「空気」を読む解析結果を返してくれるようです。
 
真夜中のプログラミングTips -『形態要素解析の比較 MeCab / Yahoo!API
APIには1日50,000回と制限がありますが解析の数が少ないようであればYahoo!を使った方がいい結果が期待出来そうですね。