Komputerowy tłumacz
Dzięki zastosowaniu nowoczesnych algorytmów w tłumaczeniach maszynowych jest coraz mniej błędów. Już niedługo z tej technologii będzie korzystać komunikator Skype program będzie miał moduł, który rozpozna mowę, przetłumaczy oraz wypowie zdania w obcym języku niczym zawodowy tłumacz.
Rozwój internetu umożliwił dostęp do informacji na skalę globalną. Jednak co z tego, skoro większość dostępnych treści jest odgrodzona barierą językową? W przypadku międzynarodowej komunikacji problem jest jeszcze bardziej złożony, gdyż wymaga wyższego poziomu umiejętności językowych niż w przypadku korzystania ze źródeł informacji. Można oczywiście korzystać z tłumacza, ale ze względu na koszty z metody tej mogą korzystać głównie firmy i instytucje. Szansą na dostępność tłumaczeń dla reszty ludzi jest zaprzęgnięcie do tej pracy komputerów – dzięki ostatnim osiągnięciom na polu tłumaczenia maszynowego staje się to rozwiązaniem coraz mniej nieprawdopodobnym. Pojawiają się pierwsze programy, które tłumaczą rozmowy w czasie rzeczywistym. Jedną z nich jest Skype Translator, moduł tłumaczenia rozmowy na żywo.
Jak to działa?
Skype Translator, który w chwili pisania tego tekstu wciąż znajdował się w fazie zamkniętych testów, potrafi tłumaczyć rozmowy prowadzone naturalnym, mówionym językiem. Moduł tłumaczący, który bazuje na silniku Microsoft Bing Translatora, rozpoznaje głos, tłumaczy go i syntetyzuje mowę w obcym języku. Jako że algorytm nie zastępuje oryginalnego głosu, lecz dodaje zdanie w obcym języku do wypowiedzi rozmówcy, konwersacja przebiega tak jak przy udziale ludzkiego tłumacza. Obecnie Skype Translator w trybie głosowym tłumaczy tylko rozmowy angielsko-hiszpańskie, ale kolejne języki, w tym polski, mają zostać udostępnione w aplikacji w późniejszym czasie.
Działanie tego systemu jest możliwe między innymi dzięki wykorzystaniu wielopoziomowych sieci neuronowych, które poprawiają skuteczność rozpoznawania głosu, oraz statystycznych metodach tłumaczenia, poprawiających trafność przekładu. Podobnie działają bazujące na zbliżonych technologiach mechanizmy tłumaczenia w programach mobilnych, np. Google Translatorze instalowanym w systemie Android.
Rozpoznawanie mowy
Sieci neuronowe, czyli algorytmy uczące się, swoim zachowaniem przypominają działanie ludzkiego mózgu. Elementy programu, podobnie jak komórki nerwowe, łączą się w sieci, co pozwala na skuteczne rozpoznawanie wzorców i dopasowywanie ich do bazy z próbkami.
Po zarejestrowaniu dźwięku, czyli wypowiadanych przez rozmówcę wyrazów, system tworzy spektrogramy słów. Są one następnie przesyłane do chmury obliczeniowej. Tam algorytmy neuronowe przeprowadzają analizę próbki. Jak to się odbywa? Oprogramowanie rozbija zarejestrowany dźwięk na poszczególne samogłoski i spółgłoski, a potem przepuszcza dane przez kolejne warstwy sieci neuronowej, próbując dopasować dźwięki do słowa. Efektem jest przekształcenie dźwięków na tekst.
Zastosowanie sieci neuronowych pozwoliło zwiększyć skuteczność rozpoznawania mowy do ok. 85 proc. słów wypowiadanych naturalnym językiem. Aby algorytmy neuronowe mogły działać, muszą mieć do dyspozycji rozbudowaną bazę wzorców, czyli nagranych słów wypowiadanych przez różne osoby, które mają charakterystyczny sposób mówienia. Dzięki tej różnorodności nowoczesne systemy rozpoznawania mowy są coraz bardziej tolerancyjne dla języka naturalnego, w którym nieuchronnie pojawiają się błędy i oboczności w wymowie.
Skype Translator ma także dodatkową funkcję, która poprawia jakość konwersji mowy na tekst. Przed przekształceniem wykrywa i kasuje wszystkie dźwięki, które nie są słowami, np. „hmmmm”. Dzięki temu tekst przesyłany do algorytmu tłumaczącego nie jest zaśmiecony, co przekłada się na lepszą jakość maszynowo tłumaczonych treści.
Tłumaczenie tekstu
Maszynowe tłumaczenie tekstu także zostało udoskonalone w ostatnich latach. Wcześniejsze metody, które bazowały na słownikach oraz sztywno zdefiniowanych regułach tłumaczenia, sprawdzały się tylko przy automatycznym tłumaczeniu tekstów pisanych precyzyjnym i przewidywalnym językiem, np. aktów prawnych czy dokumentacji technicznej. Zupełnie nie sprawdzały się w przypadku tekstów mówionych lub pisanych językiem mniej formalnym. Postęp, jaki udało się osiągnąć w rozpoznawaniu mowy przy pomocy sieci neuronowych, tłumaczenie maszynowe zawdzięcza zastosowaniu metody statystycznej.
Polega ona na porównywaniu wpisanego tekstu z wzorcami, którymi są zazwyczaj teksty tłumaczone przez zawodowych tłumaczy. Na tej podstawie algorytm tłumaczący uczy się rozpoznawania i tłumaczenia całych zwrotów i zdań, zamiast pojedynczych, wyrwanych z kontekstu wyrazów. Dzięki temu mechanizm tłumaczący potrafi poprawnie zidentyfikować poprawny sens słów wieloznacznych, takich jak „zamek”, „klucz”, „pilot” czy „mysz”. Zdania z tymi słowami w różnych kontekstach są dobrym testem skuteczności tłumaczenia maszynowego.
Trenowanie algorytmu
Do osiągnięcia dużej skuteczności dopasowywania tekstu przeznaczonego do przetłumaczenia niezbędne są korpusy tekstów tłumaczonych przez ludzi. Skąd je wziąć? W przypadku silnika tłumaczącego firmy Google, który jako pierwszy z popularnych algorytmów tłumaczenia maszynowego zaczął wykorzystywać metodę statystyczną, sięgnięto po przekładane na wiele języków dokumenty ONZ. Obecnie systemy statystyczne są także szkolone na podstawie dokumentów Komisji Europejskiej oraz Parlamentu Europejskiego, których część jest tłumaczona na wszystkie 24 oficjalne języki Unii Europejskiej, w tym na język polski. Dodatkowych danych poprawiających jakość tłumaczenia mogą dostarczyć sami użytkownicy, którzy np. są proszeni przez mechanizm Google’a o poprawienie tłumaczenia. Z kolei Bing Translator, który tłumaczy rozmowy w Skypie, korzysta również z wielojęzycznych stron WWW oraz transkrypcji autentycznych konwersacji przetłumaczonych przez zawodowych tłumaczy.
Konwersja w chmurze
Aby algorytmy tłumaczenia statystycznego mogły działać efektywnie, niezbędne jest wsparcie chmury, która dostarcza mocy obliczeniowej. W przypadku dłuższych tekstów zadanie jest rozdzielane i przetwarzane równolegle w wielu węzłach. Dzięki temu wyniki są dostarczane niemalże w czasie rzeczywistym.
Po tym, jak system tłumaczący pozna znaczenie danego zwrotu, pozostaje jeszcze problem poprawnego sformułowania odpowiedzi. Nie zawsze można przywołać tłumaczenie pochodzące z wzorcowego tekstu, wykorzystanego do trenowania silnika tłumaczącego. W takiej sytuacji wykorzystywane są algorytmy odpowiadające za adaptację reguł gramatycznych oraz ustawianie słów w poprawnym szyku w zdaniu.
Po ułożeniu tekstu w obcym języku system tłumaczący przesyła treść do syntezatora mowy, który, podobnie jak większość komponentów systemu, działa w chmurze. Tekst jest tam przekształcany na mowę w obcym języku i przesyłany do odbiorcy. Cały proces wymiany danych pomiędzy klientem Skype’a a chmurą obsługuje wtyczka, która jest zintegrowana z komunikatorem.
Jakość tłumaczenia
Błędy w przekładzie, których ilość Microsoft szacuje na 15 proc., można częściowo wyeliminować mówiąc wyraźnie, krótkimi zdaniami. Większość błędów nie utrudnia zresztą zrozumienia zdań, choć obniżają precyzję przekazu, a jakość tłumaczenia konwersacji, przy założeniu poprawnego rozpoznania głosu, jest lepsza niż np. maszynowo tłumaczonych stron WWW. Wynika to stąd, że algorytmy statystyczne lepiej radzą sobie w dopasowaniu krótkich fragmentów tekstu, a z takich składa się rozmowa przez Skype. Tłumaczenie maszynowe ma przed sobą intrygującą przyszłość – technologią interesuje się też np. armia USA, chcąca m.in. skuteczniej porozumiewać się z tubylcami.
Gdzie testować tłumaczenie maszynowe?
Testowanie Skype Translatora jest utrudnione – obsługuje tylko języki angielski i hiszpański, a do utworzenia konta potrzebne jest zaproszenie. Do testów jakości tłumaczenia można jednak wykorzystać smartfona – ten sam co Skype Translator mechanizm rozpoznawania mowy, tłumaczenia i syntetyzowania dźwięku wykorzystuje usługa Translator w Windowsie Phone 8. Użytkownicy Androida mogą natomiast sprawdzić konkurencyjnego, ale działającego na tej samej zasadzie Tłumacza Google. Identyczny algorytm działa na stronie WWW, więc można tłumaczyć komunikaty głosowe i sprawdzać poprawność tłumaczenia w różnych językach za pomocą przeglądarki.
www.bing.com/translator/
https://translate.google.pl
Przebieg tłumaczenia w Skype Translatorze
1. Za rozpoznawanie głosu odpowiadają wielowarstwowe sieci neuronowe wzorowane na budowie mózgu. Każda nagrana wypowiedź jest wysyłana do chmury, która zapewnia moc obliczeniową. 2. Z wypowiedzi usuwane są wszystkie zanieczyszczenia typu: „yyy”, „hmm”, co poprawia skuteczność tłumaczenia. 3. Po przekształceniu głosu na tekst wypowiedź jest tłumaczona przez algorytmy wykorzystujące metodę statystyczną, uczone języków poprzez dostarczanie próbek tekstów przetłumaczonych przez ludzi. Odpowiednio duże próbki tłumaczeń są pobierane m.in. z baz organizacji międzynarodowych, np. ONZ. 4. Po przetłumaczeniu tekstu wypowiedź w obcym języku otrzymuje formę głosową za sprawą syntezatora mowy. Skype Translator dopowiada ją do wypowiedzi rozmówcy, do daje efekt podobny do pracy tłumacza-człowieka.