WednesdaySolr新機能:ツッコミ検索とは?最近はこちらのブログ投稿がご無沙汰である。JAISTに入学し、Twitterも始めたせいもある。Twitterは長い文章を考えなくていいから楽だ。これから述べようと思っているまとまった文章などは量的にTwitterでは無理なので、必然的にブログということになる。何を述べるかというと、最近いわゆる「もしかして検索」という機能を実装し、そこでいろいろ思い巡らせたことについてである。して検索というのは、ユーザがたとえば「パートな湿布」というキーボードを打ち損じた(または変換し損ねた)キーワードで検索したときに、検索結果画面で「もしかして:パートナーシップ」などと正解と思われるキーワードを表示する機能である。パートな湿布?いいえ、パートナーシップでした。〜もしかして検索が可能なSolrサブスクリプションの新版を発表(詳細記事)日本語「もしかして」検索についてところで「もしかして検索」というのはGoogleで表示される文言「もしかして○○」からとって命名したものであるが、(上記2つめの記事にもあるように)Yahoo!では「○○ではありませんか?」となり、もしこちらから命名するとなると「ではありませんか?検索」となる。私の記憶が正しければ、この種の機能はGoogleが早かったような気がするので、以降ではGoogleに敬意を表して「もしかして検索」あるいは省略して「もしかして」と呼ぶことにする。私がまず気がつくのは、Googleの姿勢の低さだ。あのGoogleが「もしかして」である。本当はかなりの確信を持ってリンクを提示しているはずなのだが、あくまでも低姿勢に「もしかして」である。低姿勢さはYahoo!も負けてはいない。「ではありませんか?」だ。「もしかして」よりも謙虚さを感じる。そこまで自信がないのなら提示しなければいいのに、あくまでもYahoo!はいうのだった。「ではありませんか?」と。両社の低姿勢ぶりは私は実はうなずけるところでもある。これは確率の問題だからだ(最近私は確率の勉強をしているのだった)。絶対ということはなく、「もしかして」ということになる。やろうと思えばおそらく、「何パーセントの確率で○○です」と提示できるはずである。ロンウイットのもしかしての方法はどうかというと、確率ではなくSolrのSpellCheckComponentを使っているので、もう少し原始的だ。インデックス内の正解データを使っているので、こちらも高い精度が得られている。私も日頃から謙虚でありたいと考える人間であり、ロンウイットはGoogleやYahoo!の足元にも及ばない会社なので、検索結果画面に表示する文言は両社よりももっと謙虚であってしかるべきである。自信がなさそうなのだった。これくらいであればもし間違っていたとしてもユーザから文句は出ないだろう。これでもまだ心配な場合は、どうすればいいか。究極の方法は「あえて何も言わない」だ。ユーザが間違ったキーワードで検索を行う。こちらも絶対の自信がないのであえて何も言わない。するとユーザは検索結果一覧画面を見て、自らキーワードの打ち損じに気がつく。今度は落ち着いて正しいキーワードで検索し直すだろう。すると、Solrはようやく先ほどの自身がはじきだした正解キーワードと、ユーザが2回目に入れた正しいキーワードが等しいことを確認し、100%の確信を持って今度こそ検索結果画面に次のような文言を表示するのだった:「ですよね〜。私もそう思ったんですけど、違うかもしれないので黙ってたんですけど、やっぱり打ち損じでしたね〜」しかしこれでは意味がわからないし、CPUの無駄遣いであり、ユーザから別の文句も出そうだ。ロンウイットはこれでも一応ベンチャーの気概を忘れてはいない。そこであえて100%、いや、120%の確信を持って正解と思われるキーワードを提示したいと考えるのだった。相当な自信がうかがえる。間違っていたとしても、この勢いがあればユーザはクリックしてしまうのではないか。私は別のことにも気がついたのだった。これはある意味、ユーザのボケ(キーワードの打ち損じ)に対するSolrのツッコミといってもよいだろう。私はこれを「ツッコミ検索」と呼ぶことにしたい。はずれても笑いがとれればそれでいい。日本のお笑いの精神がそこには垣間見えるのだった。サラリーマン」だろ!日本の検索にもっと笑いを。ガンバレ日本!なんかわからないがオリンピックイヤーなので言ってみた。7期目に突入したロンウイットを、相変わらずこんな感じではありますが、今後ともどうぞよろしくお願い申し上げます。|コメントするname:email:url:comments:Cookieに登録この記事のトラックバックURLトラックバック機能は終了しました。比較のポイント商用検索エンジンを購入した企業担当者は読まないでください。McCandlessFastVectorHighlighterについて解説記事を寄稿しました。