1/16 az információ-visszakeresésben Babeş Bolyai Tudományegyetem Magyar Matematika és Informatika Intézet A Magyar Tudomány Napja Erdélyben Kolozsvár, 2012
2/16 Tartalom Információ-visszakeresés
Információ-visszakeresés információ-visszakeresés (information retrieval) = információ visszatérítése egy adathalmazból, amely releváns az adott információs igény/kérés szempontjából alapötlet: Vannevar Bush: As We May Think (1945) It consists of a desk, and while it can presumably be operated from a distance, it is primarily the piece of furniture at which he works. On the top are slanting translucent screens, on which material can be projected for convenient reading. There is a keyboard, and sets of buttons and levers. Otherwise it looks like an ordinary desk. http://www.theatlantic.com/magazine/archive/1945/ 07/as-we-may-think/303881/ 3/16
4/16 az adatok nem strukturáltak; nem adatbázis-lekérdezést hajtunk végre általában nem egyetlen találatot térítünk vissza, hanem az első k legközelebbit, vagy akár az összes illeszkedőt a találatokat rangsoroljuk az adatok legtöbbször szövegek és képek probléma: be kell járni az egész adatbázist és össze kell hasonĺıtani a kéréssel Példa: Vektortér modell A szövegeket tárolhatjuk bag-of-words-ként, azaz szavak bag-jeként (multihalmazként) vagy ekvivalens módon vektorokként. A tér dimenzióit a (valamilyen speciális módon kiválasztott) indexelő szavak adják. Két dokumentum hasonlóságát kiszámíthatjuk a vektorok közötti szög koszinuszaként: s(d i, d j ) = d id j d i d j
5/16 1 001100 1, 3, 6, 3 2 9 5 110010 4, 7, 8, 6 8 4 7 010100 2, 5, 9, alapötlet: a pontokat tegyük egy hash táblába úgy, hogy közeli pontok azonos vagy egymáshoz közeli kulcsú rekeszbe kerüljenek kulcs = bináris szekvencia a Hamming-távolságot egyszerű kiszámítani legyen u, v {0, 1} n ; ekkor n d H (u, v) = (u XOR v) i=1
6/16 ALG 1 LSH 1: Generáljunk r darab egységnyi hosszúságú (egyenletes eloszlású) d-dimenziós vektort: {r 1, r 2,..., r r } 2: Az r darab hash függvényünk legyen { 1, r h i (u) = i u 0 0, r iu < 0, i = 1, 2,..., r 3: Egy x ponthoz rendelt bináris hash szekvencia (h 1 (x), h 2 (x),..., h r (x))
Miért működik az LSH? r u Biz. v u, v vektorok R d -ben r véletlen vektor R d -ben, r = 1 Ha a hash függvény { 1, r h r (u) = u 0 0, r u < 0 P(h r (u) h r (v)) = P(r u 0, r v < 0) +P(r u < 0, r bv 0) θ(u, v) θ(u, v) = + 2π 2π θ(u, v) = π akkor P(h r (u) = h r (v)) = 1 θ(u, v) π 7/16
8/16 y i { 1, 1} r, i = 1,..., N kódszavakat keresünk a pontokhoz úgy, hogy egymáshoz hasonló pontok esetén ezen kódszavak távolsága kicsi legyen: min {y i } i=1,...,n N W ij y i y j 2 i,j=1 ú.h. y i { 1, 1} r, N y i = 0, i=1 1 N N i=1 y i y i = I 2. feltétel: a bitek kiegyensúlyozottak legyenek 3. feltétel: a bitek ne korreláljanak egymással a feladatot relaxáljuk: min tr(y LY ) {y i } i=1,...,n ú.h. Y 1 = 0, Y Y = I
9/16 a feladat megoldása: L = D W első r darab (legkisebb sajátértékű) sajátvektora, Y = ( v 2 v 3... v r+1 ) az i-edik kódszó ekkor : y i = ( v 2i v 3i... v (r+1)i ) az eredeti cikkben az általánosítást úgy oldották meg, hogy feltételezték a Gauss-kernel használatát, a többdimenziós egyenletes eloszlást, és felhasználták a Laplace Beltrami operátorok sajátfüggvényeire vonatkozó eredményeket (approximáció)
10/16 normalizált minimális vágás gráfokban: i A,j A W ij i A,j A i A,j V W + W ij ij i A,j V W ij átalakítható az alábbi numerikus optimalizálási feladatra (relaxáció): max z z D 1/2 W D 1/2 z z z ú.h. z D 1/2 1 = 0 kimutatható, hogy a spektrális klaszterezés egy hipersíkkal vágja el az adatokat (W = Φ Φ) max w ú.h. w ΦD 1/2 N w φ(x i ) = 0, w = 1 i=1
ez feĺırható a következőképpen: max w ú.h. w ΦD 1 Φ w w w N w φ(x i ) = 0 i=1 ennek megoldása a ΦD 1 Φ második legnagyobb sajátértékű sajátvektora (u 2 ) D 1/2 Φ ΦD 1/2 2. legnagyobb sajátértékű sajátvektora v 2 ; a kapcsolat a kettő között: u 2 = ΦD 1/2 v 2 e 1 2 ezáltal egy induktív klaszterezőt nyerünk w normálissal: w = u 2 = ΦD 1/2 v 2 e 1 2 ekkor egy új pont klasztercímkéjét a következő módon határozzuk meg: f 2 (x) = φ(x) w = φ(x) u 2 = φ(x) ΦD 1/2 v 2 e 1 2 megmutatható, hogy sgn ( Φ w ) ( ) = sgn Φ ΦD 1/2 v 2 e 1 2 ( ) = sgn v 2 e 2 e 1 2 = sgn(v 2 ) ( = sgn D 1/2 Φ ΦD 1/2 v 2 e 1 2 ) 11/16
12/16 a gond az általánosítás új pontokra alapötlet: használjuk fel az hipersíkkal való szétválasztást a spektrális klaszterezéstől cseréljük ki a Laplace-mátrixot a normalizált Laplace-mátrixra a spektrális ben: D 1/2 LD 1/2 felhasználva az általánosítási eredményeket a spektrális klaszterezéstől kapjuk, hogy f (x) = ( f 2 (x) f 3 (x)... f r+1 (x) ) probléma: φ(x) Φ kiszámításához N kernel számolásra van szükség megoldás: használjuk a pontokat az input térben kernel = skalárszorzat ekkor kiszámítjuk az első r sajátvektort, g k := u k vagy g k := X D 1/2 v k, k = 2,..., r + 1 új pont esetén a ponthoz rendelt kódszót a x g k, k = 2,..., r + 1 skalárszorzatokkal számítjuk ki
13/16 tesztelés a Reuters-21578 1 és 20Newsgroups 2 szövegkorpuszokon szövegek feldolgozása: stopszavak kiszűrése (199 db.) 3 az első 5000 leggyakoribb szó használata dimenziókként bag-of-words reprezentáció + tf-idf súlyozás dokumentumvektorok normalizálása nem használtuk a címkéket a teszthalmaz minden dokumentumához megkerestük az első 50 legközelebbit a tanuló adatokból ezek megtalálásának sikerességét mértük precision és recall segítségével (pl. 32 bit esetén {0, 1, 2, 4,..., 32} Hamming-távolságokra számítottunk recallt és precisiont) 1 http://disi.unitn.it/moschitti/corpora.htm 2 http://qwone.com/~jason/20newsgroups/20news-bydate.tar.gz 3 WordNet::Similarity 2.05, http://wn-similarity.sourceforge.net/
14/16 Area under r p curve 0.3 0.25 0.2 0.15 0.1 0.05 Reuters 21578 Spectral Linear spectral Area under r p curve 0.25 0.2 0.15 0.1 0.05 20Newsgroups Spectral Linear spectral 0 8 16 32 64 128 256 Codeword length 0 8 16 32 64 128 256 Codeword length Figure: A recall-precision görbe alatti terület a hash szekvencia hosszának függvényében. Precision (Hamming distance < 2) 1 0.8 0.6 0.4 Reuters 21578 0.2 Spectral Linear spectral 0 8 16 32 64 128 256 Codeword length Precision (Hamming distance < 2) 1 0.8 0.6 0.4 20Newsgroups 0.2 Spectral Linear spectral 0 8 16 32 64 128 256 Codeword length Figure: Precison eredmények Hamming-távolság < 2 esetén.
15/16 [Weiss, Torralba, Fergus 2008] Yair Weiss, Antonio B. Torralba, and Robert Fergus. Spectral. In NIPS, pages 1753 1760. MIT Press, 2008. [Rahimi, Recht 2004] Ali Rahimi and Ben Recht. Clustering with normalized cuts is clustering with a hyperplane. In Statistical Learning in Computer Vision, 2004.
16/16 Köszönöm a figyelmet!