30.8.07

Odmiana fraz w podpowiedziach

W obecnej wersji LT niektóre podpowiedzi zawierają prawidłowo odmienione polskie wyrazy (inne niż w błędnych, kwestionowanych zdaniach) - a to dzięki specjalnemu, „odwróconemu” słownikowi z projektu Morfologik (trik polegał na odpowiednim dobraniu danych do automatu słownika morfologicznego). Nadal jednak nie zaimplementowałem odmiany chociażby fraz przymiotnikowych, które mogą składać się z kolejnych przymiotników i przysłówków. Nie mówiąc o frazach nominalnych...
Choć zwolennicy Chomsky’ego będą się zapewne krzywić, przeanalizowałem maksymalną długość takiego ciągu przymiotnikowo-przysłówkowego, badając częstość wystąpień w korpusie IPI. Otóż maksymalnie zdarza się 5 elementów pod rząd, sporadycznie tylko więcej (cóż, wszystko wskazuje na to, że magiczna liczba Millera 7 +/- 2 ma tutaj zastosowanie). Dlatego nie trzeba bynajmniej tworzyć struktury rekurencyjnej o dowolnym stopniu zagnieżdżenia; wystarczy dokonać zwykłego wyliczenia kombinacji, bo jest ich po prostu mało. To może prosta heurystyka, lecz struktury o większej złożoności prawdopodobnie i tak przekraczają zdolności językowe przeciętnego słuchacza, więc są obarczone pragmatyczną wadą językową: nie będą rozumiane.

Z powodu komplikacji w odmianie fraz, nie zastanawiałem się, jak je odmieniać regularnie przy użyciu mechanizmu stosowanego do pojedynczych wyrazów (w formalizmie LT służy do tego znacznik match z armią atrybutów; odmianę uzyskuje się przez podanie wyrażenia regularnego określającego docelowy znacznik morfosyntaktyczny wyrazu). W ostatnich dniach przyszło mi do głowy stosowanie złożonego wyrażenia regularnego do zadawania schematu zmian: wyrażenie o postaci (adv).*|(adj).* może być odmieniane przez podanie wyrażenia zastępowania $1$2, a w braku wystąpienia jednego z elementów po prostu pusty ciąg zastąpi $1. Być może dodam też atrybut, który nakaże, aby w razie nieznalezienia formy nie pojawiało się nic na wyjściu (obecnie jest generowana forma podstawowa w nawiasach). To powinno wystarczyć; a jeżeli okaże się, że stosuję powtarzające się schematy odmian (zamian form gramatycznych), to być może trzeba będzie te schematy opatrzyć etykietami i zawrzeć w osobnych deklaracjach do późniejszego wykorzystania.
Pewnym problemem – nie wiem na razie, jak wielkim – może być pojawianie się zbyt wielkiej liczby kombinacji wyjściowych form: dla niektórych znaczników pojawia się parę dopuszczalnych form; przy dłuższym ciągu liczba kombinacji rośnie błyskawicznie. Mam nadzieję, że eksplozja kombinatoryczna nie będzie zbyt poważną trudnością, bo oboczności form nie są jednak aż tak częste. W ostateczności pewnie trzeba będzie poprawiać słownik Morfologika...

29.8.07

Proszę paniom

Zastanawiałem się, czy dodać do listy błędów „proszę paniom”, czyli piękne połączenie błędu fonetycznego z błędną odmianą. Postanowiłem sprawdzić, czy w ogóle ktoś w piśmie popełnia ów błąd, więc – idąc po linii najmniejszego oporu – użyłem wyszukiwarki. I okazało się, że „proszę paniom” pojawia się tylko jako cytat podczas wytykania błędów. W dodatku głównie dwóm publicznym postaciom, o czym przekonać można się po kliknięciu powyższego odnośnika. Czyli nie dodam do listy :)

20.8.07

Słownik walencyjny a korekta gramatyczna

Jedną z trudności w pisaniu reguł korektora LT jest to, że wiele przyimków i form gramatycznych wynika w zdaniu z walencyjności czasowników. Spróbujmy na przykład odróżnić użycie "nazbyt" od "na zbyt":

  • Ten idiota awansował na zbyt eksponowane stanowisko.
  • Objął nazbyt eksponowane stanowisko.
Chodzi więc o to, żeby wykrywać niepoprawne wersje tych zdań. Jest to jednak niesłychanie trudne bez zgrubnego choćby słownika walencyjnego - potrzebnego zresztą do wielu zadań lingwistyki komputerowej. Problem w tym, że takich wolnodostępnych zasobów nie ma. Najmniejszy (stosunkowo) kłopot jest z obmyśleniem nowych znaczników do anotowania takich form (choć w obecnych teoriach panuje tu ogromny rozgardiasz). Większy jest z ich anotowaniem - czyli pozyskaniem takich informacji.
Do korekty gramatycznej, przynajmniej w LT, przydatne najbardziej obecnie byłyby informacje o przyimkach i przypadkach wymaganych przez czasowniki.LinkNieco mniejsze znaczenie mają informacje o kategorii semantycznej argumentów (np. osoba, rzecz, proces...), gdyż anotacja za pomocą polskiej sieci semantycznej, choćby rozwijanej w ramach projektu słownika synonimów, jest dopiero w fazie marzeń. Na dodatek nie wszyscy zgadzają się, jak faktycznie należałoby wykrywać walencyjność semantyczną (tzw. teorie kognitywne zwykle są - niestety - nawrotem do topornego mentalizmu i introspekcjonizmu). Zajmijmy się więc morfosyntaktyczną walencyjnością.

Istnieją oczywiście rozmaite słowniki wydane drukiem, choćby siedmiotomowy Słownik syntaktyczno-generatywny czasowników polskich, t. 1-7, red. K. Polański, Kraków 1980-1993. Prawa autorskie i brak czasu (skanowanie!) powodują, że wykorzystanie ich jest kłopotliwe. Szczęście, że w wersji przeglądrki Poliqarp z rozszerzeniami statystycznymi stosunkowo łatwo wyłapać informacje morfosyntaktyczne: wystarczy odpowiednio zadać zapytanie i filtrować wedle częstości. Oczywiście, ogólne zapytanie spowoduje zastój (za dużo pamięci potrzeba do jego wykonania), lecz można pytać po kolei o różne przypadki, przyimki i czasowniki zaczynające się od kolejnych liter alfabetu. Projektuję obecnie serię prostych skryptów; trzeba będzie parę dni to generować. Oczywiście, przełomem to w polskiej lingwistyce nigdy nie będzie, ale pozwoli wyeliminować część fałszywych alarmów.

19.8.07

Oceny blogów i błędy

Co jakiś czas, aby uzupełnić listę błędów, korzystam z wyszukiwarek internetowych. Dzisiaj przyszło mi do głowy, aby szukać wyrażeń „pisze się” i „ortograficzny” na stronach, gdzie jest też napis „oceny blogów”. No i znalazłem sporo błędów wyłapanych przez oceniających blogi – błędów, których istnienia nawet nie podejrzewałem (np. „tam ten minister ma zawsze racje”, chodziło o „tamten...”). Oczywiście, blogi oceniają najczęściej młodzi blogerzy, którzy sami często są z ortografią na bakier. Niby to wiadomo, ale jednak rozbawił mnie komentarz: „Zdarzają ci się żadko błędy ortograficzne”.

14.8.07

Po czym poznać błąd?

Szukałem ostatnio w Google’u list błędów, które są tępione w szkole. I znalazłem odrobinkę w zaleceniach Okręgowej Komisji Egzaminacyjnej w Krakowie. O ironio, zalecenia te zawierają ewidentny błąd. Otóż jako przykład błędu przytacza się zdanie:

Te wszystkie czyny dały impuls do rozwoju akcji.

Wersją poprawną ma być:

Te wszystkie czyny dały impuls dla rozwoju akcji.

Trzymam kciuki za uczniów w Krakowie. Jedna z moich nauczycielek w podstawówce poprawiła mi kiedyś w wypracowaniu „Ojciec myślał o synu” na „Ojciec myślał o synie”. Nie dała się nawet przekonać, kiedy pokazałem jej w słowniku, że mam rację. Więc pewnie i komisja niewzruszona spojrzy na zapis w słowniku (poprawnej polszczyzny) PWN:

  • impuls [wym. impuls, nie: jimpuls] m IV, D. impulsu: Działać pod wpływem impulsu. Odbierać impulsy. I. do czegoś: Dać impuls do napisania artykułu.

Oczywiście, zdarza się, że może być impuls dla kogoś – „to było decydującym impulsem dla premiera...”, podobnie jak kosmetyki mogą być zarówno do włosów, jak i dla Marysi. Ale impulsy są raczej tylko do rozwoju, a formy „dla” w ogóle słownik PWN nie notuje.

Dosyć często zdarza się, że różne źródła czy różni językoznawcy odmiennie zapatrują się na poprawność pewnych wypowiedzi. Jedni potępiają „w wypadku” (tłumacząc, że wypadki zdarzają się na drogach), inni „w przypadku” (twierdząc, że przypadkiem nic się wcale tutaj nie dzieje), inni z kolei twierdzą, iż to spory jałowe. Z reguły tego rodzaju kontrowersyjnych usterek językowych – usterek, bo trudno uznać coś bezwzględnie za błąd, jeśli toczą się spory – nie formalizuję w polskich regułach systemu LanguageTool. Czasem sprawdzam, czy w danym źródle nie ma błędów, czy nie jest przestarzałe itd. Najczęściej za ostateczny autorytet uznaję opinię Słownika poprawnej polszczyzny PWN (nowego wydania). Kiedy okręgowa komisja egzaminacyjna przeczy temu słownikowi, staję po stronie słownika. Choćby przewodniczący komisji był z Krakowa i nazywał się Legutko. Marek Legutko :)