TechnologiaGłos i mowa
Rozpoznawanie mowy po polsku, czyli jak voicebot słyszy nazwiska, ulice i numery
Rozpoznawanie mowy po polsku (ASR) to ta część asystenta głosowego (voicebota), która zamienia słowa dzwoniącego na tekst. Model językowy zwykle nie słyszy klienta, dostaje tylko ten zapis, więc każda pomyłka na tym etapie idzie dalej. Polszczyzna utrudnia sprawę odmianą, pisownią nazwisk i głoskami „s”, „sz”, „ś”, które w wąskim paśmie telefonu łatwo pomylić. Jak z tym radzi sobie konkretny silnik, sprawdzisz na własnych nazwiskach jeszcze przed startem.
Co robi ASR i dlaczego od niego zaczyna się każda rozmowa
ASR to pierwszy z trzech kroków, z których składa się każdy asystent głosowy: rozpoznawanie mowy zamienia dźwięk na tekst, model językowy układa odpowiedź, a synteza mowy czyta ją na głos. Pierwsze ogniwo potrafi zepsuć rozmowę po cichu.
W telefonie ASR działa strumieniowo: wypisuje tekst jeszcze w trakcie mówienia, poprawia go w locie i oddaje wersję końcową, gdy klient skończy zdanie. Model językowy dostaje tylko ten zapis. Nie słyszy tonu ani tego, jak starannie klient wymówił nazwisko. Jeśli w transkrypcji stoi „Hmielewski”, agent szuka w kartotece Hmielewskiego. I nie znajduje.
Dlatego przy nieudanej rozmowie zacznij od zapisu z rozpoznawania mowy, a dopiero potem czytaj instrukcję agenta. Nierzadko agent zachował się rozsądnie, tylko usłyszał co innego, niż powiedział klient.
Czym polszczyzna utrudnia maszynie życie
Najpierw odmiana. Polski ma siedem przypadków, więc jedno nazwisko pojawia się w rozmowie w kilku formach: Kowalski, Kowalskiego, Kowalskiemu, o Kowalskim, państwo Kowalscy. Człowiek tego nie zauważa. System, który ma dopasować nazwisko do kartoteki, musi wiedzieć, że chodzi o tę samą osobę.
Do tego pisownia, której nie słychać. „Może” i „morze” brzmią identycznie, podobnie jak „ch” i „h”, „ó” i „u”, „rz” i „ż”. ASR wybiera zapis, który częściej widział w danych, na których go uczono, więc pani Gura łatwo zostaje panią Górą. W zwykłym zdaniu ratuje to kontekst. W nazwisku kontekstu nie ma.
Jest też pułapka w samym mierzeniu jakości. Dostawcy podają zwykle WER, czyli odsetek błędnie rozpoznanych słów. W polszczyźnie zła końcówka liczy się jako błąd całego słowa, nawet gdy wiadomo, o kogo chodzi („Kowalskiemu” zamiast „Kowalskiego”). Wyników dla polskiego i angielskiego nie porównuj więc wprost, a liczbę z prezentacji handlowej traktuj jako orientację.
Nazwiska, ulice i słownik nazw twojej firmy
Ogólny model dobrze zna codzienne słownictwo. Gorzej z tym, co lokalne i branżowe: nazwiskami lekarzy, nazwami zabiegów, ulicami i osiedlami w twoim mieście, modelem kotła, który serwisujesz. Ludzie mówią też adresy po swojemu. Mało kto mówi „ulica Trzeciego Maja”, raczej „na Trzeciego Maja”, a aleja Jana Pawła II to w rozmowie zwykle „Jana Pawła”. W bazie stoi „ul. 3 Maja” i „al. Jana Pawła II”, więc ktoś musi te formy połączyć.
Wiele silników pozwala podać listę własnych słów i fraz, które system ma uznawać za bardziej prawdopodobne. Trafiają na nią zwykle:
- nazwiska lekarzy, fachowców i pracowników, o których pytają klienci
- ulice, osiedla i miejscowości z twojego terenu, także w formach potocznych
- nazwy usług i produktów z cennika, szczególnie obce i branżowe
- skrótowce z twojej branży, które jedni wymawiają literami, a inni jak zwykłe słowo
Drugą bronią jest literowanie. Polacy robią to odruchowo: „przez ce-ha”, „przez er-zet”, „ó z kreską”, „K jak Karol”. Agent powinien o nie poprosić, gdy nazwisko ma trafić do dokumentów, i umieć taki zapis przyjąć.
Dzień dobry, serwis kotłów Ciepła Chata, mówi asystent AI. Jaką sprawę mogę załatwić?
Chciałbym umówić przegląd kotła. Nazywam się Chmielewski.
Chmielewski przez ce-ha na początku?
Tak, przez ce-ha. Mieszkam na Trzeciego Maja dwanaście przez cztery.
Zapisuję: pan Chmielewski, ulica Trzeciego Maja dwanaście, mieszkanie cztery. Zgadza się?
Zgadza się.
PESEL, numer telefonu i inne ciągi cyfr
Numery to osobna dyscyplina. Jeden klient dyktuje PESEL cyfra po cyfrze, drugi parami („dziewięćdziesiąt jeden, zero trzy, piętnaście”). Ktoś inny pomyli się w połowie i poprawi: „nie siedem, tylko jedenaście”. Numer komórki wiele osób podaje w trzech grupach, często jak setki: „sześćset jeden, dwieście trzydzieści”. Z tego wszystkiego ASR musi złożyć jeden ciąg i nie zgubić żadnego zera.
Da się tu sporo zabezpieczyć:
- System sprawdza cyfrę kontrolną. Ostatnia cyfra PESEL wynika z dziesięciu poprzednich, więc pomyłka w jednej cyfrze od razu wychodzi i agent prosi o powtórzenie.
- Agent pyta o datę urodzenia i sprawdza, czy zgadza się z numerem, bo pierwsze sześć cyfr PESEL to zapisana data urodzenia.
- Klient wpisuje numer na klawiaturze telefonu. Tony DTMF nie mają akcentu i nie gubią zer.
- Agent powtarza numer w tych samych grupach, w jakich go usłyszał, i czeka na potwierdzenie.
Przy PESEL-u klawiatura jest pewniejsza, a głos zostaje drugą drogą dla tych, którzy nie chcą odrywać telefonu od ucha. I zanim zaczniesz o niego pytać, zastanów się, czy w ogóle jest potrzebny, bo to dane osobowe. Jak bezpiecznie ustalić, kto dzwoni, to osobny temat.
Linia telefoniczna gubi część dźwięków
Klasyczna rozmowa telefoniczna przenosi pasmo mniej więcej od 300 do 3400 Hz. Do zrozumienia człowieka to wystarcza, ale wysokie tony, w których siedzi sporo informacji o głoskach „s”, „ś”, „sz” i „f”, zostają obcięte. Stąd pytanie „F czy S?”, które każdy zna z dyktowania przez telefon. W języku pełnym szelestów różnica między „Kasią” a „kaszą” potrafi się rozmyć.
Rozmowa w przeglądarce (WebRTC) ma zwykle szersze pasmo. Połączenia z komórek i telefonów stacjonarnych dochodzą do agenta przez telefonię SIP, więc przyjmij, że dostaje on dźwięk w jakości klasycznego telefonu.
Testuj z prawdziwego aparatu. Mikrofon laptopa niczego nie dowodzi.
Do wąskiego pasma dochodzą jeszcze gwara, obcy akcent i hałas w tle, ale to materiał na osobną stronę o akcentach i hałasie w tle.
Próba u dostawcy na twoich nazwiskach i ulicach
Nie pytaj, czy system zna polski. Każdy powie, że zna. Poproś o próbę na twoim słownictwie, tak jak w każdym teście asystenta głosowego, i czytaj transkrypcje, bo samo słuchanie nagrań niewiele pokaże.
- Spisz 20 nazwisk podobnych do tych, które noszą twoi klienci, w tym trudne („Szczygieł”, „Chrzanowska”, „Grzegorczyk”), i 10 ulic z okolicy.
- Podyktuj je agentowi z komórki, z telefonu stacjonarnego i raz z samochodu, przez zestaw głośnomówiący.
- Podaj zmyślony numer w formacie PESEL i numer telefonu na trzy sposoby: cyframi, parami i z poprawką w środku.
- Poproś o surowe zapisy z ASR i policz, ile nazwisk i numerów przeszło bez błędu.
- Zapytaj, czy da się dodać słownik własnych nazw, kto go uzupełnia i ile trwa zmiana.
Jeśli po takim teście co drugie nazwisko wychodzi z błędem, nie licz, że system „sam się douczy”. Sam się nie douczy.
Najczęstsze pytania
Czy voicebot rozumie polskie nazwiska?
Częste nazwiska rozpoznaje zwykle poprawnie, gorzej rzadkie i te, których pisowni nie słychać („ch” czy „h”). Pomaga słownik nazw w silniku ASR i prośba o przeliterowanie, gdy nazwisko ma się znaleźć w kartotece albo na fakturze. Klienta lepiej odnajdywać po numerze telefonu albo zamówienia niż po samym nazwisku.
Jak dokładne jest rozpoznawanie mowy po polsku przez telefon?
Zależy od silnika, jakości linii, hałasu w tle i słownictwa twojej branży, więc jedna liczba niewiele mówi. Wskaźnik WER łatwo poprawić samym doborem nagrań testowych. Wiarygodny jest dopiero test na twoich nazwiskach, ulicach i numerach, przeprowadzony z prawdziwych telefonów.
Czy asystent głosowy może przyjąć PESEL przez telefon?
Może. Bezpieczniej, gdy klient wpisze go na klawiaturze telefonu, a przy dyktowaniu głosem system powinien sprawdzić cyfrę kontrolną i powtórzyć numer. PESEL to dane osobowe, więc zbieraj go tylko wtedy, gdy naprawdę jest potrzebny.
Czy rozpoznawanie mowy uczy się na moich rozmowach?
Zwykle nie samo z siebie. Silnik ASR poprawia się, gdy ktoś dopisze słownik nazw albo dostawca zmieni model. Zapytaj też, czy nagrania twoich klientów trafiają do trenowania modeli dostawcy, bo to sprawa dla RODO i umowy.
Posłuchaj, jak to brzmi w praktyce
Pięciu asystentów demo rozmawia po polsku w przeglądarce, bez instalowania czegokolwiek. Dane w rozmowach są przykładowe, ale sposób prowadzenia rozmowy jest taki sam jak w prawdziwym wdrożeniu.