POLONIŚCI W NLP - CO ONI TU ROBIĄ?! CZY ZGUBILI SIĘ W DRODZE DO BIBLIOTEKI?

Jak uczymy komputery języka polskiego? NLP z perspektywy lingwistów

To jest gościnny wpis, w którym pokazujemy praktyczne zastosowanie AI w tworzeniu narzędzi realnie zaspokajających potrzeby polskiego językoznawstwa — na przykład aplikacji, która automatycznie upraszcza zawiły język urzędowych dokumentów. Będzie też o trudnościach maszynowego przetwarzania języka polskiego.

Jak dobrze – na dziś – komputery znają już język polski?

Przetwarzanie języka naturalnego (jako proces) odbywa się na dwóch polach. O pierwszym z nich, czyli samym przetwarzaniu, automatyzacji, pisał Radek w poprzednich artykułach. My, lingwiści, chcemy pokazać ci perspektywę językową. Dlaczego to takie ważne? Opowiem ci o pewnej różnicy.

Jeśli zajmujesz się NLP, pewnie większość pracy odbywa się w języku angielskim. On jest dla ciebie przezroczysty, w tym języku piszesz i czytasz komendy, bo właśnie w nim powstają technologie. Dla ciebie NLP jest w oczywisty sposób związane z technologią, a więc język służy rozwojowi technologii.

W przetwarzaniu języka polskiego jest dokładnie na odwrót: jest to tak specyficzny język, że to technologia działa w jego służbie. Dlatego mówimy o „lingwistyce komputerowej” (IT podrzędne wobec języka), a nie „informatyce lingwistycznej”.

Bardziej szczegółowo opisał to Marcin Oleksy, który na co dzień pracuje z narzędziami do przetwarzania języka polskiego na Politechnice Wrocławskiej: 

Komputery świetnie się sprawdzają w analizie tych warstw języka, które stosunkowo mało pozostawiają subiektywnej interpretacji. Chodzi tu m.in o fleksję i składnię*. Z bardzo dobrą skutecznością działają np. tagery morfosyntaktyczne, z których chyba obecnie najlepszy obecnie daje wyniki na poziomie 97,45% F-score, co jest porównywalne z jakością pracy wykwalifikowanych lingwistów. W innych aspektach komputery (jeszcze) nie radzą sobie tak świetnie, ale wyniki ich pracy są często na tyle dobre, że można je wykorzystywać zwłaszcza gdy mamy do czynienia z masą danych, które trzeba w jakiś sposób zrozumieć, zinterpretować, z których wyciągnąć trzeba jakieś informacje.

*fleksja to np. odmiana końcówek, składnia to budowa zdania.

Jak językoznawcy korzystają z dobrodziejstw NLP?

Lingwiści wykorzystują NLP na dwa sposoby: teoretyczny i praktyczny. Jak pewnie się domyślasz, język polski jest jednym z najbardziej skomplikowanych języków świata, więc każda możliwość jego usystematyzowania jest cenna dla językoznawstwa jako nauki. Ale są też inne cele:

Myślę, że jednym z nadrzędnych celów jest wsparcie człowieka w radzeniu sobie z ogromem informacji i kontaktów, które są następstwem postępującej rewolucji cyfrowej – mówi Marcin Oleksy. – Narzędzia NLP pozwalają np. na szybką analizę ogromnych kolekcji tekstów, której nie byłby w stanie wykonać człowiek (albo inaczej: która zajęłaby wielu ludziom masę czasu).

Jako przykład takich narzędzi Marcin podaje te, które powstają w ramach infrastruktury naukowej CLARIN (skrót od Common Language Resources and Technology Infrastructure). Jest to ogólnoeuropejska infrastruktura naukowa, która umożliwia badaczom nauk humanistycznych i społecznych wygodną pracę z bardzo dużymi zbiorami tekstów. Dzięki tworzonym tam technologiom możliwe jest m.in. podstawowe przetwarzanie tekstów (np. rozpoznawanie nazw własnych), wydobywanie informacji (np. analiza wydźwięku) czy eksploracja (np. wyznaczanie podobieństwa i grupowanie tekstów).

Sama uczestniczyłam kilka lat temu w szkoleniu organizowanym przez CLARIN. Wówczas dowiedziałam się o pewnym narzędziu, którego do dziś (!) często używam w swojej pracy korektora. Jest to słownik kolokacji HASK (kolokacje to często spotykane połączenia wyrazów). Do czego się przyda taki słownik? 

Słownik kolokacji HASK

Czy tobie też czasami „brakuje słowa”, masz coś na końcu języka albo czujesz, że w twoim zdaniu coś jest nie tak? Coś mogłoby być lepiej, ale nie potrafisz zlokalizować usterki. Wtedy właśnie przydaje się słownik kolokacji stworzony na bazie danych z NLP.

Kiedyś poprawiałam teksty o wyborach. Autor napisał, że ktoś „opuścił prezydenturę”. Alarm – prezydentury się nie opuszcza, ale w takim razie co może z nią zrobić prezydent, jeśli nie kończy się ona sama? Potrzeba czasownika, który łączy się z rzeczownikiem ‘prezydentura’ i będzie wskazywał na to, że prezydent sam z własnej woli przestał nim być. Na swoim blogu wyjaśniłam szczegółowo, jak rozwiązałam ten problem (kliknij w link, nie ma sensu się powtarzać).

Logios — upraszczanie zawiłego języka

Przewracasz oczami na sam widok koperty z banku albo urzędu skarbowego? Wiesz, że czeka cię przeprawa przez gąszcz paragrafów i urzędowej terminologii… 17 razy czytasz to samo zdanie w umowie ubezpieczeniowej? Nic nie rozumiesz? Na tę bolączkę również mamy plasterek.

Wrocławscy poloniści (moi dawni wykładowcy) realnie zmieniają język firm i urzędów. Szkolą urzędników (np. ZUS-u) w tzw. plain language, czyli pisaniu prostym językiem. Przez wiele lat pracowali z wykorzystaniem technologii NLP nad automatyczną analizą tekstu pod względem zawiłości. Stworzyli pierwszą polską aplikację, która sama upraszcza tekst.

Demo Logios

Wrzuciłam w apkę fragment ustawy podatkowej. Ręcznie ustawiłam typ i gatunek tekstu, a system zwrócił mi następujące informacje: w ilu procentach jest zgodny ze standardem prostego języka (im większy procent, tym lepiej), a także jaki ma wskaźnik mglistości, czyli ile lat trzeba się uczyć, żeby łatwo zrozumieć tekst (im niższy, tym lepiej). Poniżej system konkretnie pokazuje, jakie wady i zalety ma tekst, np. ile trudnych słów, ile długich słów, ile imiesłowów czy złych czasowników.

Jasnopis — sugerowanie poprawy tekstu

Podobnym narzędziem jest Jasnopis. Ta aplikacja potrafi zmierzyć zrozumiałość tekstu, wskazać jego trudniejsze fragmenty i zaproponować poprawki. Wylicza także tzw. indeks mglistości (FOG), który widzisz również na poprzedzającym screenie. Narzędzie analizuje formę językową tekstu i podaje stopień jego trudności w skali od 1 do 7. Wynik „1” oznacza teksty najłatwiejsze, zrozumiałe dla wszystkich. „7” oznacza teksty najtrudniejsze — dla specjalistów w dziedzinie, której dotyczy tekst.

Aplikacja służy do sprawdzania stopnia trudności różnych polskich tekstów. Pozwala także uwzględniać wiek lub wykształcenie odbiorcy. Na przykład jeśli podamy wiek adresata tekstu, to Jasnopis zaznaczy akapity zbyt trudne dla odbiorcy w tym wieku. Dokładniej mówiąc, zaznaczy te akapity, które mają wskaźnik mglistości większy o dwa lub trzy niż dopuszczalny dla danego odbiorcy.

Demo Jasnopis

Słownik semantyczny Słowosieć

Słowosieć to relacyjny słownik semantyczny, który odzwierciedla system wyrazowy języka polskiego. Pojedyncze znaczenia słów połączone są wzajemnymi relacjami. Tak powstaje sieć, w której każdy wyraz jest zdefiniowany poprzez odniesienie do innych wyrazów. Na przykład: samochód jest rodzajem pojazdu drogowego i dwuśladu, stanowi całość, na którą składają się np. silnik, spryskiwacz, podwozie, zaś jego wyrazami bliskoznacznymi są fura i bryka.

Demo Słowosieć

Praktyczne wykorzystanie: Słowosieć jest bardzo ważnym zasobem w komputerowym przetwarzaniu języka i badaniach nad sztuczną inteligencją, m.in. znajduje zastosowanie w automatycznych tłumaczeniach Google Translate. Może służyć także jako słownik polsko-angielski i angielsko-polski, ponieważ została połączona z pierwszym i przez lata największym wordnetem na świecie – Princeton WordNet.

A pod tym linkiem znajdziesz jeszcze wieeeele, wiele innych zastosowań NLP w tworzeniu struktur języka polskiego. W tym zestawieniu są np. różne korpusy językowe. Korpusy to zbiory tekstów służące badaniom lingwistycznym, np. określaniu częstości występowania form wyrazowych, konstrukcji składniowych, kontekstów, w jakich pojawiają się dane wyrazy.

No dobrze, a coś dla NIEpolonistów?

Jak mówi mi Marcin Oleksy, są dziedziny życia codziennego, w których komputery coraz lepiej się sprawdzają, w pewnym stopniu zastępując człowieka. 

Dotyczy to np. komunikacji na linii marka – klient. Chatboty już teraz wygrywają z człowiekiem m.in. na polu wydajności. Przy tym są coraz bardziej sprawne komunikacyjnie. Ciągle jednak mają niedostatki, których chyba już każdy z nas doświadczył. Wiąże się to m.in z ich ograniczeniami w zakresie bardziej skomplikowanego wnioskowania oraz stosunkowo małą elastycznością. Niewątpliwie jednak jest to jeden ze szczególnie prężnie się rozwijających obszarów NLP.

Jakie trudności występują w procesie uczenia maszyn języka polskiego?

Mogłoby się wydawać, że najwięcej problemów w implementacji języka polskiego do maszyn będzie sprawiało dokładnie to samo, co w implementacji jego zasad do mózgu człowieka – a więc skomplikowana odmiana, liczne wyjątki ortograficzne, dużo różnych końcówek itd. Problem sięga głębiej i zaczyna się w momencie, nad którym człowiek w ogóle się nie zastanawia, ponieważ jest wyposażony w rozum.

Interpretacja wypowiedzi często jest uzależniona jest od takich czynników jak intencje mówiących, relacje między wypowiedziami bądź ich fragmentami, kontekst, w jakim pada wypowiedź itd. Jeśli nałożymy na to jeszcze fakt, że każda wypowiedź składa się z wielu warstw, które trzeba odpowiednio zinterpretować i uwzględnić ich wzajemne zależności, okaże się, że mamy do czynienia z wysoce złożonym zadaniem. Nie jest również łatwym zadaniem opracowanie wysokiej jakości danych treningowo-testowych, które mimo dużego postępu w zakresie uczenia nienadzorowanego ciągle są zasobem bardzo istotnym.

– mówi Marcin Oleksy.

Podsumowanie

My, lingwiści, staramy się ująć język polski w sztywne ramy. Nie zawsze się to udaje, ponieważ jest on jednym z najbogatszych i najbardziej skomplikowanych na świecie. Wymyka się więc z tych ryzów. Próbujemy jednak, a z pomocą przychodzą nam narzędzia NLP. Należy przy tym podkreślić, że do żadnych efektów by nie doszło, gdyby nie… współpraca ludzi – językoznawców i programistów.

O autorce

Andrea Smolarz – absolwentka wrocławskiej polonistyki, lingwistka. Współpracowała z Politechniką Wrocławską nad opracowaniem korpusu tekstowego, w którym m.in. oznaczała relacje znaczeniowe między wyrazami. Jest także członkiem zespołu Instytutu Języka Polskiej PAN w projekcie rozbudowy „Elektronicznego Korpusu Tekstów Polskich XVII i XVIII w.” i jego integracji z „Elektronicznym słownikiem języka polskiego XVII i XVIII w.”. Na co dzień prowadzi pracownię edytorską, w której pracuje jako korektorka i projektantka książek.

Inne artykuły

ML w AWS – Sagemaker Autopilot

Automatyczne tworzenie modeli uczenia maszynowego z pełną widocznością w usłudze AWS Sagemaker – korzyści z wygenerowanego Jupyter Notebooka.

ML w AWS – Sagemaker Studio – IDE w przeglądarce

Sagemaker Studio – interaktywne środowisko dla Data Scientist. Z Jupyter Notebooks na pokładzie, oferuje współpracę, śledzenie eksperymentów i integrację z systemem kontroli wersji. Przegląd quasi …

ML w AWS – wstęp do usługi Sagemaker

Sagemaker: Wytwarzanie usług ML w chmurze AWS na nowym poziomie Odkryj potężną usługę Sagemaker, która gromadzi wszystkie niezbędne funkcjonalności związane z wytwarzaniem usług uczenia maszynowego w …

Rozwijasz czy produkujesz oprogramowanie?

Opracowywanie przepisów to proces uczenia się metodą prób i błędów. Nie oczekujesz, że pierwsza próba nowego dania wykonana przez szefa kuchni będzie ostatnią. W rzeczywistości …

Lean software development – eliminacja strat

Dowiedz się, jak wyeliminować marnotrawstwo i przyjąć zasady szczupłego rozwoju oprogramowania, aby dostarczyć więcej wartości swoim klientom przy mniejszym nakładzie pracy.

One thought on “Jak uczymy komputery języka polskiego? NLP z perspektywy lingwistów

Comments are closed.