Hochladen von Trainings- und Testdatasets für Custom Speech

Sie benötigen Audio- oder Textdaten, um die Genauigkeit der Spracherkennung von zu testen oder Ihre benutzerdefinierten Modelle zu trainieren. Informationen zu den zum Testen oder Trainieren von Modellen verfügbaren Datentypen finden Sie unter Trainieren und Testen von Datasets.

Hochladen von Datasets

Führen Sie die folgenden Schritte aus, um Datasets für Schulungen (Feinabstimmung) Ihres benutzerdefinierten Sprachmodells hochzuladen.

Wichtig

Wiederholen Sie die Schritte zum Hochladen von Testdatensätzen (z. B. nur Audio ), die Sie später beim Erstellen eines Tests benötigen. Sie können mehrere Datasets für Schulungen und Tests hochladen.

Im neuen Microsoft Foundry-Portal geben Sie Trainings- und Validierungsdatasets direkt im Assistenten Feinabstimmen eines Modells an, den Sie zu Beginn der Optimierung der benutzerdefinierten Sprache geöffnet haben.

  1. Verbinden Sie im Schulungsdatenbereich eine Datenquelle, und wählen Sie das Dataset aus, das Sie für schulungen verwenden möchten. Wählen Sie dann Weiter aus.
  2. Wählen Sie im Bereich "Gültigkeitsprüfungsdaten " das Dataset aus, das Sie zum Auswerten des fein abgestimmten Modells verwenden möchten. Wählen Sie dann Weiter aus.

Lassen Sie den Bereich Feinabstimmen eines Modells geöffnet, und fahren Sie mit Trainieren eines Custom Speech-Modells fort, um den Optimierungsauftrag zu übermitteln.

Führen Sie die folgenden Schritte aus, um Ihre eigenen Datasets in Speech Studio hochzuladen:

  1. Melden Sie sich in Speech Studio an.

  2. Wählen Sie Custom Speech> Ihr Projektname >Speech-Datasets>Daten hochladen aus.

  3. Wählen Sie die Registerkarte Trainingsdaten oder Testdaten aus.

  4. Wählen Sie einen Datasettyp und dann Weiter aus.

  5. Geben Sie den Speicherort des Datasets an, und wählen Sie dann Weiter aus. Sie können eine lokale Datei auswählen oder einen Remotespeicherort eingeben, z. B. eine URL einer Azure Blob-Instanz. Wenn Sie einen Remotespeicherort auswählen und keinen vertrauenswürdigen Azure Services-Sicherheitsmechanismus verwenden, sollte der Remotespeicherort eine URL sein, die mithilfe einer einfachen anonymen GET-Anforderung abgerufen werden kann. Beispielsweise eine SAS-URL oder eine öffentlich zugängliche URL. URLs, die eine zusätzliche Autorisierung erfordern oder eine Benutzerinteraktion erwarten, werden nicht unterstützt.

    Hinweis

    Wenn Sie eine Azure-Blob-URL verwenden, können Sie mithilfe des Sicherheitsmechanismus vertrauenswürdiger Azure-Dienste eine maximale Sicherheit Ihrer Datasetdateien gewährleisten. Sie verwenden die gleichen Techniken wie für die Batchtranskription und einfache Speicherkonto-URLs für Ihre Datensatzdateien. Ausführlichere Informationen finden Sie hier.

  6. Geben Sie den Namen und eine Beschreibung des Datasets ein, und wählen Sie dann Weiter aus.

  7. Überprüfen Sie Ihre Einstellungen, und wählen Sie anschließend Speichern und schließen aus.

Nachdem Ihr Dataset hochgeladen wurde, wechseln Sie zur Seite Trainieren benutzerdefinierter Modelle, um ein benutzerdefiniertes Modell zu trainieren.

Bevor Sie fortfahren, stellen Sie sicher, dass die Speech CLI installiert und konfiguriert ist.

Mit der Sprach-CLI - und Spracherkennungs-REST-API können Sie im Gegensatz zum Microsoft Foundry-Portal und Speech Studio nicht auswählen, ob ein Dataset zum Zeitpunkt des Uploads getestet oder trainiert werden soll. Die Verwendung eines Datasets wird beim Trainieren eines Modells oder beim Ausführen eines Tests angegeben.

Die Art des Datasets muss allerdings trotzdem angegeben werden, auch wenn Sie nicht festlegen, ob das Dataset zum Testen oder zum Trainieren verwendet werden soll. Die Art des Datasets wird verwendet, um zu bestimmen, welcher Datasettyp erstellt wird. In manchen Fällen wird eine Datasetart nur zum Testen oder Trainieren verwendet. Dies sollte jedoch nicht als Abhängigkeit verwendet werden. Die Werte der Speech CLI- und REST-API kind entsprechen den Optionen im Microsoft Foundry-Portal und Speech Studio , wie in der folgenden Tabelle beschrieben:

CLI- und API-Art Portaloptionen
Akustik Trainingsdaten: Audiodaten + von Menschen beschriftetes Transkript
Testdaten: Transkript (automatische Audiosynthese)
Testdaten: Audiodaten + von Menschen beschriftetes Transkript
Audiodateien Testdaten: Audio
Sprache Trainingsdaten: Nur-Text
LanguageMarkdown Trainingsdaten: Strukturierter Text in Markdownformat
Aussprache Trainingsdaten: Aussprache
Ausgabeformatierung Schulungsdaten: Ausgabeformat

Wichtig

Sie verwenden nicht die Speech CLI oder REST-API, um Datendateien direkt hochzuladen. Zuerst speichern Sie die Trainings- oder Testdataset-Dateien unter einer URL, auf die die Speech CLI oder REST-API zugreifen kann. Nachdem Sie die Datendateien hochgeladen haben, können Sie die Speech CLI oder REST-API verwenden, um ein Dataset für benutzerdefinierte Sprachtests oder Trainings zu erstellen.

Verwenden Sie den Befehl spx csr dataset create, um ein Dataset zu erstellen und eine Verbindung mit einem vorhandenen Projekt herzustellen. Erstellen Sie die Anforderungsparameter gemäß den folgenden Anweisungen:

  • Legen Sie die project Eigenschaft auf die ID eines vorhandenen Projekts fest. Verwenden Sie die project Eigenschaft, damit Sie auch die Feinabstimmung für benutzerdefinierte Spracherkennung im Microsoft Foundry-Portal verwalten können. Informationen zum Abrufen der Projekt-ID finden Sie in der Dokumentation unter Projekt-ID für die REST API abrufen.

  • Legen Sie die erforderliche kind-Eigenschaft fest. Die möglichen Werte für eine Trainingsdataset-Variante sind: „Acoustic“, „AudioFiles“, „Language“, „LanguageMarkdown“ und „Pronunciation“.

  • Legen Sie die erforderliche contentUrl-Eigenschaft fest. Dieser Parameter ist der Speicherort des Datasets. Wenn Sie keinen Sicherheitsmechanismus für vertrauenswürdige Azure-Dienste verwenden (siehe nächstes Hinweis), sollte die contentUrl Eigenschaft eine URL sein, die mit einer einfachen anonymen GET-Anforderung abgerufen werden kann. Beispielsweise eine SAS-URL oder eine öffentlich zugängliche URL. URLs, die eine zusätzliche Autorisierung erfordern oder eine Benutzerinteraktion erwarten, werden nicht unterstützt.

    Hinweis

    Wenn Sie eine Azure-Blob-URL verwenden, können Sie mithilfe des Sicherheitsmechanismus vertrauenswürdiger Azure-Dienste eine maximale Sicherheit Ihrer Datasetdateien gewährleisten. Sie verwenden die gleichen Techniken wie für die Batchtranskription und einfache Speicherkonto-URLs für Ihre Datensatzdateien. Ausführlichere Informationen finden Sie hier.

  • Legen Sie die erforderliche language-Eigenschaft fest. Das Gebietsschema des Datasets muss mit dem Gebietsschema des Projekts übereinstimmen. Das Gebietsschema kann später nicht mehr geändert werden. Die Speech CLI-Eigenschaft language entspricht der locale Eigenschaft in der JSON-Anforderung und -Antwort.

  • Legen Sie die erforderliche name-Eigenschaft fest. Dieser Parameter ist der Name, der im Microsoft Foundry-Portal angezeigt wird. Die Speech CLI-Eigenschaft name entspricht der displayName Eigenschaft in der JSON-Anforderung und -Antwort.

Mit dem folgenden Beispielbefehl der Speech-CLI wird ein Dataset erstellt und mit einem vorhandenen Projekt verbunden:

spx csr dataset create --api-version v3.2 --kind "Acoustic" --name "My Acoustic Dataset" --description "My Acoustic Dataset Description" --project YourProjectId --content YourContentUrl --language "en-US"

Wichtig

Sie müssen --api-version v3.2 festlegen. Die Speech CLI verwendet die REST-API, unterstützt aber noch keine Versionen später als v3.2.

Sie erhalten einen Antworttext im folgenden Format:

{
  "self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/aaaabbbb-0000-cccc-1111-dddd2222eeee",
  "kind": "Acoustic",
  "links": {
    "files": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
  },
  "project": {
    "self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/projects/bbbbcccc-1111-dddd-2222-eeee3333ffff"
  },
  "properties": {
    "textNormalizationKind": "Default",
    "acceptedLineCount": 2,
    "rejectedLineCount": 0,
    "duration": "PT59S"
  },
  "lastActionDateTime": "2024-07-14T17:36:30Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-14T17:36:14Z",
  "locale": "en-US",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "customProperties": {
    "PortalAPIVersion": "3"
  }
}

Die oberste self-Eigenschaft im Antworttext ist der URI des Datasets. Verwenden Sie diesen URI, um Details zum Projekt und zu den Dateien des Datasets abzurufen. Dieser URI wird auch verwendet, um ein Dataset zu aktualisieren oder zu löschen.

Mit dem folgenden Befehl erhalten Sie datasetbezogene Hilfe für die Speech-CLI:

spx help csr dataset

Mit der Sprach-CLI - und Spracherkennungs-REST-API können Sie im Gegensatz zum Microsoft Foundry-Portal und Speech Studio nicht auswählen, ob ein Dataset zum Zeitpunkt des Uploads getestet oder trainiert werden soll. Die Verwendung eines Datasets wird beim Trainieren eines Modells oder beim Ausführen eines Tests angegeben.

Die Art des Datasets muss allerdings trotzdem angegeben werden, auch wenn Sie nicht festlegen, ob das Dataset zum Testen oder zum Trainieren verwendet werden soll. Die Art des Datasets wird verwendet, um zu bestimmen, welcher Datasettyp erstellt wird. In manchen Fällen wird eine Datasetart nur zum Testen oder Trainieren verwendet. Dies sollte jedoch nicht als Abhängigkeit verwendet werden. Die Werte der Speech CLI- und REST-API kind entsprechen den Optionen im Microsoft Foundry-Portal und Speech Studio , wie in der folgenden Tabelle beschrieben:

CLI- und API-Art Portaloptionen
Akustik Trainingsdaten: Audiodaten + von Menschen beschriftetes Transkript
Testdaten: Transkript (automatische Audiosynthese)
Testdaten: Audiodaten + von Menschen beschriftetes Transkript
Audiodateien Testdaten: Audio
Sprache Trainingsdaten: Nur-Text
LanguageMarkdown Trainingsdaten: Strukturierter Text in Markdownformat
Aussprache Trainingsdaten: Aussprache
Ausgabeformatierung Schulungsdaten: Ausgabeformat

Wichtig

Sie verwenden nicht die Speech CLI oder REST-API, um Datendateien direkt hochzuladen. Zuerst speichern Sie die Trainings- oder Testdataset-Dateien unter einer URL, auf die die Speech CLI oder REST-API zugreifen kann. Nachdem Sie die Datendateien hochgeladen haben, können Sie die Speech CLI oder REST-API verwenden, um ein Dataset für benutzerdefinierte Sprachtests oder Trainings zu erstellen.

Verwenden Sie den Vorgang Datasets_Create der REST-API für die Spracherkennung, um ein Dataset zu erstellen und mit einem vorhandenen Projekt zu verbinden. Erstellen Sie den Anforderungstext wie folgt:

  • Legen Sie die project Eigenschaft auf die ID eines vorhandenen Projekts fest. Verwenden Sie die project Eigenschaft, damit Sie auch die Feinabstimmung für benutzerdefinierte Spracherkennung im Microsoft Foundry-Portal verwalten können. Informationen zum Abrufen der Projekt-ID finden Sie in der Dokumentation unter Projekt-ID für die REST API abrufen.

  • Legen Sie die erforderliche kind-Eigenschaft fest. Die möglichen Werte für eine Trainingsdataset-Variante sind: „Acoustic“, „AudioFiles“, „Language“, „LanguageMarkdown“ und „Pronunciation“.

  • Legen Sie die erforderliche contentUrl-Eigenschaft fest. Diese Eigenschaft ist der Speicherort des Datasets. Wenn Sie keinen Sicherheitsmechanismus für vertrauenswürdige Azure-Dienste verwenden (siehe nächstes Hinweis), sollte die contentUrl Eigenschaft eine URL sein, die mit einer einfachen anonymen GET-Anforderung abgerufen werden kann. Beispielsweise eine SAS-URL oder eine öffentlich zugängliche URL. URLs, die eine zusätzliche Autorisierung erfordern oder eine Benutzerinteraktion erwarten, werden nicht unterstützt.

    Hinweis

    Wenn Sie eine Azure-Blob-URL verwenden, können Sie mithilfe des Sicherheitsmechanismus vertrauenswürdiger Azure-Dienste eine maximale Sicherheit Ihrer Datasetdateien gewährleisten. Sie verwenden die gleichen Techniken wie für die Batchtranskription und einfache Speicherkonto-URLs für Ihre Datensatzdateien. Ausführlichere Informationen finden Sie hier.

  • Legen Sie die erforderliche locale-Eigenschaft fest. Das Gebietsschema des Datasets muss mit dem Gebietsschema des Projekts übereinstimmen. Das Gebietsschema kann später nicht mehr geändert werden.

  • Legen Sie die erforderliche displayName-Eigenschaft fest. Diese Eigenschaft ist der Name, der im Microsoft Foundry-Portal angezeigt wird.

Erstellen Sie eine HTTP POST-Anforderung, und verwenden Sie dabei den URI, wie im folgenden Beispiel gezeigt. Ersetzen Sie YourSpeechResoureKey durch Ihren Speech-Ressourcenschlüssel, ersetzen Sie YourResourceName durch Ihren Speech-Ressourcennamen, und legen Sie die Eigenschaften des Anforderungstexts wie zuvor beschrieben fest.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey" -H "Content-Type: application/json" -d '{
  "kind": "Acoustic",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "project": {
    "self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/projects/bbbbcccc-1111-dddd-2222-eeee3333ffff"
  },
  "contentUrl": "https://contoso.com/mydatasetlocation",
  "locale": "en-US",
}'  "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets"

Sie erhalten einen Antworttext im folgenden Format:

{
  "self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/aaaabbbb-0000-cccc-1111-dddd2222eeee",
  "kind": "Acoustic",
  "links": {
    "files": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
  },
  "project": {
    "self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/projects/bbbbcccc-1111-dddd-2222-eeee3333ffff"
  },
  "properties": {
    "textNormalizationKind": "Default",
    "acceptedLineCount": 2,
    "rejectedLineCount": 0,
    "duration": "PT59S"
  },
  "lastActionDateTime": "2024-07-14T17:36:30Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-14T17:36:14Z",
  "locale": "en-US",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "customProperties": {
    "PortalAPIVersion": "3"
  }
}

Die oberste self-Eigenschaft im Antworttext ist der URI des Datasets. Verwenden Sie diesen URI, um Details zum Projekt und zu den Dateien des Datasets abzurufen. Dieser URI wird auch verwendet, um das Dataset zu aktualisieren oder zu löschen.

Wichtig

Sie müssen kein Dataset mit einem benutzerdefinierten Sprachprojekt verbinden, um ein benutzerdefiniertes Modell mithilfe der REST-API oder Speech CLI zu trainieren und zu testen. Wenn Sie das Dataset jedoch nicht mit einem Projekt verbinden, können Sie es nicht für Schulungen oder Tests im Microsoft Foundry-Portal auswählen.

Nächste Schritte