szótövezés

Fórumok

Sziasztok.

Nagyobb szóhalmazokból gyűjtött értelmes szöveg szétszedését szeretném megvalósítani oly módon, hogy minden szót leszótövezek, majd sorbarendezem, a duplikáltakat törlöm. (Utóbbi kettő csípőből megy, de az első lépés nem.)

Régen erre valahol olvastam egy nagyon remek leírást, de elfelejtettem, mi volt a recept. Annyit tudok, hogy a script a hunspellt használta.

Hozzászólások

elnézést a fentiért, már meg is találtam.

 

#!/bin/bash
cat $1 | hunspell -s -d hu_HU - | awk '{print $2}' | awk /./ | sort -u > szavak.txt

10-féle lény van:
-- aki ismeri a bináris számrendszert,
-- és amelyik nem.

Arról senkinek nincs elképzelése. Mert ilyen a magyar nyelv. Ez nem angol, ahol csak 1-2 végződést, meg szó végi 1-2 extra mássalhangzót kell észrevenni. A magyarban komplett változó tövek meg magánhangzó-harmonizáció van, többszörös rag/jel-halmozódás, itt nem olyan egyszerű szótövezni. Legalábbis nem automatán. Sose lesz tökéletes, kézzel mindig bele kell nyúlni.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

eszik, enne, egyél, ehet, ...

Nem olyan egyszerű ez, talán 130 csoport jött össze az igékhez még a kilencvenes évek elején, és akkor nyelvészek próbálták összeállítani a véges automatákat, mely leírta a szavak, képzők, jelek és ragok kapcsolatát, ahonnan majd el lehetett indulni visszafele. Reménytelen, hogy ráakadjak a Pascal forrásra. A módszer talán a II. Magyar Alkalmazott Nyelvészeti Konferencia, 1992 (Hungarian Edition): Magyar Alkalmazott Nyelvészeti Konferencia: 9789637332296: Amazon.com: Books kötetben elérhető.

AL

Higgyétek el, nem olyan könnyű ez.

cukor-cukrot ló-lovat inni-iszik-megitta... hát, ez sima mintakereséssel nem fog menni.

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.

A követ minden követ követ.

Na ezt szótövezze egy algoritmus :-) Egy főnév alanyesetben, egy főnév tárgyesetben, és egy ige. Ha a mondat egészét nem érti az algoritmus, sosem fogja tudni helyesen megállapítani, melyik az a "követ", amelyiknek nem ez a szótöve.

Még mindig nem egészen érted: az algoritmus honnan fogja tudni, hogy mikor szükséges emberi beavatkozás? Pont ez az, hogy a fenti példamondatban mindhárom „követ” szót azonosan kezeli, egy szóként tekintve rá, és még gyanakodni se fog, hogy itt valami másról lesz szó.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

A morfológiai elemző ilyenkor minden felbontást meg tud találni (nagyjából ugyanaz, mint a lexikai elemző fordítóprogramoknál, értelmezőknél). Az eggyel magasabb szinten kell kiválogatni, hogy melyik kombinációk tekinthetőek helyes mondatoknak.

Ha csak szótövek kellenek, akkor max. lesz pár felesleges/téves találat. Mivel most sem tudjuk, hogy mi az egész haszna, lehet, hogy nem jelent problémát. 

AL

Javasolnám a magyar nyelvi korpuszt (Magyar Nemzeti Szövegtár). Hátha ezen már el lehet indulni.

http://mnsz.nytud.hu/

"Share what you know. Learn what you don't."