Myślisz, że znoszenie barier językowych kończy się na Tłumaczu Google? Spójrz na to
Ostatnie lata są bez wątpienia przełomowe, jeśli chodzi o znoszenie barier językowych. Technologia sprawia, że te bariery praktycznie przestają istnieć. Warto przy tym jednak pamiętać, że ten świat nie kończy się na Tłumaczu Google. Praca nad znoszeniem barier sięga znacznie głębiej.
Z ogromną fascynacją spoglądam na to, co w ostatnich latach wyczynia Google. Ich tłumacz w ciągu zaledwie 10 lat kompletnie odmienił sposób, w jaki komunikujemy się z ludźmi z całego świata.
Wszyscy jednak wiemy, że jest to (jeszcze) narzędzie wysoce niedoskonałe i nikomu nawet przez myśl by nie przeszło, by wykorzystać je w profesjonalnym zastosowaniu.
Pomyślałem więc, że warto przybliżyć czytelnikom Spider's Web rozwiązania translatoryczne do tej profesjonalnej strony. Pokazać, że obok Tłumacza Google i internetowych słowników jest też świat potężnych, zaawansowanych narzędzi, które pozwalają na zupełnie inną pracę z tekstem, niż tylko proste przetłumaczenie wyrazu.
Jednym z takich narzędzi jest CLARIN-PL.
CLARIN (Common Language Resources & Technology Infrastructure) to w dużym, dużym skrócie ogromna baza danych i zestaw narzędzi, pozwalający wykorzystać te dane przy dokonywaniu translacji.
To ogólnoeuropejska infrastruktura naukowa, której głównym zadaniem jest przełamywanie barier hamujących wykorzystanie inżynierii języka w badaniach naukowych. Co za tym idzie - przyczyniająca się również w znacznej mierze do rozwoju inżynierii języka.
CLARIN-PL, czyli polski oddział CLARIN, to konsorcjum tworzone przez uniwersytety i instytucje badawcze, których celem jest wypełnianie braków w obszarze przystosowania technologii językowych dla języka polskiego.
CLARIN-PL tworzy korpusy językowe, gromadzi słowa najczęściej wykorzystywane w dyskursie medialnym, a przede wszystkim - ułatwia pracę z wielkimi zbiorami tekstów, co nie jest możliwe w typowych, konsumenckich rozwiązaniach, takich jak Tłumacz Google.
Poprosiłem zatem przedstawicieli CLARIN-PL, aby przybliżyli nieco cały projekt czytelnikom Spider's Web. Łatwo bowiem jest zapomnieć, że obok aplikacji, w które klikamy na telefonie, istnieją też rozwiązania, które przyczyniają się do tego, że te pozornie proste, łatwo dostępne aplikacje są coraz bardziej dokładne.
Łukasz Kotkowski, Spider's Web: Pewnie wielu z naszych czytelników się zastanawia - po co CLARIN, skoro mamy narzędzia językowe Google?
Jan Wieczorek, Clarin-PL: Narzędzia przygotowywane w ramach projektu CLARIN oraz narzędzia językowe Google’a są w jakimś stopniu podobne, ale po dokładnym przyjrzeniu się - łatwo można dostrzec różnice między naszymi założeniami, celami i działaniami.
Różnica podstawowa jest taka, że narzędzia Clarin są narzędziami zupełnie otwartymi w przeciwieństwie do wielu usług Google’a. Clarin służy również tworzeniu podstawowych aplikacji oraz baz danych, które są później wykorzystywane przez innych użytkowników - w tym Google’a właśnie. Sytuacja taka dotyczy chociażby naszej Słowosieci (czy też plWordNetu) i jej rzutowania na WordNet z Princeton - od dawna z naszej leksykalnej bazy danych korzysta usługa Google Translate (Tłumacz).
Wyszukiwarka Google pomaga szybko zlokalizować potencjalnie interesujące użytkownika informacje w oparciu o popularność strony, na której umieszczony jest tekst oraz występowanie w tym tekście słów kluczowych użytych w zapytaniu.
Tłumacz pozwala na przetłumaczenie (z lepszym lub gorszym skutkiem) tekstu z jednego języka na inny. Wszystkie te narzędzia są już wysokopoziomowymi aplikacjami dostosowanymi do oczekiwań większości użytkowników, jednak ich rdzeniem jest szereg narzędzi służących do przetwarzania języka na różnych poziomach: morfologicznym (fleksja), składniowym (funkcje wyrazów w zdaniu), semantycznym (znaczenie wyrazów).
Przeciętny użytkownik usług Google nie ma dostępu do tych elementarnych narzędzi, nawet nie wie o ich istnieniu. Celem CLARIN jest rozwój zarówno tych podstawowych narzędzi wchodzących w skład typowego potoku przetwarzania języka, jak i budowanie aplikacji wysokopoziomowych, dedykowanych najczęściej badaczom z dziedziny nauk humanistycznych i społecznych.
Na przykład specjalistycznym odpowiednikiem Google Trends jest nasz Chronopress - aplikacja służąca do przeglądania zbioru artykułów polskich czasopism powojennych. Teksty te można datować co do dnia wydania, dzięki czemu można zwizualizować trendy językowe dla polszczyzny tego czasu. Google Trends działa podobnie, ale daje dostęp tylko do zasobów internetowych (a nie na przykład prasowych), w dodatku relatywnie nowych, bo powstałych po 2004 roku.
Podsumowując, różnimy się od Google tym, że nasze wszystkie narzędzia są otwarte; tworzymy bardzo podstawowe aplikacje, bez których przetwarzanie polszczyzny byłoby albo niemożliwe lub przynajmniej jakościowo niesatysfakcjonujące. Projektujemy również aplikacje wyższego poziomu, które mają przeznaczenie specjalistyczne - naukowe.
Do jakich zastosowań można wykorzystać rozmaite usługi/aplikacje CLARIN-PL?
Infrastruktura CLARIN-PL była przygotowywana głównie z myślą o zastosowaniach w naukach społecznych i humanistycznych. Naszym sztandarowym narzędziem jest, oczywiście, Słowosieć, czyli największy w tej chwili na świecie słownik relacyjny.
W Słowosieci znaczenie słów jest opisane za pomocą ściśle określonych, sformalizowanych relacji sematyczno-leksykalnych, które umożliwiają ich komputerowe przetwarzanie. Dzięki temu Słowosieć może być używana jako słownik (również w wersji mobilnej), ale przede wszystkim jest ona narzędziem wykorzystywanym przez nas do automatycznego przetwarzania, mi.in. automatycznej klasyfikacji tekstów, tworzenia ich streszczeń, ujednoznacznienia pod względem znaczeń leksykalnych itd.
Mamy sporo do zaoferowania osobom, które zawodowo (niekoniecznie tylko naukowo) zajmują się pozyskiwaniem informacji z tekstów. Dzięki naszym narzędziom można zbadać jak zmieniała się czasowo frekwencja poszczególnych słów np. w dyskursie prasowym.
Dzięki temu otrzymujemy twarde, empiryczne dane świadcząca o popularności medialnej jakiegoś tematu, mody, plotki czy wręcz fałszywej informacji. Podstawowe narzędzia pozwalają też na budowę bardzo skomplikowanych zapytań do korpusów przetworzonych tekstów, np. możliwe jest zbudowanie zapytania, które zwróci wszystkie frazy w tekście złożone z 6 lub 7 wyrazów, w których pierwszy wyraz będzie rzeczownikiem, drugi będzie "i", trzeci będzie rzeczownikiem w mianowniku liczby pojedynczej rodzaju żeńskiego, czwarty wyraz będzie "to", piąty może być dowolny lub może go nie być w ogóle, kolejny wyraz będzie przymiotnikiem w mianowniku w liczbie mnogiej i w stopniu najwyższym, a ostatni wyraz będzie rzeczownikiem w mianowniku rodzaju żeńskiego, np.: "kardiologia i ortopedia to najlepsze oddziały", "brawura i nieodpowiedzialność to najczęstsze przyczyny", "grota i świątynia to największe osiągnięcia", "remiza i szkoła to największe budynki".
Powiązanie Słowosieci z innymi narzędziami CLARIN ma zastosowanie np. przy ustalaniu powiązań pomiędzy osobami, firmami, ustalaniu kontekstu wypowiedzi konkretnych osób a także ustalaniu autorstwa konkretnych tekstów.
Czy może Pan pokrótce wyjaśnić, jak wygląda korzystanie z CLARIN w praktyce?
Nasze narzędzia mają swój interfejs webowy (http://ws.clarin-pl.eu/), który umożliwia analizę tekstów (także przesyłanych w postaci plików) w różnych potokach przetwarzania zarówno w zakresie zadań elementarnych (np. analiza morfosyntaktyczna, wykrywanie nazw własnych, sensów słów), jaki i eksploracji tekstu (np. przypisywanie słów kluczowych, grupowanie tekstów, streszczanie). Niektóre z narzędzi są dostępne na stronie Grupy Technologii Językowych: http://www.nlp.pwr.wroc.pl/. Tam też znajduje się formularz umożliwiający kontakt w sprawie otrzymania najnowszej wersji Słowosieci.
Oprócz korzystania z interfejsu webowego, większość z naszych narzędzi posiada udostępniony również interfejs programistyczny - tak zwany web service. Dzięki nim, osoby chcące wykorzystać nasze niskopoziomowe narzędzia, nie są obarczone, niejednokrotnie skomplikowanym, procesem ich instalacji. Dodatkowym atutem udostępnienia interfejsów programistycznych jest również zapotrzebowanie na zasoby procesora, pamięci czy też dysku. Architektura, którą dostarcza CLARIN-PL jest wydajna i skalowalna. Osoba wykorzystująca te interfejsy nie musi się martwić o zapotrzebowanie na zasoby, ponieważ o to martwi się CLARIN-PL.
A jak to wygląda od zaplecza? W jaki sposób gromadzone są dane wykorzystywane przez CLARIN?
Część danych zbieramy ręcznie (np. nagrywamy rozmowy do korpusu języka mówionego, ręcznie wybieramy teksty do korpusu języka ogólnego), niektóre - automatycznie z internetu (teksty na otwartych licencjach, Wikinewsy, artykuły Wikipedii, polskie teksty patentów, treść ustaw i uchwał, teksty BIP-ów), a jeszcze inne bierzemy od naszych projektowych partnerów i udostępniamy na repozytorium Clarinu (jak na przykład znakomity Narodowy Korpus Języka Polskiego).
Oprócz zbierania czy udostępniania korpusów dużo pracy wkładamy w oznaczanie w tekstach różnorodnych zjawisk językowych (np. gdzie jest podmiot, a gdzie orzeczenie). Osobnym tematem jest to, jak tworzymy Słowosieć - największy wordnet na świecie. Wordnet to taka siatka wyrazów, gdzie wyrazy jakoś podobne do siebie są połączone nitkami tej pajęczyny: np. “drapieżnik” jest połączony z “mięsożercą” (termin nadrzędny) i “niedźwiedziem”, “kotem”, “morsem” czy “ostronosem rudym” (rodzaje drapieżników).
Dzięki tym połączeniom komputer jest w stanie - choć częściowo - nauczyć się polskiego słownictwa. Słowosieć tworzą pracowicie poloniści już ponad 10 lat, korzystają z wielu różnych narzędzi automatycznych: np. list frekwencyjnych (bo wprowadzamy słowa o największej częstości w korpusach), list słów podobnych (bo chcemy powiązać w sieć słowa podobne), przeglądarki (konkordancera) korpusu (bo chcemy widzieć, jak ludzie używają słów w tekstach) itp.
Gromadzenie danych jest zadaniem dość trudnym, ponieważ poza aspektem technicznym wymaga od pracownika znajomości podstaw prawa autorskiego oraz zdolności retorycznych. To ostatnie wymaganie bierze się z konieczności częstego przekonywania autorów tekstów, wydawców i innych posiadaczy praw autorskich do współpracy z nami.
Jak Pan ocenia starania gigantów technologicznych jak Google czy Microsoft w doskonaleniu translacji i rozpoznawaniu naturalnego języka? Czy już jesteśmy na tym etapie, kiedy można powiedzieć, że algorytm robi to w sposób zbliżony do człowieka?
Dlaczego nie użył Pan algorytmu, żeby napisał za Pana ten artykuł? Z tego samego powodu ja również nie użyłem algorytmu, żeby odpowiedzieć na Pana pytania.
Algorytmy, którymi posługują się nasze narzędzia, usiłując “zrozumieć” tekst zapisany w języku naturalnym, działają na zupełnie innych zasadach niż ludzki umysł. Nie można tu mówić o żadnym podobieństwie, co najwyżej o podobnej skuteczności. Ale do tego też nam bardzo daleko.
Co do starań gigantów technologicznych - oceniam je pozytywnie. Szczególnie jako użytkowników budujących aplikacje zaawansowane, wykorzystujące już istniejące narzędzia poziomu podstawowego. Potężne koncerny mają siłę przebicia zdolną do propagowania nowych rozwiązań technologicznych również w zakresie zahaczającym o naszą działalność.
Żyjemy w świecie, w którym co sekundę powstają ogromne ilości nowych danych, duża część z nich ma charakter tekstu. Jeżeli chcemy zachować kontrolę nad porządkowaniem tych danych a także mieć zdolność wydajnego korzystania z informacji tam zawartych - musimy najpierw stworzyć a potem zaufać technologiom pozwalających na ich szybkie przetwarzanie.
Rola gigantów technologicznych szczególnie na etapie zdobywania zaufania jest bardzo duża.
Google zapowiedział właśnie wprowadzenie Neural Machine Translation do Tłumacza Google oraz wykorzystanie w tym celu istniejących algorytmów kontekstowego AI.
Jak wiele w praktyce zmienia ta zamian algorytmu translacji syntetycznej na translację w oparciu o NMT? I czy możemy liczyć, że ten algorytm w niedalekiej przyszłości stanie się równie skuteczny w tak skomplikowanym gramatycznie i strukturalnie języku, jak polski, co w przypadku prostszych języków?
Ostatnia dekada obfitowała w rozwój i wykorzystanie sieci neuronowych. Aktualnie ich zastosowanie, możliwe jest praktycznie w każdej dziedzinie. Jak dobrze widać na przykładzie googla, również w przetwarzaniu języka naturalnego. Działanie sieci neuronowej jest to złożenie wielu funkcji matematycznych, często ich zależności dla człowieka są nieoczywiste.
Właśnie ta nieoczywistość działania jest potęgą sieci. W praktyce oznacza to, że sieć potrafi nie tylko wnioskować o tłumaczeniu słowa do słowa na podstawie słownikowej metody, lecz uwzględnia również zależności wynikające z kontekstu występowania. Od tego kontekstu - jak widać - uzależnia tłumaczenia.
Do takiego działania sieci, niestety potrzebny jest ogromny zbiór danych uczących, którymi Google dysponuje (chyba nikt nie ma do tego wątpliwości). Tempo rozwoju sieci jest ogromne, dlatego niewątpliwie są przyszłością we wszelakich zastosowaniach.
Google, ze względu na posiadanie wielkich woluminów danych, zarówno tekstowych, graficznych jak i multimedialnych, zapewne z wielkim powodzeniem będzie wdrażał rozwiązania oparte o sieci neuronowe (NN) do kolejnych funkcjonalności.
Reasumując, jedyną wadą wykorzystania NN jest wymóg posiadania dużych zbiorów danych do ich uczenia, jednak ten problem zawsze można próbować przeskoczyć. Może się również okazać, że dynamika rozwoju NN doprowadzi do momentu, kiedy sieci nie będą wymagały aż tak dużo danych uczących, a wtedy, praktycznie wszędzie możliwe będzie ich wykorzystanie.
Skomplikowana struktura gramatyczna języka polskiego nie jest wielką przeszkodą w szukaniu zastosowań sieci neuronalnych w jego przetwarzaniu. W naszym zespole już trwają prace nad takimi rozwiązaniami, stworzyliśmy niedawno model opisujący słowa języka naturalnego za pomocą wielowymiarowych wektorów. Opis taki został przygotowany między innymi z myślą o wykorzystaniu go w rozwiązaniach stosujących sieci neuronowe.
Wracając do skomplikowanej gramatyki języka polskiego - nie jest ona aż tak bardzo skomplikowana. Podlega przetwarzaniu maszynowemu ze skutecznością podobną do innych języków - oczywiście po zastosowaniu specyficznych dla niego rozwiązań analitycznych.
Aspektem trudniejszym w przetwarzaniu jest semantyka jednostek języka (poczynając od słów, na całych tekstach kończąc), jednak to jest problem uniwersalny i dotyczy w takim samym stopniu języka polskiego jak też angielskiego czy portugalskiego.