"Azért a kumulatív és a kiterjesztett exponencia elég problémás tud lenni ha jól sejtem..."
Persze, az összevonódások mindig betartanak a szép strukturális rendszereknek. Szeretik is kizárni az olyan szabályokat, amelyek törlést eredményeznek, mert az a szintézisnél ugyan nem nagy gond, de az analízist igen megnehezíti.
"Szemantikától eltekintve is, Chomsky generatív rekurzív modelljei jók a rögzített szórendű, izoláló nyelvek kezelésére, de nem annyira jók a szabad szórendű erősen toldalékoló nyelvekre, bár magát a toldalékolást is általában le lehet írni hasonlóan."
Azért a kumulatív és a kiterjesztett exponencia elég problémás tud lenni ha jól sejtem...
Sajnos én eléggé 'outsider' vagyok nyelvészeti témákban.
Erről a konferencáról sem hallottam még.
A CD-vel kapcsolatban írtam neked email-t az itt megadott címedre.
Nadamhu, tavaly november elején volt egy konferencia, "Mire jó a nyelvtechnológia? Új eredmények a magyar nyelv számítógépes feldolgozásában" címmel. Volt előadás a fordítási problémákról és a Morphologic eredményeiről is (bár ez utóbbi inkább termékbemutató volt). Osztogattak CD-ket az előadások handoutjaival, nekem meg is van...
Hungarian morphem sequence:
Az +targy mond +mult +targyas +e3 , hogy az , az a ember ami +targy használ +mult +targyas +e3 , rossz van +mult +e3
Hungarian output:
Azt mondotta, hogy az, az az ember amit használta, rossz volt
Az én programom persze egy csomót hibázik, tele van ad-hoc szabályokkal, szóval korlátozott nyelvi tudása van azért, mert szempont volt, hogy 2 év alatt kész lehessek 'valamivel'.
Egyébként egy hónapon belül bárki kipróbálhatja majd on-line az interneten.
A következô oldal egészen fel lesz újítva, most nincs gyakorlatilag semmi az oldalon:
Nem olyan nagy ám a különbség a magyar toldalékolt alakok és az angol "szerkezetek" között. Hiszen általában ezeket mi is könnyen le tudjuk fordítani.
A toldalékolás annyiban segít, hogy a szóközök jól elválasztják azokat az egységeket, amiket angolban csak nehezebben tudunk azonosítani.
Pl.: házainkban - in our houses
Ugyanazok a jelentés-részelemek felismerhetők mindkét nyelven, de a magyar ezt egyértelművé teszi az egybeírás miatt, míg az angolban rá kell jönnünk, hogy összetartoznak.
Ha egyik nyelvben sem használnánk szóközöket, mint a korai középkori és ókori írásokban, akkor ugyanolyan nehéz lenne mind a kettő. :)
Ami még érdekes, hogy a morfológia volt a legkönnyebben kezelhetô rész, gyakorlatilag ma már tökéletesen kezeli a programom. Pedig terjed az a nézet, miszerint a magyar nyelv a toldalékolása miatt olyan nehezen kezelhetô nyelv. Azt kell mondanom, hogy ennek a legkisebb a jelentôsége. Az igazi bonyolultság az egyik nyelv morfémasorozatának a másik nyelv morfémasorozatára való fordításában van. Sajnos komplexebb mondatoknál az angol ugyanolyan nehezen kezelhetô nyelv, mint a magyar. Sôt, újabban hajlok arra, hogy a magyart talán még egy picit könnyebb is elemezni mint az angolt, az a sok toldalékmorféma elég sok támpontot ad.
Igen, így van ahogy mondod, ezért ilyen sok energiát felemésztô munka ez. Nekem is mondták már, hogy miért nem viszek bele a programomba automatikusan komplett, már elkészült szótárakat. Sajnos nem megy, mert az emberi használatra szánt szótárak nem elég egzaktak.
"Kegyetlen sok meló egy embernek, munkahely mellett..."
"én úgy tůnik, hogy felraknám rá az életemet, ha a finanszírozás meglenne rá."
Így van.
Engem is mindig érdekelt a gépi fordítás, de láttam/látom a nagy nehézségeket.
Képzeld el a következő gondolatkísérletet.
Fordítanod kell egy általad nem ismert nyelvről egy általad nem ismertre, normális, nem könnyített szöveget. Mondjuk grúzról albánra.
Megkapod a szótárokat és a nyelvtankönyveket.
Azt hiszem egyetértesz velem, hogy nehéz a helyzeted. Jó sok időt kell eltöltened, míg az első nemtriviális mondat hibátlanul kikerül a kezeid közül.
Miért? Hiszen csak egy-két tucat szóval van dolgod.
Azért, mert a nyelvtankönyvek és a szótárok nem teljesek és pontatlanok, ezért szövegekből olvasgatva kell helyre tenned a fogalmakat a fejedben.
Egy tipikus szótár felsorolja egy szó lehetséges fordításait, de semmit nem, vagy keveset ( és főleg már jól tudók számára használhatót) mond arról, hogy mikor melyiket kell választani.
Ha jó programot akarsz írni, neked kell ezt a szótárt elkészítened, de még az emberi célra készült, viszonylag teljesnek mondható jó szótár elkészítése is hatalmas munka.
Ez már önmagában egy szinte leküzdhetetlen gát egy embernek.
Ugyanez a helyzet a nyelvtannal.
És akkor jön a szemantika. A fordításhoz bizonyos esetekben igenis meg kell legalább részlegesen érteni a szöveget, mert ezeket a helyzeteket igen nehéz formális szabályokkal kezelni.
Éppen arról beszéltem, hogy az alanyi és tárgyi ragozás helyes megválasztásához tudnod kell a tárgy determinánsát (mi is erre a magyar szaksző?) Én is csak úgy ismerem, hogy determináns. Egyelôre csak angolról fordítok magyarra, és hát sajnos egy csomó speciálisabb nyelvtani esetet nem úgy ismer fel a program, ahogy kellene.
Éppen arról beszéltem, hogy az alanyi és tárgyi ragozás helyes megválasztásához tudnod kell a tárgy determinánsát (mi is erre a magyar szaksző?). Bonyolultabb mondatoknál ez nem könnyű.
Ezzel mit csinál a programod (a három "az"-zal):
"Akit keresek, az az az ember, aki ismeri őt."?
I love a girl. -> Egy lányt szeretek.
I love this girl -> Ezt a lányt szeretem.
Bizonyítéknak bepaste-olhatom a logját bármelyiknek. A gond ott van, hogy egy picit bonyolultabb dolgoknál a program 'elveszti a fonalat'. De hát 2 évvel ezelôtti ötleteim most jutottak el a megvalósításig... Ma már lennének jobb ötleteim is... Kegyetlen sok meló egy embernek, munkahely mellett...
Úgy látom, hogy az alanyi és tárgyi ragozást még nem igazán kezeli jól a programod, azokat pedig nem tudod jól kezelni, ha a névelőt és egyéb determinánsokat nem kezeled jól.
Szemantikától eltekintve is, Chomsky generatív rekurzív modelljei jók a rögzített szórendű, izoláló nyelvek kezelésére, de nem annyira jók a szabad szórendű erősen toldalékoló nyelvekre, bár magát a toldalékolást is általában le lehet írni hasonlóan.
Amit középiskolában tanítanak nyelvészetrôl, az csak amolyan bevezetô dolog. Olyan, mint amikor egy általános iskolai technika tanár programozást tanít. A gyerekek kapnak valami képet, hogy ilyen is van, meg van fônév, meg melléknév, meg ige, meg van alany, meg tárgy, meg ilyenek. De ez nem az a szint, amivel valamit kezdeni is lehet.
Már 1-2 éve bütykölök egy angol-magyar fordító programot. Elôször nekem is az volt a véleményem mint neked; a kezembe kerülô nyelvtankönyvek felszínesek voltak. Azonban közben kiderült, hogy csak én jártam csukott szemmel, mert van ennek komolyabb irodalma is, csak én nem vettem észre. Szóval most kezdek mindenféle nyelvészeti könyveket megvásárolni, és olvasgatni. Amennyit látok belôle: Ez egy komoly tudomány, nyitott kérdésekkel, csak ez nem jut el az emberekhez a középiskolai oktatáson keresztül.
A számítógépes nyelvészetnek szerintem nem a mondat szintaktikáját, hanem a _szemantikáját_ kellene modelleznie. A mondatok értelme már általában sokkal egyszerűbb jószág a nyelvek szintaktikájánálm és objektumorientált szemmel is sokkal megközelíthetőbbek. Ezt is így gondoltam mint te, de nem egészen ëgy van: Chomsky szerintem nem ragadt le annál, amit nekünk a můegyetemen tanítottak, csak szerintem nekünk azért nyomtak csak ennyit, mert elsôsorban a mesterséges számítógépes nyelvekre helyezték a hangsúlyt. Majd késôbb tudok csak nyilatkozni: Most rendeltem meg egy könyvet ami Chomsky újabb munkásságával is foglalkozik.
Azonkívül a szemantikát is kutatják a nyelvészek rendesen.
Az az egészben a szép, hogy nyitottak a kapuk: ha te jobbat tudsz, mint mások, írhatsz az alapján egy fordítót, és máris tiéd a pénz/hírnév: nem kellenek ide kapcsolatok...
Végül ízelítônek berakok egy részletet az 1 hónapon belül megjelenô kezdetleges fordítóprogramom log file-jából.
Szóval ezen ügyködök fanatikusan évek óta minden este: (Azért sajnos nem mindent fordít ilyen jól... Már jó nagy hackelés az egész, (pedig nem annak indult), ha kiadom akkor elkezdek a következô verzión dolgozni, amit egy alapos elméleti alapozás fog megelôzni.)
Bemenet:
As Leibniz said, without math you cannot really understand philosophy, without philosophy you cannot really understand mathematics, and with neither of them, you can't really understand a thing!
Kimenet:
Ahogy Leibniz mondott, igazán nem tudsz filozófiát érteni matek nélkül, igazán nem tudsz matematikát érteni filozófia nélkül, és igazán nem tudsz egy dolgot érteni közülük semelyikkel
Log.:
--------------------------------------------
Input text:
As Leibniz said, without math you cannot really understand philosophy, without philosophy you cannot really understand mathematics,
"A magyarra jellemző, hogy bizonyos dolgokat szeret elhagyni a mondatokból. Attól azonban, hogy valamit eltüntet a szintaktikából, a szemantikában még ott marad. Ezt egyedül a rejtett alanynál vallja is be. Amikor azt mondom: "Iskolába ment." itt az alany az "ő", annak ellnére, hogy ilyen szó nem szerepel a mondatban.
Értelmes nyelvben, például németben: "Er gang in die Schule." az "Er" az alany. Ez tehát egy olyan dolog, amit a magyar nyelvtan úgy magyaráz, ahogy szerintem kell."
Magyarra jellemző, ... értelmes nyelvben... :)))
Meg a latinra jellemző, meg a görögre jellemző, meg a spanyolra jellemző, meg mindazokra az "értelmetlen" nyelvekre jellemző, amelyeknek teljes, beszédben is kiejtett igeragrendszerük van és ezért szükségtelen kitenni az alany szerepét betöltő névmást, hacsak nem nyomatékosítani akarunk. :)
A névszói állítmány mítoszáról én is azt gondolom, hogy egyszerűen rosszul kezelték a default állítmányt. Más módokban, időkben és személyekben ott van, csak a kijelentő mód, jelen idő, harmadik személyében hiányzik.
De ez nem is magyar specifikus, az oroszban ugyanez a helyzet, sőt ott minden számban elhagyják a létigét az ilyen mondatokban.
Szerintem MM (azt üzeni, jövő héten újra itt) csak a magyar mondatelemzésre gondolt. Ezt támasztja alá az is, hogy azt magyarázta, az ilyen magyar nyelvtani mondatelemzéssel kezelhetetlen mondatokat le lehet kezelni az idegen nyelvre fordítással.
A magyar nyelvi mondatelemzés trágya voltáról amúgy egy hosszabb hozzászólást is írhatnék, leginkább az ún. "rejtett alany"-on látszik, hogy aki kitalálta, vagy életében nem ismert egyetlen nyelvet sem, vagy úgy gondolta, neki mindenáron meg kell ideologizálni a hülyeségeket.
A magyarra jellemző, hogy bizonyos dolgokat szeret elhagyni a mondatokból. Attól azonban, hogy valamit eltüntet a szintaktikából, a szemantikában még ott marad. Ezt egyedül a rejtett alanynál vallja is be. Amikor azt mondom: "Iskolába ment." itt az alany az "ő", annak ellnére, hogy ilyen szó nem szerepel a mondatban.
Értelmes nyelvben, például németben: "Er gang in die Schule." az "Er" az alany. Ez tehát egy olyan dolog, amit a magyar nyelvtan úgy magyaráz, ahogy szerintem kell.
Ellenben nézzük ezt a mondatot: "Én leszek fejedelmetek." Itt most szegény problémafelvető nem tudta eldönteni, hogy a "fejedelmetek" az most állítmány vagy birtokos szerkezet. Idegennyelven rögtön látszik a lényeg: "I will be your king." Egyszerűn már ordít a szavakról a mondatszerkezet.
De van más példa is. Ilyen mondat például: "Az iskola az iskola." Erről anno nyelvtantanárom azt mondta, hogy ezt a mondatot még senkinek sem sikerült elemeznie, illetve többféleképpen is lehet. Persze, hogy többféleképpen lehet. Németül már nem.
Na de a LÉNYEG!:
Ez nem azért van, mert a magyar nyelvvel bármi gond lenne. A magyar nyelv teljesen jól oldja meg a dolgokat, jobban, mint nyugatiak, mert hajlandó elhagynia mondatokból a fölösleges szavakat. A magyar mondatelemzés trágya! Már eleve azért is, mert az állítmánynak _mindig_ igének kell lennie. Magyar nyelvtanban nem. "Az alma piros." Itt a "piros" az állítmány, de ha átrakjuk a mondatot E/2-be, akkor rögtön átviláglik a lényeg, hogy itt NEM a "piros" az állítmány, hanem a "van", csak a magyar nyelvészek a rejtett alanynál alkalmazott huszárvágást az állítmány esetében már nem voltak hajlandóak alkalmazni.
Az meg ugyebár programozói szemmel elég nagy butaság, hogy a mondat E/3-ból E/2-be rakása rögtön szerkezetváltozással is járjon. Ha természetes nyelvi interfészt akarnék írni, akkor eszembe nem jutna egy ilyen idióta elméletet használni fel hozzá.
Egyébként Chomskyt nem csípem, mert szerintem a számítógépes nyelvészet véglegesen halottá vált azzal, hogy a nyelvet _kizárólag_ a szintaktika modellezésével próbálta kezelni. Persze, hogy bebukott, mert egyszerűen nem vett tudomást a szemantikáról. Minden nyelvtan, még a 0-ad osztályú nyelvtanok is csak a szintaktikával foglalkoznak, nem csoda, hogy elméleti alapon kezelhetetlenek. A fizikusok is leragadtak volna már többszáz éve a kinetikus gázelméletnél, ha egyesével számolgatták volna a molekulák perdületét és mozgásvektorait.
A számítógépes nyelvészetnek szerintem nem a mondat szintaktikáját, hanem a _szemantikáját_ kellene modelleznie. A mondatok értelme már általában sokkal egyszerűbb jószág a nyelvek szintaktikájánálm és objektumorientált szemmel is sokkal megközelíthetőbbek.
Persze mindez csak egy ismertség nélküli senki kritikája, természetesen eszembe sem jutna megkérdőjelezni az ilyen hatalmas elődök, mint Chomsky élete munkáját... blahblah... :-)))
Hogy mekkora faszság ez a mondatelemzés! Informatikus létedre ilyet mondani!:) Ha természetesnyelvi felületet akarnál írni mire mennél mondatelemzés nélkül?
Na persze NEKED faszság, mert TE nem foglalkozol ilyesmivel.