Testowanie jakości rozpoznawania niestandardowego modelu mowy

Jakość rozpoznawania niestandardowego modelu mowy można sprawdzić w programie Speech Studio. Możesz odtworzyć przekazany dźwięk i określić, czy podany wynik rozpoznawania jest poprawny. Po pomyślnym utworzeniu testu możesz zobaczyć, jak model transkrybował zestaw danych audio lub porównać wyniki z dwóch modeli obok siebie.

Testowanie modelu równoległego jest przydatne do sprawdzania, który model rozpoznawania mowy jest najlepszy dla aplikacji. Aby uzyskać obiektywną miarę dokładności, która wymaga danych wejściowych transkrypcji, zobacz Test model ilościowo.

Ważne

Podczas testowania system wykona transkrypcję. Należy pamiętać o tym, ponieważ ceny różnią się w zależności od oferty usług i poziomu subskrypcji. Aby uzyskać najnowsze informacje, zawsze zapoznaj się z oficjalnymi cennikami usług Azure AI.

Tworzenie testu

Postępuj zgodnie z tymi instrukcjami, aby utworzyć test:

  1. Zaloguj się do programu Speech Studio.

  2. Przejdź do usługi Speech Studio>Custom Speech i wybierz swoją nazwę projektu z listy.

  3. Wybierz pozycję Modele>testowe Utwórz nowy test.

  4. Wybierz pozycję Sprawdź jakość (dane tylko audio)>Dalej.

  5. Wybierz zestaw danych audio, którego chcesz użyć do testowania, a następnie wybierz przycisk Dalej. Jeśli nie ma żadnych dostępnych zestawów danych, anuluj konfigurację, a następnie przejdź do menu Zestawy danych usługi Mowa, aby przekazać zestawy danych.

    Zrzut ekranu przedstawiający wybieranie okna dialogowego zestawu danych

  6. Wybierz jeden lub dwa modele, aby ocenić i porównać dokładność.

  7. Wprowadź nazwę testu i opis, a następnie wybierz przycisk Dalej.

  8. Przejrzyj ustawienia, a następnie wybierz pozycję Zapisz i zamknij.

Aby utworzyć test, użyj spx csr evaluation create polecenia . Skonstruuj parametry żądania zgodnie z następującymi instrukcjami:

  • project Ustaw parametr na identyfikator istniejącego projektu. Ten parametr jest zalecany, aby można było również wyświetlić test w programie Speech Studio. Możesz uruchomić polecenie , spx csr project list aby uzyskać dostępne projekty.
  • Ustaw wymagany model1 parametr na identyfikator modelu, który chcesz przetestować.
  • Ustaw wymagany model2 parametr na identyfikator innego modelu, który chcesz przetestować. Jeśli nie chcesz porównywać dwóch modeli, użyj tego samego modelu dla obu model1model2i .
  • Ustaw wymagany dataset parametr na identyfikator zestawu danych, którego chcesz użyć na potrzeby testu.
  • language Ustaw parametr , w przeciwnym razie interfejs wiersza polecenia usługi Mowa domyślnie ustawia wartość "en-US". Ten parametr powinien być ustawieniami regionalnymi zawartości zestawu danych. Nie można później zmienić ustawień regionalnych. Parametr interfejsu locale wiersza polecenia language usługi Mowa odpowiada właściwości w żądaniu i odpowiedzi w formacie JSON.
  • Ustaw wymagany name parametr. Ten parametr to nazwa wyświetlana w programie Speech Studio. Parametr interfejsu displayName wiersza polecenia name usługi Mowa odpowiada właściwości w żądaniu i odpowiedzi w formacie JSON.

Oto przykładowe polecenie interfejsu wiersza polecenia usługi Mowa, które tworzy test:

spx csr evaluation create --api-version v3.1 --project 9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226 --dataset be378d9d-a9d7-4d4a-820a-e0432e8678c7 --model1 ff43e922-e3e6-4bf0-8473-55c08fd68048 --model2 1aae1070-7972-47e9-a977-87e3b05c457d --name "My Inspection" --description "My Inspection Description"

Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "transcription2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
  },
  "transcription1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
  },
  "properties": {
    "wordErrorRate2": -1.0,
    "wordErrorRate1": -1.0,
    "sentenceErrorRate2": -1.0,
    "sentenceCount2": -1,
    "wordCount2": -1,
    "correctWordCount2": -1,
    "wordSubstitutionCount2": -1,
    "wordDeletionCount2": -1,
    "wordInsertionCount2": -1,
    "sentenceErrorRate1": -1.0,
    "sentenceCount1": -1,
    "wordCount1": -1,
    "correctWordCount1": -1,
    "wordSubstitutionCount1": -1,
    "wordDeletionCount1": -1,
    "wordInsertionCount1": -1
  },
  "lastActionDateTime": "2022-05-20T16:42:43Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T16:42:43Z",
  "locale": "en-US",
  "displayName": "My Inspection",
  "description": "My Inspection Description"
}

Właściwość najwyższego poziomu self w treści odpowiedzi to identyfikator URI oceny. Użyj tego identyfikatora URI, aby uzyskać szczegółowe informacje o projekcie i wynikach testów. Ten identyfikator URI służy również do aktualizowania lub usuwania oceny.

Aby uzyskać pomoc dotyczącą interfejsu wiersza polecenia usługi Mowa w ocenach, uruchom następujące polecenie:

spx help csr evaluation

Aby utworzyć test, użyj operacji Evaluations_Create interfejsu API REST zamiany mowy na tekst. Skonstruuj treść żądania zgodnie z następującymi instrukcjami:

  • project Ustaw właściwość na identyfikator URI istniejącego projektu. Ta właściwość jest zalecana, aby można było również wyświetlić test w programie Speech Studio. Możesz wysłać żądanie Projects_List , aby uzyskać dostępne projekty.
  • Ustaw wymaganą model1 właściwość na identyfikator URI modelu, który chcesz przetestować.
  • Ustaw wymaganą model2 właściwość na identyfikator URI innego modelu, który chcesz przetestować. Jeśli nie chcesz porównywać dwóch modeli, użyj tego samego modelu dla obu model1model2i .
  • Ustaw wymaganą dataset właściwość na identyfikator URI zestawu danych, którego chcesz użyć na potrzeby testu.
  • Ustaw wymaganą locale właściwość. Ta właściwość powinna być ustawieniami regionalnymi zawartości zestawu danych. Nie można później zmienić ustawień regionalnych.
  • Ustaw wymaganą displayName właściwość. Ta właściwość to nazwa wyświetlana w programie Speech Studio.

Utwórz żądanie HTTP POST przy użyciu identyfikatora URI, jak pokazano w poniższym przykładzie. Zastąp YourSubscriptionKey ciąg kluczem zasobu usługi Mowa, zastąp YourServiceRegion element regionem zasobu usługi Mowa i ustaw właściwości treści żądania zgodnie z wcześniejszym opisem.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "displayName": "My Inspection",
  "description": "My Inspection Description",
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations"

Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
  "model1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
  },
  "model2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "dataset": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
  },
  "transcription2": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
  },
  "transcription1": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
  },
  "properties": {
    "wordErrorRate2": -1.0,
    "wordErrorRate1": -1.0,
    "sentenceErrorRate2": -1.0,
    "sentenceCount2": -1,
    "wordCount2": -1,
    "correctWordCount2": -1,
    "wordSubstitutionCount2": -1,
    "wordDeletionCount2": -1,
    "wordInsertionCount2": -1,
    "sentenceErrorRate1": -1.0,
    "sentenceCount1": -1,
    "wordCount1": -1,
    "correctWordCount1": -1,
    "wordSubstitutionCount1": -1,
    "wordDeletionCount1": -1,
    "wordInsertionCount1": -1
  },
  "lastActionDateTime": "2022-05-20T16:42:43Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T16:42:43Z",
  "locale": "en-US",
  "displayName": "My Inspection",
  "description": "My Inspection Description"
}

Właściwość najwyższego poziomu self w treści odpowiedzi to identyfikator URI oceny. Użyj tego identyfikatora URI, aby uzyskać szczegółowe informacje o projekcie oceny i wynikach testu. Ten identyfikator URI służy również do aktualizowania lub usuwania oceny.

Uzyskiwanie wyników testu

Należy uzyskać wyniki testu i sprawdzić zestawy danych audio w porównaniu z wynikami transkrypcji dla każdego modelu.

Wykonaj następujące kroki, aby uzyskać wyniki testu:

  1. Zaloguj się do programu Speech Studio.
  2. Wybierz pozycję Niestandardowa mowa> Nazwa >projektu Modele testowe.
  3. Wybierz link według nazwy testu.
  4. Po zakończeniu testu, zgodnie ze stanem ustawionym na Powodzenie, powinny zostać wyświetlone wyniki zawierające numer WER dla każdego przetestowanego modelu.

Na tej stronie wymieniono wszystkie wypowiedzi w zestawie danych i wyniki rozpoznawania wraz z transkrypcją z przesłanego zestawu danych. Można przełączać różne typy błędów, w tym wstawiania, usuwania i zastępowania. Słuchając dźwięku i porównując wyniki rozpoznawania w każdej kolumnie, możesz zdecydować, który model spełnia Twoje potrzeby, i określić, gdzie wymagane jest więcej szkoleń i ulepszeń.

Aby uzyskać wyniki testu, użyj spx csr evaluation status polecenia . Skonstruuj parametry żądania zgodnie z następującymi instrukcjami:

  • Ustaw wymagany evaluation parametr na identyfikator oceny, który chcesz uzyskać wyniki testu.

Oto przykładowe polecenie interfejsu wiersza polecenia usługi Mowa, które pobiera wyniki testu:

spx csr evaluation status --api-version v3.1 --evaluation 8bfe6b05-f093-4ab4-be7d-180374b751ca

Modele, zestaw danych audio, transkrypcje i więcej szczegółów są zwracane w treści odpowiedzi.

Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:

{
	"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
	"model1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
	},
	"model2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
	},
	"dataset": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
	},
	"transcription2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
	},
	"transcription1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
	},
	"project": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
	},
	"links": {
		"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
	},
	"properties": {
		"wordErrorRate2": 4.62,
		"wordErrorRate1": 4.6,
		"sentenceErrorRate2": 66.7,
		"sentenceCount2": 3,
		"wordCount2": 173,
		"correctWordCount2": 166,
		"wordSubstitutionCount2": 7,
		"wordDeletionCount2": 0,
		"wordInsertionCount2": 1,
		"sentenceErrorRate1": 66.7,
		"sentenceCount1": 3,
		"wordCount1": 174,
		"correctWordCount1": 166,
		"wordSubstitutionCount1": 7,
		"wordDeletionCount1": 1,
		"wordInsertionCount1": 0
	},
	"lastActionDateTime": "2022-05-20T16:42:56Z",
	"status": "Succeeded",
	"createdDateTime": "2022-05-20T16:42:43Z",
	"locale": "en-US",
	"displayName": "My Inspection",
	"description": "My Inspection Description"
}

Aby uzyskać pomoc dotyczącą interfejsu wiersza polecenia usługi Mowa w ocenach, uruchom następujące polecenie:

spx help csr evaluation

Aby uzyskać wyniki testu, zacznij od użycia Evaluations_Get operacji interfejsu API REST zamiany mowy na tekst.

Utwórz żądanie HTTP GET przy użyciu identyfikatora URI, jak pokazano w poniższym przykładzie. Zastąp ciąg identyfikatorem oceny, zastąp YourEvaluationId ciąg kluczem zasobu usługi Mowa i zastąp YourSubscriptionKeyYourServiceRegion element regionem zasobu usługi Mowa.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/YourEvaluationId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Modele, zestaw danych audio, transkrypcje i więcej szczegółów są zwracane w treści odpowiedzi.

Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:

{
	"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca",
	"model1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/ff43e922-e3e6-4bf0-8473-55c08fd68048"
	},
	"model2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
	},
	"dataset": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/be378d9d-a9d7-4d4a-820a-e0432e8678c7"
	},
	"transcription2": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/6eaf6a15-6076-466a-83d4-a30dba78ca63"
	},
	"transcription1": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/0c5b1630-fadf-444d-827f-d6da9c0cf0c3"
	},
	"project": {
		"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/9f8c4cbb-f9a5-4ec1-8bb0-53cfa9221226"
	},
	"links": {
		"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/evaluations/8bfe6b05-f093-4ab4-be7d-180374b751ca/files"
	},
	"properties": {
		"wordErrorRate2": 4.62,
		"wordErrorRate1": 4.6,
		"sentenceErrorRate2": 66.7,
		"sentenceCount2": 3,
		"wordCount2": 173,
		"correctWordCount2": 166,
		"wordSubstitutionCount2": 7,
		"wordDeletionCount2": 0,
		"wordInsertionCount2": 1,
		"sentenceErrorRate1": 66.7,
		"sentenceCount1": 3,
		"wordCount1": 174,
		"correctWordCount1": 166,
		"wordSubstitutionCount1": 7,
		"wordDeletionCount1": 1,
		"wordInsertionCount1": 0
	},
	"lastActionDateTime": "2022-05-20T16:42:56Z",
	"status": "Succeeded",
	"createdDateTime": "2022-05-20T16:42:43Z",
	"locale": "en-US",
	"displayName": "My Inspection",
	"description": "My Inspection Description"
}

Porównanie transkrypcji z dźwiękiem

Możesz sprawdzić dane wyjściowe transkrypcji według każdego przetestowanego modelu względem zestawu danych wejściowych audio. Jeśli w teście dołączono dwa modele, możesz porównać ich jakość transkrypcji obok siebie.

Aby przejrzeć jakość transkrypcji:

  1. Zaloguj się do programu Speech Studio.
  2. Wybierz pozycję Niestandardowa mowa> Nazwa >projektu Modele testowe.
  3. Wybierz link według nazwy testu.
  4. Odtwórz plik audio podczas odczytywania odpowiedniej transkrypcji przez model.

Jeśli testowy zestaw danych zawierał wiele plików audio, w tabeli będzie widocznych wiele wierszy. W przypadku dołączenia dwóch modeli do testu transkrypcje są wyświetlane w kolumnach obok siebie. Różnice transkrypcji między modelami są wyświetlane w niebieskiej czcionki tekstowej.

Zrzut ekranu przedstawiający porównanie transkrypcji według dwóch modeli

Testowy zestaw danych, transkrypcje i modele audio są zwracane w wynikach testu. Jeśli testowano tylko jeden model, model1 wartość jest zgodna model2z wartością , a wartość jest zgodna transcription2z wartością transcription1 .

Aby przejrzeć jakość transkrypcji:

  1. Pobierz zestaw danych testowych audio, chyba że masz już kopię.
  2. Pobierz transkrypcje wyjściowe.
  3. Odtwórz plik audio podczas odczytywania odpowiedniej transkrypcji przez model.

Jeśli porównujesz jakość między dwoma modelami, zwróć szczególną uwagę na różnice między transkrypcjami poszczególnych modeli.

Testowy zestaw danych, transkrypcje i modele audio są zwracane w wynikach testu. Jeśli testowano tylko jeden model, model1 wartość jest zgodna model2z wartością , a wartość jest zgodna transcription2z wartością transcription1 .

Aby przejrzeć jakość transkrypcji:

  1. Pobierz zestaw danych testowych audio, chyba że masz już kopię.
  2. Pobierz transkrypcje wyjściowe.
  3. Odtwórz plik audio podczas odczytywania odpowiedniej transkrypcji przez model.

Jeśli porównujesz jakość między dwoma modelami, zwróć szczególną uwagę na różnice między transkrypcjami poszczególnych modeli.

Następne kroki