Tłumaczenie statystyczne

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Statystyczne tłumaczenie maszynowe – metoda tłumaczenia automatycznego, w której przekład tworzony jest w oparciu o modele statystyczne, których parametry pozyskiwane są poprzez analizę korpusu równoległego danej pary języków. Ten sposób tłumaczenia stanowi alternatywę dla metod opartych na regułach transferu, jak i dla systemów opierających się na przykładach.

Pierwsze koncepcje tłumaczenia statystycznego zostały wprowadzone w roku 1949 przez Warrena Weavera[1], który zaproponował użycie do tego celu teorii informacji Claude’a Shannona. Pomysł ten odrodził się i został rozpropagowany w roku 1991, dzięki grupie badawczej z centrum badawczego, Thomas J. Watson Research Center[2]. Duży wpływ na ponowne przyjrzenia się zastosowaniom statystyki do tłumaczenia automatycznego miały sukcesy metod stochastycznych w dziedzinie rozpoznawania mowy.

Obecnie najbardziej znanym systemem korzystającym z tej metody jest Google Translate.

Podstawy[edytuj | edytuj kod]

Fundamenty tłumaczenia statystycznego stanowi Teoria Informacji. Przy tłumaczeniu dokumentu określamy prawdopodobieństwo p(p | a), że ciąg znaków p w języku źródłowym (np. polskim) jest tłumaczeniem ciągu a w języku obcym (np. angielskim).

Stosując do p(p | a) Twierdzenie Bayesa możemy powiedzieć, że p(p | a) jest proporcjonalne do  p(a | p) p(a) , gdzie model tłumaczenia p(a | p) to prawdopodobieństwo iż tekst obcy jest tłumaczeniem tekstu źródłowego, zaś model językowy p(a) to prawdopodobieństwo wystąpienia danego tekstu źródłowego. Rozbija to problem początkowy na dwa podproblemy.

Znalezienie najlepszego tłumaczenia \tilde{p} polega więc na wybraniu tego o najwyższym prawdopodobieństwie:

 \tilde{p} = arg \max_{p \in p^*} p(p|a) = arg \max_{p\in p^*} p(a|p) p(p)

Dosłowna implementacja tego wzoru mogłaby polegać na zachłannym przeszukiwaniu wszystkim możliwych ciągów p* w języku źródłowym. Wydajne przeszukiwanie należy do zadań dekodera tłumaczenia maszynowego, który korzysta z ciągu w języku obcym, metod heurystycznych i innych metod do zachowania kompromisu pomiędzy ograniczaniem przestrzeni przeszukiwań a przyzwoitą jakością przekładu.

Jako że przechowywanie wszystkich możliwych ciągów języka źródłowego i ich tłumaczeń nie jest możliwe, tekst jest przeważnie tłumaczony zdanie po zdaniu, jednak nawet to ograniczenie nie jest wystarczające.

Pierwotnie modele tłumaczenie statystycznego działały w oparciu o wyrazy, jako podstawową jednostkę, są to:

  • Modele 1-5 – opracowany przez IBM
  • HMM (Hidden Markov Model), autor – Stephen Vogel[3]
  • Model 6, autorstwa Franza-Josepha Ocha[4]

Najefektywniejsze obecnie systemy pracują na większych od wyrazów strukturach składniowych, jak np. zdania, jednak wciąż używają dopasowań wyrazów do obliczania parametrów niezbędnych przy translacji[5][6].

Korzyści[edytuj | edytuj kod]

Najczęściej wymieniane korzyści płynące z tłumaczenia statystycznego, w porównaniu do tradycyjnego podejścia to:

  • Lepsze użycie zasobów
    • Istnieje olbrzymia ilość tekstów w języku naturalnym w postaci cyfrowej, gotowej do obróbki przez systemy tłumaczenia
    • W ogólności, systemy TS nie są tworzone pod konkretne pary języków (choć dla niektórych par rezultaty mogą być dużo lepsze niż dla innych)
    • Tworzenie systemów opartych na regułach wymaga ręcznego opracowania reguł językowych, co angażuje dużą ilość zasobów ludzkich, co może być kosztowne, systemów takich nie można w łatwy sposób dostosować do obsługi języków innych niż zakładanych przy tworzeniu systemu
  • Bardziej naturalnie brzmiące tłumaczenie
    • Systemy tłumaczenia statystycznego bazują na tekstach przełożonych przez człowieka, więc przekład brzmi bardziej naturalnie niż tekst ułożony na podstawie zaprogramowanych reguł

Tłumaczenie na poziomie wyrazów[edytuj | edytuj kod]

Podstawową jednostką tłumaczenia tego typu są wyrazy pewnego języka naturalnego. Zazwyczaj ilość wyrazów w zdaniach źródłowych różni się od ich tłumaczeń z powodu wyrazów złożonych, morfologii oraz idiomów. Wskaźnik informujący nas o tym ile wyrazów produkowanych jest przez słowa języka źródłowego nazywamy płodnością. W teorii zakładamy, że każde z wyprodukowanych słów utożsamiamy z tym samym obiektem. W praktyce nie zawsze musi to być prawdziwe. Dla przykładu polskie słowo „zamek”, będące homonimem, możemy przełożyć na angielskie „castle” lub „lock”.

Przykładem systemu tłumaczenia na poziomie wyrazów jest ogólnodostępny pakiet GIZA++ (licencja GPL), zawierający program trenujący dla modeli IBM, modelu HMM oraz Modelu 6[4].

Tłumaczenie oparte na wyrazach nie jest już zbyt często używane i zostaje zastępowane systemami koncentrującymi się na frazach, które jednak wciąż korzystają z GIZY++ (lub podobnych programów), dla dopasowania korpusu językowego. Dopasowania ułatwiają wyciąganie fraz lub wnioskowanie reguł składniowych.

Sprawia to, że pomimo iż same tłumaczenia na poziomie wyrazów nie są obecnie popularne, problem dopasowań wyrazów jest ciągle poruszany, a algorytmy ulepszane.

Tłumaczenie na poziomie zdań[edytuj | edytuj kod]

Tłumaczenie bazujące na zdaniach stara się ominąć ograniczenia tłumaczeń na poziomie wyrazów, poprzez przekład całych ciągów zdań o różnych długościach. Ciągi te zwane są blokami bądź frazami, jednak nie są to frazy w rozumieniu lingwistycznym, ale frazy wyciągnięte z korpusu równoległego przy użyciu metod statystycznych. Zastosowanie fraz w rozumieniu lingwistycznym jest oczywiście możliwe, lecz uzyskana jakość tłumaczenia jest w takim przypadku gorsza[7].

Problemy przy tłumaczeniu statystycznym[edytuj | edytuj kod]

Do problemów z jakimi borykają się systemy tłumaczenia statystycznego należą:

Wyrazy złożone[edytuj | edytuj kod]

Homonimy[edytuj | edytuj kod]

Idiomy[edytuj | edytuj kod]

Idiomy mogą być szczególnie problematyczne przy tłumaczeniach na poziomie wyrazów. Ze względu na fakt, iż występują w korpusach rzadziej od słów składających się na nie, mogą być czasem przetłumaczone w sposób groteskowy. Przykładem może być angielskie „It rains cats and dogs” – czyli polskie „leje jak z cebra”, co w statystycznym tłumaczeniu może zostać przełożone dosłownie na „pada kotami i psami”.

Morfologia[edytuj | edytuj kod]

Szyk wyrazów w zdaniu[edytuj | edytuj kod]

Szyk wyrazów różni się w zależności od języka. Pewnej klasyfikacji można dokonać określając typową kolejność występowania w zdaniu podmiotu, orzeczenia i dopełnienia, możemy więc mówić o językach SVO (Subject, Verb, Object), czy SOV (Subject, Object, Verb). Występują także inne różnice gramatyczne między językami, jak chociażby sposób odmiany rzeczowników lub układ wyrazów w zdaniach pytających.

Składnia[edytuj | edytuj kod]

Wyrazy spoza słownika[edytuj | edytuj kod]

Systemy tłumaczenia statystycznego przechowują różne odmiany wyrazów jako odrębne ciągi znaków nie będące w żadnej relacji ze sobą, tak więc formy lub frazy nie znajdujące się w zestawie treningowym systemu nie mogą zostać przetłumaczone.

Przypisy

  1. W. Weaver (1955). Translation (1949). In: Machine Translation of Languages, MIT Press, Cambridge, MA.
  2. P. Brown, S. Della Pietra, V. Della Pietra, and R. Mercer (1993). The mathematics of statistical machine translation: parameter estimation. Computational Linguistics, 19(2), 263-311.
  3. S. Vogel, H. Ney and C. Tillmann. 1996. HMM-based Word Alignment in Statistical Translation. In COLING ’96: The 16th International Conference on Computational Linguistics, s. 836-841, Copenhagen, Denmark.
  4. 4,0 4,1 F. Och and H. Ney. (2003). A Systematic Comparison of Various Statistical Alignment Models. Computational Linguistics, 29(1):19-51.
  5. P. Koehn, F.J. Och, and D. Marcu (2003). Statistical phrase based translation. In Proceedings of the Joint Conference on Human Language Technologies and the Annual Meeting of the North American Chapter of the Association of Computational Linguistics (HLT/NAACL).
  6. D. Chiang (2005). A Hierarchical Phrase-Based Model for Statistical Machine Translation. In Proceedings of the 43rd Annual Meeting of the Association for Computational Linguistics (ACL'05).
  7. Philipp Koehn, Franz Josef Och, Daniel Marcu: Statistical Phrase-Based Translation (2003).

Linki zewnętrzne[edytuj | edytuj kod]