三島正裕のOffice365コラム「Office365でチャットボット!? AIとPowerAppsでデザインするFAQ対応」

先日、日本マイクロソフト様との合同イベント「Microsoftオフィス体感セミナー!」を開催致しました。マイクロソフト様のオフィス内部を実際に「目で見て、歩いて、働き方を体感出来る」というこの企画、今回もたくさんの方々にご応募頂きました。ご参加されたみなさま、お忙しいところ、本当にありがとうございました。今回のセミナー講演の中で、私もOffice365の活用事例をいくつか紹介させて頂いたのですが、業務に活用頂けそうなネタはありましたでしょうか?貴社の働き方改善への取り組みの中で、今回の事例を時々思い出して頂けると嬉しく思います。
さて今回のコラムのテーマですが、最近何かと話題にあがっているチャットボットについて紹介をしたいと思います。チャットボットというと、お問い合わせの代行や、予約受付業務、時には情報発信ツールとして様々な場面でよく活用されていますよね。そんな便利なチャットボットですが、実はOffice365でも様々な場面で利用することが出来るのです。すぐにでも使ってみたい!という方は、Teamsから始めるのがお勧めです。Teamsから「ストア」を開くと、たくさんのボットが用意されているのがわかります。会議室の予約やお勧めランチの検索など、すぐに使えるボットもたくさん用意されていますので、色々と試してみるのも面白いかもしれませんね。しかし、ボットに求められる役割の1つ、FAQの対応をさせるとなると、チャットボットの機能だけでは不十分です。質問に対して答えを用意しなくてはなりませんし、入力された会話の意図を理解する仕組みがないと、メニューを選ばせる方法でしか質問を受けることが出来ません。より人間らしい対話でFAQを行うには、もう少し機能を追加する必要があります。そこで今回は、2種類のマイクロソフトAIサービスを利用した、より活用しやすいボットの仕組みを紹介したいと思います。

1.QnAMakerについて

質問を投げかけると答えを返すサービスがMicrosoft Azureには用意されています。それがAzureのAIサービス、QnAMaker(https://www.qnamaker.ai/)です。QnAMakerにはサービスを利用するための専用ポータルサイトが用意されていて、質問と答えをセットにして登録をすると、AIがそれを学習し、答えを返してくれるようになります。QAデータはインポートが可能で、例えば普段の業務で作成しておいたQA表をQnAMakerに読み込ませることも可能です。簡単にAIを学習させる仕組みを備えたQnAMakerではありますが、より人間らしい対話をさせるためには、会話の意図を認識させる仕組みが必要となってきます。QnAMakerに学習させる情報は「質問」と「答え」だけですので、そこに含まれる単語にどのような意味があるのかを解析出来るようになれば、より柔軟な受け答えが出来るボットになります。

2.LUISについて

ボットに柔軟な受け答えをさせるためには、あらかじめ登録された会話だけでなく、ある程度会話の内容に揺らぎがあっても会話の意図を認識してくれる仕組みが必要です。それを可能にするサービスもAzureには用意されていて、それが言語解析AIサービスLUIS(Language Understanding Intelligent Service)です。LUISにもポータルサイト(https://www.luis.ai/)が用意されていて、QnAMakerと同じくWebブラウザーでのAIの学習が可能です。AIの学習に複雑なコーディングは必要なく、Intentと呼ばれる会話の意図と会話文、Entityと呼ばれるIntentに関連する情報を登録します。イメージが少し掴み辛いかもしれませんので、AI学習の流れを下の図で簡単まとめております。


LUISとQnAMakerの違いですが、QnAMakerが質問に紐づく答えを返すのに対し、LUIS側では入力した会話をAIが解析しIntentとEntityを返します。また、それぞれのスコアも返します。


例えば、会話の内容が「サンドイッチを1つ下さい。」であれば、意図となるIntentは「注文」であり、Entityは「食べ物(サンドイッチ)」と「数(1つ)」を登録します。このように設定することでLUIS側は「サンドイッチを1つ下さい。」という会話を受けとると、Intentは注文で、その確率は90%、Entityとしては95%の確率で「食べ物」、98%の確率で「数」が含まれているというように、返してくれます。

サンプルを使ったLUISの動作確認が下記サイトで行えますので試してみて下さいね。
https://azure.microsoft.com/ja-jp/services/cognitive-services/language-understanding-intelligent-service/

3.QnAMakerとLUISを連携する。

QA対応が出来るQnAMakerと会話の意図を理解するLUISはどのように連携したら良いでしょう?質問を受けるのはLUISが良いですよね。ただ、LUISには質問に対する答えを返す機能はありませんので、そこはQnAMakerが担当します。では、連携はどのようにするかというと、会話を受けたLUISは会話の意図(Intent)を返します。多少会話に揺らぎがあっても登録済みの意図(Intent)そのものが変化することはありませんので、必然的に登録済みのIntentの中のどれかが返ることになります。勘の鋭い方はここでもうお気づきかもしれませんね。QnAMakerには、このIntentに対する答えを返すように質問を登録すれば良いのです。当社サービスではEntityを組み合わせることで、更に柔軟なQA対応が出来るようにしています。これにはコーディングが必要となりますが、「Azure Bot Service」を使うことでこれを実現しています。「Azure Bot Service」を使うと、会話の条件分岐や計算処理、他のアプリケーションへの連携や画像ファイルを使った処理、更には社外向けサイトで利用することも可能になります。

4.チャット画面をPowerAppsでデザインする

チャット画面は何で作成すれば良いのでしょう?AzureのAIをアプリケーション化する方法は色々ありますが、1つの手段としてOffice365のPowerAppsでアプリケーションを作成する方法があります。PowerAppsにはたくさんのコネクタが用意されていて、QnAMakerやLUISに接続するコネクタも用意されています。コネクタを使用するには、それぞれのAIサービスのポータルサイトからAPIキーを取得する必要があります。どちらもポータルサイトのPUBLISHの中に設定情報がありますので、そこで控えたキーをコネクタ設定時に表示される入力フォームにセットして保存します。

PowerAppsからAIへ会話を送信し、その結果を受け取るには、次の関数を使用します。QnAMakerは「QnAMaker.GenerateAnswer」、LUISは「LUIS.GetPredictions」です。それぞれの関数の使い方については、本家PowerAppsサイトのConnectors Referenceに記載がありますのでご参考下さい。
QnAMaker.GenerateAnswer(https://www.carlosag.net/PowerApps/Connectors/QnA-Maker
LUIS.GetPredictions (https://www.carlosag.net/PowerApps/Connectors/LUIS
下図はFAQボットの一例です。画面には入力フォームと会話を送信するボタンを配置し、ギャラリーを使って会話を表示しています。顔のイラストはPowerAppsの「メディア」に保存したものを呼び出しています。送信ボタン押下後の処理は下図のようになっています。

入力フォームに入力した会話を、送信ボタンでLUISに渡します。LUISは会話の意図を解析し、その意図をQnAMaker渡します。QnAMakerは受け取った意図を質問が来たと解釈し、紐づく答えをPowerApps側に送信します。答えを受け取ったPowerAppsはギャラリーに答えを表示します。軸となる処理はこれだけですが、より使いやすいチャットボットにするために、当社アプリケーションでは吹き出しやイラストを表示させています。また、アプリケーションを起動した時にオペレーターから挨拶があるとアプリケーションとしては親切ですよね。PowerAppsを使うと様々な表現をFAQボットに盛り込むことが可能です。オリジナルのFAQボット作りを、ぜひ皆さんも試してみて下さいね。

5.おわりに

今回のコラムで紹介をさせて頂きましたチャットボットについてですが、当社からは「QAチャットボット構築サービス」をご案内させて頂いております。業務の効率化や生産性の向上に!お客様の業務やご予算に合わせたチャットボット作りをお手伝いさせて頂いております。ぜひお気軽にお問い合わせください。チャットボットで業務効率化の第一歩を踏み出しましょう!

それでは次回もお楽しみに。

◆Office365について

以下のページをご覧ください。
https://www.si-jirei.jp/office365/

Related post

更新情報

最新コラム

  1. みなさん、こんにちは! プライム・ストラテジーでコンサルタントをしております、穂苅 智哉 (ほ…
  2. はじめに 今月発生しました豪雨災害により被災された皆さまに心よりお見舞いを申し上げます。私の郷里で…
  3. 先日、日本マイクロソフト様との合同イベント「Microsoftオフィス体感セミナー!」を開催致しまし…

ログインステータス

You are not logged in.
Return Top