Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
user:zeman:interset:to-do [2007/10/02 12:29] zeman Array test. |
user:zeman:interset:to-do [2014/07/25 13:58] (current) zeman Autoři u cs::ajka. |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== To do ====== | ====== To do ====== | ||
- | ===== Infrastructure | + | ===== Interset 2.0 ===== |
- | ==== Strict encoding ==== | + | * Opravit češtinu (UTF8) v komentáři ABSTRACT pro Pod:: |
+ | * A další věc v POD: U CS::Ajka mám dvě sekce AUTHOR. Jednu vloženou ručně, kde je navíc Petr Pořízka a Markus Schäfer, a druhou vloženou automaticky, | ||
+ | * Nějak lépe vyřešit stažené tvary. Aspoň nový rys, aby to nebylo v other. České příklonné " | ||
+ | * Projít ''### | ||
+ | * Pokud možno zrušit synpos. Mám spočítáno, | ||
+ | * Číslovky více méně předělat po vzoru zájmen, pouze základní číslovky si ponechají slovní druh '' | ||
+ | * Přenést všechny ovladače, které vznikly v Treexu a do SVN Intersetu se zatím nedostaly. | ||
+ | * Oprášit pravidelné kopírování wiki stránek Intersetu do repozitáře SVN (resp. Redmine). Nyní je tam zastaralá kopie. | ||
+ | * Uspořádat seminář a brainstorming pro zájemce o Interset. | ||
+ | * Do té doby prozkoumat Martinovy návrhy a udělat si na ně názor. | ||
+ | * Sepsat manuál pro nové autory ovladačů. | ||
+ | * Jak prezentovat Interset neperlovému světu? Např. tabulky pro decode(). Jde o to, aby lidé mohli Interset snadno použít i v Pythonu, Javě, C a jinde. | ||
+ | * Sem patří i Tagzplorer! | ||
- | The encoder should be able to work in two modes: | + | ===== Infrastructure ===== |
- | * Preserving as much information as possible, even if the resulting tag is a new (unexpected by the designers of the tagset) combination of feature values. | + | |
- | * 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 encoding. It would almost double the work needed to write the encode() function and I have not needed the strict conversions so far. | ||
- | |||
- | 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. | ||
- | |||
- | 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 to their priorities. The encoding process would always consider the features with higher priority first, thus the graph would be a tree with as many leaves as there are tags in the tagset. | ||
- | |||
- | 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. | * 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.) | ||
* New test in driver-test.pl: | * New test in driver-test.pl: | ||
+ | * Extend the '' | ||
+ | * Enable checking out the latest development version directly from the Subversion repository. | ||
+ | * Create a web interface to DZ Interset. The user will be able to enter a tag from an arbitrary set (the interface will be able to recognize the set or sets) and get a detailed description in English or Czech of the feature values. Features and values could link to Wikipedia explanations. Conversions to other tagsets (including round-trip conversions) will be provided and all tags will link to similar descriptions of their own. Example words will be provided for every tag. The interface will also be able to read whole files in common corpus formats (CoNLL, PML, CSTS, RDT, TEI, Penn, Brill...), highlight word forms / lemmas / tags and link to tag descriptions. Conversion of tags in whole files will be provided. | ||
===== Features and values ===== | ===== Features and values ===== | ||
- | * Přejmenovat compdeg = norm na pos (pozitiv). | + | * Normalize processing of pronouns, determiners, |
- | * Přejmenovat number=plu na plur? | + | * Remove '' |
- | * Sloučit vlastnosti verbform | + | * Remove '' |
- | * Udělat z poss opět jenom subpos? | + | * Move '' |
- | * Přece jen přidat kategorie zájmen? Dánové mají: demonstrative, | + | * Create new value '' |
- | * Ze subpos=clit | + | * Create a new feature or some other means of marking that a Czech pronoun contains an encliticised form of the 2nd person of the auxiliary verb "být", as in "ses", |
- | * Udělat tu dotazovací funkci | + | * Find more fine-grained classification of punctuation and symbols. Danish has punctuation proper, symbols |
- | * 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 | + | |
- | * 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, potom symboly | + | |
- | * 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/ | + | |
* Classification of coordinative conjunctions: | * 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 " | ||
- | ===== Specific drivers ===== | + | ==== Things to think about (not sure that these changes should really be made): |
- | * cs:: | + | * Sloučit vlastnosti '' |
+ | * 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. | ||
+ | * Pokud se osvědčí nové třídění zájmen, posvítit si i na číslovky. Některé přesunout k zájmenům ("kolik", " | ||
+ | * Předělat binární vlastnosti na hodnoty " | ||
+ | * Přejmenovat number = plu na plur? | ||
+ | * Zrušit '' | ||
+ | * Define new value //pluralia tantum// ('' | ||
- | ===== Paper notes ===== | ||
- | ==== Time needed for tag set conversion | + | ===== Specific drivers ===== |
- | Poznámky o časové náročnosti konverze morfologických značek | + | * cs::pdt - reimplement "type L" pronouns as collective pronouns |
- | ----------------------------------------------------------- | + | |
- | + | ||
- | 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. | + | |