Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
user:zeman:ukoly:pojmenovane-entity [2007/11/07 23:55] zeman vytvořeno |
user:zeman:ukoly:pojmenovane-entity [2013/10/08 08:11] (current) zeman quest |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Pojmenované entity ====== | ====== Pojmenované entity ====== | ||
+ | {{template> | ||
Pojmenované entity //(named entities)// bývají v počítačovém zpracování přirozeného jazyka definovány různě, ale většinou zahrnují vlastní jména osob, zeměpisné názvy a názvy organizací (včetně zkratek). Mohou být víceslovné. | Pojmenované entity //(named entities)// bývají v počítačovém zpracování přirozeného jazyka definovány různě, ale většinou zahrnují vlastní jména osob, zeměpisné názvy a názvy organizací (včetně zkratek). Mohou být víceslovné. | ||
- | Napište program v Perlu, který | + | Pojmenované entity |
+ | |||
+ | Metodu lze samozřejmě různě upravovat. Můžeme se dívat na 1 až N slov doleva i doprava. Můžeme klást omezení na délku (počet slov) pojmenované entity. Můžeme požadovat, aby slova v pojmenované entitě začínala velkým písmenem (ale pozor, v názvech jako //Hluboká nad Vltavou// jsou některá slova povinně s malým písmenem, zato však tato slova mohou fungovat jako další charakteristický znak zeměpisného názvu). Můžeme také experimentovat s různě sofistikovanými statistickými metodami, které určí, že dané slovo se v daném kontextu vyskytuje " | ||
+ | |||
+ | ===== Zadání ===== | ||
+ | |||
+ | Napište program v Perlu, kterému předáte jako argument cestu k souboru s korpusem, program tento korpus opakovaně čte a vyhledává spínače a pojmenované entity. Korpus je tokenizovaný text (slova jsou oddělená mezerami nebo konci řádků) v jednom jazyce v UTF-8. Program skončí po takové iteraci, ve které se mu nepodaří najít žádný nový spínač ani pojmenovanou entitu. Na závěr program vypíše přehled všech pojmenovaných entit na standardní výstup. Přehled obsahuje i typ entity (osoba / místo / organizace). V průběhu může vypisovat číslo iterace, počet nalezených entit apod. na STDERR. | ||
Vypište seznam pojmenovaných entit, které v textu najdete po N iteracích (určete typ: osoba, místo, organizace). Vycházejí vám jako pojmenované entity i slova začínající malým písmenem? Je to dobře? Pokud ne, volitelně je zablokujte. Porovnejte výsledky s prostým seznamem slov začínajících velkým písmenem. Snažte se poznat i víceslovné entity. | Vypište seznam pojmenovaných entit, které v textu najdete po N iteracích (určete typ: osoba, místo, organizace). Vycházejí vám jako pojmenované entity i slova začínající malým písmenem? Je to dobře? Pokud ne, volitelně je zablokujte. Porovnejte výsledky s prostým seznamem slov začínajících velkým písmenem. Snažte se poznat i víceslovné entity. | ||
+ | |||
+ | V prezentaci se zamyslete mj. i nad následujícími otázkami: | ||
+ | * Jaká je časová a paměťová náročnost celého učení a jedné iterace? | ||
+ | * Jak moc je tato úloha jazykově závislá? Je jasné, že počáteční vzorek pojmenovaných entit musí odpovídat jazyku, ve kterém je daný korpus. Obsahuje vaše implementace ještě další prvky, které by bylo potřeba změnit, kdybychom totéž chtěli dělat s korpusem v jiném jazyce? | ||
+ | |||
+ | ==== Víceslovné entity ==== | ||
+ | |||
+ | Volitelně (nebo spíš téměř povinně, ale ve volitelném rozsahu) se pokuste rozpoznat i víceslovné entity. Tady je jedna možnost, jak na to: | ||
+ | |||
+ | * Dívejte se na nějaké okno N po sobě jdoucích slov, kde N stanovíte pokusně, začněte u 2 a případně ho zvyšujte (ať bude sebevyšší, | ||
+ | * Pak by bylo ještě možné si pohrát s jednotlivými slovy ve skupině. Pokud bude skupina končit slovem, které je samo o sobě velmi časté (předložky, | ||
+ | * Další otázka by byla, jestli se mají nejdřív rozpoznávat jednoslovné entity a pak je uvedeným způsobem rozšiřovat, | ||
+ | |||
+ | ===== Literatura ===== | ||
+ | |||
+ | * Michael Collins, Yoram Singer: // | ||
+ | |||
+ | ===== Další informace ===== | ||
+ | |||
+ | Tento úkol (včetně zadání konkrétního jazyka) si můžete zarezervovat vyplněním formuláře na http:// | ||
+ | |||
+ | 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. | ||
+ | |||
+ | Součástí zadání bude konkrétní jazyk trénovacích dat (čeština nebo angličtina). Snažte se ale psát program tak, aby přechod na zpracování jiného jazyka byl co nejméně náročný. Není jisté, zda budu mít k dispozici také testovací data (tedy taková, ve kterých už jsou pojmenované entity vyznačené, | ||
+ | |||
+ | {{user: |