Schnellstart: Testen der Wissensdatenbank mit Batchfragen und erwarteten AntwortenQuickstart: Test knowledge base with batch questions and expected answers

Verwenden Sie das QnA Maker-Batchtesttool, um die Wissensdatenbanken in Ihrer QnA Maker-Ressource auf erwartete Antworten, Konfidenzscores und Eingabeaufforderungen mit mehreren Durchläufen.Use the QnA Maker batch testing tool to test the knowledge bases in your QnA Maker resource for expected answers, confidence scores, and multi-turn prompts.

VoraussetzungenPrerequisites

Anmelden beim QnA Maker-PortalSign into QnA Maker portal

Melden Sie sich beim QnA Maker-Portal an.Sign in to the QnA Maker portal.

Erstellen Sie eine neue Wissensdatenbank aus der .docx-Beispieldatei für mehrere Durchläufe.Create a new knowledge base from the multi-turn sample.docx file

  1. Wählen Sie aus der Symbolleiste die Option Wissensdatenbank erstellen aus.Select Create a knowledge base from the tool bar.

  2. Überspringen Sie Schritt 1, da Sie bereits über eine QnA Maker-Ressource verfügen, und fahren Sie mit Schritt 2 fort, um die Informationen zu Ihrer vorhandenen Ressource auszuwählen:Skip Step 1 because you should already have a QnA Maker resource, moving on to Step 2 to select your existing resource information:

    • Azure Active Directory-IDAzure Active Directory ID
    • Name des Azure-AbonnementsAzure Subscription Name
    • Name des Azure QnA-DienstsAzure QnA Service Name
    • Sprache: EnglischLanguage - the English language
  3. Geben Sie Multi-turn batch test quickstart als Namen Ihrer Wissensdatenbank ein.Enter the name Multi-turn batch test quickstart as the name of your knowledge base.

  4. Konfigurieren Sie in Schritt 4 die Einstellungen anhand der folgenden Tabelle:In Step 4, configure the settings with the following table:

    EinstellungSetting WertValue
    Enable multi-turn extraction from URLs, .pdf or .docx files (Mehrfachdurchlauf-Extrahierung von URLs, PDF- oder DOCX-Dateien aktivieren)Enable multi-turn extraction from URLs, .pdf or .docx files. AktiviertChecked
    Default answer text (Standardantworttext)Default answer text Batch test - default answer not found.
    + Datei hinzufügen+ Add File Wählen Sie die heruntergeladene .docx-Datei aus, die in den Voraussetzungen aufgeführt ist.Select the downloaded .docx file listing in the prerequisites.
    SmalltalkChit-chat Wählen Sie Professional aus.Select Professional
  5. Wählen Sie in Schritt 5 die Option Wissensdatenbank erstellen aus.In Step 5, select Create your KB.

    Wenn der Erstellungsprozess beendet ist, zeigt das Portal die bearbeitbare Wissensdatenbank an.When the creation process finishes, the portal displays the editable knowledge base.

Speichern, Trainieren und Veröffentlichen der WissensdatenbankSave, train, and publish knowledge base

  1. Wählen Sie in der Symbolleiste Speichern und trainieren aus, um die Wissensdatenbank zu speichern.Select Save and train from the toolbar to save the knowledge base.

  2. Wählen Sie in der Symbolleiste die Option Veröffentlichen aus, und wählen Sie dann erneut Veröffentlichen aus, um die Wissensdatenbank zu veröffentlichen.Select Publish from the toolbar then select Publish again to publish the knowledge base. Durch Veröffentlichen wird die Wissensdatenbank für Abfragen von einem öffentlichen URL-Endpunkt zur Verfügung gestellt.Publishing makes the knowledge base available for queries from a public URL endpoint. Wenn die Veröffentlichung abgeschlossen ist, speichern, Sie die Informationen zu Host-URL und Endpunktschlüssel, die Sie auf der Seite Veröffentlichen finden.When publishing is complete, save the host URL and endpoint key information shown on the Publish page.

    Erforderliche DatenRequired data BeispielExample
    Veröffentlichter HostPublished Host https://YOUR-RESOURCE-NAME.azurewebsites.net
    Veröffentlichter SchlüsselPublished Key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (Zeichenfolge aus 32 Zeichen, die nach Endpoint angezeigt wird)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (32 character string shown after Endpoint )
    App-IDApp ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (Zeichenfolge aus 36 Zeichen, die als Teil von POST angezeigt wird)xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (36 character string shown as part of POST)

Erstellen einer Batchtestdatei mit Fragen-IDsCreate batch test file with question IDs

Um das Batchtesttool zu verwenden, erstellen Sie mit einem Text-Editor eine Datei namens batch-test-data-1.tsv.In order to use the batch test tool, create a file named batch-test-data-1.tsv with a text editor. Die Datei muss folgende durch Tabulatorzeichen getrennt Spalten aufweisen.The file needs to have the following columns separated by a tab.

Felder der TSV-EingabedateiTSV input file fields NotizenNotes BeispielExample
Wissensdatenbank-IDKnowledge base ID Die ID Ihrer Wissensdatenbank, die Sie auf der Seite „Veröffentlichen“ finden.Your knowledge base ID found on the Publish page. Sie können verschiedene Wissensdatenbanken gleichzeitig in einer einzigen Datei testen, indem Sie mehrere Wissensdatenbank-IDs in einer Datei verwenden.Test several knowledge bases in the same service at one time in a single file by using different knowledge base IDs in a single file. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (Zeichenfolge aus 36 Zeichen, die als Teil von POST angezeigt wird)xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (36 character string shown as part of POST)
FrageQuestion Den Text einer Frage, die ein Benutzer eingeben würde.The question text a user would enter. Max. 1.000 Zeichen.1,000 character max. How do I sign out?
MetadatentagsMetadata tags optionaloptional topic:power verwendet das Format Schlüssel:Werttopic:power uses the key:value format
Oberster ParameterTop parameter optionaloptional 25
Erwartete Antwort-IDExpected answer ID optionaloptional 13

Fügen Sie für diese Wissensdatenbank drei Zeilen nur der erforderlichen beiden Spalten zur Datei hinzu.For this knowledge base, add 3 rows of just the 2 required columns to the file. Die erste Spalte enthält die ID Ihrer Wissensdatenbank, die zweite besteht aus der folgenden Liste mit Fragen:The first column is your knowledge base ID and the second column should be the following list of questions:

Spalte 2: FragenColumn 2 - questions
Use Windows Hello to sign in
Charge your Surface Pro 4
Get to know Windows 10

Diese Fragen sind die genaue Formulierung aus der Wissensdatenbank und sollten einen Konfidenzscore von 100 zurückgeben.These questions are the exact wording from the knowledge base and should return 100 as the confidence score.

Fügen Sie in drei weiteren Zeilen einige weitere Fragen hinzu, die den vorhandenen Fragen ähneln, aber nicht genau mit ihnen übereinstimmen. Verwenden Sie dieselbe Wissensdatenbank-ID:Next, add a few questions, similar to these questions but not exactly the same on 3 more rows, using the same knowledge base ID:

Spalte 2: FragenColumn 2 - questions
What is Windows Hello?
How do I charge the laptop?
What features are in Windows 10?

Achtung

Stellen Sie sicher, dass die Spalten nur durch ein Tabulatortrennzeichen getrennt sind.Make sure that each column is separated by a tab delimiter only. Führende oder nachstehende Leerzeichen werden den Spaltendaten hinzugefügt und führen dazu, dass das Programm Ausnahmen auslöst, wenn Typ oder Größe falsch sind.Leading or trailing spaces are added to the column data and will cause the program to throw exceptions when the type or size is incorrect.

Die Batchtestdatei sieht beim Öffnen in Excel etwa wie die folgende Abbildung aus.The batch test file, when opened in Excel, looks like the following image. Aus Sicherheitsgründen wurde die Wissensdatenbank-ID durch xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ersetzt.The knowledge base ID has been replaced with xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx for security. Stellen Sie bei Ihrem eigenen Batchtest sicher, dass die Spalte die ID Ihrer Wissensdatenbank anzeigt.For your own batch test, make sure the column displays your knowledge base ID.

Erste Version der TSV-Eingabedatei aus dem BatchtestInput first version of .tsv file from batch test

Testen der BatchdateiTest the batch file

Führen Sie das Batchtestprogramm im folgenden CLI-Format an der Befehlszeile aus.Run the batch testing program using the following CLI format at the command line.

Ersetzen Sie YOUR-RESOURCE-NAME und ENDPOINT-KEY durch Ihre eigenen Werte für Dienstname und Endpunktschlüssel.Replace YOUR-RESOURCE-NAME and ENDPOINT-KEY with your own values for service name and endpoint key. Sie finden diese Werte auf der Seite Einstellungen im QnA Maker-Portal.These values are found on the Settings page in the QnA Maker portal.

batchtesting.exe batch-test-data-1.tsv https://YOUR-RESOURCE-NAME.azurewebsites.net ENDPOINT-KEY out.tsv

Der Test wird abgeschlossen und generiert die Datei out.tsv:The test completes and generates the out.tsv file:

Erste Version der TSV-Ausgabedatei aus dem BatchtestOutput first version of .tsv file from batch test

Aus Sicherheitsgründen wurde die Wissensdatenbank-ID durch xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ersetzt.The knowledge base ID has been replaced with xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx for security. Bei Ihrem eigenen Batchtest zeigt die Spalte die ID Ihrer Wissensdatenbank an.For your own batch test, the column displays your knowledge base ID.

Die Testausgabe des Konfidenzscores (in der 4. Spalte) zeigt, dass für die drei oberen Fragen ein Wert von 100 zurückgegeben wurde. Dies war zu erwarten, weil jede Frage genau so lautet, wie sie in der Wissensdatenbank vorhanden ist.The test output of confidence score, in the 4th column, shows the top 3 questions returned a score of 100 as expected because each question is exactly the same as it appears in the knowledge base. Die drei unteren Fragen, die jeweils neu formuliert wurden, geben als Konfidenzscore nicht 100 zurück.The last 3 questions, with new wording of the question, do not return 100 as the confidence score. Um den Score sowohl für den Test als auch für Ihre Benutzer zu erhöhen, müssen Sie weitere alternative Fragen zur Wissensdatenbank hinzufügen.In order to increase the score both for the test, and your users, you need to add more alternate questions to the knowledge base.

Testen mit optionalen FeldernTesting with the optional fields

Sobald Sie das Format und den Prozess genau kennen, können Sie eine Testdatei generieren und diese mit einer Datenquelle wie beispielsweise Chatprotokollen in Ihrer Wissensdatenbank ausführen.Once you understand the format and process, you can generate a test file, to run against your knowledge base from a source of data such as from chats logs.

Da Datenquelle und Prozess automatisiert sind, können Sie die Testdatei mehrmals mit verschiedenen Einstellungen ausführen, um die richtigen Werte zu ermitteln.Because the data source and process are automated, the test file can be run many times with different settings to determine the correct values.

Ein Beispiel: Wenn Sie über ein Chatprotokoll verfügen und ermitteln möchten, welcher Text dieses Protokolls auf welche Metadatenfelder angewendet wird, erstellen Sie eine Testdatei, und legen Sie die Metadatenfelder für jede Zeile fest.For example, if you have a chat log and you want to determine which chat log text applies to which metadata fields, create a test file and set the metadata fields for every row. Führen Sie den Test aus, und überprüfen Sie die Zeilen, die mit den Metadaten übereinstimmen.Run the test, then review the rows that match the metadata. Im Allgemeinen sollten die Treffer positiv sein, aber Sie sollten die Ergebnisse auf False Positives überprüfen.Generally, the matches should be positive, but you should review the results for false positives. Ein False Positive ist eine Zeile, die mit den Metadaten übereinstimmt, aber für den jeweiligen Text nicht damit übereinstimmen sollte.A false positive is a row that matches the metadata but based on the text, it shouldn't match.

Verwenden von optionalen Feldern in der Batchtestdatei für die EingabeUsing optional fields in the input batch test file

Verwenden Sie das folgende Diagramm, um zu ermitteln, wie Sie die Feldwerte für optionale Daten herausfinden.Use the following chart to understand how to find the field values for optional data.

SpaltennummerColumn number Optionale SpalteOptional column Speicherort der DatenData location
33 metadatametadata Exportieren Sie vorhandene Schlüssel:Wert-Paare aus der vorhandenen Wissensdatenbank.Export existing knowledge base for existing key:value pairs.
44 toptop Ein Standardwert von 25 wird empfohlen.Default value of 25 is recommended.
55 ID des Satzes aus Frage und-AntwortQuestion and answer set ID Exportieren Sie ID-Werte aus der vorhandenen Wissensdatenbank.Export existing knowledge base for ID values. Beachten Sie auch die IDs, die in der Ausgabedatei zurückgegeben wurden.Also notice the IDs were returned in the output file.

Hinzufügen von Metadaten zur WissensdatenbankAdd metadata to the knowledge base

  1. Fügen Sie im QnA-Portal auf der Seite Bearbeiten Metadaten aus topic:power zu den folgenden Fragen hinzu:In the QnA portal, on the Edit page, add metadata of topic:power to the following questions:

    FragenQuestions
    Charge your Surface Pro 4Charge your Surface Pro 4
    Check the battery levelCheck the battery level

    Für zwei Frage-Antwort-Paare ist der Metadatensatz vorhanden.Two QnA pairs have the metadata set.

    Tipp

    Um die Metadaten und QnA-IDs der einzelnen Sätze anzuzeigen, exportieren Sie die Wissensdatenbank.To see the metadata and QnA IDs of each set, export the knowledge base. Wechseln Sie zur Seite Einstellungen, und wählen Sie für den Export das Dateiformat .xls aus.Select the Settings page, then select Export as a .xls file. Suchen Sie diese heruntergeladene Datei, öffnen Sie sie in Excel, und überprüfen Sie Metadaten und ID.Find this downloaded file and open with Excel reviewing for metadata and ID.

  2. Klicken Sie auf Speichern und trainieren, wechseln Sie zur Seite Veröffentlichen, und klicken Sie dann auf die Schaltfläche Veröffentlichen.Select Save and train, then select the Publish page, then select the Publish button. Diese Aktionen stellen dem Batchtest die Änderungen zur Verfügung.These actions make the change available to the batch test. Laden Sie die Wissensdatenbank von der Seite Einstellungen herunter.Download the knowledge base from the Settings page.

    Die heruntergeladene Datei weist das korrekte Format für die Metadaten und die richtige ID für den Satz aus Fragen und Antworten auf.The downloaded file has the correct format for the metadata and the correct question and answer set ID. Verwenden Sie diese Felder im nächsten Abschnitt.Use these fields in the next section

    Exportierte Wissensdatenbank mit MetadatenExported knowledge base with metadata

Erstellen eines zweiten BatchtestsCreate a second batch test

Bei Batchtests gibt es zwei Hauptszenarien:There are two main scenarios for batch testing:

  • Verarbeiten von Chatprotokolldateien: Sie möchten die häufigste Antwort für eine bisher unbekannte Frage ermitteln. Dieses Szenario tritt am häufigsten dann auf, wenn Sie eine Protokolldatei mit Fragen verarbeiten müssen, beispielsweise Benutzerfragen an einen Chatbot.Process chat log files - Determine the top answer for a previously unseen question - the most common situation is when you need to process are log file of queries, such as a chat bot's user questions. Erstellen Sie einen Batchdateitest, und verwenden Sie dabei nur die erforderlichen Spalten.Create a batch file test, with only the required columns. Der Test gibt die häufigste Antwort für jede Frage zurück.The test returns the top answer for each question. Das bedeutet nicht, dass diese Antwort auch die richtige Antwort ist.That doesn't mean it the top answer is the correct answer. Sobald Sie den Test abgeschlossen haben, fahren Sie mit dem Validierungstest fort.Once you complete this test, move on to the validation test.
  • Validierungstest: Überprüfen Sie die erwartete Antwort.Validation test - Validate the expected answer. Für diesen Test müssen alle Fragen und die entsprechenden erwarteten Antworten im Batchtest überprüft worden sein.This test requires that all the questions and matching expected answers in the batch test have been validated. Hierfür ist ein gewisses Maß an manueller Verarbeitung erforderlich.This may require some manual process.

Beim folgenden Verfahren wird davon ausgegangen, dass Chatprotokolle verarbeitet werden sollen.The following procedure assumes the scenario is to process chat logs with

  1. Erstellen Sie eine neue Batchtestdatei, der optionale Daten hinzugefügt werden können: batch-test-data-2.tsv.Create a new batch test file to include optional data, batch-test-data-2.tsv. Fügen Sie die sechs Zeilen aus der ursprünglichen Eingabedatei für den Batchtest hinzu, und fügen Sie dann die Metadaten, die häufigste Antwort und die ID des Frage-Antwort-Paars für jede Zeile hinzu.Add the 6 rows from the original batch test input file, then add the metadata, top, and QnA pair ID for each row.

    Um den automatisierten Prozess der Überprüfung neuer Texte aus Chatprotokollen anhand der Wissensdatenbank zu simulieren, legen Sie die Metadaten für jede Spalte auf den gleichen Wert fest: topic:power.To simulate the automated process of checking new text from chat logs against the knowledge base, set the metadata for each column to the same value: topic:power.

    Zweite Version der TSV-Eingabedatei aus dem BatchtestInput second version of .tsv file from batch test

  2. Führen Sie den Test erneut aus, und ändern Sie dabei die Namen der Ein- und Ausgabedatei so, dass erkennbar ist, dass es sich um den zweiten Test handelt.Run the test again, changing the input and output file names to indicate it is the second test.

    Zweite Version der TSV-Ausgabedatei aus dem BatchtestOutput second version of .tsv file from batch test

Testergebnisse und automatisiertes TestsystemTest results and an automated test system

Diese Testausgabedatei kann im Rahmen einer automatisierten kontinuierlichen Testpipeline analysiert werden.This test output file can be parsed as part of an automated continuous test pipeline.

Diese spezifische Testausgabe kann folgendermaßen gelesen werden: Jede Zeile wurde mit Metadaten gefiltert, und weil nicht jede Zeile mit den Metadaten in der Wissensdatenbank übereinstimmte, wurde folgende Standardantwort für diese nicht übereinstimmenden Zeilen zurückgegeben: „No good match found in KB“.This specific test output should be read as: each row was filtered with metadata, and because each row didn't match the metadata in the knowledge base, the default answer for those non-matching rows returned ("no good match found in kb"). Bei den Zeilen, bei denen eine Übereinstimmung vorhanden war, wurden QnA-ID und Score zurückgegeben.Of those rows that did match, the QnA ID and score were returned.

Alle Zeilen gaben als Beschriftung „Incorrect“ zurück, weil keine Zeile mit der erwarteten Antwort-ID übereinstimmte.All rows returned the label of incorrect because no row matched the answer ID expected.

Diesen Ergebnissen können Sie entnehmen, welche Texte eines Chatprotokolls Sie als Fragen in den verschiedenen Zeilen verwenden können.You should be able to see with these results that you can take a chat log and use the text as the query of each row. Auch wenn Sie bisher nichts über die Daten wussten, geben Ihnen die Ergebnisse viele Informationen zu den Daten, die Sie dann in Zukunft verwenden können:Without knowing anything about the data, the results tell you a lot about the data that you can then use moving forward:

  • Metadatenmeta-data
  • QnA-IDQnA ID
  • Ergebnis Ihrer Appscore

War die Filterung mit Metadaten eine gute Idee für diesen Test?Was filtering with meta-data a good idea for the test? Ja und Nein.Yes and no. Das Testsystem sollte Testdateien für jedes Metadatenpaar sowie einen Test ohne Metadatenpaare erstellen.The test system should create test files for each meta-data pair as well as a test with no meta-data pairs.

Bereinigen von RessourcenClean up resources

Wenn Sie die Wissensdatenbank nicht weiter testen möchten, löschen Sie das Batchdateitool und die Testdateien.If you aren't going to continue testing the knowledge base, delete the batch file tool and the test files.

Wenn Sie die Wissensdatenbank nicht weiterverwenden möchten, löschen Sie sie wie folgt:If you're not going to continue to use this knowledge base, delete the knowledge base with the following steps:

  1. Wählen Sie im QnA Maker-Portal im oberen Menü die Option Meine Wissensdatenbanken.In the QnA Maker portal, select My Knowledge bases from the top menu.
  2. Klicken Sie in der Liste der Wissensdatenbanken in der Zeile der Wissensdatenbank dieser Schnellstartanleitung auf das Symbol Löschen.In the list of knowledge bases, select the Delete icon on the row of the knowledge base of this quickstart.

Nächste SchritteNext steps