WordPressサイトにWatson Assistantのチャットボットを1時間で設置する

当サイトにWatson Assistantのチャットボットを設置しました。トップページをはじめとするいくつかのページの画面右下にあります。チャットボットとしては極めて簡単なものですが、当サイトのナビゲーションを行ってくれます。開発時間は1時間足らずです。(今後、機能を拡張すればそこで開発時間が必要になりますが・・・。)

Watson Assistantでチャットボットを作る

Watsonでチャットボットを作成する際に使うのがWatson Assistantです。IBM Cloudにユーザ登録すると、無料枠の範囲内でチャットボットを作り、公開することができます。Watson Assistantでは月に10,000APIコールまで無料なので、ユーザとの会話のキャッチボールを月に1万回できるということになります。(ユーザからの問いかけに対してチャットボットが1回反応すると1APIコールという扱いです。)

Watson Assistantでのチャットボットの作り方については、IBMの公式リファレンスなどもあるのでそちらに譲ります。

また、以前に寄稿させていただいていたGMOインターネットグループZ.comの公式ブログでも、説明しています。Watsonはどんどん画面が変わるので内容が少し古くなっていますが、参考にはなると思います。

さらに、拙著の紹介もしておきます。こちらも紙の書籍という特性上、Watsonの変貌になかなか追いつけないのですが・・・。

WorkspaceからSkillとAssistantへ

ただ、最近の大きな変更点を説明しておくと、いままで1つのチャットボットのことをWorkspaceと呼んでいたのが、Assistantに変わりました。チャットボットを公開する単位はAssistantになっています。また、Assistantが会話できるひとまとまりの能力のことをSkillと呼ぶようになっています。いままでのWorkspaceはAssistantとSkillに相当する概念を1つにまとめたようになっていましたが、それが切り分けられ1つのAssistantに複数のSkillを紐付けることもできるようになっています。

SkillとAssistantについては、こちらの記事もご参考にしてください。

Intent

ユーザからの問いかけを分類するのがIntentです。チャットボットは、ユーザが何を問いかけているのかをあらかじめ設定しておいたIntentで分類し、それに応じた返答をするという組み立てになっています。問いかけを分類するIntentの部分が最もAI的な機能と言えるかもしれません。

今回のチャットボットで設定したIntentはこのようなものです。例えば「打ち合わせがしたい」とか「質問がある」のような問いかけをされたら、それを「問い合わせ」というIntentとして分類します。1つのIntentに対して複数の問いかけサンプルが設定でき、それを機械学習します。問いかけサンプルどおりに言われないと分類できないというわけではありません。

先頭がGeneralとなっているのはContent Catalogからインポートした既定のIntentで、チャットボットに向かって言われそうな一般的な事柄を分類できます。

Dialog

分類したIntentに対してチャットボットの返答を設定するのがDialogです。

Dialogはこのようになっていて、ようこそ(welcome)と、キャプチャでは見えませんがその他(anything_else)はデフォルトで設定されています。welcomeはチャットボットが起動した直後に送信されるメッセージで「井上研一事務所のWebサイトへようこそ。どんなご用件でしょうか?」と設定しています。#プロフィール、#執筆などはIntentです。つまり、ユーザからの問いかけをIntentで分類し、マッチしたものがあれば、Dialogで設定したIntentの合致条件に沿って返答が決まるというわけです。また、どの条件にもマッチしなければanything_elseで設定した返答が行われます。

Dialogで設定する返答には、HTMLのAタグが設定できます。まずは、質問されたらそれに適したWebページへのリンクを返答してナビゲーションするのが簡単でしょう。

SkillとAssistantを紐付ける

作成したSkillはAssistantと紐付けます。この後で必要となるAPI呼び出し時のusernameとpasswordはこの画面で発行され、View API Detailsリンクをクリックすると表示されます。

WordPressに組み込む

Watson Assistantの画面で作成したAssistant(チャットボット)を公開するには、何らかの開発が必要になります。Watsonが提供するのはあくまWatson Assistantの画面上で使用できるでテスト用のチャットボットまでで、WebサイトやLINE、Facebookメッセンジャーなどで公開するところまでは含まれていないのです。

ただ、WordPressサイトについてはIBMが公式のプラグインを提供しているので、簡単に組み込むことができます。WordPressのプラグイン新規追加のページで、Watson Assistantを検索すると、見つかるでしょう。有効インストール数、1,000+か。まだまだ知られてない感じですね。

インストールして有効化すると、WordPressダッシュボードにWatson Assistantの設定画面が現れます。まずは、Assistant URL、Username、Passwordを入力して保存します。この値は、さきほどWatson Assistant側の画面でView API Detailsのリンクから表示されたものです。

基本的には、これだけでWordPressサイトでチャットボットが表示されるようになりますが、Customize Your Pluginのページで細かな設定を行うことが可能です。チャットボットが表示されるまでの秒数や、どのページに表示するかなどが指定できます。

いまのところ、ブログページには表示していません。(表示するように変えるかもしれませんが・・・。)
トップページなどでは表示しているので、使ってみてください。まだ、簡単なことしかできませんが、Dialogの設定から外部システムの呼び出しもできるので、WordPressサイト内の検索くらいはできるようにしようかと思っています。

また、Watson Assistantを使ったチャットボットの開発、セミナー、研修なども行っていますので、お気軽にご相談ください。

この記事を書いた人

井上 研一

株式会社ビビンコ代表取締役、ITエンジニア/経済産業省推進資格ITコーディネータ。AI・IoTに強いITコーディネータとして活動。2018年、株式会社ビビンコを北九州市に創業。IoTソリューションの開発・導入や、画像認識モデルを活用したアプリの開発などを行っている。近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。日本全国でセミナー・研修講師としての登壇も多数。