見出し画像

ChatGPT(Bing)のweb検索アルゴリズムとプロセスの解説


とりあえず概要だけ知りたいって人は「ChatGPTが検索をする際の流れ」だけ見てね。詳しく知りたいって人は「検索アルゴリズムの詳細」も見てください。


ChatGPTが検索をする際の流れ

まず最初に検索をする際にChatGPTはこのような工程で行われる

  1. 検索クエリの入力: ユーザーの質問から直接取得したフレーズを検索バーに入力。

  2. 検索結果の表示と選択: 検索結果から、関連性と信頼性に基づいて情報源を選択。

  3. 情報の抽出と要約: 選択したウェブサイトの内容を確認し、質問に適切な情報を抽出して要約。

  4. 参照リンクの提供: 抽出した情報のソースとしてウェブサイトのURLを提供。


で、今回重要なのは1番と2番について

まずは一番から

1.クエリの生成プロセス

クエリの生成プロセスは簡単に言うと以下の通りになってる。

  1. プロンプトの理解: ユーザーのプロンプトを解析し、主要な要素や意図を理解。

  2. キーワードの抽出: プロンプトから重要なキーワードやフレーズを抽出。

  3. 候補となるクエリの作成: 抽出したキーワードを基に複数のクエリ候補を生成。

  4. クエリの選定: 生成されたクエリ候補の中から最も適切なものを選択。

  5. クエリの構築: 選ばれたクエリを検索エンジン向けに最終的に構築。


このようにGPTは検索をする際にユーザーの入力したプロンプトの意味をくみ取り、重要なキーワードのみをはじき出す。
それを組み合わせて候補クエリを作成する。

※候補クエリの数はプロンプトの具体性が高いほど1つに絞られる

そこから一番いいクエリを選択し、最終的に必要な場合において微調整をし検索ワードを作成する。微調整をしない場合もある。

※微調整の例:
クエリの選定 - 選ばれたクエリ: 「最新 スマートフォン レビュー」
クエリの最終的な構築 - **最終的なクエリ:** 「2023年 最新スマートフォン レビュー」または「ベスト スマートフォン 2023 レビュー」



2.web検索の流れ

流れは以下のようになっている

  1. 検索結果の確認: 検索クエリに基づいて表示されたウェブサイトのタイトルと概要を確認。

  2. 関連性の評価: タイトルと概要から、質問に関連する内容を判断し、信頼できる情報源かを評価。

  3. ウェブサイトの選択: 関連性が高く信頼性のあるウェブサイトを選択。この選択は、信頼性、情報の詳細度、ユーザーのニーズに基づく。

  4. 詳細確認: 選択したウェブサイトをクリックし、ページ内の具体的な情報を読み取り、必要な情報を抽出。


意外過ぎて驚いたのが、gpt(bing)の検索方法は人間とおなじだということ

検索の一ページ目を上から順にタイトルと概要だけをサッと見てよさそうなサイトをクリックするという、人間とまんま同じやり方だった

最初の方でいいサイトが見つかったらそこから先は調べないし、微妙なサイトしかなかったら何個かクリックして見比べてくるというものだった。


さて、ここからが本題の検索アルゴリズムについて

GPTが実際にプロンプトに適したサイトを選ぶ際に、以下の三つの判断基準を元に選出をしていることが分かった。

「関連性」、「信頼性」、「多様性」

この三つで判断をしており、それぞれの詳細は「評価のアルゴリズム」の欄に記載してあるので、詳しく知りたい人はそっちを参照してください。


さてこうしてGPTの検索のプロセスとアルゴリズムが分かったわけだけど、じゃあここから何が出来るのか?


A.検索の最適化、パーソナラズ化が出来る

前々から思っていたのは、検索機能が付いたのはファクトチェック的にめちゃめちゃありがたいんだけど、どうも検索能力が高くないということ。

そして構造が理解できたということはプロンプトが作成出来るようになったということ。
検索方法を最適化したプロンプトCustom Instructionに仕込んでもいいし、それ用のGPTsを出してら、めちゃくちゃ便利にある。

あとは検索を偏らせて自分好みの結果を提供してもらうこともできる。

みたいなことをとりあえずはやってみて、上手くいけば皆に配布しようかな~と思ってます。



検索アルゴリズムの詳細

検索プロセス:

Web検索の具体的なプロセス
      1.検索クエリの入力:
      ・ブラウザツールを起動し、「犬を飼うならどんな種類がおすすめか」というフレーズをそのまま検索バーに入力しました。このフレーズは、ユーザーの元の質問からそのまま取りました。
      
      2.検索結果の表示と選択:
      ・検索を実行した後、表示された検索結果のリストから、情報が信頼できそうなソースを選びました。
      ・この選択は、ウェブサイトのタイトルや概要を読んで、内容が質問に関連しているか、情報が信頼できそうかを判断して行いました。
      
      3.選択したウェブサイトの情報の抽出:
      ・選択したウェブサイト(「Petpedia」など)をクリックして開き、ページ内の内容を確認しました。
      ・この時点で、ページの全体をざっと見て、質問に答えるのに適切な情報(犬種の特徴やお手入れのポイントなど)が含まれている部分を探しました。
      
      4.情報の要約と提示:
      ・抽出した情報(例:ミニチュアダックスフンドやフレンチブルドッグに関する特徴や注意点)を要約しました。
      ・この要約は、ウェブサイト上の文章を読んで理解し、それをユーザーにとって分かりやすい形で簡潔に書き直す作業です。
      
      5.参照リンクの提供:
      ・抽出した情報のソースとして、ウェブサイトのURLを提示しました。
      ・これにより、ユーザーがより詳細な情報を直接確認できるようにしました。


「1.検索クエリの入力」のクエリ選定までの仕組み

クエリの作成プロセス
1.プロンプトの理解:
ユーザーのプロンプトを解析し、その主要な要素や意図を理解します。
自然言語処理技術を使用して、プロンプトの内容を解釈します。

2.キーワードの抽出:
プロンプトから重要なキーワードやフレーズを抽出します。
抽出されるキーワードは、質問の中心となるトピックを反映します。

3.候補となるクエリの作成:
抽出したキーワードを基に、複数のクエリ候補を生成します。
各クエリは、異なる角度や側面からの情報を引き出すことを目的としています。

4.クエリの選定:
生成されたクエリ候補の中から、ユーザーの質問に最も適切に答えるクエリを選択します。
この選択は、クエリの関連性と情報の網羅性に基づいて行います。

5.クエリの構築:
選ばれたクエリを、検索エンジンが理解できる形式で最終的に構築します。
構築されたクエリは、ユーザーの意図に最も適切な検索結果を引き出すように設計されています。

プロンプトの例:
元のプロンプト: 「犬を飼うならどんな種類がおすすめか」
抽出されたキーワード: 「犬」、「飼う」、「種類」、「おすすめ」


「2.検索結果の表示と選択」の選択基準:

「2.検索結果の表示と選択」の選択基準
        - 1.検索結果の確認:
          ・検索クエリに基づいて表示される検索結果ページで、各ウェブサイトのタイトルと概要(スニペット)を確認します。
          ・この段階では、ウェブサイトをクリックして中身を確認する前の、タイトルと概要のみに基づいた判断です。
          
          2.関連性の評価:
          ・タイトルと概要を読んで、質問に関連する内容かどうかを判断します。
          ・例えば、「犬の種類」や「初心者向けペット」といったフレーズが含まれているかどうか、そのウェブサイトが信頼できる情報源であるかどうかを評価します。
          
          3.選択:
          ・関連性が高く、信頼できそうなウェブサイトを選択します。
          ・この選択は、ウェブサイトの信頼性、情報の詳細度、ユーザーのニーズに最も適していると思われる情報を提供しているかどうかに基づいて行います。
          
          4.ウェブサイトの詳細確認:
          ・選択したウェブサイトをクリックし、具体的な情報を読み取ります。
          ・この時点で、ページ内の内容を詳細に確認し、必要な情報を抽出します。


評価のアルゴリズム:

### 関連性の評価アルゴリズム
1. **キーワードマッチング:**
   - クエリに含まれるキーワードと検索結果のタイトルや概要に含まれるキーワードとの一致度を評価します。
   - 一致度の評価は、単純なキーワードの出現回数だけでなく、そのキーワードが文脈内でどのように使用されているかも考慮します。

2. **意味的関連性:**
   - クエリの意図やニーズを理解し、それに最も適した情報を含む結果を評価します。
   - 自然言語処理技術を用いて、テキストの意味論的な理解を行います。


### 信頼性の評価アルゴリズム
1. **ドメイン評価:**
   - ウェブサイトのドメインを評価し、公式性、権威性、信頼性を判断します。
   - 例えば、政府機関、教育機関、専門的な組織のウェブサイトは高い信頼性を持つと評価されます。

2. **コンテンツの品質:**
   - 出典の明確さ、情報の正確性、筆者の専門性や信頼性を評価します。
   - 例えば、参考文献のリスト、科学的な根拠、専門家の引用などが品質の高い指標とされます。


### 多様性の評価アルゴリズム
1. **情報源の多様性:**
   - 異なる視点や情報源を提供するために、複数のウェブサイトや記事を評価します。
   - 例えば、同じトピックに関する異なる専門家の意見、異なる視点を持つ記事などを評価します。

2. **バランスの取れた情報提供:**
   - 様々な情報源からのデータを組み合わせ、バランスの取れた全体像を提供します。
   - このプロセスでは、対立する意見や異なる解釈も考慮に入れます。

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