ALFは他のAIチャットボットとどのような違いあるでしょうか?
Tessa • Product Management
今や世界には様々なAIチャットボットサービスが存在します。しかし、依然として多くの人が生成型AIに実務を任せることに不安を感じています。特に企業の最前線で顧客と会話するCS業務にAIチャットボットを導入するとなると、より慎重にならざるを得ません。そのような実情を加味して、チャネルチームは安心して顧客対応を任せられる正確なAIチャットボット、AIエージェント「ALF」を開発しました。今回のブログでは、果たしてALFが他のAIチャットボットとどのように違うのかをご紹介します。
ALFを導入したチャネル数とALFの平均問い合わせ解決率
チャネルトークのALFは2024年11月に正式リリースをし、これまでですでに1,000社以上の企業に導入されたAIエージェントです。ADASTRIA、PAUL&JOEを始めとする、様々な業界や規模の企業でご利用いただいています。ALFは流入した問い合わせのうち、平均43%をオペレーターの接続なしに解決する優れた成果を見せています。
では、果たしてALFは他のAIチャットボットサービスとどのように違うのでしょうか?どのようにより正確な回答をするのでしょうか?チャネルトークのAIチームにALFとAIチャットボットの比較を聞いてみました。大きく5つに分けられるそうです。
項目 | ALF | 一般的なAIチャットボット |
ベクトル検索 | 独自ベクトル検索システム構築によるデータ構造を考慮したデータチャンキング | サードパーティシステムを使用してランダムなデータチャンキング |
データ構造の把握 | 独自機能「ドキュメント」でデータを入力するため、構造と文脈を反映した回答を生成可能 | 様々なフォーマットの外部データを入力するため、データの構造をきれいに把握することが難しい |
画像・表の活用 | ドキュメント内の画像と表を活用して回答生成。回答に画像をそのまま提供することもある | 回答に画像を提供することはほとんどない |
プロンプトチェーン | 問い合わせシナリオの各ステップに最適化された設計。 特に「説明のカスタマイズ」機能で正確なルーティングが可能 | プロンプト・チェイニングが適用されないか、あっても問い合わせシナリオに最適化されない |
ハルシネーション防止 | ファクトチェックモジュールを活用して正確な回答だけを生成して提供 | 別途のファクトチェックステップなし |
ところで、こうやって見ると...少し怖い(?)単語が多いですね。それぞれどんな内容なのかを1つずつ(ALF中心に!)説明してみます。THE 文系の私が理解できる言葉で表現したみたので...ぜひ読んでみてください^_^
一目わかるALFの差別ポイント5つ!
独自のベクトル検索システムを構築
ドキュメント構造を把握した回答生成
画像・表の情報を活用
プロンプト・チェイニングで正確性を向上
ファクトチェックモジュールでハルシネーションを最小化
チャネルトークのALFは自社のベクトル検索システムを構築し、早く・正確に情報を検索できます。
ベクトル検索.....ってなんだ?
今から説明するので、逃げずにお待ちください...
AI自体は言語の「意味」を理解できません。そのため、AIが言語の意味を理解して回答させるためには、人の言語、すなわち「自然言語」をAIが理解できる形の数字データにする過程が必要です。ベクトル(vector)とは、またに「AIが理解できる形の数字データ」です。
自然言語がどのように数字データで表現されるのかの例を見てみましょう。重要なのは単語間の関係が表現されていることです。似たような性質のデータ同士は距離が近く、他のデータ同士は遠くにする。下の画像のようにman、woman、king、queenの4つの単語を以下のような数字データで表現するなら、同じ性別同士は近く、同じ身分(あるいは分類)同士は近く表現されます。
簡単に表現したベクトルデータの概念
このようにベクトルデータに基づいた「ベクトル検索」をすると、見た目は違っても実際には同じ意味のテキストを見つけることができます。例えば、異なる2人の顧客がそれぞれ以下のような問い合わせをしたとしましょう。
顧客A:"商品はいつ到着しますか?"
顧客B:"今日注文した商品の発送日が気になります。"
見た目は全く違う単語でできた言葉ですが、実はこの2人の顧客が気になっているのは「商品の到着日」という同じ内容です。このような文章が実は同じ意味であることを認識し、同じ回答で対応するなら、私たちはそのAIが言葉を本当に賢く理解していると感じるでしょう。これが私たちがChatGPTのような最新の生成AIが「賢い」と感じる理由です。
理解しやすくするための簡略的なチャンキングの図式化
では、このようにベクトル化されるテキストデータは何があるでしょうか?問い合わせに使うAIチャットボットなら、問い合わせに回答する時に必要なご利用ガイドや回答マニュアル、「よくある質問」がそのデータになりますよね。これらのテキストデータは通常長すぎるため、より小さな単位に分ける過程、「チャンキング(chunking)」が必要です。
AIがデータをうまく検索して答えるためには、この「チャンキング」、つまりデータを適切なところでうまく切ることが重要です。ベクトル検索システムを独自に構築しないと、繊細なチャンキングは困難です。実際にAWSやGoogleのようなビックテック企業がベクトル検索システムを提供しています。このようなサードパーティシステムの場合、大多数に提供されるサービスのため、「文字数」のような一括的な基準でチャンキングをするしかありません。さらに、文章が終わっていないのに切れることがあります。
しかし、チャネルトークのALFは「独自ベクトル検索システム」があるため、チャネルトークのデータに最適化された基準でデータをチャンキングすることができます。顧客がチャネルトークに入力しておいたデータの「構造」を把握することができるからです。なぜデータの構造を正確に把握できるのでしょうか?顧客がチャネルトークの「ドキュメント」機能を活用してデータを入力するためです。
この話は2つ目の長所とも深い関係があるので、早速次に移りましょう😉
チャネルトークのドキュメント機能のイメージ
チャネルトークのユーザーが文書を作成できる「ドキュメント」という機能があります。Notionのようなエディターで文字を入力でき、さらにこの文書をWebに公開して企業のブログやご利用ガイドとして活用できる機能です。
チャネルトークのALFはこのドキュメントに保存された情報を瞬時に検索して顧客に回答します。これがまさに「RAG(検索拡張生成)」です。AIがオープンブックテストをするように資料を見て答える機能だと思ってください。このとき、ドキュメントはALFのための「ナレッジ倉庫」になります。
ところで、ドキュメントに保存されたデータには、メタ情報が沢山含まれています。「メタ認知」という言葉をよく使いますよね?メタ情報とは、ドキュメントに保存された各内容が、"タイトル"なのか、"表"なのか、"画像"なのかを知ることができます「データのデータ」だと理解してください。
ドキュメントの各項目に該当するタグの例
例えば、本文の大タイトルには「heading 1」タグが、中タイトルには「heading 2」タグが付いています。表示入力された部分には「table」タグがあるはずです。画像が入っていれば、これも識別しやすいでしょう。そうすると、ドキュメントに保存されたデータをチャンキングする時、このような基準を提供することができるでしょう。
"少なくとも「heading」タグを基準に切れば意味的に分離できるんだな!"
"文章が終わった後に切らなきゃ!"
"画像が入っているなら、画像の前後のテキストを空く腰は含めて切らなきゃ!"
このような基準が反映されたベクトル検索システムでのドキュメントの中の情報を探せば、はるかに正確ですよね?
ALFは画像をデータとして活用し、回答することができます。画像の中にある内容を参考にすることはもちろん、画像自体を回答に添付することもできます。
この過程で、画像を「画像キャプショニング」と「OCR」を活用してテキストデータに変える過程を経ます。これに加えて、画像が本文内のどの位置にあるのか、画像の前後にどのようなテキストがあるのかまで含めて活用するので、画像の内容をより正確に把握して活用することができます。
*画像キャプショニング(Image Captioning):画像で入力された場合、画像に対する描写を自然ごの形で生成する機械学習分野の課題
*OCR(Optical Character Recognition):テキスト画像を機会が読み取り可能なテキストフォーマットに変換するプロセス
ALFが活用する画像データに含まれる内容
hierarchy:画像が該当する文書の位置(title, subtitle, headingが活用される)
pre_text:画像の前にあるテキスト
caption or ocr:imege captioningまたはocrの結果
post_text:画像の後ろにあるテキスト
画像内のテキストを読み、回答に画像自体を添付するALF
ここからさらに進み、最近ではALFがドキュメント内の画像を回答に活用できるようにアップデートされました。例えば、会員ランク別の特典が整理された表や、衣類洗濯の注意点がアイコンと共に記載された画像を顧客に提供できるようになりました。さらに、画像の中に記載された詳細テキストを読み取って回答に活用するため、ユーザーが画像の中のテキストを別途記述する必要がありません!
表に記載された情報を読んで案内するALF
ALFは画像だけでなく表の情報もしっかり活用できます。仕事をしていると、様々な情報をExcelに表で整理することが多いですよね?この右ような表形式のデータをドキュメントに保存しておくと、ALFが読み取って回答することができます。顧客に会員ランク別の得点を案内したり、支店別の営業時間を案内するなど、細かいケース別の回答を提供するのに効果的なので、ぜひ使ってみてください!
プロンプト・チェイニング(prompt chaining)...?
ここまで頑張ってきたから、まだ諦めないで...
聞き慣れない言葉ですよね?私もこのブログを書く前までは知りませんでした。
ALFはプロンプト・チェイニングで精度をさらに高めました。より具体的に説明すると、GPTを「問い合わせ対応に適した構造」寄りにして、より正確な答えが出るように設計したという意味です。
チャネルトークのALFはGPTを基盤にしたAIエージェントです。GPT自体は多くの人と企業が使っているLLMです。このLLMを「どんな構造」で使うかがGPTを活用した数多くのサービスを分けるポイントになります。
このような時に使うのが「プロンプト・チェイニング」です。どのような意味なのかを1つ1つ見ていきましょう。
ChatGPT画面
まず「プロンプト」とは、AIに何かを要請するために使用するテキストベースのコマンドや質問を意味します。ChatGPTを使ったことがあるなら、質問を書かないとAIが答えられないということを理解しているかと思います。このとき入力した質問がプロンプトです。質問をAIが理解しやすい形でうまく作成するほど、希望する回答を得られる可能性が高くなります。
プロンプト・チェーンの概念(出典:IBM)
「プロンプト・チェイニング」とは、プロンプトを連鎖的に使用するという意味で、LLMを活用して複雑な問題を解決するときに使用する方法です。上の図からも分かるように、前のステップで質問して得た結果を次のステップの入力として連続的に使用するように構造を組みます。
ALFに与えられた「複雑な問題」は、まさに顧客からの問い合わせです。したがって、ALFがプロンプト・チェイニングを使用するという意味は、ALFが顧客と対話する各ステップで顧客の質問を分類したり、生成された回答を自ら検討するようなステップ別のシナリオが組まれているという意味です。
それでは、ALFのプロンプト・チェイニングがどのような方式なのかを簡単に見てみましょう。
チャネルトークALFの回答フロー例
ルーティング:顧客が話しかけるとどのタイプの回答をしなければいけないのかを判断して「ルーティング(接続)」します。
単純に挨拶してもいいのか?
コマンドを活用しないといけないのか?
FAQを活用して回答しないといけない単純な質問なのか?
RAGで回答しなければいけない見た目より個別化された質問なのか?
またはオペレーターに接続しないといけないのか?
問い合わせの要約:もしRAGで回答しなければいけない場合、顧客が何を気になっている問い合わせなのかを要約します。
関連内容の検索:要約した結果を基盤にこれに必要なないうようを検索して探します。
結果のフィルタリング:検索した結果のうち、何が役に立つ情報なのかをフィルタリングします。
回答の生成:フィルタリング結果に基づいて回答内容を生成します。
ファクトチェック:回答を作成したのち、根拠を探して自らファクトチェックをします。
(理解しやすくするためにフローを簡略化しているため、実際のフローとは若干異なります。)
ALFの説明のカスタマイズ
ALFには「説明のカスタマイズ」という機能があります。「オペレーター接続」、「追加情報のリクエスト」、「参考回答」の3つの欄に説明を入力できるようになっています。それぞれのステップでルーティングが必要な問い合わせのタイプが何かを書き込んでください。 例えば、「顧客が強い不満を表出するなら、必ずオペレーターに繋げて!」と書けば、ALFは怒っている顧客に一人で答えようとせず、すぐにオペレーター接続を案内することができます。
ALFの用語辞典
また、各企業でよく使われる単語の意味は「用語辞典」にまとめておくことをおすすめします。例えば、チャネルトークといえば「オペレーター」、「ワークフロー」、「Meet」など、固有の機能名称が多いので、この機能についての説明を入れておくことができますね!用語辞典に保存された情報はALFが背景知識を理解するのに補助的に活用されます。
このように状況別に何を判断するのにAIが作動しなければならないのかを繊細に設計すれば、より正確に答えることができます 。チャネルトークでは優秀なAI人材がチームを構成し、ALFのプロンプト・チェイニング構造を設計しています💪
上で簡単にALFのプロンプト・チェイニングがどのようなものなのかを説明しながら、「自らファクトチェックをするステップ」があると言及しました。これは生成 AIの盲点とされるハルシネーション(hallucination)を防止するためのステップです。ハルシネーションとは、生成 AIが偽りの情報で回答をする現象のことです。
ALFの紹介画像の一部
ファクトチェックモジュールとは、簡単に言えば、AIが作った回答が正しいかAIが判断するようにするものです。ALFが作成した回答が正しいか判断できる基準を与え、判断結果の回答内容が基準にすべて合致すれば、回答を出す採点段階があります。基準を満たしていない場合、「該当のお問い合わせは私が解決できないため、オペレーターに接続します。」と答えることになります。
ただ、この部分で「果たして自分で自分の答えを採点するようにしてもいいのか…?」という疑問があるかもしれません。AIチームによると生成よりは採点がもっと簡単なことだそうです。まるで誰でも料理が上手ではなくても味の評価はできるようにですね。
ここまでお読みいただき... お疲れ様でした🥹
まとめると、ALFは優秀なAI人材が問い合わせに適した構造で会話するように設計すると同時に、チャネルトークに保存されたデータの構造を把握して回答できるため、より正確なAIエージェントという事実!
結論、ALFは「チャネルトーク」を基盤に作動するという点で、どのAIサービスよりも問い合わせ対応に最適化されていると説明できると思います。単純に「ChatGPTをそのまま使うのと何が違うの?」、あるいは「他のAIチャットボットと何が違うの?」と思っていた方にこのブログが役に立つことを願っています。
原文:Tena(Content Marketer in Korea)
翻訳:Tessa(Product Management in Japan)