System Korekty Tekstu Polskiego Plan prezentacji

Transkrypt

System Korekty Tekstu Polskiego Plan prezentacji
System Korekty Tekstu Polskiego
●
Plan prezentacji
Geneza problemu i cele pracy
●
Opis algorytmu bezkontekstowego
●
Opis algorytmów kontekstowych
●
Wyniki testów
●
Wersja algorytmu dla języka hiszpańskiego
●
Wnioski
Grzegorz Szuba
Geneza problemu
●
rosnąca ilość błędów w tekstach
●
brak programów dostosowanych do języka polskiego
●
brak programów badających kontekst wyrazów
●
problem przypadkowo poprawnych wyrazów
●
●
Cel powstania pracy
stworzenie systemu korekty dla języka polskiego
uwzględnienie kontekstu, fleksyjności, błędów
ortograficznych i alfabetu
Metody inżynierii lingwistycznej
●
odległość edycyjna
●
prawo Zipfa
1000000
częstotliwość
100000
10000
1000
100
10
1
1
●
N-gramy
10
100
1000
10000 100000 1000000
pozycja w rankingu
Algorytm bezkontekstowy
●
metoda działania – próba odgadnięcia błędu
●
zmienna głębokość przeszukiwania
●
rodzaje poprawianych błędów: ogonki, błędy
ortograficzne, zamiana liter miejscami,
wstawienie, usunięcie i zmiana znaku
●
trigramy ze znaków - mechanizm środkowych liter
●
magazynowanie wyników
●
wyrazy sklejone lub podzielone
Algorytmy kontekstowe
●
●
●
●
częstość występowania pojedynczego wyrazu
częstość występowania pary wyrazów
(niezależnie od form obu słów)
częstość występowania pary wyrazów (z
uwzględnieniem formy obu słów)
częstość występowania dwóch wyrazów w tym
samym zdaniu
Algorytmy kontekstowe c.d.
●
analiza tematu tekstu
●
analiza gramatyki
▪
związek zgody
▪
wyrażenia przyimkowe
Testy – wybór tekstów
●
Teksty i błędy pochodzące z rzeczywistych
wypowiedzi i publikacji
▪
forum Onetu
▪
grupy dyskusyjne Usenetu
▪
komunikator Gadu - Gadu
▪
teksty skanowane
▪
teksty przepisywane na klawiaturze
▪
tekst bez polskich znaków diakrytycznych
▪
tekst z Gazety Wyborczej
Testy – podsumowanie
Ilość słów zawierających błędy: 1133
rodzaj błędu
brak polskiego znaku diakrytycznego
błąd ortograficzny
zamiana litery na inną (nie licząc braku ogonka)
dodana nadmiarowa litera
pominięta jedna litera
zamiana miejscami sąsiadujących liter
sklejenie sąsiednich wyrazów
podział słowa na dwa
ilość wystąpień błędu
258
49
223
98
136
37
122
34
Porównanie stopni algorytmu
check_word +2
check_word -3
check_word +3
check_word -4
check_word 24
check_word +4
check_word +2 gcnpP
check_word -3 gcnpP
check_word +3 gcnpP
check_word -4 gcnpP
check_word 24 gcnpP
check_word +4 gcnpP
0,0%
10,0%
20,0%
30,0%
1
2
40,0%
3-5
6-10
50,0%
11-25
60,0%
26+
70,0%
80,0%
90,0%
100,0%
Porównanie z innymi programami
●
Porównywane programy: Aspell, Ispell,
Microsoft Office Word, Google Docs (Writely)
ispell
Writely
aspell fast
aspell normal
Word
check_word +2
check_word 24
check_word +2 gcnpP
check_word 24 gcnpP
0,0%
10,0%
20,0%
30,0%
1
2
40,0%
3-5
6-10
50,0%
11-25
60,0%
26+
70,0%
80,0%
90,0%
100,0%
Porównanie z innymi programami
brak ogonka
błędy ortograficzne
naciśnięcie sąsiedniej litery
nazwy własne
przypadkowo poprawne słowa
słowa sklejone
słowa podzielone
Ispell Aspell Word Writely mój program
+
+
+/+
+/+
+
+
+
+/+
+
+
+
++
+
Porównanie metod kontekstowych
bezkontekstowy
temat tekstu
gramatyka
dwa słowa w zdaniu
pary słów bez form
pary słów z formami
słowa pojedynczo
pojedyncze + pary bez form
+ pary z formami
wszystkie opcje
jednocześnie
0,0%
10,0%
20,0%
1
30,0%
2
3-5
40,0%
6-10
11-25
50,0%
26+
60,0%
70,0%
80,0%
90,0%
100,0%
Metody kontekstowe - podsumowanie
●
częstość pojedynczego wyrazu
●
częstość par wyrazów (niezależnie od ich formy)
●
●
częstość par wyrazów (z uwzględnieniem form
słów)
częstość występowanie dwóch wyrazów
jednocześnie w zdaniu
●
analiza tematu tekstu
●
analiza zasad gramatycznych
Wersja dla języka hiszpańskiego
●
●
●
różnice z programem dla języka polskiego
▪
inny alfabet
▪
inne błędy ortograficzne
algorytm kontekstowy
▪
różnice – połączenie metod
▪
nowa baza częstości
testy
▪
sztucznie generowane błędy w tekstach
Wersja dla języka hiszpańskiego
●
Wyniki testów:
ispell
aspell ultra
aspell fast
aspell normal
aspell bad-spellers
check_word +2
check_word -3
check_word +3
check_word +3 g
check_word +3 t
check_word +3 c
check_word +3 N
check_word +3 cNt
0,0%
10,0%
20,0%
30,0%
1
2-5
40,0%
6-10
11-25
50,0%
26+
60,0%
70,0%
80,0%
90,0%
100,0%
Wnioski i podsumowanie
●
●
●
korzyści z uwzględnienia ogonków i błędów
ortograficznych
badanie kontekstu wyrazu daje dobre wyniki
badanie tematu i gramatyki wymaga
ulepszenia
●
korzyści z wykorzystania fleksyjności języka
●
algorytm można adaptować dla innych języków
Dziękuję za uwagę!