Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
user:zeman:interset:to-do [2014/06/18 09:40] zeman |
user:zeman:interset:to-do [2014/07/10 23:02] zeman Slévání hashů pro other. |
===== Interset 2.0 ===== | ===== Interset 2.0 ===== |
| |
* Dodělat dokumentaci POD tak, aby všechny funkce, které má uživatel k dispozici, byly zdokumentovány. | * 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! |
* Zjistit, zda by se soubor Changes nemohl jmenovat Changes.txt (jde o to, aby ho nadále našel plugin do Distzilly NextRelease). | * 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. |
* Udělat pořádek v metodách ''set()'' a ''get()'' třídy ''FeatureStructure''. Metoda, která vrací podle nálady buď skalár, nebo odkaz na pole, asi vůbec nemá smysl. Asi chci mít jeden get, který vrací vždy skaláry (v případě více hodnot seřazené podle abecedy a slepené svislítkem), a jiný get, který vrací vždy seznamy (v případě jedné hodnoty to bude jednoprvkový seznam). A možná ještě třetí, který vrací skaláry, ale bez svislítek, v případě více hodnot vrátí tu první nebo nejbezpříznakovější nebo tak něco. Naopak set by asi stačil jeden, který sám pozná, jestli má na vstupu jednu hodnotu, několik hodnot, svislítka, nebo odkaz(y) na pole. A pokud odkazy, tak ještě zkontroluje, zda to cílové pole není náhodou jen jednoprvkové. | * **A hlavně!** Zajistit, aby se při dekódování dílčí hashe pro ''other'' slévaly, ne aby se jeden odkaz na hash nahradil druhým! |
* Opravit chybu: Jestliže mám hodnoty rysů pro ''decode()'' nachystané v tabulce a jestliže se mezi nimi vyskytne např. odkaz na pole, potom všechny struktury rysů, které ''decode()'' vrátí, budou toto pole sdílet, protože budou obsahovat stejný odkaz. Bylo by lepší místo toho dělat hloubkové kopie, aby si uživatel mohl obsah struktury bez obav měnit. Tohle by se dalo zařídit uvnitř metody ''multiset()''. | * 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. |
* Přesunout ovladače konkrétních sad značek o patro níž, např. z ''Lingua::Interset::EN::Penn'' se stane ''Lingua::Interset::Tagset::EN::Penn''. Je to sice nechutně dlouhé, ale od toho nás stejně odstíní obecné funkce v hlavním modulu Intersetu. Naopak kdybychom to takhle nechali, tak máme zaděláno na problém s rozpoznáním, který modul je ovladač a který je něco jiného. A ten problém může s plnou silou udeřit později, až už budeme mít třeba 20 ovladačů a bude mnohem obtížnější to předělat. Třeba pokud se rozhodnu mít ještě nějakou další předem neohraničenou množinu modulů, které se budou třídit podle jazyka. | |
* Projít ''###!!!'', zejména ve FeatureStructure: | * Projít ''###!!!'', zejména ve FeatureStructure: |
* Nemohli bychom zrušit rys synpos? | * 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. |
* Co s číslovkami? | * Čí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. | * 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. | * Oprášit pravidelné kopírování wiki stránek Intersetu do repozitáře SVN (resp. Redmine). Nyní je tam zastaralá kopie. |