SFST magyar többesszám II
Innen: Programozás Wiki
Ugrás a navigációhozUgrás a kereséshez%%%%%%%%%%%%%% vocharm11.fst %%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%% Plural for Hungarian morpho 2.2 részben+oe %%%%%%%%%%%
%%% consonant ending
% szár-szárak ak
% haj- hajak ak
% íj-íjak ak
% név-nevek é->e ek
% kötél kötelek é->e ek
% könyv könyvek ek
% rügy rügyek ek
% szűz, fűz tűz- szüzek, füzek, tüzek
%%% vocal ending
% kő, kövek, vek
% lé levek
% tő: tövek
% cső csövek
% mű művek
% tó tavak vak
% szó szavak
% hó havak
% de: ló-lovak (not here!)
%%%%%%%%%%%%%%% symbols %%%%%%%%%%%%%%%%%%%%
#cons# = bcdfghjklmnprstvwxyz
#vowel# = aeiouáéíóúöüőű
#magas# = eéiöőüű
#magas1# = eéi
#mely# = aáíouóú
#mely1# = aáíouóú
#oe# = öüőű
#aa# = aá
#asym# = #cons##vowel#<Noun><Verb><Adj><sg><pl>
%%%%%%%%%%%%%%% vocal harmony - HU plural %%%%%%%%%%%%%%%%%%%%
ALPHABET = [#cons#] [#vowel#] <AA>:e <AA>:a <AA>:<> <Noun> <pl>
$As$ = ([#mely1#] [#cons#]+ <Noun>) <AA> <=> a
$As2$ = ([#magas#] [#cons#]+ <Noun>) <AA> <=> e
$As4$ = ([#vowel#]+ <Noun>) <AA> <=> <>
$Del_pV$ = .*
$ma$ = ($As$ & $As2$ & $As4$ )|| $Del_pV$
% a to á and e to é if word ends with a or e
ALPHABET = [#cons#] [#vowel#] <Verb><Noun><Adj>
$a-to-aa$ = {a}:{á} ^-> (__ [<Noun>] k)
$e-to-ee$ = {e}:{é} ^-> (__ [<Noun>] k)
% delete pos tags
ALPHABET = [#cons#] [#vowel#] [<Verb><Noun><Adj><bee><bue>]:<>
$delete-POS$ = .*
ALPHABET = [#cons#] [#vowel#] <bee>:e <bee>:é <bue>:ű <bue>:ü <AA> <Noun> <pl>
%kötél, név
$bee$ = <bee> <=> e ([#cons#] <Noun> <AA>k)
% tűz, fűz, szűz
$bue$ = <bue> <=> ü ([#cons#] <Noun> <AA>k)
$bbb$ = ($bue$ & $bee$)
% let <bee>, <bue> disappear from surface
ALPHABET = [#asym#] é:<bee> ű:<bue>
$afilter$ = .*
ALPHABET = [#cons#] [#vowel#] <AA> <Noun> <pl>
$Del_pV$ = .*
$oo_to_ov$ = {ő}:{öv} ^-> (__ [<Noun>] <AA>k)
$uu_to_uv$ = {ű}:{űv} ^-> (__ [<Noun>] <AA>k)
$oo_to_av$ = {ó}:{av} ^-> (__ [<Noun>] <AA>k)
$ee_to_ev$ = {é}:{ev} ^-> (__ [<Noun>] <AA>k)
$uuconv$ = ($oo_to_ov$ || $uu_to_uv$ || $oo_to_av$ || $ee_to_ev$) || $Del_pV$
% <Noun> is needed to see the word''s end
$noun-reg-infl$ = <Noun> (\
{<sg>}:{} |\
{<pl>}:{<AA>k})
$morph$ = $afilter$ || "noun-reg2.lex" $noun-reg-infl$ || $bbb$ || $uuconv$|| $ma$ || $a-to-aa$ || $e-to-ee$ || $delete-POS$
$morph$
%%%%%%%%%%%%%%%%%%%%%% result with fst generate%%%%%%%%%%%%%
% fst-generate vocharm11.a
% lé<Noun>:<><sg>:<>
% lé:e<>:v<Noun>:<><pl>:e<>:k
% szó:a<>:v<Noun>:<><pl>:a<>:k
% szűz<Noun>:<><sg>:<>
% szű:üz<Noun>:<><pl>:e<>:k
% szár<Noun>:<><pl>:a<>:k
% szár<Noun>:<><sg>:<>
% szó<Noun>:<><sg>:<>
% mű<>:v<Noun>:<><pl>:e<>:k
% mű<Noun>:<><sg>:<>
% kötél<Noun>:<><sg>:<>
% köté:el<Noun>:<><pl>:e<>:k
% könyv<Noun>:<><pl>:e<>:k
% könyv<Noun>:<><sg>:<>
% kapa:á<Noun>:<><pl>:<><>:k
% kapa<Noun>:<><sg>:<>
% kő:ö<>:v<Noun>:<><pl>:e<>:k
% kő<Noun>:<><sg>:<>
% íj<Noun>:<><pl>:a<>:k
% íj<Noun>:<><sg>:<>
% hó:a<>:v<Noun>:<><pl>:a<>:k
% haj<Noun>:<><pl>:a<>:k
% haj<Noun>:<><sg>:<>
% hó<Noun>:<><sg>:<>
% tűz<Noun>:<><sg>:<>
% tű:üz<Noun>:<><pl>:e<>:k
% tó:a<>:v<Noun>:<><pl>:a<>:k
% tő:ö<>:v<Noun>:<><pl>:e<>:k
% tó<Noun>:<><sg>:<>
% tő<Noun>:<><sg>:<>
% fűz<Noun>:<><sg>:<>
% fű:üz<Noun>:<><pl>:e<>:k
% rügy<Noun>:<><pl>:e<>:k
% rügy<Noun>:<><sg>:<>
% cső:ö<>:v<Noun>:<><pl>:e<>:k
% cső<Noun>:<><sg>:<>
% név<Noun>:<><sg>:<>
% né:ev<Noun>:<><pl>:e<>:k
%%%%%%%%%%%%%%%%%%%%%%%% noun-reg2.lex %%%%%%%%%%%%%%%%%%%
% szár
% íj
% haj
% n<bee>v
% köt<bee>l
% könyv
% rügy
% sz<bue>z
% f<bue>z
% t<bue>z
% kő
% lé
% tő
% cső
% mű
% tó
% szó
% hó
% kapa