[C++] Algorytm poprawiający literówki
Ostatnio zmodyfikowano 2010-06-12 19:34
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. |
|
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 |
|
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.
|
|
Elaine |
» 2010-06-12 18:22:41 Levenshtein distance się przyda? |
|
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. |
|
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ę. typedef std::string SzukanyT; typedef std::string PoprawionyT; typedef std::map < SzukanyT, PoprawionyT > PoprawkiT;
Dla każdego znalezionego SzukanyT zastępujesz go PoprawionyT. |
|
« 1 » |