SmallStyle


2006-05-04

_ タグ自動抽出 API を利用したタグ候補の取得プラグイン

tDiary 2.1.4 にアップデートした際に category_to_tag プラグインを導入したことで,これまでのカテゴリ単位の分け方とは違った感じになりました.でも,タグ付けになっても結局カテゴリーのときと変わらないようなつけ方をしていてはあんまし意味がないなぁとは思いつつも.何つけようかと悩むのもなんだかなぁと思ってしまったり.

で,日記を書いたときにその文章を解析して,タグ候補をいくつかだしてくれればいいのにと思って調べてみると,MM/Memo にタグ自動抽出の API があるということなので,これを利用しない手はないと.テキストを POST してやれば結果は返ってくるということなので,Ajax や JSON なんかの勉強がてらプラグインを作ってみた.

とりあえず Ajax と JSON って単語はよく目にするものの,実際に自分で書いたことがなかったので.いろいろサンプルコードをなんかをながめながらちょこちょこと作ってみて,だいたいの感じがつかめた.サンプルの HTML と JavaScript で一通りの動きを確認できたので,さっそくプラグインつくりにとりかかる.

とりあえず MM/Memo のAPI を直接呼び出すことが難しそうなので,CGI Proxy 的なものを作成.xmlHttpRequest では呼び出し元と呼び出し先のドメインが一致していないと動作しないために,この CGI Proxy を通すことで,ページ遷移なしで xmlHttpRequest を利用してタグ候補を取得します.最初は単純に中継させるだけでいいかとも思っていたのですが,ここで,少しデータを加工して JSON 形式のデータを返すようにしてみました(っていうかやってみたかっただけ)

スクリーンショット

Tag 自動生成ボタンをクリックすると,ローディングイメージが表示され,日記本文の内容をスクリプト経由で POST し,タグ候補が一覧されます.内部サーバエラーやタイムアウト時は赤字で何かメッセージを出します.

取得したデータはタグ候補として日記フォーム本文下部に表示され,タグとして記述したいものをクリックすると,セクション先頭に挿入されます.とりあえずは今のところは Wiki スタイルにのみ対応しています.

タグ自動抽出 API にはフィルターオプションがあり,すでに MM/Memo に登録されているキーワードのみを対象としたタグ候補を抽出することも可能です.

一応動作イメージとしてサンプルページを作ってみました.

で,プラグインの設置方法です.

  1. プラグインのダウンロード
  2. ファイルの配置
    • tag_generator.rb はプラグインのディレクトリへ.tagapi.rb と ajaxload.gifは index.rb と同じ場所に設置してください.

これでたぶん動くはず.今日のこの日記のタグ付けは,上記のプラグインを利用してつけてみました.もちろん生成されたタグ以外で自分でタグをつけることもできます.

ishinao さんのとこのサーバは過負荷気味ということなので,あまりがんがんリクエストを投げるのはアレですが,日記のお供にご利用いただければと思います.

本日のツッコミ(全3件) [ツッコミを入れる]
_ TrackBack (2006-05-06 04:42)

http://www.smallstyle.com/20060505.html#p01
SmallStyle
Bulkfeeds API 形態素解析 + 特徴語抽出を利用したタグ候補取得プラグイン
タグ候補生成プラグインを作ってなかなか面白かったので,他にも日本語に対応した形態素解析 API がないかなぁと探してみたら,Bulkfeeds API で「形態素解析 + 特徴語抽出」が提供されていたので早速対応させてみることにしました.

_ TrackBack (2006-05-10 22:13)

http://www.smallstyle.com/20060510.html#p01
SmallStyle
タグ候補生成プラグインをはてなダイアリーキーワード自動リンク API に対応させてみた
日記更新時に文章からタグの候補を取得できる tDiary のプラグイン,tag-generator をはてなダイアリーキーワード自動リンク APIに対応させました.

_ TrackBack (2006-12-30 15:58)

http://miyaken.stbbs.net/diary/20061229.html#p03
だいあろぐ
tDiary のメンテナンス
鎌倉までドライブしようかと思っていたのだけれど、あまりに道路が混んでいたので取りやめてトンボ帰り。パソコンに向かって、しばらくほったらかしていた tDiary のメンテナンスをすることにした。 最新版にアップデートしたり、いくつか気になっていたプラグインを導入..


about me

いろいろと興味を持ったことを書いてます.ちょっとしたことは hb(@smallstyle) on Twitter で書いてます.

Archive

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|12|