チャットボットの用途は問合せだけではない!
SAP Conversational AIを使ってデータベースを停止する試み(1)

  • 業務効率化
  • 自動化
チャットボットと聞くと、カスタマーサポートの自動化をはじめ、窓口担当の業務効率化とゆった質問や問い合わせ対応に優れたITソリューションだとお考えではありませんか。じつは、それ以外にもチャットボットには優れた機能があります。例えば一連の業務プロセスを、チャットボットに指示するだけで制御することも可能です。
そこで、今回は、問い合わせ以外のチャットボットの活用についてご紹介します。

はじめに

以前の記事では、MicrosoftのPower Virtual Agentsを使って問合せ用のチャットボットの作成方法を紹介しました。これは、ノーコードで簡単に作ることができ、問合せ窓口として十分に使えるサービスだと思います。皆さん、お試しいただけましたでしょうか?

前回の紹介をご覧になり、チャットボットは質問応答しかできない、と思った方がいらっしゃるかもしれませんが、実はチャットボットの用途は問合せだけではありません!

例えば、チャットボットを使ってデータベースを制御すること。本来データベースを制御するには、ブラウザから専用ページにアクセスし、手動で起動・停止のボタンをクリックしないといけませんが、その一連の操作をチャットボットが代わりにやってくれます。具体的には、「データベースを起動して」と、一言チャットボットに伝えるだけ、他の手間は一切ありません。

そこで、今回はそのようなシステムを制御できるチャットボットとその作成方法を、2回に分けてご紹介したいと思います。

  • 今回:チャットボットがユーザーからの入力を理解できるようになるまでの過程
  • 次回:チャットボットとデータベースを制御するAPIを連携させる手順
  • 完成イメージ

    今回利用したチャットボットサービスはSAP社が提供するSAP Conversational AIです。拡張性の高さという特徴を活かし、データベースを制御するAPIと連携して、下記のような制御系チャットボットを作成してゆきます。

  • 制御側:チャットボット+API
  • 制御対象:HANA Cloud データベース
  • 制御内容:データベースの起動と停止
  • GSLs_Tech_Blog_2-1.jpg

    GSLs_Tech_Blog_2-2.jpg

    SAP Conversational AIの特徴

    SAP Conversational AIには以下のような特徴があります。

  • API、Web Hookを用いて外部リソースと連携する機能が、標準で備わっています。
  • SAPユーザーであれば、ほぼ全ての機能が搭載された無料のトライアル版が利用できます。
  • 豊富なグラフから使用状況を分析が可能です。
  • ユーザーとの会話ログから、有用な発言を抽出し、一括で学習させることができます。
  • 簡単に多言語対応できます。
  • Power Virtual Agentsに近い特徴もありますが、分析の軸をはじめとする、細かい部分に違いがあるので前回の記事と比較してみると面白いと思います。

    チャットボットのセットアップ

    まずは、SAP Conversational AI にアクセスし、ログインします。下記の図のような画面に移行します。そこで、New Botを押すとチャットボットの初期設定画面が表示されます。

    GSLs_Tech_Blog_2-3.jpg

    Perform Actionsを選択し、チャットボットの名前とデフォルトで使用する言語、データのポリシーなどを選択します。

    今回はデータベースのインスタンスの起動と停止を制御するチャットボットを考えていますので、bot-handler-instanceという名前を付けてみました。他の各種設定を入力し、Createボタンを押すとチャットボットのひな型が作成されます。

    GSLs_Tech_Blog_2-4.jpg

    GSLs_Tech_Blog_2-5.jpg

    インテントの追加

    チャットボットは、受け取った文章を意味に応じてカテゴライズすることができます。この時の分類を「インテント」と呼びます。

    インテントはTrainタブのIntents内にあるNew Intentを押すと追加できます。図では挨拶の文を意味する『greeting』。データベースの起動に関する文を意味する『start』。そして、データベースの停止に関する文を意味する『stop』の3種類のインテントを設定しました。

    GSLs_Tech_Blog_2-6.jpg

    インテント名をクリックすると、サンプル文を入力して、学習させる画面が表示されます。ここで入力したサンプル文の傾向をもとに、ユーザーから送られてきた文をインテントに関連付けるかどうか判断します。

    また、多言語対応しているため、国旗の横の+Add Languageを押すと、デフォルトで指定したもの以外の言語も学習させることが可能です。図はgreetingインテントに挨拶の例文を入力し、学習させている様子です。

    GSLs_Tech_Blog_2-7.jpg

    同様にStartインテントとStopインテントにも文章を学習させます。

    GSLs_Tech_Blog_2-8.jpg

    GSLs_Tech_Blog_2-9.jpg

    エンティティの追加

    同じ分類の単語や固有名詞等を、グループ化して分類したい場合は、Entities(エンティティ)を追加します。

    TrainタブにあるEntitiesを選択し、New Entityを押すと登録画面に移行します。

    GSLs_Tech_Blog_2-10.jpg

    データベースの名前を登録したいので、Restricted entityからDB_nameというエンティティを作成し、データベース名であるDXP01とDHL01を登録しました(エンティティ名は小文字に変換されます)。

    GSLs_Tech_Blog_2-11.jpg

    GSLs_Tech_Blog_2-12.jpg

    チャットボットにインテントとエンティティを設定したことにより、特定の単語を抽出しつつ、メッセージを意味毎に分類して認識できるようになります。

    まとめ

    ここまで、Conversational AIの特徴からエンティティを用いた単語の認識まで紹介しました。どの様なチャットボットを作成するのかのイメージがつかめたと思います。

    次回は、受け取ったメッセージに応じて、チャットボットが返信できる仕組み。そして、APIに接続するなどの具体的な行動を起こせるようになるまでの仕組みをご紹介いたします。

    本ブログでは、引き続き皆様にお役立ちする情報を提供してゆきます。