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:
Zaloguj się do programu Speech Studio.
Przejdź do usługi Speech Studio>Custom Speech i wybierz swoją nazwę projektu z listy.
Wybierz pozycję Modele>testowe Utwórz nowy test.
Wybierz pozycję Sprawdź jakość (dane tylko audio)>Dalej.
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.
Wybierz jeden lub dwa modele, aby ocenić i porównać dokładność.
Wprowadź nazwę testu i opis, a następnie wybierz przycisk Dalej.
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 obumodel1
model2
i . - 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 interfejsulocale
wiersza polecenialanguage
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 interfejsudisplayName
wiersza polecenianame
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.2 --project 0198f569-cc11-4099-a0e8-9d55bc3d0c52 --dataset 23b6554d-21f9-4df1-89cb-f84510ac8d23 --model1 13fb305e-09ad-4bce-b3a1-938c9124dda3 --model2 13fb305e-09ad-4bce-b3a1-938c9124dda3 --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.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac/files"
},
"properties": {
"wordErrorRate1": -1.0,
"sentenceErrorRate1": -1.0,
"sentenceCount1": -1,
"wordCount1": -1,
"correctWordCount1": -1,
"wordSubstitutionCount1": -1,
"wordDeletionCount1": -1,
"wordInsertionCount1": -1,
"wordErrorRate2": -1.0,
"sentenceErrorRate2": -1.0,
"sentenceCount2": -1,
"wordCount2": -1,
"correctWordCount2": -1,
"wordSubstitutionCount2": -1,
"wordDeletionCount2": -1,
"wordInsertionCount2": -1
},
"lastActionDateTime": "2024-07-14T21:21:39Z",
"status": "NotStarted",
"createdDateTime": "2024-07-14T21:21:39Z",
"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 obumodel1
model2
i . - 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.2/models/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"displayName": "My Inspection",
"description": "My Inspection Description",
"locale": "en-US"
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations"
Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac/files"
},
"properties": {
"wordErrorRate1": -1.0,
"sentenceErrorRate1": -1.0,
"sentenceCount1": -1,
"wordCount1": -1,
"correctWordCount1": -1,
"wordSubstitutionCount1": -1,
"wordDeletionCount1": -1,
"wordInsertionCount1": -1,
"wordErrorRate2": -1.0,
"sentenceErrorRate2": -1.0,
"sentenceCount2": -1,
"wordCount2": -1,
"correctWordCount2": -1,
"wordSubstitutionCount2": -1,
"wordDeletionCount2": -1,
"wordInsertionCount2": -1
},
"lastActionDateTime": "2024-07-14T21:21:39Z",
"status": "NotStarted",
"createdDateTime": "2024-07-14T21:21:39Z",
"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:
- Zaloguj się do programu Speech Studio.
- Wybierz pozycję Niestandardowa mowa> Nazwa >projektu Modele testowe.
- Wybierz link według nazwy testu.
- 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.2 --evaluation 9c06d5b1-213f-4a16-9069-bc86efacdaac
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.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac/files"
},
"properties": {
"wordErrorRate1": 0.028900000000000002,
"sentenceErrorRate1": 0.667,
"tokenErrorRate1": 0.12119999999999999,
"sentenceCount1": 3,
"wordCount1": 173,
"correctWordCount1": 170,
"wordSubstitutionCount1": 2,
"wordDeletionCount1": 1,
"wordInsertionCount1": 2,
"tokenCount1": 165,
"correctTokenCount1": 145,
"tokenSubstitutionCount1": 10,
"tokenDeletionCount1": 1,
"tokenInsertionCount1": 9,
"tokenErrors1": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
},
"wordErrorRate2": 0.028900000000000002,
"sentenceErrorRate2": 0.667,
"tokenErrorRate2": 0.12119999999999999,
"sentenceCount2": 3,
"wordCount2": 173,
"correctWordCount2": 170,
"wordSubstitutionCount2": 2,
"wordDeletionCount2": 1,
"wordInsertionCount2": 2,
"tokenCount2": 165,
"correctTokenCount2": 145,
"tokenSubstitutionCount2": 10,
"tokenDeletionCount2": 1,
"tokenInsertionCount2": 9,
"tokenErrors2": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
}
},
"lastActionDateTime": "2024-07-14T21:22:45Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T21:21:39Z",
"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 YourSubscriptionKey
YourServiceRegion
element regionem zasobu usługi Mowa.
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/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.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/b50642a8-febf-43e1-b9d3-e0c90b82a62a"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac/files"
},
"properties": {
"wordErrorRate1": 0.028900000000000002,
"sentenceErrorRate1": 0.667,
"tokenErrorRate1": 0.12119999999999999,
"sentenceCount1": 3,
"wordCount1": 173,
"correctWordCount1": 170,
"wordSubstitutionCount1": 2,
"wordDeletionCount1": 1,
"wordInsertionCount1": 2,
"tokenCount1": 165,
"correctTokenCount1": 145,
"tokenSubstitutionCount1": 10,
"tokenDeletionCount1": 1,
"tokenInsertionCount1": 9,
"tokenErrors1": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
},
"wordErrorRate2": 0.028900000000000002,
"sentenceErrorRate2": 0.667,
"tokenErrorRate2": 0.12119999999999999,
"sentenceCount2": 3,
"wordCount2": 173,
"correctWordCount2": 170,
"wordSubstitutionCount2": 2,
"wordDeletionCount2": 1,
"wordInsertionCount2": 2,
"tokenCount2": 165,
"correctTokenCount2": 145,
"tokenSubstitutionCount2": 10,
"tokenDeletionCount2": 1,
"tokenInsertionCount2": 9,
"tokenErrors2": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
}
},
"lastActionDateTime": "2024-07-14T21:22:45Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T21:21:39Z",
"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:
- Zaloguj się do programu Speech Studio.
- Wybierz pozycję Niestandardowa mowa> Nazwa >projektu Modele testowe.
- Wybierz link według nazwy testu.
- 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.
Testowy zestaw danych, transkrypcje i modele audio są zwracane w wynikach testu. Jeśli testowano tylko jeden model, model1
wartość jest zgodna model2
z wartością , a wartość jest zgodna transcription2
z wartością transcription1
.
Aby przejrzeć jakość transkrypcji:
- Pobierz zestaw danych testowych audio, chyba że masz już kopię.
- Pobierz transkrypcje wyjściowe.
- 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 model2
z wartością , a wartość jest zgodna transcription2
z wartością transcription1
.
Aby przejrzeć jakość transkrypcji:
- Pobierz zestaw danych testowych audio, chyba że masz już kopię.
- Pobierz transkrypcje wyjściowe.
- 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.