QnA Maker とはWhat is QnA Maker?

QnA Maker は、データに自然な会話レイヤーを作成できるクラウドベースの自然言語処理 (NLP) サービスです。QnA Maker is a cloud-based Natural Language Processing (NLP) service that allows you to create a natural conversational layer over your data. 任意の入力に対して、カスタム ナレッジ ベース (KB) の情報から最も適切な回答を見つける目的で使用されます。It is used to find the most appropriate answer for any input from your custom knowledge base (KB) of information.

通常 QnA Maker は、ソーシャル メディア アプリケーション、チャット ボット、音声対応デスクトップ アプリケーションなど、会話型クライアント アプリケーションの作成に使用されます。QnA Maker is commonly used to build conversational client applications, which include social media applications, chat bots, and speech-enabled desktop applications.

QnA Maker を使用する場合When to use QnA Maker

  • 静的な情報がある場合 - 回答のナレッジ ベースに静的な情報がある場合に、QnA Maker を使用します。When you have static information - Use QnA Maker when you have static information in your knowledge base of answers. このナレッジ ベースは、PDF や URL などのドキュメントで作成したニーズに合わせてカスタマイズされています。This knowledge base is custom to your needs, which you've built with documents such as PDFs and URLs.
  • 要求、質問、またはコマンドに同じ回答を提供する場合 - 異なるユーザーが同じ質問を送信すると、同じ回答が返されます。When you want to provide the same answer to a request, question, or command - when different users submit the same question, the same answer is returned.
  • メタ情報に基づいて静的情報をフィルター処理する場合 - メタデータ タグを追加して、クライアント アプリケーションのユーザーと情報に関連する追加のフィルター オプションを提供します。When you want to filter static information based on meta-information - add metadata tags to provide additional filtering options relevant to your client application's users and the information. 一般的なメタデータ情報には、chit-chat、コンテンツの種類または形式、コンテンツの目的、コンテンツの鮮度が含まれます。Common metadata information includes chit-chat, content type or format, content purpose, and content freshness.
  • 静的な情報を含むボットの会話を管理する場合 - ご利用のナレッジ ベースは、ユーザーの会話テキストまたはコマンドを取得して、それに応答します。When you want to manage a bot conversation that includes static information - your knowledge base takes a user's conversational text or command and answers it. 回答が、ナレッジ ベースで複数ターンのコンテキストで表される、事前に決定された会話フローの一部である場合、ボットはこのフローを簡単に提供できます。If the answer is part of a pre-determined conversation flow, represented in your knowledge base with multi-turn context, the bot can easily provide this flow.

ナレッジ ベースとはWhat is a knowledge base?

QnA Maker では、質問と回答がペアになったナレッジ ベースにコンテンツをインポートします。QnA Maker imports your content into a knowledge base of question and answer pairs. インポート プロセスでは、質問と回答のペア間のリレーションシップを意味する、構造化コンテンツと半構造化コンテンツのパーツ間のリレーションシップに関する情報を抽出します。The import process extracts information about the relationship between the parts of your structured and semi-structured content to imply relationships between the question and answer pairs. これらの質問と回答のペアを編集したり、新しいペアを追加したりできます。You can edit these question and answer pairs or add new pairs.

質問と回答のペアのコンテンツには、次のものが含まれます。The content of the question and answer pair includes:

  • 質問のすべての代替形式All the alternate forms of the question
  • 検索時に回答の選択肢をフィルター処理するために使用されるメタデータ タグMetadata tags used to filter answer choices during the search
  • 検索の絞り込みを続行するためのフォローアップ プロンプトFollow-up prompts to continue the search refinement


ナレッジ ベースを公開すると、クライアント アプリケーションによってユーザーの質問がエンドポイントに送信されます。After you publish your knowledge base, a client application sends a user's question to your endpoint. QnA Maker サービスは、質問を処理して、最適な回答で応答します。Your QnA Maker service processes the question and responds with the best answer.

チャット ボットをプログラムから作成するCreate a chat bot programmatically

QnA Maker のナレッジ ベースが公開されると、クライアント アプリケーションは、ナレッジ ベースのエンドポイントに質問を送信し、結果を JSON 応答として受信します。Once a QnA Maker knowledge base is published, a client application sends a question to your knowledge base endpoint and receives the results as a JSON response. QnA Maker の一般的なクライアント アプリケーションはチャット ボットです。A common client application for QnA Maker is a chat bot.

ボットに質問をして、ナレッジ ベースのコンテンツから回答を得る

手順Step アクションAction
11 クライアント アプリケーションは、ユーザーの 質問 (自分の言葉で表現されたテキスト) "プログラムによってナレッジ ベースを更新するにはどうすればよいですか?" を、The client application sends the user's question (text in their own words), "How do I programmatically update my Knowledge Base?" ご利用のナレッジ ベース エンドポイントに送信します。to your knowledge base endpoint.
22 QnA Maker は、トレーニング済みのナレッジ ベースを使用して、正しい回答と、最適な回答の検索を絞り込むために使用できる任意のフォローアップ プロンプトを提供します。QnA Maker uses the trained knowledge base to provide the correct answer and any follow-up prompts that can be used to refine the search for the best answer. QnA Maker では、JSON 形式で応答を返します。QnA Maker returns a JSON-formatted response.
33 クライアント アプリケーションは、JSON 応答を使用して、会話を継続する方法を判断します。The client application uses the JSON response to make decisions about how to continue the conversation. この判断には、上位の回答を表示することや、最適な回答を得るためにより多くの選択肢を提示することが挙げられます。These decisions can include showing the top answer and presenting more choices to refine the search for the best answer.

少量のコードでチャット ボットを作成するBuild low code chat bots

QnA Maker ポータルでは、完全なナレッジ ベースの作成エクスペリエンスが提供されます。The QnA Maker portal provides the complete knowledge base authoring experience. ドキュメントをそのままの形式でナレッジ ベースにインポートできます。You can import documents, in their current form, to your knowledge base. これらのドキュメント (FAQ、製品マニュアル、スプレッドシート、Web ページなど) は、質問と回答のペアに変換されます。These documents (such as an FAQ, product manual, spreadsheet, or web page) are converted into question and answer pairs. 各ペアは、フォローアップ プロンプト用に分析され、他のペアに接続されます。Each pair is analyzed for follow-up prompts and connected to other pairs. 最終的な "マークダウン" 形式は、画像やリンクを含む豊富なプレゼンテーションをサポートします。The final markdown format supports rich presentation including images and links.

ナレッジ ベースを編集したら、作業中の Azure Web アプリ ボットにそのナレッジ ベースを公開します。コードを記述する必要はありません。Once your knowledge base is edited, publish the knowledge base to a working Azure Web App bot without writing any code. Azure portal でボットをテストするか、ダウンロードして開発を続行します。Test your bot in the Azure portal or download it and continue development.

階層化されたランク付けによる質の高い回答High quality responses with layered ranking

QnA Maker のシステムは、階層化されたランク付けアプローチです。QnA Maker's system is a layered ranking approach. データは Azure Search に格納されます。これは、第 1 のランク付けレイヤーとしても機能します。The data is stored in Azure search, which also serves as the first ranking layer. 次に、Azure Search からの上位の結果が QnA Maker の NLP 再順位付けモデルを通じて渡され、最終的な結果と信頼度スコアが生成されます。The top results from Azure search are then passed through QnA Maker's NLP re-ranking model to produce the final results and confidence score.

複数ターン会話Multi-turn conversations

QnA Maker では、基本的な質問と回答のペアを改善するために、複数ターンのプロンプトとアクティブ ラーニングが提供されています。QnA Maker provides multi-turn prompts and active learning to help you improve your basic question and answer pairs.

複数ターンのプロンプト により、質問と回答のペアを結び付ける機会が与えられます。Multi-turn prompts give you the opportunity to connect question and answer pairs. この結び付けにより、クライアント アプリケーションは上位の回答を提供し、最終的な回答の検索を絞り込むためにより多くの質問を提供することができます。This connection allows the client application to provide a top answer and provides more questions to refine the search for a final answer.

ナレッジ ベースが公開されたエンドポイントでユーザーからの質問を受け取ると、QnA Maker はこれらの実際の質問に アクティブ ラーニング を適用して、品質向上のためにナレッジ ベースへの変更を提案します。After the knowledge base receives questions from users at the published endpoint, QnA Maker applies active learning to these real-world questions to suggest changes to your knowledge base to improve the quality.

開発ライフサイクルDevelopment lifecycle

QnA Maker では、完全な開発ライフサイクルに統合するために、コラボレーションと共に、作成、トレーニング、および発行のアクセス許可を提供します。QnA Maker provides authoring, training, and publishing along with collaboration permissions to integrate into the full development life cycle.

開発サイクルの概念図Conceptual image of development cycle

クイックスタートに取り組むComplete a quickstart

ほとんどの一般的なプログラミング言語向けのクイックスタートが提供されています。それぞれ基本的な設計パターンを学び、いずれも 10 分もかからずにコードを実行できるように作られています。We offer quickstarts in most popular programming languages, each designed to teach you basic design patterns, and have you running code in less than 10 minutes. それぞれの機能のクイックスタートについては、次の各記事を参照してください。See the following list for the quickstart for each feature.

次のステップNext steps

QnA Maker には、カスタム ナレッジ ベースのビルド、管理、および展開に必要なすべてのものが用意されています。QnA Maker provides everything you need to build, manage, and deploy your custom knowledge base.