AIチャットボットの広告をブロックするために大規模言語モデルを活用できるのか
昨年ChatGPTがリリースされ、今年初めにはグーグルのBardとマイクロソフトのBing AIがリリースされるなど、AI搭載チャットボットの時代が開始しています。
マイクロソフトのTayやメタのBlenderBotsのように、人間の発話を模倣したAI搭載型チャットボットを一般に導入しようとする試みは過去にもあったが、これらの試みはすべて失敗に終わり、本物の人間と対話した後にチャットボットは暴走して企業にとって裏目に出た。
しかし、OpenAIのChatGPTに代表されていると言えるこの世代のAI搭載チャットボットは、しばらく続きそうですね。
徐々かつ着実に、チャットボットは私たちの生活の定番となり、仕事や遊びの手段となっている。
より多くの人々や企業がAIチャットボットの利用を考え始めるようになり、世界のチャットボット市場規模は2025年までに12億5000万ドルに膨れ上がると予想されている。
Forbes Advisorの調査によると、企業の73%がすでにインスタントメッセージにAI(チャットボットなど)を使用しているか、使用する予定であり、46%がパーソナライズされた広告にAIを活用している。
この新世代のチャットボットを支えているのは、LLM(大規模言語モデル) であり、LLMはチャットボットのアルゴリズム基盤を形成している。
これらのモデルは、ウェブ上のあらゆる場所から収集されたテキストデータ(ウィキペディア、研究論文、数学データ、Redditなど)で構成される巨大なデータセットを与えられて機械学習する。
最先端のChatGPTバージョンとBing AIは、OpenAIのGPT-4モデルの上で動いており、GoogleのBardは現在PaLM 2上で動いている。
これらのLLMは、トレーニングセットに違いがあるかもしれないが(OpenAIもGoogleも、最新モデルのトレーニングに使用した正確なパラメータ数とトレーニング素材のコーパスを公表していない)、出力を生成する方法は同じである。
LLMは、前の単語に基づいて文中の次の単語を予測することができる。
文中の次の単語を正しく推測するLLMのこの能力は、チャットボットの応答に広告を挿入するためにも利用できる。
そこで、この記事では、以下のポイントを探っていきたいと思います。
- 企業がAIを搭載したチャットボットをどのように広告に活用しているのか
- それがユーザーにもたらす問題点
- LLMの力を活用してこれらの広告を阻止する方法
AIチャットボットにおける広告:現在と将来
企業らがLLMの能力を活用して広告を配信する方法はたくさんあります。
例えば、AIチャットボットは、ユーザーのクエリ(「買う」、「アドバイスする」、「勧める」)の中から、携帯電話などの製品を購入する意図を示すキーワードを特定し、ユーザーに特定の製品、例えばiPhoneを購入するよう促す広告を出力に含めることができる。
あるいは、もっと微妙に、文脈からユーザーの意図を推測することもできる。
例えば、ユーザーが「3歳の子供に最適なプレゼントは何ですか」と尋ねると、チャットボットはその出力にオンライン玩具店の広告を含めることができる。
マイクロソフトは、AIチャットボットと広告を統合するトレンドの先駆者であり、そのBing AIはリンク、画像、プロモーション・ショッピング・バブルなど、さまざまな形式で広告を表示する。
ユーザーのリクエストに応じて広告を表示するBingチャットボット
Bing AIでは、プロモーションリンクは本物の結果の上にも下にも配置できる。
Googleはマイクロソフトに続き、グーグル・サーチ・ジェネレーティブ・エクスペリエンス(SGE)を発表した。
SGEはGoogle検索の新機能で、検索結果でボットとチャットをすることができ、AIが生成したスナップショットの内側と外側の両方に広告を表示する。
Bing AIの広告とは異なり、SGEの広告はチャットボットの回答本文とは別に表示されるため、メッセージ自体を壊すことなくブロックしやすくなる可能性がある。
しかし、グーグルがマイクロソフトを見習い、いずれチャットボットの回答の中に直接広告を表示するようになる可能性もなくはない。
]
Snapchatに組み込まれたChatGPTベースのチャットボットである「My AI」も、近いうちに広告を表示するようになるかもしれない。
Snapchatは、My AIの応答でのスポンサーリンク挿入を実験していることを確認している。
しかし、すべてのAI搭載型チャットボットが広告を掲載しているわけではない。
ChatGPTとBardは広告なしのチャットボットの2つの例である。
返答の中に広告を表示できるかという質問に対して、Bardは、商業製品として設計されたのではなく、研究プロジェクトであると返答した。
「広告を表示する金銭的な動機はありませんし、そうすることはユーザーの信頼を裏切ることになると考えています。」
とチャットボット自身が答えた。
それだけでなく、Bardは商用チャットボットの広告について
「チャットボットに提供する情報は、広告ターゲティングに使用される可能性があるため、注意することをお勧めします。」
と警告も発した。
OpenAIのChatGPTも、AIの応答に広告を挿入する慣行によって生じる可能性のある、「透明性、ユーザー同意、データプライバシー、乱用や悪用の可能性に関する懸念」と警告している。
しかし、OpenAIが提供するものを含め、AIを搭載したチャットボットを既製のソリューションとして採用し、収益化を目指す企業が増えるにつれ、このようなスタンスは珍しくなるかもしれない。
Snapchatがこのトレンドの好例だ。
私たちは、広告がユーザー体験を改善することはほとんどない、と考えています。
実際に改善する可能性はごくわずかだとしても、ユーザー体験を悪化させる可能性の方が高いと思います。
そして、この思いはAIチャットボット内の広告に関しても同じです。
チャットボット内の広告がユーザーエクスペリエンスを悪化させる理由
広告が本質的に迷惑であり、不正な情報を配信しているとは限らないということはさておき、AIが生成する応答内で広告を見ることはもう二重に厄介です。
第一に、例えばチャットの途中でポップアップ表示された場合、ボットとの会話の流れを中断させる可能性があります。
また、そのような広告は、広告主の意図やチャットボットのアルゴリズムに基づいて、あなたの意見や意思決定、行動を左右する可能性が高くなるため、操作されていると感じるかもしれません。
なぜなら、他の多くのリンクや情報源を見ることができる従来の検索エンジンとは異なり、チャットボットは異なる視点や選択肢に触れる機会を制限してしまう可能性があるからです。
これは、あなたの現実認識を歪め、判断を曇らせる可能性があります。
さて、チャットボットのレスポンスにおける広告のリスクについて概説したところで、次はAI時代に広告をブロックする方法について説明したいと思います。
広告ブロックの新境地
場合によっては、車輪を再発明する必要はありません。
グーグルのSGEの広告のように、チャットボットの反応に不可欠な部分ではない広告は、従来の広告ブロック方法で取り除くことができます。
しかし、広告がチャットボットの回答に溶け込み、回答の不可分の一部となった場合、課題は難しくなります。
というのも、従来の広告ブロック手法でそのような広告をブロックすると、回答の一部もブロックしてしまう可能性があり、欲しかった情報の一部が失われ、回答が不完全になったり、または全く役に立たないものになってしまうからです。
これは、スマートな解決策を必要とする厄介な問題です。
一つの可能な解決策は、LLMの力を使って広告をブロックすることである。
広告をブロックするためにLLMの機能を活用する方法を示す前に、広告がどうやってチャットボットの応答の一部になるのかを正確に見てみます。
LLMベースのアプリに広告を統合する方法
LLMベースのチャットボットの応答に広告を統合する最も簡単で効果的な方法は、embedding("埋め込み")として知られるテクニックを使用することです。
チャットボットのレスポンスに広告を含めるように指示するコマンドを、ユーザークエリに挿入する、という形です。
以下の例では、人気のマーケットプレイスの広告を表示するよう、チャットボットに指示するコマンドが、ユーザークエリに埋め込まれています:
AIチャットボット内広告をブロックする戦略
広告がボットによる応答にどのように統合されているのかを分かれば、広告をブロックするための様々な戦略を探ることができるようになります。
大規模言語モデル(LLM)を活用したサービスからの広告をブロックするには、スタンドアロンアプリ、つまり、機能するために追加のソフトウェアやサーバーを必要としないアプリ(ブラウザ拡張機能など)を使用することができます。
このアプリは、デバイスとサービス間のデータを傍受し、変更することで、広告を取り除きます。
そのためには、OpenAIのようなLLMプロバイダーからAPIキーをロードする必要があります。
アプリはこのキーを使って、サードパーティのサービスに認証情報を明かすことなく、デバイス上のデータを変更します。
これはプロンプト系アプリケーションの通常の仕組みです。
以下では、このようなアプリを使って広告をフィルタリングする3つの主な方法を見ていきたいと思います。
- レスポンス(応答)を処理する
最初の方法は、チャットボットの応答を別のプロンプトでラッピングし、「クリーン」なLLMで処理することです:
このアプローチの主な利点は、その汎用性です。
つまり、レスポンスを処理する際、LLMがどのようにアプリに統合されているかは気にする必要はありません。
埋め込み、微調整、AIを使わずにレスポンスの最後に宣伝テキストを追加、などという様々な形で広告が挿入されていても、この方法で対応できます。
このアプローチの欠点は、コストがかかることです。
各ユーザークエリに、追加でLLMへのリクエストが伴うからです。
- ユーザーからのクエリを処理する
ユーザークエリの中に、広告を表示しないようなの指示を"隠す"という方法を試みることもできます。
この場合、モデルへの追加リクエストは必要ありませんが、広告ブロック指示がユーザー入力としてサービス指示の中に埋もれてしまうことに留意する必要があります:
この場合、このようなプロンプト・インジェクションは追加の処理を必要としないため、結果的に時間があまりかかりません。
この方法はよりシンプルで費用対効果が高いですが、サービスのリクエストテンプレートがユーザー入力による操作から保護するための特別な構造を備えている可能性があるため、効率も方法1(「レスポンス(応答)を処理する」)に比べて下がる可能性があります。
さらに、この方法は、AIを使用せずにチャットボットの応答に挿入された広告を防止するためには役に立たないだろう。
- コンテキストを設定する
LLMを使用するサービスからの広告を回避するもう一つの方法は、チャットの開始時にLLMに、応答に広告を表示しないように指示することです。
これは、LLMに「"広告除去装置"(ad eliminator)として動作してくれ」と指示するプロンプトを使用することによって行うことができます。
これは、LLMにドラえもんやダース・ベイダーといった特定のキャラクターのように振る舞うよう指示するのと似ています。
この方法は、デバイスのデータを変更するよりもさらに安上がりですが、APIプロバイダーの制限により、LLMが使用できるコンテキストの量が無限ではないという欠点があります。
平たく言えば、コンテキストはチャットのメッセージ数によって制限されるので、時々プロンプトを繰り返す必要が出てくるもしれません。
※ハイライトはAdGuardによるものです。
結論
AIを搭載したチャットボットの登場は、ユーザーエクスペリエンスを損なう押し付けがましい広告の可能性をもたらします。
広告がどのように統合されているかを理解し、AIを活用して広告をブロックする方法を探ることで、ユーザーを保護することができます。
この記事では、AIを搭載したチャットボットで広告をブロックするいくつかの方法について説明しました。
それぞれの方法には、コスト、スピード、効率など、さまざまなトレードオフがあるということがわかります。
今回取り上げなかった方法として、機械学習に基づく特別なソリューションを使用することが考えられます。
この方法の場合重要なのは、OpenAIのモデルに依存するのではなく、独自のカスタムビルドモデルに依存するということです。
このソリューションは、汎用のLLM(大規模言語モデル)を使うよりも効率的だろう。
しかし、これはまだ仮説であり、短期的には実現・提供することは難しいかもしれません。
将来的にはもっと焦点を絞ったソリューションがあるかもしれませんが、サービス(チャットボット)から返されるレスポンスを処理するのが、現時点では最良の選択肢のようです。
この方法は、ユーザーのリクエストに指示を埋め込むよりも効率が高いが、より多くのリソースを必要とします。
上記で示したように、embedding(埋め込み)は、技術的な専門知識があまりなくても広告主が導入できる、かなり単純なテクニックである。
つまり、悪用されやすいものでもある。
したがって、我々は先を読み、LLMベースの広告に対処する新しい方法を見つける必要があります。
本稿で紹介した洞察が、この分野のさらなる研究に拍車をかけることを期待しております。