[voikko-devel] Malagan optimointi (-:

Hannu Väisänen hvaisane at joyx.joensuu.fi
Thu Aug 24 08:24:56 EEST 2006


On Wed, Aug 23, 2006 at 09:54:38PM +0300, Harri Pitkänen wrote:
> Olen tässä miettinyt illan aikana, että voisi olla tulevaisuuden kannalta 
> hyödyllisempää kirjoittaa auki nämä sananmuodostussäännöt sellaisessa 
> muodossa, että niitä osaavat tulkita muutkin kuin ne, jotka ymmärtävät 
> Malaga-koodia.

Epäilemättä, mutta kuka homman tekee?


> Erityisen hyödyllistä olisi saada säännöstö sellaiseen 
> muotoon, että se on sekä ihmisten että koneen luettavissa. Hankalampi kysymys 
> on sitten se, että mikä on sopiva formalismi tällaiseen hommaan.

Tietysti LAG eli left associative grammar, jota Malaga käyttää.
Vai tarkoitatko formalismilla sitä, miltä kuvaus näyttää
paperille kirjoitettuna?

Hyvin teoreettinen kuvaus LAGista on
   Hausser, Roland (1992): "Complexity in Left-Associative Grammar."
   Theoretical Computer Science 106(2), 283-308, Dortrecht: Elsevier.
jonka voi imuroida täältä:
http://www.linguistik.uni-erlangen.de/de_contents/publications.php


> Sellaisen olemassaolo helpottaisi oleellisesti tuota itse koodin 
> kirjoitusta (parhaassa tapauksessa homman voisi jopa tehdä osittain tai 
> kokonaan automaattisesti)
> Siis tuo edellinen esimerkki kirjoitettaisiin jotenkin näin:
> # Sääntöjä yleisnimien muodostamiseksi sanoja yhdistämällä
> # "kuusi+puu"
> yleisnimi_vartalo -> yleisnimi_vartalo nimentö_yks_pääte yleisnimi_vartalo
> # "talo+n+poika"
> yleisnimi_vartalo -> yleisnimi_vartalo omanto_yks_pääte yleisnimi_vartalo
> # "vanhempa+in+loma"
> yleisnimi_vartalo -> yleisnimi_vartalo omanto_mon_pääte yleisnimi_vartalo

Prolog!

yhdyssana(X,Y) :- vartalo(X), vartalo(Y).
yhdyssana(X,Y,Z) :- vartalo(X), pääte(Y), vartalo(Z).
vartalo(X) :- ...
pääte(Y) :- ...



More information about the devel mailing list