2010. május 12.

Minek nevezzelek? - számítógépes nyelvészet, természetes nyelvi feldolgozás, vagy mi?

Minek is nevezzük azt amikor nyelvi adatot bütykölünk a géppel? Vagy egy szép elméletet akarunk tesztelni valahogy egy programmal. Van köze a kettőnek egymáshoz? Mi a különbség a számítógépes nyelvészet és a természetes nyelvi feldolgozás között? Mit takarnak az angol elnevezések (computational linguistics, natural language processing, natural language engineering)?

Kezdjük a végén! Olyan hogy számítógépes nyelvészet nincs. Illetve van, mert mi annak hívjuk, de ha lefordítjuk az angol terminust, nem számítógépes nyelvészetet, hanem komputációs nyelvészetet kapunk. Hogy van-e ilyen szó a magyarban azt nem tudom, és szerintem nem árul el sokat a tudományról, talán ezért jobb is a számítógépes nyelvészet kifejezés. Nem tudom a "computational fluid dynamics " magyar fordításának elfogadnák-e a "számítógépes folyadék dinamika" fordulatot, de lehet ott sincs jobb. Ennek analógiájára nincs hazánkban olyan hogy computer science, van informatika, programozó, programtervező meg kiskutyafüle. Nálam okosabbak döntöttek így és átment a köztudatba, de szerintem ez baromság.

Dijkstra mondotta hogy a számítástudomány annyira szól a számítógépekről, mint az asztronómia a teleszkópokról. Szóval maradjunk annyiban jelenleg hogy számítógépes nyelvészeten (computational linguistics) valami olyasmit értünk ami a nyelvészetet próbálja komputációs keretben tálalni. Ez azt jelentené hogy alaptudománnyal állunk szemben. De ahogy a computer science terminussal illetett cuccok is gyakran gyakorlatiak ill. alkalmazott tudományok, így a vizsgált fogalom alá is be lehet suvasztani akár egy spell checkert is.

Akkor mi van a természetes nyelvi feldolgozással (natural language processing). Biztos jó oka van ennek a fordításnak is, de nekem ez sem teccik. Van olyan hogy signal processing ami jel feldolgozás. Aztán ott van a speech processing, az annyit tesz hogy beszéd feldolgozás. Nekem az a fixa ideám hogy natural language processing alatt a természetes nyelv feldolgozását értjük. Nem nyelvi feldolgozást, mert a nyelvi feldolgozás nekem valami olyan hogy egy MRI képet nézek és látom mi aktiválódott bizonyos ingerek feldolgozásakor (amikor persze mi az inger, nyelv, ezért a nyelvi rész dógozza fel, ergo nyelvi feldolgozás).

A terminológián túl ott van a hagyomány. Anno nyelvészek rácuppantak a gépekre és elnevezték magukat computational linguist-nek (amúgy LinkedIn-en terjed a computational zárójelezése a linguist előtt). Aztán mérnökök, computer scientistek rácuppantak az AI-n keresztül a nyelvi problémákra. Nekik a signal processing mintájára jött a natural language processing ugrott be mint cool név.

Végül pedig ott a nagy különbség, szabály vagy statisztika! A mérnök emberek kapták fel először, de már a nyelvészeket is megfertőzte a statisztikai megközelítés. De a mérnökök az nlp-re tettek, ami átcsúszott a cl területére. Hogy bonyolódjon a helyzet sokan, főleg a biznisz világában, a natural language engineering nevet vették fel (ez ugye jól hangzik a befektetőknek - nyelvészetre pénzt nem hiszem hogy adnának).

A lényeg? Tök mindegy hogy nevezed! Én azt vettem észre hogy nyelvészek, kognitív tudorok, és AI végzettek szeretik a cl-t használni, a többiek az nlp-re tesznek, HR-esek meg nle-t mondanak néha. De ez csak tendencia, a kifejezések felcserélhetőek szabadon.

Nincsenek megjegyzések: