Welcome, Guest. Please login or register.


Author Topic: Mondatokat alkotó program (Read 500 times)

Offline szipucsu

  • EP addict
  • *
  • Posts: 7130
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 21.0 Firefox 21.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Mondatokat alkotó program
« on: 2013.June.14. 14:10:49 »
Azon gondolkoztam, lehetne-e olyan programot írni, ami angolul (vagy akár más nyelven) önállóan mondatokat generál. Tehát meg lenne adva tömbökben egy csomó ige, főnév, melléknév és mindenféle szófaj, és ezeket rakná egymás mellé úgy, hogy helyes mondatok legyenek belőle. Véletlenszerűen alkotna mondatokat, de közben figyelne a szabályokra, mi állhat mi mellett a mondatban, stb.
Arra is figyelni kéne, hogy milyen szavak mivel passzolhatnak össze, így pl. az "olvasni" ige mellé a "könyv", "újság" főnév passzolhat, de pl. az "asztal" nem.
Ha ez már nagyon jól megy, meg lehetne csinálni más nyelvre is, és akár úgy, hogy ugyanazt a mondatot írja ki a gép két nyelven.
IS-BASIC-ben ebből szerintem sokat meg lehetne valósítani.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 12953
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 21.0 Firefox 21.0
    • View Profile
    • http://enterprise.iko.hu/
Re:Mondatokat alkotó program
« Reply #1 on: 2013.June.14. 14:22:13 »
Angolul könnyű, ott nincs ragozás, csak össze kell dobálni egy csomó szót egy kupacba és máris értelmes :-D
Még ha beletesszük azokat a szabályokat, amiket mindig emlegetsz, akkor se lesz túl bonyolult :-)

Offline lgb

  • EP addict
  • *
  • Posts: 3470
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 28.0.1500.36 Chrome 28.0.1500.36
    • View Profile
    • http://lgb.hu/
Re:Mondatokat alkotó program
« Reply #2 on: 2013.June.14. 22:20:54 »
Quote from: szipucsu
Azon gondolkoztam, lehetne-e olyan programot írni, ami angolul (vagy akár más nyelven) önállóan mondatokat generál. Tehát meg lenne adva tömbökben egy csomó ige, főnév, melléknév és mindenféle szófaj, és ezeket rakná egymás mellé úgy, hogy helyes mondatok legyenek belőle. Véletlenszerűen alkotna mondatokat, de közben figyelne a szabályokra, mi állhat mi mellett a mondatban, stb.

Angolul nem olyan gaz, magyarul komplexebb ... Amugy emlekszem, "fiatal koromban" volt egy BNF faval operalo Knight Rider tortenet generalo :) Ugye kb az hogy story = bevezetes, focim, tortenet, vegkifejlet stb. Aztan ki van fejtve hogy mibol all a bevezetes stb, egeszen minden mondatig, szofajokig, stb, aztan a vegen van egy csomo szo mindenre. Aztan egy veletlenszam-generator valaszt minden halmazra random szavakat es a BNF fa alapjan felepiti belole a teljes tortenetet. Nagyon vicces tortenetek jottek igy ki :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 12953
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 21.0 Firefox 21.0
    • View Profile
    • http://enterprise.iko.hu/
Re:Mondatokat alkotó program
« Reply #3 on: 2013.June.14. 22:23:53 »
Mi az a BNF?

Offline lgb

  • EP addict
  • *
  • Posts: 3470
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 28.0.1500.36 Chrome 28.0.1500.36
    • View Profile
    • http://lgb.hu/

Offline szipucsu

  • EP addict
  • *
  • Posts: 7130
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 21.0 Firefox 21.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Mondatokat alkotó program
« Reply #5 on: 2013.June.15. 20:34:13 »
Egyelőre eddig jutottam: * Angolos.ep128s (240.78 kB - downloaded 81 times.)

Lehetne még bőven bővíteni a szókincsét és még hosszabb mondatokra megtanítani és még több szabályra, de mára részemről ennyi.
Csak meg kell nyomni az F1-et és már ontja is magából random az angol mondatokat.

Offline endi

  • EP addict
  • *
  • Posts: 6563
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
    • Honlapom
Re:Mondatokat alkotó program
« Reply #6 on: 2013.June.15. 20:50:36 »
Tök jó. Fejleszd tovább. Pl. az egymás után következő mondatok közt legyen valami összefüggés. Mintha két ember beszélgetne. Néha kérdezzenek és a válasz valahogy kapcsolódjon. :)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline szipucsu

  • EP addict
  • *
  • Posts: 7130
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 21.0 Firefox 21.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Mondatokat alkotó program
« Reply #7 on: 2013.June.15. 21:29:25 »
Ahhoz nem lövök, hogyan lehetne megcsinálni, hogy a mondatok között összefüggés legyen.
Így is eléggé korlátozott jelentéskörű szavak vannak benne, csak személy lehet az alany, mert nem illik minden szó minden szó mellé. Így aztán tele lehet írni a DATA sorokat személyt jelölő főnevekkel, emberekre jellemző tulajdonságokkal vagy igékkel.
Egyébként az lenne a távolabbi célom ezzel, hogy a program kiírja egymás után angolul és mondjuk németül is ugyanazt a mondatot, nem tűnik lehetetlennek (bár talán az eszperantó könnyebb lenne. :D ). És így akár azt is meg lehetne csinálni, hogy kiír egy angol mondatot és be kell írni a német megfelelőjét, és ha jó, akkor kapunk érte pontot.
Esetleg össze lehetne ereszteni ezt a SAY programmal vagy a Speakeasy-vel, de ahhoz azt is meg kéne tanítani a gépnek, mit hogyan ejtsen ki, ez húzós lenne.

Offline endi

  • EP addict
  • *
  • Posts: 6563
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
    • Honlapom
Re:Mondatokat alkotó program
« Reply #8 on: 2013.June.15. 21:31:51 »
Pl. úgy lehetne válaszolgatóst, hogy az első mondat egyik szava (alany vagy állítmány) szerepel a másodikban is.
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline szipucsu

  • EP addict
  • *
  • Posts: 7130
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Mondatokat alkotó program
« Reply #9 on: 2018.May.31. 00:10:08 »
Öt éve elkezdtem egy programot, amely angolul értelmes és helyes mondatokat generál magától. Akkor ide fel is tettem. Volt benne egy hiba, a "we" mellett a "be" változatlan maradt, nem lett belőle "are". Ezt kijavítottam, és a "have" után most már nem csak "a dog", "a cat", "a house" lehet, hanem "a car", "a book" is. A létige mellett már a "here" és "there" is előfordul. Eddig mindig tett jelzőt is az alanyhoz, most ez véletlenszerűen elmaradhat.
* Angolos.ep128s (70.92 kB - downloaded 20 times.)

Offline szipucsu

  • EP addict
  • *
  • Posts: 7130
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Mondatokat alkotó program
« Reply #10 on: 2018.June.02. 21:57:20 »
Ez lehet, senkit nem fog érdekelni, de fejlesztgettem ezt az angolos programot. Most véletlenszerűen tesz a mondatba often, usually, always, stb. határozószókat, ezeknek az ige előtt kell lenniük (kivéve a létigét, annak utána áll). Lett néhány elég érdekes mondat, ami helyesnek tűnik, de sose mondanék ilyet. Nem tudom, akinek angol az anyanyelve, mondaná-e pl. a snapshotban is legyártott mondatokat (Pl. Everybody sometimes eats). Meg ezek az each, every szavak teszik furává egyik-másik mondatot, főleg, ha az each és az a határozó is a mondatban van. De lehet, csak azért fura, mert önmagában van a mondat a semmiben, nem szövegben. Talán ki kéne venni az each és every szavakat, mert pl. az Every boy always runs nekem értelmesnek is tűnik meg nem is...

Offline Lacika

  • EP addict
  • *
  • Posts: 2865
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
    • http://www.ep128.hu
Re:Mondatokat alkotó program
« Reply #11 on: 2018.June.03. 00:02:40 »
Érdekel!
Az Every boy always runs tényeg furcsa kicsit. Nem all of az?

Offline szipucsu

  • EP addict
  • *
  • Posts: 7130
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re:Mondatokat alkotó program
« Reply #12 on: 2018.June.03. 16:00:06 »
Az Every boy always runs tényeg furcsa kicsit. Nem all of az?
Igen, all (of) the boys jobb lenne, de valamiért nekem furának hangzik az "All the boys always run" is. Az "always" nélkül viszont jól hangzik. Érdekes dolog a nyelv, olyan szabályok vannak benne, amiket soha nem tanulunk, pl. az always milyen mondatba nem passzol, mégis ösztönösen jól használjuk. Ezek az "always"-szerű szavak a have ige mellett is furán hangzanak, hiszen (általában) nem mondjuk, "néha van autóm", "mindig van autóm", stb. Elsőre bele se gondol az ember, hogy ilyenekre is figyelni kell a programban.
Most kiszedtem az every és each szavakat, helyette egyelőre az our és one van, de ezek se lesznek sokáig. Most már a have/has ige mellett nem használ egyáltalán always-szerű szavakat, és a somebody, everybody stb. mellett sem, mert azok mellett is fura. Életemben nem gondoltam bele, hogy ezek mellett nem állhatnak, egész eddig. A "Somebody never runs" is fura mondat, pedig nyelvtanilag helyesnek tűnik. Ja, és majd az a/an névelő is el fog tűnni, mert azzal is furán hangzik sok mondat.
A korábbi verzióról írtam a weboldalamon (Számítógépes mondatalkotás - Hogyan tanítsuk meg a számítógépet angolul?), de ennek ezek szerint lesz folytatása.