szövegbányászatberendg/docs/dm/irdm.pdf · szövegbányászat információ visszakeresés és...

32
Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information Retrieval and Web-mining” kurzusának anyagára: http://www-csli.stanford.edu/~schuetze/information-retrieval-book.html

Upload: others

Post on 31-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

SzövegbányászatInformáció Visszakeresés és egyéb alkalmazások

A diák nagyban támaszkodnak a Stanford Egyetem „Information Retrieval and Web-mining” kurzusának anyagára:

http://www-csli.stanford.edu/~schuetze/information-retrieval-book.html

Page 2: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Áttekintés• Mi az IR?

• Indexelés– Egyszerű index– Invertált index, Gamma-kódolás

• Rangsorolás– TF-IDF rangsor– PageRank

• Egyéb alkalmazások és feladatok

Page 3: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Információ Visszakeresés• IR alapprobléma

– Adott egy korpusz(dokumentumok halmaza, internet)

– Felhasználó az információigényét leginkább kielégítő dokumentumokat keresi

• Lekérdezést fogalmaz meg

– Cél a lekérdezésnek megfelelő dokumentumok listájának visszaadása

Page 4: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Egy IR rendszer legfontosabb jellemzői

• Indexelés sebessége– Kevésbé fontos

• Lekérdezés sebessége– Kritikus szempont

• Lekérdező nyelv kifejezőereje– Mi kérdezhető meg és mi nem?

• Pontosság– A legfontosabb, de mérése összetett feladat

Page 5: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Egy keresőmotor sémája

Page 6: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Egyszerű index• Szó-dokumentum mátrix (Di,j : i. szó

szerepel-e a j. dokumentumban)

Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth

Antony 1 1 0 0 0 1

Brutus 1 1 0 1 0 0

Caesar 1 1 0 1 1 1

Calpurnia 0 1 0 0 0 0

Cleopatra 1 0 0 0 0 0

mercy 1 0 1 1 1 1

worser 1 0 1 1 1 0

Page 7: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Egyszerű indexelés• Gyors

• Az élet nem ilyen szép– Kivitelezhetetlen

– 1 millió dokumentum, ~1000 token/dok, ~6byte/token

• ~6GB korpusz

– Legyen 500K különböző szóalak– 500K x 1M mátrix

• ~60 GB index!

Page 8: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Invertált index

• ~1 milliárd egyest tartalmaz csupán a szó-dokumentum mátrix– Rendkívül ritka

• Egyszerűbb, és jobb reprezentáció, ha csak az 1-esek pozícióit tároljuk– ekkor invertált indexről beszélünk

Page 9: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Invertált index• Minden T tokenre, tároljuk a T-t

tartalmazó dokumentumok listáját.

• Miben tároljuk?– Tömb?

Brutus

Calpurnia

Caesar

1 2 3 5 8 13 21 34

2 4 8 16 32 64128

13 16

Mi van akkor ha a Caesar szó bekerül a 14-es dokumentumba?

Page 10: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Listás megvalósítás jobb• Dinamikus helyfoglalás (különböző

gyakoriságú szavak!!!)

• Könnyű beszúrás

• Pointerek extra helyfoglalás

Brutus

Calpurnia

Caesar

2 4 8 16 32 64 128

2 3 5 8 13 21 34

13 16

1

Szótár Napló Dokumentum ID szerint rendezve!

Page 11: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Invertált index létrehozása

Tokenizáló

Token stream Friends Romans Countrymen

Nyelvi modulok

Normalizált tokenek friend roman countryman

Indexelő

Invertált index

friend

roman

countryman

2 4

2

13 16

1

Dokumentumok Friends, Romans, countrymen.

Page 12: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Az index használata• Hogyan dolgozunk fel 1 lekérdezést?

– Milyen jellegű lekérdezéseket kezelünk?

• Mit indexelünk?– Mindent, vagy csak fontos szavakat? (Mi fontos?)

• Stopword lista: a leggyakoribb szavak elhagyhatók az indexből (sok hely, kevés haszon)– pl., the, a, an, of, to …– Nyelvfüggő elem, minden nyelvre kell stopword lista.

Page 13: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

34

1282 4 8 16 32 64

1 2 3 5 8 13 21

Lekérdezés (naplólisták egyesítése)

• Párhuzamosan megyünk végig a két naplólistán, időigény így arányos a listák összhosszával

128

34

2 4 8 16 32 64

1 2 3 5 8 13 21

BrutusCaesar2 8

Ha a két lista hossza m és n, az összefésülés időigényeO(m+n)Fontos: a listák dokID szerint rendezve legyenek!!

Page 14: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Mit kapunk, milyen áron?• Logikai (igen/nem) keresésre

– Csak pontos egyezést ad vissza– Nincs rangsorolás

• Sokáig ez volt az uralkodó technológia• Becslés a méretre?

Vegyük az előző példát:– 1M dokumentum, átl. 1000 token hossz,

átlalában 6 byte/szó, ~500K különböző token

Page 15: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Becslés az invertált index méretére

• Két különálló tényező szabja meg a méretet– Szótár mérete– Naplók mérete

• Különböző dolgok jönnek szóba a méret optimalizálásakor– Szótárnál: pl. szótövezés (magyarban

különösen fontos!)– Naplónál: dokID-ket tárolunk, tömörítés!

Page 16: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Napló tárolása• Tároljuk rendezve a dokumentum ID listát!

• Ekkor elegendő csak az ID-k különbségeit tárolni („lyukak”)

– ezek várhatóan átlagosan sokkal kisebb számok

– Brutus: 33, 47, 154, 159, 202, …

– Brutus: 33, 14, 107, 5, 43, …• Használjunk változó kódhosszúságú kódolást!

– Calpurnia szó átlag minden egymilliomodik dokumentumban fordul elő, akkor azt log2 1M = ~20 biten szeretnénk tárolni

– Az az szó szinte minden dokumentumban benne van, ezt az infot jó lenne ~1 bit helyen tárolni

Page 17: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

γ kódolás• K számot egy <hossz, eltolás> párral írjuk le• hossz érték unáris kódolású

(a számot leíró kód (eltolás) hosszát adja meg)• az eltolás bináris kódolású

(megadja magát a számot)

• K kódja– bites unáris kód – bites bináris kód– ahol:

1log 2 +K

K2log KKeltolás 2log2−=

Page 18: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

γ kódolás• Példák:

– 9 = <1110,001> (7 bit)

– 23 = <11110, 0111> (9 bit)

– 1040 = <11111111110,0000010000> (21 bit)

• Ennél számottevően jobb tömörítést csak úgy érhetünk el, ha rendelkezünk információval a számok eloszlásáról– V.ö. Huffman-kód

Page 19: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Zipf törvénye• A k-adik leggyakoribb szó

gyakorisága nagyságrendileg ~1/k

Page 20: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Becslés Zipf törvénye alapján

• A leggyakoribb szó N dokumentumban fordul elő (minden lyuk 1-es)2. leggyakoribb N/2 dokumentumban (lyukak átlagosan 2 nagyságúak)…

k-adik leggyakoribb N/k dokumentumban (átlagos lyuk nagyság N/k), bit tárolásra

• Összegezve k = 1 … 500 ezerig• Összegzést végezzük úgy, hogy k darab csoportot tekintünk:

– az i-edik csoportra , elemű, egyenként max .

– N = 1 millió, i = 1 … 19-re szummázva kb 340 millió bit, azaz ~45 MB az index Napló részének mérete.

k2log2

ii k 22 1 <≤− 12 −i

12/2 −iNi

Page 21: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Szótár mérete, első gondolat• Fix hosszú bejegyzések tömbje

– 500K token; 28 byte/token = ~14MB.

Terms Freq. Postings ptr.

a 999,712

aardvark 71

…. ….

zzzz 99

20 byte Egyenként 4 byte

Page 22: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Szótár tömörítése

….systilesyzygeticsyzygialsyzygyszaibelyiteszczecinszomo….

Gyakoiság Napló ptr Szó ptr.

33

29

44

126

Binary searchthese pointers

Teljes hossz =500KB x 8 = 4MB

Pointerek 4Mpozícióra log24M =

22bits = 3bytes

• A szótár egyetlen karakterlánc– Pointer a szó kezdetére

– Köv. pointer mutatja a szó végét

Page 23: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Index mérete• Napló

– Kb 45 MB

• Szótár– 4 byte gyakoriságra

– 4 byte a Napló pointer

– 3 byte a szó pointer

– Átl. 8 byte szavanként a szóláncban– 500K token ~9.5MB

• Index– ~55 MB

Page 24: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Indexméret• Szótövezés / kis-nagybetűs alak

– Tokenek számát ~40%-al– Pointerek számát 10-20%-al– Méretet ~30%-al

• Stopwords– 30-as szabály: ~30 szó tesz ki ~30%-ot

az írott szövegekben!– A leggyakoribb szavak kivágása ~25%

helyspórolást hozhat

Page 25: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Pár szó a lekérdezés sebességéről

• Napló-listák lineáris időben egyesíthetők

• Optimalizálás:– Célszerű a rövid listákkal kezdeni a műveletek

elvégzését – Ugrólisták használata (index mérete növekszik)

Page 26: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Feldolgozás ugrólistákkal

1282 4 8 16 32 64

3711 2 3 5 8 130

2113718

16 128

Page 27: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Invertált index vége• Célszerű tárolni a dokumentumban a szóalak

helyét– Kifejezés alapú lekérdezés támogatására– Ezzel az előbb nem törődtünk– Nagyobb index, de ezt használják a

gyakorlatban• Alternatívája a bi- trigram alapú indexelés

Page 28: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Rangsorolás• Általában jó sok dokumentum

illeszkedik 1-1 lekérdezésre

– Több milliárdos korpuszból milliós nagyságrendű találat

– Fontos, hogy a dokumentumokat rangsoroljuk, relevancia szerint!

• Megoldás: pl. PageRank

• Elosztott számítások– Hadoop, Mahout, NoSQL, stb...

Page 29: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

tf-idf rangsorolás• Szavak súlya a tf, és idf szorzata:

• Index készítésekor legyártható a súlyozás• „Ezt tároljuk el a szó-dokumentum

mátrixban”• A lekérdezést is egy mini dokumentumra

nézve a 2 vektor koszinusza adja a hasonlóságot:

( )tdtdt dfntfw log,, ∗=

∑∑∑

==

==⋅

=n

i ki

n

i ji

n

i kiji

kj

kjkj

ww

ww

dd

ddddsim

1

2,1

2,

1 ,,),(

Page 30: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Kiértékelés• Precízió, fedés

• Precízió-fedés görbe– Kitüntetett fedésértékhez tartozó precíziók

meghatározása, majd interpoláció

• MAP

Page 31: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

IR rokonteületek• Információ kivonatolás

– Kivonat: az eredetinél rövidebb, emellett pontos reprezentánsa a dokumentum tartalmának

• „Olvastam a Háború és Békét… Oroszországról szól…”

• Kérdésmegválaszolás– Természetes nyelven megfogalmazott

kérdésre a releváns oldal visszaadása helyett a releváns információ visszaadása

Page 32: Szövegbányászatberendg/docs/dm/irDM.pdf · Szövegbányászat Információ Visszakeresés és egyéb alkalmazások A diák nagyban támaszkodnak a Stanford Egyetem „Information

Egyéb szövegbányászati alkalmazások és feladatok

Alkalmazások

•Dokumentumosztályozás

•Véleménykinyerés

•Információkinyerés– X Y cég W áron fölvásárolta QR céget. gépi tanulás

Feladatok•Lemmatizálás (szótövesítés)

•Jelentésegyértelműsítés

•Legvalószínűbb szófaji kódsorozatok, szövegbeli névelemek meghatározása

•Elemzési fák felállítása