Skip navigation

3.11. Keresés számítógéppel

Napjainkban a beszédfeldolgozás mellett a keresés a legfelkapottabb ága a nyelvtechnológiának. A keresés magába foglalja a szótárban való kereséstől az interneten történő hang- és képkeresésig mindent.

16. FELADAT

A 4a) és 4b) vizsgálatokban keresni kellett a számítógéppel. Egyik esetben szótárazni (4a), másik esetben könyvtári katalógusban keresni (4b). Foglalja össze a kétféle gépi-papír alapú keresés előnyeit és hátrányait!

Ahogy már korábban említettem, a papír alapú keresésnek komoly hátránya, hogy ismerni kell hozzá (készségszinten) az abc-t és a sorba rendezés szabályait. Másik nagy hátránya, hogy helyhez kötött: a papírokkal (szótár, katalóguscédula) a kezünkben kell elvégezni, míg az elektronikus keresés esetében egészen távol is lehetünk a papír-adatoktól. Előnye viszont, hogy az egymást követő szócikkek, katalóguscédulák újabb, nem keresett ötleteket adhatnak. További előnye a papír alapú keresésnek, hogy az emberi intelligencia könnyebben átsiklik a gépelési hibák felett, mint a gépi algoritmus: egy gépelési hiba elég lehet ahhoz, hogy a tételt ne lehessen megtalálni. A jogosultságok kérdése bonyolultabb: a papírok esetében a zárható szekrényhez vagy van kulcsa valakinek, vagy nincs. A kulcsok továbbmásolhatók, továbbadhatók, viszont a zár könnyen lecserélhető. A digitális adatokhoz sokkal összetettebb jogrendszert lehet építeni, viszont nagy a kockázata a megszerzett vagy továbbadott jelszóknak, illetve az „ottfelejtett”, vissza nem vont jogosultságoknak.

A keresésen többfajta műveletet értünk. Kereshetünk egy fájlban (Word, Excel, html, pdf stb.), a gépünkön, az interneten (pl. Google stb.) vagy egy adatbázisban (pl. ETR, Coospace, online könyvesbolt stb.).

A keresés lényege mindenképpen sztringhasonlítás, azaz egyik betűsort (pontosabban karaktersort, hiszen írásjelek, szóköz, számok stb. is lehet benne) hasonlítjuk sok-sok betűsorhoz, hogy megtaláljuk az azonosakat. Amikor nem fájlban keresünk, akkor a keresést megelőzik előmunkálatok, annak érdekében, hogy a keresésünk elég gyorsan futhasson. Előmunkálatnak tartjuk a dokumentumok, adatok indexelését. Ez azt jelenti, hogy a kereshető szövegekből a kereshető szavakat kigyűjtjük egy adatbázisba. Ezt nevezzük indexnek. Nyilván mindenki látott már könyvben tárgymutatót vagy névmutatót: ezek is indexek. Amikor egy szakkönyvben meg akarunk keresni valamit, akkor kereshetünk a tartalomjegyzékben vagy a tárgymutatóban. A tárgymutatóban szerepelnek a szövegből kiemelt, keresésre alkalmasnak talált kifejezések.

A szövegek digitális indexelése automatikusan történik. Kigyűjtjük a megfelelő szavakat a szövegből. Nem megfelelő szó például a nem, és, de, hol, az stb. szavak. Ezeket nyelvenként fel kell sorolni egy tiltólistában. Nyilván nem érdemes őket egy szöveg indexébe közé felvenni, hiszen akkor minden szöveg indexében szerepelnének, és ez nem segítené a keresést (nemkívánatos szavak listája vagy stopwords). Mi a megfelelő szó? Valójában a szöveg összes szava, ami nem szerepel a stopwords-ben. Sőt, nem csak az egyes szavak, hiszen akkor például a többszavas nevekre nem lehetne hatékonyan keresni. Így többszavas kifejezéseket is fel kell vennünk az indexbe. Ezeknél érdemes valamilyen statisztikai módszert használni, hogy korlátozzuk a többszavas kifejezések indexelését, hiszen végül jóval nagyobb lesz az indexállományunk, mint az eredeti szöveg volt. Az így létrehozott tartalomindex mellett még szokás megkülönböztetni kulcsszó-indexet, amit kézzel lehet feltölteni a dokumentum rögzítésekor, vagy akár utólag is.

Az index-elemeket nyelvtechnológiai feldolgozásnak vetjük alá: azaz tokenizáljuk (ha többszavas kifejezés került az indexbe), lemmatizáljuk és parsoljuk, vagyis megkeressük benne a morfémákat. Ez azért fontos, mert ugyanennek vetjük majd alá a beírt kereső-kifejezést is, és így a morfémahalmazokat tudjuk összehasonlítani. Ha megnézzük a korábbi képen a hunglish korpuszban a with hardly any neck kifejezésre adott találati listát, láthatjuk, hogy ebben is tokenekre bontva hajtotta végre a kereső a keresést. Ugyan az angol miatt nem tapasztalhattuk, hogy a szavak valamilyen ragozott alakját is találatnak tekintette volna a rendszer, de magyar kifejezésre lefuttatva a keresést ez nyilvánvalóvá válik:

18

  1. ábra: szerelmeskedik szó a párhuzamos korpuszokban
    Forrás: http://hunglish.hu/index.html/.

Egy igazán jól használható kereső a találatokat ezután relevancia szerint rendezi. Az ügyes relevancia-számítás fontos üzleti titok. Egyéb szolgáltatás lehet a találat okának megjelenítés, pl. a dokumentum azon részletének elő-mutatása, ahol a keresett kifejezésrészlet megtalálható. A találatok rendezésére mutatok példákat különböző keresők használatával:

19

  1. ábra: modern talking nádasdy keresőkifejezés
    Forrás: Google

20

  1. ábra: modern talking nádasdy keresőkifejezés
    Forrás: Yahoo

21

  1. ábra: modern talking nádasdy keresőkifejezés
    Forrás: Lycos

22

  1. ábra: modern talking nádasdy keresőkifejezés
    Forrás: AskJeeves

17. FELADAT

Foglalja össze a különböző webes keresők találati lista megjelenítő módszereit a fenti ábrák alapján!

A kereséseknél használt nyelvtan általában nem törekszik olyan pontos elemzésekre, mint amilyet a helyesírás-ellenőrzőkben használunk. Nagyon gyakran elegendő a szóból a nyelvre jellemző végződések levágása (pl: szerelmeskedik -> szerelmes), és utána a szónak a reguláris kifejezésekkel való mintaillesztése. Ilyen reguláris kifejezés pl. a - karakter. Ez azt jelenti, hogy a *-gal jelölhetjük, hogy a *-ot megelőző karakter tetszőleges számban fordul elő. Vagyis a gó*l kereső-kifejezésre a gól, góól, góóól is találat lesz. A következő ábrán a legalapvetőbb reguláris kifejezéseket mutatom meg, és kapcsolódik hozzá egy feladat is:

18. FELADAT

A következő ábra alján található email-cím ellenőrzési mintához írjon egy email-címet, amit jóváhagy a rendszer, és egyet, amit elutasít!

23

  1. ábra: reguláris kifejezések Forrás: Bódis 2012.

A következőképpen fordíthatjuk le az email-cím ellenőrzési formát:

A sztring elején legalább egyszer (ezt jelenti a + jel) elő kell fordulnia egy karakternek, ami lehet A-Z közötti betű és 0-9 közötti szám, pont és aláhúzás (a [] között vannak felsorolva az alternatívák). Ezután jönnie kell egy @ jelnek. Aztán megint következik egy [] közé tett halmaz, amiből legalább egy karakternek szerepelnie kell. Ezek pedig: A-Z betűk, 1-9 számok, pont és kötőjel. Ezután következik egy pont. (A \. azt jelenti, hogy a pontot rendes karakternek kell tekinteni, nem vezérlőkarakternek.) A pont után jön egy min. két, max. 6 karakterből álló betűsor A-Z közötti betűkből. Ezzel a sztring véget ér.

Nos, milyen email-cím felel meg, és milyen nem a fent leírtaknak? Sikerült példákat találni? Jó lehet e szerint az ellenőrző minta szerint a kiss.maria@gmail.com? Vagy a kiss_maria@gmail.com? Vagy a kiss-maria@gmail.com? Ennek a játék-leírásnak a hibája, hogy a kisbetűket nem teszi lehetővé az email-címben, de most ettől tekintsünk el!

Hogy a fejezet elején feltett 3) KÉRDÉS-re tudjunk válaszolni, meg kell vizsgálnunk, mi a különbség az internetes keresés és a könyvtári adatbázisban való keresés között.

Az előbb megkülönböztettünk tartalomindexelést, amit automatikusan végez a számítógép (vagyis az indexelő robotok) és kulcsszó-indexelést, amit a dokumentum létrehozója vagy rögzítője hajt végre. Alapvetően ez a különbség az internetes keresés és a könyvtári keresés között: az internetes dokumentumokon tartalomindexelés (is) fut, ami tokenizált, lemmatizált, parsolt adatokat jelent. A könyvtári adatbázisokban kulcsszó-indexelés, vagyis tárgyszavazás történik. Ilyenkor a rögzített könyvhöz a rögzítője tárgyszavakat rendel. Továbbá történik automatikus indexelés a főbb adatokról: cím, szerző neve, kiadó, de az esetek nagy részében nyelvtechnológiai eljárások nélkül.

Így megvan a válasz az utolsó kérdésre is, amivel a fejezetet indítottuk. Idézem:

„3. KÉRDÉS: Miért könnyebb az interneten pl. a Google segítségével megtalálni valamit, aminek nem tudjuk teljesen pontosan a címét vagy egyéb adatát, mint akár a szakkönyvtár keresőjében, akár egy oktatástámogató programban?„

Ha nem tudjuk pontosan a könyv címét (ahogy a 3. KÉRDÉSben nem ismertük Számítógéppel emberi nyelven c. könyv címét pontosan), akkor az a jó stratégia, ha minél rövidebb részletre keresünk a címből a könyvtári keresőben. A számítógép emberi nyelven rossz kereső-kifejezés, mert a könyvtári kereső nem tokenizálja, lemmatizálja az indexbe kerülő kifejezéseket, így csak a tárolt indexkifejezés egészére vagy töredékére lehet keresni. Töredéken azt értem, hogy az eleje vagy a vége hiányozhat. Pl. lett volna találat az emberi nyelven kereső-kifejezésre, de nem volt találat a A számítógép emberi nyelven kifejezésre, hiszen a tárolt adatokat nem lehetett karakterre pontosan a kereső-kifejezéssel azonosnak tekinteni.

24

  1. ábra: emberi nyelven kereső-kifejezés Forrás: könyvtári kereső.

A webes könyvesboltok a webes keresőkhöz hasonlóan tokenizálnak stb., ezért bennük a keresés jelentősen könnyebb, mint a könyvtári keresőkben.

19. FELADAT

Foglalja össze, milyen egyéb nehézségeket jelent(het) a felhasználóknak a könyvtári keresők használata! Segítségképpen olvassa el Viszket 2008b-t (http://vap.locsoft.hu/vap/szig_v05.pdf)!

Előfordult már Önnel is, hogy nem főneves kifejezésre keresett a weben, hanem természetes nyelvi kifejezést fogalmazott meg? Például: Mi Magyarország fővárosa?

20. FELADAT

Derítse ki az internet segítségével, hogy ki találta fel a gyufát! Milyen kereső-kifejezést használt?

A természetes nyelven feltett kérdésre csak akkor adható vissza megfelelő találati lista, ha a kérdést valamilyen, reguláris kifejezésekből és logikai operátorokból álló kereső-kifejezéssé tudjuk átalakítani. Például: Mi Magyarország fővárosa? = Magyarország NEAR főváros

Az átalakítás két módon történhet:

(1) A kérdést a kereső szavakra bontja, és a szavak együttes előfordulását keresi a dokumentumokban.

(2) Szintaktikai elemzéssel kikeresi a kérdésben szereplő főnévi csoportokat és ezekből rakja össze a logikai operátorokat tartalmazó kereső-kifejezést.

21. FELADAT

Még mindig Viszket 2008b-t (http://vap.locsoft.hu/vap/szig_v05.pdf) segítségével hasonlítsa össze két nyelvészeti portál keresőrendszerét: Nyelwww és Nyelvészet.hu!