AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  Watson Conversationを使ったチャットボットの作り方

公開日:2017.10.12 [最終更新日]2017.10.23

Watson Conversationを使ったチャットボットの作り方

カテゴリー: AI(人工知能)の作り方

IBM-Watson-Logo

こんにちは、AI研究所の見習い研究員のマサミです。

今回は、IBMが提供しているAIである、「Watson」を使ってチャットボットを作成方法について書きたい思います。
3か月くらい前にWatsonを使ってチャットボットを作ったきり、最近は全く触れていなかったので、自分の備忘録として書いていきます。


IBM Bluemixにログインする

Watsonは、IBMが提供しているIBM Bluemixから使うことができます。
Bluemixは、IBMが提供しているクラウドサービスを使うことができる、開発者向けのプラットフォームです。

Watsonを使うためにはBluemixの登録が必要です。
https://www.ibm.com/cloud-computing/jp/ja/bluemix/

Bluemixは、30日間の無料トライアルもありますし、有償ライセンスになったとしても有料サービスを使わなければ料金は発生しません。
ただ、有償ライセンスの登録にクレジットカード登録が必要です。


Conversationを作成する

Bluemixのダッシュボードにログインし、メニューから「Watson」を選びます。

01

はじめてWatsonを使う場合は、以下のような画面が表示されるので、「Watsonサービスの作成」ボタンをクリックします。

02

するとWatsonのサービス一覧が表示されるので、「Conversation」を選びます。

03

Watson Conversation Serviceは 「Natural Language Classifier」の技術を使用して入力テキストを分類し、ユーザーが求めている意図を理解して会話をすることができるサービスです。

次の画面に切り替わるので、サービスの情報設定と価格プランを選びます。
今回はライトプラン(無料のプラン)で作成します。
ちなみに有料プランの場合は、APIを一度呼び出すたびに「0.2625円」かかります。
チャットボットなので、一回の会話(吹き出し)で0.2625円かかるイメージです。

04-1
04-2

画面右下の「作成」ボタンをクリックし、次の画面で表示される「Launch tool」ボタンをクリックします。

06

「Log in width IBM ID」でログインします。

07

ワークスペースを作成する画面が表示されます。
サンプルとして、「Car Dashboard」のサンプルがあります。
エアコンをつけたり、音楽をかけたりしてくれるチャットボットです。
今回は新たに作成するので「Create」をクリックします。

08

適当な名前を入れて「Create」をクリックします。

09

Watsonの基本的な設定項目は大きく分けて以下の3つになります。
・Intents:ユーザーが入力したテキストに含まれる目的
・Entities:入力テキストから抽出すべきキーワード
・Dialog:Intent/Entitiyに対する回答

これら3つを組み合わせてチャットボットを作成します。
今回は、私たちAI研究所のヘルプ用チャットボットを作ってみたいと思います。


Intentsを登録する

まずはIntentsを登録します。
Intentsには、ユーザーの目的を登録します。
Intentsタブをクリックして「Create new」をクリックします。

10

Intentsの名前を「#申し込み」にして代表的な質問を入力していきます。

11

Intentsに入力した内容から学習して、同様な入力があった場合に同じ分類としてくれます。
例えばユーザーが「AIプログラミング技術者育成セミナーを受講したい」と入力すると「#申し込み」Intentsに分類されます。


Entitiesを登録する

次にEntitiesを登録していきます。
Entitiesには、ユーザーが入力した質問から抽出すべきキーワードを登録します。
Entitiesタブをクリックして「Create new」をクリックします。

12

Entitiesの名前を「@セミナー」にして、セミナーに属する単語を入力していきます。

13


Dialogを作成する

最後にDialogを作成します。
Dialogにはユーザーの入力に対する回答を定義していきます。
Dialogタブをクリックして「Create new」をクリックします。

14

Dialogには初期値で、一番最初に表示されるテキストと、ユーザーが入力したテキストが登録されているIntentsやEntitiesに当てはまらなかった場合の回答が登録されています。

それでは、ユーザーがセミナーの受講を希望した際に回答するノードを追加します。
「Add node」をクリックすると追加されます。

15

「Name this node」に「セミナー受講希望」と入力し、その下の項目「If bot recognizes:」に先ほど登録したIntents「#申し込み」とEntities「@セミナー」を入力します。
最後に、「Then respond with:」にチャットボットの回答を入力します。

16

リンクにはHTMLのaタグ(アンカータグ)を使います。


テストする

Dialogの作成ができたらきちんと動作するか試してみたいと思います。
右上の吹き出しのアイコンをクリックするとテストすることができます。

17

「AIセミナーを受けたい」入力してみます。

18

すると先ほど入力した回答が返ってきます。

19

テストではaタグがそのまま表示されていますが、デプロイした後サービスとして使うときはきちんとリンクとして機能してくれます。

ちなみに「AIセミナー」とだけ入力すると、Intents「#申し込み」とEntities「@セミナー」に反応するので登録が帰ってきますが、「申し込み」だけ入力した場合は、Intents「#申し込み」だけにしか反応しないので、初期値で登録されていたノード「その他」が反応します。

20

今回は、セミナー申し込みのダイアログだけを作成しましたが、同じようにして他のダイアログを追加することで、いろいろなことが回答できる賢いチャットボットを作成することができるようになります。

あとは、より細かい設定をする方法がありますがチュートリアルの動画でわかりやすく説明されているので参考にしてみてください。(5:30あたりから)

ただ、動画が古くUIが変わっているので注意が必要です。
「Go to response」がなくなっていて、「Jump」になっているので注意してください。

21

今回はチャットボットを作成するまでの紹介になりますが、次はサービスとして利用する方法について書きたいと思いますので楽しみにしていていください!

タグ:


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)入門セミナー開催中
AI(人工知能)入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

LINE@

Facebookページ