wtorek, 10 marca 2009

językoprotokół człowiek-komputer

Uczyłem się metod modelowania danych i natknąłem się na "method of least squares". Pomyślałem sobie "a jak to nazywają Polacy". Otworzyłem więc miłościwie nam panującą Wikipedię i przez linka do polskiej wersji po lewej doszedłem do "metody najmniejszych kwadratów". Ucieszyłem się niezmiernie bo to jedno wyrażenie mniej do nauki. Fajnie by było, gdyby wszystkie wyrażenia i słowa dało się tak dosłownie przetłumaczyć. Potem jeszcze porozmyślałem o problemach w tłumaczeniach i stwierdziłem, że całe trudności wynikają z wieloznaczności i pokrywania się znaczeń słów. Tak doszedłem do wniosku, że bardzo przydałby się język, w którym każde słowo ma jedno znaczenie i każde znaczenie ma jedno słowo. Ale, czy taki język możnaby było utrzymać jako działający w społeczeństwach? Na pewno nie, bo ludzie uwielbiają wymyślać wiele znaczeń dla tego samego słowa, jeżeli więc jakieś jest używane, to prędzej czy później je zepsują. Na tym jest oparta na przykład cała poezja. Wiele znaczeń dla danego słowa oznacza duże prawdopodobieństwo wystąpienia kilku słów dla tego samego znaczenia, bez czego wiersze nie mogłyby być pisane. Pomyślałem nawet, że możnaby wprowadzić pewien standard, określający jakie słowa są oficjalnie używane w pismach urzędowych, czy publikacjach akademickich, jednak to nasuwa zbyt dużo skojarzeń z Orwellem i jego powieścią 1984, gdzie inna idea upraszczania języka (zwana newspeak), prowadząca do zmuszania ludzi do używania pewnych słów zamiast innych jest przykładem represji chorego systemu. Byłoby to istotnie ograniczenie wolności słowa.
Ten fakt zaprowadził mnie do konkluzji, że najlepiej byłoby wykorzystać tę ideę do stworzenia sposobu komunikacji z maszynami, który byłby również w rozsądnym stopniu wygodny dla ludzi.
Przykład 1.
Można by było wydawać głosem skomplikowane rozkazy robotom, które przecież stają się coraz bardziej inteligentne.
Przykład 2.
Zastosowanie bardziej na dzisiejsze czasy, to wykorzystanie w automatycznych translatorach. Przykład: ktoś znający taki język napisałby w nim tekst, następnie ten tekst można by było automatycznie przetłumaczyć na 180 języków (a właśnie, że nie byłoby dużo błędów!) i opublikować na stronie internetowej.
Przykład 3.
Można nawet wyobrazić sobie urządzenie, które służy do rozmowy dwóch ludzi o dowolnych językach. Jak by działało?
Mamu dwóch rozmówców: Pierwszy (P) i Drugi(D).
P coś mówi. Urządzenie wysłuchuje wypowiedziane zdanie i dla każdego słowa, które może mieć więcej niż jedno znaczenie pokazuje P wszystkie znaczenia i każe wybrać. Następnie korzystając z uzyskanych znaczeń tłumaczy zdanie na językoprotokół, z językoprotokołu tłumaczy na język Drugiego i mówi mu (lub pokazuje) rezultat. Analogicznie w drugą stronę. Wreszcie ludzie mogliby się porozumiewać!! Warto zauważyć, że to powyżej nie mogłoby zadziałać między dowolnymi językami, gdyby nie było sporządzonej listy znaczeń i powiązanych z nią przyporządkowań:
(słowo w języku P) - (znaczenia), oraz
(znaczenie) - (słowo w języku D). Oczywiście to wciąż dosyć idealistyczny schemat, według którego dla danego znaczenia wystarczyłoby wziąć dowolne słowo w języku D.
Zakładając jednak, że znaczenia są wystarczająco atomowe, dałoby się dojść dosyć blisko do tego ideału.

W powyższym przykładzie nr 3 istnienie wymawialnego przez ludzi językoprotokołu wydaje się niekonieczne - znaczenia możnaby na przykład reprezentować kolejnymi liczbami naturalnymi. Nie jest to jednak takie oczywiste, bo jak, nie oferując atrakcyjnego językoprotokołu, skłonić kogokolwiek do spisania wszystkich znaczeń słów, istniejących na Ziemi? I w jakim języku to zrobić? Jeżeli zrobiłoby się to np. po angielsku, to czy rezultaty takiego spisu znaczeń byłyby wystarczająco atomowe? Czy ludzie postrzegający słowo mylnie jako jedno znaczenie (ludzie chyba dążą do myślenia o słowach w ten sposób) nie sprawiliby kłopotu znajomym z Etiopii, którzy mają na te dwa znaczenia dwa różne słowa? A przecież Etiopczyków jest mniejszość, a jeszcze mniej ma dostęp do komputera, więc kto by ich usłyszał?

Oczywiście słownictwo to nie jest cały język, jest jeszcze gramatyka, słowotwórstwo i inne. Wbrew pozorom słowotwórstwo to problem osobny od słownictwa - jakie brzmienie nadać danemu słowu, jak to nadawanie brzmienia uzależnić od brzmienia istniejących słow. Pozostaje jeszcze wyodrębnienie zbioru głosek składających się na językoprotokół - wszystkie muszą być wymawialne przez ogromną większość ludzi na świecie. Nie może być np. 'l' i 'r' - Japończycy nie widzą różnicy. Jeżeli to samo zastosuje się do innych par dźwięczna - bezdźwięczna, np. 'k' i 'g', 's' i 'z', to taki język byłby jeszcze większym bełkotem, niż język angielski wymawiany przez niektórych Anglików. Można by nawet zaryzykować i zostawić te rozróżnienia, bo jeśli kiedykolwiek ktoś chciałby porozumieć się z innym czlowiekiem za pomocą językoprotokołu i powiedziałby "lagas", a drugi znałby to słowo jako "rakaz", to niezrozumieliby się. Gdyby jednak słuchała maszyna, to lepiej by było, żeby nie było tych rozróżnień, żeby komuś, kto ma wadę wymowy nie wychodziło ciągle "lakas", podczas gdy chodzi mu o "lagas", które miałoby inne znaczenie.
Dosyć tego. W następnym poście przemyślenia o gramatyce i słowotwórstwie.

Brak komentarzy:

Prześlij komentarz