言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

ローカルな PageRank

こういうの作って欲しいと書いておけばだれか作るかも知れないのでメモ。

以前ちょっとだけ Google デスクトップサーチを使ってた事があるのですが、すぐにやめてしまったのです。理由は、出てくる順番があまりにもテキトウで役に立たなかった。ウェブだとあんなに的確な答えが出るのに、ローカルだとなんでダメなのだろう。VisualStudio のヘルプ検索等でも言える事です。100 件答えが出てきても、それを開けて調べるのはすごく大変。

そこで、ローカルでも PageRank をやって欲しいのです。PageRank とは、細かい理論は知りませんが、ある文書からある文書へのリンクを調べて、リンクが多い奴を大事な文書だと判定する事らしいです。ローカルのハードディスクでも同じ事をすれば良い。

例えばスライドを作るのにデジカメで撮った写真を貼ると、スライドから写真にリンクが貼られます(ファイル名だと変わるので何かの ID で参照)。この場合のリンクとは、Office 製品いう所の「リンク」と「コピー」との差は無くて、なんしか情報を参考にしていればリンクという事にします。エディタからスライドに文字列をコピーしても同じです。このリンク情報を元にランク付けをすれば良い。

このような事が可能でしょうか?アプリ間のコピーを記録するなんて、かなりトリッキーな事をしないと無理だと思います。コピーの操作をフックするのかな?まあ、でもたとえ全部のアプリで使えなくても、僕の作業範囲だったら単一のアプリ、例えばエディタの中で出来るだけでも随分便利だと思いますし、なにか共通のフレームワークを作って画像ソフトとエディタ、オフィスツールだけでも使えれば良い。

ここで、Squeak ユーザとしては全部 Squeak でこういう世界を構築するという野望を書いてみても良いわけですが、やりたい事の真ん中のアイデアは、ユーザの動作をこっそり見張ってシステムを使いやすくするという IME の学習機能をもっと一般化するという事かなあと思っています。