Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
user:zeman:interset:to-do [2007/03/02 19:33] zeman |
user:zeman:interset:to-do [2008/03/29 18:53] zeman To think about. |
||
---|---|---|---|
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: | ||
- | The encoder should be able to work in two modes: | ||
- | * 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. | ||
- | * 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 ===== | ===== Features and values ===== | ||
- | * Přejmenovat compdeg = norm na pos (pozitiv). | + | * Udělat pořádek v zájmenech, determinátorech, |
- | * Přejmenovat number=plu na plur? | + | * Přece jen přidat kategorie zájmen? Dánové mají: demonstrative, |
- | * Sloučit vlastnosti verbform a mood. | + | * Členy a zájmena by se možná vůbec měly rozlišit jinak. Na nejvyšší úrovni by se rozlišovala substantivnost/ |
- | * Udělat z poss opět jenom subpos? | + | * 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)! |
- | | + | * Přejmenovat compdeg na degree. |
+ | * Přejmenovat number = plu na plur? | ||
+ | * Sloučit vlastnosti verbform a mood. | ||
* Ze subpos=clit udělat samostatnou vlastnost, aby se usnadnil dotaz, zda je zájmeno osobní. | * 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, | * 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. | * 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, | * 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. | * 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)! | + | * Classification of coordinative conjunctions: |
- | * Členy | + | * Projít jednotlivé sady a udělat jakýsi globální přehled třídění malých slovních druhů, zejména částic, předložek a spojek, |
+ | * Zrušit '' | ||
+ | * Vymyslet koncepci pro stažené (contracted) tvary, kde se do jednoho slova dostaly dva různé slovní druhy. Zatím to na různých místech | ||
+ | * Subpos '' | ||
+ | |||
+ | Things to think about (not sure that these changes should really be made): | ||
+ | |||
+ | * Předělat binární vlastnosti na hodnoty " | ||
===== Specific drivers ===== | ===== Specific drivers ===== |