-
Dziś porozmawiamy o korekcji błędów. Wiele aplikacji z niej korzysta
-
Na przykład: edytory tekstu, prawie każdy, obecnie stosowany edytor
-
zaznaczy błędnie wpisane słowo, znajdzie jego poprawną wersje
-
i automatycznie zamieni je na prawidłowe. Współczesne wyszukiwarki
-
nie tylko zaznaczą błędny wyraz, ale także zwrócą wynik wyszukiwania,
-
taki jaki by był dla prawidłowo napisanego wyrazu.
-
Obecnie telefony komórkowe także automatycznie znajdują niepoprawne wyrazy.
-
Wpiszmy np.: słowo l-a-y-r, zostanie ono zastąpione automatycznie albo sasugerowana zostanie
-
poprawna forma. Możemy rozróżnić cały katalog problemów w obrębnie korekcji tekstu.
-
Jednym jest znalezienie błędu, a drugim poprawa niepoprawnego wyrazu.
-
Możemy tutaj mówić o różnych rodzajach korekcji. Można
-
automatycznie poprawić błąd, jeśli jesteśmy pewni, że znamy poprawną wersje
-
nieprawidłowego słowa. H-T-E jest bardzo częstym błędem i
-
wiele edytorów automatycznie poprawia H-T-E. Możemy zasugerować tylko jedną
-
korekcje, jeśli jest ona bardzo prawdopodobna, albo możemy zasugerować
-
całą listę korekcji i umożliwić użytkownikowi wybranie prawidłowej. Rozróżniamy dwie
-
różne klasy błędów. Błędy w wyników których powstałe słowo nie jest
-
poprawnym słowem danego języka. Tak więc słowo g-r-a-f-f-e - błąd dla słowa giraffe
-
nie jest słowem języka angielskiego. Z drugiej strony istnieją błędy w wyniku których powstaje
-
słowo, które występuje w języku angielskim.
-
Takie błędy są trudniejsze do wykrycia. Możemy zatem podzielić błędy
-
na błędy typograficzne. Np.: napisaliśmy
-
t-h-r-e-e a chcieliśmy napisać t-h-e-r-e. Oraz na błędy poznawcze. Użytkownik chciał
-
napisać słowo p-i-e-c-e, zastąpil je natomiast homofonem
-
tego słowa. Albo t-o-o i t-w-o. W obu przypadkach
-
błąd prowadzi do powstania poprawnego słowa języka angielskiego. Znając zatem różnice pomiędzy nimi
-
możemy znaleźć lepszy sposób na poprawe obu tych typów błędów.
-
Jak częste są błędy w pisowni? Zależy to od zadania. W przypadku wyszukiwarek, błędy
-
są bardzo częste. Praktycznie jedno na cztery słowa
-
mają szanse być niepoprawne. Jednak w przypadku błędów powstałych przy korzystaniu z telefonów komórkowych
-
jest o wiele trudniej określić dokładną ich liczbę. Zostało przeprowadzone sporo badań
-
i większość z nich polegało na przepisywaniu bez kasowania tekstu przez użytkowników.
-
Przepisywali oni tekst i określano jak dobrze to zrobili. Co prawda nie jest to to samo co zrobił by normalny
-
użytkownik telefonu piszący wiadomość, jednak jeśli poprosisz
-
użytkowników o przepisanie tekstu bez użycia przycisku backspace,
-
w 13% słów zrobią oni błąd. Wynika zatem z tego,
-
że wiele słów poprawiają oni klawiszem backspace. Jeśli
-
pozwolisz im poprawiać wpisywane słowa
-
poprawią oni samodzielnie jakieś 7% błędnie wpisanych słów.
-
Pozostanie jednak nadal około 2% słów niepoprawnych.
-
Podobnie jest w przypadku użytkowników przepisujących tekst na zwykłej klawiaturze.
-
Więć błędy stanowią ok 2% wprowadzanych przez użytkowników słów. I prawdopodobnie większa
-
liczba dla słów wpisywanych w wyszukiwarkach i jeszcze większa dla piszących sms-y.
-
W jaki sposów wykrywamy błędy nie tworzące poprawnych słów?
-
Tradycyjną metodą jest użycie dużego słownika. Każde słowo, które
-
się w nim nie znajduje - jest błędne. Im większy słownik, tym
-
lepiej ta metoda działa. W celu poprawy tych słów, generujemy liste poprawnych
-
słów podobnych do tego niepoprawnego. I wybieramy to,
-
które najbardziej nam pasuje. Mówie tutaj o modelu probalistyczny noisy-channel.
-
Ma to także związek z metodą shortest
-
weighted error distance method. Znajdujemy więc słowa, które nie znajdują się w
-
słowniku. Dla każdego generujemy liste słów-kandydatów, czyli słów poprawnych,
-
podobnych do błędnego słowa
-
i wybieramy najlepsze z nich. Tak naprawde w prawdziwych korektorach, robimy nawet więcej:
-
Dla każdego słowa generujemy liste kandydatów, ale robimy to
-
dla każdego słowa w zdaniu, nie tylko dla słowa, którego nie mamy w słowniku.
-
W prawdziwych korektorach tekstu nie używamy słowników
-
ponieważ błędne słowo może występować w słowniku.
-
Więc dla każdego słowa generujemy liste kandydatów. Możemy ją stworzyć w oparciu o
-
podobną wymowę, podobną pisownie
-
i zależy to od algorytmu z którego korzystamy. Jest niezmiernie ważne, aby badane słowo
-
znajdywało się wśród kandydatów do poprawy, ponieważ badane słowo może
-
być błędnie zapisanym innym poprawnym słowem albo może być poprawne.
-
W rzeczywistości większość słow jest poprawna. Należy więc
-
badane słowo dodać do listy kandydatów. I najczęściej właśnie je wybierzemy jako najlepsze.
-
Więc jak jak dobieramy słowa-kandydaty? Możemy użyć modelu noisy channel,
-
możemy użyć klasyfikatora
-
Omówimy więc następnie różne metody znajdywania błędów i ich korekcji.