Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
user:zeman:ukoly:hackovani [2009/10/01 11:26] zeman Rozšíření motivace doplňování arabských souhlásek. |
user:zeman:ukoly:hackovani [2011/11/23 10:13] zeman |
{{template>spolecne}} | {{template>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.) | 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: | Úloha má tyto části: |
- 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. | - 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. |
- Vlastní háčkovač. Čte ze standardního vstupu tokenizovaný text bez diakritiky, na standardní výstup vypisuje tentýž text s diakritikou (v UTF-8). | - Vlastní háčkovač. Čte ze standardního vstupu tokenizovaný text bez diakritiky, na standardní výstup vypisuje tentýž text s diakritikou (v UTF-8). |
- Za pomoci trénovacího programu nebo jeho upravené verze: | - Za pomoci trénovacího programu nebo jeho upravené verze: |
| |
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. | 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. |
| |
| <code bash>perl hacktrain.pl < train.txt > model.stat</code> |
| |
===== Háčkování ===== | ===== Háčkování ===== |
| |
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. | 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. |
| |
| <code bash>perl hack.pl -s model.stat < test.txt > test.hack.txt</code> |
| |
===== Varianta pro arabštinu ===== | ===== Varianta pro arabštinu ===== |
| |
Pro učení budete mít k dispozici vokalizované (= opatřené samohláskami) texty z Pražského arabského závislostního korpusu (PADT). | Pro učení budete mít k dispozici vokalizované (= opatřené samohláskami) texty z Pražského arabského závislostního korpusu (PADT). |
| |
| |
===== Další informace ===== | ===== Další informace ===== |
V zimním semestru 2009-2010 je v nabídce arabština. Pro přístup k datům je potřeba souhlasit s licenční smlouvou a odeslat registraci na http://ufal.mff.cuni.cz/corp-lic/padt10-reg.html; do kolonky //Optional information// vyplňte "NPFL007". O registraci bych se měl dozvědět a poslat vám odkaz na data. | V zimním semestru 2009-2010 je v nabídce arabština. Pro přístup k datům je potřeba souhlasit s licenční smlouvou a odeslat registraci na http://ufal.mff.cuni.cz/corp-lic/padt10-reg.html; do kolonky //Optional information// vyplňte "NPFL007". O registraci bych se měl dozvědět a poslat vám odkaz na data. |
| |
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í. | V zimním semestru 2007-2008 jsou v nabídce slovenština, polština a maďarština. V zimním semestru 2011-2012 je to rumunština. Odkazy na trénovací data následují. |
| |
* {{user:zeman:ukoly:sk.tok.gz|Slovenská data}} | * {{user:zeman:ukoly:sk.tok.gz|Slovenská data}} |
* {{user:zeman:ukoly:pl.tok.gz|Polská data}} | * {{user:zeman:ukoly:pl.tok.gz|Polská data}} |
* {{user:zeman:ukoly:hu.tok.gz|Maďarská data}} | * {{user:zeman:ukoly:hu.tok.gz|Maďarská data}} |
| * {{:user:zeman:ukoly:ro.txt.gz|Rumunská data}} |