SFST magyar igéből főnevet képzés II

A Programozás Wiki wikiből
%%%%%%%%%%% noun from verb, Hungarian
%ír írás
%ír író
%néz nézés
%néz néző
%tör törés
%tör törő
%beír leírás
%...
%visszaír visszaírás
%...
#################### Makefile
tobbrag.a: tobbrag.fst ifn1.fst phonif1.fst symbols1.fst verbe.lex verboe.lex verbo.lex
%.a: %.fst
	fst-compiler-utf8 $< $@

clean:
	rm -f *.a *~

%%%%%%%%%%%%%%% symbols1.fst %%%%%%%%%%%%%%%%%%%%
#cons# = bcdfghjklmnprstvwxyz
#vowel# = aeiouáéíówúöüőű
#letter# = #cons##vowel#
#magas# = eéiíöőüű
#magas1# = eéií
#mely# = aáouóú
#mely1# = ouóú
#oe# = öüőű
#aa# = aá
%%%%%%%%%%%%%%%%%%%%%%% ifn1.fst %%%%%%%%%%%%%%%%
%#include "symbols1.fst" 

$nom$ =  <nom>:{}
$as$ =  <as>:{<ik><IAE>s} 
$ooee$ =  <ooee>:{<ik><IOOEE>} 

$ifn$ = $nom$ | $as$ | $ooee$
%%%%%%%%%%%%%%%%%%%%%%% phon1.fst %%%%%%%%%%%%%%%%
%#include "symbols1.fst"
ALPHABET = [#cons#] [#vowel#] \
         <IAE>:á <IAE>:é  \  % ás, és
         <IOOEE>:ó <IOOEE>:ő \ % ó, ő
         <Verbe> <Verbo> <Verboe> \
         <ik><nom> <as> <ooee>

$Del_pV$ = .*
$IAE1$ =  ( [<Verbe><Verboe>] .*) <IAE> <=>  é
$IAE2$ =  ( <Verbo> .*) <IAE> <=>  á
%$IAE3$ =  ( <Verboe> .*) <IAE> <=>  é
$ima1$ = $IAE1$ & $IAE2$ 
$IOOEE1$ =  ( [<Verbe><Verboe>] .*) <IOOEE> <=>  ő
$IOOEE2$ =  ( <Verbo> .*) <IOOEE> <=>  ó
%$IOOEE3$ =  ( <Verboe> .*) <IOOEE> <=>  ő
$ima2$ = $IOOEE1$ & $IOOEE2$ 
$ima0$ = $ima1$ & $ima2$  

ALPHABET = [#cons#] [#vowel#]<Verbe> <Verbo> <Verboe> \
         <ik><nom> <as> <ooee>
$ik-to-nil$ = {ik}:{<>} ^-> (__ [<Verbe><Verboe><Verbo>] [<ik>].*)

$ima$ = $ima0$  || $Del_pV$    

% delete pos tags
ALPHABET = [#cons#] [#vowel#] [<Verbe> <Verbo> <Verboe><nom><as><ooee><ik>]:<>
$idelete-POS$ =  .*

$iphon$ = $ima$ || $ik-to-nil$ || $idelete-POS$
%$iphon$ = $ima$ ||  $idelete-POS$

%%%%%%%%%%%%%% tobbrag.fst %%%%%%%%%%%%%%%%%%%
% http://wiki.prog.hu/wiki/SFST_magyar_főnévragozás
%%%%%%%%%%%%%% nouns from verbs for Hungarian (simplified first version)  %%%%%%%%%%%
%ír írás
%ír író
%néz nézés
%néz néző
%tör törés
%tör törő
%beír leírás
%...
%visszaír visszaírás
%...
%%%%%%%%%%%%%%%%% simplified HU nouns from verbs derivation %%%%%%%%%%%%%%%%%%%%%%%%%%5
#include "symbols1.fst"
#include "phonif1.fst"
#include "ifn1.fst"

$imorph$ = "verbo.lex" <Verbo> | \
"verbe.lex" <Verbe> | \
"verboe.lex" <Verboe> 
$imorph$ >> "morph8.a"
$pref$ =  "vpref.lex"
$imorph$ = $imorph$ | $pref$ $imorph$ 
$imorph$ >> "morph9.a"
$imorph$ = $imorph$ $ifn$ 
$imorph$ >> "morph10.a"
$imorph$ = $imorph$ || $iphon$
$imorph$
%%%%%%%%%%%%%%% verbe, verboe, verbo
írel
írez
irigyel
ismétlődik
ívelődik
ízesül
iszkol
iszogat
iszonyodik
italozik
%%%%%%%%%%%%%vpref.lex
be
ki
le
fel
meg
el
át
rá
ide
oda
szét
össze
vissza
%%%%%%%%%%%%%%%% result%%%%%%%%%%%
fst-generate tobbrag.a
összeiszkol<Verbo>:<><ooee>:<><>:ó
összeiszkol<Verbo>:<><as>:<><>:á<>:s
összeiszkol<Verbo>:<><nom>:<>
összeiszogat<Verbo>:<><ooee>:<><>:ó
összeiszogat<Verbo>:<><as>:<><>:á<>:s
összeiszogat<Verbo>:<><nom>:<>
összeiszonyodik<Verbo>:<><nom>:<>
összeiszonyodi:<>k:<><Verbo>:<><ooee>:<><>:ó
összeiszonyodi:<>k:<><Verbo>:<><as>:<><>:á<>:s
összeismétlődik<Verboe>:<><nom>:<>
összeismétlődi:<>k:<><Verboe>:<><ooee>:<><>:ő
összeismétlődi:<>k:<><Verboe>:<><as>:<><>:é<>:s
összeitalozik<Verbo>:<><nom>:<>
összeitalozi:<>k:<><Verbo>:<><ooee>:<><>:ó
összeitalozi:<>k:<><Verbo>:<><as>:<><>:á<>:s
...
elízesül<Verboe>:<><nom>:<>
elívelődik<Verboe>:<><nom>:<>
elívelődi:<>k:<><Verboe>:<><ooee>:<><>:ő
elívelődi:<>k:<><Verboe>:<><as>:<><>:é<>:s
elírez<Verbe>:<><ooee>:<><>:ő
elírez<Verbe>:<><as>:<><>:é<>:s
elírez<Verbe>:<><nom>:<>
elírel<Verbe>:<><ooee>:<><>:ő
elírel<Verbe>:<><as>:<><>:é<>:s
elírel<Verbe>:<><nom>:<>

Lásd még[szerkesztés]