サービス紹介 活用事例 導入の流れ 料金プラン ログイン

お問い合わせ

Watsonチャットボットの作り方
〜会話の作成からアプリ連携まで〜

Watsonは、IBMクラウドに登録するだけで誰でも使うことができるAI(人工知能)です(無料プランあり)。

今回はWatsonを使って、自動でユーザーと対話を行うチャットボットを作成していきます。

目次

IBM Cloud(Bluemix)にログインする

IBM Cloud新規登録画面

まずはIBMクラウドのアカウントを作成する必要があります。

こちらのページへアクセスし、必要事項を入力してアカウントを作成してください

Watson Assistant(旧Conversation)を使ったシナリオの設定方法

アカウント作成したら、さっそくチャットボットを作成していきます。

サービスを作成する

IBMクラウドには様々なサービスがありますので、その中から「Watson Assistant」を選択します。

見つからない方はここから移動できます

Watson Assistantサービスの作成

そのまま「作成」を押します。

Watson Assistant管理画面の起動

ツールの起動」を押して開始します。

Watson Assistantスタートページ

Watson Assistantの画面が起動しました。ここからは英語になります。

Workspaces」を押すと、チャットボットの単位である「ワークスペース」の一覧が表示されます。(最初はサンプルが1つ用意されています。)

Create」を押してワークスペースを新しく作ります。

ワークスペースの作成画面

Nameには適当な名前を入れてください。

LanguageJapaneseになっていることを確認したら、「Create」を押します。

完了すると、自動的に構築画面に遷移します。

Intents(インテント)にユーザーからの質問を登録する

ここから、シナリオの内容を登録していくことになります。

画面をみてみましょう。

左上にあるIntentsEntitiesDialogの3つが主に使っていくメニューになります。

インテントスタート画面

Intents(インテント)には、ユーザーからの入力データを登録していきます。

Add intent」を押して新規インテントを作成しましょう。

インテント登録画面

では、試しに商品の注文を行うインテントを作成していきましょう。

Intent nameを「注文」として登録します。

User examplesに、代表的な入力テキスト(ユーザーからの質問の例)を登録していきます。

今回は「注文したい」「購入」「購買する」などを代表的なテキストとして登録しました。

代表的なテキストに似通った質問が入力がなされると、同じ「注文」のインテントとして分類されます。

Entities(エンティティー)に辞書データを登録する

エンティティースタート画面

続いて、左上のメニューから「Entities」を選択してください。

Entities(エンティティー)は、商品名などの固有語・専門用語を登録する辞書データです。

Add entity」を押してエンティティーを作成します。

エンティティー登録画面

今回は、商品名を扱うエンティティーを作成していきましょう。

Entity nameを「商品名」として登録し、

Value name商品名を入れていきます。

右側(Synonyms)には、類語、同じ意味として扱いたい言葉を入れていきます。

Dialog(ダイアログ)で会話を組み立てる

ダイアログスタート画面

最後に、左上のメニューから「Dialog」を選択します。

Dialog(ダイアログ)では、実際の会話の流れを組み立てていきます。

Create」を押してダイアログを初期化します。

最初の2つのノード

2つの四角が追加されました。

このそれぞれの四角は「Node(ノード)」といい、これを並べたり連結することで視覚的に会話フローを構築することができます。

最初に追加されたノードは次の2つです。

ようこそ(welcome)
ユーザーがチャットを開いた時に最初に表示されるノードです。
その他(anything_else)
予想外の問い合わせなど、表示すべき内容がない場合に表示するノードです。

Add node」を押して新しいノードを追加しましょう。

新規ノード作成画面

ユーザーが商品の注文を行った場合のノード(メッセージ)を作成していきましょう。

一番上にノードの名前を入力します。「商品の注文」とします。

ノードの呼び出し条件の設定

名前の下(呼び出し条件)には先程作成したインテント、エンティティーを指定します。

入力欄をクリックするとこのような表示になりますので、一番上の「# intents」を選択し、「#注文」を選択します。

プラスマークを押して、さらに入力欄を追加。

二番目の「@ [Enter a search to filter by entity name]」を選択し、「@商品名」を選択します。

「#注文 and @商品名」という条件でメッセージの呼び出しを設定しました。

AIからのメッセージの登録

最後にTextにAIからのメッセージを入力します。

テストする

Watson Assistantテストツール

画面右上のTry itを押すとテストツール(デモ画面)が起動します。

フランスパンを注文します」と入力してみましょう。

Watson Assistantテスト成功

想定通りの回答が返ってくれば成功です!

今回はエンティティーを使用しましたが、挨拶などの固有語を持たない質問であれば、インテントとノードだけ追加すればOKです。

インテント、ダイアログ、必要に応じてエンティティーをどんどん追加し、会話のパターンを増やしましょう。

Watson Assistantテスト結果

また、ここまでの流れは以下の公式動画にもまとまっています。ただし見た目が現在とは大きく違うので注意です。

Watsonでチャットボット構築チュートリアル(公式)

アプリ(API)と連携する

これでチャットボットの中身の部分ができましたので、実際にアプリで使用する方法について説明します。

開発が可能な場合にはBotkitなどのミドルウェアを使用することができますが、ここではコードを書かずに連携する方法を紹介します。

Facebook Messenger

メッセージングAPI(SNS)の代表としてFacebook Messengerとの連携方法を簡単にご紹介します。

Facebook MessengerとWatsonの連携にはIBMが用意した「Conversation Connector Toolchain」という連携ツールが利用できます。

このツールを使うには次のサービスのアカウントが必要ですのであらかじめご用意ください(いずれも登録無料です)。

用意ができましたら、こちらをクリックしてツールを起動してください(IBMクラウド、Githubにログインしている必要があります)。

Concersation Connector Toolchainの起動画面

Delivery Pipeline 必須」と書かれたパネルをクリックし、必要事項を入力していきます。

まずはFacebook側の設定キーです。

Facebook App Secret
Facebookアプリの 設定>ベーシック から確認できます
Facebook Page Access Token
Facebookアプリの プロダクト>Messenger>設定 から確認できます
Facebook Verification Token
任意の文字列を登録します。このキーはあとで使うので控えておいてください
Watson Assistant資格情報のページ
Conversation Service Username
Conversation Service Password
Conversation Workspace ID
別窓でWatson Assistantの構築画面を開き、左のメニューからDeployマークを選択後、Credentialsタブを開いてください。ここからそれぞれ確認できます。
Concersation Connector Toolchainの設定画面

すべて入力できたら「作成」を押します。

requestURLの確認

Delivery Pipeline」のパネルをクリックし、全てのプロセスが「成功」するまで待ちましょう。完了したら「Deploy Stage」の「ログおよび履歴の表示」をクリックし、ログ中からYour Request URL is: と書かれている部分を探します(おそらく一番下です)

そのURLをクリップボードにコピーしておいてください。

Facebook Messenger Webhookの設定

最後にFacebookアプリのページに戻り、プロダクトの設定からWebhookの設定を行いましょう。

コールバックURL
クリップボードのurlを貼り付けます。
トークン確認
先ほど控えたFacebook Verification Tokenを貼り付けます。
サブスクリプションフィールド
messagesmessaging_postbacksを選択してください。

これで完了ですが、思ったより時間がかかりました。

Facebookアプリを公開して、さっそくFacebook Messenger上で会話してみましょう。

Slack

業務効率化が期待できる「Slackボット」も開発なしで作成できるようです。手順はWatson Assistantの構築画面>左メニューのDeployマーク>Slackから見ることができます(英語)。

Webサイトへの設置

その他、自分のWebサイト上でチャットボット利用したい人向けにチャットのインターフェースを提供し、簡単な設定でチャットボットを使うことができるアプリケーションも多数あります。

Watson Assistantの機能

以上がWatson Assistantの基本的な使い方になります。Watsonには、さらにチャットを楽しいものにするための機能があります(一部のアプリでは対応していない場合があります)。

画像の送信

チャット上で画像を送信

最近のアップデートでWatsonからのレスポンス(返答)の種類を選ぶことができるようになりました。

そのうちひとつは文章ではなく画像によるユーザーへの応答です。

チャット上に商品の使い方などの画像を表示してユーザーへわかりやすく案内したり、LINEの「スタンプ」のような使い方で豊かな感情表現ができます。

複数の選択肢ボタンの表示

チャット上に複数のボタンを表示

ユーザーが、テキストの入力ではなくクリックやタップで、アクションを行うことができます。

ユーザー情報を記憶する

コンテキスト変数(Context=文脈)」と呼ばれる機能を使うことで、ユーザーのさまざまな情報を記憶することができます。

などの使い方ができます。

チャットボットの構築はアイディア次第。過去の事例を参考にしてもいいですし、ユーザーのことを想像しながら楽しい会話を創造してみてください。

[PR]Watson Assistant対応のチャットサービスなら「FirstContact」

AIチャットボットならFirstContact

FirstContactの特色

チャットボットをWeb上で実用化するなら弊社「FirstContact」がおすすめです。

今なら20日間の無料トライアル!

実際にWebサイトに設置して無料でお試しいただけます。

FirstContactのチャットで話をしてみる

FirstContactの無料トライアルのお申し込み