古い記事
ランダムジャンプ
新しい記事
ブラウザ上で選択したテキストからキーフレーズを取り出してそれらでウェブをAND検索するためのブックマークレットを作りました。

キーフレーズの抽出にはこれを使用しています。
JSONP が使えるので Bookmarklet にも手軽に使えます。

- Yahoo!デベロッパーネットワーク - テキスト解析 - キーフレーズ抽出
http://developer.yahoo.co.jp/webapi/jlp/keyphrase/v1/extract.html

なお、Firefox での動作しか想定していません。
IEだと動きません。

使い方


(1) 下記のリンクをブラウザのブックマークに登録してください。
「抽出&検索」の略で「抽検」です。

[抽検]

(2) 適当なページに行って、適当にテキストを選択し、ブックマークレットを起動します。

抽検

(3) するとテキストからキーフレーズが重要な順に最大5つ抽出され、それらのAND検索クエリがグーグルへ飛ばされます。

抽検
(↑ロゴをつぶしてあるのは、ブログにロゴを載せる行為に対して昔グーグル当局から警告を受けたからです。)

コード


ブックマークレットのソースコードです。
(function() {
JSONP = {
  get:function(q) {
    var u = 'http://jlp.yahooapis.jp/KeyphraseService/V1/extract?'
      + ['appid=APPLICATIONID',
      'output=json',
      'callback=JSONP.run',
      'sentence=' + encodeURI(q)].join('&');
    var s = document.createElement('script');
    s.charset = 'UTF-8';
    s.id = s.src = u;
    document.body.appendChild(s);
  },
  run:function(json) {
    var keys = [];
    for (var p in json) {
      keys[keys.length] = p;
      if (keys.length >= 5) break;
    }
    document.location.href = 
      'http://www.google.com/search?q='
      + encodeURI(keys.join(' '));
  }
};
JSONP.get(window.getSelection());
})()

小飼弾(dankogai)さんのコードなどを参考にしています。

なお、このブックマークレット中の appid は自分で取得したものを使って頂けると幸いです(可能な方は)。

- アプリケーションID(appid)の取得
http://e.developer.yahoo.co.jp/webservices/register_application

あと、これ便利です:
- Bookmarklet Crunchinator
http://ted.mielczarek.org/code/mozilla/bookmarklet.html
(ref. JavaScriptコードをBookmarkletに変換[2005-01-26-3])

応用ブックマークレット


[抽検Y!]

Yahoo!ウェブ検索用のブックマークレットです。
前述のコードの
'http://www.google.com/search?q='を
'http://search.yahoo.co.jp/search?p='にしただけです。

関連ハック


キーフレーズ抽出APIを使ったもの。

- [を] 「Yahoo! キーフレーズ抽出API」による Ajax 版タグクラウドデモ[2009-07-09-3]
- [を] テキストに含まれる重要フレーズを抽出してくれる「Yahoo! キーフレーズ抽出API」を使ってみた[2009-07-05-3]