4.2. Természetes nyelvek feldolgozása

A természetes nyelvek feldolgozása, végső célként az emberi nyelv által hordozott jelentés megértésével, kiemelten fontos az emberrel egyenrangú félként kommunikáló humanoid robotok kifejlesztéséhez. Természetesen egyértelmű az, hogy a nyelv jelentésének megértése a gépi intelligenciával azonos nehézségi szint.

A Természetes Nyelv Feldolgozás (Natural Language Processing, NLP) a számítástudomány egy területe, mely olyan számítógépek létrehozását tűzte ki célul, melyek inputként, vagy outputként természetes nyelvet használnak. A természetes nyelv kommunikációs eszközként való alkalmazása az ember igényeinek kiszolgálását jelenti, ugyanakkor nehéz feladatot ró a gépre. Különösen a bemeneti oldal, az emberi nyelv inputként való alkalmazása nehéz a beszélt nyelv sokszínűsége és a hordozott jelentés többszintűsége miatt. Míg a nyelv feldolgozása a nyelv megértését igényelné, addig a beszédgenerálás egy beparaméterezett egyirányú folyamat.

A természetes nyelv megértése azért nehéz a gép – és sokszor az ember – számára is, mert a beszéd témájához illeszkedő alapos háttértudást feltételez, továbbá a szavak egyszerű jelentése mögötti szándékolt közlendők, utalások megértését is kívánja. A Turing teszt óta tudjuk, hogy a természetes nyelv használata az igazi gépi intelligencia kritériuma.

Miközben a természetes nyelvek gépi feldolgozásának számtalan előnyös alkalmazási területe lehet, pl. egyszerű verbális információszolgáltató rendszerek, oktatórendszerek, addig a legfontosabb terület a robotkommunikáció, ezen belül is a humanoid robotok és ember közötti információátvitel. Megemlíthető itt még egy kapcsolódó terület, mely a nyelvfüggetlen nemverbális gondolati síkon való kapcsolatteremtést is jelenti, a gépi fordítás.

A beszélt nyelv megértéséhez vezető lépések a hangfeldolgozás által adott szövegalak és járulékos ingerek – hangszín, hangerő, ritmus, stb. és mimika, testbeszéd – által hordozott információk felhasználásával a szavak beszédbeli kategóriájának beazonosítása, majd a mondat szintaktikai szerkezetének figyelembevételével a mondat jelentésének meghatározása. Még közelebb jutunk a valóságos feladathoz, ha a beszédértés folyamatát egy tóvá duzzadó hegyi folyó formájában képzeljük el. A tóba ömlő patak a feldolgozóhoz eljutó beszéd szavainak, mondatainak, járulékos ingereinek folyama. Bár egy szó, különösen egy mondat önállóan is hordoz jelentést, a szituáció, szövegkörnyezet jelentéspontosító, jelentéstisztázó szerepe sok humorból jól ismert. A beszélő gyakorlatilag mindig egy szituációban van és abban hallja a mondatot. A szituációval kapcsolatos ismeretek jelentős részét tehetik ki a megelőzően hallottak. Továbbá kiemelten fontosak a korábbi életből rendelkezésre álló, a szituáció által felszínre hozott ismeretek, hitek, vélekedések. Mindezek a tóban összegyűlt víznek felelnek meg a hegyi tavas modellben. Természetesen ez a kontextus időben változik, nem csak a bejövő ingerek, hanem az elhalványulás, felejtés miatt is. Ezt a részét a tudatállapot változásnak a tóból kifolyó patak vize modellezi. A legfontosabb dolgok a tóban zajlanak, ahogy a vizek keverednek, kavarognak, pillanatról pillanatra változó tudatállapotokat mintázva.

A feladat nem könnyű, ezt már a szavak mondatbeli szerepének beazonosítása is jelzi: Ő szerezte a könyvet (Ő írta? – ő hozta?)

A kétértelmű kategóriák egyértelműsítésében, a többes jelentések közüli választásban fontos szerep hárul a kontextusra, szövegkörnyezetre, szituációra.

Sok szóelemző, morfoló alkalmazás kerüli el sikerrel az egyszerű toldaléklevágással való szótőkeresés buktatóit: eszik, esznek -> esz- ??, eszik. Evett -> eszik.

4.2.1. A mondat szintaktikai szerkezete

Az emberi beszédben kialakult szerkezetek gyakorisága szabállyá emelte a szerkezeteket. A sok kivétel azonban mutatja, hogy valójában a nyelvtani, lingvisztikai megközelítés a statisztikai nyelvészet tapasztalatainak idealizálása.

A gyakoriság törvényesíti a szerkezetet.

A mondat mondatrészeinek beazonosítását, a mondat szerkezetének ezekkel történő megadását parsingnak, mondatelemzésnek nevezzük. Ez a folyamat nagyon időigényes, a mondatelemek számától exponenciálisan függ, kivéve Earley algoritmusát, amely O(n3) időkomplexitású. Az ismert algoritmusok a Felülről-lefelé, az alulról felfelé haladó, és a táblázatos elemzés.

A szintaktika, azaz a mondat szavainak, szerkezetének beazonosítása a jelentés megragadásának legalsó szintje. A mondat nyers jelentését, a szemantikáját a szintaktikára építve, a szavak jelentését a toldalékok és a sorrend figyelembevételével kombinálva alakítjuk ki. Legalábbis a hagyományos elképzelés szerint, melyet a 4.6 pontban fogunk árnyalni.

A szemantikai elemzést támogathatjuk szemantikus szótárral. Egy ilyen adatbázis a szavakon kívül azok jelentése által meghatározott viszonyukat is tárolja, pl. a szinonímákat (óra, időmérő), a befoglaló osztálykategóriákat (a karóra az egyfajta óra). Ilyen módon egy szemantikus hálót realizál. Lásd pl. WordNet.

A természetes nyelvek megértése nehéz a benne rejlő kétértelműség miatt. Pl.:

Levette a körtét. - Négy lehetséges jelentés:

  1. Levette a polcról a gyümölcsöt.

  2. Levette a polcról az izzót.

  3. Lefényképezte a gyümölcsöt.

  4. Lefényképezte az izzót.

A természetes nyelvek feldolgozása során a következő tapasztalatok adódtak:

  • A természetes nyelvek formális elemzése túl nehéz és számításilag komplex, emiatt célszerű a teljes, korrekt megoldások elvetése és “közelítő” megoldások megcélzása olcsóbb, gyorsabb technikák alkalmazásával.

  • Az emberi elemzőmunka helyett, melyekkel nyelvészeti szabályok nyerhetők ki, célszerűbb számítógépekkel statisztikai adatok kinyerése a dokumentumokból (korpuszokból).

4.2.2. Beszédelem-címkézés

Egy egyszerű statisztikai módszer a beszédelem-címkézés. Lényege, hogy a dokumentumokból korpuszokból, melyek mondatainál a szófaji, beszédelem elemzést már elvégezték, n-szó láncok statisztikáit gyűjtik ki (n-gram) => beszédelem szekvenciák valószínűségei. Majd ezekre a statisztikákra alapozva egy adott címkézetlen mondat minden szavához a legvalószínűbb beszédelem címkét hozzárendelik, a megelőző szavak beszédelem címkéire alapozva, kezdve az első szón.

Népszerű módszerek:

  • Hidden Markov Model (HMM). A Hidden Markov Model egy irányított élekkel rendelkező állapotgráf, melynek állapotai a nyelvfeldolgozás esetén lexikai kategóriák, pl. főnév, vagy határozó. Az élek az állapotváltozás irányát és útját mutatják, és fontos, hogy az út használatának valószínűségével vannak ellátva. Az állapotokhoz is van valószínűségértéket adó függvény rendelve, amely azt határozza meg, milyen eséllyel bocsát ki az állapot elérésekor különféle szimbólumokat. Egy állapotba lépéskor egy szimbólumot bocsát ki. A nyelvfeldolgozás esetében a kibocsátott szimbólum egy szó az állapot által képviselt lexikai kategóriából, pl. egy főnév, pl. a ház, épület, barakk szavak egyike.

  • Transzformációs Szabályok

  • Változatos gépi tanuló, osztályozó algoritmusok, mint pl. a Maximum Likelihood, maximális valószínűség becslése. Ámbár nincs közvetlen módszer, hogy meghatározzuk egy nyelvi elem valószínűségét a jellemzői ismeretében, azonban használhatjuk a Bayes szabályt, hogy megbecsüljük a nyelvi elem osztályának valószínűségét az osztály jellemzőiből. Ezen a módszeren alapszik a maximális valószínűség osztályozó amely egy ismeretlen vektort rendel ahhoz az osztályhoz amely valószínűségi sűrűségfüggvénye maximális értékű. A módszer alternatívája a klaszterezés. A valószínűségi sűrűségfüggvény egy kellően nagyszámú betanítóhalmazt tételez fel.

4.2.3. Valószínűségi mondatelemzés

Lényege, hogy a korábbi statisztikai felmérések során nagyobb előfordulást mutató elemző fagráfot rendeljük a mondathoz. Még jobb megoldás a szövegkörnyezet felhasználása, a ’hegyi tó’ által tartalmazott szituációjellemzőkkel való összevetés.

4.2.4. Részleges elemzés

Lényege, hogy nem teljes mondatokat, hanem csak jellegzetes szófordulatokat elemzünk, adjuk meg hozzá az elemzőgráfot. A második lépésben a beazonosított szófordulat-szerkezetek egyesítése következik. A gyakorlati kivitelben a szófordulatok véges automatái egybe vannak fűzve.

4.2.5. Szemantikus elemzés

A természetes nyelvi mondatok többértelműek, főként amiatt, hogy a szavak több jelentéssel is bírnak.

  • pl. a "körte" (főnév) két jelentése:

    1. gyümölcs fajta

    2. izzólámpa

  • Melyik értelemben kell használni?

    1. “A körte rothadásnak indult.”

    2. “Kiégett a körte.”

Ez emberek számára könnyű, de nem a számítógép számára. A szó megfelelő jelentésének kiválasztása a mondatban történhet egy betanító korpusz segítségével, mely meg van címkézve a megfelelő jelentésekkel, és az ebből kinyert n-szó szekvencia statisztikákat használjuk fel.