This is an old revision of the document!
Table of Contents
Motivace
Na t-rovině PDT 2.0 proběhlo anotování koreference, a sice viz níže. V anotování koreference je potřeba pokračovat i s ohledem na její automatické určování metodami strojového učení.
Určitě chceme mít jakékoli anotace, pro které se rozhodneme (tedy i koreferenční), PRÁVĚ TEĎ. To znamená, že HNED seženeme anotátory (kolik?), HNED je zacvičíme, HNED na ně seženeme peníze, … Tak HNED to nebude, že ano:-) Zvolme tedy takový způsob anotace, pro který rychle (HNED to nebude ani v tomto případě) seženeme dostatek anotátorů - anotátory nebudeme muset zacvičovat, protože si budou “jenom” hrát.
Motivační publikace
- Návrh projektu na GAČR 2009 Automatické určování koreference v textech na základě dat anotovaných netradiční metodou ## automatické určování koreference metodou strojového učení na textech v jejich lineární podobě;
- Luis von Ahn, Laura Dabish: Labelling Images with a Computer Game, 2004, (pdf) ## nálepkování obrázků hrou ESP
Anotování koreference v českých datech
- rozšířená koreference - viz přehled https://wiki.ufal.ms.mff.cuni.cz/user:hladka:data
- ukázky anotovaných souborů ## ještě k těmto výpisům doplním tektogramatické stromy - někdy jsou k pochopení barviček důležité. Nicméně už z těchto ukázek vyplývá, že budeme muset začít s beletrií a podle zkušeností zkusit noviny.
- Projekt anotace rozšířené textové koreference a bridging vztahů v PDT. (Anja Nedolužko: Technická zpráva)
Automatické určování koreference v českých datech - přehled
- Experiments with Czech so far
- Nguy Giang Linh: Návrh souboru pravidel pro analýzu anafor v českém jazyce (A set of rules for anaphora resolution in Czech), MFF UK 2006. Available: pdf
- Nguy Giang Linh; Žabokrtský, Z.: Rule-based approach to pronominal anaphora resolution applied on the Prague Dependency Treebank 2.0 data. In Proceedings of DAARC 2007 (6th Discourse Anaphora and Anaphor Resolution Colloquium). Available: pdf
- Linh's procedure
Návrh hry - brainstorming
26/5/08 Anja, Bára:
- Vstup: Texty v povrchové podobě, tedy NE tektogramatické stromy
- Jaké texty vybrat? Z PDT 2.0? - to by se asi hodilo, protože pak by se nabízelo srovnání s anotací na tektogramatických stromech.
- Výstup hry: koreferenční řetízky
- gramatická koreference … určitě ne v prototypu hru
- TEXTOVÁ KOREFERENCE … v prototypu hry určitě
- bridging anaphora … určitě ne v prototypu hry, (pozn. AN - ale možná potom, třeba jako další úroveň)
- Jak instruovat hráče, aby označovali koreferenční řetízky? Mějme na paměti to, že hráči nesmí být zatíženi jakýmkoli lingvistickým termínem a že by měl při hraní využívat pouze základní vlastnosti tvarosloví a syntaxe. (pozn. AN - Nabízím otázku typu “Označte slova, která pojmenují stejný objekt” třeba stylisticky úpravenou - odkazují na stejnou věc, předmět, osobu, pojem apod. Tím bychom měli na výstupu rozšířenou textovou koreferenci)
- Jak hráčům servírovat texty? Určitě po částech. Na úvod jim zobrazit první čtyři (méně asi ne) věty a následně větu po větě? (pozn. AN - celý text se ke hráči ale stejně nedostane? Nebo jo? Co když má 70 vět? Budeme členit ten text na prolínající se kousky a pak ho zase slepovat? ???)
- Jak budou hráči označovat slova, která k sobě patří? Technicky by měli mít možnost libovolné slovo uchopit a přetáhnout ho přes jiné, ke kterému patří. Různé koreferenční řetízky by se odlišovaly barvou? (pozn. AN - pokud budeme hrát jenom textovou koreferenci, barvičky jsou určitě nejlepším řešením. Vět na vstupu máme jen málo, takže barvy stačí. Jakmile tam dáme bridging, to už tak nepůjde, protože barvy se budou křížit - jedno slovo se může zůčastnit více vztahů. Ale bridging zatím neděláme, takže je to v pořádku)
- Texty před hrou nějak zpracovat? Například, že by se věta automaticky označkovala a všechna substantiva (i zájmena?) by se zvýraznila. Hráči by pak přetahovali pouze takto označená slova. (pozn. AN - pokud to není technicky moc složité, možná by stálo za to spojit dohromady celé NP, tj. aby např. “japonský pán” - “pán z Japonska”, nebo “ekonomická nauka” - “ekonomická věda” - “ekonomie” byly zvýrazněny jako jedna jednotka. Jinak hrač nespojí slovo “věda” se slovem “ekonomie” a bude to ztráta informace. Navíc, takové předznačkování nám dává výhodu před stromovým zobrazením, kde koreferenci můžeme označovat jenom mezi jednotlivými úzly. Další přehlednější příklady dopíšu, až se na ně narazím) (pozn. BH - ano, naše úloha velmi těsně souvisí s NP. Původně jsem si mysleli, že bychom pro hraní mohli vzít i data, na kterých Magda Ševčíková a Zdeněk Žabokrtský vedli ruční klasifikaci NP. Bohužel nemohli, protože oni náhodně vybrali určité množství vět ČNK - tedy nepracovali na souvislém textu, což zase potřebujeme my.)
- Hra kolika hráčů?
- Hra je postavena na shodě hráčů. Jak naložit s koreferenčními řetízky od jednotlivých hráčů? Př. hráč A označí řetízek ´ABCD´a hráč B ´ACD´. Prostým porovnáním řetízků zaznamenali shodu v ´CD´. Ale i ´AB´ a ´BC´ (co ´AC´?) mohou být správně. Co přesně pošleme na výstup? Návrh řešení: do bodů se oběma hráčům započítá pouze jednička, ale do dat, která budou přesně kopírovat partii, se uloží i všechny ostatní dvojice, na kterých se hráči přímo neshodli. Protože s daným textem budou hrát i jiní hráči, pro naše výstupy se budou porovnávat řetízky ze všech partií, při kterých se s ním hrálo. (Pozn. AN - co třeba vzít pro nase vystupy nejdelsi retizky, na kterych se hraci shodli = tj. pokud mame pary AC, ABD, a ABCD, vzit to ABCD?)
26/6/08 Jirka:
- JM: Ja bych navrhoval jednodussi variantu hry. Hraci by nemeli za ukol urcit vsechny koreferencni retizky ve vete, ale jen jeden k danemu slovu. Veta by se nejprve predzpracovala automatickou metodou na odhalovani koreferenci, ktera by byla zamerena na recall, tedy aby nic neprehledla. Tim by vznikli kandidati na slova, na ktera vedou koreferencni sipky. Hraci by byla prezentovana veta se zvyraznenym timto slovem. Jeho ukolem by bylo oznacit vsechna dalsi slova ve vete, ktera na toto slovo odkazuji. Na vyzadani by dostal prvni vetu z kontextu, na dalsi vyzadani vzdy dalsi jednu. Tak by se dalo merit, jak velky kontext clovek potrebuje. Asi to musi byt hra pro nejmene dva protihrace, aby bylo mozno hrace ohodnotit (shoda s protihracem). Problem teto varianty mozna je, ze by hraci mohli mit tendenci po oznaceni prvniho slova vysledek povazovat za hotovy. Druhou moznosti je oznacovat to opacne, ke kteremu slovu odkazuje zvyraznene slovo. Tak by vzdy slo o oznaceni jen jednoho slova. Hralo by se na cas, do te doby, nez nastane shoda hracu a hraci oznaci vysledek za hotovy. Kdo to mel prvni, vyhrava. Jak bylo receno na schuzi, stridaly by se nahodne vety, u kterych koreferenci zname, s novymi vetami. Tak se zajisti, ze hraci nebudou podvadet - kdo bude prilis casto neuspesny na znamych vetach, ten podvadi. Vyhodou druhe varianty (oznacit, ke kteremu slovu dane slovo odkazuje) je rovnez to, ze by vedla k urcovani koreferenci i mimo jednu vetu. Kdyz by referencni slovo nebylo v dane vete, hrac by si musel vyzadat kontext a oznacit slovo v nem.
- (11/2/09)BH: bohuzel nemame zadnou automatickou proceduru na predzpracovani
11/2/09 Bára:
- BH:
- Oznac podstatna jmena (a/nebo zajmena), ktera k sobe patri
- Zakladni strategie: Hra n (n >= 1) hracu. Na zacatku partie se kazdemu hraci zobrazi prvni dve vety dokumentu. Kdyz bude mit hrac pocit, ze oznacil vse, co k sobe patri, vyzada si dalsi vetu. Hrac NECEKA na okamzik, kdy dosahne shody s protihracem - postupuje sam podle sveho tempa. Ovsem jakmile protihrac urci stejnou dvojici, tato skutecnost se vizualne vyjadri.
- Vyvoj partie:
- Rychlejsi hrac muze v kteremkoli okamziku urceneho casu partii ukoncit. Pomalejsi hrac musi dodelat vsechny vety, ktere zpracoval rychlejsi hrac.
- Vyprsel casovy limit.
- Casovy limit jeste nevyprsel a hraci chteji hrat dal: automaticky se natahne dalsi dokument, konkretne jeho prvni dve vety.
- Pocitani skore: Skore se bude pocitat pouze za dvojice, na kterych se oba hraci shodli. Jeste bych do skore zapocitala bonusove body pro toho, kdo byl rychlejsi.
- Vystup: dvojice, na kterych se hraci shodli a neshodli. Shoda bude prinosna, ale co delat s temi dvojicemi, ktere oznacil pouze jeden hrac? Muze se objevit jeste jedna sance na shodu, a to ta, ktera prijde z jine partie se stejnym dokumentem. Proto bude muset byt kladen duraz na rizene podsouvani dokumentu do partii.
- Kontrolni mechanismy, aby hraci nespojovali libovolna dve slova - vzhledem k navrhu na pocitani skore, tj. za shodu, budou hraci aspon castecne motivovani hrat smysluplne.
Specification
Strategy
- Hook up the words which refer to the same entity.
- A game of two players. Players are paired randomly. Computer as a player: automatic coreference resolution ???????
- Session time up to ??????? minutes.
- At the beginning of the game, if there is no coreference pair in the first two sentences (as determined by the manual/automatic pre-annotation), more than two sentences should be displayed, so many that at least one coreference pair occurs there. The players hook up the nouns and pronouns which refer to the same object independently of each other. If a player hooks up all the related words in the given sentence(s) (s)he keeps in mind then (s)he asks for the next sentence of the document. The session goes on this way until the end of the session time. (vypustila jsem tu variantu, ze rychlejsi hrac muzi partii ukoncit kdykoli. Jednalo by se vlastne o znevyhodneni pomalejsiho hrace.) The player who has asked for more sentences in the session obtains bonus speed points.
- What my partner is doing? If (s)he hooks up the same pair of words as I hooked up then the pair of words starts ???????. If (s)he links a word I have not linked so far then a given word starts ???????
- The players can re-hook up any word any time in the session.
- To design the game for a particular language the following data and tools are needed (or are welcome):
- corpus of manually anotated coreference
- POS tagger
- coreference resolution procedure
Input Texts
Text Selection
- CS data ^JM^
- Anja's data ## PDT data that are currently being annotated for the extended coreference
- more 'user-friendly' texts ## texts that are currently in the LGame db
- JM: It would be nice if the players could choose a domain of the texts to play on (science-fiction, fantasy, thriller, romance, …), maybe even the author or the very title. The available resources of free electronic books in Czech are scarce but there are plenty of free electronic books in English and other languages, e.g. Project Gutenberg. BH: It is a very nice idea but I would postpone it till the next versions of the PlayCoref game. However, we have already selected more 'user-friendly' texts into the LGame db - see this page. So we can use them for the PlayCoref game as well.
- EN
- search the data that are available
Coding
- utf-8
Internal format
- sgml ## propose dtd file: include the element
cor
and its attributesrc
(manually, automatically, players) into csts.dtd; ve zkratce: u kazde slovni formy <f_id> bude povinne <l>, <t> a volitelne <cor src=“man”>, <cor src=“Linh”>, <cor src=“player_id”>, …, <cor src=“player_id”>. Kdyz se bude s dokumentem hrat poprve, tak tam <cor src=“player_id”> nebude zadne
(Pre)processing
- tagging ## see Tools needed below
- acr by Linh ## dtto
Text handling
- sentence by sentence
- supervised selection of documents for a session
Scoring
pts_of_player_A = w1*(player_A's_output vs. manual_annotation(if available)) + w2*(player_A's_output vs. automatic_annotation) + w3*(player_A's_output vs. player_B's_output) + speed_pts
w1 by mela byt nejvyssi; w2 by mela urcite nejak zohlednit uspesnost automaticke procedury - uspesnost merenou na jakych datech?; w3: kdyz hracum budeme zobrazovat i ta slova, ktera oznacil protihrac, a ja je neoznacila, nebudeme je tim tlacit do vynucene shody? pro to, aby w3 bylo 'rozumne', bych zobrazovala pouze dvojice, na kterych se oba hraci shodli.
JM:
Já myslím, že do shody je tlačit chceme. Je žádoucí, aby anotace byla co nejúplnější. Když druhý hráč uvidí, že první hráč spojil nějaké slovo, vyvíjí to na něj tlak, aby se podíval, jestli to
nepřehlédl a jestli by ho nemohl zapojit také. Neukazuje se mu kam, takže když nenajde žádný cíl, nezapojí ho a bude se radovat, že první hráč udělal nějakou chybu.
Pokud máme hráče porovnávat z různých partií na různých datech (na datech s- a bez manuální anotace), pak by výše uvedená ohodnocovací funkce zvýhodnila ty, kteří hrají na manuálně anotovaných datech, protože u pouze automatický anotovaných dat by první člen součtu byl nulový.
Myslím, že ta funkce by měla brát buď automatickou anotaci nebo manuální, podle toho, co je k dispozici. Rovněž si teď myslím, že manuálně anotovaná data budeme používat minimálně - pouze pro změření úspěšnosti anotace pomocí hry - to ale nemusí být vůbec součástí skóre hry, to se udělá off-line. Manuálně anotovaných dat máme málo, jsou už anotovaná a nejsou zábavná. Z toho mi vyplývá, že bych manuální anotaci pro určování skóre nebral vůbec v úvahu a ze vzorečku nahoře bych první člen vyhodil.
Output Data Needed
- score list ## player_id, pts, #sessions
- documents after the
n
-th session consists of2*n
players coreference annotation (some of them should be identical, the more identical the better) - session
- player_A_id, player_B_id
- document(s)
- number of corrections by player_A and by player_B (JM: I do not see the point in this)
- corrections by player_A and by player_B (JM: and maybe nor in this)
Design
- What info to be displayed in the session?
- session time = elapsed time + remaining time
- how many sentences my partner has read so far
- running pts ??????? (JM: I would be very cautious with this; the user might be tempted to cancel an action if the score decreases; the user might also try to fit the automatic annotation (by trying various arrows and watching if the score goes up or down), which is not what we want)
- Format of the text
- JM: nouns and pronouns might be displayed slightly differently so that the user avoids other parts of speech easily; he should not be allowed to use other parts of speech at all
- Visualization of the coreference pairs
- colors
- arrows (JM: to avoid too many arrows on the screen, possibly only if the mouse pointer hovers over a word, arrows that start or end at the word would be displayed)
- …
Tools needed
- tagger ^BH^ ## tool_chain (CAC2.0)
- Linh's coreference resolution procedure ^PS^ ## What type of input data the Linh's procedure works with?
tool_chain
is going to be extended by theS
option enabling to run Vasek Klimes' t-parser in a basic version, i.e. just t-tree and functors. See more info https://wiki.ufal.ms.mff.cuni.cz/user:hladka:playcoref#automaticke-urcovani-koreference-v-ceskych-datech-prehled. - conversion: csts ↔ pml m_coref scheme