[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
user:zeman:rizeni-pokusu-pomoci-makefilu [2009/11/24 14:58]
zeman .md.for
user:zeman:rizeni-pokusu-pomoci-makefilu [2009/11/25 15:16]
zeman .md.del a .md.fxd
Line 56: Line 56:
   * Velikost trénovacích dat pro křivku učení   * Velikost trénovacích dat pro křivku učení
   * Různá nastavení parseru a dalších nástrojů, různá předzpracování dat (např. převedení morfologických značek do sady PDT)   * Různá nastavení parseru a dalších nástrojů, různá předzpracování dat (např. převedení morfologických značek do sady PDT)
- 
- 
- 
  
 ===== mdmake ===== ===== mdmake =====
Line 75: Line 72:
     * Jaké jsou podmínky na hodnoty v jednotlivých rozměrech. (Standardně pomocí direktivy ''.md.if'', ale nějak zařídit, aby se podmínka pro rozměr ''.STATES'' (resp. poslední rozměr v seznamu) mohla defaultně vyjádřit přímo v pravidle.     * Jaké jsou podmínky na hodnoty v jednotlivých rozměrech. (Standardně pomocí direktivy ''.md.if'', ale nějak zařídit, aby se podmínka pro rozměr ''.STATES'' (resp. poslední rozměr v seznamu) mohla defaultně vyjádřit přímo v pravidle.
     * MD-make rozgeneruje multidimenzionální pravidlo na řadu obyčejných pravidel, ve kterých se vystřídají všechny kombinace hodnot ve všech zúčastněných rozměrech. Tato pravidla už nejsou šablonovitá, takže nehrozí, že gnu make potom narazí na cyklické závislosti nebo jiné problémy.     * MD-make rozgeneruje multidimenzionální pravidlo na řadu obyčejných pravidel, ve kterých se vystřídají všechny kombinace hodnot ve všech zúčastněných rozměrech. Tato pravidla už nejsou šablonovitá, takže nehrozí, že gnu make potom narazí na cyklické závislosti nebo jiné problémy.
-    * Uvnitř příkazů lze použít nové proměnné ''$(*1)'', resp. místo jedničky jiné číslo, pro n-tou závislost. MD-make si najde pravidlo, kterým tato závislost vzniká, zjistí si z&nbsp;něj, v&nbsp;jakých rozměrech se pohybuje, a podle toho zkonstruuje jméno příslušného souboru, které na dané místo vloží. Totéž provede pro ''$<'' a ''$^'', avšak ignoruje ''$*''.+    * Uvnitř příkazů lze použít nové proměnné ''$(*1)'', resp. místo jedničky jiné číslo, pro n-tou závislost. MD-make si najde pravidlo, kterým tato závislost vzniká, zjistí si z&nbsp;něj, v&nbsp;jakých rozměrech se pohybuje, a podle toho zkonstruuje jméno příslušného souboru, které na dané místo vloží. Beze změny ponechá ''$<'' a ''$^'', které budou fungovat samy od sebe, avšak pozor na ''$*'', které v&nbsp;MD pravidlech (na rozdíl od obyčejných šablonovitých pravidel) nemá smysl.
     * MD pravidlo končí povinně prázdným řádkem (dokonce i na konci souboru).     * MD pravidlo končí povinně prázdným řádkem (dokonce i na konci souboru).
     * Není-li uveden parametr ''.md.for'', pravidlo se rozgeneruje pro všechny známé rozměry kromě posledního (u nás ''STATES'', ale může se jmenovat i jinak).     * Není-li uveden parametr ''.md.for'', pravidlo se rozgeneruje pro všechny známé rozměry kromě posledního (u nás ''STATES'', ale může se jmenovat i jinak).
 +    * Parametr ''.md.fix'' obsahuje hodnoty, které jsou v&nbsp;tomto pravidle pevné, tj. pravidlo se nerozgenerovává pro ostatní hodnoty téhož rozměru. Není zatím dovoleno uvést více hodnot ve stejném rozměru (i když by to teoreticky mohlo sloužit k&nbsp;vymezení částečného rozgenerování).
 +      * Jestliže ''.md.fix'' obsahuje rozměr, který je současně uveden v&nbsp;''.md.for'', znamená to, že cílový typ souboru se pohybuje v&nbsp;tomto rozměru, má jeho hodnotu uvedenou v&nbsp;cestě, akorát toto konkrétní pravidlo generuje tento soubor pouze pro jednu hodnotu v&nbsp;dotyčném rozměru.
 +      * Jestliže ''.md.fix'' obsahuje rozměr, který není současně uveden v&nbsp;''.md.for'', znamená to, že cílový typ souboru tento rozměr nezná a nemá ho uveden v&nbsp;cestě, avšak některý ze zdrojových souborů tento rozměr má a potřebuje vědět, kterou hodnotu máme na mysli. Které ze zdrojových souborů hodnotu ''.md.fix'' využijí, poznáme z&nbsp;pravidel, která tyto soubory generují jako cílové a vymezují jejich rozměry.
 +      * Jestliže některý zdrojový soubor vyžaduje rozměr, který cílový soubor neobsahuje, a tento rozměr není zafixován, pravidlo se rozgeneruje i pro všechny hodnoty tohoto rozměru. Bude pak existovat několik konkurenčních pravidel, která vytvářejí tentýž cílový soubor.
 +    * ''.md.del'' odstraní rozměry z&nbsp;''.md.for'' (nejvíce se hodí, když ''.md.for'' není uvedeno a defaultně tedy obsahuje všechny rozměry)
 +    * ''.md.fxd'' je jako ''.md.fix'' a ''.md.del'' dohromady. Uvádějí se hodnoty, nikoli názvy rozměrů (tedy jako u ''.md.fix'' a na rozdíl od ''.md.del'')
  
-<code>.MDRULE # asi zbytečné, plyne z výskytu .md.for níže +<code>.MDRULE 
-%.mst.conll: %.blind.conll %.mst $(TOOLDIR)/runmst.pl+.md.rul mst.conll blind.conll mst 
 +.md.dep $(TOOLDIR)/runmst.pl
 .md.for: LANGUAGES DE PREPROCESSINGS .md.for: LANGUAGES DE PREPROCESSINGS
-.md.fix: TRAINTEST = test +.md.fix: test 
-.md.iff.blind.conll.TRAINTEST = test # tady zbytečné, plyne už z .md.fix+        @echo Running MST for language $(*LANGUAGES):
         $(TOOLDIR)/runmst.pl -m $(*2) < $< > $@</code>         $(TOOLDIR)/runmst.pl -m $(*2) < $< > $@</code>
  

[ Back to the navigation ] [ Back to the content ]