[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

This is an old revision of the document!


Table of Contents

Háčkování

spolecne

Napište program, který doplní do textu chybějící diakritiku. K testování dostanete data v konkrétním jazyku, váš program by však měl být v maximální možné míře jazykově nezávislý. Můžete předpokládat, že jazyk, se kterým program pracuje, píše abecedou na bázi latinky. Vše ostatní, co potřebuje o konkrétním jazyku vědět, by měl být schopen se naučit z dat. (Z toho plyne, že vy daný jazyk ovládat nemusíte.)

Úloha má tyto části:

  1. Trénovací program. Projde trénovací data (tokenizovaný text v UTF-8) a naučí se slovník, tj. pro každý řetězec bez diakritiky všechny možné řetězce (s diakritikou či bez), ze kterých mohl vzniknout.
  2. Vlastní háčkovač. Čte ze standardního vstupu tokenizovaný text bez diakritiky, na standardní výstup vypisuje tentýž text s diakritikou (v UTF-8).
  3. Za pomoci trénovacího programu nebo jeho upravené verze:
    1. Najděte v daných datech slova, pro která je háčkování nejvíce nejednoznačné (tj. existuje největší škála možností, jak tato slova oháčkovat).
    2. Zjistěte, jaké procento výskytů slov neumožňuje přidání žádné diakritiky.
    3. Zjistěte, jaké procento vyžaduje přidání diakritiky, ale jen jediným způsobem.
    4. Zjistěte, jaké procento výskytů slov lze přepsat na více než jednu oháčkovanou variantu (včetně varianty bez diakritiky, pokud je platným slovem).
    5. Zjistěte, jaká je průměrná míra nejednoznačnosti (tj. průměrný počet možných odpovědí) na jeden slovní výskyt.
    6. Data, která dostáváte, jsou stažená z Wikipedie a obsahují šum. Odhadněte (statisticky, nikoliv na základě znalosti jazyka), která háčkování se do dat dostala jen jako překlep a jak se změní odpovědi na předcházející otázky, pokud překlepy nebudeme brát v úvahu.

Trénování

Program hacktrain.pl čte ze standardního vstupu tokenizovaný text v UTF-8, obsahující diakritiku. Nepotřebuje argumenty, ale pokud je dostane, čte místo standardního vstupu soubory, k nimž jsou cesty uvedené v argumentech. Program z každého vstupního slova odstraní diakritiku a pro všechna slova bez diakritiky si zapamatuje všechna jim odpovídající slova s diakritikou, která viděl v trénovacích datech. Pamatuje si také četnosti výskytů jednotlivých variant, aby háčkovač mohl posoudit, která varianta je nejpravděpodobnější. Naučený slovník vypíše na standardní výstup. Formát výstupu navrhněte sami.

Háčkování

Program hack.pl čte ze standardního vstupu tokenizovaný text v UTF-8. (Tento text typicky neobsahuje žádnou diakritiku, avšak program musí být technicky schopen načíst i písmena s diakritikou, pokud se tam nějaká zapomenou, nebo znaky cizích abeced.) Program se volá bez argumentů (pokud s argumenty, pak jsou to cesty k souborům, které se mají číst místo standardního vstupu), ale s povinnou volbou (option) -s soubor, která udává cestu k souboru se statistikou (slovníkem) vyrobenou programem hacktrain.pl.

Program píše na standardní výstup. Posílá tam tentýž text obohacený o diakritiku. Pozor, nesmíte změnit počet mezer, zalomení řádku apod.! Na výstupu má být přesně stejný počet znaků jako na vstupu, akorát místo znaků bez diakritiky se mohou objevit znaky s diakritikou, a to ještě jen takové, ze kterých ty bez diakritiky lze vytvořit. Výstup je v UTF-8.

Další informace

Tento úkol (včetně zadání konkrétního jazyka) si můžete zarezervovat vyplněním formuláře na http://ufal.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.

Další informace k úkolu najdete v http://ufal.mff.cuni.cz/~zeman/vyuka/podklady/pzpj03-prvni_ukoly.pdf.

V zimním semestru 2007-2008 jsou v nabídce slovenština, polština a maďarština. Odkazy na trénovací data následují.


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