Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Algorytm poprawiający literówki

Ostatnio zmodyfikowano 2010-06-12 19:34
Autor Wiadomość
adaxks
Temat założony przez niniejszego użytkownika
[C++] Algorytm poprawiający literówki
» 2010-06-12 14:11:11
Muszę napisać algorytm poprawiający literówki w słowach (jedna litera za dużo/za mało/ inna litera - np dla kot może być krot, ot, kut)

Problem polega na tym że o ile "kut" mogłyb zamienić przyrównywaniem każdej litery i większością poprawnych liter wybrać słowo kot to dla "krot" i "ot" nie mam żadnego pomysłu.
P-17950
DejaVu
» 2010-06-12 15:32:28
W sumie ciekawy problem :) Z pewnością musi się to opierać na jakiejś statystyce występujących znaków w każdym z wyrazów i mieć jakąś tolerancję błędu w stosunku do podawanego wzorca.

Tak na moje oko to trudne jest to zadanie do realizacji tak aby zachować wydajność i skuteczność algorytmu.

/edit:
Tu jest jakaś praca magisterska w której jest sporo różnych algorytmów omówionych, operujących na tekście.
http://hektor.umcs.lublin.pl/~mikosmul/michal-kosmulski-praca-mgr-informatyka.pdf
P-17954
adaxks
Temat założony przez niniejszego użytkownika
» 2010-06-12 17:06:54
hmm źle ująłem swój problem.
Ja mam podaną liczbę wyrazów wzorów powiedzmy 5 i muszę nimi poprawić podany tekst w którym będą wyrazy - wzory z literówkami.|kot| - wzór  literówki np- krot, ot, kut.


P-17955
Elaine
» 2010-06-12 18:22:41
Levenshtein distance się przyda?
P-17956
ison
» 2010-06-12 18:23:07
no nie wiem... to jest troche za trudne zadanie jak na twój poziom. Jesteś pewny że tego chcesz? Może twój problem da się w inny sposób rozwiązać, gdyż napisanie takiego wydajnego 'sprawdzacza' literówek nie należy do najprostszych.
P-17957
DejaVu
» 2010-06-12 19:34:26
Skoro masz wzory wyrazów, które są błędne i wiesz na co je zastąpić to wystarczy zrobić mapę.
C/C++
typedef std::string SzukanyT;
typedef std::string PoprawionyT;
typedef std::map < SzukanyT, PoprawionyT > PoprawkiT;
Dla każdego znalezionego SzukanyT zastępujesz go PoprawionyT.
P-17963
« 1 »
  Strona 1 z 1