2012. július 1.

Számítógépes nyelvészet 101: nyelvészet

Sorozatunkban eddig a számítógépes nyelvészet első felére helyzetük a hangsúly és áttekintettük milyen számítástudományi és matematikai előismeretekkel érdemes felvérteznünk magunkat. Most a nyelvészeten a sor, ezzel zárul is a 101, azaz a bevezetés. A következő részben már tényleg az jön amivel ez a blog is foglalkozik, a számítógépes nyelvészet.

Kimenet Kezdjük akkor ott, ahol szoktuk: milyen nyelvészeti ismereteket tudunk hasznosítani a számítógépes nyelvészetben és miben tér ez el a "hagyományos" nyelvészettől. A nyelvészet elméleti tudomány, a számítógépes nyelvészet sokkal inkább hasonlít a mérnöki munkához. Nem nagy elméleteket keresünk ugyanis, hanem adott problémák kell megoldanunk. Ami közös bennünk, az az hogy nyelvi adatokkal dolgozunk, és egy teamben azt várják el a magunkfajtától hogy ehhez nagyon, de nagyon ért. Van egy másik terület, amiben otthonosan kell mozognunk, ez pedig a nyelvi eszközök (tagger, chunker, stb.) kezelése és kiértékelése. Mivel ezek általában meghívhatóak egy könyvtár segítségével, sok programozó adottnak veszi használatukat, habár igazából annyira nem érti őket, csak azt látta hogy ha adott egy szöveges input, kap belőle pl. egy named entity recognition által megtaggelt outputot. De mennyire jó az input, milyen minőségű az output, mennyire felel meg céljainknak az eszköz? Ezek azok a "részletkérdések" amik ránk szoktak maradni.

Az alapok A nem éppen humán beállítottságúaknak nem könnyű megismerkedni a nyelvészettel. Habár nem kell nyelvésszé válni egy számítógépes nyelvésznek, nem triviális háttértudásra kell szert tennie. Ha nagyon idegen a téma, akkor érdemes az alapoktól elindulni. Ebben pár korábbi posztunk segít:
Korpusznyelvészet A legfontosabb amit a nyelvészettől tanulhatunk a korpusznyelvészet. Nyersanyagunk a nyelvi adat, azaz a korpusz. Az adatok kezelése és értelmezése, valamint elméleteink adatokon való tesztelése kulcsfontosságú. Aki nyelvészet felől érkezik a területre hamarosan tapasztalni fogja hogy tkp. ez az amiért a csoport tagja lehetett. A többieknek pedig illene felkötni a gatyát! A korpusznyelvészetet korábbi írásaink jól lefedik.
Szintaxis és csendben hozzátenném morfológia, de abból elég az "alapok"-ban ajánlott könyvek vonatkozó fejezeteit átnézni. Mivel sokszor használjuk a pos-tagger outputot valamilyen grammatikai parsinggal, nem árt megismerkedünk a szintaxis alapjaival. Sajnos gyakran még nyelvész hallgatók sem tanulják meg milyen egy dependencia grammatika, ill. milyen egyéb elméletek léteznek a tanszékükön propagált megközelítések mellett. Nyelvészeken kívül kevés olyan perverz alak akad, aki szintaxisra adná a fejét, ha mégis erre kényszerülünk van Valin könyvét vegyék kézbe.
Probabilisztikus nyelvészet Különösen hazánkban nagy divat nyelvészet alatt generatív nyelvészetet érteni. Történetileg a generatív irányzat teremtett kapcsolatot a számítástudomány, a matematika, a logika és a nyelvészet között, de mára már jelentősen veszített lendületéből ez az irányzat. Illik megismerkedni a kurrens kutatási irányzatokkal, melyek inspiratívak a számítógépes nyelvészek számára is. A Probabilistic Linguistics kötet remek áttekintését nyújta ennek.

Matematikai nyelvészet Ahhoz hogy formalizálni tudjuk a különféle elméleteket majd programba önthessük őket, meg kell ismerkednünk a matematikai nyelvészettel. Ezért (is) kell sokat foglalkoznunk matematikával. Kellő előismeretekkel Kornai András Mathematical Linguistics könyve segíthet ebben a legtöbbet.

Érdemes képben lenni a nyelvészet területén folyó főbb kutatásokkal, de teljesen követni mindent lehetetlen. A matematikai nyelvészet a legjobb kiindulópont erre, ha másra nem tudunk fókuszálni, erre szánjunk egy kis időt néha.

Nincsenek megjegyzések: