Web検索の日本語処理についてレポートします。新たにAltaVistaが日本語の検索サービスを開始しましたので、一緒に調べます。9種類のページ検索と8種類のサイト検索について、「桜、さくら、サクラ、名所、桜 AND 名所、桜 OR 名所、そして桜の名所」の7種類のキーワードについて調査しました。さらに、日本語のフレーズ処理をどうしたらよいのかということも考えたいと思います。なお、使用したデータは98年4月5日時点のものです。
ページ検索はロボットと呼ばれるエージェントソフトを使ってWeb情報をページ単位に収集しています。そのため、驚くほど多数のページを検索します。今回用いたキーワードの検索数は万単位です。「桜」、「さくら」、「サクラ」、の各検索サービスごとの検索数とその大小関係を以下に示します。
サービス名 | 桜 | 大小 | さくら | 大小 | サクラ |
goo | 60,992 | > | 28,608 | > | 17,362 |
Alta | 98,076 | > | 28,794 | > | 22,738 |
Inav | 49,922 | > | 22,237 | > | 10,896 |
Iseek | 35,578 | > | 17,604 | > | 14,967 |
Exct | 21,398 | > | 18,204 | = | 18,204 |
Open | 30,980 | > | 1,010 | < | 2,752 |
ODIN | 444 | < | 2,291 | > | 910 |
Netp | 6,644 | = | 6,644 | = | 6,644 |
Hole | 3,210 | > | 1,070 | > | 587 |
検索数の大きい順に、桜 > さくら > サクラ を示す検索サービスは、goo、AltaVista、InfoNavigator、InfoseekJ、Hole-in-Oneです。収集領域にもよりますが、これらの日本語処理は正しく処理されているとみなせます。
等号 = を示すのはExciteJ、Netplazaです。ExciteJはひらがなとカタカナの検索数が同じですが、これは内部でどちらか一方に変換しているためです。さくらとサクラをOR検索したのと同じなので検索数は単独のときよりも多くなります。Netplazaの場合は漢字、ひらがな、カタカナの全部が同じです。これは桜、さくら、サクラをOR検索したのと同じですが、もし全文系でキー変換をしているとしたら大変な処理量になります。
追記(4月10日)ExciteJは「さくら10,215、サクラ3,823」と検索され、桜 > さくら > サクラ と正しく処理されるようになりました。
次に、不等号 < を示すのはOpenTextJ、ODINです。OpenTextJの場合、漢字の桜に比べてさくらやサクラは非常に少なく、完全一致したものだけを対象にしたか、索引化に制限を設けています。ODINは漢字の桜が1桁少ないようです。単語の区切り方にも影響されますが完全一致したものだけを検索しています。
サイト検索はおもに登録された情報をベースにしています。検索はサイト全体をあらわす要約文を対象にしているため、検索されれば密度の濃い情報が得られますが、検索数に関してはページ検索にはおよびません。「桜」、「さくら」、「サクラ」の検索数とその大小関係を以下に示します。
サービス名 | 桜 | 大小 | さくら | 大小 | サクラ |
YahooJ | 459 | < | 537 | > | 160 |
NTTD | 308 | > | 167 | > | 117 |
Inav | 204 | < | 279 | = | 279 |
Acara | 369 | > | 254 | = | 254 |
Netp | 329 | < | 520 | > | 126 |
CSJ | 458 | = | 458 | = | 458 |
Drag | 144 | > | 87 | < | 102 |
Wave | 68 | > | 25 | > | 15 |
検索数の大きい順に、桜 > さくら > サクラ を示すのはNTT DIRECTORY、うぇいぶなびだけです。ページ検索と同様に、日本語処理を正しく処理しているとみなせます。
等号 = を示すのは、InfoNavigator、あちゃらNAVI、CSJ Indexです。ひらがなとカタカナをどちらかに変換して処理しています。ひらがなとカタカナを同一視した場合はあとで区別できませんが、区別した場合はあとでOR検索で同一視できます。したがって、後者の区別した方がよいと思います。
次に、不等号 < を示すのはYahooJ、InfoNavigator、Netplazaです。InfoNavigatorはさくらとサクラを同一視(OR検索)したために生じたものです。YahooJとNetplazaは同じようなパターンを示しています。ひらがなのさくらが多いのは漢字の読みも検索しているか、前方一致検索でないために朝倉(あさくら)などを検索しているか、偶然に発生したかです。
ここでのメインは「桜の名所」の検索です。単語と単語の間に「の」が入り、いわゆるフレーズの検索です。結果を「桜 AND 名所」のAND検索と比較します。
サービス名 | 桜 | 名所 | OR | AND | 大小 | 桜の名所 | 処理 |
goo | 60,992 | 26,028 | 82,139 | 4,881 | > | 2,261 | ○ |
Alta | 98,076 | 42,261 | 45,671 | 6,616 | > | 2,032 | × |
Inav | 49,922 | 22,451 | 68,301 | 4,072 | > | 1,946 | ○ |
Iseek | 35,578 | 16,812 | 48,672 | 2,619 | < > | 22,473 1,685 | × |
Exct | 21,398 | 9,922 | 11,540 | 1,895 | < > | 29,646 929 | × |
Open | 30,980 | 12,194 | 41,193 | 1,981 | > | 665 | ○ |
ODIN | 444 | 2,151 | 2,547 | 48 | < | 145 | ○ |
Netp | 6,644 | 1,933 | 8,086 | 491 | > | 244 | ○ |
Hole | 3,210 | 950 | 3,969 | 191 | > | 89 | ○ |
検索数が (桜 AND 名所) > 桜の名所 となるのは、goo、AltaVista、InfoNavigator、OpenTextJ、Netplaza、Hole-in-Oneです。AND検索がフレーズ検索よりも多くなるので納得できます。
次に、不等号 < になるのは、InfoseekJ、ExciteJ、ODINです。ODINは漢字1文字の桜の処理が影響しており、AND検索を10倍すれば納得できます。InfoseekJ、ExciteJの場合は、桜の名所の検索は (桜 OR 名所) に変換して検索しているようです。なお、InfoseekJ、ExciteJ(その他に、goo、AltaVista)にはフレーズ処理用として二重引用符が用意されています。"桜の名所"で検索すると表の下段のようになり、正しく処理されます。
AND検索とOR検索処理ですが、検索数が一致しないところは、AltaVista、InfoseekJ、ExciteJです。AltaVistaの場合は、表示の際に微調整しますので、最初から正確な数値がでないのかも知れません。InfoseekJは少し数値が異なっています。ExciteJの場合、AND検索やOR検索にもコンセプト処理をしているようです。
サイト検索はページ検索に比べれば処理するデータ量が少ないため、処理しやすいと思われます。
サービス名 | 桜 | 名所 | OR | AND | 大小 | 桜の名所 | 処理 |
YahooJ | 459 | 484 | 927 | 16 | > | 12 | ○ |
NTTD | 308 | 352 | 627 | 33 | = | 33 | ○ |
Inav | 204 | 314 | 497 | 21 | > | 15 | ○ |
Acara | 369 | 470 | 813 | 26 | > | 7 | ○ |
Netp | 329 | 230 | 545 | 14 | > | 12 | ○ |
CSJ | 458 | 64 | 519 | 3 | > | 0 | ○ |
Drag | 144 | 124 | 260 | 8 | > | 6 | ○ |
Wave | 68 | 46 | 112 | 2 | = | 2 | ○ |
検索数が (桜 AND 名所) > 桜の名所 となるのは、YahooJ、InfoNavigator、あちゃらNAVI、Netplaza、Dragonです。AND検索がフレーズ検索よりも多くなるので納得できます。なお、CSJ Indexは、1文字の「桜」の検索はできませんでした。
等号 = があるのは、NTT DIRECTORY、うぇいぶなびです。うぇいぶなびはデータ数が少ないため偶然一致しましたが、他のキーワード「花の写真」で調べると上記に当てはまります。従って、NTT DIRECTORYだけがAND処理しています。しかし、NTT DIRECTORYにはフレーズ検索ができるオプションがあり、それを使えば検索できます。正しくフレーズ処理するのに、複合語だけはなぜかAND検索します。
AND検索とOR検索処理ですが、サイト検索に関してはすべて正しく処理しています。
現在、フレーズ処理のできる検索サービスはページ検索ではgoo、AltaVista、InfoseekJ、ExciteJ、サイト検索ではNTT DIRECTORYです。しかし、日本語の場合、本来ならフレーズ処理すべきものを、通常の検索でフレーズ検索ができてしまう のをみてきました。これは単語の区切りがあいまいなために日本独自に発展した技術とみなせます。
日本よりも数年先をいく英語のWeb検索でも、electronic commerce などの検索はできず、(electronic AND commerce) とAND検索しなければならない日が続きました。その後、先進の検索サービスでフレーズを二重引用符で囲む "electronic commerce" を処理するようになり、昨年の夏頃までにほとんどの検索サービスでフレーズ検索が可能になっています。Web情報のフレーズ検索は比較的新しい技術です。
日本語では個々の単語の識別は難しく、単語なのかフレーズなのか区別できません。したがって、日本のWeb検索は単語とフレーズをあいまいに処理しています。というより、各検索ソフトは独自の方法を採用しています。
今回の「桜の名所」ではうまくいきましたが、例えば、
パソコン業界 → パソコン業界、パソコン・業界、
低価格化 → 低価格化、低価格・化、低・価格化、低・価格・化、
などで調べれば、検索サービスごとの微妙な違いが明らかになります。
ソフトの力でフレーズ処理を解決しつつありますが、それは日本語の検索だけに通用するものです。
やはりフレーズ処理は必要です。
日本語以外の検索にはフレーズの概念や使い方が採用されており、それを使いこなすことが必須になっています。したがって、ここからここまでをあたかも一つの単語のように指定する二重引用符付与やラジオボタン選択などの機能を持つことが望まれます。
(1) ひらがなとカタカナを同じにあつかうのは、サイト検索のInfoNavigator、あちゃらNAVIです。
(2) 漢字、ひらがな、カタカナを同じにあつかうのは、ページ検索のNetplaza、サイト検索のCSJ Indexです。
(3) 桜の名所を通常に検索すると、ページ検索のInfoseekJ、ExciteJはOR検索、サイト検索のNTT DIRECTORYはAND検索します。いずれもフレーズ検索機能をもっていますので、フレーズ検索をお勧めします。
(4) AND検索とOR検索に関しては、ページ検索のAltaVista、InfoseekJ、ExciteJの検索数は一致しません。
(5) フレーズ検索に関しては、日本語の場合、通常の検索でフレーズ処理していますが、検索機能の一つとしてもつことは必要です。
ざっとみてきたのですが、昨年に比べて検索機能は驚くほど向上しています。私自身、「桜の名所」の検索は大規模な検索サービス以外はできず、せいぜいAND検索するものと思っていましたので、大収穫でした。このように検索サービス別のリストをつくると独自のくせがわかるとともに、変更されてるところもわかります。知識をリフレッシュさせるためにも、このような調査を継続する予定です。
追記(4月10日):ExciteJの変更で一部変更しました。