人工知能・IoT

WatsonでBotを作るならDialogが良いのか他が良いのか

(追記)Dialogは非推奨となり、代替サービスであるConversationが登場しました。

いま、絶賛Watson研究中なのですが、Watsonの導入をやっている案件での打ち合わせで、「それならDialogというサービスもありますね」と口走ってしまったので、いま一度、調べ直してみることにしました。

DialogはWatsonで提供されているサービスの1つで、一連の会話を組み立てるものです。

dialog_tool_flow_060316_081910_AM_thumb

この画面キャプチャは、IBMから提供されているDialog Toolを使って、独自の会話(ダイアログ)を学習させたものです。

ダイアログの学習は、XMLファイルを使って行います。プログラミング不要で便利といえば便利なのですが、なかなか複雑な構文のXMLなので、プログラミングした方が速くない?と思ったりしないこともない・・・。

BotKitとNLCでどうだ?

以前からこうした会話をするBotはWatsonを使って作っていて、その時はSlackの提供しているBotKitというフレームワークと、WatsonのNLCやR&Rを組み合わせて作りました。

会話の流れはプログラム内で制御して、ユーザの発言を解釈するところはNLCに任せるという組み立てです。さらに、質問に対する回答を行うBotだったので、回答の準備はR&Rでやりました。

Watsonを使ってBotを作るときの、一つの定石になる組み合わせだと思います。

Dialogを使うメリット

WatsonのDialogと、いわゆるバーチャルエージェントを作るためのツールを比較すると、Watsonは自然言語認識に優位性があるので、ユーザの発言の揺れに強いというメリットを挙げることができると思います。

しかし、Watsonを使うことは前提として、BotKitのようなBotフレームワークとDialogを比較してみると、結構微妙かなぁと思っています。

先に挙げたように、Dialogを使えば会話の流れをノンプログラミングで制御できますが、本当にノンプログラミングなら是なのかというと、必ずしもそうではない。ただ、Dialogではgrammarとかentitiesという構文を使って同じことを意味する言葉の言い替えにうまく対応できるというメリットはあります。でも、それもNLCを使えば良いのではないか?という代替策があります。おそらく、NLCの方が能力は高いと思うし。

ただ、DialogとBotフレームワークは対立軸というわけではないので、注意が必要です。たしかに、DialogとDialog Toolを使うと簡単にBotが作れますが、Dialogだけを見ると、何か発言する度にAPIリクエストが必要で、conversation_idという、会話内で最初にAPIリクエストを行ったときに自動発番されるIDを持ち回ることによって、擬似的にステートフルな状態を作り出しているに過ぎません。逆に言えば、Botフレームワークを使って作った会話Botの中で、Botからの発言が必要になった場合にDialogのAPIにリクエストすれば、発言内容が返ってくるわけです。

というわけで、Dialog。本当にDialogじゃないとダメというほどのメリットが見つかるかどうか、もう少し調査してみようと思います。

ピックアップ記事

  1. IBM Watsonの入門書「初めてのWatson APIの用例と実践プログラミ…
  2. 拙著「初めてのWatson APIの用例と実践プログラミング」各オンライン書店で…

関連記事

  1. 人工知能・IoT

    第3回Watsonハッカソンの決勝大会を見てきた

    6月29日にソフトバンクの本社で行われた、第3回Watsonハ…

  2. 人工知能・IoT

    北九州市の皆さん!「初めてのWatson」は喜久屋書店にあります!

    やって来ました!我が地元の福岡県北九州市。昨日は我が恩…

  3. 人工知能・IoT

    IoTでの新サービスを活用法と変化のマトリクスで考える(2)

    前回の記事では、IoTや人工知能をどのようなサービスで活用できるかとい…

  4. 人工知能・IoT

    第4次産業革命の担い手育成プロジェクト発足!

    1月7日に中野ICTCO(中野区産業振興推進機構)で主にITコーディネ…

  5. 人工知能・IoT

    SoftBank World 2016:人工知能は経営者の判断で推進すべし

    SoftBank World 2016の1日目の基調講演から、孫正義氏…

  6. 人工知能・IoT

    IBM Data Science ExperienceでJupyter Notebooksを試してみ…

    IBMでAIとか機械学習系のことというとWatsonが思い浮か…

最近の記事

アーカイブ

  1. 人工知能・IoT

    IoTでの新サービスを活用法と変化のマトリクスで考える(1)
  2. 人工知能・IoT

    「初めてのWatson」ハンズオンセミナーを開催しました
  3. お知らせ

    中野にぎわいフェスタにロボットプログラミング体験を出展しました
  4. 散文

    2016年はチャンスの年、2017年は勝負の年
  5. お知らせ

    アルティザンエッジは中野に移転しました!
PAGE TOP