見出し画像

これまでの検索と生成AI時代の検索

ChatGPTをはじめとして生成AIのサービスが登場し、情報の検索方法が大きく変わろうとしています。この記事では、今までの検索の歴史を軽く振り返りながら、これからの検索がどのようになっていくかをまとめたいと思います。生成AIや検索システム、それらの社会やビジネスへの影響に興味のある方にとって、参考になれば幸いです。これからの検索はいろんな可能性がありとてもワクワクします。

※あくまで一個人のまとめです。また、書いていたら思ったより長くなってしまったので、ご興味あるところを読んで貰えればと思います。


検索とは

そもそも検索とはどういうものでしょうか。検索技術の教科書の定義をまとめると次のようになります。

情報検索(Information Retrieval)とは、大規模な集合(large collections)から情報ニーズ(information need)を満たす資料(material)を見つけ出すこと

「Introduction to Information Retrieval」を要約

つまり、大量のデータの中から、ユーザーの知りたい情報を探し出してくれるものです。

この検索の仕組みは、とても便利なものであり、身の回りのあらゆるところに組み込まれています。例えば、Googleのように汎用的に情報を検索できるものもあれば、Amazonのように欲しい商品を検索できるもの、インターネット以前には百科事典や電話帳などがあります。このように検索はほとんどのサービスや書籍に組み込まれていて、ほぼ毎日なにかしらの検索を利用している人が多いのではないでしょうか。

身の回りの検索例

さて、そんな検索を支える中心技術となっているのが、検索インデックス(索引)になります。索引は、書籍の後ろの方に載っている用語リストとページ番号が記載されたもので、知りたい情報に素早くアクセスすることを可能にしています。まずは、この検索インデックス(索引)の歴史を紹介していきます。「索引 ~の歴史 書物史を変えた大発明」という2023年に発売された書籍の内容を元に紹介します。

索引 ~の歴史 書物史を変えた大発明

検索の歴史

索引の登場

索引は、1230年頃にフランスとイギリスで2人の人物が同時期に別々に生み出しました。そのころのヨーロッパでは、大学の登場や修道会の広まりによって、教育と説教の必要性が高まっていました。それらを上手に実践する方法として、聖書などの書籍から該当箇所を素早く探し出すような効率的な読書の方法が求められていました。そうした社会ニーズが背景となって、フランスではヒューがラテン語聖書の(用語)索引を、イギリスではグロステストが大量の書籍の(主題)索引を作成しました。

活版印刷の登場による索引の進化

そして、1450年頃に登場した活版印刷という新しい技術によって、書籍のページ番号が登場し、索引の普及が加速しました。活版印刷が登場する前は、写本によって本を複製します。そのため、文字や紙の大きさによって、1ページに記載されるテキストは異なり、ページ番号も写本ごとに異なるものになります。つまり、ページ番号が機能しないため、索引には章番号が利用されていました。例えば、前述のヒューによるラテン語聖書の索引では、ページ番号ではなく章番号を利用しています。しかし、章では粒度が粗く、目的の箇所を素早く探し出すのには不十分でした。そこで、活版印刷の登場により、ページ番号が機能するようになり、様々な書籍にページ番号の索引がつけられるようになりました。

索引の重要な2つの要素

ここで索引の重要な2つの要素を紹介します。索引は目的の該当箇所を素早く探し出すもので、それの実現を支えるのが、1)アルファベット順(あいうえお順)に並んだ用語リストと2)ページ番号による場所の指示です。つまり、知りたい用語があったときに、アルファベット順に並んだリストから、素早く用語を探せます。そして、そこに書かれたページ番号から、該当箇所を素早く開くことができます。特に、後者の性質は、巻物や写本による複製では、うまく機能しないものでした。しかし、活版印刷という新しい技術の登場によって、それが可能になり、索引が普及するようになりました。

巻物や写本による複製から、活版印刷へ

索引の新たな使われ方

さて、索引が普及すると、素早く該当箇所を探し出すという機能以上の使い方が探求されていきました。例えば、政敵を嘲笑するような用語を選ぶ風刺的索引というものが作成されました。また、不思議の国のアリスの作者で知られるルイス・キャロルは、小説に索引をつけるという試みを行っています。ルイス・キャロルの最後の小説「シルヴィーとブルーノ」には言葉遊びがされた索引が付いていました。このように、索引が単純な機能に留まらず、作家や読み手に新しい価値を与えていることは、興味深いです。

ルイス・キャロルの最後の小説「シルヴィーとブルーノ」につけられた索引

コンピューターの登場

そして、コンピューターが登場すると、あらゆる文章が電子化され、大量のデータから目的の情報を検索するニーズがさらに高まりました。コンピューター上の検索においても、索引が重要な役割を果たします。あらかじめ、各単語がどの文章に出現したかを覚えておくことで、文章が数万数億と大量にあっても、瞬時に探し出すことができます。書籍の索引と同等のこの仕組みをコンピューター上で実現するものを転置インデックスと呼び、現在のコンピューター上のあらゆる検索の基礎となっています。

インターネットの登場

1990年代になるとインターネットが普及し始め、インターネット上にある情報に、素早くアクセスする需要が高まりました。Googleでは、ユーザーが検索した単語に関連するWebサイトを10個ほど表示してくれます。ググるという言葉が一般化しているように、Googleの登場で情報検索のあり方が大きく変わりました。Google以外にも、AmazonやYouTubeなど多くのサービスに検索が組み込まれており、インターネット空間での検索は日常に溶け込んでいます。

社会やビジネスへの影響

このように社会ニーズや技術革新によって、検索は変化していき、それによって文章の書き方や読み方も変化しています。例えば、Googleの検索では上位に掲載されることが、企業にとって死活問題であるため、Googleの検索アルゴリズムに特化するようにサイト構成やコンテンツ内容を最適化します。また、私達が文章をパソコン上で書く際にも、後々検索して引っかかりやすいように、タイトルやタグや内容を修正することがあります。つまり、索引や検索が、完成したコンテンツに後からつけるおまけのようなものではなく、コンテンツの作成時のはじめから念頭に置かれるもので、文章の書き方に大きく影響を与えています。また、読み方も同様に、検索があることで、読書体験や情報収集の仕方も変化してきました。それによって、フィルターバブルやエコーチェンバーという社会問題を引き起こす一要因ともなっています。

また、ビジネスにおいても検索は重要な役割を果たします。目的の情報に素早くアクセスしたいというニーズは、様々な場面にあるため、Googleのように索引を構築することや検索システムを提供することがビジネスになります。Google以外にも、企業の情報をまとめた会社四季報やタウンページなどの電話帳は、インデックス化した情報をビジネスとして提供しています。他にも、旅行や転職、法律、医療など各分野に特化した検索システムが一大産業として開発されています。

生成AI時代の検索

そして、2023年頃からChatGPTをはじめとする生成AIサービスが普及し始め、これによってまた検索が大きく変わろうとしています。

関連情報の検索から回答生成へ

生成AI時代の検索について、Google Researchの研究者が発表した「Rethinking Search」という論文に、面白い考察があるので紹介します。

今までの検索エンジンは、ユーザーの情報ニーズに直接答えるのではなく、関連する参考情報を提供している。一方で、学習済み言語モデルは、ユーザーの情報ニーズを満たす回答を直接生成できる可能性がある。

Rethinking Search: Making Domain Experts out of Dilettantes

この論文自体は、2021年に発表されたものですが、2024年の現在では論文の「関連情報の検索から回答生成」という内容が現実化しています。例えば、Perplexityでは知りたいことを文章で入力すると、関連する情報を検索したうえで、それらをまとめて回答を生成してくれます。今までのGoogle検索では、単語を入力して、関連するWebサイトを閲覧して、というように最終的に知りたい情報に到達するまでに時間や手間がかかっていました。

Perplexityによる回答(複数のソース内容をまとめて回答してくれる)

Googleも生成 AI による検索体験 (SGE: Search Generative Experience)を提供し始めています。(参考)

Googleの生成 AI による検索体験

また、「関連情報の検索から回答生成」を象徴する事例として、Stack Overflowがあります。Stack Overflowは、プログラミングに関するQ&Aの掲示板です。プログラミングについてわからないことを質問すると、誰かが回答してくれます。このStack Overflowは、ChatGPTが登場してから、アクセス数が半減したとも言われています(参考)。(注:他にも様々な要因の可能性が指摘さています。)

Stack Overflowのアクセス数の減少

ChatGPTは、Web上の大量のプログラミングコードを学習しているため、ユーザーのプログラミングの質問に対して、パーソナライズして回答してくれます。自分自身も今までは、プログラミングについてわからないことがあると、Googleで検索してStack Overflowの関連するQ&Aを読み込んで、試行錯誤することが多かったです。ただ、Stack Overflowでは、自分自身の知りたいことに、直接フィットする回答がないことも多く、解決するまで時間がかかっていました。一方で、ChatGPTを利用すると、自分の知りたいことにパーソナライズして、的確にコードを生成してくれます。そのため一個人としてもプログラミングにおいては、「関連情報の検索から回答生成」の時代にパラダイムが変化したことを体感しました。

ChatGPTによる回答例

このように、生成AIによって、直接ユーザーの知りたいことの回答を作成してくれることの社会やビジネスに対する影響は大きいです。以下では、生成AI時代の検索の中心技術であるRAGを紹介しながら、今後の検索やビジネスの方向性について考えたいと思います。

RAG

RAG(Retrieval-Augmented Generation:検索拡張生成)とは、外部情報の検索と組み合わせて、大規模言語モデル(LLM)によるテキスト生成の精度と信頼性を向上させる技術です。LLMでは、ハルシネーション(幻覚)というもっともらしく間違ったことを生成してしまう問題があります。その問題を解決する方法として、外部ソースから検索で取得した情報のみに基づいて、文章を生成するRAGがあります。また、RAGを使うことで、LLMがまだ学習していない最新情報や自社特有の情報を取り込んで、文章生成ができるメリットがあります。

最近では、チャットボットやFAQシステムの回答作成に、RAGが活用され、大きなビジネスとなっています。ただし、「ChatGPTでの業務効率化を“断念”──正答率94%でも「ごみ出し案内」をAIに託せなかったワケ 三豊市と松尾研の半年間」の事例のように、RAGがうまくいかないケースも散見されます。

RAGの技術にもう少し踏み込みながら、RAGの限界や可能性について考えたいと思います。

RAGを構成する三要素

RAGの構成要素として、データ・検索・生成の3つに分解することができます。この3つの掛け合わせで、RAG全体の精度が決まります。

RAGの性能に関する3つの要素

また、RAG全体の精度向上は、従来のAI開発と同様に下記のような曲線を描きます。ChatGPTのAPIなどを活用することで、ある程度の精度はすぐに出ます。一方で、ユーザーや顧客が求める精度の要求は、一般に高いことが多いです。前述の「ごみ出し案内」の事例では正答率99%が求められていました。そのバーを越えるのには、想像以上の工数がかかることもしばしばあります。その具体的な取り組みをデータ・検索・生成の3つに分けて、見ていきたいと思います。

RAGの精度とコストの関係

データ

RAGの精度を高める重要な要素の1つ目が、検索対象となるデータです。データのクオリティが悪いと、後続の検索や生成も悪くなってしまいます。データについて考える場合、「A.データ化されているか」・「B.データが整理されているか」・「C.データ更新の運用がされているか」が大切です。これらについて、企業の社内FAQ生成システムを例に解説します。

A. データ化されているか
まず、そもそもデータ化されていない社内の暗黙知は山のようにあります。社内FAQ生成システムを作る際には、どこまでを対象にするのか、新しくデータ化するのかといったことが肝になってきます。そもそものデータが無ければ始まりません。

B. データが整理されているか
データ化されていてもそれがLLMにとって活用しやすい形になっているかが重要です。例えば、データがPDF形式しかない場合やエクセルの各タブに保存されている場合は、検索がしやすい形式に変換する必要があります。

C. データ更新の運用がされているか
最後に、運用が回っているかという点も重要です。データの更新がされなかったり、データが無闇に増加したりすると、検索の精度が悪化していきます。RAGに取り組む場合は、データの更新の運用に社員が毎月リソースをはれるのかを確認する必要があります。

以前、自分が所属する会社でNotion AIの導入をトライアルで試したことがありました。Notion AIでは、ユーザーが質問すると、Notionに溜まった記事を検索して、それを要約して回答してくれます。一見便利そうではあったのですが、古い記事を引っ張ってきたり、要約時に肝心の箇所が抜けていたりで、結局のところ参照された記事の中身を見なければならないことが多々有りました。そのため、Notion AIの導入は一旦見送りになっています。

Notion AIによる回答

検索

検索の精度が、後段の生成の精度に直結します。つまり、検索の精度が悪いと、正しい情報が後段の生成時の処理に渡されないため、回答生成のクオリティも低くなってしまいます。そのため、検索単体の精度が十分なものなのかを確認する必要があります。

今までの検索は単語の入力が多かったですが、生成AIの検索では、文章を入力することが多いです。その文章を解釈して、関連する情報を検索して、生成AIの生成時の参考情報とします。検索方法には、tf-idfやBM25などの昔からあるキーワードベースのものから、BERTやGPTによるEmbedding(ベクトル)を利用するベクトルベースのものまで、様々な手法が提案されています。キーワードベースとベクトルベースは、それぞれ強み弱みがあるので、組み合わせて使うことが多いです。

生成

生成の観点では、生成AIの精度が高いのか・生成がそもそも必要なのかという観点が重要になります。

関連情報が生成AIのプロンプトに入力されて、ユーザーの質問に対して、その関連情報をもとに回答します。しかし、生成AIの精度が良くないと、せっかく正しい情報がプロンプトにあるのに、それを無視して回答したり、重要な箇所を抜かして回答したりする場合があります。そのため、回答を生成するのに十分な生成AIのモデルを利用することが大切です。

また、そもそも生成が必要なのかという点に立ち戻ってみることも重要です。関連情報をリストとして提供するだけでも、ユーザーが満足することが多いです。そのため、生成することでの付加価値が何かを改めて考える必要があります。例えば、英語の資料を検索して日本語に要約することや複数の資料を比較してまとめることなどが、生成することの付加価値になります。

このように、データ・検索・生成の3つが、RAGにおいて重要な要素で、それぞれが十分に機能しているかを確認し、全体のクオリティを測る必要があります。

これからの検索

生成AI時代の検索の中心技術であるRAGの3要素について紹介しました。データ・検索・生成のそれぞれの要素は、「関連情報の検索から回答生成へ」という流れの中で、今後ますます発展していくように思います。それぞれの発展の方向性を「①データ化」・「②新しい検索のUI/UX」・「③滑らかなネクストアクション」という観点で考えたいと思います。

これからの検索に重要な3要素

①データ化

ずっと以前から、知りたい情報をデータ化することは重要でしたが、生成AI時代においては、その価値がますます高まり、それを生成AIが効率化できる可能性があります。

例えば、ずっと原因不明の体調不良に悩まされていて、どの病院のどの診療科に行けば良いかについてGoogleで検索しても、まだまだ病院に関する情報がデータ化されていないため、自分にあった病院を探すことが難しいことがあります。このように、ユーザーニーズがあり、まだデータ化されていない領域をデータ化することは、ビジネスにおける競合優位性になります。

そしてこのデータ化を生成AIによって効率化できる可能性があります。一般にデータ化の作業は、人手による地道な作業が必要ですが、その一部を生成AIによって効率化できる可能性があります。例えば、構造化されたデータは無いが、PDF形式のデータがインターネット上に存在する場合は、その構造化作業には、生成AIが大いに活用できます。他にも、画像や音声などの非構造化データの構造化やデータ抽出にも活用できます。

②新しい検索のUI/UX

今までのGoogleのような単語ベースの検索から、生成AIに特化した新しい検索のUI/UXが求められています。

Googleの検索や書籍の索引では、単語ベースで検索することが多いです。一方で、生成AIには、文章として質問を投げかけることができます。また、PerplexityやBingなどでは、回答を作成するのに情報が足りない場合は、情報を引き出すような質問を投げかけてくれます。つまり、ユーザーの知りたいことやそのコンテキストをより深く入力することができるようになりました。また、出力に関しても、Googleのように関連するWebサイトを表示するのではなく、1つの文章として回答を作成してくれます。

生成AI時代にはどのような検索のUI/UXが求められるのでしょうか。入力の観点では、受動的な言語化がポイントになると思います。なぜなら、自分の知りたいことや自分の状態を言語化することは難しいからです。Googleの単語の検索においても、ググり力と呼ばれるように、どの単語を選んで検索するかによって結果が大きく異なりました。生成AIの検索では文章を入力するため、言語化能力による結果の差異はさらに大きなものになります。そのため、検索のUI/UXとしては、AIが投げかける質問に受動的に選択するだけで、自分の頭が整理されて、自動的に言語化されるような体験が望ましいかもしれません。また、出力の観点では、以下で紹介する「滑らかなネクストアクション」が重要になってくるように思います。

③滑らかなネクストアクション

検索の目的は、知りたい情報を知るだけでなく、真の目的を達成することです。例えば、病院を検索する場合は、自分にあった病院を知るだけでなく、病院に行って治療を受けて症状を治すことが真の目的です。その際に、病院を知ってから、実際にその病院に行くまでにはいくつものハードルを超える必要があります。他にも、車の購入や転職活動、旅行などにおいて、検索はあくまで入口で、最終的な目的の達成には手間や時間がかかります。そのため、購入や予約などのネクストアクションへのスムーズな接続は、生成AI時代の検索においてもますます重要で、生成AI Agentのような仕組みで自動化や効率化ができる可能性があります。

これからの検索まとめ

Stack Overflowの事例のように、コンピューター上で完結するものは、生成AI単独でも効果を発揮します。一方で現実世界の多くのケースでは、そもそもデータ化されていないことや検索した後の行動に時間や手間がかかることが多いです。そのため、データ化する価値や出口とシームレスにつなげる価値が今後より重要になってくるように思います。そして、検索体験として、ユーザーの情報を引き出して、回答を提供するような誰もが簡単に利用できる新しいUI/UXが登場してくるでしょう。いろんな可能性がありとてもワクワクします。

そして、新しい検索の登場によって、私達の文章の書き方や読み方も大きく変わり、社会やビジネスへの影響も出てきます。すでに教育の分野では生成AIの検索が社会問題になっているケースもあります。生成AIの強み弱みを理解したうえでの活用が今後より一層求められるでしょう。

まとめ

これまでの検索を振り返りながら、生成AI時代の検索についてまとめました。あくまで、一個人の視点からのまとめになりますが、生成AIや検索システム、それらの社会やビジネスへの影響に興味のある方にとって、参考になれば幸いです。

参考資料

索引 ~の歴史 書物史を変えた大発明

索引の歴史についてまとめた書籍です。索引によって火あぶりの刑を回避した事例など、索引にまつわるいろんな歴史が紹介されています。この書籍にも3種類の索引が付けられていて、索引の違いを体感することができます。YouTubeでも書籍紹介されています。(ゆるコンピュータ科学ラジオ)

Rethinking Search: Making Domain Experts out of Dilettantes

Google Researchの研究者が検索について再考した論文です。2021年に書かれた論文で、2024年の現在において、その内容が現実化しており、示唆に富んでいます。著者等は、2022年に「Transformer Memory as a Differentiable Search Index」というキーワードベースでもベクトルベースでもない新しい検索手法も提案していて、検索アルゴリズム自体の発展にもいろんな可能性を感じます。

新しい検索エンジン

OpenAIがGoogleに対抗する検索エンジンを公開する可能性があると報道されています。Googleなどの検索のビジネスモデルや今後の可能性についてご興味あるかたは、こちらのYouTubeがわかりやすかったです。(Off Topic / オフトピック#211, #212)

検索の教科書

検索の技術を知るのには、次の書籍がまとまっていてわかりやすいです。

RAGについて

RAGの技術的詳細や評価指標については、以下の資料がわかりやすいです。

A Survey on Retrieval-Augmented Text Generation for Large Language Models
rag-from-scratch
mlops-rag-bootcamp
Emerging Architectures for LLM Applications


この記事が気に入ったらサポートをしてみませんか?