[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Table of Contents

Brillův tagger

Stáhněte z internetu (např. z http://sourceforge.net/projects/gposttl/) tagger Erika Brilla, nainstalujte ho a rozchoďte ho. Dostanete k dispozici anotovaný korpus, který si rozdělíte na trénovací a testovací data. Natrénujte tagger na trénovacích datech, označkujte testovací data a zjistěte, jaké úspěšnosti tagger dosahuje.

Výsledky své práce budete prezentovat ostatním na některé prosincové přednášce. Níže najdete otázky, na které byste při experimentech měli hledat odpověď; do prezentace však zahrňte i další zajímavosti, na které při pokusech narazíte, ať už se týkají technických aspektů práce s taggerem, zajímavostí v datech, se kterými jste pracovali, nebo námětů, jak zlepšit úspěšnost taggeru.

Odevzdávat budete kromě prezentace také podpůrné skripty, které při experimentech potřebujete. Měly by být spíše v Perlu než v shellu a spíše platformově nezávislé - to se týká zejména těch, které přímo nevolají Brillův software. V případě potřeby ale můžete využít externí programy běžně dostupné v Linuxu, které nelze snadno nahradit příkazy Perlu (např. gzip). Skripty by neměly záviset na konkrétním rozmístění souborů na vašem disku. Samozřejmě budou muset vědět, kde máte vybalený tagger s příslušenstvím, k tomu použijte proměnnou prostředí BRILL. (V Perlu dostupná jako $ENV{BRILL}.) Dokumentace ke skriptům stačí uživatelská, tj. seznam skriptů, ke každému způsob volání a jednou dvěma větami popsáno, k čemu slouží.

Poznámky k architektuře

Brillův software je napsán dílem v C, dílem v Perlu. Testován byl na Sun Sparc 10, takže doporučené prostředí je Unix, i když není zatím vyloučeno, že ho půjde přeložit i ve Windows. Vznikl už v roce 1994, takže na dnešním hardwaru by měl být rychlejší a nemusel by mít problémy s pamětí. Tehdy ale trénování na půl miliónu anglických slov trvalo několik dní.

Poznámka k poznámce (1.10.2009): staré stránky Erika Brilla na Johns Hopkins University, odkud bylo dříve možné si tagger stáhnout, již nefungují a výše uvedený odkaz na Sourceforge vede na novou implementaci Brillova taggeru. Uvedené postřehy se na tuto implementaci pochopitelně nemusí vztahovat.

Otázky

Poznámka: Mluvíme-li o počtu slov, máme na mysli buď slovní výskyty, nebo slovní typy. Velikost korpusu udává počet slovních výskytů. Počet typů udává velikost slovníku, který můžeme z korpusu vytáhnout. Jeden typ může mít několik výskytů.

  1. Jaká je míra nejednoznačnosti trénovacích dat? Tj. kolik možných značek v průměru připadá na každý slovní výskyt?
  2. Jaké procento slovních výskytů je jednoznačné, tj. z trénovacích dat pro ně známe právě jednu značku?
  3. Jaký je nejvyšší počet značek na slovní typ a které slovo a značky to jsou?
  4. Jaké je pokrytí testovacích dat trénovacími? Tj. jaké procento testovacích slov jsme alespoň jednou potkali v trénovacích datech? Zajímavé jak pro počet testovacích výskytů, tak typů.
  5. Jaká je úspěšnost naivního taggeru, který každému slovu přiřadí nejpravděpodobnější značku? (Pro každé trénovací slovo si musíme zapamatovat vítěznou značku, neznámým slovům dáváme nejčastější značku vůbec.)
  6. Jak dlouho trvá trénování Brillova taggeru na přiložených datech (a na jakém hardwaru)?
  7. Jaké úspěšnosti tagger dosahuje na přiložených testovacích datech? Tj. pro jaké procento slov určil správnou značku?
  8. Jaké jsou nejčastější druhy chyb naivního a Brillova taggeru? (Např. “25 % všech chyb byl případ, kdy správná je značka N4 (podstatné jméno ve 4. pádě), ale tagger přiřadil značku N1 (podstatné jméno v 1. pádě). Tato chyba se nejčastěji týkala slova “předpis”.”)
  9. Změní se výsledek značkování, když Brillovi nepředhodíme text v UTF-8, ale převedeme ho nejdřív do nějakého osmibitového kódování?
  10. Brillův tagger funguje tak, že nejdřív udělá pro každé slovo jakýsi první nástřel značky a pak se učí pravidla, jak značku nahradit lepší značkou. Defaultní první nástřel používá značky běžné v anglickém Penn Treebanku, tj. pro jiné korpusy a jazyky tyto značky musí být špatně. Změní se úspěšnost, když algoritmus prvního nástřelu upravíte pro svou sadu značek? Nebo se změní jen čas potřebný ke konvergenci algoritmu?

Skripty

Následuje přehled některých skriptů, které byste měli vytvořit. Nejde o vyčerpávající seznam, výše navržené experimenty budou vyžadovat i další funkce.

Data

Označkovaná data v tzv. Brillově formátu. Každá věta leží na samostatném řádku. Tokeny na řádku jsou oddělené mezerou. Token je ve formátu “slovo/značka”, přičemž ani slovo, ani značka neobsahuje ani lomítko, ani mezeru.

Češ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/pdt20-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édština

Data pocházejí ze švédského korpusu Talbanken05, který je volně dostupný na webu.
stáhnout

Dánština

Data pocházejí z korpusu DDT (Danish Dependency Treebank), který je volně dostupný na webu.
stáhnout

Další informace

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).

Termín odevzdání e-mailem je konec listopadu, prezentace programu proběhne v prosinci.


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