spolecne
Na vstupu je slovo a slovník, na výstupu je slovník uspořádaný sestupně podle podobnosti se slovem, včetně číselného vyjádření míry podobnosti pro každou položku ve slovníku: 100 % = slova jsou totožná, 0 % = nelze nalézt žádnou podobnost. Metrika by měla brát v úvahu chyby typu
Druhá verze totéž rozšíří na úroveň delších textů. S využitím první verze, která pro dvě slova dokáže vyčíslit, jak moc jsou si podobná, se změří podobnost dvou textů. Opět je možné, že jsou přidána či ubrána celá slova, nebo že některé slovo je zkomoleno či zcela zaměněno. Navíc je možné, že jedno slovo je ve druhém textu rozděleno na několik slov a naopak. Výstupem bude v tomto případě jednak číselné vyjádření podobnosti vět (od 0 do 100 %), jednak párování, které řekne, která slova či skupiny slov si v obou větách odpovídají.
Vaším úkolem je napsat v Perlu skript psav.pl
, který ze standardního vstupu načte slovník (prostý seznam co slovo, to řádek; první slovo je to, se kterým budeme ostatní srovnávat) a na standardní výstup vypíše sestupně uspořádanou tabulku (na řádku je slovo, pak tabulátor, pak číslo mezi nulou a jedničkou, které udává míru podobnosti s prvním slovem.
Potom se pokuste tentýž princip uplatnit o patro výš při srovnávání vět.
Snažte se skript psát maximálně jazykově nezávislý. Heuristiky, které předpokládají konkrétní jazyk (např. záměna kláves Z a Y hrozí uživateli české, německé nebo jiné QWERTZ klávesnice, který současně musí občas zapínat anglickou klávesnici QWERTY), se snažte udělat volitelné či konfigurovatelné.
Tento úkol (včetně zadání konkrétního jazyka) si můžete zarezervovat vyplněním formuláře na http://quest.ms.mff.cuni.cz/cgi-bin/zeman/zapoctaky/rezervace_ukolu.pl (pokud ještě není rozebrán).
Pokud se individuálně nedohodneme jinak, termín odevzdání je konec listopadu. Při některé prosincové přednášce program předvedete ostatním.