AzureのAIサービスで超簡単チャットボットを作成してみた(前編)

2022年7月20日掲載

キービジュアル

Microsoft AzureのAIサービスを利用して、日々の応答業務を自動化できるチャットボットシステムを構築してみました。

目次

  • 本記事では、Microsoft Azure の AI サービスである Cognitive Services を利用して、簡単にAIシステムの導入する方法を紹介します。
  • Cognitive Serviceを使ったことが無い方向けの入門記事です。
  • 本記事は、前後編の前編記事になります。

はじめに

皆さまこんにちは。ソフトバンク 永井と申します。
普段はソフトバンクでクラウドSEとして活動しております。
どうぞよろしくお願いいたします。

 

さて本日は、Microsoft AzureのAIサービスであるCognitive Servicesを利用して、簡単にAIシステムの導入を目指したいと思います。

先ほどクラウドSEとして活動しているとお伝えしましたが、AIを活用した業務改善に関するお問い合わせは日増しに増えております。

一方で、導入に至るまでの時間やコストなど導入への敷居が高そうなイメージがあり、まずはコストを抑えてPoC(概念実証)から始めたいというご要望を頂くことも多いです。

そこで、私が色々提案してきた中から、PoCとして価格を抑えつつ、本番導入も見据えた構成でMicrosoft AzureのAIサービスをご紹介できればと思います。

Start building with Azure Cognitive Services for free

 

Cognitive Servicesの詳細は後ほど記載しますが、本日はCognitive Services for Languageというサービスを利用して、AIチャットボットを作成したいと思います。

前編/後編の2回に分けて導入までの手順をご紹介し、前編である本稿は全体の構成やMicrosoft Azure側に関する構築の流れをご紹介させて頂きます。

ちなみに、Cognitive Servicesは大塚愛さんのスペシャルライブでも使われたことがあります。まさに青春時代、大塚愛さんの名曲「さくらんぼ」を聴いて育った世代の私としては、Cognitive Servicesに触れるいい機会を頂けたと不思議な縁を感じています。

 

システム構成

今回のシステム構成を検討するにあたり、せっかくならソフトバンクのシナジーが発揮されるシステム構成がいい宣伝になると考えました。

そのため、ユーザタッチポイントが国内最大規模であるLINEと組み合わせた構成を検討することにしてみました。

LINE自体もMessaging APIという機能でボット機能を提供していますが、今回はCognitive Services Languageを利用したチャットボットを実装するため、あくまでLINEアプリからMicrosoft Azureに連携する構成で進めていきたいと思います。

イメージとしてはこのような構成で進めていこうと思います。

エンドユーザのLINEアプリと、Microsoft Azure間はLINE Messaging APIからWebhookで引っ張ってくるように構成します。

チャットボットはAzure上に構築するため、別途Bot Servicesというプラットフォームを利用して構成します。そのため、各製品で利用するサービスは下記の通りです。

今回利用するサービスの公式ドキュメントはこちらです。

Cognitive Services for Language

Azure Bot Service

LINE Messaging API

どのようなチャットボットをつくるのか?

構成が固まったので、実装するチャットボットについても決めておきましょう。

そもそもチャットボットとは「チャット」におけるコミュニケーションにおいて、あらかじめセットされた回答を返すことを前提として登場しました。

よく見かけるのは、インターネットサイトを覗いているときに画面右下にポップアップが表示され、不明点や質問に対して回答(もしくは適切な画面に誘導)する応答業務を人間の代わりに実施していることが多いです。

今回はこの「応答業務」に着目し、あらかじめ作成したシナリオに沿ってエンドユーザを誘導し、エンドユーザからの問い合わせ導線を整理するためのチャットボットを作成することにしました。

これにより問い合わせ業務の前捌きをAIチャットボットに代替し、問い合わせ内容の傾向などのデータも取得できる仕組みを作成しましょう。もちろん、シナリオに沿った形でのチャットボットはCognitive Servicesで実装可能です。

今回は2つの質問を通して適切なお問い合わせ画面へ誘導するというシナリオで進めていきます。

①どのクラウド製品について聞きたいか?

弊社はマルチクラウド戦略のもと、お客さまへ最適なクラウドを提案、推進させて頂くミッションを掲げております。

そのため、今回は弊社が対応できるパブリッククラウドをセットする形で進めます。

②どのようなことを聞きたいか?

各パブリッククラウドの情報収集、導入に関する本格検討など、お客さまによって質問したい内容はさまざまです。

「どのクラウド」の「なにを」聞きたいのか?という質問内容を整理することで、適切なお問い合わせフォームに誘導するというチャットボットを実装したいと思います。

構築の流れ

それでは構築に移りましょう。最終的にはWebhookで接続しますが、LINE/Azureどちらから構築しても問題ありません。

今回はAzure側にチャットボットのエンジンを構築する予定なので、構築のボリュームはAzure側が大半を占める形となります。

完全に好みではありますが、先にAzureの構築からはじめていきたいと思います。

それでは参りましょう。

 

Azure構築

Cognitive Services for Languageのデプロイ

まずはCognitive Servicesから進めていきましょう。

Azure Portal内でCognitive Servicesを調べるとLanguage Serviceをデプロイできるのでクリックします。

デプロイ画面に遷移しサービス名やデプロイするリージョン、各レベルを選択します。

今回は商用ではないためFreeを利用します。
お金と時間をかけずに検証できるのもクラウドの大きな魅力ですね。
設定の入力が完了したら[作成]を選択します。

あっという間にデプロイ完了です。

ナレッジベースの展開

Cognitive for Languageのデプロイが完了したらチャットボットのコアとなるナレッジベースを構築しましょう。

Cognitive LanguageはAzureポータルではなくLanguage Studioという別ポータルで操作します。

Language Studioへアクセスして認証完了すると、下記画面へ遷移します。先ほどデプロイしたCognitive Service for Languageを選択してください。

選択が完了すると様々なメニューを選択することが可能です。

今回はチャットボットとして質問に準じた回答を送信できるよう構成するため[Custom questions answering]を選択します。

メニューを選択すると[プロジェクト]という概念でリソースを作成することが可能です。

[新しいプロジェクトを作成する]を選択し、新規プロジェクトを作成します。言語も選択できるので、ここで日本語を選択して進めていきます。

プロジェクトの作成が完了すると、今後はプロジェクトに紐づくリソースの作成です。

※今回は特に応答のソースがあるわけではないので任意のものを選択しています。

ソースの原型ができたので、いよいよやり取りに関するペアを作成します。

まずは最初の質問を作成しましょう。

[ここに質問のペアを追加します]を選択して質問と回答のペアを作成します。

ちなみに、質問や回答を変更したら必ず[変更の保存]を選択してください。

これをしないとせっかく作成した質問と回答のペアが反映されません。

変更を反映させたら、想定通りの挙動かテストを実施しましょう。

質問と回答の設定が完了したら作成したナレッジベースを展開します。

Language Studio内の[ナレッジベースの展開]を選択します。

そのままBot Serviceのデプロイが可能です。続けてデプロイするとスムーズです。

Bot Serviceのデプロイ

それではBot Serviceのデプロイに移ります。

[ボットを作成する]を選択すると、別タブでAzureポータルが起動します。必要事項はおおかた埋まっているので、デプロイするリージョンと価格レベルを確認しておきます。

Bot ServiceがCognitive Services for Languageと上手く接続できてるか確認することも可能です。

[Webチャットでテスト]を選択してメッセージを入力し、期待通りの返答が返ってくることを確認します。

ひとまずこちらでAzureの構築は完了です。(LINEとの接続で戻ってきます)

ここまでのまとめ

さて、今回はチャットボットの導入をAzureの構築中心にご紹介させて頂きました。

後半の記事では、LINE Platformの構築とMicrosoft Azureとの連携設定についてご紹介させて頂きます。

また、お問い合わせに関する機能追加やどのような問い合わせが多いのかといったデータ分析も今後実施する予定です。
ぜひ、ご参考にして頂けますと幸いです。

弊社ではAzureだけでなく、AWSやGCPなどマルチクラウドにてご提供可能です。
他のクラウドでのご相談も承っておりますので、ぜひお気軽にお問い合わせください。

それではまたお会いしましょう!
今後とも弊社ブログをお楽しみください!

Azure OpenAI Service関連の資料ダウンロード

「Azure OpenAI Service」ではじめる、ChatGPTとのシステム連携

本資料では、企業で生成AIをセキュアに使うことができるAzure OpenAI Serviceおよび、スピーディに検証環境を構築できるスターターパッケージについて、構成イメージや料金と合わせてご紹介します。

関連サービス

Microsoft Azure

Microsoft Azureは、Microsoftが提供するパブリッククラウドプラットフォームです。コンピューティングからデータ保存、アプリケーションなどのリソースを、必要な時に必要な量だけ従量課金で利用することができます。

LINE連携アプリ開発支援サービス

LINE APIを活用したアプリケーションの設計、開発、運用保守、プロモーションなどをワンストップで提供します。

おすすめの記事

条件に該当するページがございません