Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
user:zeman:interset:to-do [2007/10/01 17:11] zeman |
user:zeman:interset:to-do [2008/04/29 17:48] zeman pos = det removed. |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Infrastructure ===== | ===== Infrastructure ===== | ||
- | ==== Strict | + | * 14.3.2008: During the last two weeks I made substantial changes to all the drivers due to extensive driver testing and new strict |
+ | * Clean up '' | ||
+ | * Query feature value: a shared function detects array and if it is array, searches it for a given value. | ||
+ | * New test in driver-test.pl: | ||
+ | * New test in driver-test.pl: | ||
+ | * Extend the '' | ||
- | The encoder should be able to work in two modes: | + | ===== Features and values |
- | * Preserving as much information as possible, even if the resulting tag is a new (unexpected by the designers of the tagset) combination of feature | + | |
- | * Strictly keeping the original set of possible tags, by forcing selected features to compatible values. This should be default, if available. | + | |
- | Although this requirement has been known since the very beginning of this work, no driver so far implements strict | + | * Normalize processing of pronouns, determiners, |
+ | * Remove '' | ||
+ | * Move '' | ||
+ | * Find more fine-grained classification of punctuation | ||
+ | * Classification of coordinative conjunctions: | ||
+ | * Create overview of common elements that do not have their own part of speech. E.g. infinitive particles. Specifically, | ||
+ | * Create an overview of verb forms, moods and tenses in various languages, and their representation in DZ Interset. | ||
+ | * Design methodology for contracted word forms where two different parts of speech have merged in one word. Currently this is solved at different places in different ways. Examples: Czech " | ||
- | The process of strict encoding could be automated using the list() function of the driver. A service function could decode every possible tag (as listed by list()) and build a graph of feature values. The strict encoding would correspond to a path through the graph. Every node in the graph would correspond to a partially encoded tag. The set of edges leaving the node would be pruned so as not to allow any unexpected combination of features. | + | ==== Things to think about (not sure that these changes should really |
- | The graph would not be constructed in full. Such a process would be too costly. Instead, every feature would be given a numeric priority, and there would be a total ordering of the features according | + | * Sloučit vlastnosti '' |
+ | * Příčestí by mělo mít vlastní slovní druh. S tím, že některé sady ho řadí pod sloveso | ||
+ | * Pokud se osvědčí nové třídění zájmen, posvítit si i na číslovky. Některé přesunout k zájmenům (" | ||
+ | * Předělat binární vlastnosti na hodnoty " | ||
+ | * Přejmenovat number = plu na plur? | ||
+ | * Zrušit '' | ||
- | How will the strict encoding look in practice? A service function will read the feature tree and a set of feature values to be encoded. The function will traverse the tree and adjust the feature values to match a tag from the list. Then the normal encode() function of the driver will be called. A prerequisite is that the driver keeps the condition encode(decode(x))=x. This has not been tested so far but the drivers indeed should conform to it. | ||
- | |||
- | 2 druhy striktního kódování: | ||
- | * Opravdu striktní zajistí, že na výstupu se neobjeví značka, která není na seznamu. | ||
- | * Mírnější přístup tohle nepožaduje, | ||
- | |||
- | ==== Service functions ==== | ||
- | |||
- | * Check whether decode() sets only known features. | ||
- | * Check whether decode() sets features only to known values. | ||
- | * Unset features: | ||
- | * Return list of unset features. | ||
- | * Fill one or all unset features with default values. | ||
- | * Fill one or all unset features with arrays of all possible values. | ||
- | * Query feature value: a shared function detects array and if it is array, searches it for a given value. | ||
- | * Společná funkce: před encode(): máme-li list(), pravděpodobně umíme doplnit povinné neznámé vlastnosti na základě známých. (To nám výrazně usnadní strict encoding.) | ||
- | |||
- | ===== Features and values ===== | ||
- | |||
- | * Přejmenovat compdeg = norm na pos (pozitiv). | ||
- | * Přejmenovat number=plu na plur? | ||
- | * Sloučit vlastnosti verbform a mood. | ||
- | * Udělat z poss opět jenom subpos? | ||
- | * Přece jen přidat kategorie zájmen? Dánové mají: demonstrative, | ||
- | * Ze subpos=clit udělat samostatnou vlastnost, aby se usnadnil dotaz, zda je zájmeno osobní. | ||
- | * Udělat tu dotazovací funkci (viz výše)! Kromě technické práce s poli ještě přidat hierarchii hodnot: když se někdo ptá na " | ||
- | * Obdobně pro funkci decode() udělat servisní funkci, která nabídne hodnoty pro nevyplněné vlastnosti na základě jiných vyplněných (např. ukazovací zájmeno implikuje určitost a atributivnost). Musí se to ale pořádně promyslet - např. pokud jazyk nemá compdeg=abs, | ||
- | * Udělat přehled častých prvků, které nemají vlastní slovní druh. Např. jak se řeší částice označující infinitiv. | ||
- | * Jemněji roztřídit interpunkci. Dánové mají vlastní interpunkci, | ||
- | * Předělat binární vlastnosti na hodnoty " | ||
- | * Přejmenovat compdeg na degree. | ||
- | * Příčestí by mělo mít vlastní slovní druh. S tím, že některé sady ho řadí pod sloveso a jiné pod přídavné jméno, jsou jenom problémy. | ||
- | * Subjektform a objektform u švédských zájmen asi není samostatná vlastnost! Mělo by se to prohlásit za pády (nominativ a akuzativ)! | ||
- | * Členy a zájmena by se možná vůbec měly rozlišit jinak. Na nejvyšší úrovni by se rozlišovala substantivnost/ | ||
===== Specific drivers ===== | ===== Specific drivers ===== | ||
* cs::pdt - reimplement "type L" pronouns as collective pronouns (introduced due to Bulgarian) | * cs::pdt - reimplement "type L" pronouns as collective pronouns (introduced due to Bulgarian) | ||
- | + | * cs::pdt - use the new feature '' | |
- | ===== Paper notes ===== | + | |
- | + | ||
- | ==== Time needed for tag set conversion ==== | + | |
- | + | ||
- | Poznámky o časové náročnosti konverze morfologických značek | + | |
- | ----------------------------------------------------------- | + | |
- | + | ||
- | Ruský treebank (nejen značky, ale vůbec převod formátu): | + | |
- | 12:36 | + | |
- | + | ||
- | Arabské značky (Otovy i Buckwalterovy, | + | |
- | 4:45+1+1:40 = 7:25 | + | |
- | + | ||
- | České značky PDT (přes 4000 značek; jádro Intersetu vzniklo jako vedlejší produkt, když jsem dělal tohle) | + | |
- | asi 2 dny, tedy dejme tomu 18 hodin | + | |
- | + | ||
- | Dánské značky DDT/Parole (144 značek s košatým popisem) | + | |
- | asi 7 hodin | + | |
- | + | ||
- | Švédské značky Mamba (48 značek) | + | |
- | asi 3 hodiny | + | |
- | + | ||
- | Penn Treebank (36 značek) | + | |
- | asi 3 hodiny, ale tady jsem to ještě neměřil, takže to je jen hrubý zpětný odhad | + | |
- | + | ||
- | Hajičovy švédské značky | + | |
- | 0:32 - tady zjevně chybí úplná statistika | + | |
- | + | ||
- | Arabské značky CoNLL | + | |
- | 4: | + | |
- | + | ||
- | České značky PDT (CoNLL verze? Nebo to jsou jen opravy, když jsem začal ovladače testovat?) | + | |
- | 1: | + | |
- | + | ||
- | Bulharské značky CoNLL | + | |
- | 0: | + | |
- | (ale u bulharštiny jsem se dost natrápil s jevy, které do té doby nebyly v intersetu podchycené) | + | |
- | + | ||
- | Anglické značky CoNLL | + | |
- | 0:48 - možná tady chybí statistika, ale možná taky ne, protože stačilo upravit existující ovladač Penn Treebanku, ne? | + | |
- | + | ||
- | Žádné z výše uvedených převodů (tedy vše napsané před říjnem 2007) ještě neměly k dispozici chytré funkce pro nahrazování nepovolených hodnot. | + |