Sziasztok!
Toldalékmorfémák programozott illesztéséra keresek puskát. A kódomnek egy szövegsablonbe kellene tudnia nevekat, dátumoket, egyéb adatoket toldalékolva beilleszteni a megfelelő alakú toldalékot kiválasztva (több alakú toldalékok esetében van a para, nyilván).
Feltételezem, hogy nem én vagyok az első, aki ezzel a feladattal szembesül, és létezik már erre szabad forrású megoldás. Nekem java-ban kell a kód, de már az is sokat segítene, ha a hangrend megállapítására találnék egy elegáns bármely nyelvű kódszeletet.
Köszi előre is!
- 8881 megtekintés
Hozzászólások
Magyarul a hangrend megállapítása egyszerű. Csak a magánhangzók számítanak. Az eéiíüűöű (teniszütő) magánhangzók magasak az aáuúoó (autó) magánhangzók mélyek. Ha csak magas vagy csak mély hangrendű magánhangzók vannak a szóban akkor a magas vagy mély hangrendű toldalék kell. A vegyes hangrendűek esetén (főleg idegen szavak) a mély hangrendű toldalék jár (kivéve a kivételeket) sőt van olyan is, ahol mindkettő jó.
Bővebben például itt: http://www.nyest.hu/hirek/hanyfele-vegyes-hangrend-van
- A hozzászóláshoz be kell jelentkezni
Pont a linkelt honlap cáfol meg:
Az iskolában ma is azt oktatják, hogy a vegyes hangrendű szavaink helyes toldalékolása bizonytalan és bonyolult, illetve mély hangrendű toldalékot javasolnak különösebb indoklás nélkül (amolyan „ez a szabály” alapon). Miért éppen mélyet kéne használni? Ha a magánhangzó-harmóniát vesszük alapul, akkor magas szótaghoz magas, mélyhez mély toldalék járulna, nem? Mi ez a magánhangzó harmónia pontosan?
Az az érzésem, az iskolában is jól összekutyulják a dolgokat.
Én speciel úgy tanultam (legalábbis úgy rémlik), hogy a vegyes hangrendűekhez járó toldalékok általában olyan hangrendűek, amilyen a szóban az utolsó szótag, tehát pl. állatkertben, sofőrrel, februárban, Pecsában, számítógéppel, telefonnal, betonnal, stb.
- A hozzászóláshoz be kell jelentkezni
hát az határozottan nem segít, hogy már a nyelvtani szabály sem egyértelmű. Vajon más kolléga hogyan programozta ezt le...
- A hozzászóláshoz be kell jelentkezni
Ha a kivételekre nincs szabály (márhogy milyen elv alapján kivételek), akkor gondolom az összes kivételt tárolja valahol :)
- A hozzászóláshoz be kell jelentkezni
Egy dolog a hangrend (vannak kivétele, például "férfiak", meg sokszor az "i" inkább mély mintsem magas), de aztán ott vannak a kötő magánhangzók (nem tudom mi a hivatalos nevük), a hosszabbodó magánhangzók, kieső magánhangzók és még fene tudja mi minden...
- A hozzászóláshoz be kell jelentkezni
Kötőhangra gondolsz, úgy gondolom. Viszont a "férfiak"-ban az "a" pont kötőhang, a többes szám jele "k" lesz a toldalék. Viszont a férfivel nem tűnik rossznak (talán a férfival sem - de inkább a nőkre szavaznék :) ), viszont a férfiben garantált, a férfiban... szóval hangzásra hirtelen nem tetszik. De a pulcsival és a "pulcsivel" már egyértelmű...
Vannak kivételek, régebben én is próbáltam egy ilyesmi programot írni (még Pascal-ban), de nagyon bonyolult a magyar nyelv. Ja, a teljes hasonulásról még nem is beszéltünk :D
- A hozzászóláshoz be kell jelentkezni
ne keserítsetek el, erre tényleg nincsenek kész programok?
- A hozzászóláshoz be kell jelentkezni
Dehogynem (aspell, ispell, hunspell). Nem neked kell egy ilyet írni?
- A hozzászóláshoz be kell jelentkezni
figyuka, ragassz már nekem toldalékot aspellel. Ha nem sikerülne, akkor szopogassál lovat köszi
- A hozzászóláshoz be kell jelentkezni
A stílus maga az ember.
- A hozzászóláshoz be kell jelentkezni
Tudod ellenőrizni aspell-lel is a toldalékolás helyességét, hülyegyerek:
echo állattal | aspell -a
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6.1)
+ állat
- A hozzászóláshoz be kell jelentkezni
még egy utolsó kicsi bump: senki nem írt még toldalékolót, amit szivesen megosztana?
- A hozzászóláshoz be kell jelentkezni
Persze. Ha meg neadjisten nem működik, szopogasson lovat, igaz?
- A hozzászóláshoz be kell jelentkezni
Ok, azt hiszem, ebben így megállapodhatunk, hogy mindenki, aki olyan megoodást ajánl, ami vagy nem működik, vagy nem megoldás a problémámra, az szopogathat lovat. Igen, ez így igazságos.
- A hozzászóláshoz be kell jelentkezni
"Segítsetek b+!" - de szép
- A hozzászóláshoz be kell jelentkezni
Meg fizessen kártérítést is (mondjuk óradíjban), merthogy feleslegesen pazaroltad rá a drága idődet.
- A hozzászóláshoz be kell jelentkezni
Te poliverzumnak valami apgrédelt verziója vagy?
Ő csak vitába száll azzal, aki úgy próbál neki segíteni, hogy nem pont azt mondja, amit poli hallani akar, de te menten lovat is szopatnál vele.
Néhányszor elcsodálkozom, hogy egyes ifjú kollégák bedobnak egy kérdést, aztán a válaszadókat úgy otthagyják a topicban, mint eb a szaharát, de úgy látszik, lassan felnő egy még újabb generáció.
- A hozzászóláshoz be kell jelentkezni
poliverzum: nem ismerem sajnos a kollégát, de ha ő is nehezményezte, amikor úgy próbáltak neki "segíteni", hogy
Nem neked kéne egy ilyet írnod?
akkor rokonlélek lehet. sajnálom, ha rossz tapasztalataid vannak ezekkel a mai fiatalokkal, lol
- A hozzászóláshoz be kell jelentkezni
Ezen rágtál be? Azért kérdeztem(!!!), mert a topik indításból úgy értettem, hogy te akarsz (vagy kell) egy ilyet írni. Ha most ezt félreértetted és ezért megsértődtél és elkezdtél minősíthetetlen stílusban beszélni, az nem engem minősít.
Szerk.: így kérdeztem: "Nem neked kell ilyet írnod?"
Még ha tényleg "kéne" szót használtam volna, akkor megérteném, de így... szerintem egyáltalán nem félreérthető. Ez van, legközelebb figyelmesebben olvasd el, mert mint látjuk, a magyar nyelv egyáltalán nem egyszerű (nem csak a toldalékolásra gondolva), minden szónak fontos szerepe van ;)
- A hozzászóláshoz be kell jelentkezni
Neha jobb kulso szemszogbol nezni a dolgokat, mert neked erzesre megy:
http://hungarianreference.com/Vowel-Harmony.aspx
(a kiveteleket persze ossze kell szedni hozza)
Amugy ha nem kell valami altalnos megoldas, az is mukodik, hogy legeneralod a tippeket, aztan az aspell kivalogatja.
--
Why did the chicken cross the road?
It was trying to get a signal on its iPhone 4.
- A hozzászóláshoz be kell jelentkezni
Az nemjó, az aspell nem ér rá, éppen lovat szopogat.
- A hozzászóláshoz be kell jelentkezni
Köszi, ez tényleg jó, ahogy a HGY által linkelt oldal is elég kimerítően foglalkozik a témával. Az a csalódásom tárgya, hogy nem találok rá instant megoldást, pedig azt gondolná az ember (és a megrendelője), hogy ez azért elég általános igény lehet.
Az aspell-el leválogattatás nem csak körülményes és lassú, de pl számmal írt számnevekre nem is működik (4-an, 15-ból) és ráadásul a keltezésnek ugye speciális szabályai is vannak (14-án, 23-étől).
A megoldás az lesz, hogy megköltségvetjük a legfontosabb ragok illesztését from scratch. Azért köszi a tippeket.
- A hozzászóláshoz be kell jelentkezni