はじめに
Cognitive Services の言語サービスにはQuestion answering (質疑応答) の機能があります。元々はQnA Makerという機能ですが、言語サービスに統合されています。
日本語にも対応しています。ドキュメントでは英語での質疑応答になっているので日本語で試してみたいと思います。
Question answering (質疑応答)とは
説明には以下のようにあります。
質問応答は、クラウドベースの自然言語処理 (NLP) であり、これを使用すると、データに自然な会話レイヤーを作成できます。 任意の入力に対して、カスタム ナレッジ ベース (KB) の情報から最も適切な回答を見つける目的で使用されます。
何か難しいようですが、よくホームページで右端にチャットボットが出てきて質問に答えてくれるものがあると思います。
あれの中身です。
-
カスタム質問応答とは - Azure AI services | Microsoft Learn
カスタム質問応答はクラウドベースの自然言語処理 (NLP) サービスであり、データに自然な会話レイヤーを簡単に作成するものです。 これは、特定の自然言語入力に対して、カスタム プロジェクトの情報から最 ...
learn.microsoft.com
クイックスタート
今回はクイックスタートを参考に日本語に対応したQuestion answering (質疑応答)を作成していきます。ナレッジはPDFを取り込み利用します。
作成自体は下記を参考にしています。ただ、UIもドキュメントとは結構ことなります。
-
クイック スタート: SDK を使用してプロジェクトの作成と管理を行う - カスタム質問応答 - Azure AI services | Microsoft Learn
このクイックスタートでは、カスタム質問応答を使用してプロジェクトを作成および管理する方法について説明します。
learn.microsoft.com
言語リソースの作成
最初にCognitive Services の言語サービスを作成する必要があります。
言語サービスを開きます。
カスタム質疑応答を選択してリソースの作成を行います。
名前をを指定して価格レベルを指定します。
ここで注意としてFreeではなくStandardを選択します。理由としてはナレッジとしてPDFを取り込みますが1MB以上のファイルが取り込めないからです。
Azure SearchはFreeです。
責任あるAI通知条項に同意します。
他は特に設定は必要にあります。
作成します。これで準備は完了です。
プロジェクトの作成
作成した言語サービスから右下のLanguage Studioを開きます。
開くとディレクトリ、サブスクリプション、言語サービスを選択します。言語サービスは、上部で作成した言語サービスリソースを選択します。
Understand questions and conversational languageを選択し、Custom question answeringを開きます。
プロジェクトを作成します。
プロジェクトで利用する言語をJapaneseで選択します。
名前と説明、答えがない場合の応答を入力します。
作成される内容を確認してから作成します。
ナレッジを取り込む
質疑応答で利用するためのナレッジを取り込む必要があります。そこでSurface Book ユーザーガイドを取り込み利用します。このファイルが1MB以上のため価格プランをStandardにしています。
下記をダウンロードします。
名前 | URL |
Surface Book ユーザー ガイド | https://download.microsoft.com/download/7/B/1/7B10C82E-F520-4080-8516-5CF0D803EEE0/surface-book-user-guide_ja-JP.pdf |
ソース管理を開きます。ここでナレッジを取り込みます。ドキュメントではURLで取り込んでいますがFilesで取り込みます。
Add Fileからダウンロードしたファイルを選択します。
問題なく取り込まれると一覧に表示されます。
一覧から取り込んだソースを開くと、分析され取り込まれていることが分かります。
試していきたいと思います。
テストとデプロイ
Testを開きます。
ここで「どのようにSurface Bookをセットアップしますか?」と入力します。ある程度、誤字でも判定してくれます。
ソースからセットアップの方法が表示されます。
Inspectをクリックすると、下部に回答として優先されなかったもの(判定のパーセンテージが低いもの)を表示します。
次にアプリなどで利用するためにはデプロイする必要があります。
デプロイします。
デプロイした情報を確認してアプリなどで利用しましょう。
以上でQuestion answering (質疑応答)のクイックスタートは完了です。
まとめ
Question answering (質疑応答)は、その名の通りQ&Aで利用することができます。様々なソースを利用すること柔軟に対応することが可能になります。botなどと連携していくと便利に利用できるでしょう。