Azure Cognitive Service for LanguageでFAQチャットボットを作成する

こんにちは。今日は、Azure Cognitive Service for Languageを使ってFAQチャットボットを作成する手順について解説したいと思います。

Azure Cognitive Service for Languageとは?

公式Docによる説明はこちら。2021年のIgniteで発表された自然言語処理機能を提供するクラウドサービスです。

https://docs.microsoft.com/ja-jp/azure/cognitive-services/language-service/overview

できることについては、こちらのブログにも分かりやすくまとまっていました。

既存でQnA Maker、Text Analytics、LUISを利用しているユーザは、以下の移行ガイドに従って移行することができるようです。

https://docs.microsoft.com/ja-jp/azure/cognitive-services/language-service/concepts/migrate

今回は、QnA Makerで既にチャットボットを作成していた場合と、これから全く新規でチャットボットを作成する場合の2パターンを試してみました。

それではまいります。

言語サービスリソースの作成

まず、どちらのシナリオでも共通のステップとして、Cognitive Serviceの「言語サービス」リソースを作成します。

QnA Makerに対応する機能「カスタム質問応答」は、規定では有効化されていないようなので、明示的に有効化します。

次へ進むと、リソースの詳細設定へ。「Text Analyticsの作成」とありますが、内部的にText Analyticsリソースの作成が必要ということかな・・・。

ナレッジベースの作成

次にナレッジベースの作成です。このステップは、QnA Makerからの移行か、新規作成かで異なります。

QnA Makerのナレッジベースを移行する場合

具体的には、以下の手順をもとに実施しました。

https://docs.microsoft.com/ja-jp/azure/cognitive-services/language-service/question-answering/how-to/migrate-qnamaker

Custom Question and Answeringプロジェクトを作成する

公式Docにも説明がありますが、単一言語の既存ナレッジベースを移行するだけで良い場合にはこのステップは省略可能です。(移行時に、自動的にプロジェクトが作成されるため)

複数の言語のナレッジ ベースを言語リソースに追加したい場合は、Language Studio にアクセスして最初のカスタム質問と回答プロジェクトを作成し、以下のように最初のオプションを選択します。 言語リソースの言語設定は、プロジェクトの作成時にのみ指定できます。 単一言語の既存のナレッジ ベースを言語リソースに移行する場合は、この手順を省略できます。

下の方にLanguage Studioの開始ボタンがあるので、ここからLanguage Studioに移動します。

Language Studioに移動したら、Custom Question Answeringリソースのプロジェクトを作成します。

Create new Projectで・・・

数個の必要な初期設定を実施したら、完了です。

これが、QnA MakerのKnowledge Baseに相当するもののようですね。

プロジェクト作成直後には、まだ何のナレッジもないので、Resourceは空になっています。

既存のQnA Maker用ナレッジベースを移行する

次に、https://www.qnamaker.ai/にアクセスして、既存のKnowledge Baseを開きます。

お、既存のもの(KnowledgeBase013)はあるんですが、先ほど作成したLanguageサービスのプロジェクト(=Knowledge Baseに相当するもの)も、ここに一覧として表示されています。

“Start Migration”オプションがあるので、クリックして、移行元、移行先の指定を行うと、ナレッジベースの移行が開始されます。

データボリュームによるかと思いますが、少量データだと数分程度で移行が完了しました。

移行後は、既存Knowledge Baseと同名の言語サービスプロジェクトが作成されていることが分かります。

新規でナレッジベースを作成する場合

[工事中]

ナレッジベースを公開する

ナレッジベースの用意ができたら、これを公開します。

Botを作成する

公開したら、ナレッジベースと直接やりとりをするボットを準備します。上のキャプチャの「Create a bot」からリソースの作成ができます。

ここからのエクスペリエンスはQnA Makerの時と全く同じですね。

以下の通りBotリソースを作成し・・

作成したらWebチャットでテストしてみると動作が確認できます。

以上、Azure Cognitive Service for Languageを利用して、チャットボットを作成する手順でした!

このサービスを使うことで、QnA Makerではできなかったこともできるようになるのだと思いますが、そのあたりは今後の記事で深ぼっていこうと思います!

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。