Automatyczne uzupełnianie znaków diakrytycznych

Dla wygody, ewentualnie chcąc zaoszczędzić trochę czasu, piszemy swoje notatki, e-maile, a czasem również dłuższe teksty nie stosując znaków diakrytycznych. Problem pojawia się w sytuacji, gdy potrzebujemy z takiego materiału przygotować oficjalny tekst. W takim momencie nie pozostaje nam nic innego, niż oddać się żmudnej pracy polegającej na uzupełnieniu ogonków, kropek, kresek itp. Może się jednak zdarzyć, że niektórych słów wymagających poprawki nie zauważymy, ponieważ nie zostaną oznaczone przez moduł kontroli pisowni.

Skutecznym rozwiązaniem tego problemu są narzędzia językowe Lingea. Możliwe są dwa rozwiązania:

  1. Moduł, który dla dowolnego słowa bez znaków diakrytycznych znajdzie wszystkie pasujące wyrazy ze znakami.
  2. Rozwiązanie w pełni automatyczne - dzięki użyciu statystycznego modelu językowego, tekst będzie automatycznie uzupełniony o brakujące znaki diakrytyczne.

Część językowa

Głównym elementem programu jest formalny opis morfologii, dzięki któremu moduł potrafi znaleźć dla dowolnego wyrazu bez diakrytyki wszystkie pasujące wyrazy zawierające znaki diakrytyczne. Ze względu na złożoność języków naturalnych wyrazów tych może być więcej np. w przypadku wyrazu pracuje poprawne jest zarówno forma pracuje jak również pracuję. Jeżeli chcemy, aby moduł działał w pełni automatycznie, musimy go uzupełnić o metody statystyczne aplikowane na obszerne korpusy językowe. Dzięki nim moduł wybierze odpowiedni wyraz uwzględniając otoczenie danego wyrazu. Oczywiście w niektórych wieloznacznych przypadkach nawet najbardziej zaawansowany moduł będzie bezradny, niemniej jednak z większością z nich sobie poradzi.

Rozwiązanie softwarowe 

Pierwsza część jest stosunkowo prosta, jest to funkcja, która dla dowolnego słowa danego języka przyporządkuje wszystkie możliwości słów ze znakami diakrytycznymi. Funkcja korzysta wyłącznie ze słownika morfologicznego danego języka o wielkości do1 MB. Druga część programu jest trochę bardziej skomplikowana, korzysta bowiem z modelu językowego, którego wielkość może mieć nawet kilka GB.