図書館の役割を果たす検索エンジン
図書館の役割を果たす検索エンジン
前回の投稿では、AIのコミュニケーション力にあたる要素技術として、「自然言語処理」についての解説を行いました。「自然言語処理」は「自然言語理解」と「自然言語処理」の2つのパートから構成され、人間の言葉を理解し、それに対して何らかのアウトプットを返すものである事を説明しました。また、「自然言語処理」技術の代表的な活用例として「検索エンジン」がある旨をお伝えしました。
「検索エンジン」はGoogleを始めとして、今やPCでもスマートフォンでも、ネットサーフィンを行う際には無くてはならないツールとなっており、皆様の日常生活でも非常に馴染みのあるものかと思います。本記事では「検索エンジン」について、それがどのように動いているのか、図書館を例に例えて、なるべく直感的にわかりやすく解説をします。
「検索エンジン」で使われている技術は自然言語処理の要とも言え、「検索エンジン」の仕組みについて学習する事で効果的に自然言語処理の学習を行うことができます。
検索エンジン
検索エンジン(けんさくエンジン、英: search engine)は、狭義にはインターネットに存在する情報(ウェブページ、ウェブサイト、画像ファイル、ネットニュースなど)を検索する機能およびそのプログラム。インターネットの普及初期には、検索としての機能のみを提供していたウェブサイトそのものを検索エンジンと呼んだが、現在では様々なサービスが加わったポータルサイト化が進んだため、検索をサービスの一つとして提供するウェブサイトを単に検索サイトと呼ぶことはなくなっている。広義には、インターネットに限定せず情報を検索するシステム全般を含む。
※日本語Wikipediaより引用
例によって日本語のWikipediaからの検索エンジンの引用です。狭義にはインターネットに存在する情報を検索するサービス、広義には、インターネットに限定せず情報を検索するサービスと書かれておりますが、話をわかりやすくするために、Googleの検索エンジンを思い浮かべて頂ければと思います。
Googleで皆様が検索を行う際に、まずは「情報検索」等の検索キーワードを入力されるかと思います。そちらを入力すると、Googleは「情報検索」に関連するドキュメントを順位をつけて返却します。これが検索エンジンの基本的な挙動です。因みに、このように検索キーワードを入力して、ドキュメントの検索を行うことを「全文検索」といいます。
前回の記事でもお話をしましたが、キーワードの意図解釈の部分が自然言語理解。そしてキーワードを入力してから、ドキュメントを返すまでの一連の処理を自然言語処理という事ができます。それでは、以降、少しだけ内側に踏み込んで、検索エンジンの動作の仕組みを学習してみましょう。こういった場合に日常生活で皆様がよく利用されるものを例に説明するとわかりやすいので、冒頭でお話をした通り、図書館を例にあげて、以下、説明を行います。
繰り返しになりますが、検索エンジンを学ぶことは自然言語処理のエッセンスそのものを学ぶ事です。
検索エンジンの動作の仕組み
検索エンジンの仕組みを理解するのに、日常生活で直感的でわかりやすい例をあげると、図書館や本屋等で必要な本を探して、手に入れるまでの過程に似ているかと思います。それでは、以下に図書館で本を探す例を用いて検索エンジンの解説を行います。
本棚(検索インデックス)
図書館には必ず本棚があり、様々なジャンルの本が本棚毎に整理をされて、その本棚に、作者順や、あいうえお順等の一定の規則で本が並べられているかと思います。新しい本が入荷されれば、補充をし、情報が古い本は削除をするなど、常に本棚の本は管理をされ、更新されていきます。
Google検索を例に考えてみると、Googleに日々蓄積されて、更新されている大量のWebドキュメントが本にあたり、その本を保管し管理する本棚にあたるものが検索インデックスと呼ばれます。
本を探す時にとる行動(検索キーワード)
例えば皆様が、これから人工知能の勉強を始めようと思っていて、図書館で人工知能の入門書を探していると仮定して下さい。その場合、まずは「人工知能 入門」等という言葉がタイトルに入っている本を探すかと思います。本のタイトルはその書籍の内容の全てを簡潔に表しているため、そのタイトルに上記のようなキーワードが入っていると、その本が読みたい本の候補になる可能性が高くなります。検索エンジンで考えると、「人工知能 入門」等のようなユーザが頭に思い浮かべるキーワードが、検索キーワードそのものとなります。
読みたい本を選定する作業(検索ランキング)
タイトルをみて、幾つか対象の本が決まったら次に取るべき行動は、その内容を確認する作業です。幾ら立派なタイトルでも、内容が薄い本であれば読むに値しないですからね。仮に3冊本の候補があるとして、そのうちの1冊を選定しなければならないとすると、皆様はどのように本を選ばれるでしょうか?
レビューを参考にする、本の内容のわかりやすさを確認する等、色々と観点があるかと思いますが、何よりもその本の内容が、本を探している目的に対して、関連度が高いかどうかという点かと思います。つまり、3冊ある本を関連度でランキングをし、一番高いランキングの本を選定するという作業を行います。
これと同じ事がGoogle検索でも行われていて、ユーザの検索キーワードをGoogleが受け取ると、そのキーワードの関連性の高い順にドキュメントをランキングします。実際は関連性だけではなく、他にも色々な要素が加味されたランキングとなっているのですが、基本は検索キーワードとドキュメントの間の関連性の深さを考慮しています。
全文検索の仕組み
本記事では、図書館の例を用いて検索エンジンの仕組みについて簡単に説明を行いましたが、「検索エンジンがどのようにキーワードの意図を解釈しているか?」について理解をしないと検索エンジンの核について何も理解できない事になります。また、この点を理解する事こそが自然言語処理を学ぶのに非常に役立ちます。そにため、ここでは導入部分のみを簡単に紹介し、次回以降の記事に繋げたいと思います。
例えば、皆様が「人工知能」というキーワードでGoogle検索を行うと、Googleは人工知能に関連性の深いドキュメントを返しますが、Googleはどのように、関連性の高いドキュメントを検索しているでしょうか?結論から言うと、「人工知能」というキーワードが入っているドキュメントを検索し、適切なランキングをしてドキュメントを返却します。この操作を全文検索といいます。
非常に簡単に全文検索の仕組みを解説すると上記になるのですが、「人工知能」の事は「AI」といったり、表記の違いまで含めてGoogleは正しいドキュメントを返してくれると思います。また、同じ「人工知能」に関する検索でも「人工知能 活用方法」と「人工知能 入門」では返却されるドキュメントが変わってきます。ここにこそ自然言語処理(特に自然言語理解)が使用されているため、次回以降詳しく内容を解説していきます。
まとめ
本記事では、図書館を例にしながら検索エンジンの仕組みに関して解説を行いました。検索エンジンは(主に)以下の3つのパートから構成され、それらは図書館の機能とは以下のように結びつきます。
- インデックス:図書館の本棚に相当
- 検索クエリ:図書館の利用者が欲しい本を探す作業に相当
- 検索ランキング:図書館の利用者が読みたい本を絞り込む作業に相当
また、これらの作業を行う際に、ユーザの検索キーワードを理解する部分に自然言語処理(自然言語理解)が使用される旨も解説を行いました。
次回以降は、より全文検索の仕組みにフォーカスして、その要素技術について直感的にわかりやすく解説を進めていく予定です。