Krzysztof Wołk | 27 grudnia 2018, 14:01

Tłumaczenie maszynowe na dłoni

Znajomość języków obcych, choć tak bardzo potrzebna, nie jest jeszcze na tyle powszechna, by każdy mógł się porozumieć z każdym. Do tego istnieją setki języków, już nie mówiąc o dialektach. Dlatego szukamy nowoczesnych rozwiązań, które pomogą nam porozumieć się w każdym zakątku świata. W odpowiedzi na nasze potrzeby powstają urządzenia i aplikacje, które działają jak natychmiastowi tłumacze.

 

Wielu z Was zapewne słyszało o Tłumaczu Google – stronie internetowej, która automatycznie przekłada ze 100 różnych języków na wybrany. Narzędzie tłumacza dostępne jest nawet w telefonach oraz zegarkach smartwatch.

 

Technika, która to umożliwia, nazywa się tłumaczeniem maszynowym. Zrewolucjonizowała ona świat na tyle, że pozwala ludziom na komunikowanie się, gdy w innym przypadku nie byłoby to możliwe. Obecnie wkracza w świat miniaturowych elektronicznych gadżetów i, co jeszcze ważniejsze, często nie wymaga łączności z siecią, gdyż obliczenia odbywają się w urządzeniu mieszczącym się w dłoni. W niniejszym artykule powiemy nieco więcej o samej technice, jak i dokonamy przeglądu aplikacji oraz urządzeń przenośnych obsługujących funkcje translacji w czasie rzeczywistym.

Wprowadzenie

Przedsiębiorstwa i ośrodki naukowe z całego świata pracują nad tym, aby dzięki nowoczesnej technice nasze życie znacznie się poprawiło. Choć lubimy narzekać na różne rozwiązania, i tak bardzo często z nich korzystamy, ponieważ sprawiają, że niektóre czynności jesteśmy w stanie wykonać znacznie szybciej niż bez ich udziału. Wprawdzie mówi się o niedoskonałości tłumaczeń, szczególnie w bardzo długich tekstach, ale nadal każdego dnia tłumaczy się miliony, a nawet miliardy słów. Czyli choć zdarza się nam narzekać na jakość tego rozwiązania, nie przeszkadza nam to z niego korzystać.

Wiemy przecież, że już od niemal 15 lat uczniowie amerykańskich szkół średnich używają Google Translate, który... tłumaczy im zadania domowe z innego języka, na przykład hiszpańskiego. Czyli nie jest to jakaś nowość, prawda?

Mamy jednak powód, aby o tym teraz mówić, już bowiem od dwóch lat głębokie uczenie maszynowe kompletnie zrewolucjonizowało nasze nastawienie do tłumaczenia maszynowego. Specjaliści od głębokiego nauczania, którzy prawie nie mają pojęcia o przekładzie, tworzą całkiem proste rozwiązania tłumaczenia maszynowego, które biją na głowę najlepsze systemy tłumaczenia skonstruowane przez najlepszych ekspertów zajmujących się statystycznym uczeniem maszynowym.

Technologia stojąca za tym przełomem nazywa się tłumaczeniem z sekwencji na sekwencję (sequence-to-sequence learning). Jest bardzo wydajna i ma wiele zastosowań, nie tylko w przekładzie językowym. Przyjrzymy się jej użyciu w procesie tłumaczenia, ale także powiemy, jak ten sam algorytm może być wykorzystany do napisania czat-bota zarządzanego przez sztuczną inteligencję oraz opisu zdjęcia.

Co możemy zrobić, aby komputer był w stanie przełożyć tekst z języka naturalnego? Najprostszym rozwiązaniem jest oczywiście tłumaczenie po prostu słowo w słowo, czyli zastąpienie wszystkich słów w języku źródłowym słowami w języku docelowym. Oto przykład prostego tłumaczenia z języka hiszpańskiego na angielski:

Zastąpiliśmy każde słowo hiszpańskie odpowiednikiem w języku angielskim. Jest to bardzo proste do przeprowadzenia, ponieważ potrzeba jedynie słownika, aby znaleźć tłumaczenie każdego słowa. Rezultat jednak jest opłakany, bo taki sposób całkowicie pomija kontekst oraz zasady gramatyczne.

Aby udoskonalić przekład, należy dodać zasady rządzące wypowiedzią w danym języku. Możemy na przykład przetłumaczyć często pojawiające się frazy złożone z dwóch wyrazów jako jedną grupę. Możemy też zmienić miejsce rzeczowników czy przymiotników, które w języku hiszpańskim mają odwrotną kolejność niż w angielskim. Możemy też regułowo okodować różne inne zawiłości danej pary języków.

To podziałało! Czyż nie wystarczy więc dodawanie reguł do momentu zyskania znajomości wszystkich dziedzin gramatyki, aby program mógł poprawnie przetłumaczyć każde dane zdanie?

Na takiej właśnie zasadzie działały wczesne systemy tłumaczeniowe oparte na regułach (rule-based). Lingwiści próbowali zaprogramować wszystkie skomplikowane zasady języka jedna po drugiej. Podczas zimnej wojny jedni z najwybitniejszych w swojej dziedzinie stworzyli taki system, aby łatwiej było tłumaczyć informacje uzyskane w wyniku analizy komunikacji rosyjskiej.

Niestety, ten sposób działał tylko w przypadku bardzo prostych tekstów, takich jak prognoza pogody. Programy tego typu nie były w stanie prawidłowo odczytywać prawdziwych dokumentów.

Powodem jest to, że język naturalny nie ma ściśle określonych reguł. Nasze języki są przepełnione wyjątkami, gwarą regionalną czy po prostu zwykłym łamaniem reguł gramatycznych. Na używany przez nas język większy wpływ ma to, kto kogo w przeszłości podbił, niż sztywne zasady zdefiniowane przez jakiś autorytet w dziedzinie gramatyki.