Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
user:zeman:interset:to-do [2008/03/29 23:20] zeman print_permitted_fs.pl |
user:zeman:interset:to-do [2014/07/10 22:55] zeman 'other/subfeature1' |
====== To do ====== | ====== To do ====== |
| |
| ===== Interset 2.0 ===== |
| |
| * Opravit práci s rysem ''other'' v metodě ''_encoding_step()'' třídy ''Atom''. Momentálně se nemůže použít metoda ''$fs->get_other_for_tagset()'', protože atom neví, ve kterém tagsetu byl použit. Taky by se pak hodnoty other neměly testovat prostým řetězcovým porovnáním, ale mělo by se zkontrolovat, že nejde o složitější strukturu, a pokud ano, tak ji porovnat hloubkově. Na hloubkové porovnání struktur už tam někde nějakou funkci mám! |
| * Jestliže se u atomů osvědčí notace 'other/subfeature1', tak ji zavést i u dekódovacích tabulek, abych mohl případně využít i simple atomy a nemusel tam neustále dokolečka opisovat název podrysu. |
| * Nějak lépe vyřešit stažené tvary. Aspoň nový rys, aby to nebylo v other. České příklonné "-s" už má rys ve dvou českých sadách (multext a ajka). Taky mu nastavit 2. osobu, singulár a aux. Podobně je na tom "proň", "zač", "-ť". V němčině "zum", "zur"... Ve francouzštině "du", "aux"... Naopak arabské "al-" sem asi nepatří, to lze prostě chápat jako morfém určitosti, který se nikdy nevyskytuje jako samostatné slovo. |
| * Projít ''###!!!'', zejména ve FeatureStructure: |
| * Pokud možno zrušit synpos. Mám spočítáno, že se používá v 21 sadách, ale nevyplývá z toho, zda by se bez něj tyto sady obešly. |
| * Číslovky více méně předělat po vzoru zájmen, pouze základní číslovky si ponechají slovní druh ''num''. |
| * 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! |
| |
===== Infrastructure ===== | ===== Infrastructure ===== |
| |
* 14.3.2008: During the last two weeks I made substantial changes to all the drivers due to extensive driver testing and new strict encoding procedures. After all tests pass successfully, the whole thing should be committed to SVN. Besides, it should be re-tested with the parser adaptation project. | |
* Clean up ''tagset::common'' w.r.t. the various algorithms of enforcing permitted 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. |
* New test in driver-test.pl: does a driver decode into arrays? If so, what features are affected? If not, is it capable of encoding arrays (i.e. does it call the function that gets rid of arrays)? | * New test in driver-test.pl: does a driver decode into arrays? If so, what features are affected? If not, is it capable of encoding arrays (i.e. does it call the function that gets rid of arrays)? |
* New test in driver-test.pl: how many tags / what proportion of the tagset are decoded using the ''other'' feature? Enumerate them. Maybe, tags that set the ''other'' feature should not be considered when building the list of possible feature structures? (Sometimes it happens that a feature-value combination is permitted only in an ''other'' tag. Although the set of set/unset features could be used as an additional clue leading to this tag, such tags are often marginal stuff that one does not want to use as default.) | |
* Extend the ''print_permitted_fs.pl'' tool so that it can search all available drivers. If it is called that way, it prints the name of the driver in front of every feature structure generated by that driver. Print to STDOUT (now it prints to STDERR). Let the user query and filter the feature structure directly: '$_->{mood} eq "ind" && $_->{other} =~ m/^X/'. Grepping the textual output is less powerful. | * Extend the ''print_permitted_fs.pl'' tool so that it can search all available drivers. If it is called that way, it prints the name of the driver in front of every feature structure generated by that driver. Print to STDOUT (now it prints to STDERR). Let the user query and filter the feature structure directly: '$_->{mood} eq "ind" && $_->{other} =~ m/^X/'. Grepping the textual output is less powerful. |
| * 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 ===== |
| |
* Zrušit ''pos = inf''. Udělat z toho pouze jeden z druhů částic. | * Normalize processing of pronouns, determiners, interrogative adverbs etc. Old drivers use a different approach from the new ones (beginning with Bulgarian). Pronoun as an independent part of speech will cease to exist. |
* Udělat pořádek v zájmenech, determinátorech, tázacích příslovcích apod. U starších ovladačů jsem používal jiný přístup než u novějších (počínaje bulharštinou), mělo by se to sjednotit. Samostatný slovní druh zájmeno přestane existovat. | * Remove ''pos="pron"''. Distribute pronouns to nouns, adjectives and adverbs. When encoding into a tagset that distinguishes pronouns, detect pronouns by non-empty ''prontype''. Remove subposes of pronouns (''pers'', ''clit''...) |
* Přece jen přidat kategorie zájmen? Dánové mají: demonstrative, indefinite, interrogative/relative, personal, possessive, reciprocal. Zrušit podkategorie wh? | * Remove ''subpos = pers'' and ''subpos = recip''. These features should now be captured by ''prontype''. |
* Členy a zájmena by se možná vůbec měly rozlišit jinak. Na nejvyšší úrovni by se rozlišovala substantivnost/atributivnost, pak teprve zda to má být raději člen nebo zájmeno. Případně osobní a přivlastňovací zájmena by mohla být zvlášť už na nejvyšší úrovni, protože ta se s žádnými členy plést nebudou. | * Move ''subpos=clit'' to an independent feature so that it is easier to ask whether a pronoun is personal. Or remove the feature. This is connected to the problem of changed processing of pronouns, and of the processing of contracted word forms (see below). |
* Ze subpos=clit udělat samostatnou vlastnost, aby se usnadnil dotaz, zda je zájmeno osobní. Nebo tuto vlastnost spíš zrušit. Tohle je jednak problém změny práce se zájmeny, jednak připravované koncepce práce se staženými tvary (viz níže). | * Create new value ''prontype = oth''. It will be used when we know that a word is pronoun but we do not know its type and do not want to set the default ''prs'' (personal). |
* Jemněji roztřídit interpunkci. Dánové mají vlastní interpunkci, potom symboly (+, $), potom podivnosti, které my ani za interpunkci nepovažujeme. "U-21". | * 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", "sis", "tos", "tys". The Multext East tagset defines a special feature called ''clitic_s'', used only in Czech. |
| * Find more fine-grained classification of punctuation and symbols. Danish has punctuation proper, symbols (+, $), and strange strings like "U-21". |
* Classification of coordinative conjunctions: copulative, adversative etc. Example: sv::mamba. | * Classification of coordinative conjunctions: copulative, adversative etc. Example: sv::mamba. |
* Udělat přehled častých prvků, které nemají vlastní slovní druh. Např. jak se řeší částice označující infinitiv. | * Create overview of common elements that do not have their own part of speech. E.g. infinitive particles. Specifically, make a global classification of "small parts of speech" (pavilón malých šelem :-)), especially particles, adpositions and conjunctions, punctuation and foreign words, hyphenated prefixes and abbreviations. (Pronouns, determiners and numerals are excluded as a separate chapter.) |
* 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, možná samostatně i interpunkce. (Teď nemluvíme o zájmenech a členech, ty jsou samostatnou kapitolou.) | * Create an overview of verb forms, moods and tenses in various languages, and their representation in DZ Interset. |
* 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 řeším různě. Patří sem české "proň", "bylť", německé "zum" a nejspíš další jevy v dalších jazycích. Zvláštním případem jsou také zájmena-klitika, která se v některých jazycích mohou nebo musí spojit se slovesem či dalšími slovními druhy (české "byls", "sis", "tys", "žes"; španělské "despiértate", "despertarse", "démelo"). V arabštině je podobný problém mnohem větších rozměrů, protože se tam běžně lepí malá slova k velkým (např. spojka "wa", člen "al" aj.) | * 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 "proň", "bylť", German "zum" and probably other phenomena in other languages. Enclitical pronouns are special case. In some languages they can or must join a verb or other words (Czech "byls", "sis", "tys", "žes"; Spanish "despiértate", "despertarse", "démelo"). Similar problem (but to much greater extent) arises in Arabic where the grammar often requires small words being glued to big ones (e.g. "wa" (conjunction), "al" (article) etc.) Warning! I believe that currently the Czech "proň" is tagged differently in cs::pdt and cs::multext. Both set ''subpos = preppron'' but the former under pronoun, the latter under preposition. |
| |
Things to think about (not sure that these changes should really be made): | ==== Things to think about (not sure that these changes should really be made): ==== |
| |
* Sloučit vlastnosti ''verbform'' a ''mood''? V současnosti (29.3.2008) se ''mood'' vyskytuje v ar::conll, bg::conll, cs::pdt, da::conll, de::stts, sv::hajic a sadách z nich odvozených. Všude se vyskytuje pouze u určitých sloves (''verbform = fin''), pouze u sv::hajic se vyskytuje ještě u supina, ale tam je stejně uveden indikativ a nic se tím nerozlišuje. Na druhou stranu to, že máme způsob (mood) oddělený, umožňuje nejen říkat tomu správně způsob, ale také nastavit obecné finitní sloveso při dekódování sad značek, které způsob nezachycují. Otázka je, jestli v takovém případě není vždy způsob oznamovací. Divně by to mohlo vypadat v jazycích, kde se způsob tvoří výhradně analyticky, pokud takové jsou. Pokud tyto rysy zůstanou oddělené, mohli zavést nový test (jehož výsledkem by nebyla chyba, ale jen varování), který by hlídal, že když je nastaven způsob, je slovesný tvar nastaven na ''fin''. | * Sloučit vlastnosti ''verbform'' a ''mood''? V současnosti (29.3.2008) se ''mood'' vyskytuje v ar::conll, bg::conll, cs::pdt, da::conll, de::stts, sv::hajic a sadách z nich odvozených. Všude se vyskytuje pouze u určitých sloves (''verbform = fin''), pouze u sv::hajic se vyskytuje ještě u supina, ale tam je stejně uveden indikativ a nic se tím nerozlišuje. Na druhou stranu to, že máme způsob (mood) oddělený, umožňuje nejen říkat tomu správně způsob, ale také nastavit obecné finitní sloveso při dekódování sad značek, které způsob nezachycují. Otázka je, jestli v takovém případě není vždy způsob oznamovací. Divně by to mohlo vypadat v jazycích, kde se způsob tvoří výhradně analyticky, pokud takové jsou. Pokud tyto rysy zůstanou oddělené, mohli zavést nový test (jehož výsledkem by nebyla chyba, ale jen varování), který by hlídal, že když je nastaven způsob, je slovesný tvar nastaven na ''fin''. |
* Přejmenovat number = plu na plur? | * Přejmenovat number = plu na plur? |
* Zrušit ''subpos = voc''. Zatím se používá pro vokalizované tvary českých předložek v cs::pdt (a odvozeném cs::conll; nikde jinde). Místo toho by se ale dalo využít ''variant = long''. U tříd předložek to teď narušuje členění na předložky, záložky a "okololožky" (cirkumpozice). **Problém:** jak vokalizované, tak nevokalizované předložky se také vyskytují s ''variant = 1''. Nemůžu do jednoho rysu nacpat současně ''long'' a ''1'', a nemůžu ani říct, že z ''1'' taky plyne vokalizovanost. | * Zrušit ''subpos = voc''. Zatím se používá pro vokalizované tvary českých předložek v cs::pdt (a odvozeném cs::conll; nikde jinde). Místo toho by se ale dalo využít ''variant = long''. U tříd předložek to teď narušuje členění na předložky, záložky a "okololožky" (cirkumpozice). **Problém:** jak vokalizované, tak nevokalizované předložky se také vyskytují s ''variant = 1''. Nemůžu do jednoho rysu nacpat současně ''long'' a ''1'', a nemůžu ani říct, že z ''1'' taky plyne vokalizovanost. |
| * Define new value //pluralia tantum// (''ptan'') of ''number''? It is present in the Bulgarian CoNLL tagset and it could theoretically be present in other languages, including Czech. |
| |
| |
===== Specific drivers ===== | ===== Specific drivers ===== |