Implementowanie niestandardowej mowy do tekstu

Azure AI services
Azure AI Speech
Azure Machine Learning

W tym dwuczęściowym przewodniku opisano różne podejścia do wydajnego implementowania aplikacji obsługujących mowę wysokiej jakości. Koncentruje się on na rozszerzaniu i dostosowywaniu modelu bazowego mowy na funkcje tekstowe udostępniane przez usługę rozpoznawania mowy sztucznej inteligencji.

W tym artykule opisano przestrzeń problemu i proces podejmowania decyzji na potrzeby projektowania rozwiązania. Drugi artykuł Wdrażanie niestandardowej mowy w rozwiązaniu tekstowym zawiera przypadek użycia do zastosowania tych instrukcji i zalecanych rozwiązań.

Wstępnie utworzone i niestandardowe spektrum sztucznej inteligencji

Wstępnie utworzone i niestandardowe spektrum sztucznej inteligencji reprezentuje wiele warstw dostosowywania modelu sztucznej inteligencji i nakładu pracy programistycznych, począwszy od gotowych do użycia wstępnie utworzonych modeli w celu pełnego dostosowania rozwiązań sztucznej inteligencji.

Diagram przedstawiający spektrum warstw dostosowywania.

Po lewej stronie spektrum usługi Azure AI umożliwiają szybkie i niskie tarcie wdrażanie funkcji sztucznej inteligencji w aplikacjach za pomocą wstępnie wytrenowanych modeli. Firma Microsoft tworzy rozbudowane zestawy danych w celu trenowania i tworzenia tych modeli bazowych. W związku z tym można używać modeli bazowych bez dodatkowych danych treningowych. Są one używane za pośrednictwem wywołań interfejsu API programowych z rozszerzonymi zabezpieczeniami.

Usługi azure AI obejmują:

  • Mowy. Zamiana mowy na tekst, zamiana mowy na mowę, tłumaczenie mowy i rozpoznawanie osoby mówiącej
  • Język. Rozpoznawanie jednostek, analiza tonacji, odpowiadanie na pytania, interpretacja języka konwersacji i translator
  • Wzrok. Przetwarzanie obrazów i interfejs API rozpoznawania twarzy
  • Decyzji. Narzędzie do wykrywania anomalii, usługi Content Moderator i usługi Personalizacja
  • Usługa OpenAI. Zaawansowane modele językowe

Gdy wstępnie utworzone modele linii bazowej nie działają wystarczająco dokładnie na danych, można je dostosować, dodając dane szkoleniowe względem domeny problemu. Dostosowanie to wymaga dodatkowego nakładu pracy przy zbieraniu odpowiednich danych w celu wytrenowania i oceny akceptowalnego modelu. Usługi azure AI, które można dostosowywać, obejmują usługi Custom Vision, Custom Translator, Custom Speech i CLU. Rozszerzanie wstępnie utworzonych modeli usług sztucznej inteligencji platformy Azure znajduje się w centrum spektrum. Większość tego artykułu koncentruje się na tym centralnym obszarze.

Alternatywnie, gdy modele i dane szkoleniowe koncentrują się na określonym scenariuszu i wymagają zastrzeżonego zestawu danych trenowania, usługa Azure Machine Edukacja udostępnia niestandardowe zasoby rozwiązania, narzędzia, obliczenia i przepływ pracy, aby obsługiwać tworzenie całkowicie niestandardowych modeli. Ten scenariusz pojawia się po prawej stronie spektrum. Te modele są tworzone od podstaw. Tworzenie modelu przy użyciu usługi Azure Machine Edukacja zwykle waha się od narzędzi wizualnych, takich jak AutoML, po programowe opracowywanie modelu przy użyciu notesów.

Usługa Azure Speech

Usługa Rozpoznawanie mowy platformy Azure łączy mowę z tekstem, zamianą tekstu na mowę, tłumaczeniem mowy, asystentem głosowym i funkcją rozpoznawania osoby mówiącej w ramach jednej subskrypcji opartej na usługach Azure AI. Aplikację do rozpoznawania mowy można włączyć, integrując się z usługą Mowa za pomocą łatwych w użyciu zestawów SDK i interfejsów API.

Usługa zamiany mowy na tekst na platformie Azure analizuje dźwięk w czasie rzeczywistym lub asynchronicznie w celu transkrypcji słowa mówionego w tekście. Poza polem zamiana mowy na platformę Azure na tekst używa modelu języka uniwersalnego jako punktu odniesienia, który odzwierciedla powszechnie używany język mówiony. Ten model odniesienia jest wstępnie trenowany za pomocą dialektów i fonetyki, które reprezentują różne typowe domeny. W związku z tym korzystanie z modelu bazowego nie wymaga dodatkowej konfiguracji i działa dobrze w większości scenariuszy.

Należy jednak pamiętać, że model odniesienia może nie być wystarczający, jeśli dźwięk zawiera hałas otoczenia lub zawiera wiele żargonu branżowego i specyficznego dla domeny. W takich przypadkach tworzenie niestandardowego modelu mowy ma sens. Można to zrobić, szkoląc się przy użyciu dodatkowych danych skojarzonych z określoną domeną.

W zależności od rozmiaru domeny niestandardowej warto również wytrenować wiele modeli i podzielić model na poszczególne aplikacje. Na przykład komentatorzy Olimpiady zgłaszają różne dyscypliny sportowe, z których każdy ma własny żargon. Ponieważ każdy sport ma słownictwo, które różni się znacząco od innych, tworzenie niestandardowego modelu specyficznego dla sportu zwiększa dokładność, ograniczając dane wypowiedzi względem tego konkretnego sportu. W rezultacie model może uczyć się od precyzyjnego i docelowego zestawu danych.

Istnieją trzy podejścia do implementowania mowy platformy Azure do tekstu:

  • Model odniesienia jest odpowiedni, gdy dźwięk jest jasny od szumu otoczenia, a transkrypowana mowa składa się z powszechnie mówionego języka.
  • Model niestandardowy rozszerza model odniesienia w celu uwzględnienia słownictwa specyficznego dla domeny, które jest współużytkowane we wszystkich obszarach domeny niestandardowej.
  • Wiele modeli niestandardowych ma sens, gdy domena niestandardowa ma wiele obszarów, z których każdy ma określone słownictwo.

Diagram podsumowujący trzy podejścia do implementowania mowy platformy Azure do tekstu.

Potencjalne przypadki użycia

Poniżej przedstawiono kilka ogólnych scenariuszy i przypadków użycia, w których przydatna jest niestandardowa zamiana mowy na tekst:

  • Transkrypcja mowy dla określonej domeny, na przykład transkrypcja medyczna lub transkrypcja centrum telefonicznego
  • Transkrypcja na żywo, podobnie jak w aplikacji lub w celu zapewnienia podpis na potrzeby transmisji strumieniowej wideo na żywo

Zestawy SDK firmy Microsoft i narzędzia open source

Podczas pracy z zamianą mowy na tekst mogą być przydatne następujące zasoby:

Uwagi dotyczące projektowania

W tej sekcji opisano niektóre zagadnienia projektowe dotyczące tworzenia aplikacji opartej na mowie.

Model linii bazowej a model niestandardowy

Usługa Azure Speech obejmuje modele bazowe, które obsługują różne języki. Te modele są wstępnie trenowane przy użyciu ogromnej ilości słownictwa i domen. Możesz jednak mieć wyspecjalizowane słownictwo, które wymaga uznania. W takich sytuacjach modele bazowe mogą być krótkie. Najlepszym sposobem ustalenia, czy model podstawowy wystarczy, jest przeanalizowanie transkrypcji utworzonej na podstawie modelu bazowego i porównanie go z transkrypcją wygenerowaną przez człowieka dla tego samego dźwięku. W artykule dotyczącym wdrażania w tym przewodniku opisano używanie programu Speech Studio do porównywania transkrypcji i uzyskiwania oceny współczynnika błędów słów (WER). Jeśli w wynikach istnieje wiele nieprawidłowych podstawień wyrazów, zalecamy wytrenować model niestandardowy w celu rozpoznawania tych wyrazów.

Jeden z wielu modeli niestandardowych

Jeśli twój scenariusz skorzysta z modelu niestandardowego, należy określić liczbę modeli do skompilowania. Jeden model jest zwykle wystarczający, jeśli wypowiedzi są ściśle powiązane z jednym obszarem lub domeną. Jednak wiele modeli jest najlepszym rozwiązaniem, jeśli słownictwo różni się znacznie w różnych obszarach domeny. W tym scenariuszu potrzebne są również różne dane szkoleniowe.

Wróćmy do przykładu olimpiady. Załóżmy, że musisz uwzględnić transkrypcję komentarzy audio dla wielu dyscyplin sportowych, w tym hokeja na lodzie, luge, snowboardingu, narciarstwa alpejskiego i nie tylko. Utworzenie niestandardowego modelu mowy dla każdego sportu poprawi dokładność, ponieważ każdy sport ma unikatową terminologię. Jednak każdy model musi mieć zróżnicowane dane szkoleniowe. Jest zbyt restrykcyjne i niewykonalne, aby utworzyć model dla każdego komentatora dla każdego sportu. Bardziej praktycznym podejściem jest utworzenie pojedynczego modelu dla każdego sportu, ale uwzględnianie dźwięku z grupy, która obejmuje komentatorów z różnymi akcentami, zarówno płciami, jak i w różnym wieku. Wszystkie frazy specyficzne dla domeny związane ze sportem, które są przechwytywane przez różnych komentatorów, znajdują się w tym samym modelu.

Należy również wziąć pod uwagę języki i ustawienia regionalne do obsługi. Warto utworzyć te modele według ustawień regionalnych.

Adaptacja modelu akustycznego i językowego

Usługa Azure Speech oferuje trzy opcje trenowania modelu niestandardowego:

Adaptacja modelu językowego jest najczęściej używanym dostosowywaniem. Model językowy pomaga wytrenować sposób, w jaki określone wyrazy są używane razem w określonym kontekście lub w określonej domenie. Tworzenie modelu językowego jest również stosunkowo łatwe i szybkie. Najpierw wytrenuj model, podając różne wypowiedzi i frazy dla określonej domeny. Jeśli na przykład celem jest wygenerowanie transkrypcji dla narciarstwa alpejskiego, zbierz generowane przez człowieka transkrypcje wielu wydarzeń narciarskich. Wyczyść je i połącz, aby utworzyć jeden plik danych treningowych z około 50 tysięcy fraz i zdań. Aby uzyskać więcej informacji na temat wymagań dotyczących danych dotyczących trenowania niestandardowego modelu językowego, zobacz Trenowanie i testowanie zestawów danych.

Dostosowywanie modelu wymowy jest również jednym z najczęściej używanych dostosowań. Model wymowy pomaga modelowi niestandardowego rozpoznawać nietypowe słowa, które nie mają standardowej wymowy. Na przykład niektóre terminologia w narciarstwie alpejskim pożyczają się z innych języków, takich jak terminy schuss i potentat. Te słowa są doskonałymi kandydatami do szkolenia z zestawem danych wymowy. Aby uzyskać więcej informacji na temat ulepszania rozpoznawania przy użyciu pliku wymowy, zobacz Dane wymowy na potrzeby trenowania. Aby uzyskać szczegółowe informacje na temat tworzenia modelu niestandardowego przy użyciu usługi Speech Studio, zobacz Co to jest usługa Custom Speech?.

Adaptacja modelu akustycznego zapewnia trenowanie fonetyczne w wymowie niektórych słów, dzięki czemu usługa Azure Speech może je prawidłowo rozpoznać. Aby utworzyć model akustyczny, potrzebujesz przykładów dźwiękowych i towarzyszących transkrypcji generowanych przez człowieka. Jeśli język rozpoznawania jest zgodny z typowymi ustawieniami regionalnymi, takimi jak en-US, użycie bieżącego modelu odniesienia powinno być wystarczające. Modele bazowe mają zróżnicowane szkolenia, które wykorzystują głosy natywnych i nienatywnych angielskich mówców do pokrycia ogromnej ilości słownictwa angielskiego. W związku z tym utworzenie adaptacji modelu akustycznego w modelu podstawowym en-US może nie zapewnić znacznej poprawy. Trenowanie niestandardowego modelu akustycznego zajmuje nieco więcej czasu. Aby uzyskać więcej informacji na temat wymagań dotyczących danych dotyczących niestandardowego trenowania akustycznego, zobacz Trenowanie i testowanie zestawów danych.

Ostatni model niestandardowy może zawierać zestawy danych, które używają kombinacji wszystkich trzech dostosowań opisanych w tej sekcji.

Trenowanie modelu niestandardowego

Istnieją dwa podejścia do trenowania modelu niestandardowego:

  • Trenowanie przy użyciu wielu przykładów fraz i wypowiedzi z domeny. Na przykład obejmują transkrypcje oczyszczonych i znormalizowanych alpejskich wydarzeń narciarskich audio i generowanych przez człowieka transkrypcji poprzednich zdarzeń. Upewnij się, że transkrypcje zawierają terminy używane w narciarstwie alpejskim i wiele przykładów tego, jak komentatorzy je wymawiają. Jeśli wykonasz ten proces, wynikowy model niestandardowy powinien mieć możliwość rozpoznawania wyrazów i fraz specyficznych dla domeny.

  • Trenowanie przy użyciu określonych danych, które koncentrują się na obszarach problemów. Takie podejście działa dobrze, gdy nie ma zbyt wielu danych treningowych, na przykład jeśli nowe terminy slangu są używane podczas imprez alpejskich na nartach i muszą być uwzględnione w modelu. Ten typ trenowania korzysta z następującego podejścia:

    • Użyj programu Speech Studio, aby wygenerować transkrypcję i porównać ją z transkrypcjami wygenerowanymi przez człowieka.
    • Zidentyfikuj obszary problemów na podstawie wzorców w tym, co mówią komentatorzy. Identyfikacji:
      • Konteksty, w których jest stosowany wyraz problemu lub wypowiedź.
      • Różne przegięcia i wymowa słowa lub wypowiedzi.
      • Wszelkie unikatowe aplikacje specyficzne dla komentatora słowa lub wypowiedzi.

Trenowanie modelu niestandardowego z określonymi danymi może być czasochłonne. Kroki obejmują dokładne analizowanie luk transkrypcji, ręczne dodawanie fraz szkoleniowych i wielokrotne powtarzanie tego procesu. Jednak w końcu takie podejście zapewnia ukierunkowane szkolenie dla obszarów problemów, które wcześniej zostały niepoprawnie transkrypcji. I można iteracyjne kompilować ten model, selektywnie szkoląc się na krytycznych obszarach, a następnie przechodząc w dół listy w kolejności ważności. Kolejną korzyścią jest to, że rozmiar zestawu danych będzie zawierać kilkaset wypowiedzi, a nie kilka tysięcy, nawet po wielu iteracji tworzenia danych treningowych.

Po utworzeniu modelu

Po utworzeniu modelu należy pamiętać o następujących zaleceniach:

  • Należy pamiętać o różnicy między tekstem leksykalnym i tekstem wyświetlanym. Usługa Speech Studio tworzy WER na podstawie tekstu leksyktycznego. Jednak to, co użytkownik widzi, jest tekstem wyświetlanym z znakiem interpunkcyjnym, literami i wyrazami liczbowymi reprezentowanymi jako liczby. Poniżej przedstawiono przykład tekstu leksyktycznego i tekstu wyświetlanego.

    Tekst leksykalny: szybkość jest świetna, a czas jest jeszcze lepszy pięćdziesiąt siedem oh sześć sekund dla Niemiec

    Wyświetl tekst: szybkość jest świetna. A ten czas jest jeszcze lepszy. 57063 sekundy dla Niemiec.

    Oczekiwano (implikowane) : Szybkość jest świetna. A ten czas jest jeszcze lepszy. 57,063 sekundy dla Niemiec

    Model niestandardowy ma niską szybkość WER, ale nie oznacza to, że szybkość błędów postrzegana przez użytkownika (błędy w tekście wyświetlanym) jest niska. Ten problem występuje głównie w danych wejściowych alfanumerycznych, ponieważ różne aplikacje mogą mieć alternatywne sposoby reprezentowania danych wejściowych. Nie należy polegać tylko na WER. Należy również przejrzeć końcowy wynik rozpoznawania.

    Gdy tekst wyświetlania wydaje się nieprawidłowy, przejrzyj szczegółowy wynik rozpoznawania z zestawu SDK, który zawiera tekst leksyktyczny, w którym wszystko jest napisane. Jeśli tekst leksykalny jest poprawny, rozpoznawanie jest dokładne. Następnie można rozwiązać niedokładności w tekście wyświetlanym (ostatnim rozpoznanym wyniku), dodając reguły przetwarzania końcowego.

  • Zarządzanie zestawami danych, modelami i ich wersjami. W programie Speech Studio podczas tworzenia projektów, zestawów danych i modeli istnieją tylko dwa pola: nazwa i opis. Podczas tworzenia zestawów danych i modeli iteracyjne należy postępować zgodnie z dobrym schematem nazewnictwa i przechowywania wersji, aby ułatwić identyfikację zawartości zestawu danych i model, który odzwierciedla wersję zestawu danych. Aby uzyskać więcej informacji na temat tego zalecenia, zobacz Wdrażanie niestandardowej mowy w rozwiązaniu tekstowym.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Inni współautorzy:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki