Szövegbányászat cikksorozat
Bevezetés - Mi a szövegbányászat?
A szövegbányászat kialakulását motiváló tényezők
A szövegbányászat üzleti haszna
Szöveges dokumentumok attribútumai
Sztring hasonlósági metrikák
Szótövezés
Stopszó eliminálás
Optikai karakterfelismerés
Automatikus kulcsszó kigyűjtés
Automatikus nyelvdetekció
Korpusz egyedi szavainak (lexikon) kinyerése
Egyedi szó súlyozási technikák
A vektortér modell
Mélyszemantikájú indexelés (latent semantic indexing)
Valószínűségi modellek
Index tárolási módszerek
Dokumentum klaszterizációs módszerek
Szöveges információ visszakeresés
Spektrális szövegbányászat
Nevesített entitás felismerés
Újdonság detekció szöveges korpuszokban
Szövegbányászat az Interneten (web bányászat)
Typogenetika
 
     
 
 
     
 

Ajánlott szövegbányászat oldalak

 
 

 

 

Korpusz egyedi szavainak (lexikon) kinyerése

Szövegbányászati előfeldolgozásnak tekitnhető a rendelkezésünkre álló dokumentum korpusz egyedi szavainak kinyerése, kigyűjtése, és megfelelő formában történő tárolása. Egy terjedelmes, igen sok témát lefedő korpusz egyedi szavainak száma elérheti a 100.000-et. Ez a szám csökkenhet abban az esetben, ha töröljük a listából a stop szavakat, illetve szótövezést hajtunk végre a szavakon, és ekkor egy adott szótő több variánsát a szótövével helyettesítünk. Az egyedi szavak kikeresése azzal jár, hogy egy matematikai értelemben halmaz struktúrát kell létrehoznunk a korpusz ún. zsák struktúrájából. Matematikailag a halmaz és a zsák között az a kölönbség, hogy a halmaz egy elemet csak egyszer tartalmazhat, míg a zsák egy elemet többször is. Ennek értelmében például az X = {2,3,5,6,7,12} halmaznak tekinthető, de az Y = {3,2,4,3,2,1,3,4,2,1,3} már zsáknak, hiszen ez utóbbi esetben egy elem többször is előfordul. Ugyan ez a helyzet a korpusz és az egyedi szavak viszonylatában. A korpusz egy zsák, amelyben adott szavak értelemszerűen többször előfordulhatnak. Célunk az egyedi szavak kigyűjtésével az, hogy egy halmazt alakítsunk ki, amelyben mindnen szó csak egyszer fordul elő. Ez az ún. lexikon, amely mindig egy adott korpuszra jellemző. Naiv elképzelés alapján a feladatot úgy lehetne megoldani, ha sorravennénk a korpusz minden szavát kezdve az elejétől, és midnen egyes szó esetén végignéznénk, hogy a már kigyűjtött egyedi szavak között az adott szó szerepel-e. Ha már szerepel, akkor nem tesszük újra bele a listában, ha azonban még nem szerepel, akkor beletesszük, mert ez az első alkalom, hogy találkozunk az adott szóval a korpuszban, és ekkor egy egyedi szó első felbukkanásának tekintjük. Ez a módszer azonban a feldolgozás előrehaladtával nagymértékben lelassul, mivel minél nagyobb részét feldolgoztuk már a korpusznak, annál több ellenőrzés kell ahhoz, hogy egy soron következő szóról eldöntsük, hogy az már benne van-e a listánkban. Annek ellenőrzését, hogy egy szó már benne van-e a listánkban, sokféle módon felgyorsíthatjuk. Gyűjthetjük például a szavakat kezdőbetűik szerint, és akkor egy soron következő szó esetében elég csak azokra a listában szereplő szavakra elvégezni az ellenőrzést, amelyek ugyanazzal a betűvel kezdődnek, mint az adott szó. A második karaktertől kezdve azonban ugyan az a probléma, mint az alapesetben.

Az egyedi szavak hatékony kigyűjtésére egyik cikkemben egy kis futásidejű módszert közlök, amely a végesállapotú automaták (finite state automata, FSA) azon tulajdonságára épít, hogy képesek a feldolgozás során a feldolgozással egyidőben megállapítani, hogy egy beolvasott szó benne van-e már az egyedi szavak kigyűjtésére szolgáló listában. Hármas feladatot képes ellátni egy időben: egyedi szó felismerés, szövegből történő kiemelés és tárolás. Végeredményül a korpusz teljes feldolgozása után a végesállapotú automata egy halmazt fog eredményezni, amelyben az egyedi szavak lesznek letárolva, mindegyik pontosan egyszer. Ráadásul a végesállapotú automaták kedvező tajdonsága miatt a tárolás módja nem redundáns, tehát olyan információt nem tárol a módszer, amely redundánsan lenne jelen a rendszerben. Itt elsősorban a szó kezdő szubstringeket kell érteni, azonban a szó záró szubsztringek redundanciája is elkerülhető a véges állapotú automata megfelelő redukciójával.

Vázsonyi Miklós


(C) 2006 VÁZSONYI Informatikai és Tanácsadó Kft.
http://www.vazsonyi.hu http://www.vazsonyi.com
Adószám: 13641023-2-03
E-mail: contact@vazsonyi.com