🤖

IBM Watsonを使用して映画コンシェルジュを自作してみた [概要編]

2021/03/01に公開

はじめに

ある日、僕の好きな映画を広めるために映画コンシェルジュ的なものを作ってしまってはどうだろうかと思いつきました。笑

→ そこで、Bluemixを使用し、映画コンシェルジュをチャットボットで再現してみたという内容です。

IBM Watsonとは

今回使用するサービスは、IBM CloudのWatson Assistantになります。
参考 : Watson Assistant

↓ 公式ドキュメントより抜粋

独自のブランドのライブ・チャットボットを任意のデバイス、アプリケーション、またはチャネルに組み込むことができます。アシスタント とも呼ばれるチャットボットは、既に使用しているカスタマー・エンゲージメント・リソースに接続して、統合された魅力的な問題解決エクスペリエンスをお客様に提供します。

まとめると

・ チャットボットを作成することができます。

・ インターフェースとしては、ソーシャル・メディア・メッセージング・プラットフォーム (Slack や Facebook Messenger など) に直接公開したり、アプリケーションに組み込むことができます。

・ 対話を通して、質問と回答の結びつきを学習でき、かつ学習させることで対話の品質が高まります。

スクリーンショット 2020-10-14 12.52.17.png

実装内容

環境

・ 料金プランはライト(無料)を使用します。

新規作成手順

  1. Watson Assistantをライトプランでサービスを開始します。

  2. ダッシュボードより、Servicesを選択し、Watson Assistantを選択します。その後、下記画面に行くので、
    Watson Assistantを起動を押します。
    スクリーンショット 2020-10-14 13.05.04.png

  3. create assistantでチャットボットを作成します。 今回は既に[ChatBot_PoC]というものを作成しているので、ここからは[ChatBot_PoC]内の設定内容についてお話ししていきます。
    スクリーンショット 2020-10-14 13.09.12.png


ChatBot_PoCの実装内容

Intent

スクリーンショット 2020-10-14 13.14.28.png

Intentとは、質問に対する回答を結びつける役割をしています。
例えば、下記だと、[#C_映画紹介]をヒットさせるためにユーザから入力されるであろう言葉をexampleに記入していくと、例えば[映画紹介して]とユーザから打たれれば、[#C_映画紹介]がヒットする感じです。
スクリーンショット 2020-10-14 13.19.02.png

Entities

スクリーンショット 2020-10-14 13.22.05.png

Entitiesとは、ユーザーの目的に関連した、ユーザー入力の情報を表しています。
もう少し詳しく説明すると、ユーザが質問した際にその質問に関連するものを1つのエンティティとしてまとめる感じです。

下記の例だと、アクション映画の映画のタイトルをまとめる為に、[@アクション]を作成し、[アクアマン][ジョン・ウィック][デッドプール]のようになっていることがわかります。
スクリーンショット 2020-10-14 13.25.06.png

Dialog

スクリーンショット 2020-10-14 13.26.44.png

Dialogとは、ユーザー入力から検出されたインテントに加えて、アプリケーションのコンテキストを使用してユーザーと対話し、最終的な応答を返します。

なので、ここがChatBotのロジックとなる部分になります。
参考 :
スクリーンショット 2020-10-14 13.29.50.png

この会話ロジックについては、今回説明は割愛し、別の記事として書いていこうと思います

動作

今回は、[Preview link]を使用し、動作を確認してみました。
ezgif.com-gif-maker.gif

まとめ

・ 手軽にChatBotを作成できたので、僕的にはWatson Assistantよかったです!
・ 次回は、Dialog内に仕込んだロジックについて説明していこうと思います。

Discussion