Seo tools

Neo Inspiration

  • Search

    • About Me

      • inspi 改め
        jakk@webアーキテクト(自称)
        php,javascript,seoなど
        得意技は extract();



  • Categories

  • Ranking

  • Comments

  • Others


  • PHPでブログのキーワードを抽出するクラス

    前のエントリで作ったブログから本文抽出するやつを使って
    本文からキーワードを抽出するクラスを書いてみました。

    以下参考にしたサイト
    http://ifs.seesaa.net/article/26300967.html
    http://phpspot.org/blog/archives/2005/11/php_17.html
    http://ablog.seesaa.net/article/20969848.html

    ダウンロードはこれ
    Class.Morpheme.zip
    本文取得はこっち
    http://neoinspire.net/archives/63



    まあ内容は単純で、本文から正規表現で名詞っぽいのを取り出して
    それのdiffを取っていって出現頻度別にArrayに格納しています。

    参考サイトを元に

    $r = preg_match_all(’/[一-龠々〆ヵヶ]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+|[、。!!??()()「」『』]+/u’, $str, $match);

    こんな感じの正規表現を書いて

    $v = preg_replace(’/([する|でなければ|について|ならば|までを|までの|くらい|なのか|として|とは|なら|から|まで|して|だけ|より|ほど|など|って|では|は|で|を|の|が|に|へ|と|て])/u’, “”, $v);

    こんな感じに助詞とか消して

    $uniq_lv1 = array_unique($match_lv1);
    $match_lv1 = array_diff_assoc($match_lv1,$uniq_lv1);
    $this->word[$i] = array_unique($match_lv1);

    こんな感じでUniqueのDiffとってるだけです。

    適当にGigazineさんでやってみるとこんなかんじです。

    Array
    (
    [0] => Array
    (
    [5] => 高校生
    [21] => 違法化
    [24] => 運営者
    [26] => 週刊
    [31] => 送信
    [51] => 著作権
    [59] => 私的録音録画小委員会
    [73] => 生活
    [79] => 爆弾
    [85] => 漫画
    [95] => 検索
    [111] => 映画
    [117] => 日本語
    [119] => 日本
    [151] => 家電製品
    [160] => 女性
    [172] => 国際
    [175] => 回以上
    [181] => 名乗
    [196] => 初音
    [225] => 世界初
    [228] => 世界
    [253] => ユーザー
    [256] => モーニング
    [259] => モバイル
    [262] => メール
    [264] => メモ
    [274] => ミク
    [281] => マイコミジャーナル
    [286] => ボーナス
    [289] => ボードゲーム
    [293] => ホビー
    [295] => ペルソナ
    [297] => ヘッドラインニュース
    [303] => プロバイダ
    [305] => プレーヤー
    [307] => ブログ
    [312] => ファミ
    [319] => バグ
    [323] => ネットサービス
    [326] => ネット
    [329] => ネタ
    [331] => ニュース
    [338] => トラフィック
    [343] => テレビ
    [345] => ダウンロード
    [350] => ソフト
    [355] => スポーツ
    [365] => サービス
    [376] => サイト
    [382] => コーラス
    [385] => コルク
    [388] => ゲーム
    [411] => オンライン
    [416] => エンジン
    [419] => ウィルコム
    [426] => イタチ
    [428] => アート
    [434] => アニメ
    [453] => ちゃんね
    [455] => ため
    [457] => たち
    [459] => たこあ
    [467] => きた
    [486] => WIRED
    [489] => VISION
    [493] => News
    [508] => ITmedia
    [524] => AFPBB
    [529] => 2007
    )

    [1] => Array
    (
    [32] => 送信
    [96] => 検索
    [197] => 初音
    [260] => モバイル
    [265] => メモ
    [275] => ミク
    [287] => ボーナス
    [298] => ヘッドラインニュース
    [308] => ブログ
    [324] => ネットサービス
    [327] => ネット
    [332] => ニュース
    [351] => ソフト
    [377] => サイト
    [389] => ゲーム
    [435] => アニメ
    [494] => News
    [509] => ITmedia
    [530] => 2007
    )

    [2] => Array
    (
    [266] => メモ
    [299] => ヘッドラインニュース
    [309] => ブログ
    [333] => ニュース
    [378] => サイト
    [390] => ゲーム
    [436] => アニメ
    [495] => News
    [510] => ITmedia
    [531] => 2007
    )

    [3] => Array
    (
    [391] => ゲーム
    [496] => News
    [511] => ITmedia
    [532] => 2007
    )

    )

    Arrayの番号が1回以上のワードがarray[0]に入ってます
    以下2回以上はarray[1]、3回以上はarray[2]・・・
    きりがないので、ワードが5個未満になったら終了にしています。


    Leave a Reply

    2008/11/22 09:21:26