T
THINK Watson

コーディングのできないド素人がチャットボットを作ってみた:プロに相談編

post_thumb

コーディングのできんバリ素人が「Watsonに博多弁をしゃべらせてみた」の筆者に相談ばしてきたとですよ

文:鳥羽 恒彰(トバログ)

 
プログラミングのイロハも分からない筆者がIBM Watsonでチャットボットを作るこの企画。初回は実際にチャットボットを作るために IBM Bluemixの無料トライアルに登録し、Watson Conversation APIというサービスを用いてテキストで対話をする段階までを制作した。

 

ド素人チャットボット2

コーディングのできないド素人が実際に制作したチャットボットがこちら。限定的ながらこちらの問いかけに対して反応をしてくれるチャットボットになりつつあり愛着が湧いてきた。

 

会話はできるけどどう実装すれば良いのか分からない

まるで我が子を育てるように楽しみながら制作しているチャットボット。デモで会話はできるようにはなったものの、具体的な次のステップが分からない。

「どうやったら企業が展開するチャットボットのように実用的に使えるのだろう?」

そんな疑問をいだきつつ「どうすれば実用的なチャットボットになるか」を『 Watsonに博多弁をしゃべらせてみた』の筆者であり「Watsonの扱い方」のプロフェッショナル、日本IBMの佐々木敦守氏に相談。次のステップへの展開が分かったので記事として紹介しよう。

佐々木氏はIBMのクラウド事業部で、主にクラウド・アーキテクト(クラウドを基盤としてIBM WatsonやIoT、ブロックチェーンといった最先端テクノロジーを取り入れた企業システムの提案や設計をする仕事)に携わっている。お客様の要望に応じて設計するため、Watsonをどうビジネスに活用すれば効果的かを熟知している。

 

さっそくプロに相談したっちゃん

 
筆者:本日はよろしくお願いします

 
佐々木氏:こちらこそよろしくお願いします。

 
筆者:今回Bluemixの無料体験版があったのでWatsonでチャットボットを制作してみました。そもそもWatsonでチャットボットを制作するメリットってなんでしょうか?

 
佐々木氏:Watsonを選んでくれてありがとうございます。Watsonが他のチャットボットと比較して強いのは、日本語の精度がダントツに高いところですね。

IBMは昔から自然言語の研究に力を入れていて、Watsonは日本語特有の難解な自然言語のゆらぎ、曖昧性、そして方言も理解できます。

 

ド素人チャットボット2-2

例えば博多弁を話すWatsonなら、最初に教えた文言から博多弁のニュアンスを学習します。Watsonの自然言語解析により、異なる言い回しの問いかけに対しても問いかけが博多弁であると識別できます。こういった自然言語の微妙なニュアンスに対応できるところが、Watsonでチャットボットを制作するメリットですね。

 
筆者:確かにこちらの問いかけに対して分類を自動で判断してくれるのは良いなと思いました。今回ド素人ながらチャットボットを作ってみたんですが、簡単に感想をもらえると嬉しいです。

 
佐々木氏:記事を読みました。ブログ記事のレコメンデーション・システムとしてWatsonを使うという発想が斬新で、とても面白いと思います。何かを作りたいという動機がベースにあって、目的に向かって実際に作ってみるというプロセスは良いと思います。プログラミングの実装はAIでもできるようになるかもしれませんが、その根源となるアイデアは人間にしかできないので大事にしていきたいところですね。

ブログ用チャットボットの展開が楽しみです。

 
筆者:頑張ります。このチャットボット、これからどう展開していくべきでしょうか?

 
佐々木氏:記事で紹介しているチャットボットは、現時点でWatson Conversation API上のデモでしか動かせない状態です。

なのでまずはNode-REDなどでインターフェイス層(SlackやLINE、Web)と接続し、実際にユーザーが触れられる段階まで仕上げることをオススメします。そこまで実装すれば、前回までに制作したチャットボットが実際にSlackやLINEなどのアプリケーションを経由してスマートフォン上でも使えるようになりますよ。

次のステップとして、まずはそこを目指しましょう。

Node-REDとはIBMが開発したオープンソース・ツールで、APIなどの各種サービスやファンクションを連係できるツールのこと。コーディングをせずに、視覚で直感的にアプリケーションの実行および開発ができる。

 

ド素人チャットボット2-3 width=

Node-Redを実際にお見せするとこんな感じです。チャットボットなどのシステムやインターフェイス層が、それぞれノードという四角いボックス状のものでビジュアライズされています。これらのノードを組み合わせることで、コーディングを必要とせずにプログラムの開発ができるので、初心者でも扱いやすいですよ。

 
筆者:なるほど。勉強します。ちなみに僕はこういったシステム構築の知識は全く無いのですが、これらの知識やスキルってどう勉強すれば良いのでしょう?

 
佐々木氏:基本的には分からなくても「自分でやってみる」ことがスキルアップの上で非常に重要です。行き詰まったらウェブで検索するなど勉強をスタートすれば良いんです。今回の場合はIBMのBluemix上で構築しているので、以下のようなサイトで必要な情報はある程度拾えるのでオススメですよ。

 

ド素人チャットボット2-4
 

DeveloperWorksのBluemixチュートリアル
QiitaのBluemixユーザーコミュニティー

実用書で勉強するというよりも、実際に手を動かしながら学ぶ方が、実践には向いています。今の時代はサンプルコードがウェブ上に公開されているので、イチからコーディングすることにこだわるより、ありものを上手く活用する方が効率的に学習できますね。

 
筆者:次のステップが見えてきました。ありがとうございました。

 
佐々木氏:完成を楽しみにしてますね。

もあるので、参加してみることをおすすめします。

 
筆者:最後に一つ質問です。気になっていたことがあるのですが、佐々木さんはなぜ博多弁のチャットボットを作ろうと思ったんですか?

 
佐々木氏:僕が福岡県出身だからですね(笑)
ということは置いといて、そもそもは九州が地盤の企業や大学が参加するイノベーション創出プログラム「

」で「Watsonがどうビジネスで活用できるか」を分かりやすくイメージしてもらうために制作したものなんです。

自分たちに馴染みのある言語だったり方言をWatsonが話せば、ただのチャットボットという枠を超えて、一気に親近感が湧いて興味も持ってもらえます。日本語がペラペラ話せる外国人に対して親近感が湧くのをイメージしてもらえると分かりやすいかと。

IBMの製品は扱いが難しいという印象を持っている方にも「コーディングをせずにシステム構築ができる」ということを知ってもらい、Watsonが身近なところで活用できると気づいていただくきっかけになれば嬉しいです。

 

次回は実際にチャットボットばNode-REDでインターフェイス層につなげるばい

とりあえずチャットボットを作ってみたが、実用化のためにどう進めれば良いかが分からない。今回は、そんな迷える子羊である筆者に、日本IBMの佐々木氏からアドバイスをもらった。

実際に相談をしてみて次のステップも見えた。次回の記事では、制作したチャットボットを実際にNode-REDを用いて、Slackなどのインターフェイスとつないでいく。

 

2017年11月1日、BluemixはIBM Cloudにブランドを変更しました。詳細はこちら

IBM Alert Notification
スタッフがすべての重大な IT アラートの通知を受け取ることができます
無料評価版はこちら