[ 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
user:zeman:ukoly:pojmenovane-entity [2008/10/21 14:34]
zeman Rozepsáno podrobněji.
user:zeman:ukoly:pojmenovane-entity [2013/10/08 08:11] (current)
zeman quest
Line 1: Line 1:
 ====== Pojmenované entity ====== ====== Pojmenované entity ======
-//(ú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í.//+
  
 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é.
Line 19: Line 17:
   * Jaká je časová a paměťová náročnost celého učení a jedné iterace?   * 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?   * 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šší, vždy půjde vymyslet delší entitu, ale to se nedá nic dělat). Pak se podívejte, jestli se příslušná skupina slov vyskytuje v textu opakovaně, alespoň M-krát. Ani tohle není v některých jazycích jednoduché, protože se může vyskytovat v různých pádech, takže zkuste s nějakou váhou započítat i výskyty, kde bude téměř stejná posloupnost slov, akorát u některých z nich se bude lišit koncovka (1 až K koncových znaků; u jazyků odlišných od češtiny se může měnit i jiná část slova). Dostatečně časté skupiny, jejichž první slovo algoritmus prohlásí za entitu, prohlaste za víceslovné entity.
 +  * 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, spojky), je možné, že skupina vyjde jako přijatelně častá, i když to žádná skupina není. Takže si vytvořte takzvaný //stoplist// - seznam L nejčastějších slov v korpusu, třeba L = 100 až 300, a požadujte, aby skupina takovým slovem nekončila. Obsahovat ho samozřejmě může, dokonce jím asi může i začínat (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, nebo jestli je lepší nejdřív v textu označit víceslovné výrazy, slepit si je třeba podtržítky, a pak teprve určovat entity.
  
 ===== Literatura ===== ===== Literatura =====
Line 26: Line 32:
 ===== Další informace ===== ===== 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).+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. 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.
Line 32: Line 38:
 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é, takže můžeme spočítat, kolikrát jste se trefili). Raději s tím nepočítejte. 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é, takže můžeme spočítat, kolikrát jste se trefili). Raději s tím nepočítejte.
  
 +{{user:zeman:ukoly:cs.tok.gz|Česká trénovací data}}

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