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

Lista fraz jest listą wyrazów lub fraz podanych przed czasem, aby ułatwić ich rozpoznawanie. Dodanie frazy do listy fraz zwiększa jego znaczenie, co zwiększa prawdopodobieństwo rozpoznania.

Aby uzyskać informacje o obsługiwanych ustawieniach regionalnych listy fraz, zobacz Obsługa języka i głosu dla usługi Mowa.

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: Lista fraz jest udostępniana tuż przed rozpoczęciem rozpoznawania mowy, eliminując konieczność trenowania 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). Interfejs API transkrypcji usługi Batch nie obsługuje list fraz.

Listy fraz można używać zarówno ze standardową, jak i niestandardową mową. Istnieją pewne sytuacje, w których trenowanie modelu niestandardowego zawierającego frazy jest prawdopodobnie najlepszą opcją poprawy dokładności. Na przykład w następujących przypadkach użyjesz niestandardowej mowy:

  • Jeśli musisz użyć dużej listy fraz. Lista fraz nie powinna zawierać więcej niż 500 fraz.
  • Jeśli potrzebujesz listy fraz dla języków, które nie są obecnie obsługiwane.

Wypróbuj ją w programie Speech Studio

Możesz użyć programu Speech Studio , aby przetestować, jak lista fraz pomoże ulepszyć rozpoznawanie dźwięku. Aby zaimplementować listę fraz w aplikacji w środowisku produkcyjnym, należy użyć zestawu SPEECH SDK lub interfejsu wiersza polecenia usługi Mowa.

Załóżmy na przykład, że chcesz, aby usługa Mowa rozpoznawał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 nie mogę tego banku zrobić."

W poprzednim scenariuszu chcesz dodać do listy fraz "Rehaan", "Jessie" i "Contoso". Następnie nazwy powinny być 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 platformy 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. Rozpoznawanie mowy można przetestować, przekazując plik audio lub nagrywając dźwięk za pomocą 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 powinien zostać wyświetlony w polu tekstowym Wyniki testu. Jeśli wyrażenie "Rehaan", "Jessie" lub "Contoso" zostało rozpoznane niepoprawnie, możesz dodać terminy do listy fraz w następnym kroku.
  4. Wybierz pozycję Pokaż opcje zaawansowane i włącz pozycję Lista fraz.
  5. Wprowadź wartość "Contoso; Jessie; Rehaan" w polu tekstowym listy fraz. Wiele fraz musi być rozdzielonych średnikami. Screenshot of a phrase list applied in Speech Studio.
  6. Użyj mikrofonu, aby ponownie przetestować rozpoznawanie. W przeciwnym razie możesz wybrać strzałkę ponawiania obok pliku audio, aby ponownie uruchomić dźwięk. Należy rozpoznać terminy "Rehaan", "Jessie" lub "Contoso".

Implementowanie listy fraz

Za pomocą zestawu SDK usługi Mowa można dodawać frazy indywidualnie, a następnie uruchamiać rozpoznawanie mowy.

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

Za pomocą zestawu SDK usługi Mowa można dodawać frazy indywidualnie, a następnie uruchamiać rozpoznawanie mowy.

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

Za pomocą zestawu SDK usługi Mowa można dodawać frazy indywidualnie, a następnie uruchamiać rozpoznawanie mowy.

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

Za pomocą zestawu SDK usługi Mowa można dodawać frazy indywidualnie, a następnie uruchamiać rozpoznawanie mowy.

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

Za pomocą zestawu SDK usługi Mowa można dodawać frazy indywidualnie, a następnie uruchamiać 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")

Za pomocą interfejsu wiersza polecenia usługi Mowa można dołączyć listę fraz w wierszu lub z plikiem tekstowym wraz 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;"

Możesz również dodać listę fraz 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, znaki odstępu i znaki specjalne, takie jak +, -, $, :, (, {, }, _, ., @, \, ', &, #, %, ^, *, ' <, , , >;, /. Inne znaki specjalne są usuwane wewnętrznie z frazy.

Następne kroki

Zapoznaj się z więcej opcji, aby zwiększyć dokładność rozpoznawania.