IBM Watson Blog

チャットボットのオーケストレーションをしやすくする方法の紹介

記事をシェアする:

エンタープライズ・チャットボットの構築には、トレーニング・データと応答コンテンツの他にも、非常に多くの要素の考慮が必要です

 

時が経つのは早いもので、私がアシスタントをあらゆるものと統合する(英語)ための全体的なアーキテクチャーについて説明したブログ記事を投稿したのはもう数年前のことです。Watson Assistant では、ほとんどの開発者API と同様に、当時から自然言語の対話を提供していました。しかし、エンド・ユーザーのチャネル/エクスペリエンスに接続し、バックエンド・サービスのオーケストレーションを行い、どれもうまくいかなかったら人間のエージェントに引き継ぐためのアプリケーションは、開発者が構築する必要がありました。当時の一般的なアーキテクチャーは以下のようなものでした。

How to Make Chatbot Orchestration Easier

オーケストレーション・アプリケーション: チャットボットを構築するための従来のアーキテクチャー・パターン

 

ご覧の通り、多くのカスタム・コンポーネントが、極度に断片化されたカスタマー・ケアのためのテクノロジー・スタックに接続された、かなり複雑な構図となっています(ほとんどのエンタープライズ企業で見られる現象です)。断片化されたテクノロジー・スタックには、コンタクト・センター・ツール、既存コンテンツ、CRM ツール、RPA ツール、オフライン分析ツール、内製バックエンド・システム、およびその他多くのテクノロジーが含まれています。どれもパーソナライズされた効率的なアシスタント・エクスペリエンスの提供には欠かせないテクノロジーですが、通常はほとんどが連携されておらず、サイロ化しています。結合部分を示すボックス(「Glue」)はすっきりして見えますが、蓋をあけてみるとそこには開発者にしか理解できない、さらに複雑な仕組みが隠れています。結果として、数年前まで、アシスタントの構築は相当な時間とリスクを覚悟しなければならない作業でした。

 

IBM では2019 年頃から、企業によるエンタープライズ・グレードのアシスタントの構築、立ち上げ、および保守を大幅に容易化することを目標に取り組んできました。その結果、Watson Assistantは上図のような開発者API から、真のエンドツーエンドの仮想アシスタント・プラットフォームに生まれ変わりました。新しく生まれ変わったアーキテクチャーでは、大規模かつ複雑なオーケストレーション・アプリケーションの構築に注力するのではなく、コンテンツと会話のパーソナライゼーションにフォーカスできます。そのため、価値実現の時間が数カ月から数週間、早ければ数日に短縮されます。多くのエンタープライズでは、アシスタントを5 営業日未満でデプロイし、この新しいアーキテクチャーのメリットを早くも享受しています。

 

IBM の新しいアプローチでは、フローの要所で複雑性を軽減し、必要なところで最小限のグルーコードを書くだけで済むようにします。新しく改良されたアーキテクチャーは以下のとおりです。

 

How to Make Chatbot Orchestration Easier

Watson がお客様に代わって多くの処理を実行: アシスタントを構築するための新しいアーキテクチャー・パターン

 

かなりすっきりしたのがわかると思います。では、データの流れについて説明しましょう。

オペレーション順に並べた主要なポイントは以下のとおりです。

  1. チャネル: Web チャット、電話、メッセージング
  2. オーケストレーション: メッセージ前の Web フック・コールアウト
  3. タスクの完了: タスク別の Web フック・コールアウト
  4. 引き継ぎ: 既存のコンテンツと人間のエージェント
  5. オーケストレーション: メッセージ後の Web フック・コールアウト

ここからは、アーキテクチャーの各コンポーネントの詳細と、ユースケースまたは複雑なニーズに合わせてカスタマイズする方法を説明します。

 

1 | チャネル: Web チャット、電話、メッセージング

 

IBM では、2020 年に Web チャット統合をリリースしました。これは、シンプルなコピー・アンド・ペースト操作で誰もが Web サイトに埋め込むことができるフロントエンド・クライアントです。しかし、当初はこのシンプルさが仇となり、一部のエンタープライズでは、ワールドクラスのパーソナライズされたアシスタントを構築するために必要なカスタマイゼーションを追加することができませんでした。IBM の Web チャットのユーザー・エクスペリエンスは効率的で快適(英語)に使用することができるものの、エンタープライズでは必ずといってよいほどカスタマイゼーションが必要になります。

このような理由から、カスタムの応答タイプ(英語)、カスタムのテーマ、およびウィジェットを Web チャットで構築する機能を追加し、お客様があらゆるカスタム・エクスペリエンス、フォーム・ファクター、または企業イメージを構築できるようにしました。開発者は、もう一歩踏み込んで Web チャットを基礎となるアプリケーションに統合することもできます。基礎となるアプリケーションが listen できるイベントをクライアント・サイドから起動(英語)するという仕組みです。Web チャットの拡張機能については、今後の記事で詳しく説明します。

Web チャットの他にも、電話、WhatsApp、Facebook、SMS、およびその他の主要なカスタマー・ケア・チャネルに迅速かつ容易にデプロイできるようにするチャネル統合も複数提供しています。これらのチャネルの多くでは、それぞれのコンソール内で一定のカスタマイゼーションを行うことは可能ですが、このようなチャネルのカスタマイゼーションとオーケストレーションのほとんどは、後述するメッセージ前およびメッセージ後のオーケストレーション Web フックなどの拡張ポイントによって実現します。

また、アシスタントを使用して IBM では直接サポートしていないチャネルに応答する必要がある場合は、どのようなアプリケーションからでも呼び出せる堅固な REST API を使用することも可能です。

 

2 & 5 | オーケストレーション — メッセージ前およびメッセージ後の Web フック・コールアウト

 

最近アップデートされた Watson Assistant の Web フックと、強力で使いやすいチャネル統合とを組み合わせて使用することで、取り組みをより素早く開始し、引き続き管理が必要なすべてのカスタム・オーケストレーション・コードをより直感的な場所に保管できます。

How to Make Chatbot Orchestration Easier

メッセージ前およびメッセージ後の Web フック・コールアウトで
あらゆる外部システムをオーケストレーション

 

複雑かつ大規模なオーケストレーション・アプリケーションを構築し (このブログの最初の図を参照)、IBM の API を含む多数の統合 API を駆使して会話の状態/履歴を管理する代わりに、メッセージ前およびメッセージ後の Web フックを使用して、ユーザーと Watson Assistant の間で交わされる入力と出力をインターセプトできます。

なぜこのような仕組みが必要なのでしょうか。多言語のユーザーをサポートする必要があるとしましょう。言語ごとのアシスタントを管理する作業は避けたいところです。それらの言語を話せないのであればなおさらです。そこでメッセージ前の Web フックを使用すれば、どのような言語であっても入力をインターセプトし、サポートしているネイティブ言語 (例えば、英語) に翻訳することができます。Watson Assistant は、単一のトレーニング・セットを基に英語で処理を実行し、応答を返します。その後、メッセージ後の Web フックで出力をインターセプトし、ユーザーのネイティブ言語に戻すことができます。

流れをわかりやすく説明すると、メッセージ前の Web フックを使用することで、会話が交わされる度にユーザーの入力をインターセプトして必要な操作を行い、同じような JSON ペイロードを Watson Assistant による分析のために返すことができます。逆に、メッセージ後の Web フックを使用すれば、アシスタントからのすべての応答をインターセプトし、必要に応じて JSON ペイロードをカスタマイズして応答することができます。

言語翻訳の他に、メッセージ前の Web フックの一般的なユースケースには、個人情報のフィルタリング/リダクション、ユーザー ID 管理と別名割り当て、およびユーザーの基本情報や場所といった他のシステムからのコンテキストの追加などがあります。メッセージ後の Web フックの一般的なユースケースには、個人情報の置き換え、および CMS* からの応答のプルなどがあります。

*コンテンツ・ライターや法務レビュー担当者のチームがいる場合、チャネルごとに応答を変更する場合、または言語ごとに手作業で異なる応答を作成する場合など、作成されたすべてのコンテンツを Watson Assistant とは別のコンテンツ管理システムに保管することが推奨される場合があります。すべての応答は ID に関連付けられ、これをその他の変数と組み合わせることで、メッセージ後の Web フックは Watson がダイアログまたはアクションから返すキーに基づいて、ユーザーに送信する実際の応答コンテンツを検索できます。

 

3 | タスクの完了: タスク別の Web フック・コールアウト

 

このタイプのオーケストレーションは、ダイアログ (またはアクション) スキル内で行われ、アシスタントが行う極めて具体的な、実行指向の処理に関連付けられています。メッセージ前およびメッセージ後の Web フックは会話が交わされる度に実行される一方で、タスク別の Web フック・コールアウトは必要なときだけに呼び出されます。これは、請求の支払い、CRM への新規リードの登録、アカウント情報の参照、口座残高の照会などのようなトランザクション関連の要求に最適です。すべてのメッセージにユーザーの残高情報を含める必要はなくても、ユーザーから残高の照会の要求があったときには、API を使用して情報を取得し、ユーザーが求めている正確な情報を返すことができます。

 

How to Make Chatbot Orchestration Easier

アシスタントがタスク別の Web フック・コールアウトでタスクを処理

 

4 | 引き継ぎ

 

人間の従業員と同様に、アシスタントはすべての知識を持っているわけではありません。引き継ぎが Watson Assistant アーキテクチャーの重要な部分を構成するのはそのためです。アシスタント構築時には、2 つの主要な引き継ぎを考慮する必要があります。Watson Assistant ではどちらの引き継ぎも最適化されています。

 

4a | お客様の既存コンテンツ

 

アシスタントが特定の要求にどう応答するか決定する際、ダイアログ/アクション・スキルに明示的な応答があるかまず確認します。ない場合は、既存のヘルプ・コンテンツを確認します (通常ここには豊富な情報がありますが、ユーザーが自身で探すのは困難です)。

Watson Assistant 内では、検索スキルがお客様の既存コンテンツのソースです。背景で Watson Discovery を活用し、既存コンテンツをクロールして索引付けし、それに対し検索を実行することで、照会に対する最も正確な回答を探し出します。トレーニングは一切必要としません。

How to Make Chatbot Orchestration Easier

検索スキルでトレーニングを必要とすることなく既存コンテンツをクロールし、回答を取得

 

Web サイトに役立つ情報が豊富にある場合、検索スキルは非常に有用です。Web クローラーでサイトを指定し、同期の頻度を指定することで、アシスタントが自動的に最新の既存コンテンツを利用できるようになります。そのため、ダイアログで明示的にトレーニングされていないような質問が提起されても、Watson は検索スキルを使用して、ヘルプ・コンテンツから応答を探すことができます。Web クローラーに加えて、テキスト抽出で PDF、Word、Excel、PPT、JPEG、JSON、および HTML などのファイル・タイプをサポートできるようにするコンテンツ・コネクター (Box、Salesforce、SharePoint など) も複数用意しています。

 

4b | 人間のエージェント

 

アシスタントの応答が尽きた場合の最終手段は、会話を (Web/メッセージングによる対話の中で) ライブ・エージェントのサービス・デスクに引き継ぐ、または、電話でコンタクト・センター・ツールに会話を転送* することです。引き継ぎが行われる条件はいくつかあります。一定の質問があったときに引き継ぎが発生するよう明示的に設定されている場合、アシスタントの応答の選択肢が尽きた場合、不十分な応答を何度も繰り返した場合、または、ユーザーが人間とのやりとりを明示的に要求した場合です。IBM は、Zendesk、Salesforce、Twilio Flex、および Genesys PureCloud など複数のサービス・デスクへのコネクターを用意していますが、ありとあらゆるサービス・デスクに接続できるわけではありません。これに対応するために、お客様が独自のサービス・デスク・コネクターを構築(英語)できるようにするためのアダプターをリリースしました。これらのアダプターは Genesys や Twilio などのサービス・デスクの例に基づいています。

 

*電話統合の資料の vgwActTransfer コマンドを参照してください。電話統合では、お客様の電話システムに SIP を引き継ぐことで、既存のサービス・デスク・エージェントにユーザーを転送できるようになっています。お客様の電話システムでチーム、またはその他の宛先に転送するための設定に必要な変数はすべて、vgwActTransfer に含まれています。

How to Make Chatbot Orchestration Easier

最終手段として、アシスタントは複数のツールで人間のエージェントに
エスカレーションすることが可能

 

まとめ

 

これまで説明した拡張やカスタマイゼーションを使用することで、あらゆるエンタープライズ・アシスタントのユースケースに対応可能なソリューションを作成できるようになります。もちろん IBM の事前構築済みのアセットや統合も引き続き活用できます。すでに多くのお客様が、アーキテクチャー内の一定の領域で標準装備の機能と高度なカスタマイゼーションを組み合わせて使用しています。これにより、シンプルさおよび低い所有コストといったメリットと、ほぼ無限のエンタープライズ・レベルでのカスタマイゼーションとの相乗効果を生み出すことができます。

ぜひ Watson Assistant に登録し、アシスタントを作成してみてください。登録済みのお客様は、IBM Watson Apps Community (英語)に参加し、IBM のエキスパートや他の Watson Assistant ユーザーとディスカッションを続けてください。

このサイトにもサブスクライブしてください。この記事の続編として、近日中に IBM の製品エキスパートが各拡張ポイントについての詳細を投稿し、実世界のユースケースとサンプル・コードも紹介します。

 

原文:How to Make Chatbot Orchestration Easier (https://medium.com/ibm-watson/how-to-make-chatbot-orchestration-easier-c8ed61620b8d)

 

More IBM Watson Blog stories

あらゆる言語に対応する Watson アシスタント

IBM Cloud Blog, IBM Data and AI, IBM Watson Blog

優れたカスタマー・サービス・エクスペリエンスを提供するのは簡単なことではありません。そのためには、お客様の望む方法で関心を引きながらやりとりし、質問を正確に理解して、効率的に問題を解決する必要があります。そのようなエクス ...続きを読む


「IBMから製品を買えば間違いはない」のが本当である理由

IBM Cloud Blog, IBM Data and AI, IBM Watson Blog

Watson Assistant 新しいエンタープライズ・プランをリリース   テクノロジー業界では、「IBM から製品を買っていれば間違いはない」という昔からの通説があります。新型コロナウイルス感染症が猛威を振るう時代 ...続きを読む