危機の際に、人々が極めて重要な質問に対する答えをすばやく見つけるには、チャットボットが役立つはずです。COVID-19 のようなパンデミックの場合、人々が必要とする情報は、病気の進行に関するものや、感染してるかどうかのテストを受けられる場所に関するものでしょう。このチュートリアルでは、危機コミュニケーション・チャットボットを Slack に統合する方法を説明します。この統合によって、ユーザーは COVID 関連の質問に対する答えをさらにすばやく見つけられるようになります。
このチュートリアルでは、COVID 危機コミュニケーション・アシスタントを Slack に統合して稼働させる手順をステップバイステップで説明します。
このチュートリアルを完了すると、以下に示すアシスタントが完成します。
学習の目的
このチュートリアルの目的は次のとおりです。
- Slack アプリケーションを作成する方法を学ぶ
- Slack アプリに Watson Assistant を統合する
- Slack 対応の Call for Code COVID 危機コミュニケーション・チャットボット・ソリューションを構築する
前提条件
- IBM Cloud アカウント
- Watson Assistant COVID-19 危機コミュニケーション・チャットボットを作成します。
- 管理権限を使用して Slack ワークスペースをセットアップします
所要時間
前提条件を満たした後、このチュートリアルを完了するには約 15 分かかります。
アーキテクチャー図
以下の図に、COVID-19 に関する質問に答える Slack チャットボットを作成する際のワークフローを示します。
- ユーザーが COVID-19 Slack 統合チャットボットを起動して質問をします。
- Slack アプリが、IBM Cloud 内でホストされている Watson Assistant サービスを呼び出します。
- Watson Assistant が自然言語理解機能と機械学習を使用して、ユーザーの質問からエンティティーとインテントを抽出します。
- COVID-19 FAQ に信頼できる CDC データが提供されます。
- Watson Assistant が OpenWhisk オープンソースを利用した IBM Cloud Function を呼び出します。
- IBM Cloud Function が IBM Cloud 内で実行されている Watson Discovery サービスを呼び出します。
- Watson Discovery がニュース記事をスキャンし、関連する記事で応答します。
- Watson Assistant が OpenWhisk オープンソースを利用した IBM Cloud Function を呼び出します。
- IBM Cloud Function が COVID-19 API を呼び出して統計情報を取得します。
- Watson Assistant が Slack アプリに応答します。
- Slack アプリがチャットの答えをユーザーに表示します。
手順
Slack ワークスペースを作成し、Watson Assistant チャットボットが稼動中になったら、Slack とチャットボットの統合を開始できます。
COVID-19 危機コミュニケーション・アシスタントを表示して、「Add Integration (統合を追加)」をクリックします。
Watson Assistant UI で、「Third-party integration (サード・パーティー統合)」セクションまでスクロールダウンし、「Slack」を選択します。
まず、Slack アプリを作成する必要があります。「Create New App (新規アプリを作成)」をクリックし、アプリケーションの名前を入力して、Slack 開発ワークスペースを指定します。Slack アプリの作成方法の詳細をご覧ください。
Slack アプリの設定ページで、「Basic Information (基本情報)」タブを表示し、「App Credentials (アプリ資格情報)」セクションを見つけます。このセクションから検証用トークンをコピーします。
ステップ 4 でコピーした検証用トークンを、Watson Assistant と Slack の統合ページのステップ 2 で、該当する領域に貼り付けます。
「Basic Information (基本情報)」タブの「Display information (表示情報)」セクションで、アプリケーション・アイコンとアプリケーション名を追加することもできます。
「OAuth & Permissions (OAuth と権限)」タブにナビゲートします。「Bot Token Scopes(ボット・トークンのスコープ)」セクションにある「Add an OAuth Scope (OAuth スコープを追加)」をクリックし、スコープとして
app_mentions:read
、chat:write
、im:history
、im:read
、およびim:write
を選択します。「OAuth & Permissions (OAuth と権限)」タブで、「Install App to Workspace (アプリをワークスペースにインストール)」をクリックし、「Allow (許可)」をクリックします。「OAuth & Permissions (OAuth と権限)」ページが再表示されます。
注: Watson Assistant と Slack の統合ページのステップ 2 > セクション 3 にある「OAuth access token (OAuth アクセス・トークン)」フィールドと「Bot user OAuth access token (ボット・ユーザー OAuth アクセス・トークン)」フィールドの両方に、ボット・ユーザー OAuth アクセス・トークン (
xoxb
で始まる文字列) をコピーしてください。Slack アプリの設定ページで、「Event Subscriptions (イベント・サブスクリプション)」タブにナビゲートします。「Enable Events (イベントを有効にする)」トグルの「On (オン)」をクリックします。Watson Assistant と Slack の統合ページのステップ 3 に進み、「Generate Request URL (リクエスト URL を生成)」をクリックします。Slack アプリの設定ページ上のリクエスト対象の URL を貼り付けて、「Enable Events (イベントを有効にする)」ページでその URL を確認します。
「Event Subscriptions (イベント・サブスクリプション)」タブで、「Subscribe to Bot Events (ボット・イベントにサブスクライブ)」セクションを見つけます。「Add Bot User Event (ボット・ユーザー・イベントを追加)」をクリックし、サブスクライブするイベント・タイプを選択します。以下のタイプのうち、1 つ以上を選択する必要があります。
message.im
: ダイレクト・メッセージ・チャネルで送信されるメッセージ・イベントを listen します。app_mention
: アプリまたはボットについて言及しているメッセージ・イベントだけを listen します。変更内容を保存します。
「App Home (アプリ・ホーム)」タブで、「Edit (編集)」を選択し、仮想アシスタントの表示名とデフォルト・ユーザー名を入力します。「Save (保存)」をクリックします。「Always Show My Bot as Online (常にオンラインとしてボットを表示する)」トグルを有効にします。
Watson Assistant と Slack の統合ページで、「Save Changes (変更を保存)」をクリックします。
Slack ワークスペースにログインし、「Browse App (アプリを参照)」をクリックします。これまでの手順で作成したアプリを見つけてワークスペースに追加します。
アプリケーションをテストするために、ダイアログ・ツリー内のインテントとエンティティーに基づく質問をします。応答が返されたら、COVID-19 危機コミュニケーション・アシスタントの統合に成功したことになります。お疲れさまでした!
まとめ
このチュートリアルでは、チャットボットをすばやくプロビジョニングして Slack に接続する方法を説明しました。この新しく得た知識を生かして、COVID-19 のような危機に対処するための独自のソリューションを作成し、Call for Code COVID-19 チャレンジに参加してください。