Erabiltzaile Tresnak


hizk:1:3

Morfologia konputazionala

Hizkuntza baten tratamendu automatikoan, lehenengo urratsa hitzen osaera morfologikoa aztertzea izan ohi da, hau da, hitz bat osatzen duten osagai morfologikoak bereiztea eta, era berean, osagai horiek bata bestearekin lotzeko arauak definitzea.

Horretarako, lehenik eta behin hitz kontzeptuak ikuspegi konputazionalean hartzen duen zentzua argitu behar dugu. Hitza, zuriunetik zuriunerako karaktere-segida da, eta esaldia zuriunez bereizitako hitzez osatuta dago (Fontenelle et al., 1994).

Hizkuntza guztiak ez dira morfologia-eredu berekoak: zenbaitzuk morfologia sinpleagokoak dira, eta beste batzuk konplexuagokoak (mendietakoa vs the one in the mountains). Ingelesez, esaterako, mountain lema mountain eta mountains hitz bezala (singularra eta plurala adieraziz, alegia) ager daiteke bakarrik; euskaraz, berriz, mendi lemak mendia, mendiak, mendietan, mendietakoa eta ehundik gorako hitz-forma osa ditzake. Horrela izanik, ingelesezko lexikoi konputazional bat osatzeko, ez da hainbesteko lana mountain eta mountains hitzei sarrera ematea; hots, aparteko bi hitz lantzea. Aldiz, hori pentsaezina da euskara moduko hizkuntzetarako. Lemaren eta atzizkien arteko konbinazio guztiak kontuan izanez gero, lema bakoitzeko sarrera kopuru oso handia beharko genuke.

Morfologiarekin lotutako oinarrizko kontzeptuak kontsulta ditzakezu aurrera jarraitu baino lehen.

Morfologia konputazionala: erabilerak

Hizkuntza baten tratamendu automatikoan, lehenengo urratsa hitzen osaera morfologikoa aztertzea izan ohi da. Morfologian oinarritutako oinarrizko tresna analizatzaile morfologikoa izaten da, hau da, hitz bat emanda dagokion analisia (edo analisiak) lortzen d(it)uena. Hitza morfologikoki anbiguoa ez bada analisi bakarra itzuliko du, baina anbiguoa bada bat baino gehiago. Adibidez, handien hitzaren analisia bikoitza da atzizkia graduatzaile edo genitibo gisa interpreta baitaiteke:

  1. handien → handi[ADJ]+[GRA][SUP]
  2. handien → handi[ADJ]+[GEN][MP]

Bestalde, analisiak itzultzen duen informazioa sinplea edo konplexua izan daiteke. Sinpleena lema hutsa itzultzea litzateke, adibidean dagoenak tarteko konplexutasuna eskaintzen du, baina are konplexuagoa izan daiteke bestelako informazio sintaktikoa zein semantikoa nahiko bagenu. Analisi morfologikoa oinarrizko tresna da hizkuntzaren prozesaketan eta, bere horretan oso erabilgarria ez bada ere, hainbat aplikazioren oinarri da: xuxen bezalako ortografia-zuzentzaile edo elebila bezalako bilatzailetik itzulpen automatikoko sistemetaraino.

Analisiaz gain sorkuntza ere interesgarria da. Sorkuntzan analisiaren kontrakoa gertatzen da: lema eta dagozkien morfemak bilduz, programak hitza osatzen du. Erregela bidezko itzulpen automatikoan tresna hau beharrezkoa da helburu-hizkuntzaren hitzak sortzeko analisia eta transferentzia egin ondoren. Lortuko genukeena analisiaren alderantzizkoa litzateke, hau da, analisitik abiatuta jatorrizko forma. Aurreko adibidearen kasuan:

  1. handi[ADJ]+[GRA][SUP] → handien

Analisi morfologikoa egin gabe hitzetik lema lortzen duten tresnak ere oso erabilgarriak dira. Sinpleagoak dira eta stemmer izen ingelesarekin ezagutzen dira. Sasi-lematizatzaileak dei diezaiekegu. Orokorrean tresna hauek atzizkiak baino ez dituzte ezagutzen eta hitzen bukaeran atzizkiak kentzen saiatzen dira (sasi)lema lortu arte.

Funtzio osagarri garrantzitsu bat behar izaten da analizatzaile morfologikoaren edo sasi-lematizatzailearen osagarri gisa: hitz-banatzailea edo tokenizatzailea.

Bestalde, analizatzaile morfologikoaren irteera anbiguoa izan daiteke, analisi posible guztiak eskaintzen baititu, baina aplikazio askotarako anbiguotasun hori ebatzi egin behar da. Horretarako desanbiguatzaile morfosintaktiko edo etiketatzaile (tagger ingelesez) deitzen den tresna sortzen da.

Horrez gain, hitz anitzeko terminoak eta espresioak geratzen dira morfologiaren eta sintaxiaren arteko mugan. Tratamendua datu-base batean oinarritzen bada morfologiatik gertuago izango da, baina konbinaketa irekia bada sintaxi aldera joko da. Tartean dago daten eta zenbakien analisia.

Morfemen arteko lotura: morfotaktika eta morfofonologia

Deskribapen morfologiko formal bat egitean komenigarria da bi fenomeno bereiztea: morfotaktika eta morfofonologia.

Morfotaktika

Osagaien arteko loturak bideratzeko murriztapenak adierazi ohi dira, eta hori morfotaktika edo hitzaren gramatika deskribatuz egiten da; alegia, zer har dezake atzetik aurrizki, lema edo morfema batek, hori da hitzaren gramatikak esan behar duena. Morfotaktikak elkarren segidan dauden morfemen funtzioa bideratzen du, eta horretarako jarraitze-klaseak baliatzen ditu, hauek zehazten baitute lema edo morfema batek atzetik har dezakeen guztia, eta hori bakarrik: lema batek ondoren har ditzakeen atzizkiak, atzizki batek atzetik har ditzakeen beste atzizkiak, edo aurrizki batek har ditzakeen lemak. Azkenean, jarraitze-klasea bera azpilexiko multzo bat da, aurreko guztia definitua duena. Adibide batekin esateko, izen arruntak atzetik muga(gabe)tasuna eta deklinabidea hartuko ditu (etxe+a+k), inoiz ez gradua (*etxe+ago) edo menderagailu bat (*etxe+la). Adjektiboak, aldiz, gradua har dezake muga(gabe)tasunaren eta deklinabidearen aurretik (txiki+ago), baina ez derrigor (txiki).

Deskribatu dugun morfemen kateatze sinplea kasurik arruntena bada ere, badaude formalismo ahaltsuagoak eskatzen dituzten fenomenoak, erro-patroietan oinarritutako fenomenoak, adibidez, hizkuntza semitikoetan gertatzen direnak. Konplexutasunaren aldetik tartean egongo liratekeen beste fenomenoak ere aipa daitezke: artizkien bidezko lotura, morfema-bikoizketa, etab.

Inguruko hizkuntzetan ere, kateatze hutsa ez den urruneko mendekotasuna izeneko fenomenoa dugu, morfema ez-jarraituen arteko baldintzak gerta baitaitezke. Adibidez, ingelesez en-, joy eta -able morfemak elkarren segidan joan badaitezke ere, joy eta -able bakarrik ezin dira lotu (*joyable ezin da erabili ingelesez). Alegia, en- aurrizkiak -able atzizkiaren erabilera baldintzatzen du, edo, beste era batera esanda, en- eta -able artean urruneko mendekotasuna dago. Euskaraz ere antzera gertatzen da bait- aurrizkia, aditz jokatua eta -lako atzizkiaren artean. Aurrizkiaren atzean aditz jokatua joan daiteke (baikara), eta aditz jokatuaren atzetik atzizkia (garelako), baina inola ere ez hirurak batera (*baikarelako).

Morfofonologia

Aldaketa fonologikoak morfemak biltzean gertatzen diren aldaketak dira. Fonologiak zuzenean eragindakoak izan daitezke batzuetan (azaleko arrazoiei bakarrik erantzuten dietenak, erregular bezain sistematikoak, epentesiak, adibidez; euskaraz eta suomieraz arruntak dira halakoak), ortografiak berak ere eragin ditzake (ingelesez, esaterako), eta morfologikoak ere aurki ditzakegu (gramatikalki baldintzatuak dira hauek eta ez dira sistematikoak; euskaraz baditugu halako batzuk); horrexegatik, morfofonologikoak ere deituko ditugu, bibliografian aurreko izenez gain morfografemika ere agertu arren. Aldaketa hauen kopurua eta horiek gertatzeko baldintzak arras desberdinak dira hizkuntzen arabera. Aldaketa morfofonologikoen adibideak dira:

  1. zakur+a –> zakurra (fonologiak eragindakoa)
  2. egun+ko –> eguneko (izena bada) edo egungo (adberbioa bada) (morfologiak eragindakoa)

Fenomeno honen aurrean, analisi morfologikoa egiterakoan, sistema batzuetan alomorfoak erabiltzen dira, hau da, morfema bera adierazteko forma bat baino gehiago zehazten dira lexikoan. Adibidez, euskarazko hau erakusleak hau segida kasu absolutiboan bakarrik mantentzen du, beste kasu guztiak hon segidan oinarrituta osatzen dira (honek, honen, honekin, etab.). Hiztegian, beraz, hon alomorfoa jasoko da hau lemarekin batera. Aldaketa fonologiko konplexuaren adibide gisa, hizkuntza batzuetan gertatzen den bokal-harmoniaren fenomenoa dugu: puntu batean gertatzen den bokal baten aldaketak ondoko edo aurreko bokal guztien aldaketa eragin dezake. Kasu gehienetan, baina, aldaketa horiek lokalak dira, morfema-mugan gertatzen dira-eta.

Formalismoak eta programak

Konputagailuarentzat morfologia erraz deskribatzeko orduan ez dira ohiko programazio-lengoaiak erabiltzen; morfologiari egokitutako lengoaiak edo formalismoak baliatzen dira, hau da, aurredefinitutako formalismo baten araberako deskribapen linguistikora jotzen da. Formalismo horiek interpretatzeko programak dira analisia edota sorkuntza bideratzen dituzten tresnak.

Analizatzaile/sortzaile morfologiko baten kalitatea ebaluatzeko garaian hainbat irizpide hartu behar dira kontuan: estaldura, doitasuna, gainsorkuntza eta eraginkortasuna.

Bi mailatako morfologia

Formalismo morfologikoen artean arrakasta handiena izan duena 1983an Koskenniemik definitutako bi mailatako morfologia da. Egoera finituetako morfologiari bultzada handia eman zion eredu honek harrera bikaina jaso du ondoko urteetan, besteak beste, dituen ezaugarri hauengatik:

  • Eredu orokorra da, kateatze-mailako morfologian behinik behin eta, beraz, gure inguruko edozein hizkuntzari aplika dakioke.
  • Ezagutza linguistikoa eta algoritmoa bereizi egiten ditu eta, ondorioz, programa berak edozein hizkuntzatarako balio dezake.
  • Baliagarria da hitzen analisi morfologikorako zein sorkuntzarako.
  • Analizatu edo sortuko den hitzaren azaleko maila eta hiztegian (lexiko-sisteman) errepresentatzen den lexikoko maila —sakonekoa ere esaten zaio— argi eta garbi bereizten ditu. Hau dela eta, ez dago aldaketa morfofonologikoengatik sortutako morfema baten forma desberdinak (alomorfoak) gorde beharrik.
  • Fonologia sortzaileko berridazketa-erregelak erabili beharrean erregela paraleloak erabiltzen ditu, kontzeptualki zein konputazionalki errazago bihurtuz.

Aurreko ezaugarriak kontuan hartuz, esan daiteke sistemaren konputazio-konplexutasuna ez dela altua eta, ondorioz, makina txikietan sistema errealak ezartzea bideratzen duela. Ikerketaren ondorioz erregela paraleloen bilakaera gertatu da ordezkapen-erregela sekuentzialetara igaroz, kontzeptualki sinpleenak direnak baina arretaz ordenatu behar direnak. Erregela hauek izango dira beheko adibideetan erabiliko direnak.

Xerox laborategietan egindako ikerketan oinarrituta erregela paraleloak ordezkapen-erregela sekuentzialen bidez ordezkatu ahal izan ziren eta diakritikoen erabilera saihestu edo gutxiagotu. Lexiko-itzultzaileak terminoa landu zen eta horrekin lotuta konpiladore eraginkorrak.

Euskarari eta hizkuntza askori (biblio) arrakasta handiz aplikatu zaio. Xerox, Lingsoft eta beste hainbat enpresak merkaturatu dituzte formalismo hauetan oinarritutako tresnak eta aplikazioak.

Programak

Morfologia prozesatzeko hamaika programa sortu dira formalismo desberdinetan oinarrituta eta hizkuntza anitzetarako. Gehien interesatzen zaizkigun programak deskribapen berrietara egokitutakoak dira, hau da, deskripzio morfologikoa egiteko aukera eman eta programatu gabe analizatzailea/sortzailea lortzen dutenak. Tresna hauei batzuetan konpiladore esaten zaie eta gure ustez lau interesgarrienak hauexek dira: PC-Kimmo, hunspell, Xerox-toolkit eta foma.

  • PC-Kimmo (http://www.sil.org/pckimmo/): Bi mailatako morfologian oinarrituta dago eta libre erabiltzeko lehen tresna izan zen. Konpilatzaileak ez dira oso ahaltsuak, baina hizkuntza askotarako adibideekin dator hornituta.
  • hunspell (http://hunspell.sourceforge.net/): Izenagatik zuzenketa ortografikora egokituta dagoela (spell programa ezagunaren bilakaeratzat har daiteke) pentsa badaiteke ere, analisi morfologikoa ere buru daiteke. Aldeko irizpideak argiak dira: software librea da eta hizkuntza baterako deskribapena eginez gero OpenOffice, Mozilla eta software libreko beste aplikazio askotarako zuzentzaile ortografikoa eginda egongo da. Eragozpena ere argia da, ez baititu morfotaktika eta fonologia bereizten eta, ondorioz, aldaketa fonologikoak morfotaktikan txertatu behar dira modu deserosoan.
  • Xerox-toolkit (http://www.stanford.edu/~laurik/fsmbook): Bi mailatako morfologiaren bilakaera bikaina egin dute Xerox enpresan lexc, twolc eta xfst konpiladoreak sortuz. Fonologiarako erregela paraleloez gain berridazketa erregela sekuentzialak ere erabil daitezke. Deskribapen ahaltsuak, dotoreak eta eraginkorrak bideratzen ditu. Eragozpen garrantzitsu bat du, halere, probatzeko librea bada ere, aplikazioak garatzeko oso lizentzia murriztailea baitu.
  • foma (http://foma.sourceforge.net/): Xerox tresnekin bateragarria da, baina abantaila handi batekin: software librea da. Erregela paraleloak konpilatzeko tresnarik ez du, baina sekuentzialak erabiltzea erosoagotzat jotzen dute hizkuntzalari gehienek.

Euskararen morfologiaren deskribapen konputazionala

Ondoren foma tresnaren bidezko euskararen deskribapen didaktiko bat azaltzen da. Ez da deskribapen osoa, konplexuegia bailitzateke horrelakorik hemen egitea.

Deskribapena bi multzotan banatzen da: morfemen biltegia eta morfotaktikaren deskribapena den lexikoa batetik, eta aldaketa morfofonologikoak adierazten dituen erregela-multzoa bestetik.

Euskararen lexikoa eta morfotaktika

Beheko kodean deskribatzen da euskararen multzo txiki baten lexikoa eta morfotaktika. Honako ohar hauek hartu behar dira kontuan interpretatzeko orduan:

  • ! sinboloaren ondoren lerroan agertzen dena oharra da; beraz, ez da deskribapen formalaren parte.
  • Multichar_Symbols atalean karaktere anitzeko informazioak adierazten dira konpiladoreari espazioa aurrezten laguntzeko. Informazio morfologikorako erabili ohi da.
  • LEXICON Root atalean hitzaren hasieran ager daitezkeen azpilexikoak zehazten dira.
  • Azpilexiko bakoitzaren hasieran LEXICON hitz erreserbatua eta azpilexikoaren izena zehazten da.
  • Bi azpilexiko mota erabili dira deskribapenean: morfotaktika eratzeko azpilexiko multzoak direnak (ADJ_JK esaterako) eta lexiko-sarreren multzoak (IZENAK esaterako).
  • Azpilexiko multzoei jarraitze-klase esan ohi zaie eta horregatik izenean JK bukaera erabili da.
  • Lexiko-sarreren multzotan lerro bakoitzeko hiru informazio zehaztu ohi dira: 1) informazio morfologikoa, 2) erregelak aplikatzeko forma eta 3) atzetik lot dakiokeen jarraitze-klasea.
  • Informazio morfologikoa eta erregelak aplikatzeko formaren artean : karakterea jartzen da.
  • Erregelak aplikatzeko forman marka batzuk jar daitezke erregelen aplikazioa kontrolatzeko. Adibidez, 1 marka leku-izenak bereizteko erabili da, deklinabidean joera berezia dute-eta. R marka r gogorra bereizteko. Esanahi guztiak beherago azaltzen dira.
  • # markak, jarraitze-klase gisa, hitzaren bukaera adierazten du.
  • 0 sinboloak karaktere hutsa adierazten du.

Erabilitako markak

  • +: morfema-muga, aurrizkien bukaeran eta atzizkien hasieran jarri ohi da.
  • R: r gogorraren marka (adib. zakuR)
  • Q: r epentetikoa (adib. +Qen genitibo mugagabea)
  • A: a itsatsia, atzizki batzuekin galtzen dena (adib. ahizpA)
  • @: a berezia aditz jokatuetan, batzuetan galtzen dena (adib. d@)
  • 1: leku-izenaren marka (adib. gasteiz1)
  • E: e epentetikoa atzizkietan (adib. +Ela)
  • N: aditzetan, bukaerako n (adib. egiN)

Formatua

  • LEXICON hasiera duten lerroetan azpilexikoak edo jarraitze-klaseak definitzen dira
  • sarrera arruntetan hiru elementu daude (lehen biak bi puntuko karaktereaz banatuta): lexiko-forma, erregelak aplikatzeko forma markatua eta jarraitze-klasea
  • sarrera arruntetan bi elementu baino ez daudenean, lexiko-forma eta forma markatua bera direla esaten da
  • sarrera arruntetan elementu bakarra dagoenean morfema hutsa definitzen da. Jarraitzen-klase baten azpilexiko bakoitzerako erabili ohi da.

KODEA

Multichar_Symbols
[IZE] [LIB] [IZB] [ADJ] [ADI] +Abs +Erg +Gen +Gel +Konp +Sup +Gehi 
+Sng +Plu +Mgb +Buru +Ezbu +Gero +Nom +Knpl +Kaus +Erlt +Bald
 
LEXICON Root
IZENAK;
LEKU_IZENAK;
PERTS_IZENAK;
ADJEKTIBOAK;
ADITZAK;
ADITZ_LAG;
ADITZ_AUR;
ADLAG_AUR;
 
LEXICON IZEN_JK
DEKLINAB;
 
LEXICON IZEN_JK2
#;
DEKLINAB;
 
LEXICON IZB_JK
DEKLINAB2;
 
LEXICON LIB_JK
DEKLINAB3;
 
LEXICON ADJ_JK
GRADUA;
DEKLINAB;
 
LEXICON GERO_JK
GERO;
 
LEXICON IZENAK
ate[IZE]:ate		IZEN_JK;
etxe[IZE]:etxe 		IZEN_JK;
ur[IZE]:ur		IZEN_JK;
hur[IZE]:huR		IZEN_JK;
zakur[IZE]:zakuR	IZEN_JK;
ama[IZE]:amA		IZEN_JK;
zakur[IZE]:zakuR	IZEN_JK;
 
LEXICON LEKU_IZENAK
usurbil[LIB]:usurbil1	LIB_JK;
irun[LIB]:irun1		LIB_JK;
gasteiz[LIB]:gasteiz1	LIB_JK;
tolosa[LIB]:tolosA1	LIB_JK;
 
LEXICON PERTS_IZENAK
maddi[IZB]:maddi	IZB_JK;
kepa[IZB]:kepA		IZB_JK;
itziar[IZB]:itziaR	IZB_JK;
 
LEXICON ADJEKTIBOAK
gorri[ADJ]:gorri 	ADJ_JK;
mozkor[ADJ]:mozkoR	ADJ_JK;
 
#deklinabide arrunta
LEXICON DEKLINAB
+Abs+Mgb:0	#;
+Abs+Sng:+a	#;
+Abs+Plu:+ak	#;
+Erg+Mgb:+Ek	#;
+Erg+Sng:+ak	#;
+Erg+Plu:+ek	#;
+Ine+Mgb:+Etan	#;
+Ine+Sng:+Ean	#;
+Ine+Plu:+etan	#;
+Gen+Mgb:+Qen	IZEN_JK2;
+Gen+Sng:+aren	IZEN_JK2;
+Gen+Plu:+en	IZEN_JK2;
+Gel+Mgb:+Etako	IZEN_JK2;
+Gel+Sng:+Eko	IZEN_JK2;
+Gel+Plu:+etako	IZEN_JK2;
 
#pertsona-izenen deklinabidea
LEXICON DEKLINAB2
+Abs+Sng:0	#;
+Erg+Sng:+Ek	#;
+Erg+Plu:+ek	#;
+Gen+Sng:+Qen	DEKLINAB;
 
#leku-izenen deklinabidea
LEXICON DEKLINAB3 
+Abs+Sng:0	#;
+Erg+Sng:+Ek	#;
+Ine+Sng:+En	#;
+Gen+Sng:+Qen	DEKLINAB;
+Gel+Sng:+Eko	DEKLINAB;
 
LEXICON GRADUA
+Konp:+ago	DEKLINAB;
+Sup:+en	DEKLINAB;
+Gehi:+egi	DEKLINAB;
 
LEXICON ADITZ_AUR
ber[AUR]+:beR+	ADITZAK;
 
LEXICON ADLAG_AUR
Kaus+:bait+	ADITZ_LAG;
Bald+:ba+	ADITZ_LAG;
 
LEXICON ADITZAK
egin[ADI]:egiN	ADITZA_ATZIZKIAK1;
hasi[ADI]:has	ADITZA_ATZIZKIAK2;
 
ikuzi[ADI]:ikuz	ADITZA_ATZIZKIAK2;
erakutsi[ADI]:erakuts	ADITZA_ATZIZKIAK2;
utzi[ADI]:utz	ADITZA_ATZIZKIAK2;
ekarri[ADI]:ekaR	ADITZA_ATZIZKIAK3;
ibili[ADI]:ibil	ADITZA_ATZIZKIAK3;
ipini[ADI]:ipin	ADITZA_ATZIZKIAK3;
erabaki[ADI]:erabaki	ADITZA_ATZIZKIAK4;
jalgi[ADI]:jalgi	ADITZA_ATZIZKIAK4;
nekatu[ADI]:neka	ADITZA_ATZIZKIAK5;
findu[ADI]:fin	ADITZA_ATZIZKIAK5;
saldu[ADI]:sal	ADITZA_ATZIZKIAK5;
aberastu[ADI]:aberats	ADITZA_ATZIZKIAK6;
hoztu[ADI]:hotz	ADITZA_ATZIZKIAK6;
batu[ADI]:bat	ADITZA_ATZIZKIAK5;
lotu[ADI]:lot	ADITZA_ATZIZKIAK5;
bota[ADI]:bota	ADITZA_ATZIZKIAK4;
bete[ADI]:bete	ADITZA_ATZIZKIAK4;
eraso[ADI]:eraso	ADITZA_ATZIZKIAK4;
hil[ADI]:hil	ADITZA_ATZIZKIAK4;
 
# aditz-erroen flexio desberdinak lexikoan ebatzi dira 
# eta ez erregela fonologikoez
 
LEXICON ADITZA_ATZIZKIAK1
+Buru:0		GERO_JK;
+Ezbu:+ten	#;
+Nom[IZE]:+te	DEKLINAB;
#;
 
LEXICON ADITZA_ATZIZKIAK2
+Buru:+i	GERO_JK;
+Ezbu:+ten	#;
+Nom[IZE]:+te	DEKLINAB;
#;
 
LEXICON ADITZA_ATZIZKIAK3
+Buru:+i	GERO_JK;
+Ezbu:+tzen	#;
+Nom[IZE]:+tze	DEKLINAB;
#;
 
LEXICON ADITZA_ATZIZKIAK4
+Buru:0	GERO_JK;
+Ezbu:+tzen	#;
+Nom[IZE]:+tze	DEKLINAB;
#;
 
LEXICON ADITZA_ATZIZKIAK5
+Buru:+tu	GERO_JK;
+Ezbu:+tzen	#;
+Nom[IZE]:+tze	DEKLINAB;
#;
 
LEXICON ADITZA_ATZIZKIAK6
+Buru:+tu	GERO_JK;
+Ezbu:+ten	#;
+Nom[IZE]:+te	DEKLINAB;
#;
 
LEXICON GERO_JK
+Gero:+ko	#;
#;
 
LEXICON ADITZ_LAG
izan+A1+P3:d@		LAG_ATZ;
izan+A1+P1:naiz		LAG_ATZ;
edun+A1+P3:du		LAG_ATZ;
edun+A1+P1:dut		LAG_ATZ;
edun+A1+P3P3P3:dio	LAG_ATZ;
edun+A1+P3P3P1:diot	LAG_ATZ;
 
LEXICON LAG_ATZ
+Knpl:+Ela	#;
+Kaus:+Elako	#;
+Erlt:+En	#;
+Erlt+Nom[IZE]:+En	DEKLINAB;
#;

Euskararen morfofonologia

Beheko kodean deskribatzen dira euskararen aldaketa morfofonologiko garrantzitsuenak. Ohar hauek hartu behar dira kontuan interpretatzeko orduan:

  • Erregelen ordena esanguratsua da eta kontu handiz antolatu behar dira.
  • Erregelak lexikoarekin sintonizatuta egon behar dira.
  • ! edo # karakterearen ondoan agertzen direnak oharrak dira eta ez dira konpilatzen.
  • Lehen definizioetan ezaugarri fonologiko/morfologiko/ortografiko komuneko multzoak definitzen dira.
  • Definizio gehienetan aldaketa bat definitzen da izen batez, ondoren gezi bat agertzen da, ezkerrean dagoen karakterea edo katea eskuinean dagonarekin ordezkatzeko. Gezia parentesi artean badago, aldaketa hautazkoa dela adierazten da.
  • Aldaketa testuinguru zehatz batean gertatu behar bada testuingurua || karaktereen ondoren zehaztuko da. Testuingurua adierazteko espresio erregularrak erabil daitezke.
  • Sinbolo batzuk (+ eta @ adibidez) % ihes-karakterea aurrean dutela jartzen da espresio erregularretan duten semantika saihesteko.
  • .o. eragilearen bitartez erregelak konposatzen dira sekuentzialki, ezkerretik eskuinera goazen neurrian lexikotik azalera ordezkapenak eginez.

KODEA

##########################################
# Definizioak
##########################################
 
#Bokalak
define Bokal  a | e | i | o | u | E | A | %@ ;
define BokalHuts  a | e | i | o | u ;
 
# Kontsonanteak
define Konts  b | c | d | f | g | h | j | k | l | m | n | 8 | p | q | r | s | t | v | x | w | z | N | R ;
 
#Txistukariak
define Txis z | s | x ;
 
#Sudurkariak
define AlboSud  l | m | n ;
 
#Morfema-muga
define MM %++ ;    # bat edo gehiago
 
 
##########################################
# Erregelak
##########################################
 
#### T
 
#R1#
define T0 t -> 0 ||  _ (Txis) MM t ;
       # lot+tu:lotu (R1)
       # erakuts+te+a:erakustea (R1)
 
#R2#
define TD t -> d ||  AlboSud MM _ u MorfBuk ;
       # sal+tu:saldu (R2)
 
 
#### bait aurrizkia
 
#R3#
define BAIT1 d  -> 0 ||  .#. b a i t MM _ ;
       # bait+da:baita (R3)
 
#R4#
define BAIT2 g  -> k ||  .#. b a i t MM _ ;
       # bait+gara:bait+kara:baikara (R4,R5)
 
#R5#
define BAIT3 t -> 0 ||  .#. b a i _ MM [ AlboSud | k ] ;
       # bait+naiz:bainaiz (R5)
       # bait+lezake:bailezake (R5)
       # bait+gara:bait+kara:baikara (R4,R5)
 
#R6#
define BAIT BAIT1 .o. BAIT2 .o. BAIT3 ;
 
#### lehen pertsona aditz laguntzailerako
 
#R7#
define TDA  t -> d a || _ MM KonpErl ; 
       # dut+Ela:duda+Ela:dudala (R7,R22)
       # dute+Ela:dutela (R21)
 
 
#### ber aurrizkia
 
#R8#
define H0 h -> 0 || # b e R MM _ Bokal ;
       # beR+has+i:beR+as+i:berrasi (R8,R10)
 
#R9#
define EI e -> i || # b _ R MM Konts ;
       # beR+lot+tu:beR+lo+tu:biR+lo+tu (R1,R9,R11)
       # beR+erakuts+i:berrerakutsi (R10)
 
 
##### R gogorra
 
#R10#
define R2 R -> r r || _ MM (Q) Bokal ;
       # zakuR+a:zakurra (R10)
       # itziaR+Qen:itziarr+Qen:itziarren (R10,R12)
 
#R11#
define RR R -> r ;
       # ekaR+tzen:ekartzen (R11)
 
 
#####  r (Q) epentetikoa atzizkietan
 
#R12#
define Q0 Q -> 0 || Konts MM _ ;
       #ur+Qen:uren (R12)
 
#R13#
define QR Q -> r ;
       # amA+Qen:amA+ren:amaren (R13,R16)
 
##### A bukaera (bukaera markatuen kasuan)
 
#R14#
define A0 A -> 0 || _ MM BokalHuts ;
       # amA+en:amen (R14)
 
#R15#
define ABI0 %@ -> 0 || _ MM E ;
       # d@+En:d+En:den (R15,R21)
       # d@+Elako:d+Elako:delako (R15,R21)
 
#R16#
define AA A -> a ;
       # amA:ama (R16)
 
#R17#
define AA2 %@ -> a ;
       # d@:da (R17)
 
##### k:g
 
#R18#
define KG k -> g || N MM _ o .#. ; 
       #egiN+ko:egiN+go:egingo (R18,R24)
       #sal+tu+ko:salduko (R2)
 
#R19, hautazko erregela toki-izenetarako
define KG2 E k (->) g || AlboSud 1 MM _ o ; 
       #usurbil1+Eko:usurbil1+go:usurbilgo (R19, R20)
 
 
##### Leku-izenak (1 marka dute bukaeran)
 
#R20#
define BAT0 1 -> 0 ;
 
       #usurbil1+Eko:usurbileko (R19,R20)
       #irun1+Eko:irun1+go:irungo  (R19, R20)
       #orio1+Eko:orioko (R20,R22)
 
##### e epentetikoa
 
#R21#
define EE E -> e || [ Konts | E ] MM _ ;
       #zakuR+Eko:zakurr+Eko:zakurreko (R10,R21)
       #duE+Ela:duE+ela:duela (R21,R22)
       #ur+Etako:uretako (R21)
       #uR+Etako:urr+Etako:urretako (R10,R21)
 
#R22#
define E0 E -> 0 ;
       #ate+Etako:atetako (R22)
 
 
#####  n aukeran
 
#R23#
define N0 N -> 0 || _ MM t ;
       #egiN+te:egite (R23)
 
#R24#
define NN N -> n ;
       # egiN+ko:egiN+go:egingo (R18,R24)
 
 
##### Morfema-muga
 
#R25#
define PLUS %+ -> 0 ;
       #morfema-mugaren marka kentzen da bukaeran
 
 
##########################################
# Konposaketa
##########################################
 
# erregela sekuentzialak konposatu modu ordenatuan (ezkerretik eskuinera)
define RULES T0 .o. TD .o. BAIT .o. TDA .o. H0 .o. EI .o. R2 .o. RR .o. Q0 .o. QR .o. A0 .o. ABI0 .o. AA .o. AA2 .o.
KG .o. KG2 .o. BAT0 .o.  EE .o. E0 .o. N0 .o. NN .o. PLUS ;

Adibideak

Aurrekoa probatzeko, lexikoa eta erregelak fitxategi banatan jarri eta erregelen fitxategiaren bukaeran lerro hauek gehi daitezke:

# lexikoa barneratu
read lexc lex_eu.txt
define LEX
 
#morfologia konposatu (lexikoa eta erregelak)
define MORFO LEX .o. RULES ;
 
#memorian kargatu
regex MORFO ;
 
#probak egiteko up erabiliko da analisirako eta down sorkuntzarako
 
#diodan analizatzeko
foma[1]: up diodan
edun[ADL][A1][P3][P3][P1]+[Erlt][Nom][IZE]+[Abs][Mgb]
edun[ADL][A1][P3][P3][P1]+[Erlt]
 
#diodan sortzeko
foma[1]: down edun[ADL][A1][P3][P3][P1]+[Erlt]
diodan

Egungo egoera

lanaren aipamena nola egin...

Euskara Institutua, EHU, "Morfologia konputazionala", Sareko Euskal Gramatika (SEG), www.ehu.eus/seg
ISBN: 978-84-693-9891-3