Každý občas udělá nějaký ten překlep nebo gramatickou chybu. Naším úkolem bude napsat jednoduchý program/funkci, které předáme seznam slov a větu. Funkce nám vrátí, pokud existují dle zadaných pravidel, možné varianty slov ze slovníku. Pro jednoduchost budeme pracovat pouze s malými písmeny.
Pravidla:
- Překlep v písmenu: jablko vs. japlko.
- Záměna písmen: okno vs. onko.
- Chybějící písmeno: jablko vs. jabko.
- Písmeno navíc: pošta vs. poošta.
- Kontrolujeme pouze slova delší, než 2 znaky.
Příklad vstupu:
- Zadaná věta:
“Včera jsm měl k obědu svíčkovu a pěk knedlíků”
. - Slovník:
[“kalendář”,“banán”,“svíčkovou”,“klíč”,“měsíc”,“kámen”,“jsi”,“jsem”,“včera”]
. - Příklad výstupu:
{“jsm”: [“jsi”, “jsem”], “svíčkovu”: [“svíčkovou”]}
.
Co se touto úlohou naučím a o čem si něco přečíst?
- Podobnost textu, fuzzy vyhledávání.
- Levenshteinova vzdálenost, Hammingova vzdálenost.
Kde se s touhle úlohou typově setkám?
- Porovnávání odlišnosti dvou textů.
- Detekce slov, ve kterých se mohou objevit překlepy.
- Vyhledávání textu.
Úroveň znalostí
Začátečník