30.12.06

Korpus poprawek z polskiej Wikipedii

Po przygotowaniach przeprowadziłem kilka eksperymentów. I tak okazało się, że poprzedni algorytm był po prostu błędny – generował miliony plików w jednym katalogu. Zamiast tego najpierw „oczyszczam” tekst wiki ze znaczników (na razie nadal są różne brudy), dzieląc go na poszczególne wyrazy i zapisuję do specjalnego pliku pośredniego ze znacznikami startu i końca poszczególnej poprawki. Zajął on około 20 GB.

Następnie porównuję kolejne wersje artykułu standardowym poleceniem diff (w trzecim skrypcie). W efekcie powstaje korpus w dosyć standardowym formacie ujednoliconym (jak dla polecenia patch czy CVS). Nadal powstaje, więc nie wiem, jak będzie wielki, ale raczej będzie mniejszy, może kilkaset megabajtów?

Z tego korpusu można wydobywać różne rodzaje zmian – na razie ignoruję w eksperymentach komentarze, ale może będzie warto to też uwzględnić. Udaje mi się wyczytać różne rodzaje poprawek literówek czy błędów ortograficznych (sie → się): na razie badam pojedyncze wyrazy, ale może będzie warto badać inne rodzaje. Korpus powinien pozwalać na różnego rodzaju zestawienia.

Wygląda więc na to, że koncepcja jest dobra. W przyszłym roku więc komputery wikipedystów zwalczających literówki na całym świecie pewnie będą przetwarzać gigantyczne pliki :)

28.12.06

Wikipedia jako korpus poprawek

Jedną z metod tworzenia korektorów gramatycznych i stylistycznych jest wykorzystywanie korpusu błędów, o czym już tutaj pisałem. Najciekawsze są jednak korpusy błędów poprawionych.

I tutaj można wykorzystać gigantyczne zasoby Wikipedii. Pełne archiwa zmian w polskich stronach zajmują około 30 GB, przy czym polscy administratorzy wprowadzili pasek dla redaktorów, z którego łatwo wybrać opis czynności redakcyjnej – czyli np. „ort.” czy „lit.”.

Pracuję obecnie nad zbudowaniem machiny do przeszukiwania tego archiwum, a ściślej rzecz biorąc – nad wydobyciem wszystkich zmian typu poprawienie literówki itd. Narzędzia do obróbki XML (archiwum meta-history Wikipedii jest w formacie XML) nie nadają się dla tak wielkich plików. Dlatego też używam prostego skryptu w AWK, szybkim i dobrym do tego celu narzędziu. Skrypt generuje pojedyncze pliki dla wszystkich poprawek danej strony. Następnie generuje skrypt bash, który określa, że pliki mają być porównywane standardowym narzędziem diff (ta część nie jest jeszcze gotowa). Trzecim elementem będzie skrypt, który z wielkiego archiwum poprawek w formacie ujednoliconym diff będzie wydobywać zmiany typu poprawka, usunięcie i wstawka. Zaprogramowanie tego skryptu w AWK nie wydaje się specjalnie trudne.

To rozwiązanie prawdopodobnie przyda się także wszystkim innym projektom Wikipedii, nie wspominając o innych korektorach gramatycznych.

18.12.06

LanguageTool 0.8.6

Do pobrania (tutaj) jest najnowsza wersja korektora LanguageTool. Oto garść nowości:
  • interfejs został zasadniczo przetłumaczony (również na polski: widoczny język zależy od aktualnego ustawienia języka systemu operacyjnego);
  • poprawiono wiele reguł dla języka polskiego i dodano nowe – łącznie jest już ich 365;
  • dodano obsługę języka niderlandzkiego, wraz z 82 regułami dla tego języka;
  • wprowadzono początkową obsługę dla litewskiego;
  • ładniejsza ikonka;
  • usunięto kilka błędów (m.in. prowadzących do zawieszenia OpenOffice.org).

Instalacja:

  • W programie OpenOffice.org 2.x
    • Kliknij polecenie Narzędzia > Menedżer pakietów > Dodaj, a następnie wybierz plik LanguageTool-0.6.5.zip (bez rozpakowywania). Po otwarciu nowego okna edytora OpenOffice.org Writer (naciśnij klawisze Ctrl+N) w menu pojawi się nowe menu LanguageTool, które zawiera polecenie Sprawdź tekst... służące do sprawdzania tekstu.
  • Bez programu OpenOffice.org
    • Rozpakuj archiwum i uruchom plik LanguageToolGui.jar, klikając go dwukrotnie. Jeśli na danym komputerze nie skonfigurowano skojarzenia dla plików *.jar, uruchom program z wiersza poleceń za pomocą polecenia java -jar LanguageToolGUI.jar. Plik LanguageTool.jar jest natomiast korektorem działającym z poziomu wiersza poleceń.
    • Rozpakuj znajdujący się w archiwum plik standalone-libs.zip do tego samego katalogu, do którego rozpakowano pliki z archiwum.

31.10.06

LanguageTool 0.8.5

Do pobrania jest najnowsza wersja korektora LanguageTool. W nowej wersji wprowadzono wiele nowych reguł (obecnie ponad 200 reguł dla języka polskiego, spis poniżej) oraz kilka nowych reguł dla języka angielskiego. Poza tym pojawiła się możliwość rozwijania reguł dla języka francuskiego, włoskiego i hiszpańskiego (dodano po parę reguł dla każdego z nich).

Instalacja:

  • W programie OpenOffice.org (testowano tylko wersję 2.0)
    • Kliknij polecenie Narzędzia > Menedżer pakietów > Dodaj, a następnie wybierz plik LanguageTool-0.8.5.zip (bez rozpakowywania). Po otwarciu nowego okna edytora OpenOffice.org Writer (naciśnij klawisze Ctrl+N) w menu pojawi się nowe menu LanguageTool, które zawiera polecenie Check text... służące do sprawdzania tekstu.
  • Bez programu OpenOffice.org
    • Rozpakuj archiwum i uruchom plik LanguageToolGui.jar, klikając go dwukrotnie. Jeśli na danym komputerze nie skonfigurowano skojarzenia dla plików *.jar, uruchom program z wiersza poleceń za pomocą polecenia java -jar LanguageToolGUI.jar. Plik LanguageTool.jar jest natomiast korektorem działającym z poziomu wiersza poleceń.
    • Rozpakuj znajdujący się w archiwum plik standalone-libs.zip do tego samego katalogu, do którego rozpakowano pliki z archiwum.

21.10.06

Wykrywane błędy

Oto lista błędów, jakie wykrywa najnowsza wersja LanguageTool, 0.9 (listę wygenerowano i posortowano 20 maja 2007). Poniżej rodzaje błędów i przykłady z zaznaczonymi błędnymi fragmentami. W wypadku niektórych reguł podano proponowane poprawki (nie zawsze możliwe jest zasugerowanie poprawki, a niżej jest tylko wybór - w postaci rozwijanej, wystarczy kliknąć nazwę kategorii).
Liczba reguł: 569
W tym z podpowiedziami: 525

Błędy fonetyczne

Błędy frazeologiczne

Błędy interpunkcyjne

Błędy leksykalne

Błędy odmiany

Błędy ortograficzne

Błędy rodzaju gramatycznego

Błędy różne

Błędy składniowe

Błędy typograficzne

Błędy w szyku wyrazów

Pleonazmy

Prawdopodobne literówki

Wyrazy modne i nadużywane