記事を書いた後,キーワード欄にどんなキーワードを設定するか悩んだことはありませんか?
そこで,書かれた記事の内容から頻繁に使われている単語を抽出し,キーワードの候補として提案してくれる MovableType プラグインを書いてみました。
Yahoo! Developer Network ネタ第二弾。今回は,キーワードの抽出に日本語形態素解析ウェブサービスを利用しています。前回にアプリケーション ID を取得された方は,その ID がそのまま使えます。
記事が保存されたタイミングで,タイトルや本文,追記の内容に対して日本語形態素解析を行います。その結果,多く使われている単語から順に,キーワードの候補として提示します。日本語形態素解析には,Yahoo! Developer Network の日本語形態素解析ウェブサービスを利用しています。専門用語や固有名詞などについても,Yahoo! の検索エンジンで扱えるレベルで,ある程度の単語まで識別してくれているようです。
なお,このプラグインを使用するには,プラグインファイルの導入だけでなく,先日に公開した YahooSearchStringUnits プラグイン同様,Yahoo! Developer Network でユーザ毎にアプリケーション ID を申請取得(無料)する必要があります。そちらも合わせて手続きを済ませておいてください。別の ID を取り直す必要はないので,既に ID をお持ちの場合は同じ ID を使いまわしても問題ありません。
記事を書き終わったら,キーワード欄に「???」(半角でクエスチョンマークを3つ)と入力して,公開または下書き状態で記事を保存します。すると,記事のタイトルや本文から,キーワード候補の単語を抽出して,自動的に幾つかキーワード欄に設定してくれます。ここで,不要なキーワードを削除したり,足りないキーワードを追加で入力してから,改めて保存し直してください。
記事を書き直したなどの理由で,再度,キーワードを抽出したい時には,同じ操作を繰り返してください。キーワード欄が「???」以外の文字が含まれる場合には,キーワードの抽出は行いません。
ダウンロードしたプラグインをサーバ上の plugins ディレクトリにアップロードしてください。
プラグインのアップロードが完了したら,管理画面からプラグインの設定を行います。[システムメニュー]-[プラグイン]と進んで,YahooKeywordSuggest プラグインの設定画面を開き,先ほど Yahoo! で取得したアプリケーション ID を設定します。アプリケーション ID を設定しないと,プラグインが動作しませんのでご注意ください。
他に設定可能な項目として,取得するキーワードの上限数については,不要なキーワードについては削除すれば済む話なので,少し大きめの値を設定する方が良いでしょう。また,形態素解析の対象とするフィールドをチェックします。標準では,タイトル,本文,追記に入力されたテキストを解析対象としています。これらのフィールドを別の用途で使用されていて,形態素解析の対象としたくない場合にはチェックを外してください。
YahooKeywordSuggest プラグインのダウンロード
最新版のダウンロードやバグレポートはYahooKeywordSuggest の trac レポジトリでも行っています。
寄せられたコメント (全 6 件中、最新 5 件まで表示しています)
ぴろりさま。このたびはありがとうございました。
さて、Entry Title、エントリーの内容 (body)
、Entry Excerptをチェックしています。extendedは使っていませんので。
元々当方のサイトは、商品の画像中心で、テキストが少ないの出、仕方ないのかもしれません。
Yahoo!のウェブサービスまたはこのプラグインでは、titel属性とかalt属性の中のテキストは
解析の対象に含まれるのでしょうか?
プラグインの設定で,どの入力欄を解析するかチェックか正しくチェックされていますでしょうか?
あと,解析の結果返ってくるキーワードは,Yahoo!側のボキャブラリの問題で意外に少なかったりもします。
画面が崩れる、とおっしゃった意味が検討がつきました。
IDの入力と、キーワード数の入力のフィールドが二つ並んでいたものと思います。
そこで、左側にIDを、右側のキーワードはデフォルトの10のままにして
続行して見ました。
あるエントリーのキーワード欄に「???」とやって保存しましたが、
再表示されたときも、「???」のままでした。
しかし、別のエントリーでやってみました、出ました!
でも、最初の投稿時に、キーワードだと思って設定した単語の
大部分はなくなって、わずかに2つになってしまいました。
キーワード足りうるものは、こんなに絞られてしまうのでしょうか?
ヒロリさま
ありがとうございます。確かに、プラグインの読み込みエラーはなくなりましたが、
Yahoo! ApplicationIDを入力するフィールドが表示されません。
設定: YahooKeywordSuggest
(この後に、おそらくNo of keywords の入力フィールドがあり、次に以下の4つのチェックボックスが出ます)
Entry Title
エントリーの内容 (body)
Entry Extended Text
Entry Excerpt
この後、どうしたらよいでしょうか?
こんにちは。
3.37で試したところエラーが出ます。しかし,プラグインの11行目と84行目にあるMT::Pages関連の部分をコメントアウトすると使えてしまいました。
プラグインの設定画面が崩れますが特に問題はなさそうです。