Jak Google przekształcił tłumaczenie języka w problem matematyki przestrzeni wektorowej

Informatyka zmienia charakter tłumaczenia słów i zdań z jednego języka na inny. Każdy, kto próbował BabelRyba lub tłumacz Google będą wiedzieć, że świadczą przydatne usługi tłumaczeniowe, ale dalekie od doskonałości.





Podstawową ideą jest porównanie korpusu słów w jednym języku z tym samym korpusem słów przetłumaczonych na inny. Słowa i wyrażenia, które mają podobne właściwości statystyczne, są uważane za równoważne.

Problem polega oczywiście na tym, że początkowe tłumaczenia opierają się na słownikach, które muszą zostać opracowane przez ekspertów, a to zajmuje dużo czasu i wysiłku.

Teraz Tomas Mikolov i kilku kumpli z Google w Mountain View opracowali technikę, która automatycznie generuje słowniki i tabele wyrażeń, które konwertują jeden język na inny.



Nowa technika nie opiera się na wersjach tego samego dokumentu w różnych językach. Zamiast tego wykorzystuje techniki eksploracji danych do modelowania struktury jednego języka, a następnie porównuje ją ze strukturą innego języka.

Ta metoda nie zakłada zbyt wielu języków, więc można jej używać do rozszerzania i udoskonalania słowników i tabel tłumaczeń dla dowolnych par językowych.

Nowe podejście jest stosunkowo proste. Opiera się na założeniu, że każdy język musi opisywać podobny zestaw idei, więc słowa, które to robią, również muszą być podobne. Na przykład większość języków zawiera słowa oznaczające pospolite zwierzęta, takie jak kot, pies, krowa i tak dalej. I te słowa są prawdopodobnie używane w ten sam sposób w zdaniach, że kot to zwierzę mniejsze od psa.



To samo dotyczy liczb. Powyższy obrazek pokazuje wektorowe reprezentacje liczb od jednego do pięciu w języku angielskim i hiszpańskim oraz pokazuje, jak bardzo są one podobne.

To ważna wskazówka. Nowa sztuczka polega na reprezentowaniu całego języka za pomocą relacji między jego słowami. Zbiór wszystkich relacji, tak zwaną przestrzeń językową, można traktować jako zbiór wektorów, z których każdy wskazuje od jednego słowa do drugiego. W ostatnich latach lingwiści odkryli, że można matematycznie obsługiwać te wektory. Na przykład operacja „król” – „mężczyzna” + „kobieta” daje wektor podobny do „królowej”.

Okazuje się, że różne języki mają wiele podobieństw w tej przestrzeni wektorowej. Oznacza to, że proces konwersji jednego języka na inny jest równoważny ze znalezieniem transformacji, która przekształca jedną przestrzeń wektorową w drugą.



To zmienia problem przekładu z lingwistyki na matematykę. Problemem zespołu Google jest więc znalezienie sposobu na dokładne odwzorowanie jednej przestrzeni wektorowej na drugą. W tym celu używają małego dwujęzycznego słownika opracowanego przez ekspertów — porównanie tego samego zbioru słów w dwóch różnych językach daje im gotowe przekształcenie liniowe, które załatwia sprawę.

Po zidentyfikowaniu tego mapowania, łatwo jest zastosować je do większych przestrzeni językowych. Mikolov i spółka twierdzą, że działa wyjątkowo dobrze. Mimo swojej prostoty, nasza metoda jest zaskakująco skuteczna: możemy osiągnąć prawie 90% precyzję@5 w tłumaczeniu słów między angielskim i hiszpańskim, mówią.

Metodę można wykorzystać do rozszerzenia i udoskonalenia istniejących słowników, a nawet do wykrycia w nich błędów. Rzeczywiście, zespół Google robi dokładnie to ze słownikiem angielsko-czeskim, znajdując liczne błędy.



Na koniec zespół wskazuje, że ponieważ technika ta nie zakłada wielu założeń co do samych języków, może być stosowana na argotach, które nie są ze sobą powiązane. Tak więc, podczas gdy hiszpański i angielski mają wspólną indoeuropejską historię, Mikolov i współpracownicy pokazują, że nowa technika działa równie dobrze w przypadku par języków, które są mniej spokrewnione, takich jak angielski i wietnamski.

To przydatny krok naprzód dla przyszłości komunikacji wielojęzycznej. Ale zespół twierdzi, że to dopiero początek. Najwyraźniej jest jeszcze wiele do zbadania, konkludują.

Nr ref.: arxiv.org/abs/1309.4168 : Wykorzystywanie podobieństw między językami do tłumaczenia maszynowego

ukryć