Loading...

ド文系女子大生がWatsonとBluemixでチャットボットを作ってみた

IBM Bluemixは1ヶ月間無料トライアル版を使用することができます
今回はそれを利用してチャットボットを作ってみました。

などと偉そうなことを言っていますが私自身は文系寄りの文系で、技術のぎの字もなく生きてきた人間です。(この前までWatsonはロボットの名前だと思っていました)
そんな現役女子大生が「Watsonなら誰でも簡単にチャットボットが作れるんだよ!!」という話を聞き、その証明をすべく立ち上がった次第です。ご興味ある方少々お付き合い下さい。

 

チャットボット作り ーstep1ーテーマ決め

チャットボットと聞いて多くの皆さんが想像するのはLINEのような画面ではないでしょうか。企業のキャラクターなどのアカウントがLINEで相手してくれる感じのアレです。

LINEでの自動応対の機能は、ここ2、3年でフロムエーの「パン田一郎」やMicrosoftのりんなちゃんなどのLINEアカウントが人気となり、一気に知られるようになりましたよね。

そんな中今回私が作るのは

「就活サイトチャットボット」

何を隠そう現役女子大生の私は数か月前まで絶賛就活中でした。
しかしその中で感じたのは、就活サイトの多さです。

どの就活サイトを使ったら良いか?このサイトは自分の志望にフィットしているのか?などという疑問は多くの就活生が抱えたものだったのではないでしょうか。

ということで、いつかこんなのが現れたらいいな!という希望を込め、今回は特に誰のためでもなく就活サイトチャットボットを作ってみました。実用性は兼ねていません。
※なお、実際の具体的なサイト名は伏せています。

チャットボット作り ーstep2ー登録

実際に作ってみるとWatsonのチャットボットとして必要な事項はおおよそ三つと非常にシンプルな作りになっていることが分かります。

  • Intents:問いかけの種類(挨拶なのか質問なのかなど)
  • Entities:質問における目的語の中身(柴犬やシベリアンハスキーを「犬」と分類するための用語)
  • Dialog:会話の流れ

引用元:https://www.ibm.com/think/jp-ja/watson/chatbot-conversation-1/

では実際に、IBM Bluemixに登録するところから行ってみたいと思います!

「まずは無料トライアルからスタート!」

ここですね。ここから登録していき・・・

サービス→Watson→Conversationでチャットボット作りに行くことができます。

前置きが長くなりましたがいよいよチャットボット作り開始です!

チャットボット作りーstep3ー 構成

入ってみるとすでに一つサンプルとして「Car Dashboard」というのが登録されています。

これにはデモンストレーション用の画面もあり、


このようにWatsonが搭載された車でドライブしているというシチュエーションの動画が出てきます。

先程出てきたサンプルはこのチャットボットの裏側ということになりますね。

さて、チャットボットの中身を見ていきましょう。

サンプルチャットボットの右の「create a new workspace」を押すと下の画面が出てきます。

要はタイトルと概要説明ですね。

サクッと書いて次に進みましょう。

さて、Intentsを作っていきます。

「テレビ業界関連の質問」、「面接系の質問」、また「#はい」「#いいえ」など返答、またあるいは「こんにちは」「ねえねえ」など「#呼びかけ」・「#挨拶」、といった形で、想定されるユーザーからのコメントを作成していきます。

今回は「就活サイトチャットボット」なので、「金融系を見ています!」とか「面接の対策がしたいけどどんなサイトがいいか分からない」などの質問を想定して作りました。

そのため、例えば金融系志望の人に向けた応対の予測ですと

こういった質問や希望が予測されます。

Watsonは賢いため、ここにあるキーワードが入っていればある程度の予測を立ててくれます。そのため、

「金融系志望」、「金融系に特化したサイト」

などのようなIntentsを登録しておけば

「金融系志望に合ったサイトは?」といった多少の変化球が来ても「#金融系 への質問だ」と判断してくれます。

むしろ、

「金融系に特化したサイト」、「金融系に合ったサイト」、「金融系志望のためのサイト」

などかなり似通ったIntentをいくつも登録すると、

「Unable to create example“金融系志望のためのサイト”(これ以上同じような例は登録できないです、ということ)」などと出てきてしまいます。

Intentsが作れたら、次はEntitiesで同じ意味の言葉の辞書を作っていきましょう。

例えば、同じ「スマートフォン」のことでも、同じ意味として「携帯」「iPhone」「スマホ」など人によって表現が異なってくるものがあります。

今回であれば、「会社」と言われても「企業」と言われても、場合によっては「業界」と言われても同じように受け取ってくれなければなりません。(「金融系の企業」と「金融系の業界」は同じように捉えてもらわなければなりません)

今回の場合Entitiesはあまり浮かばなかったのでこのくらいにしました。

最後です!いよいよDialogで会話の流れを作っていきましょう!

 

まずは、「ようこそ」からオープニングの言葉を作り、そこから、そのあとに予測される会話を組み立てていきます。

 

TriggerにIntentsで作った質問集・応答集のうちの一つを入れ、それらの質問が来たらこの返しをする、というものを作ることができます。

チャットボット作りーstep4ー完成

右上の吹き出しマークを押すと実際に試してみることができます。

早速使ってみましょう・・・!

ドキドキ・・・!

どーん!!会話成立です!!やりました!!

また今回は、「こういう就活生もいるよな…」ということでこういうパターンも用意しました。

 

 

若干雑な対応ですね。

どうでしょうか!試行錯誤しつつでしたが、3.4時間もあれば初心者でも簡単なチャットボットが作れちゃいました!!

今回感じた難点としては

・チャットボットにするだけのネタを持っているかがわりと一番のミソ
・intentsで質問・受け答えのカテゴリを考えていく中で意外とモレ・ダブりがすぐ発生する(「商社志望のESが見たい」って「#商社」に入れる?「#ES系のサイト」に入れる?とか)
・根気がいる(途中から飽きてくる)

の大きく三つでした。

ですが、自分のチャットボットで自作自演の会話が成り立った時の快感はなかなかのものです。いつもユーザー側で、「自動応対ボットすごいなー」なんて考えていたものを自分の手で作り出していく達成感、ぜひ皆さんも味わってみてください。