Zwiększanie dokładności rozpoznawania za pomocą listy fraz

Lista fraz jest listą wyrazów lub fraz, które podajesz przed czasem, aby ułatwić ich rozpoznawanie. Gdy dodasz frazę do listy fraz, zwiększysz jej znaczenie, więc system z większym prawdopodobieństwem ją rozpozna.

Ważna

Lista fraz to funkcja rozpoznawania środowiska uruchomieniowego zastosowana na poziomie punktu końcowego. Działa z:

  • Transkrypcja w czasie rzeczywistym (Speech SDK, Speech CLI, Speech Studio)
  • Szybkie API transkrypcji
  • API transkrypcji mowy LLM
  • Interfejs API głosu na żywo

Lista fraz współdziała zarówno z podstawowymi, jak i niestandardowymi punktami końcowymi mowy. Nie wymaga trenowania modelu i nie jest dostępny w trybie transkrypcji wsadowej.

Przykłady fraz to:

  • Nazwy
  • Lokalizacje geograficzne
  • Homonimy
  • Słowa lub akronimy unikatowe dla twojej branży lub organizacji

Listy fraz są proste i lekkie:

  • Just-in-time: Przed rozpoczęciem rozpoznawania mowy należy podać listę fraz, więc nie trzeba trenować modelu niestandardowego.
  • Uproszczone: nie potrzebujesz dużego zestawu danych. Podaj wyraz lub frazę, aby zwiększyć jego rozpoznawanie.

Listy fraz można używać z usługą Speech Studio, zestawem SPEECH SDK lub interfejsem wiersza polecenia usługi Mowa (CLI). Są obsługiwane przez transkrypcję w czasie rzeczywistym i szybki interfejs API transkrypcji. Interfejs API transkrypcji wsadowej nie obsługuje list fraz.

Listy fraz można używać zarówno z podstawowymi (standardowymi) punktami końcowymi, jak i punktami końcowymi dla mowy niestandardowej. Listę fraz stosujesz w czasie działania i nie wymaga ona uczenia modelu. Niektóre sytuacje wymagają trenowania modelu niestandardowego zawierającego frazy w celu zwiększenia dokładności. Na przykład użyj mowy niestandardowej w następujących przypadkach:

  • Jeśli musisz użyć dużej listy fraz, lista fraz nie powinna zawierać więcej niż 2000 fraz. Należy pamiętać, że dłuższa lista fraz będzie mieć wpływ na jakość i opóźnienie.

Waga listy fraz

Gdy używasz zestawu Speech SDK z transkrypcją w czasie rzeczywistym, możesz kontrolować wagę fraz na liście fraz względem słownika domyślnego. To ustawienie określa, jaki wpływ ma lista fraz na wyniki zamiany mowy na tekst.

Ustaw wagę listy fraz w zakresie od 0.0 do 2.0:

  • 0.0: Wyłącza listę fraz
  • 1.0: Domyślna waga (standardowy wpływ)
  • 2.0: Maksymalna waga (najwyższy wpływ)

Wyższa waga zwiększa prawdopodobieństwo rozpoznawania fraz z listy w stosunku do alternatyw w słowniku domyślnym. To ustawienie dotyczy pełnej listy.

Wypróbuj ją w programie Speech Studio

Użyj programu Speech Studio , aby przetestować, jak lista fraz poprawia rozpoznawanie dźwięku. Aby wdrożyć listę fraz w aplikacji produkcyjnej, użyj pakietu Speech SDK lub narzędzia Speech CLI.

Na przykład załóżmy, że chcesz, aby usługa Speech rozpoznała to zdanie: „Cześć, Rehaan, jestem Jessie z banku Contoso.”

Może się okazać, że fraza jest niepoprawnie rozpoznawana jako: "Cześć wszystkim, jestem Jesse z bank nie może tego zrobić."

W poprzednim scenariuszu chcesz dodać do listy fraz "Rehaan", "Jessie" i "Contoso". Następnie nazwy są prawidłowo rozpoznawane.

Teraz wypróbuj usługę Speech Studio, aby zobaczyć, jak lista fraz może poprawić dokładność rozpoznawania.

Uwaga

Może zostać wyświetlony monit o wybranie subskrypcji Azure i zasobu usługi Mowa, a następnie potwierdzenie rozliczeń dla regionu.

  1. Przejdź do obszaru Zamiana mowy w czasie rzeczywistym na tekst w programie Speech Studio.
  2. Przetestuj rozpoznawanie mowy, przekazując plik audio lub nagrywając dźwięk przy użyciu mikrofonu. Na przykład wybierz pozycję Nagraj dźwięk z mikrofonem , a następnie powiedz "Cześć Rehaan, jestem Jessie z banku Contoso. " Następnie wybierz czerwony przycisk, aby zatrzymać nagrywanie.
  3. Wynik transkrypcji zostanie wyświetlony w polu tekstowym Wyniki testu . Jeśli wyrażenie "Rehaan", "Jessie" lub "Contoso" jest niepoprawnie rozpoznawane, dodaj terminy do listy fraz w następnym kroku.
  4. Wybierz Pokaż opcje zaawansowane i włącz Lista fraz.
  5. Wprowadź „Contoso;Jessie;Rehaan” w polu tekstowym listy fraz. Oddzielaj wiele fraz średnikami. Zrzut ekranu przedstawiający listę fraz zastosowanych w programie Speech Studio.
  6. Użyj mikrofonu, aby ponownie przetestować rozpoznawanie. W przeciwnym razie wybierz strzałkę ponawiania obok pliku audio, aby ponownie uruchomić dźwięk. Należy rozpoznać terminy "Rehaan", "Jessie" lub "Contoso".

Implementowanie listy fraz w transkrypcji w czasie rzeczywistym

Korzystając z zestawu SPEECH SDK, możesz dodać frazy pojedynczo, a następnie uruchomić rozpoznawanie mowy.

var phraseList = PhraseListGrammar.FromRecognizer(recognizer);
phraseList.AddPhrase("Contoso");
phraseList.AddPhrase("Jessie");
phraseList.AddPhrase("Rehaan");
phraselist.SetWeight(weight);

Korzystając z zestawu SPEECH SDK, możesz dodać frazy pojedynczo, a następnie uruchomić rozpoznawanie mowy.

auto phraseListGrammar = PhraseListGrammar::FromRecognizer(recognizer);
phraseListGrammar->AddPhrase("Contoso");
phraseListGrammar->AddPhrase("Jessie");
phraseListGrammar->AddPhrase("Rehaan");
phraselist->SetWeight(weight);

Korzystając z zestawu SPEECH SDK, możesz dodać frazy pojedynczo, a następnie uruchomić rozpoznawanie mowy.

PhraseListGrammar phraseList = PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");
phraseList.setWeight(weight);

Korzystając z zestawu SPEECH SDK, możesz dodać frazy pojedynczo, a następnie uruchomić rozpoznawanie mowy.

const phraseList = sdk.PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");
phraseList.setWeight(weight);

Korzystając z zestawu SPEECH SDK, możesz dodać frazy pojedynczo, a następnie uruchomić rozpoznawanie mowy.

phrase_list_grammar = speechsdk.PhraseListGrammar.from_recognizer(reco)
phrase_list_grammar.addPhrase("Contoso")
phrase_list_grammar.addPhrase("Jessie")
phrase_list_grammar.addPhrase("Rehaan")
phraseList.setWeight(weight)

Korzystając z zestawu SPEECH SDK, możesz dodać frazy pojedynczo, a następnie uruchomić rozpoznawanie mowy.

phraseListGrammar, err := speech.NewPhraseListGrammarFromRecognizer(recognizer)
if err != nil {
  // Handle error.
}
defer phraseListGrammar.Close()

phraseListGrammar.AddPhrase("Contoso")
phraseListGrammar.AddPhrase("Jessie")
phraseListGrammar.AddPhrase("Rehaan")
phraseListGrammar.SetWeight(weight)

Korzystając z narzędzia Speech CLI, można dołączyć listę fraz bezpośrednio w poleceniu lub za pomocą pliku tekstowego, razem z poleceniem recognize.

Spróbuj rozpoznać mikrofon lub plik dźwiękowy.

spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
spx recognize --file "your\path\to\audio.wav" --phrases "Contoso;Jessie;Rehaan;"

Listę fraz można również dodać przy użyciu pliku tekstowego zawierającego jedną frazę na wiersz.

spx recognize --microphone --phrases @phrases.txt
spx recognize --file "your\path\to\audio.wav" --phrases @phrases.txt

Dozwolone znaki obejmują litery i cyfry specyficzne dla ustawień regionalnych, białe znaki oraz znaki specjalne, takie jak +, -, $, :, (, ), {, }, _, ., ?, @, \, ’, &, #, %, ^, *, `, <, >, ;, /. System usuwa inne znaki specjalne z frazy.

Implementowanie listy fraz w szybkiej transkrypcji mowy w usłudze LLM

Możesz dodać listę fraz w szybkiej transkrypcji mowy LLM za pomocą interfejsu API REST zamiany mowy na tekst.

curl --location 'https://YourResourceName.cognitiveservices.azure.com/speechtotext/transcriptions:transcribe?api-version=2025-10-15' \
--header 'Ocp-Apim-Subscription-Key: YourSpeechResourceKey' \
--form 'audio=@"YourAudioFile"' \
--form 'definition={
  "locales": ["en-US"],
  "phraseList": {
    "phrases": ["Contoso", "Jessie", "Rehaan"]
  }
}'

Następne kroki

Dowiedz się więcej o opcjach zwiększających dokładność rozpoznawania.