Erabiltzaile Tresnak


hizk:1:1

Hizkuntza teknologiak

Hizkuntza Teknologiak funtsezkoak dira Informazio eta Komunikazioaren Gizartean. Horren erakusgarri dira: Language Technologie world eta LangTech.

Alderdi teorikoa eta teknologikoa kontuan harturik, hizkuntzaren teknologiaz hitz egiten denean, honako termino hauek azaltzen zaizkigu: Ingeniaritza linguistikoa, Hizkuntzalaritza Konputazionala eta Lengoaia Naturalaren Prozesamendua. Esan dezagun, hala ere, gure asmoa hurbilpen horiek bereiztea bada ere, askotan, arlo horietan ibiltzen direnek ere zenbait testuingurutan bata zein bestea sinonimo gisa erabiltzen dituztela. Kontzeptu horien arteko mugak lausoak dira. Beraz guk emango ditugun ñabardurak modu malguan hartu behar dira.

Bestalde, termino horien barruan, lantzen denari erreparatuz gero, denek dute helburu nagusi bera: ordenagailuaz baliatuz hizkuntza tratatzea. Kontua da, hizkuntza tratatzerakoan nagusitzen den ikusmoldearen arabera desberdintzen direla:

  • Ingeniaritza linguistikoa (IL)/( Language Engineering, LE). Hizkuntzari buruzko ezagutza batez ere aplikazioetara eta produktu komertzialetara zuzenduta dago. Hizkuntza ezagutzeko, ulertzeko, interpretatzeko eta sortzeko gai diren sistema informatikoak garatzea du jomuga. Honi hizkuntza-teknologia ere (Human Language Technology, HLT) esaten zaio.
  • Hizkuntzalaritza Konputazionala (HK)/( Computational Linguistics, CL). Ikuspegi abstraktuago batetik ekiten dio hizkuntzaren modelizazioari ordenagailuek hizkuntza uler dezaten. Hau da, hizkuntza formalizatzen dute ordenagailuek ulertu ahal izateko moduan.
  • Lengoaia Naturalaren Prozesamendua (LNP)/( Natural Language Processing, NLP). Hizkuntzaren tratamendu automatikoaren inguruko ikerrarloari Lengoaia Naturalaren Prozesamendua (LNP) esaten zaio, eta, batez ere, erabiliko diren teknika informatikoei erreparatzen die: ezagutza linguistikoa nola adierazi konputagailuan, nola erabili ezagutza hori (algoritmoak, estrategiak, inferentziak sortzeko metodoak, etab.), nola uztartu programetan ezagutza linguistikoa eta hizketa-gaiari dagokion ezagutza, nola banatu tratamendu linguistiko osoa modulu sinpleago eta independentetan horietako bakoitza egingarriagoa izan dadin…

Bereizi behar izatekotan zer bereizi beharko litzatekeen irudikatu dugu, eta ez hitz horien aipamen guztiak modu ziurrean bereizteko araua.

Hizkuntzalaritza Konputazionala terminoa erabiliko dugu, gure ustez hauxe baita Hizkuntzari eta Teknologiari, biei, garrantzi bera emanez, uztartze-lana egokien adierazten duena. Ordenagailuak hizkuntza uler dezan beharrezkoa duen informazioa formalizatzea da bilatzen dena.

Beste termino bat ere aipatu beharra dago: Hizkuntzalaritza informatikoa. Hizkuntza aztertzen laguntzeko programak egiten dira (hitzen maiztasunak, agerkidetasun-programak…), baina ez da hizkuntzaren prozesamendua egiten.

Bestalde, hizkuntzaren tratamendu automatikoaren barruan badira beste bi kontzeptu, bereizi izan direnak: hizkuntza idatziaren eta hizkuntza mintzatuaren tratamenduak. Azken horren azterketa konputazionalari erreferentzia egiteko Hizketaren Tratamendua terminoa erabili ohi da. Horregatik, hizkuntzaren tratamendua terminoa, arrunki, hizkuntza idatzizkoarekin lotu ohi da. Bereizketa hori gertatu izan da urtetan arlo diferenteak izan direlako, problematika eta metodologia oso bestelakoak erabili dituztelako. Baina mende bukaeratik aurrera atal bi horiek gero eta modu koordinatuagoan lantzen ari dira. Egun, askoz harreman handiagoa dago hizketa eta testua aztertzen dituzten ikertzaileen artean, lehen hain bereizita lan egiten zuten ikerketa-komunitateek elkarren beharra nabaritu baitute.

Hizkuntza prozesatzeko erronkak

Hizkuntza naturalaren tratamendu konputazional osoa ezinezkoa da, hizkuntza etengabe aldatzen ari baita eta erabilera mugaezinak sortzen baititu. Atal honetan konplexutasun hori sortzen duten arazo edo erronka nagusiak azaltzen saiatuko gara: anbiguotasuna eta tratamendu independentea onartzen ez duten ezagutza mota asko denak batera aldi berean erabili beharra.

Anbiguotasuna

Anbiguotasuna hizkuntzaren berezko ezaugarrietako bat da, eta asko idatzi da berori buruz, bai LNPan bai Hizkuntzalaritza Orokorrean, arazoa ikuspuntu diferenteetatik planteatuz. Izan ere, oso eremu zabala da eta mota askotako alterazio linguistikoak egon daitezke.

Tratamendu automatikoari begira, gai hauxe bera da arazo gehien sortzen dituena: hitz batek adiera bat baino gehiago izan ditzake; batzuk gainera kategoria morfologiko desberdinekoak dira; esaldi batek analisi sintaktiko bat baino gehiago onar ditzake; egoeraren arabera esaldi berak esangura desberdinak eskain ditzake… Guk, gizakiok, gehienetan, egoeraren arabera ondo dakigu une bakoitzean adiera, kategoria eta analisi egokiak aukeratzen. Baina konputagailua orotariko informazioaz (lexikala, morfosintaktikoa, semantikoa nahiz pragmatikoa) hornitzerakoan eta guztiak konbinatuz prozesatzerakoan, askotan pentsatu ezinezko emaitzak sortzen dira, gizakioi burutik ere pasatzen ez zaizkigunak. Eta hori ebazteko lana ez da batere samurra.

Hortaz, Hizkuntzalaritza Konputazionalean maila guztietako anbiguotasunari erantzun behar zaio: lexiko-morfologikotik hasi pragmatikoraino; horren ondorioz, hizkuntzalaritza konputazionalaren arloan hizkuntza maila guztietako azterketek garrantzia handia dute. Hizkuntzalaritza orokorrean, ordea, anbiguotasunaren arazoa sintaxitik aurrera aztertu ohi da gehienbat.

Jakina, anbiguotasunarekin batera desanbiguazioaren beharra dator; hots, hainbat aukeratatik testuinguruari dagokiona hautatzea. Horretarako, baliabide eta tresna linguistikoak erabiltzen dira (gramatika konputazionalak, analizatzaile automatikoak…) eta horiek aplikatuta testu batean lortzen den estaldura eta doitasuna neurtzen dira.

Tratamendu independentea onartzen ez duten ezagutzak tratatu beharra

Arestian aipatutako arazoari aurre egiteko, banatze-estrategia aplikatu ohi da. Estrategia horren arabera, problema handi bat hainbat azpiproblema independentetan banatzen da, ebazteko errazagoak direlakoan. Azpiproblemetarako lortuko diren ebazpenak, geroago, era egokian konbinatuko beharko dira problema osoaren ebazpena lortzeko. Estrategia hori oso lagungarria izaten da, baina aplikagaitza izaten da hizkuntzaren tratamendu automatikoan, erabili behar diren ezagutza motek elkarren artean mendekotasun handia izaten dutelako, hau da, azpiproblema independenteak bereiztea oso zaila delako.

Informatikako programazio-lengoaia bateko agindu bat analizatzen badugu, eta agindu horretan osagai bat bere kategoriako beste osagai batekin ordezten badugu, bere analisiaren emaitza berdina da; nahikoa da osagaia ordeztea. Baina hori ez da gertatzen hizkuntza tratatzerakoan. Esaldi bateko hitz bat aldatuz gero, esaldi berriaren analisia ez da beti esaldi zaharraren egitura berekoa. Hitz bat aldatuta esaldi osoaren egitura alda daiteke batzuetan. Adibidez, beheko (1) eta (2) esaldiak oso antzekoak dira; izen bat bakarrik aldatzen da batetik bestera:

  1. Gizon bat ikusi dut egunkari batekin
  2. Gizon bat ikusi dut teleskopio batekin

(1) adibidean inori ez zaio bururatzen “nik egunkaria erabili dudala gizona ikusteko”, baizik eta “gizonak egunkaria duela eta nik horrela ikusi dudala”; (2) adibidean, aldiz, bi egitura eta esanahi bururatzen zaizkigu: “gizonak teleskopioa zeramala ikusi dudala” -(1) adibideko bera- edo “nik gizona teleskopioaren bidez ikusi dudala”.

Nola egin alde batetik, interpretazio horiek lortzeko eta bestetik, bakoitzari dagokiona erabakitzeko? Teleskopioa, ikusteko tresna izan daiteke; egunkaria, berriz, ez. Ordenagailuak informazio hori izango balu, gai izango litzateke egitura sintaktiko bakarraren alde egiteko (baina hori, gainera, bakarrik “ikusi” eta “egunkariarekin” batera daudenean; beste edozein esalditan ez dakigu). Bestalde, testuingurua zein den jakin behar da, hots, zein egoeratan ekoizten den esaldia. Esaterako, (2) adibiderako, pentsa genezake behatoki astronomiko batean gaudela, eta hortaz oso normala litzateke gizon bat teleskopio bat eskuetan duela ikustea.

Hau da, balizko interpretazioak lortzeko eta dagokiona aukeratzeko ezagutza lexikala (teleskopio eta egunkari hitzak), ezagutza sintaktikoa eta semantikoa (teleskopioa, ikusteko tresna da eta beraz ikusi aditzari lotuta azter daiteke; egunkaria ez) eta testuinguruari buruzkoa (zein egoeratan esan den) behar ditugu. Berez, ezagutza mota horiek guztiak batera erabili behar ditugu hizkuntzaren tratamendu automatiko egokia egiteko; baina ezinbestean pausuka joan behar dugu informazio hori guztia oraindik aztertu gabe dagoelako (bai LNPan bai Hizkuntzalaritza Orokorrean).

LNPko sistema batean landu behar diren ezagutza motak

LNPko sistema batek hizkuntzaren tratamendu osoa egin behar badu, honako ezagutza mota hauek erabili beharko ditu:

  • Fonetikoa eta fonologikoa. Hitzak nola ahoskatu behar diren zehazten dute eta letra bakoitzari zein fonema dagokion. Hizketaren tratamenduaz aritzerakoan, bi sistema nagusi garatzen dira: hizketaren ezagumendua edo analisia (Speech Recognition, SR), eta sintesia edo sorkuntza.
  • Lexikala. Hizkuntzan erabil daitezkeen morfemak zehazten dira hemen (lemak, aurrizkiak, artizkiak eta atzizkiak), eta bakoitzarentzat bere hizkuntza-ezaugarriak zehazten dira.
  • Morfologikoa. Hitzen osaketa definitzen da morfemak erabiliz. Zein morfema-kate dira posible eta zeintzuk ez? Morfema pare bat biltzen direnean letrarik galtzen da? edo gehitu behar da? edo aldatu? Aplikazio batzuetan ez da beharrezkoa, adibidez, ingeleserako askotan ez da kontuan hartua izaten (hala ere, bada bestela pentsatzen duenik ere). Baina, morfologia aberatsa duten hizkuntzen prozesamenduan (hizkuntza eranskariak eta hizkuntza flexiboak) oso garrantzitsua da, esate baterako, euskara, suomiera, etab.
  • Sintaktikoa. Perpausen eta esaldien egitura ezagutzeaz arduratzen da, hau da, egitura bakoitzeko elementuak nola elkartzen diren azertzen da. Hitzen arteko harremanak definitzen dira hemen, haien kategoria sintaktikoen arabera.
  • Semantikoa. Hitzen esanahia lortu eta hitzen esanahietatik abiatuz, beraiek osatzen duten esaldiaren esanahia lortzen da.
  • Testuinguruari dagokiona. Pragmatika gisa ezagutzen dena. Berez linguistikoa ez den, eta igorpen linguistikoen prozesamenduan eta interpretazioan eragina duten informazioez arduratzen da. Bi atal bereiz daitezke:
    • Diskurtsoaren ezagutza. Hizkuntza erabiliz komunikatzeko gizakioi suposatzen zaigun ezagutza da. Lehenago igorri diren esaldien interpretazioak kontuan hartzen dira izenorde, elipsi eta denbora-aspektuak egoki ulertu ahal izateko. Hizketako parte-hartzaile bakoitzak besteek dakitenari buruz edo nahi dutenari buruz suposatzen duena ere jakin behar da, elkarrizketa bat konputagailu bidez eraman ahal izateko.
    • Munduaren gaineko ezagutza. Hizkuntza bateko hiztunek elkarren artean komunikatzerakoan, munduari buruz duten ezagutza kontzeptual guztia hartu behar da kontuan, alegia, mintzagaiari berari buruz jakin behar dena. Horrelako ezagutzak esaldietan esplizituki adierazten ez den eta bistan den informazioa ulertzeko balio du.

Esan behar da, hala ere, fonetika/fonologiaren alorrak ez ditugula garatuko. Esan bezala, guk momentuz idatzizkoa hartzen dugu langai; izatez, hizketaren tratamenduan beste ikertalde batzuk ari dira lanean: Aholab, esate baterako.

Ondoren osagarri izan daitezkeen zenbait iturri aipatuko ditugu:

Jurasky NLP: Computational Linguistics Introduction on-line.

Ezagutza hauek lantzeko moduak

Hiru modu daude ezagutza hauek lantzeko: erregeletan oinarritutakoak, sistema enpirikoak (Ikasketa automatikoa, data meaning, urre-patroi…) eta hibridoak.

Hizkuntza-teknologiako produktuak

Hizkuntza-teknologiako produktuetan aplikagarritasun maila hauek bereizten ditugu:

  • Aplikazioak. Erabiltzaile arruntarentzat salgai edo erabilgarri diren programak.
  • Tresnak. Hizkuntza-teknologiako ekoizleentzat bakarrik interesgarriak direnak, produktu berriak garatzeko baliagarriak.
  • Baliabideak. Ikerketarako edota edozein aplikazio edo tresna garatzeko behar-beharrezkoak diren oinarri linguistikoak.

Tamalez ez dago Interneten gune bakarra hizkuntzaren prozesamendurako produktu guztien berri biltzen duenik. Hala ere, arloka edo aplikazioaren arabera antolatuta indarrean dauden hainbat produktu honako gune hauetan aurki daitezke:


— Egileak: Izaskun Aldezabal Jose Mari ArriolaArantza Diaz de Ilarraza Kepa Sarasola

Erreferentziak

  • Jurafsky D., Martin J. H. Speech and Language Processing (2nd Edition). An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition. Prentice Hall, 2008
  • Steeven Bird, Ewan Klein and Edward Loper Natural Language Processing in Python[Online; 2011ko otsailaren 18an atzitua]
  • Manning C. and Schütze H. Foundations of Statistical Natural Language Processing MIT Press. Cambridge, MA: May 1999. nlp.stanford.edu/fsnlp/[Online; 2011ko otsailaren 18an atzitua]
  • Aldezabal I., Arriola J., Díaz de Ilarraza A., Sarasola K. Hizkuntzalaritza Konputazionala. Udako Euskal Unibertsitatea, Bilbo 2005. HIZTEK saila.
  • Astigarraga Aitzol, Koldo Gojenola , Kepa Sarasola , Aitor Soroa Testu-analisirako PERL erremintak ISBN: 978-84-8438-233-1,Udako Euskal Unibertsitatea (UEU). Bilbo.
  • Alegria I., Urkia M. “Morfologia Konputazionala. Euskararen morfologiaren deskribapena” Hizkuntza tekteknologia(Hiztek) graduondokoa UEU, Bilbo 2002

Gaian sakonduz

Artikulu honetan erabiltzen diren oinarrizko kontzeptuetako batzuen informazioa jasoko dugu hemen:

Algoritmo

Anbiguotasun

Anbiguotasuna hizkuntzaren berezko ezaugarrietako bat da, eta asko idatzi da berori buruz, bai LNPan bai Hizkuntzalaritza Orokorrean, arazoa ikuspuntu diferenteetatik planteatuz. Izan ere, oso eremu zabala da eta mota askotako alterazio linguistikoak egon daitezke.

Tratamendu automatikoari begira, gai hauxe bera da arazo gehien sortzen dituena: hitz batek adiera bat baino gehiago izan ditzake; batzuk gainera kategoria morfologiko desberdinekoak dira; esaldi batek analisi sintaktiko bat baino gehiago onar ditzake; egoeraren arabera esaldi berak esangura desberdinak eskain ditzake… Guk, gizakiok, gehienetan, egoeraren arabera ondo dakigu une bakoitzean adiera, kategoria eta analisi egokiak aukeratzen. Baina konputagailua orotariko informazioaz (lexikala, morfosintaktikoa, semantikoa nahiz pragmatikoa) hornitzerakoan eta guztiak konbinatuz prozesatzerakoan, askotan pentsatu ezinezko emaitzak sortzen dira, gizakioi burutik ere pasatzen ez zaizkigunak. Eta hori ebazteko lana ez da bat ere samurra.

Hortaz, Hizkuntzalaritza Konputazionalean maila guztietako anbiguotasunari erantzun behar zaio: morfologikotik hasi pragmatikoraino; horren ondorioz, hizkuntzalaritza konputazionalaren arloan hizkuntza maila guztietako azterketek garrantzia handia dute. Hizkuntzalaritza orokorrean, ordea, anbiguotasunaren arazoa sintaxitik aurrera aztertu ohi da gehienbat.

Tratamendu independentea onartzen ez duten ezagutzak tratatu beharra Arestian aipatutako arazoari aurre egiteko, banatze-estrategia aplikatu ohi da. Estrategia horren arabera, problema handia hainbat azpiproblema independentetan banatzen dugu, ebazteko errazagoak direlakoan. Azpiproblemetarako lortuko ditugun ebazpenak, geroago, era egokian konbinatuko beharko ditugu problema osoaren ebazpena lortzeko. Estrategia hori oso lagungarria izaten da, baina aplikagaitza izaten da hizkuntzaren tratamendu automatikoan, erabili behar diren ezagutza motek elkarren artean mendekotasun handia izaten dutelako, hau da, azpiproblema independenteak bereiztea oso zaila delako.

Informatikako programazio-lengoaia bateko agindu bat analizatzen badugu, eta agindu horretan osagai bat bere kategoriako beste osagai batekin ordezten badugu, bere analisiaren emaitza berdina da; nahikoa da osagaia ordeztea. Baina hori ez da gertatzen hizkuntza tratatzerakoan. Esaldi bateko hitz bat aldatuz gero, esaldi berriaren analisia ez da beti esaldi zaharraren egitura berekoa. Hitz bat aldatuta esaldi osoaren egitura alda daiteke batzuetan. Adibidez, beheko (1) eta (2) esaldiak oso antzekoak dira; izen bat bakarrik aldatzen da batetik bestera:

  1. Gizon bat ikusi dut egunkari batekin
  2. Gizon bat ikusi dut teleskopio batekin

Ordea, (1) adibidean inori ez zaio bururatzen “nik egunkaria erabili dudala gizona ikusteko”, baizik eta “gizonak egunkaria duela eta nik horrela ikusi dudala”; (2) adibidean, aldiz, bi egitura eta esanahi bururatzen zaizkigu: “gizonak teleskopioa zeramala ikusi dudala” ((1) adibideko bera) edo “nik gizona teleskopioaren bidez ikusi dudala”.

Nola egin alde batetik, interpretazio horiek lortzeko eta bestetik, bakoitzari dagokiona erabakitzeko? Teleskopioa, ikusteko tresna izan daiteke; egunkaria, berriz, ez. Ordenagailuak informazio hori izango balu, gai izango litzateke egitura sintaktiko bakarraren alde egiteko (baina hori, gainera, bakarrik “ikusi” eta “egunkariarekin” batera daudenean; beste edozein esalditan ez dakigu). Bestalde, testuingurua zein den jakin behar da, hots, zein egoeratan ekoizten den esaldia. Esaterako, (2) adibiderako, pentsa genezake behatoki astronomiko batean gaudela, eta hortaz oso normala litzateke gizon bat teleskopio bat eskuetan duela ikustea.

Hau da, balizko interpretazioak lortzeko eta dagokiona aukeratzeko ezagutza lexikala (teleskopio eta egunkari hitzak), ezagutza sintaktikoa eta semantikoa (teleskopioa, ikusteko tresna da eta beraz ikusi aditzari lotuta azter daiteke; egunkaria ez) eta testuinguruari buruzkoa (zein egoeratan esan den) behar ditugu. Berez, ezagutza mota horiek guztiak batera erabili behar ditugu hizkuntzaren tratamendu automatiko egokia egiteko; baina ezinbestean pausuka joan behar dugu informazio hori guztia oraindik aztertu gabe dagoelako (bai LNPan bai Hizkuntzalaritza Orokorrean).

Anbiguotasun morfologikoa

Aplikazioak

Hizketaren tratamendua

Hizkuntzalaritza informatikoa

Hizkuntzalaritza konputazionala

(HK)/(Computational Linguistics, CL). Ikuspegi abstraktuago batetik ekiten dio hizkuntzaren modelizazioari ordenagailuek hizkuntza uler dezaten. Hau da, hizkuntza formalizatzen dute ordenagailuek ulertu ahal izateko moduan.

Hizkuntza Teknologiak

Ikasketa Automatikoa

Alde praktikotik ikusita, esan daiteke ezagutza modu automatikoan eskuratzea dela, makinaren bidez ikastea, alegia.

Ingeniaritza Linguistikoa

(IL)/(Language Engineering, LE). Hizkuntzari buruzko ezagutza batez ere aplikazioetara eta produktu komertzialetara zuzenduta dago. Hizkuntza ezagutzeko, ulertzeko, interpretatzeko eta sortzeko gai diren sistema informatikoak garatzea du jomuga. Honi hizkuntza-teknologia ere (Human Language Technology, HLT) esaten zaio

Lengoaia Naturalaren Prozesamendua

(LNP)/(Natural Language Processing, NLP). Hizkuntzaren tratamendu automatikoaren inguruko ikerrarloari Lengoaia Naturalaren Prozesamendua (LNP) esaten zaio, eta, batez ere, erabiliko diren teknika informatikoei erreparatzen die: ezagutza linguistikoa nola adierazi konputagailuan, nola erabili ezagutza hori (algoritmoak, estrategiak, inferentziak sortzeko metodoak, etab.), nola uztartu programetan ezagutza linguistikoa eta hizketa-gaiari dagokion ezagutza, nola banatu tratamendu linguistiko osoa modulu sinpleago eta independentetan horietako bakoitza egingarriagoa izan dadin…

modelizazio

produktuak

tresnak

baliabideak

erregeletan oinarritutako tratamendua

urre-patroi

desanbiguazio

estaldura

doitasun

lanaren aipamena nola egin...

Izaskun Aldezabal Jose Mari ArriolaArantza Diaz de Ilarraza Kepa Sarasola, "Hizkuntza teknologiak", Sareko Euskal Gramatika (SEG), www.ehu.eus/seg
ISBN: 978-84-693-9891-3