Přesnost testování vlastního modelu řeči

V tomto článku se dozvíte, jak kvantitativní měření a zlepšení přesnosti základní řeči na textový model nebo vlastní modely. K otestování přesnosti se vyžadují data přepisu s popiskem zvuku a člověka. Měli byste poskytnout od 30 minut do 5 hodin reprezentativního zvuku.

Důležité

Při testování systém provede přepis. Je důležité mít na paměti, protože ceny se liší podle nabídky služeb a úrovně předplatného. Nejnovější podrobnosti najdete vždy na oficiálních cenách služeb Azure AI.

Vytvoření testu

Přesnost vlastního modelu můžete otestovat vytvořením testu. Test vyžaduje kolekci zvukových souborů a jejich odpovídající přepisy. Přesnost vlastního modelu můžete porovnat s převodem řeči na základní model textu nebo s jiným vlastním modelem. Po získání výsledků testu vyhodnoťte míru chyb slov (WER) ve srovnání s výsledky rozpoznávání řeči.

Pokud chcete vytvořit test, postupujte takto:

  1. Přihlaste se k sadě Speech Studio.

  2. Vyberte Custom speech> Your project name >Test models.

  3. Vyberte Vytvořit nový test.

  4. Vyberte Vyhodnotit přesnost>další.

  5. Vyberte jednu datovou sadu přepisu s popiskem člověka a pak vyberte Další. Pokud nejsou dostupné žádné datové sady, zrušte nastavení a pak přejděte do nabídky datových sad služby Speech a nahrajte datové sady.

    Poznámka:

    Je důležité vybrat akustickou datovou sadu, která se liší od datové sady, kterou jste použili s modelem. Tento přístup může poskytnout realističtější představu o výkonu modelu.

  6. Vyberte až dva modely, které chcete vyhodnotit, a pak vyberte Další.

  7. Zadejte název a popis testu a pak vyberte Další.

  8. Zkontrolujte podrobnosti testu a pak vyberte Uložit a zavřít.

K vytvoření testu použijte spx csr evaluation create příkaz. Parametry požadavku se sestaví podle následujících pokynů:

  • project Nastavte parametr na ID existujícího projektu. Tento parametr se doporučuje, abyste mohli test zobrazit také v sadě Speech Studio. Spuštěním spx csr project list příkazu můžete získat dostupné projekty.
  • Nastavte požadovaný model1 parametr na ID modelu, který chcete testovat.
  • Nastavte požadovaný model2 parametr na ID jiného modelu, který chcete testovat. Pokud nechcete porovnat dva modely, použijte stejný model pro obojí model1 i model2.
  • Nastavte požadovaný dataset parametr na ID datové sady, kterou chcete použít pro test.
  • language Nastavte parametr, jinak rozhraní příkazového řádku služby Speech nastaví ve výchozím nastavení "en-US". Tento parametr by měl být národním prostředím obsahu datové sady. Národní prostředí nelze později změnit. Parametr Rozhraní příkazového locale řádku language služby Speech odpovídá vlastnosti v požadavku JSON a odpovědi.
  • Nastavte požadovaný name parametr. Tento parametr je název zobrazený v sadě Speech Studio. Parametr Rozhraní příkazového displayName řádku name služby Speech odpovídá vlastnosti v požadavku JSON a odpovědi.

Tady je příklad příkazu Rozhraní příkazového řádku služby Speech, který vytvoří test:

spx csr evaluation create --api-version v3.2 --project 0198f569-cc11-4099-a0e8-9d55bc3d0c52 --dataset 23b6554d-21f9-4df1-89cb-f84510ac8d23 --model1 ff43e922-e3e6-4bf0-8473-55c08fd68048 --model2 13fb305e-09ad-4bce-b3a1-938c9124dda3 --name "My Evaluation" --description "My Evaluation Description"

Měl by se zobrazit text odpovědi v následujícím formátu:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38",
  "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/dda6e880-6ccd-49dc-b277-137565cbaa38/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:31:14Z",
  "status": "NotStarted",
  "createdDateTime": "2024-07-14T21:31:14Z",
  "locale": "en-US",
  "displayName": "My Evaluation",
  "description": "My Evaluation Description",
  "customProperties": {
    "testingKind": "Evaluation"
  }
}

Vlastnost nejvyšší úrovně self v textu odpovědi je identifikátor URI vyhodnocení. Pomocí tohoto identifikátoru URI získáte podrobnosti o výsledcích projektu a testu. Tento identifikátor URI také použijete k aktualizaci nebo odstranění vyhodnocení.

V případě nápovědy k rozhraní příkazového řádku služby Speech s vyhodnoceními spusťte následující příkaz:

spx help csr evaluation

K vytvoření testu použijte operaci Evaluations_Create rozhraní REST API pro převod řeči na text. Sestavte tělo požadavku podle následujících pokynů:

  • project Nastavte vlastnost na identifikátor URI existujícího projektu. Tato vlastnost se doporučuje, abyste si také mohli test prohlédnout v sadě Speech Studio. Můžete vytvořit Projects_List žádost o získání dostupných projektů.
  • testingKind Nastavte vlastnost na Evaluation hodnotu uvnitř customProperties. Pokud ho nezadáte Evaluation, bude se test považovat za test kontroly kvality. Bez ohledu na testingKind to, jestli je vlastnost nastavená na Evaluation nebo Inspectionnebo není nastavená, můžete získat přístup k skóre přesnosti prostřednictvím rozhraní API, ale ne v sadě Speech Studio.
  • Nastavte požadovanou model1 vlastnost na identifikátor URI modelu, který chcete testovat.
  • Nastavte požadovanou model2 vlastnost na identifikátor URI jiného modelu, který chcete testovat. Pokud nechcete porovnat dva modely, použijte stejný model pro obojí model1 i model2.
  • Nastavte požadovanou dataset vlastnost na identifikátor URI datové sady, kterou chcete použít pro test.
  • Nastavte požadovanou locale vlastnost. Tato vlastnost by měla být národním prostředím obsahu datové sady. Národní prostředí nelze později změnit.
  • Nastavte požadovanou displayName vlastnost. Tato vlastnost je název zobrazený v sadě Speech Studio.

Vytvořte požadavek HTTP POST pomocí identifikátoru URI, jak je znázorněno v následujícím příkladu. Nahraďte YourSubscriptionKey klíčem prostředku služby Speech, nahraďte YourServiceRegion oblastí prostředků služby Speech a nastavte vlastnosti textu požadavku, jak jsme popsali dříve.

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 Evaluation",
  "description": "My Evaluation Description",
  "customProperties": {
    "testingKind": "Evaluation"
  },
  "locale": "en-US"
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations"

Měl by se zobrazit text odpovědi v následujícím formátu:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38",
  "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/dda6e880-6ccd-49dc-b277-137565cbaa38/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:31:14Z",
  "status": "NotStarted",
  "createdDateTime": "2024-07-14T21:31:14Z",
  "locale": "en-US",
  "displayName": "My Evaluation",
  "description": "My Evaluation Description",
  "customProperties": {
    "testingKind": "Evaluation"
  }
}

Vlastnost nejvyšší úrovně self v textu odpovědi je identifikátor URI vyhodnocení. Pomocí tohoto identifikátoru URI získáte podrobnosti o výsledcích projektu a testu vyhodnocení. Tento identifikátor URI také použijete k aktualizaci nebo odstranění vyhodnocení.

Získání výsledků testu

Měli byste získat výsledky testu a vyhodnotit chybovost slov (WER) ve srovnání s výsledky rozpoznávání řeči.

Pokud chcete získat výsledky testu, postupujte takto:

  1. Přihlaste se k sadě Speech Studio.
  2. Vyberte Custom speech> Your project name >Test models.
  3. Vyberte odkaz podle názvu testu.
  4. Po dokončení testu by se měly zobrazit výsledky, které obsahují číslo WER pro každý testovaný model.

Tato stránka obsahuje seznam všech promluv v datové sadě a výsledky rozpoznávání spolu s přepisem odeslané datové sady. Můžete přepínat různé typy chyb, včetně vložení, odstranění a nahrazení. Poslechem zvuku a porovnáním výsledků rozpoznávání v jednotlivých sloupcích se můžete rozhodnout, který model vyhovuje vašim potřebám, a určit, kde se vyžaduje další trénování a vylepšení.

Pokud chcete získat výsledky testu, použijte spx csr evaluation status příkaz. Parametry požadavku se sestaví podle následujících pokynů:

  • Nastavte požadovaný evaluation parametr na ID vyhodnocení, které chcete získat výsledky testu.

Tady je příklad příkazu Rozhraní příkazového řádku služby Speech, který získá výsledky testu:

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

V textu odpovědi se vrátí slovo chybovost a další podrobnosti.

Měl by se zobrazit text odpovědi v následujícím formátu:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38",
  "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/dda6e880-6ccd-49dc-b277-137565cbaa38/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:31:22Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-14T21:31:14Z",
  "locale": "en-US",
  "displayName": "My Evaluation",
  "description": "My Evaluation Description",
  "customProperties": {
    "testingKind": "Evaluation"
  }
}

V případě nápovědy k rozhraní příkazového řádku služby Speech s vyhodnoceními spusťte následující příkaz:

spx help csr evaluation

Pokud chcete získat výsledky testu, začněte pomocí operace Evaluations_Get rozhraní REST API pro převod řeči na text.

Vytvořte požadavek HTTP GET pomocí identifikátoru URI, jak je znázorněno v následujícím příkladu. Nahraďte YourEvaluationId id vyhodnocení, nahraďte YourSubscriptionKey klíčem prostředku služby Speech a nahraďte YourServiceRegion oblastí prostředků služby Speech.

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

V textu odpovědi se vrátí slovo chybovost a další podrobnosti.

Měl by se zobrazit text odpovědi v následujícím formátu:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38",
  "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/dda6e880-6ccd-49dc-b277-137565cbaa38/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:31:22Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-14T21:31:14Z",
  "locale": "en-US",
  "displayName": "My Evaluation",
  "description": "My Evaluation Description",
  "customProperties": {
    "testingKind": "Evaluation"
  }
}

Vyhodnocení míry chyb slov (WER)

Oborový standard pro měření přesnosti modelu je míra chyb slov (WER). WER spočítá počet nesprávných slov identifikovaných při rozpoznávání a vydělí součet celkovým počtem slov zadaných v přepisu označeném člověkem (N).

Nesprávně identifikovaná slova spadají do tří kategorií:

  • Vložení (I): Slova nesprávně přidaná do přepisu hypotézy
  • Odstranění (D): Slova nezjištěná v přepisu hypotézy
  • Náhrada (S): Slova, která byla nahrazena mezi odkazem a hypotézou

V sadě Speech Studio se podíl vynásobí 100 a zobrazí se jako procento. Výsledky Rozhraní příkazového řádku služby Speech a rozhraní REST API se nevynásobí 100.

$$ WER = {{I+D+S}\over N} \times 100 $$

Tady je příklad, který zobrazuje nesprávně identifikovaná slova v porovnání s přepisem označeným člověkem:

Snímek obrazovky znázorňující příklad nesprávně identifikovaných slov

Výsledek rozpoznávání řeči byl chybný takto:

  • Vložení (I): Přidání slova "a"
  • Odstranění (D): Odstranilo se slovo "are"
  • Náhrada (S): Nahrazeno slovem "Jones" pro "John"

Míra chyb slov z předchozího příkladu je 60 %.

Pokud chcete měření WER replikovat místně, můžete použít nástroj sclite ze sady nástrojů NIST Scoring Toolkit (SCTK).

Řešení chyb a vylepšení WER

Pomocí výpočtu WER z výsledků rozpoznávání počítače můžete vyhodnotit kvalitu modelu, který používáte s aplikací, nástrojem nebo produktem. HODNOTA WER 5-10 % je považována za dobrou kvalitu a je připravena k použití. Hodnota WER 20 % je přijatelná, ale možná budete chtít zvážit další školení. WER 30 % nebo více signálů je špatná kvalita a vyžaduje přizpůsobení a trénování.

Způsob distribuce chyb je důležitý. Pokud dojde k mnoha chybám odstranění, důvodem je obvykle slabá síla zvukového signálu. Pokud chcete tento problém vyřešit, musíte shromáždit zvuková data blíže ke zdroji. Chyby vložení znamenají, že zvuk byl zaznamenán v hlučné prostředí a crosstalk může být přítomen, což způsobuje problémy s rozpoznáváním. K chybám nahrazení často dochází v případech, kdy se jako přepisy nebo související text zobrazí nedostatečný vzorek termínů specifických pro doménu.

Analýzou jednotlivých souborů můžete určit, jaký typ chyb existuje a které chyby jsou jedinečné pro určitý soubor. Porozumění problémům na úrovni souboru pomáhá cílit na vylepšení.

Vyhodnocení míry chyb tokenu (TER)

Kromě míry chyb slov můžete také použít rozšířené měření míry chyb tokenu (TER) k vyhodnocení kvality v konečném koncovém formátu zobrazení. Kromě lexikálního formátu (That will cost $900. místo that will cost nine hundred dollars), TER bere v úvahu aspekty formátu zobrazení, jako je interpunkce, velká písmena a ITN. Přečtěte si další informace o formátování výstupu pomocí řeči na text.

Ter spočítá počet nesprávných tokenů identifikovaných při rozpoznávání a vydělí součet celkovým počtem tokenů zadaných v přepisu označeném člověkem (N).

$$ TER = {{I+D+S} N}\over \times 100 $$

Vzorec výpočtu TER se podobá funkci WER. Jediným rozdílem je, že ter se počítá na základě úrovně tokenu místo úrovně slova.

  • Vložení (I): Tokeny nesprávně přidané do přepisu hypotézy
  • Odstranění (D): Tokeny, které nejsou v přepisu hypotézy nezjištěné
  • Náhrada (S): Tokeny, které byly nahrazeny mezi odkazem a hypotézou

V reálném případě můžete analyzovat výsledky WER i TER a získat tak požadovaná vylepšení.

Poznámka:

Abyste mohli měřit ter, musíte zajistit , aby testovací data zvuku a přepisu obsahovala přepisy s formátováním zobrazení, jako je interpunkce, velká písmena a ITN.

Příklady výsledků scénáře

Scénáře rozpoznávání řeči se liší podle kvality zvuku a jazyka (slovní zásoba a styl mluvení). Následující tabulka popisuje čtyři běžné scénáře:

Scénář Kvalita zvuku Slovní zásoba Styl řeči
Kontaktní středisko Nízká, 8 kHz, můžou být dva lidé na jednom zvukovém kanálu, můžou být komprimované Úzké, jedinečné pro doménu a produkty Konverzační, volně strukturovaná
Hlasový asistent, například Cortana, nebo okno pro procházení disku Vysoká, 16 kHz Entity-heavy (názvy skladeb, produkty, umístění) Jasně uvedená slova a fráze
Diktování (rychlá zpráva, poznámky, hledání) Vysoká, 16 kHz Pestrý Pořizování poznámek
Skryté titulky videa Pestrý, včetně různých použití mikrofonů, přidaná hudba Pestré, od schůzek, recitované řeči, hudební texty Čtení, příprava nebo volně strukturovaná

Různé scénáře vytvářejí různé výsledky kvality. Následující tabulka popisuje, jak obsah z těchto čtyř scénářů ve WER. V tabulce jsou uvedeny nejběžnější typy chyb v jednotlivých scénářích. Míra chyb vložení, nahrazení a odstranění vám pomůže určit, jaký druh dat se má přidat, aby se model zlepšil.

Scénář Kvalita rozpoznávání řeči Chyby vložení Chyby odstranění Chyby nahrazení
Kontaktní středisko Střední
(< 30% WER)
Nízká, s výjimkou případů, kdy ostatní lidé mluví na pozadí Může to být vysoké. Volající centra můžou být hlučná a překrývající se reproduktory můžou model zmást. Střední. Tyto chyby můžou způsobit produkty a jména lidí.
Hlasový asistent Vysoká
(může to být < 10% WER)
Nízká Nízká Střední, kvůli názvům skladeb, názvům produktů nebo místům
Diktování Vysoká
(může to být < 10% WER)
Nízká Malý zájem Velký zájem
Skryté titulky videa Závisí na typu videa (může být < 50% WER) Nízká Může být vysoká kvůli hudbě, šumu, kvalitě mikrofonu Žargon může způsobit tyto chyby

Další kroky