Spis treści
Trakskrypcja mowy na tekst to przełomowa technologia, która zwiększa możliwości codziennej interakcji człowieka z maszyną. Technologia pozwala komputerom rozpoznawać mowę i reagować na wypowiedziane polecenia. A to przekłada się na automatyzację wielu czynności, powstawanie narzędzi zwiększających produktywność czy systemów wspierających obsługę klienta.
Usługa Speech-to-Text od Google Cloud – co to jest?
Speech-to-Text (przez niektórych nazywane Voice-to-Text) to jedna z usług Google Cloud Platform. Usługa służy do zautomatyzowanej konwersji mowy na tekst, czyli prowadzenia transkrypcji. Wykorzystuje zaawansowane modele uczenia maszynowego od Google i pozwala prowadzić transkrypcję w ponad 125 językach i dialektach. Usługa Speech-to-Text jest udostępniana jako API (interfejs programowania aplikacji, który umożliwia łączenie systemu z funkcjonującym narzędziem i wykorzystywanie jego funkcji we własnej aplikacji). Dzięki temu już działającą i sprawdzoną usługę można zaimplementować relatywnie niskim kosztem w dowolnym produkcie (po uprzednim dostosowaniu aplikacji do wymagań technicznych).
Speech-to-Text może przetwarzać mowę na dwa sposoby:
- w czasie rzeczywistym, w momencie gdy użytkownik mówi do aplikacji z aktywną usługą,
- lub prowadzić transkrypcję mowy z przesłanego pliku audio lub wideo.
Usługa radzi sobie z transkrypcją nawet mocno branżowych zwrotów i terminów. Dzięki zastosowaniu klas konwertuje też „wypowiedziane” liczby, adresy czy daty do zapisu docelowego (np. pięćdziesiąt trzy zapisze jako 53).
W przypadku aplikacji stworzonej w kontenerach, zarządzanej z poziomu Google Kubernetes Engine, można korzystać z usługi Speech-to-Text w modelu on-premise (premierę usługi Speech-to-Text On-Prem ogłoszono podczas konferencji Google Cloud Next ‘20: OnAir). Usługę wdraża się do aplikacji jako kontener, po czym można korzystać z niej w lokalnym środowisku. To rozwiązanie będzie przydatne zwłaszcza w przypadku organizacji, które muszą spełnić regulacje prawne i ograniczać przetwarzanie w chmurze.
Zobacz: On-premise, chmura prywatna, publiczna, hybrydowa i multi-cloud – zalety i wady rozwiązań
Modele zamiany mowy na tekst w usłudze Speech-to-Text
W usłudze dostępne są różne modele prowadzenia transkrypcji, dopasowane do rodzaju nagrań czy źródeł dźwięku. Obecnie dostępne są cztery modele:
- domyślne automatyczne rozpoznawanie mowy (ASR: Default) – można wykorzystać ten model do prowadzenia transkrypcji dłuższych nagrań zawierających głos jednego mówcy; model najlepiej sprawdza się w przypadku nagrań o częstotliwości 16 000 Hz lub wyższej,
- automatyczne rozpoznawanie mowy dla poleceń i wyszukiwania (ASR: Command and search) – model dedykowany transkrypcji krótkich nagrań, na przykład poleceń głosowych wysyłanych do aplikacji,
- transkrypcja wideo (Video) – model przetwarzania mowy na tekst z materiałów wideo, w których zarejestrowanych jest wielu mówców; najlepiej obsługuje nagrania lub streamingi o częstotliwości 16 000 Hz lub wyższej; jest to model premium i jego koszt jest wyższy niż modeli automatycznego rozpoznawania mowy ASR,
- zapis rozmowy telefonicznej (Phone call) – model przeznaczony do prowadzenia transkrypcji rozmów wykonywanych przez telefon; najlepiej obsługuje nagrania o częstotliwości 8000 Hz; jest to model premium, droższy niż modele ASR.
Dzięki modelom można dopasować usługę przetwarzania mowy do celu, jaki ma spełniać aplikacja. Inny model zostanie wybrany w przypadku tworzenia platformy do streamingu wystąpień, inny do narzędzia wsparcia agentów obsługi klienta pracujących na infolinii, a jeszcze inny do obsługiwania aplikacji za pomocą komend głosowych.
Sposoby wykorzystania usługi przetwarzania mowy na tekst
Speech-to-Text otwiera wiele możliwości, a modele prowadzenia transkrypcji pozwalają wykorzystać usługę w wielu różnych aplikacja. Zamianę mowy na tekst można wykorzystać między innymi w automatyzacji lub wsparciu obsługi klienta, prowadzeniu transkrypcji wideo w czasie rzeczywistym czy wydawaniu aplikacji poleceń głosowych. Oto kilka scenariuszy, w których Speech-to-Text odegra główną rolę.
Wsparcie obsługi klienta
Speech-to-Text jest jedną z bazowych usług Contact Center AI – zestawu od Google Cloud służącego tworzeniu rozwiązań obsługi klienta z wykorzystaniem sztucznej inteligencji.
Z pomocą Speech-to-Text (oraz innych usług z portfolio Contact Center AI) można stworzyć między innymi system wsparcia konsultantów pracujących na infolinii (pomoże Ci w tym np. narzędzie Dialogflow). System, prowadząc w czasie rzeczywistym transkrypcję rozmowy, analizując dialogi i odczytując intencje klienta, serwuje agentowi obsługi potrzebne materiały i wskazówki, jak dalej prowadzić rozmowę. Z użyciem usługi można zbudować system IVR (interactive voice response) – automatyczne call center, obsługiwane głosowo przez klienta, które pomoże rozwiązać proste problemy, a w przypadku trudniejszych kwestii przekieruje rozmówcę do konsultanta.
Zobacz: Jak Google Cloud Platform i sztuczna inteligencja wspierają branżę e-commerce
Sterowanie za pomocą głosu
Speech-to-Text pozwala wdrożyć polecenia głosowe i sterować aplikacją za pomocą mowy. Posiada nawet dedykowany model prowadzenia transkrypcji – ASR: Command and search. Dzięki zastosowaniu usługi, aplikacja może obsługiwać polecenia głosowe czy odpowiadać na pytania, na przykład “włącz kolejny film z kolejki”, zwiększ głośność” czy “sprawdź pogodę w Bieszczadach na sobotę”. Usługę można zaimplementować też w aplikacjach wykorzystujących technologie internetu rzeczy (stworzonych np. na platformie Google Cloud IoT), co pozwoli użytkownikom sterować inteligentnymi urządzeniami za pomocą głosu.
Pisanie głosowe
Robienie notatek głosowych jest dla niektórych wybawieniem. Dyktowanie tekstu jest dostępne już w wielu aplikacjach, między innymi w Dokumentach czy Prezentacjach w Google Workspace (wcześniej G Suite).
Transkrypcja multimediów
Speech-to-text pozwala w czasie rzeczywistym dodawać napisy do filmów. Za pomocą usługi można też przeprowadzić transkrypcję nagranego materiału i zaindeksować treść podcastu czy wystąpienia, co pozwoli zwiększyć zasięg materiału. Napisy przy filmie wpłyną też pozytywnie na doświadczenia odbiorców – zdecydowana większość użytkowników social media ogląda filmy bez włączonego dźwięku.
Tłumaczenia
Speech-to-text jest jedną z usług, która wspiera tłumaczenie – symultaniczne czy w formie napisów dodanych do filmu. To dlatego, że aplikacja do tłumaczeń najpierw prowadzi transkrypcję i tłumaczy tekst, a nie bezpośrednio dźwięk. W efekcie możemy wyświetlać przy filmie w obcym języku polskie lub angielskie napisy czy korzystać z tłumacza symultanicznego w Asystencie Google.
Przykład wykorzystania Speech-to-Text przez Castbox – platformę z podcastami
Castbox jest firmą z Hongkongu – największą platformą podcastową w tamtym rejonie (dziennie korzysta z niej ok. 2 miliony użytkowników). W swojej aplikacji udostępnia blisko 100 milionów nagrań – odcinków podcastów oraz audiobooków w ponad 70 językach. To, co wyróżnia Castbox, to prowadzenie transkrypcji wszystkich udostępnianych nagrań, indeksowanie treści i dawanie możliwości wyszukiwania fragmentów konkretnych odcinków po frazach i słowach kluczowych.
Castbox, dzięki usługom Google Cloud Platform, w ciągu doby jest w stanie przeprowadzić transkrypcję ok. 20 godzin nagrań, z 96% skuteczności w zamianie mowy na tekst.
Ile kosztuje Speech-to-Text w GCP?
Pierwsze 60 minut w każdym miesiącu jest bezpłatne. Powyżej godziny opłaty naliczane są za kolejne 15 sekund zużycia.
Dla modeli automatycznego rozpoznawania mowy (ASR: Default oraz ASR: Command and search) jest to 0,006 $ za 15 sekund.
Dla modeli premium (Video oraz Phone Call) cena wynosi 0,009 $ za 15 sekund.
Speech-to-Text TUTORIAL
Żeby zaimplementować Speech-to-Text należy wykorzystać Google Cloud API, a do tego potrzebne będzie Ci konto na platformie Google Cloud.
Tutaj zobaczysz jak założyć konto na GCP.
Przejdź do konsoli. Stwórz nowy projekt i zapamiętaj jego ID.
Z paska bocznego (menu po lewej stronie) wybierz APIs & Services / Dashboard.
Wybierz ENABLE APIS AND SERVICES.
Wyszukaj Cloud Speech API.
Kliknij Enable i zaczekaj kilka sekund.
Uruchom Cloud Shell. Żeby aktywować Cloud Shell, kliknij ikonkę w prawym górnym rogu na pasku.
Zaczekaj aż uruchomi się projekt user@project:~$.
Następnie wygeneruj klucz API do przekazywania żądań. Żeby utworzyć klucz, przejdź do APIs & Services – Credentials.
WybierzCreate credentials i w rozwijanym menu kliknij API key.
Skopiuj klucz, który właśnie został wygenerowany. W Cloudshell wstaw komendę export. Zamień your_api_key na Twoj wygenerowany klucz.
export API_KEY= YOUR_API_KEY
Żądanie do interfejsu API usługi możesz zbudować w pliku request.json. Żeby stworzyć ten plik, możesz skorzystać z wbudowanego w Cloud Shell edytora kodu:
Utwórz plik o nazwie request.json w katalogu domowym i dodaj następujące elementy:
{ config { encoding:FLAC, languageCode: en-US }audio: { uri: gs://cloud-samples-tests/speech/brooklyn.flac } }
W konsoli wpisz poniższą komendę (w jednej linii):
curl -s -X POST -H Content-Type: application/json --data-binary @request.json https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}
Odpowiedź powinna wyglądać następująco:
{ results: [ { alternatives: [ { transcript: how old is the Brooklyn Bridge, confidence: 0.98267895 } ] } ] }
Wartość transcript zawiera stworzoną przez usługę transkrypcję pliku dźwiękowego brooklyn.flac. Confidence wskazuje, z jakim prawdopodobieństwem API prawidłowo rozpoznało i przetworzyło mowę na tekst.
I to wszystko! W taki sposób działa API Speech-to-Text.