Przeczytaj
Cybernetyka
Nauka zajmująca się sterowaniem, przesyłaniem i przetwarzaniem informacji w systemach technologicznych, biologicznych oraz społecznych.
Tak w 1948 r. cybernetykę zdefiniował Norbert Wiener w książce Cybernetyka, czyli sterowanie i komunikowanie w zwierzęciu i maszynie. Wiener był amerykańskim matematykiem badającym zagadnienia rachunku prawdopodobieństwa oraz analizy funkcjonalnej. Jest uznawany za twórcę cybernetyki.
Nauka ta zajmuje się odkrywaniem ogólnych praw, które są wspólne dla różnych dziedzin; umożliwia ich przenoszenie z jednej dziedziny do drugiej, a zatem znajduje wiele praktycznych zastosowań. W badaniach i analizie wykorzystuje matematykę, logikę formalną, a także nauki techniczne i społeczne. W miarę rozwoju komputerów pewne kierunki badań cybernetycznych zaczęto uważać za część informatyki. Dotyczy to między innymi symulacji komputerowych i sieci neuronowychsieci neuronowych.
Teoria sterowania
Jednym z najważniejszych elementów cybernetyki jest teoria sterowania. Zajmuje się ona wywieraniem wpływu na określone zjawiska i procesy, tak aby osiągnąć pożądany rezultat.
Dobrym przykładem teorii sterowania może być jazda na deskorolce w sytuacji, gdy chcemy utrzymać stałą prędkość jazdy. Rozpatrywanym układem jest tu deskorolka, a wielkością wyjściową układu – osiągana prędkość. Możemy na nią wpływać, kontrolując siłę oraz częstotliwość odepchnięć od podłoża – jest to wielkość wejściowa układu. Dobierając odpowiednie parametry wejścia, wpływamy na wyjście układu, tak aby osiągnąć pożądany wynik, czyli stałą prędkość.
Rozpatrywane układy mogą być mniej lub bardziej skomplikowane oraz rozbudowane. Jednym z bardziej zaawansowanych jest ekonomia. Układ tego typu opiera się na wielu wewnętrznych i zewnętrznych procesach oraz zmiennych, które na siebie stale oddziałują. Na stan tego układu może wpływać choćby rząd przez kontrolę zarobków i cen czy zastosowanie odpowiedniej polityki podatkowej.
Istnieje mnóstwo różnych sytuacji, w których można wykorzystać teorię sterowania, ponieważ jest ona bardzo uniwersalna. Kolejnym takim przykładem jest jej zastosowanie w biologii i medycynie, gdzie na przestrzeni ostatnich lat pojawia się wiele problemów optymalizacyjnych związanych z budową urządzeń wspomagających pracę układu krwionośnego czy nerwowego.
Maszyny inteligentne
Inspiracje dla różnego rodzaju rozwiązań stosowanych podczas projektowania maszyn inteligentnych są często czerpane z otaczającego nas świata. Na przykład sposoby przystosowywania się organizmów żywych do warunków otoczenia oparte na mechanizmach ewolucji wykorzystuje się w algorytmach genetycznych, którym poświęcimy kilka następnych lekcji. Z kolei koncepcja sieci neuronowych wykorzystuje wiedzę o tym, w jaki sposób ludzki mózg przetwarza informacje. Natomiast analogii do procesu uczenia maszyn możemy szukać w metodzie stosowanej podczas szkolenia zwierząt – nagradza się je za zachowania pożądane.
Lingwistyka i jej osiągnięcia
Wiele wspólnego z cybernetyką ma także lingwistyka. Jest to nauka o uniwersalnych regułach budowy i struktury języków, badająca także ich konkretne funkcje. Podobnie jak cybernetyka, dyscyplina ta zajmuje się wyszukiwaniem analogii, schematów i zasad wspólnych dla różnych języków. Pozwala to na lepsze poznanie ich struktury, co ma duże znaczenie podczas tłumaczenia tekstów.
Automatyczne tłumaczenie tekstów
Jednym z osiągnięć lingwistyki jest automatyczne tłumaczenie tekstów. To właśnie dzięki badaniom dotyczącym zasad, struktur i relacji funkcjonujących w językach mogły powstać programy, które tłumaczą tekst automatycznie.
Pierwsze próby automatycznego tłumaczenia podejmowano już w latach 30. ubiegłego stulecia. Rozwój technologiczny komputerów przyniósł większą wydajność obliczeniową, co pozwoliło na uruchomienie pierwszych tłumaczy maszynowych. Były one rozwijane oraz wykorzystywane głównie przez sektor zbrojeniowy.
Istnieje wiele mechanizmów automatycznego tłumaczenia tekstów. Każdy z nich ma wady i zalety, które wynikają zarówno z zasad działania, jak i ze szczegółów implementacji.
Tłumaczenie bezpośrednie
Tłumaczenie bezpośrednie jest najbardziej podstawową metodą tłumaczenia tekstów. Każde słowo jest tłumaczone wprost na odpowiednik w innym języku, dlatego jakość takiego przekładu jest mierna. Mechanizm ten warto stosować jedynie w przypadku języków blisko spokrewnionych.
Metoda ta jest najszybsza i najtańsza, ale niesie za sobą konkretne ryzyko. Jak wiadomo, każde słowo może mieć więcej niż jedno znaczenie w języku obcym. Program dokonuje wyboru tego, a nie innego wariantu na podstawie konkretnego kryterium, które wcale nie musi być poprawne w każdym wypadku.
Załóżmy, że chcemy przetłumaczyć na język polski następującą frazę z języka angielskiego: „I love travelling”. Po bezpośrednim przetłumaczeniu każdego wyrazu z osobna program może zwrócić: „Ja miłość podróżowanie”, przy czym poprawne tłumaczenie brzmi: „Uwielbiam podróżować”.
Tłumaczenie składniowe
Tłumaczenie składniowe opiera się na analizie składniowej tekstu - dzięki temu zostają w przybliżeniu zachowane relacje między poszczególnymi wyrazami. Metoda ta daje lepsze wyniki niż tłumaczenie bezpośrednie.
Stosując ten typ tłumaczenia do przytoczonego wcześniej przykładu „I love travelling”, program najpierw powinien przeanalizować składnię – w tym wypadku podmiotem zdania jest zaimek osobowy „Ja”, natomiast orzeczeniem – czasownik „kochać”. Po zastosowaniu odpowiedniego zestawu reguł składniowych program mógłby zwrócić następujący wynik: „Ja kocham podróżowanie”.
Tłumaczenie semantyczne
Tłumaczenie semantyczne wykorzystuje analizę składniową tekstu, uwzględniając przy tym dodatkowo atrybuty znaczeniowe wyrazów. Mechanizm ten daje lepsze wyniki niż tłumaczenie składniowe, ale jest o wiele bardziej skomplikowany.
Dla zdania „I love travelling” proces tłumaczenia semantycznego na samym początku wykonuje analizę składniową zdania – tak samo jak w wypadku tłumaczenia składniowego. Następnie może zastosować odpowiednie reguły językowe biorące pod uwagę konstrukcję zdań z czasownikiem „kochać” i wówczas zwróci jako wynik: „Kocham podróżować”.
Tłumaczenie statystyczne
Tłumaczenie statystyczne wykorzystuje duże bazy tekstów przetłumaczonych przez człowieka, a więc jakość takiego przekładu jest zależna od zasobów tejże bazy. Wyszukiwane są tu najbardziej prawdopodobne tłumaczenia na podstawie współwystępowania wyrazów w zbiorach. Zaletą tego mechanizmu jest znacznie bardziej naturalne brzmienie przełożonego tekstu oraz prostsza implementacja programu w porównaniu z tłumaczeniami opartymi na regułach językowych.
Tłumaczenie oparte na przykładach
W przypadku tłumaczenia opartego na przykładach również korzysta się ze zbiorów tekstów przełożonych przez człowieka. Wyszukuje się w nich najbardziej podobne zdanie i na jego podstawie wnioskuje, jak powinno wyglądać tłumaczenie.
Załóżmy, że w naszej bazie występują takie dwa zdania: „Uwielbiam podróżować” oraz „Nie potrafię gotować”. Wtedy opierając się na tych dwóch przykładach, nasz program byłby w stanie przetłumaczyć zdanie „Uwielbiam gotować” przez zamianę odpowiednich składowych obu zdań znajdujących się w bazie.
Słownik
ogólna nazwa struktury matematycznej i programowej, wykorzystująca do obliczeń rzędy elementów zwanych neuronami, które przekształcają dane wejściowe, wykonując podstawowe operacje matematyczne