Keresés

Részletes keresés

Eisengrau Creative Commons License 2005.05.09 0 0 55
Felhozom a témát. Nadamhu fórumtársat keresem, ha tudja hol van, kérem jelentkezzen itt :)

(az itt megadott email címére nem válaszolt, gondolom a cím már nem él)
nadamhu Creative Commons License 2004.11.05 0 0 54

Sajnos nem ismerem a Dömölki iskolát.

Ahogy az előző hozzászólásomban már írtam, az algoritmusok sebességigény csökkentése megfelelő adatszerkezetek tervezésével és cacheléssel, engem is foglalkoztat, és a gyakorlatban is használom, különben a program számításigénye könnyen elszáll.

Persze nem könnyű feladat egy bonyolultabb algoritmust ilyen módszerekkel gyorsítani. Előfordul, hogy egy exponenciális igényű algoritmus 20 sorban lekódolható, egy hatékony megírása már csak többszáz sorban fér el.

Ha te általában ezzel a témával foglalkoztál, azt érdekes kutatási iránynak tartom.

Előzmény: Vadcseresznye (52)
nadamhu Creative Commons License 2004.11.05 0 0 53

A sebesség ágat lezárhatjuk.

Asszociatív memóriákkal nem foglalkoztam részletesen, erről szívesen hallanék bármi érdekeset, érdekel a téma.

 

Amit tudok a témáról:

 

Programozás során használok, (és más programozók is használnak) úgynevezett asszociatív konténereket. Ezek vagy hasheléssel vannak megoldva (pl. Java Hashtable vagy STL hash_map), vagy rendezett adatszerkezetekkel (STL map).

hash_map esetén a kulcs szerinti elérés O(1) időkomplexitású, míg map esetén O(log(n)), ahol n a konténer mérete.

 

Ez azt jelenti, hogyha te pl. egy string alapján akarsz elérni adatot, akkor az nem tart túl sokáig speciális hardware támogatás nékül sem a fen megadott módokon.

 

Persze vannak esetek, amikor érzem, hogy az algoritmus asszociatívan megoldandó, de a fenti módszerek csődöt mondanak, mert a 'match' nem sima kulcsösszehasonlítás, hanem kicsit bonyolultabb. Ilyenkor sajnos kénytelen vagyok lineárisan keresni, vagy vért izzadva kitalálni valami ügyes adatszerkezetet.

 

Egy példa a Cybertrans 2.0 fejlesztéséből (leegyszerűsítve):

 

Tegyük fel, hogy beolvastam egy szót, modjuk azt, hogy 'history' és meg kell keresni a 'szótárban', mert mondjuk a nyelvtani jellemzőit szeretném megnézni. Ekkor a szótárat egy map adatszerkezetben tárolva nagyon gyorsan, néhány órajel alatt megtalálom a megfelelő bejegyzést.

 

Most fejlesztem az algoritmust, és kezelem a helyesírási hibák egy részét: az elírásokat.

 

Mondjuk az az elírt szót olvastam be, hogy 'hystory'

Szeretném most a szótárból kikeresni azokat a szavakat, amelyek ettől csak egy karakterben különböznek. (Így jó esetben megtalálnám a 'history' szót.) És ekkor elveszik a map előnye. Kénytelen vagyok lineárisan vévgignézni minden szót, hogy teljesül-e rá a feltétel, ez már sokezer órajelig tart, a szótár méretétől függően.

 

Tehát a minél bonyolultabb keresések nem lineáris ( nem O(n))  időben való megoldása (lehetőleg O(log(n)) vagy O(1)) erősen foglalkoztat. Hardveres megoldásokkal viszont még nem foglalkoztam.

Előzmény: Vadcseresznye (51)
Vadcseresznye Creative Commons License 2004.11.05 0 0 52
(Folytatás) Ma már sokan nem ismerik a "Dömölki-iskolát". Talán neked mégsem ismeretlen. Ennek a közösségnek az egyik legtöbbet publikáló tagja azért tartotta nagyon ígéretesnek feladat-bontásos algoritmusaimat a gépi fordításban, mert a téma komplexitása miatt az általad is felsorolt megoldások nem igazán kecsegtetnek áttöréssel belátható időn belül. Hiába növekednek a GHz-ek, még ez a számítási kapacitás is roppant kevés a feladat méretéhez viszonyítva. Ha valaki néhány évtizeden belül megbízható fordítóprogramot szeretne készíteni, olyan adatszerkezeteket kell létrehoznia, olyan algoritmusokat kell kifejlesztenie, amelyek a jelenlegi számítási igény töredékével is eredményt képesek produkálni. Az elsődleges feladatnak a hatékony "adatbázis" struktúrájának kidolgozását látom. Ha ugyanis az adatbázis tehermentesíti az algoritmust a nagy számításigényű feladatok elvégzésétől, töredékére csökken a MIPS-igény. Nem mindegy, hogy egyszer számolunk-e ki valamit, majd eltároljuk, vagy minden egyes fordítás-kérés esetén számolunk, majd eldobjuk az eredményt, ha az adott fordítási feladatban már nincs szükség rá. Ellene lehetne vetni ennek a megoldásnak a drasztikus tárhely-igényt. Csakhogy létre lehet hozni olyan adatstruktúrát, amelyben takarékosan tárolhatók ezek a számítási eredmények. (Idővel folytatom tovább.)
Előzmény: nadamhu (50)
Vadcseresznye Creative Commons License 2004.11.05 0 0 51
Nem szeretnék belemenni a továbbiakban az agysebességgel kapcsolatos vitákba. A 80-as években behatóan foglalkoztam az asszociatív memóriák és holdudvaruk témakörével. Kitaláltam egy olyan "elrendezést", amelyet máig nem alkalmaznak a gyártók. (A számítógépek fejlődése más irányba fordult.) Ugyanakkora "MIPS" esetén nagyságrendekkel hatékonyabb lett volna ez az elrendezés számos gyakorlati alkalmazásban, mint a hagyományos asszociatív memóriák. Amíg nem tudjuk, hogy az agy milyen "elrendezéseket" "talált ki", addig szkeptikus vagyok a MIPS-ekkel kapcsolatban. Egy jó elrendezés ugyanis alacsony MIPS mellett is tud nagyon hatékony lenni. Nem tudjuk azt sem, hogy egy-egy "feladat" elvégzésében hány neuron, hány szinapszis vesz részt, milyen folyamatok játszódnak le, stb. Számomra mindenesetre nagyon leegyszerűsítettnek tűnik az az agymodell, amelyet érveik alátámasztására használnak a pontos MIPS-ben hívő szerzők. Lehet, hogy szélesebb forrásból merítek, de én az 1 milliárdtól a több tízezer milliárdig számos adatot találtam az agy memóriakapacitására vonatkozóan. A Google ebből a szempontból csalóka. Az első száz találatban alig van olyan cikk, amely ne Moravec munkásságára alapozna. De ez a vita a gépi fordítás szempontjából mellékág. Ezért szeretném "eredményhirdetés" nélkül lezárni. (Folytatom, amint időm engedi.)
Előzmény: nadamhu (50)
nadamhu Creative Commons License 2004.11.05 0 0 50

Azt hittem, értelmesen el tudunk majd fórumozni a fordítóprogramok rejtelmeiről, de úgy látom nem megy

Pedig én is szerettem volna. Te eddig csak arról beszéltél, hogy mindenki izomból dolgozik*, de nem mondtál konkrétumokat arról, hogy te hogyan dolgoznál. Én ebben a topicban már írtam konkrétumokat a szemantikai réteg elképzelésemről. (Persze én sem fogok idemásolni 100 oldalas doksikat, de némi konkrétum úgy érzem elengedhetetlen ilyen vitákhoz.)

 

A netem mindenre és mindennek az ellenkezőjére találsz "bizonyítékot".

Állításom alátámasztására rengeteget találok. Ellenkezőjére nem találok. Te sem adtál elfogadható érvet. Ezért ha megbocsátasz, nem győztél meg. Nem értem, hogy a sértődés helyett nem egyszerűbb lett volna, linket, szerzőt mondani, vagy röviden elmagyarázni, hogy miért tartod túlzónak a 100 MIPS-et. Én az eddig átalam ismert M.I. feladatok nehézségét látva nem tartom soknak a 100 MIPS-et.

 

DE: Ez számomra nem háború, vetélkedő, valóságshow.

Ez a valóságsó nem tudom hogy jön ide. Valóságsókban nem szokták alátámasztani véleményüket az emberek érvekkel, vagy hivatkozásokkal, szakmai vitákban annál inkább.

 

A gépi fordítási szakmában alapvetően két szélsőséges irányzatot különböztetnek meg. Az egyik a 'rule-based', a másik az 'example-based' irányzat. Te gondolom a 'rule-based' irányzatot tartod izomból dolgozásnak. Híres és sikeres rule-based fordítóprogram a Systran. A tisztán rule-based rendszerek persze korlátozott mértékben rugalmasak. Tisztán example-based rendszereknek meg annyira gyenge a nyelvtani tudása, hogy olyanból tudtommal még nem sikerült sikeres kommersz rendszert csinálni. Ma már a legtöbb projekt keveri a két megközelítést. A kérdés persze az, hogy HOGYAN keverjük a két megközelítést. Részletek nélkül egyre nehezebb a tájékozódás, hiszen itt arra kell hagyatkozni, amit a cégek, kutatócsoportok 'bevallanak' magukról, pedig az ördög a részletekben rejlik.

Az 'example-based'- hez hasonló jelentésű kategóriamegjelölés a 'statistical', ezt a kettőt együtt 'empirical-based'- nek is mondják. Szokás még 'pattern-based' megközelítésről beszélni, ami csak tág értelemben 'empirical-based'. Divatos még a 'data-driven' megnevezés is, ami szerintem a tágabb értelemben 'empirical-based' MT-t jelenheti kb. Az elnevezések homályosságából és sokszínűségéből látszik: ma már nem lehet egy MT megközelítést egy két szóval definiálni. Konkrét modellek, konkrét architektúra elképzelések mondanak valamit.

Előzmény: Vadcseresznye (49)
Vadcseresznye Creative Commons License 2004.11.05 0 0 49
"Ajánlom figyelmedbe: Google: human brain MIPS" Természetesen, aki nem ért veled egyet valamiben, annak fogalma sincs a Google használatáról.:-) Azt hittem, értelmesen el tudunk majd fórumozni a fordítóprogramok rejtelmeiről, de úgy látom nem megy. A netem mindenre és mindennek az ellenkezőjére találsz "bizonyítékot". Semmi értelmét nem tartom hivatkozástengerrel dúsított parttalan vitákba belemenni. Én arra használom a netet, hogy megismerjem mások állláspontját az engem érdeklő témákban. A fórumok segítségével elmondhatom saját véleményem is. DE: Ez számomra nem háború, vetélkedő, valóságshow. Semmi kedvem virtuális adrenalincsatákat vívni. Egyetlen rövid keresési kísérlettel alátámasztható lett volna az a gyanú, hogy azonos a forrása a rengeteg 100 millió MIPS-es Google találatnak. Beszédes, hogy ha érveid alátámasztásáról van szó, eszedbe sem jut gyanakodni. Beszédes, hogy a találatmennyiséggel érvelsz. Emiatt célszerűnek látom a továbbiakban hallgatni.
Előzmény: nadamhu (48)
nadamhu Creative Commons License 2004.11.04 0 0 48

Ezekkel a számokkal csak az a baj, hogy ahány serző, annyi becslés. A közölt adatok általában köszönő viszonyban sincsenek egymással.

Alá tudnád támasztani linkekkel, hogy a közölt adatok köszönőviszonyban sincsenek egymással? Csak mert szerintem elfogadott nagyságrend, amit én írtam.

 

Ajánlom figyelmedbe:

Google:

human brain MIPS

 

hihetetlen képességű agy elméletét

Én nem tartom hihetetlen képességnek a 100 millió MIPS-et, nem is célom szubjektív értékítéleteket alkotni, próbálok objektív maradni. A vita ott kezdődött, hogy te a mai fordítóprogramok esetében hatalmas számítási kapacitásokról beszéltél, én meg figyelmeztettelek, hogy az a 'hatamas teljesítmény' relatív, pl. az emberi agy nagyságrendekkel nagyobb számítási kapacitással rendelkezik, mint a mai PC-k.

 

Soknullás végű számok ezekben a publikációkban még véletlenül sem fordulnak elő.

Nézd, a számok onnantól érdekesek, ha tudjuk mi a mértékegység. Én 100 millió MIPS-ről beszéltem. A komoly szerzők miben mérik a számítási kapacitást? Link?

 

Néhány ezer, maximum néhány tízezer entitásról esik szó inkább.

Gondolom arra gondolsz, hogy a kognitív pszichológiában néhány tízezer sémáról beszélnek. Most már csak az a kérdés, hogy a kognitív pszichológia sémafogalmából hogyan tutdnánk számítási teljesítményt számolni.

 

Előzmény: Vadcseresznye (47)
Vadcseresznye Creative Commons License 2004.11.04 0 0 47
Ezekkel a számokkal csak az a baj, hogy ahány serző, annyi becslés. A közölt adatok általában köszönő viszonyban sincsenek egymással. Olyan apróságokról nem is beszélve, hogy az agy a nyelvi funkciókon kívül ezernyi más feladatot is ellát. Ki lehet ragadni egy cikket a web tengeréből, ami alátámasztja a hihetetlen képességű agy elméletét, csak éppen túl sok értelme nincs. Számtalan hipotézis létezik ugyanis az agy működésére. A komoly szerzők inkább a tanulás, az emlékezet, a problémamegoldás megfigyeléséből származó következtetéseket vonnak le. Soknullás végű számok ezekben a publikációkban még véletlenül sem fordulnak elő. Néhány ezer, maximum néhány tízezer entitásról esik szó inkább. (Lásd: pszichológiai szakirodalom.)
Előzmény: nadamhu (46)
nadamhu Creative Commons License 2004.10.29 0 0 46

Számomra egyébként ebben az volt az érdekes, ami a második oldalon olvasható:

 

By calculation, scientists discovered that the brain's memory/MIPS ratio matches that of modern computers. The megabyte/MIPS ratio seems to hold for nervous systems too!

 

Tehát ugyanannyiszor tűnik gyorsabbnak az agy, mint amennyiszer több memóriája is van.

Előzmény: nadamhu (44)
nadamhu Creative Commons License 2004.10.29 0 0 45
Előzmény: nadamhu (44)
nadamhu Creative Commons License 2004.10.29 0 0 44

Én nem tudok ekkora kapacitásokról

 

A csatolt linken olvashatsz egy egyszerű összehasonlítási becslést.

Egy átlagos agy számítási kapacitását 100 millió MIPS-re becsüli, ami több ezer erős PC-nek felel meg. A konkrét kapacitáson lehet vitatkozni, de a nagyságrendek stimmelnek, sőt valószínűleg ez egy PC-k számára jóindulatú becslés.

 

Előzmény: Vadcseresznye (43)
Vadcseresznye Creative Commons License 2004.10.29 0 0 43
Ha mindenáron nevet szertnél adni a dolognak, akkor legyen "szótár". Úgy gondolom, a szavak, kifejezések, mondatok (!) tárolási struktúrája a döntő egy fordítóprogram hatékonyságában. Nadam írja: "Az emberi agy nagyságrendekkel nagyobb számítási és memóriakapacitással rendelkezik, mint monjuk egy mai PC." Én nem tudok ekkora kapacitásokról, ellenben tudok egy a PC-nél nagyságrendekkel hatékonyabb tárolási, asszociációs, keresési és feldolgozási struktúráról. Az agy valójában elég lassú szerkentyű, a párhuzamos feldolgozás, a tárolási struktúra teszi hatékonnyá. Én nem akarok okosabb lenni, mint az evolúció volt. Ezért próbálom lehetőleg mellőzni a ma elterjedt megközelítéseket. Remélem, egyszer lesz időm rá, hogy komolyan nekifogjak a dolognak. Jelenleg a megélhetés fontosabb, mint a kihívások.:-(
Előzmény: alphanumericus (42)
alphanumericus Creative Commons License 2004.10.28 0 0 42

Nem értem, milyen adatbázisokra gondolsz... A megközelítésed hasonlít kicsit a párhuzamos korpuszos megoldásra. Szerintem, legalábbis úgy tűnik, az általad kritikával illetett cégek többsége (leszámítva itt természetesen az I-féle hüleséget) inkább eltér ettől a megoldástól.

 

Kíváncsi lennék, mi az az adatbázis, ami akkora segítséget jelentene. Azt hiszem, nadamhu is rákérdezett már: szótárakra gbondolsz?

Előzmény: Vadcseresznye (41)
Vadcseresznye Creative Commons License 2004.10.28 0 0 41
"A kreativitás hiányával vádolsz mindenkit, aki ezzel a témával foglalkozik, anélkül, hogy konkrét javaslataid, ötleteid lennének..." Pedig vannak konkrét ötleteim.:-) Azok az adatbázisok azonban, amelyekkel ezeket megvalósíthatnám, jogvédettek. Ezért mondtam, hogy 'M' előnyben van. Most éppen azon agyalok, hogyan lehet kiinduló adatbázisok nélkül (csupán a Vonyó-szótárra és a linuxos forrásokra hagyatkozva) létrehozni egy működő rendszert. Pár száz sorban, természetesen.:-) A megoldás kulcsát én ugyanis nem az algoritmusokban, hanem az adatbázis "jóságában" sejtem.
Előzmény: nadamhu (39)
nadamhu Creative Commons License 2004.10.28 0 0 40

Elemeznek, generálnak, végesautatáznak.

A végesautomatásdi egy kiterjesztett változata kiválóan alkalmas a morfológia egzakt leírására. Morfológia kipipálva. Tudom, ez a problémakör legegyszerűbb része, de azért ez is eredméyn.

 

A nyelvek nem az akadémiai nyelvtanok szabályrendszerei alapján működnek.

Őőőő. izééé. Csak nem arra gondolsz, hogy bárki ezt állítaná?

Nincs olyan, hogy akadémiai nyelvtan.  A nyelvészetben egy csomó konkurrens leírási forma versenyzik. Chomsky modelljének nagy szerepe volt, de az már a kezdetektől nyilvánvaló volt, hogy nem elég, és folyamatosan próbálkozik mindenki újabb és újabb formalizmusokkal. Fordítóprogram író cégek pedig végképp nem esnek abba a hibába, hogy valamiféle túlzott akadémiai precizitáshoz tartsák magukat, mert akkor nem tudnának eredményt felmutatni.

 

A mai fordítóprogramok hatalmas számítási és tárolási erőforrás-ráfordítással siralmas eredményeket produkálnak.

Pont ezért érdekes ez a terület, mert láthatólag nehéz a feladat, és van még mit kutatni. Amúgy nagyon relatív ez a 'hatalmas számítási és tárolási erőforrás-ráfordítással' dolog. Az emberi agy nagyságrendekkel nagyobb számítási és memóriakapacitással rendelkezik, mint monjuk egy mai PC.

 

Nem ismerjük azt a mechanizmust, ami alapján egy nyelv működik.

Senki nem állította, hogy ismerjük.

 

A jelenségek egy részét leírja a nyelvtan.

Gondolom a szintaktikára gondolsz. Ma még nem ismert tökéletes szintaktikai modell, van még mit kutatni itt is. És természetesen összefügg a szemnatikával. Nehéz a kettőt szétválasztani... Éppen ezért érdekes a terület.

 

A szókincs egy részét tartalmazza a szótár.

Nem tudom mit értessz szótár alatt.

 

A többit rábizzák a processzorokra anélkül, hogy új megközelítésekkel próbálkozzanak.

Szerintem rendszeresen próbálkozik mindenki új megközelítésekkel, és lassan meg is figyelhető a fejlődés. Érettebb a számítástechnika az ilyen kutatásokra, mint az 50-60-as években.

 

Előzmény: Vadcseresznye (38)
nadamhu Creative Commons License 2004.10.28 0 0 39

A kreativitás hiányával vádolsz mindenkit, aki ezzel a témával foglalkozik, anélkül, hogy konkrét javaslataid, ötleteid lennének...

Nem tudom, nekem egy csomó ötletem van, amelyeket még szeretnék kipróbálni, de nem két-napos munka leprogramozni-kipróbálni őket... Tudod, vannak olyan kreatív ötletek, amit 10 perc alatt ki lehet találni akár a villamoson ülve, de hogy működik-e, annak a méréséhez mondjuk akkora adatbázist kell építeni, hogy évekig is eltarthat, mire megbízható mérési eredményid vannak, az ötlet jóságával kapcsolatban. Azután jöhet a kísérletezés, egy valamirevaló modellnek ezerféle paramétere van, ezért nem árt kísérletezni, hogy melyek az optimális paraméterek... Ezeket a dolgokat IQ-ból senki nem tudja megmondani, csak a filmekben lévő álzsenik.

A valóságban az utóbbi 60 évből légyszíves mondj olyan terméket, amihez elegendő lett volna mondjuk egy ember egy ötlete, és mondjuk max 2 hónapi munkája. (Mint ahogy a pár száz soros programot említetted.)

 

Pont mostanában olvasok az atombomba elkészítésének a projektjéről. A világ legnagyobb koponyáit terelték egybe Los Alamosban, akiknek voltak jócskán ötleteik, amikre akár árhuzamosan is ráállítottak erőforrásokat. A sok jó koponya mellett is éveig dolgoztak több százan, mire az első atombomba felrobbant. Már tudom a válaszodat: szerinted nem voltak elég kreatívak.

 

Ugyan nem hiszem, hogy egy kutatási projekt csak attól jobban fog menni, hogy 50 helyett 100 embert állítanak rá, de mindenesetre szélsőséges véleménynek tartom, hogy úgy gondolod, hogy majd jön valaki a semmiből, és pár száz soros programmal megváltja a világot.

Előzmény: Vadcseresznye (38)
Vadcseresznye Creative Commons License 2004.10.28 0 0 38
Éppen azt értem izomból való megoldás alatt, amit az említett cégek művelnek. Elemeznek, generálnak, végesautatáznak. Még mindig bíznak benne, hogy a nyelvtannak nevezett spekulatív szabályhalmazokkal mennek valamire. A nyelvtan mesterséges konstrukció. A nyelvek nem az akadémiai nyelvtanok szabályrendszerei alapján működnek. A mai fordítóprogramok hatalmas számítási és tárolási erőforrás-ráfordítással siralmas eredményeket produkálnak. Nem ismerjük azt a mechanizmust, ami alapján egy nyelv működik. A jelenségek egy részét leírja a nyelvtan. A szókincs egy részét tartalmazza a szótár. A többit rábizzák a processzorokra anélkül, hogy új megközelítésekkel próbálkozzanak. M azért eredményesebb, mint a többi, mert van két olyan erőforrásuk (adatbázisuk), amelyikkel a többiek nem rendelkeznek. A megközelítésük azonban semmivel sem kreatívabb, eretetibb, mint az izomból dolgozó cégeké. Maximum jobban ismerik a magyar nyelvet.
Előzmény: alphanumericus (37)
alphanumericus Creative Commons License 2004.10.28 0 0 37

Mit értesz "megoldjuk izomból" szemlélet alatt? Akárhogy is, de az M megközelítése (hasonlóan nadamhu barátunkéhoz, és idesorolnám, ha megengeded, azért a Datívuszt is) az egyik legjobb, amit találsz: alapesetben mondatot értelmez. Gondolom M "mozaikfordítás" szavacskája a buborékok alján a mondatrészekből összerakott dolgokat jelöli. Más esetekben kiköpi a teljes egészben elemzett mondatot.

 

Valszeg I-re gondoltál, nem? Egyébként a világban vannak olyan cégek, akik valóban "izomból" kívánják megoldani a problémát. Például a svéd-görög S-Team, akik rohadt sokat dolgoznak azon, hogy combos gépeken kvázi fordítómemóriát állítsanak elő párhuzamos korpuszokból. Nekem ez lenne az izom... szerintem magyar cég vagy fejlesztői csapat neki se menne egy ilyen hülyeségnek. Azt hiszem, M épp, hogy így csinálta meg magát: sutba dobta az "izmozós" megközelítést és elemzésre és generálásra helyezte a hangsúlyt.

Előzmény: Vadcseresznye (34)
nadamhu Creative Commons License 2004.10.27 0 0 36

Aha, értem, ilyesmit nem kezelek az 1.0-ás programomban, 'puskatus' a véletlen műve volt.

 

Viszont elmondanám a jelenlegi elképzeléseimet, ha van kedved esetleg elmondhatnád róla a véleményedet:

A következő verzió szemantikai része öntanuló lesz. (Még nincs leimplementálva, mert jelenleg a szintaktikai elemzésben vagyok elmélyedve.)

A szemantikai rész a következőképpen működik majd:

Az angol nyelvtani elemző elkészíti a mondat elemzési fáját. Ebben van néhány döntési pont, pl, hogy a 'butt' 'puskatus'-e vagy 'fenék', meg ilyesmik. A döntéseket egy ember elvégzi, és ez a döntésekkel ellátott fa elmentődik a tanítási adatbázisban.

 

Amikor aztán elég nagy az adatbázis, eljön az ideje, az automatikus fordításnak. Ekkor a program a már éles mondatot elemzi, majd sorra veszi a döntési lehetőségeket. Minden egyes esetet megvizsgál, és meghatározza a fa azon állapotában való 'szemantikai stabilitását'.

A legnagyobb szemantikai stabilitású döntési kombináció lesz a nyertes, és a fordítás ennek megfelelően megy végbe.

Hogyan számolom ki a szemantikai stabilitást, és mit értek alatta?

Annál nagyobb a szemantikai stabilitása egz mondatnak, minél inkább előfordultak az adatbázisban hasonló (rész)elrendezések, mint a jelenlegi ő maga.

Pl. ha az adatbázis tele van azzal, hogy a take ige a 'fog' jelentéssel 'a taxi' tárgyat kap, akkor a 'take' ige ilyen esetben valószínűleg 'fog'-nak fordítódik, mert így nagyobb a stabilitás.

De figyelembe fogok venni lazább, távolabbi kapcsolatokat is. Pl. ha a butt puskatus értelemben sokszor előfordult a gun főnévvel egy mondatban, míg fenék értelemben egyszer sem, akkor a puskatus értelemnek lesz nagyobb a stabilitása.

Ezt a részt még nem dolgoztam ki részleteiben.

Olyan 'szemantikai stabilitás' kiszámító algoritmuson gondolkodok, aminek nem mondom meg, hogy miről szól a fa, (éppen ezért öntanuló) hanem általánosan keres gyakran előforduló közeli vagy távoli kapcsolatokat a fában.

 

Ez egyébként még mindig nem elég, mert ehhez túl nagy adatbázis kellene. Kikerülhetetlen valamiféle 'szó' kategorizálás, pl. olyan kategóriák, hogy 'élő'/'élettelen', 'mozgást kifejező ige'. Ha a szavak kategóriáit is figyelembe veszi a rendszer, akkor okosabban veszi észre a hasonlóságokat.

A kategóriák kézzel való létrehozása azonban megölné az öntanulás előnyét. Ezért azt tervezem, hogy a kategóriákba való sorolást is automatikusan genetikus algoritmussal fogom létrehozni. (Véletlenszerű kategórizálásból indulok, majd megnézem, hogy milyen változtatásokkal lesz egyre okosabb a rendszer. A genetikus algoritmust futtathatom akár egy hónapig is. Az általa kihozott kategorizálást fogom aztán felhasználni az éles rendszerben.)

Előzmény: Eisengrau (35)
Eisengrau Creative Commons License 2004.10.27 0 0 35

Viszont ennek is megvan a hátulütője.

 

pl.

 

I go to him -> Belé megyek.

 

Szövegizotópia alatt nem egészen azt értem, amit te .

 

Te gyanítom idiómáka gondolsz - vagyis olyan összetett egységekre, melyek jelentése nem következtethető le az egyes szavak jelentéséből. Erre példa az "It went wrong", ami enyhén idiomatikus (ugyanis vannak azon belül is fokozatok).

 

Egy erősebben idiomatikus pl. a "tűkön ülök", aminek jelentése nem (teljesen) egyezik a tagok jelentésének összegével.

 

...

 

Szövegizotópia segítségével megérthető/lekövetkeztethető a szöveg általános jelentése, ill. a tagok pontos jelenetése (amennyiben poliszémia esete forog fenn).

 

Pl. egy szövegben, ahol előfordul a 'gun', 'hunt', 'bullet' szó, ott a 'BUTT' szó jelentése az izotópiából következtetve nagyobb valószínűséggel "PUSKATUS", mint pl. "fenék", és  ugyanitt a  "BUCK" szó inkább jelent "szarvas"-t, mint "fűrészbak"-ot.

 

Persze korántsem 100% módszer az izotópia használata.

 

Azért mondom mindezt, mert még nem láttam olyan fordítóprogramot,mely kihasználta volna ezt a módszert.

Előzmény: nadamhu (33)
Vadcseresznye Creative Commons License 2004.10.27 0 0 34
Mivel az M.I.-címkét előszeretettel ragasztják rá a kutatók olyan problémákra, amelyek megoldásáról fogalmuk sincs, jelenleg tényleg M.I.-probléma a gépi fordítás. Én arról beszéltem, hogy lehet, nem mindig lesz így. De a címkétől függetlenül: Nem látom, a jövőben mitől lennének jobbak a többmilliónyi emberóra fejlesztéssel, kutatásal létrehozott, valójában alig használható gépi fordítók. (Ne feledd, hiába "csak" egy emberévnyi munkád van 'C'-ben, felhasználsz olyan eredményeket, amelyekre a kutatók többszáz/többezer emberévnyi időráfordítás után jutottak.) A vasak erősebbek lesznek, a háttértárolók nagyobbak, a memóriák olcsóbbak, az információk hozzáférhetőbbek. Ez jelenti a mostani előrelépések zömét. Szó sincs arról, a M$ 'megoldjuk izomból' szemlélete ne lenne jelen a gépi fordítás területén.
Előzmény: nadamhu (27)
nadamhu Creative Commons License 2004.10.26 0 0 33

Elnézést kihagytam a 3. mondatot. Szóval enek a 3 mondatnak a fordítását érdemes megnézni, szép példája annak, ahol a kezdetleges jelentéskiválasztás már jól működik:

 

I go to school.

I go to that point.

It went wrong.

 

Előzmény: nadamhu (31)
nadamhu Creative Commons License 2004.10.26 0 0 32

Alapvetően a program tippel valamit, és a júzer korrigálhatja.

Jelenleg sok esetben még majdnem véletlenszerűen tippel, tehát teljesen a user feladata a kiválasztás.

A későbbi verziókban egyre okosabban tippel majd, de a korrigálás lehetőségét nemhogy kiveszem a rendszerből, hanem továbbfejlesztem.

Előzmény: Eisengrau (30)
nadamhu Creative Commons License 2004.10.26 0 0 31

Csak nagyon kezdetleges modell van erre a publikált 1.0-ás programban.

Tulajdonképpen csak igének és vonzatának szemantikai kapcsolatát veszi figyelembe mind az ige, mind a főnév jelentésének meghatározásakor.

 

I go to school.

I go to that point.

 

A szabálybázis csincs olyan mértékben feltöltve, hogy ez mindig látszódjék.

 

Nyár óta egy 2.0-ás rendszeren dolgozom, ami sokkal jobb lesz, de még soká fogom publikálni/soká lesz kész.

Ha röviden össze akarom foglalni akkor azt mondhatom róla, hogy nyelvtani szinten szabályalapú lesz, míg szemantikai szinten adaptív/öntanuló/statisztikai módszereken alapló. A szövegizotópia felismerése sokkal fejletteb lesz benne.

Tulajdonképpen szemantikai szinten egyfajta fordítómemóriaként fog működni. Tulajdonképpen utólag nem csak szó alternatívákat lehet majd benne legördülő menüvel korrigálni, hanem komplett struktúrákat is. Ezért a program átmenetet fog képezni automatikus gépi fordítás és fordítómemória között.

Előzmény: Eisengrau (29)
Eisengrau Creative Commons License 2004.10.26 0 0 30

Ja, most látom hogy a júzer feladata kikeresni a megfelelő jelentést...

Eisengrau Creative Commons License 2004.10.26 0 0 29

nadamhu:

 

Programodban van ún. a szövegizotópia-felismerő modul? (röhejes megfogalmazás, tudom)

 

Azért kérdem, mert sikerült azonosítania a 19. számú mondatban a "butt" lokális jelentését (puskatus).

 

Véletlen műve, vagy van erre próbálkozás?

 

 

alphanumericus Creative Commons License 2004.10.26 0 0 28
A gépi fordítást gyakran tekintik az M.I. kutatás egy részének.
Előzmény: nadamhu (27)
nadamhu Creative Commons License 2004.10.26 0 0 27
Ahogy javul a minőség, egyre inkább M.I. jellegű megoldások kellenek szerintem. Szerintem a gépi fordítás kutatása segíteni fogja az M.I. kutatását, és viszont.
Előzmény: Vadcseresznye (24)
nadamhu Creative Commons License 2004.10.26 0 0 26
Tök érdekesnek találom a témát, így szeretek utánaolvasni is. A téma először elsőéves egyetemista koromban kezdett foglalkoztatni: angol nyelvórán kicsit unatkoztam, és rendszeresen gondolkodtam magamban ezen a témán...
Előzmény: alphanumericus (22)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!