Miskolci Egyetem Általános Informatikai Tanszék
Fogalomháló felépítő keretrendszer TDK dolgozat
Készítette: Kiss Attila 2010
Konzulens: Dr. Kovács László Általános Informatikai Tanszék
Fogalomháló felépítő keretrendszer
Tartalomjegyzék
Tartalomjegyzék ................................................................................................................................. 2 Bevezetés ........................................................................................................................................... 4 Feladat ................................................................................................................................................ 5 Célok ............................................................................................................................................... 5 Szoftverkörnyezet .......................................................................................................................... 6 Használati eset diagram ................................................................................................................. 6 Továbbfejlesztési lehetőségek ....................................................................................................... 7 Az ECG modell .................................................................................................................................... 8 Predikátum ..................................................................................................................................... 8 Fogalom .......................................................................................................................................... 8 Szerepkör........................................................................................................................................ 9 Sorrendiség .................................................................................................................................... 9 Ragozás........................................................................................................................................... 9 Predikátum gráfok ............................................................................................................................ 10 Jelentésük..................................................................................................................................... 10 Sémák ........................................................................................................................................... 11 Elemei ........................................................................................................................................... 11 Center ....................................................................................................................................... 12 Node ......................................................................................................................................... 12 Nodegroup ............................................................................................................................... 12 Belső gráf .................................................................................................................................. 13 Szerep ....................................................................................................................................... 13 Ragozás..................................................................................................................................... 13 Sorrendiség............................................................................................................................... 14 2
Fogalomháló felépítő keretrendszer Összekapcsolás ............................................................................................................................. 14 Objektum felismerés ........................................................................................................................ 15 Objektumhalmaz .......................................................................................................................... 15 Konvertálás................................................................................................................................... 16 Alatt–felett ............................................................................................................................... 16 Mellett ...................................................................................................................................... 16 Metszés .................................................................................................................................... 16 Kisebb-nagyobb ........................................................................................................................ 16 Tartalmazás („benne van”)....................................................................................................... 16 Fókusz ........................................................................................................................................... 17 Eredmény gráfok .......................................................................................................................... 17 Természetes nyelvi kimenet ............................................................................................................. 18 Konvertálás................................................................................................................................... 18 Működési példa ................................................................................................................................ 20 Végszó .............................................................................................................................................. 26 Képek és ábrák jegyzéke .................................................................................................................. 27
3
Fogalomháló felépítő keretrendszer
Bevezetés
Ennek a dolgozatnak a témája egy intelligens ágens, és a hozzá tartozó keretrendszer létrehozása, amely a környezetében lévő objektumokat és a köztük lévő kapcsolatokat felismeri, ECG (Extended Conceptual Graph) sémára alakítja, és a létrehozott gráfokból képes természetes nyelvi mondatokat képezni. A felismerendő környezet jelenleg egy egyszerűen felismerhető, és kevés objektum és kapcsolattípust tartalmazó mikrokörnyezet, de az elkészülő alkalmazást úgy kell megtervezni, hogy bármilyen környezethez alkalmazható legyen. Az objektumfelismerés végeredményei az ECG sémát megvalósító gráfok, fogalmak, és egyéb adatok. Ezek az adatok teljességgel lefedik a mikrokörnyezetben fellelhető objektum-kapcsolatokat, és olyan grafikus fogalmi hálóban tárolja őket, amely felépítésével
egy
egyszerűen
használható
bemeneteként
szolgálhat
egy
természetes nyelvi interfésznek. Az
alkalmazás
feladata
tehát
kettős:
egyrészt
felvázolni
az
objektum-
kapcsolatokat egy grafikus, és szabad szemmel is jól értelmezhető gráf alakban, amely a környezet bizonyos szintű felismerését, megértését jelenti az ágens számára. A másik feladat a természetes nyelvi kimenet, amely adott nyelven képes megjeleníteni a korábban létrehozott objektum-kapcsolatokat leíró gráfokat.
4
Fogalomháló felépítő keretrendszer
Feladat
A feladat lényegében a korábban említett pontokat teljesítő alkalmazás létrehozása. Az alkalmazás egyik fontos jellemzője az, hogy a bemenet, tehát a mikrokörnyezet, és a kimenet, a természetes nyelvek megváltoztatásához rugalmas módon alkalmazkodni tudjon, a lehető legkevesebb programozói munkával. A bemenetnek az alkalmazás számára feldolgozható formában kell lennie, hiszen a projektnek nem célja egy komplett kép/hang/környezet felismerő algoritmus
létrehozása,
csupán
egy
ilyen
algoritmus
végeredményének
feldolgozása. A kimenet rugalmas módosíthatósága miatt jelenleg nem célom egynél több nyelv implementálása. Az érthetőség kedvéért ez a magyar nyelv lesz.
Célok
A feladat célja egy intelligens ágens létrehozása, amely későbbi bővítések során akár a hétköznapi életben is hasznos működéssel is felruházható. A felhasználást nagyban meghatározza a feldolgozott környezet. Egyik érdekes felhasználási terület lehet az, ha a bemenet egy fénykép, vagy videó. Megfelelő képfelismerő szoftverrel csatolva az alkalmazás képes állításokat alkotni a kapott képből, azaz természetes nyelven képes képet elemezni. Másik érdekes felhasználási terület lehet az, ha a bemenete egy természetes nyelvű mondat. A mondat értelmezése, és a predikátum gráf létrehozása után az alkalmazás képes egy új mondatot létrehozni, amely akár más nyelvű is lehet, így a program fordítóként is alkalmazható.
5
Fogalomháló felépítő keretrendszer
Szoftverkörnyezet Az alkalmazás programozási nyelve a projekt elindulásakor Java volt, de a projekt fontos részét jelentő megjelenítés nehézségei miatt végül C# nyelvre lett konvertálva. Az alkalmazás így elvesztette a hordozhatóságának egy részét, ennek
kompenzálására
az
elkészült
projekt
egy
könnyen
átlátható
és
feldolgozható XML formátumú fájlba lementhető, valamint ha szükséges, a lementett állapot visszatölthető.
Használati eset diagram Az 1. ábrán látható diagram megmutatja a felhasználó által elérhető legfontosabb használati lehetőségeket, elvégezhető műveleteket.
Modell szerkesztés
Nyelvek
Sorrend megváltoztatása
Fogalmak
Fogalom beszúrás
Ragok
Gráfok
Szerep módosítás
Származtatás
Összekapcsolás
Mondat alkotás
Fogalom módosítása
1. ábra
6
Fogalomháló felépítő keretrendszer
Továbbfejlesztési lehetőségek
Az alkalmazás továbbfejlesztése több irányban is megvalósítható anélkül, hogy a tényleges funkcionalitását bővítenénk. Ennek legegyszerűbb módja a bemenetek és kimenetek bővítése, vagy a felismert objektum-kapcsolatok bővítése. Az alkalmazás könnyen átalakítható úgy, hogy más eszközökkel együtt működjön, és tetszőleges környezetben végezze a feladatát. Szükség esetén a természetes nyelvű mondat alkotó komponens fejlesztésével bonyolultabb állításokra is felkészíthető a rendszer.
7
Fogalomháló felépítő keretrendszer
Az ECG modell
Az ECG (Extended Conceptual Graph) egy grafikus fogalmi modellező nyelv, amely megpróbálja a lehető legjobban kifejezni a természetes nyelvi sémákat. A modell többféle elemből épül fel, amelyek közösen egy predikátum gráfot alkotnak. A dokumentum témájául szolgáló alkalmazás képes ezeket az elemeket létrehozni, módosítani, és belőlük megfelelő gráfokat alkotni akár manuálisan, akár a mikrokörnyezet elemzésével automatikusan. A modell alapja a predikátum gráf. Egy ilyen gráf egy önálló nyelvi jelentéssel bíró elemet, egy állítást ír le a benne szereplő fogalmakkal és a hozzájuk tartozó metaadatokkal. A gráfot felépítő elemtípusok: -
fogalmak
-
szerepkörök
-
sorrendiség
-
ragozások
Ezek az elemek általában egy nyelvtanhoz kötöttek, de lehetnek absztraktak, nyelv-függetlenek is.
Predikátum A predikátum, avagy állítás a gráf magja. Ez az a csúcspont, amelyhez az összes többi csatlakozik, ez áll a gráf középpontjában. Minden gráf csak egyet tartalmaz belőle.
Fogalom A fogalmak a gráf csúcspontjait adják. Lehetnek absztrakt fogalmak, és nyelvhez kötöttek is: ezek tényleges szavak. A fogalmak között absztraktsági szintek alapján egy hálót alkothatunk, melyben egy fogalomnak több, nála absztraktabb 8
Fogalomháló felépítő keretrendszer
őse is lehet, az egyszerűbb kezelhetőség miatt viszont ezt a hálót egy fastruktúraként
kezeljük,
a
többszörös
öröklődéseket
a
fogalompéldányok
duplikálásával oldva meg. Tárigény szempontjából költséges megoldás, de a modell használhatóságát ez javítja. A fa gyökere egy WORLD elnevezésű absztrakt fogalom, amely a világ bármely fogalmát helyettesítheti. Olyan helyeken, ahol előre nem tisztázott, hogy milyen fogalmat szeretnénk használni, a WORLD fogalom mindig megfelelő.
Szerepkör A szerepkör a fogalmak szerepét jelöli a gráfban. A grafikus megvalósításban a gráf azon élei, amelyek fogalmakat kötnek össze a predikátummal, azok a szerepkörök. Minden fogalompéldányhoz tartozik egy, és csakis egy szerepkör. Ha
egy
predikátum
gráfban
egy
fogalom
többször
is
szerepel,
akkor
természetesen a különböző példányokhoz tartozhat különböző szerepkör is. A szerepkör határozza meg, hogy a gráf által leírt állításban az adott fogalom milyen feladatot lát el, mint pl. szubjektum, objektum.
Sorrendiség A gráfot alkotó csúcspontok a gráfból alkotott természetes nyelvű mondatban egyegy szót, vagy szókapcsolatot jelölnek. A mondatban meghatározott sorrendben állnak, így a mondatot leíró gráfnak is tartalmaznia kell adatokat arra vonatkozóan, hogy az elemeit milyen sorrendben kell mondattá konvertáláskor felhasználni.
Ragozás A ragozások szerepkörhöz kötött elemek. Az a feladatuk, hogy megmondják, hogy egy adott fogalmat milyen ragozással kell ellátni, ha a természetes nyelvi kimenetét akarjuk megalkotni.
9
Fogalomháló felépítő keretrendszer
Predikátum gráfok
A korábban bemutatott elemek együttesen egy predikátum gráfot alkotnak. Egy gráf egy központi elemből, és valahány hozzá kapcsolt fogalomból áll. A fogalmakat a központi elemmel egy-egy szerepkör, és esetlegesen ragozás köti össze. Egy gráf feladata egy állítás grafikus formában való megjelenítése.
2. ábra
Jelentésük
A gráfok ugyanúgy, mint az állítások tartalmazhatják, hogy az állítás mely objektumra vonatkozik – ez az állítás szubjektuma. Az ilyen fogalmat a gráf középpontjához egy szubjektum típusú szereppel kötjük. A többi fogalom esetében is ugyanez a helyzet, a megfelelő szerepet kötjük hozzá, így a gráfban elfoglalt
szerepük
megegyezik
a
természetes
nyelvű
állításban
elfoglalt
szerepükkel.
10
Fogalomháló felépítő keretrendszer
Sémák
A predikátum gráfok általánosíthatóak. Egy bizonyos állítás gráfja mindig ugyanúgy néz ki, akármilyen fogalmakat is rakunk a csúcspontokba, a szerepkörök, a fogalmak száma, a ragozások mindig ugyanazt a sémát mutatják. Ebből következik, hogy létrehozható egy öröklődéses rendszer a gráfok között. Az ős gráf tartalmazza, hogy milyen elemek lehetnek a gráfban, valamint leírja a gráf mondattá konvertálásához szükséges paramétereket, mint pl. a sorrendiséget is. A belőle származtatott gráfoknak már csak a rájuk jellemző paraméterekkel kell foglalkozni, azaz meg kell adniuk, hogy ténylegesen milyen fogalmakat tartalmaznak.
Elemei
A gráfok elemei egy közös ősből származnak. Általában a gráf elméleti modelljét alkotó objektumok, pl. fogalom gráfbeli megvalósításai. Minden ilyen objektumnak gondoskodnia kell a saját kirajzolásáról, valamint egy jobbgombos menüről, amely lehetőséget biztosít az objektum adatainak megváltoztatására, valamint az objektum törlésére. Minden objektum tartalmaz két szöveges adatot:
név
megjegyzés
A név az objektum azonosítására szolgál, de nem feltétlenül egyedi azonosító, míg a megjegyzés attribútum általában az elem működésére vonatkozó metaadatot tartalmaz. A következőkben bemutatom a gráfot alkotó elemek tényleges megvalósítását. Általában valamilyen formában lefedik a gráf elméleti modelljének elemeit, de a fizikai megvalósítás több helyen eltér.
11
Fogalomháló felépítő keretrendszer Center
A center objektum a gráf középpontja. Ez tárolja el a gráfra vonatkozó általános információkat, valamint ez határozza meg a
3. ábra
gráffal végezhető műveleteket. Jobbgombos menüjét használva hozzáadhatunk elemeket a gráfhoz, átnevezhetjük a gráfot,
másolatot készíthetünk belőle, amelynek része a származtatás is. Ebben az elemben csak azok a műveletek vannak megvalósítva, amelyek a gráf teljes egészére vonatkoznak. A többi funkciót a megfelelő elemek jobbgombos menüje tartalmazza. A center menüje a gráf környezetétől függően is változhat. Mint később láthatjuk majd, vannak helyzetek, amikor a gráf egy nagyobb kompozíció részeként van jelen. A center objektum ilyenkor is jelen van, de egyes műveleteit elérhetetlenné érdemes tenni, mivel az nem lenne hasznos a kompozíciós környezetben.
Node
A node típus a fogalmak gráfbeli megfelelője. Egy tényleges fogalom objektumot tartalmaz, és kibővíti azt a gráf funkcionalitásával. A név alatti megjegyzés mező szerepe a mondat generáláskor érvényesül, melyet később fejtek ki.
4. ábra Nodegroup
A nodegroup típus egy olyan node, amely egyszerre több fogalmat is képes tárolni. Gráfok összevonására, felsorolások kezelésére használható. Egy, és kételemű csoportok esetén még kiírható a csoport tagjainak a listája, de több elem esetén már csak az elemek számát jelölöm.
5. ábra
6. ábra 12
Fogalomháló felépítő keretrendszer Belső gráf
Egy gráf tartalmazhat egy másik gráfot is, amely a mondatban tényleges szerepet kap. Tagmondatok, külön mondatrészek kezelését teszi lehetővé. A gráfra kattintva
a
kezelőfelület
automatikusan
átvált
a
hivatkozott
gráfra.
Mondatalkotáskor jelenleg nincs szerepe, csupán a komplexebb állítások gráffá alakításában játszik szerepet.
7. ábra
Szerep
A szerep objektum egy node objektum és a center közötti él objektumot írja le. Nevesített, mint a több objektum.
8. ábra Ragozás
A ragozás objektumokat szerepekhez lehet kötni. Megjelenítése hasonló a szerephez, egyszerre csak az egyik típus látható.
9. ábra 13
Fogalomháló felépítő keretrendszer Sorrendiség
A sorrendiséget jelenleg a gráf csúcsait leíró objektumok megjegyzés mezőjében lehet tárolni. A szöveges megjegyzés mező első, numerikus értéke jelöli a sorrendben elfoglalt pozícióját.
10. ábra
Összekapcsolás A programban létrehozott, egymástól független predikátum gráfok önmagukban csak egy-egy állítás grafikus leírását tartalmazzák. Egyes esetekben szükség lehet egy olyan átfogó, összegző képre, amely több, valamilyen szemantikai vagy logikai módon összetartozó predikátum-gráfot egyetlen gráfként jelenít meg. Ennek megalkotására létrehozhatóak összekapcsolt, kompozíciós gráfok. A gráfok a felhasznált fogalmakat entitásként kezelik, így mindegyik fogalom a kompozíciós gráfban csak egyszer szerepel.
11. ábra 14
Fogalomháló felépítő keretrendszer
Objektum felismerés
Az objektumfelismerő
komponens feladata
egy
előre
meghatározott,
jól
definiálható mikrokörnyezetből érkező adatokból az objektumokat és a köztük lévő kapcsolatokat leíró állítások, predikátum-gráfok készítése.
12. ábra
Objektumhalmaz
A felismerendő mikrokörnyezet jelen esetben egy olyan kétdimenziós ábra, amelyet a felhasználó tud megrajzolni általa megjelölt pozíciókra elhelyezett kör és téglalap objektumokból. A komponens bemenetét ezek az objektumok alkotják, a tényleges képfelismerő algoritmus nem része a projektnek, így a síkidomok adatait előre ismertnek tekinthetjük.
15
Fogalomháló felépítő keretrendszer
Konvertálás
Az
objektumhalmaz
elemei
között
többféle
reláció
is
értelmezhető.
A
példaprogram a lehetőségek közül ötöt tartalmaz: Alatt–felett
Ezt az objektum-kapcsolatot sokféleképpen lehet definiálni, mivel nehéz meghatározni a határt, amikor egy objektum a másik fölött van, nem mellette. Az algoritmus akkor érzékeli úgy, hogy az egyik objektum a másik fölött van, ha az y koordinátabeli különbség nagyobb, mint az x koordinátabeli. Gyakorlatilag akkor, ha az objektumtól húzott 45 fokos egyenesek fölött helyezkedik el. Mellett
A korábbi definíciót felhasználva akkor van egy objektum egy másik mellett, ha a 45 fokos egyenesek „közé” esik, avagy az x tengelyi különbség nagyobb az y koordinátabelinél. Metszés
Két objektum akkor metszi egymást, ha van közös pontjuk, de nem tartalmazzák egymást. A példában szereplő kör és téglalap objektumok esetén ennek eldöntése nem nehéz feladat. Kisebb-nagyobb
Ez a kapcsolat magától értetődően a területek összehasonlítását jelenti. Akkor nagyobb egy objektum, ha nagyobb a területe. Tartalmazás („benne van”)
Egy objektum akkor tartalmaz egy másik objektumot, ha annak minden pontja a külső objektumban van. A fentieket kiegészítve bevezettem a létezés leírására is egy gráf sémát. Ez az egyszerű gráf csupán annyit tartalmaz, hogy a szubjektumaként szereplő objektum egy kör, vagy egy téglalap. 16
Fogalomháló felépítő keretrendszer
Fókusz
Az így képzett gráfok száma már 2-3 objektum esetén is jelentős lenne, ezért érdemes bevezetni egy fókusz objektumot, amely jelzi, hogy az eredmény gráfok közül melyekre vagyunk kíváncsiak.
Eredmény gráfok
Az objektumok és a köztük lévő kapcsolatok felismerésének az eredménye egy gráf-halmaz, amelynek minden eleme tartalmazza a fókuszként kijelölt objektumot, kivéve a létezést leíró gráfok, mivel ezeket minden objektumhoz létrehozza a rendszer. Ezek a gráfok egy-egy állítást jelenítenek meg. Ha egy adott gráfra vagyunk kíváncsiak, akkor a gráf-listán a megfelelő objektum-kapcsolatot leíró séma gráf alatt találjuk meg. Az objektum felismerés másik eredménye egy összetett gráf, amely tartalmazza az összes gráfot, amelyet az algoritmus létrehozott. Ez a komplex gráf egyetlen ábrába foglalja össze az összes információt, amelyet sikerült a mikrokörnyezetből kinyerni. Minden objektum és minden gráf egyszer szerepel rajta, és egyszerűen megmondható belőle, hogy két tetszőleges objektum között milyen kapcsolatok találhatóak.
17
Fogalomháló felépítő keretrendszer
Természetes nyelvi kimenet
Az
alkalmazásban
akár
kézzel,
akár
objektum
felismeréssel
létrehozott
predikátum-gráfokból az alkalmazás képes természetes nyelvi mondatokat generálni. Ez alól kivételt csak az összetett gráfok képzenek, amelyeknek nincs közvetlen természetes nyelvi megfelelője. Egy állítást egy nyelvben gyakran többféleképpen is meg lehet fogalmazni a tartalom módosulása nélkül is, de erre az alkalmazott konvertáló algoritmus nem képes, ezért a gráfok és a belőlük alkotott természetes nyelvű mondatok között szoros kapcsolat van.
Konvertálás
A gráf minden egyes objektuma felelős a saját konvertálásáért. Minden objektum tudja magáról, hogy milyen szereppel van a gráfban jelen és milyen ragozással. A gráf feladata csak annyi, hogy lekérdezze a tagjait, és a megfelelő sorrendben összefűzze őket. Az objektumokból való szó és mondatrész generálására a már korábban is említett megjegyzés rendszert bővítettem ki. Az objektumokhoz fűzött megjegyzés tárolja az állításban elfoglalt helyét, és a konverzióra vonatkozó utasításokat is. Az objektumok névvel vannak ellátva. Ezek az elnevezések használhatóak a gráfokban, valamint a mondatokban is az objektumok megnevezésére.
13. ábra
18
Fogalomháló felépítő keretrendszer
A gráf-sémák tárolják a konvertáláshoz szükséges adatokat, a származtatott gráfok pedig öröklik őket. A származtatott gráfok felüldefiniálhatják ezeket az adatokat, de erre ritkán van szükség. Egy állításból alkotott mondat struktúrája független attól, hogy milyen tényleges fogalmakat tartalmaz.
19
Fogalomháló felépítő keretrendszer
Működési példa
A továbbiakban az alkalmazás működését egy példán keresztül mutatom be. A példában létrehozok különböző ECG modellbeli elemeket és felépítek belőlük egy predikátum gráfot. A gráf létrehozásánál nem feltétlenül a példa életszerűségére, hanem inkább a lehetőségek minél teljesebb körű bemutatására igyekszem törekedni. Az alkalmazás elindítása után az első lépés meghatározni, hogy mely nyelveket szeretnénk használni. A nyelvek nincsenek előre megadva, a mögöttük lévő fogalmi és nyelvtani struktúrát nekünk kell felépítenünk, így a nyelv megadása csupán egy azonosítót ad, amelyre később hivatkozhatunk. A példánkban az egyszerűség kedvéért a magyar nyelvet fogom használni. Létrehozása a Nyelv fülön, a hozzáadás gomb megnyomásával történik.
14. ábra A nyelv létrehozása után érdemes fogalmakat létrehozni, hiszen ezek lesznek az állítás építőkövei. A fogalmak fa struktúrába vannak szervezve, és alapból csak egyetlen fogalom, a WORLD létezik. Ennek a fogalomnak a gyerekelemeként kell beszúrnunk a felhasználni kívánt elemeket. Érdemes ezen a ponton eldöntenünk, hogy a példánk mit akar ábrázolni. Általános eset az, amikor valakiről állítunk valamit, így a példánk is egy ilyen állítást fog 20
Fogalomháló felépítő keretrendszer
tartalmazni: az állítás szubjektuma egy ember, akiről a foglalkozását fogjuk állítani, mint tanuló, focista stb. A példában szereplő ember és foglalkozás fogalmakat a modellünkbe absztrakt fogalmakként be kell vezetnünk. A WORLD objektum jobbgombos menüjéből kivitelezhető egy gyerekelem hozzáadása.
15. ábra
Ha az absztrakt fogalmaink megvannak, folytathatjuk a fát több réteg kevésbé absztrakt fogalommal, vagy a tényleges példányokkal is. A példában több absztrakciós szintre nincs szükség, így mindkét absztrakt fogalmunk alá létrehozunk egy-egy tényleges példányt. A példányok létrehozása megegyezik az absztrakt fogalmak létrehozásával, de létrehozásuk után a jobbgombos menüjük segítségével egy nyelvhez kell csatolnunk őket. Fontos megjegyezni, hogy a gráf egyszerre csak a vizsgált elem testvéreit, szülőjét, és gyerekeit mutatja, a többi szintet csak akkor látjuk, ha a fán arrébb navigálunk a „Fókuszálás” menüponttal.
16. ábra 21
Fogalomháló felépítő keretrendszer
A fogalom fánk elkészülése után ezeket az elemeket már felhasználhatjuk egy gráfban is. A gráf panelen már alapból létezik pár gráf-típus: ezek a mikrokörnyezetet elemző komponens által használt sémák. Ezektől most tekintsünk el, saját gráfot szeretnénk létrehozni.
17. ábra A gráf létrehozása után a képernyőn megjelenik a gráf képe, amely jelenleg csak a center elemből áll. A center elem lesz a gráf középpontja, a többi objektumot e köré tudjuk létrehozni.
18. ábra A jelenleg szerkesztett gráf csak egy séma. A sémák lényege, hogy csak absztrakt fogalmakat képesek tárolni, és a konkrét megvalósítást a leszármazott gráfokra bízzák. Egy gráf sémába jelenleg csak WORLD fogalmak szúrhatóak be. 22
Fogalomháló felépítő keretrendszer
A gráfban létrehozni kívánt állítás egy emberről egy foglalkozást állít. A center objektum jobbgombos menüjéből hozzáadhatunk egy-egy fogalmat, melyek létrehozásakor a rendszer megkérdezi, hogy milyen szerepkörrel szeretnénk a gráfba szúrni az adott fogalmat. Az ember típusú fogalom jelenleg a gráf szubjektuma, a foglalkozás típusú pedig az objektuma.
19. ábra A séma elkészülése után létrehozunk egy leszármazott példányt belőle, és beállítjuk a sémában található absztrakt fogalmakat tényleges példányokra. Ezzel elkészítettük az állításunkat leíró predikátum gráfot.
20. ábra A többi komponens működésének bemutatásához a rajzpanelen létrehozunk pár kört és téglalapot. Jobb gombbal rájuk kattintva kijelölhető, hogy mely objektumot szeretnénk fókuszként beállítani, azaz melyikhez viszonyítva vagyunk kíváncsiak 23
Fogalomháló felépítő keretrendszer
a kapcsolatokra. Ha a mikrokörnyezet elkészült, megnyomjuk az „Elemez” gombot, és átváltunk a gráf nézetre.
21. ábra
A gráf nézetet az elemzés feltölti az objektumokról és kapcsolataikról alkotott gráfokkal, mindegyiket a megfelelő séma alá rendezve. Az elemzés létrehozza ezekből a gráfokból a teljes összetett gráfot is, a gráf fülre kattintva ez lesz az első, amit láthatunk.
22. ábra
24
Fogalomháló felépítő keretrendszer
A természetes nyelvű mondatgenerálás kipróbálásához jelöljük ki valamelyik generált gráfot, és kattintsunk a mondat generálása gombra, hogy megkapjuk az eredményt.
23. ábra
24. ábra
25
Fogalomháló felépítő keretrendszer
Végszó
Az objektumokat felismerő, és a természetes nyelvi eszközöknek jelenleg az informatika két gyorsan fejlődő, és sok kiaknázatlan lehetőséget tartogató elemei. Ez az alkalmazás sok korlátozással ugyan, de megpróbálja ötvözni a két problématerületet. Nem tesz mást, csak megnyitja a lehetőségek felé vezető utat, viszont a bővíthetősége miatt ezt oly módon teszi, hogy az ágazat felmerülő igényeihez igazodni tudjon. A természetes nyelveket leíró próbálkozások közül csupán egyet, az ECG modellt alkalmazza. A modell képes a nyelvekben előforduló állításokra megfelelő leíró nyelvet szolgáltatni, és ezt az alkalmazás ki is használja. Amennyiben felmerülne olyan helyzet, ahol a jelenlegi funkcionalitás nem megfelelő, a komponensek egyszerűen fejleszthetőek.
26
Fogalomháló felépítő keretrendszer
Képek és ábrák jegyzéke
1. ábra
6
2. ábra
10
3. ábra
12
4. ábra
12
5. ábra
12
6. ábra
12
7. ábra
13
8. ábra
13
9. ábra
13
10. ábra
14
11. ábra
14
12. ábra
15
13. ábra
18
14. ábra
19
15. ábra
21
16. ábra
21
17. ábra
22
18. ábra
22
19. ábra
23
20. ábra
23
21. ábra
24
22. ábra
24
23. ábra
25
24. ábra
25
27