[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Table of Contents

Podobnost slov a vět

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

  1. písmeno navíc
  2. chybějící písmeno
  3. zaměněné písmeno
    1. ještě rozlišit podobnější a méně podobná písmena:
      • velmi podobné je malé písmeno svému velkému protějšku
      • písmeno bez diakritiky písmenu s diakritikou
      • případně písmena, která mají obě diakritiku, ale každé jinou
        • a opět jsou diakritická znaménka, která se sobě podobají více, a znaménka, která se podobají méně
      • podobná si mohou být také I a Y
      • podobná (ve smyslu pravděpodobné záměny) jsou písmena, která se snadno zamění na klávesnici (jsou vedle sebe, ale taky třeba záměna Z a Y)

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í.

Zadání

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.

Data a jazyk

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é.

Další informace

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.


[ Back to the navigation ] [ Back to the content ]