This is an old revision of the document!
Automatické určování koreference
poznámky ke schůzce 29. září
implementace v TectoMT ⇒ můžeme použít existující moduly (analýza případně až na tekto rovinu, nám bude stačit analytická rovina)
segmentace → morfologie → tagging → parsing na analytickou rovinu
Co budou markables?
Podle mne všechna podstatná jména a všechna osobní zájmena. Přinejmenším zpočátku, pak se to může vylepšovat či rozšiřovat. Řídil bych se především potřebami projektu PlayCoref a tím, co je anotováno v projektu Bridging.
Na pojmenované entity bych se vykašlal, alespoň zatím. V datech bridging stejně máme šipky mezi jednotlivými uzly. Sice na tekto rovině, ale projekce do analytické roviny a zpět (tedy i na povrch) je podle mne jednoznačná.
Jak poznat nové uvedení slova do diskurzu od slova, které koreferuje už s něčím dříve zmíněným?
Vidím dvě možnosti:
1) Předřadit modul, který to určí; úspěšnost by však musela být velice vysoká, jinak to považuju za zbytečné snižování celkové úspěšnosti. Nicméně není problém takový modul ve scénáři mít či mít možnost ho tam mít.
2) V rankingu určit mez, kterou musí vítězný kandidát překročit, aby vůbec nějaká koreference byla označena. Může i koexistovat s předchozím modulem.
Kdo budou kandidáti?
Předchozí osobní zájmena a podstatná jména, tedy tytéž markables. Předchozí až do nějaké vzdálenosti nebo všichni až do začátku textu? Respektive přesněji: předchozí diskurzní entity - již existující koreferenční řetězec by měl vystupovat jako jeden kandidát. (Nebudou se tím šířit předchozí chyby?)
Narozdíl od některých přístupů bych za antecedent vždy volil nejbližší prvek budoucího koref. řetězce - tzn. i zájmeno může být antecedentem podstatného jména - to je možné právě díky posuzování kandidátů včetně jejich existujícího koref. řetězce.
Jaká metoda, jaké features?
Supervised ranking. Unsupervised metody bych zvážil později, pokud by mohly přispět ke zvýšení úspěšnosti supervised metod, např. při adaptaci na jinou doménu apod.
Ranking - ale jaký?
Co bude ranker posuzovat v jednom kroku? “Anaphor + 1 kandidát” nebo “anaphor + kandidát + všichni ostatní kandidáti”? Mám pocit, že všichni to dělají jen “anaphor + 1 kandidát” - tím můžeme začít, ale nechal bych si možnost rozšířit to. Napadá mě featura typu “Je mezi ostatními kandidáty vlastní jméno?”.
Další možností je využít už existující koreferenční řetězec - neposuzuju kandidáta samostatně, ale už i s jeho koreferenty - mám pocit, že už to někdo někde takhle taky dělal (?). Kandidát pak dostane skóre na základě “shody” i s těmi koreferenty.
Features pro ranking (a jejich váhy) budou různé pro různé typy anaphor (pozná se podle tagu), nejméně tyto tři typy:
- zájmena
- vlastní jména
- ostatní podstatná jména
Features bych pro začátek vzal z různých článků, např. Denis and Baldridge (2008?), Soon et al. (2001)