[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
user:zeman:ukoly:trideni-jazyku [2007/10/28 12:14]
zeman Překlep.
user:zeman:ukoly:trideni-jazyku [2009/02/27 17:53]
zeman {{template>spolecne}}
Line 1: Line 1:
 ====== Rozpoznávání a třídění jazyků ====== ====== Rozpoznávání a třídění jazyků ======
-//(úloha z počítačového zpracování přirozeného jazyka)// +{{template>spolecne}}
- +
-//Upozornění: Specifikace je detailnější (a tudíž více svazující) než bývá u zápočtových úloh zvykem. Ideálně by díky tomu měla tři řešení téže úlohy od tří různých lidí být zaměnitelná; šetří vám to také práci s dokumentací, která už je součástí zadání. Samozřejmě nelze vyloučit, že najdete dobrý důvod, aby něco bylo jinak než ve specifikaci; takové případy se mnou prosím [[zeman@ufal.mff.cuni.cz|konzultujte]]. Bez posvěcení se raději od specifikace zbytečně neodchylujte. Kdo bude místo na STDOUT čmárat do souboru, jehož cesta je zadrátována ve zdrojáku jako "C:\Documents and Settings\PanVopička\Dokumenty\tisícdalšíchadresářů\mujchytrysoubor.dat" apod., nejenže nedostane zápočet, ale bude podroben veřejnému zostuzení.//+
  
 Napište program, který dokáže rozpoznat jazyk dokumentu, věty a slova a roztřídit vstupní text podle jazyků. Součástí zadání bude konkrétní skupina jazyků, které má program umět poznat, váš program by však měl být jazykově nezávislý. Vše, co potřebuje o konkrétních jazycích vědět, by měl být schopen se naučit z dat. (Z toho plyne, že vy dané jazyky ovládat nemusíte, naopak je možná výhodou, když jsou vám zcela neznámé.) Napište program, který dokáže rozpoznat jazyk dokumentu, věty a slova a roztřídit vstupní text podle jazyků. Součástí zadání bude konkrétní skupina jazyků, které má program umět poznat, váš program by však měl být jazykově nezávislý. Vše, co potřebuje o konkrétních jazycích vědět, by měl být schopen se naučit z dat. (Z toho plyne, že vy dané jazyky ovládat nemusíte, naopak je možná výhodou, když jsou vám zcela neznámé.)
Line 12: Line 10:
  
 Odevzdávat budete oba programy a natrénované statistiky. Odevzdávat budete oba programy a natrénované statistiky.
- 
-Programy pište v Perlu a snažte se vyvarovat obratů, které by omezily přenositelnost mezi platformami (např. nevolejte externí programy, které se vyskytují pouze v Unixu, resp. pouze ve Windows). 
  
 ===== Specifikace programu pro trénování jazyků ===== ===== Specifikace programu pro trénování jazyků =====
Line 51: Line 47:
  
 Není-li zadána volba ''-i'' (jako ve druhém příkladu), čte se jediný dokument ze standardního vstupu. Na **standardní chybový výstup (STDERR)** se vypíše vyhodnocení jazyka celého dokumentu, tj. seznam známých jazyků, spolu s číselným vyjádřením podobnosti dokumentu každému jazyku, seřazený sestupně podle podobnosti. Pokud dokument není žádnému známému jazyku podobný dostatečně, před seznam se ještě napíše upozornění, že jde pravděpodobně o neznámý jazyk. Na standardní výstup (STDOUT) se vypíše dokument ze vstupu; to má smysl jen při volbách ''-xd'', ''-xp'' nebo ''-xw''. Není-li zadána volba ''-i'' (jako ve druhém příkladu), čte se jediný dokument ze standardního vstupu. Na **standardní chybový výstup (STDERR)** se vypíše vyhodnocení jazyka celého dokumentu, tj. seznam známých jazyků, spolu s číselným vyjádřením podobnosti dokumentu každému jazyku, seřazený sestupně podle podobnosti. Pokud dokument není žádnému známému jazyku podobný dostatečně, před seznam se ještě napíše upozornění, že jde pravděpodobně o neznámý jazyk. Na standardní výstup (STDOUT) se vypíše dokument ze vstupu; to má smysl jen při volbách ''-xd'', ''-xp'' nebo ''-xw''.
 +
  
  
Line 68: Line 65:
       * Struktura langs, patřící celému odstavci, se píše hned za počáteční značku odstavce.       * Struktura langs, patřící celému odstavci, se píše hned za počáteční značku odstavce.
       * Struktura langs, patřící slovu, se píše hned za **koncovou** značku slova (tedy ne dovnitř slova, ale za něj).       * Struktura langs, patřící slovu, se píše hned za **koncovou** značku slova (tedy ne dovnitř slova, ale za něj).
-      * Číselný parametr N říká, kolik nejpravděpodobnějších jazyků má být ve strukturách langs vypsáno. Je-li N="a" //(all)//, mají se vypsat všechny známé jazyky. Výchozí hodnotou N je 1, v tom případě se vůbec nevypisuje struktura langs a stačí atributy lang a lw uvnitř počáteční značky prvku. Pokud je N vyšší než 1 nebo "a", vypisují se jak atributy lang a lw uvnitř počáteční značky prvku, tak struktura langs. Pokud je N 0, nevypisuje se struktura langs ani atribut lw v počáteční značce prvku, vypisuje se pouze atribut lang.+      * Číselný parametr N říká, kolik nejpravděpodobnějších jazyků má být ve strukturách langs vypsáno. Je-li N="a" //(all)//, mají se vypsat všechny známé jazyky. Výchozí hodnotou N je 1, v tom případě se vůbec nevypisuje struktura langs a stačí atributy lang a lw uvnitř počáteční značky prvku. Pokud je N vyšší než 1 nebo "a", vypisují se jak atributy lang a lw uvnitř počáteční značky prvku, tak struktura langs. Pokud je N 0, nevypisuje se struktura langs ani atribut lw v počáteční značce prvku, vypisuje se pouze atribut lang. Pokud je jazyk neznámý a N > 1, potom atribut lang ve značce prvku obsahuje informaci, že jazyk je neznámý, ale struktura langs zobrazuje váhy známých jazyků pro posuzovaný prvek.
     * V příkladu si všimněte, že na začátku dokumentu XML se uvádí značka ''<?xml...?>'', ve které se mimo jiné musí říct, jaké kódování dokument používá. Spolu s jazykem tedy musíte rozpoznat i kódování.     * V příkladu si všimněte, že na začátku dokumentu XML se uvádí značka ''<?xml...?>'', ve které se mimo jiné musí říct, jaké kódování dokument používá. Spolu s jazykem tedy musíte rozpoznat i kódování.
  

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