Top > Programmingとか > VB / VB.NET > ググって学べ

2006年05月11日

(4) Googleの「ウェブ全体から検索」はローカライズされている

うわーいつのまにか仕様変更が。知りませんでしたー。

私の場合、日本語で検索して思うような情報が見つからないからこそ全体検索するので、日本語ページを優先して上位に持ってこられてもありがたくもなんともないわけです。

いちいち表示設定切り替えながら使うか?
とも考えたんですが、この表示設定、[保存]を押しても次回起動時には日本語に戻りやがります。

どうしろってんですかい。って、英語版Googleからの検索結果となるようにリクエスト文字列直接叩いてやればいいんです。

http://www.google.com/search?hl=en&q=

みたいな感じで。
私は某国産Tabブラウザでこのリクエストを追加して、日本語検索と全体検索を使い分けています。

2006年04月14日

実践編(2) [natural][input][使いにくい]

私もそう思います。

でも、

検索サービスに自らの熱い想いをぶつけてみる

という手法はどうなんでしょう。

実際この組み合わせで検索すると、使いにくいことを嘆いているページくらいしかヒットしません。
本サイトなんか「ナチュラルインプット」と「Excelの使いにくさをVBAで改善する」がまとめて載っているアーカイブページがヒットしちゃってるみたいですし。



まず、使いにくいという感情的・主観的な単語を使わない方がいいです。
感情的・主観的な単語で検索した場合、感情的・主観的な記述のページが多くヒットします。「いらいらしているのは俺だけじゃないんだ」と安心・共感したくての検索であれば、むしろ心情を的確に表した単語のチョイスということでオッケーなんですけども、

この使いにくさをなんとかしたい

と思って検索した場合には、なかなかかゆいところに手が届かないですよ。

では、どんな単語を使えばいいのか。

そのためにはまず、今自分で「使いにくい」と思っている機能は具体的になんなのかをはっきりさせる必要があります。

例えば、私が使いにくいと思っているところは大きく2つ、

  • 入力しかけの状態でESCキーを押しても、入力しかけの文字列が消えてくれない

  • ESCキーがどう割り当てられているのかを知る方法、変更する方法が見つからない
です。

なぜこんな操作性になってしまったのか、どうすれば自分にとって使いやすくなるのかを知りたい。

それを知るためには、そもそもナチュラルインプットがどんな使われ方を想定しているのかを理解し、それが自分が今まで使ってきた旧来のIMEと操作性がどう変わっているのかを知っておきたいところです。



おし、ここまで自分の側の整理はできたぞ。
では検索を開始しようか。


という前に。

表題では「natural input」としましたが、これはOffice日本語版の中で正しい用語なのか。「ナチュラル インプット」とカナ表記になるのではないか。

これを調べるのは割りと簡単。実際に表記されているところを探せばいいんですよね。

つことで、Word2003を起動してから言語バーの[入力方式]アイコン、「筆に赤球」「筆に青球」のあたりをクリックしてみればいいんですね。「IMEスタンダード(赤球)」と「ナチュラル インプット(青球)」が選択できるようになっていますってことは、「ナチュラル インプット」とカタカナ表記するのが正しそうです。

一般的に、信頼できる情報を提供しているページでは、用語等もなるべく正確に使おうとする傾向が強いです。ので、今回は「ナチュラル インプット」で攻めていけばいい…とは思うんですが。

さすがにそこまではいちいち確認を取らず、「Wordだって『ワード』とか書かないんだから、ナチュラルインプットだって『Natural Input』と書くよなぁ普通」と思い込む可能性も高いような気がしてきました。



ということで、今回はまず
"natural input" or "ナチュラル インプット"
で引いてみました。

で、検索結果ページに表示されるヒット部分前後の文章を読んでいると、

ナチュラルインプットとは、文書作成ソフトにおいて、入力した文字がある程度の長さになると、前から自動的に変換と確定が行われる機能のことである。
と説明されているページを発見。

…いや、「自動的に変換と確定が行われ」ればナチュラルインプットかというと、そうではないでしょう。この説明の機能であればかなり以前からATOKに「自動変換」という呼称で実装されていますし、ナチュラルインプットがMicrosoft版自動変換のことだとは思えません。

別の用語解説ページを見てみると、

Microsoft IME 2002以降から搭載されている新しい入力方式。入力した文字がある程度の長さになると、前から自動的に変換と確定が行われる。
となっていました。これならまだわかる。

「自動的に変換と確定」はナチュラルインプットの定義なのではなく、特徴のひとつなんですね。
前述のページではここを誤解し、さも「ナチュラルインプットの定義」と誤解しそうな表現になってしまったんでしょう。

もっともこの2つのページ、文章の構成が違う程度で、個々の説明文はほぼ同じ言い回しになっていますので、引用/参考にした元情報が同じような匂いがします。Microsoftからのプレスリリースかなんかの文章を要約した(そして片方は要約が下手だった)んではないかなぁと推測してもみます。

では、ナチュラルインプットの定義とは何か?あれ、そういえばよく知りませんよ私。
Microsoft IME 2002以降から搭載されている新しい入力方式って言われれば確かにそのとおりですが、これは経緯や提供タイミングの話であって、機能の説明ではありません。

こゆ時はネット検索をかける前に、Wordのヘルプで検索してみます。
Officeのヘルプは個人的には大変使いづらいんですけど、まぁ物は試しということで。

WordからF1で「Wordのヘルプ」を表示させ、「ナチュラル インプット」で検索してみると、おおっ、トップにヒットしてきました「Microsoft ナチュラル インプット 2003 について」。

この項目を見てみると、

新しい入力方式
(中略)

また、読みの入力中や変換中、入力後など、日本語入力がどの状態であっても、いつも同じキー操作でカーソル移動や文字の修正/削除を行えるので、入力/編集に集中できます。たとえば、変換中であっても↑↓←→キーを使ってカーソルを変換中の範囲の外へ移動したり、Del キーや BackSpace キーを使ってカーソル位置の前後の文字を削除することができます。

あ、そうか!

入力した途端に既に確定していると考えればいいんだ!

それなら「ESCキーで入力しかけの文字列を削除」なんて概念自体がありませんわな。Wordとナチュラルインプットの操作性がほぼ同じになるわけだから、ナチュラルインプットに限ってのキー割り当ての変更もありませんわな。

確認。「いつでも同じキー操作で」って?

例えば「あああ」と入力、確定(下線のない状態)にしておいてから、「い」と入力して未確定状態(点線下線がついている状態)のままで。そのままShift+[←]で「あい」となるまで選択…ってできるよ!そのまま変換すると、

確定済の「あ」と未確定の「い」がブレンドされて「愛」が!

なるほどー。ナチュラルインプットってこーいぅ使い方をするんですね。
そりゃぁ従来のIMEと同じ使い方をしようとするといらいらするわけだよなぁ。



つことで、今回の検索は、
Office回りは、まずOfficeのヘルプで検索しろ

という結論になりました。

もちろんそれで解決できない場合も多々あるんですが、それはまた項を改めた具体例でお話ししてみたいと思います。

ちなみにIME関係の情報なら、検索する前にこちらにも目を通しておくといいですよ。→ Maniac-IME

2006年04月11日

実践編(1) [Deskew]

先日ちらっと調べてHow to Deskew an Imageに書いたんですが、意外とDeskewで検索されていらっしゃる方が多いですお役に立てましたか嬉しいです。
たぶん「"Deskew"って何よ」と、私と同じような理由で調べたんだと思うんですけれども。

さてこの「Deskew」、Googleで検索してもなかなか意味がわかるページにたどり着けません。アナライザなどの機能紹介で「AutoDeskew機能」とかふつーに使われているんですけれども、いゃだからそのDeskewってのがそもそもなんなんだいと。



一般的に英単語を調べたい場合は、検索サービスではなく辞書サービスを使った方が正確なところにヒットしやすいようです。

有名なところではgoo辞書Infoseek/楽天マルチ辞書などでしょうか。
このWebサービスの中身はどちらも三省堂EXCEED英和(約12万項目)ですので、引ける単語は似たようなもんです。
Excite辞書(約173,000項目)は研究社新英和中辞典(現行は第7版、Excite辞書では第6版)を使っていますね。

既成の辞書に囚われない英単語検索サービスとしては、SPACE ALCの「英辞郎 on the web」(Topページ)があります。ここの辞書は英辞郎を使っています。
英辞郎はEDPというグループが長年積み上げてきた英和データで、2006/4/9現在で約146万項目というとんでもない量になっています。単語単位で引くオンライン辞書では最強ではないでしょうか。

これでもヒットしない場合には、辞書サービスではありませんがExciteテキスト翻訳という手があります。
これはアクセラテクノロジ株式会社BizLingoをベースにしています。BizLingoはV3で基本辞書180万語、専門辞書438万語というとんでもなさです(Exciteテキスト翻訳で採用している版がいくつなのかは公開されていないようですが)。ふつう文章の翻訳に使いますが、実は1単語のみ入力して簡単な辞書として使うことも可能です。収録語数がすごいので、他のサービスで引けなかった単語の意味だけでも知りたいような時、私は最終手段として使っていたりします。

以上は、2006/4現在の状況であり、この手のWebサービスは互いにしのぎを削ったりしていますので、使い勝手や収録語数については刻々と変わっていく可能性が高いです。
後発ではYahoo!翻訳なども気になるところです。

その他の辞書/翻訳サービスで、私が割と使うところを列挙しておきます。

  • Excite翻訳 中国語韓国語

  • Babel Fish(altavista) オランダ語、フランス語、ドイツ語、ギリシャ語、イタリア語、日本語、韓国語、ポルトガル語、ロシア語、スペイン語←→英語。

  • Daum 와우!재팬(ワォ!日本) 左側の 한일/일한 단문번역(무료) でオプションボタンを 한→일 にすると韓国語→日本語翻訳。割と意味の通る文章になる。

  • POP辞書.com 使いやすいような使いにくいような。



で、今回のDeskewは、Exciteテキスト翻訳のページから引っぱってきました。

反-斜行

あ。de-skew(斜め、傾斜、曲がり、ゆがみ、歪曲)なわけね。
などと勉強になってみたり。

つかこないだ引いた時には「反歪曲」だったんですけれども…辞書もアルゴリズムも地味に改善されてるんですねぇ。

2006年04月10日

(3) キーワードのコツ

用語は正確に覚えておこう

例えば、コンボボックスについて調べたい時。

右横の三角マークの付いたボタンを押すと選択肢がペロンと出てくる奴

では、ほぼ間違いなく目指す情報にはたどりつけません。

せめて

コンボボックス

で検索していただきたいところです。

日本語と英語、両方の表記で覚えておこう

でも、コンボボックスを使ったサンプルコードを探したいのであれば、カタカナではヒットしにくいと思います。ソースを引っ掛けたいわけですから、ここはやはり

combobox

と英単語にした方がヒットしやすいでしょう。

いろんな言い回しを覚えておこう

例えば、操作しやすい画面デザインについて検索したいとします。

この場合、私の世代だと真っ先に思いつくのは

ユーザーインターフェース

なんですけれども。
その後このへんの理論が進み、もっと広い範囲を指す言葉として

ユーザビリティ

なんてのが出てきました。
で、今どきはもっと概念の範囲を広げて

ユーザーエクスペリエンス

というのが流行っています。

つまり、「操作しやすい画面デザイン」をなんと呼ぶのかを何通り知っているかで、目指す情報にたどりつきやすくなるかどうかが変わってくるわけです。

また、

ユーザー

ですが、これは人によっては

ユーザ

と書いたりもします。この場合は「ユーザー」も「ユーザ」で検索した時にヒットしますので、「ユーザ」で検索したほうが効率がいいということになります。

さらに、

インターフェイス

ですが、これも人によっては「インターフェース」「インタフェース」と書いたりもします。
これはORで結ぶなりして検索しないと、言い回しのせいでほしい情報にヒットできなかったという状況になる可能性があります。

(2) 基本

まず、検索サービスですが、どれを使えばいいのか。
最終的には「お好みでどぅぞ」なんですけれども、ここでは一番メジャー & プログラミング上の情報検索に向いている(と私が思っている)

Google

で説明していきたいと思います。
当たり前すぎますか?いぇいぇ、スタンダードにはわけがあったりもします。



日本と世界の切り替え

プログラミングで何かを検索したい場合は、どうせなら日本語で説明してあるページに当たりたいわけです。お箸の国の人ですから。
同じこと書いてあるんなら、米国MSのサイトより日本MSのサイトでヒットしたいですよね。

でも、どーがんばっても日本語のページからヒットさせることができない場合は、もー英語でもスペイン語でも中国語でも韓国語でもなんでもいいから「それ」についての情報が記載されているページをなんとかして拾いたいわけです。

で、Googleの場合は検索単語入力欄のすぐ下に、「ウェブ全体から検索」「日本語のページを検索」のオプションボタンがついていて、ワンタッチで切り替えられるんです。

他の検索サービスでも似たような機能は大抵付いているんですが、「ウェブ全体」を指定しても、日本語のサイトを優先して表示するような仕組みのところもあったりします。

日本語のページに適切な情報がなかったから「ウェブ全体」に切り替えたのに、また最初の数ページが全部日本語ページだったりするとめくるだけでうんざりしてきます。
ので、世界中を相手にした時には言語関係なくウェイトの高いページから表示していただきたい。
Googleはこの仕組みを採っています。ので海外の情報を探しやすいんですね。

細かい条件指定

ふつーは、ヒットしそうな単語をスペースで区切って入力するだけなんですけれども。
まれに、「ちょっとややこしい条件で検索してみたい」なんとことがあります。

最近のGoogleは、「すべて/フレーズ/いずれか/含めない」という条件を指定できるようになりました。
1~2年前に調べた時は そんな機能なかった or そのとおりに動作しなかった であきらめたような記憶があるんですけれども。先日調べたらけっこぅツカえるようになっていましたのでご紹介。

  すべてのキーワードを含む
これは基本形ですね。
ポイントは、スペースで区切って列挙するということと、他の条件と混ぜ合わせる時は一番左に書くという点です。

例えば、「猿頁」と「さるべーじ」の両方が含まれているページを探したいなら、

猿頁 さるべーじ

となります。

  いずれかのキーワードを含む
では、「猿頁」か「さるべーじ」のどちらか一方でも含まれているページを検索したい時はどうするか。

猿頁 OR さるべーじ

と、候補の間を「OR」でつないでやればいいんですね。

  フレーズを含む
「猿頁」で検索すると、ときどき「猿」と「頁」が別々に記述されているページまでヒットしたりします。
そうではなくて、「猿頁」という熟語で検索したい場合。こんな時、フレーズ検索をするんですね。指定のしかたは、

"猿頁"

と「"」(ダブルクォーテーション)で括って記述します。

  キーワードを含めない
最後。「猿頁」を含んでいるページのうち、「さるべーじ」が含まれているページはヒットしたくない場合。

猿頁 -さるべーじ

はい、除きたいキーワードを「-」(マイナス)つけて記述してやればいいんです。

で、応用編。

「猿頁」と「さるべーじ」は両方含んでおり、「Salv」か「Salvage」のどちらかが含まれており、「Visual Basic」というフレーズが含まれて(「Visual」だけとか「Basic」だけとか両方あるけど記述位置が離れている場合は不可)いるページを検索したい、でも「SaruPage」が含まれているページは除きたい、という時はどうするか。

複数の条件を並べる時は

(すべて) - (いずれか) - (フレーズ) - (含めない)

の順に書きますので、

猿頁 さるべーじ Salv OR Salvage "Visual Basic" -SaruPage

ということになります。

めんどくさい方は、検索オプションのページからのんびり指定していただいても結構です。

あと、Googleのクセとしては、

  • アルファベットの大文字と小文字を区別しない

  • 全角と半角を区別しない(スペースも)

  • 「"」で括ってフレーズにしても、ときどき普通の「すべてのキーワード」検索になっているような気がする

  • 「()」で括っても条件の評価順は変わらない。

  • 「()」「-」「"」はキーワードにできない。
くらいを覚えておくと便利です。

(1) ご挨拶

QABBSなんか見てますと、よく出てくるフレーズに

そのくらい検索してください

ってのがあります。

とはいうものの、実は意外と自分の求める情報をヒットさせるのはむずかしい。
しかし、じゃあどうやりゃ上手に検索できるのか、と「そのくらい検索してください」という人に問うても、ろくたら返事は来やしません。

実はプログラミングは職人の世界、学ぶ理論はあったとしても、その理論を身につける技術が経験則で、なかなか人に伝えるように自分の中で整理されていない場合が多いんです。

私もちょくちょく「そうすれば上手に検索ができるようになりますか?」と聞かれるんですが、うーんなかなかこれはこれで奥が深いかも。短い言葉ですぱっと説明することができず、毎度考え込んでしまったりします。

つことで、本稿ではこのへんをちょっと突っ込んで考えてみたいと思います。

軽く検索サービスの使い方を説明してから、後は実例を出してケーススタディの方向で。
ある意味オンライン職人は技を盗んで学べ状態。
チュートリアルのつもりで読んでいただいた方がいいかもしれません。