30.3.10

W kuchni nie wolno wulgarnie

28.3.10

Imiesłów przysłówkowy bez orzeczenia

W zdaniach z imiesłowami przysłówkowymi (-ąc i -wszy), zakończonych znakiem interpunkcyjnym, powinno występować orzeczenie. Dopuszczalne jest opuszczenie orzeczenia w tytule. W tytule nie stosuje się jednak kropek na końcu. Na przykład:

Czekając na Godota

Czekając na Godota, zabawiali się rozmową.

Błąd ten jest tym bardziej rażący w zdaniach, w których występuje zdanie podrzędne:

!Czekając na Godota, który nie przychodził.

Usterka zostanie wykryta także w błędnie formułowanych pytaniach:

!Rozmawiając o sporcie, który sport uprawiasz?

W powyższym przykładzie podmiot imiesłowu jest inny od podmiotu pytania (my rozmawiamy, a sport uprawiasz tylko ty). Powinno być: Skoro już mowa o sporcie, którą dyscyplinę uprawiasz?


25.3.10

Ślimaki, ach ślimaki

W supermarketach czasem odkrywają nowe krainy. Oto francuska sieć sklepów wielkopowierzchniowych ujawnia istnienie Burguncji:

Smacznego. Ja pozostanę przy wierze w istnienie Burgundii. I nie potrafię się przekonać, że ślimaki są rybami.

LanguageTool i OmegaT

Narzędzie wspomagające pracę tłumaczy OmegaT (w wersji beta 2.1.4) właśnie uzyskało możliwość korzystania z LanguageTool jako dodatkowego modułu. Efekty widać od razu:

12.3.10

Testy segmentacji

Do niedawna nie było dla polszczyzny korpusu, w którym ręcznie zweryfikowano by podział na zdania (a przynajmniej ja nic o dostępności takiego zasobu nie wiedziałem). Całe szczęście, trwają prace nad Narodowym Korpusem Języka Polskiego – i obejmują one także ręczne oznaczenie tekstu, w tym podział go na zdania. Uzyskałem do testów próbkę obecnie opracowywanego tekstu, aby móc przetestować swoje reguły.
Okazało się, że stosujemy nieco inne konwencje – np. ja uznawałem, że liczby porządkowe na początku zdań są osobnym elementem, a nie fragmentem zdania (w OpenOffice.org takie liczby generowane automatycznie nie są w ogóle widoczne dla LanguageTool). Ale po ujednoliceniu takich konwencji przystąpiłem do testów. Wykryłem trochę usterek w regułach SRX, usunąłem je i wyniki są obecnie następujące.
W próbce było 42426 znaczników podziału (dalej oznaczone jako Z). Dokładność (precision) podziału wyniosła 0,993234. Kompletność (recall) 0,998353. Poprawność (accuracy) 0,991609. (Wszystkie te parametry liczyłem jako ilorazy, odpowiednio Z oraz sumy Z i podziałów dodanych przez SRX; Z oraz sumy Z i podziałów brakujących w pliku posegmentowanym przez SRX; wreszcie Z oraz sumy Z i podziałów dodanych przez SRX i brakujących w SRX).
Nie da się dojść, rzecz jasna, mechanicznymi środkami typu reguły SRX, do poziomu 1, bo niektóre podziały zależą od analizy znaczeniowo-logicznej zdania. Ale jest całkiem już nieźle! :)

AKTUALIZACJA: przy właściwym ustawieniu segmentacji na końcach wierszy udało się uzyskać kompletność równą 1 (to trochę artefakt wynikający z przetwarzania danych wejściowych) i dokładność 0,996933.

AKTUALIZACJA 2: po zamianie końców wierszy na spacje, udało się uzyskać bardziej wiarygodny wynik, mianowicie kompletność wynosi 0,994935, a dokładność – 0,997027. Przy zamianie 50% końców wierszy na spacje i usunięciu 50% wierszy kompletność spadła do
0,949978, a dokładność do 0,997426. Przy usunięciu wszystkich spacji wyniki były odpowiednio 0,909843 (kompletność) i 0,997695 (dokładność). Ponieważ w tekstach brak spacji lub końca wiersza po kropce przed kolejnym zdaniem jest zjawiskiem sporadycznym (lecz jego częstość w języku jest trudna do oszacowania ze względu na to, że w przetworzonych korpusach występują już całe zdania), w wypadku innych tekstów kompletność powinna być bliższa wartości z przedziału od 0,994935 a 0,949978, co jest całkiem niezłym wynikiem.

2.3.10

morfologik-stemming 1.3.0

Wydaliśmy dziś nową wersję biblioteki morfologik-stemming. Zawiera ona trochę usprawnień związanych z wydajnością, w tym m.in. możliwość innego binarnego przekodowania automatu fsa (CFSA), umożliwiającą uzyskanie mniej więcej 10% mniejszego pliku, który jest obsługiwany szybciej.
API wysokiego poziomu nie uległo zmianie.