1 / 42

Vyhľadávanie a usporiadanie

Vyhľadávanie a usporiadanie. Predn áška z predmetu Vyhľadávanie informácií 19 .1 1 .20 12 FIIT STUBA Bratislava. Usporiadanie.

Download Presentation

Vyhľadávanie a usporiadanie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vyhľadávanie a usporiadanie Prednáška z predmetu Vyhľadávanie informácií 19.11.2012 FIIT STUBA Bratislava

  2. Usporiadanie • Usporiadanie dokumentov podľa relevantnosti je dôležitou funkciou vo všetkých vyhľadávacích systémoch. Väčšina vyhľadávačov sa snaží vrátiť čo najviac relevantných dokumentov, teda zvyšuje pokrytie (recall) na úkor presnosti (precesion), čo zvyšuje potrebu usporiadať dokumenty podľa relevantnosti.

  3. Usporiadanie • Tu sa využívajú rôzne algoritmy väčšinou založené na mierach podobnosti dokumentov k dopytu. Tieto podobnosti sa odvíjajú od počtu výskytov kľúčových slov (termov), ich výskytu v nadpisoch dokumentov a podobne. Ďalšou metrikou na usporiadanie sú aj algoritmy založené na vyhodnocovaní odkazov medzi dokumentmi ako napríklad PageRank algoritmus. Dokumenty je možné zoraďovať aj na základe daľších sémantických prístupov ako napríklad Top-K (Gurský, 2005).

  4. Usporiadanie • Ak máme viacero spôsobov na utriedenie zoznamu, môžeme ich vzájomne skombinovať váhovaním

  5. Usporiadanie vo vyhľadávači Google • Nájde všetky webové stránky obsahujúce dané kľúčové slovo (slová). • Vyhodnotí stránky na základe faktorov nachádzajúcich sa na stránke, ako napríklad, či sa dané slovo nachádza v názve stránky, akým štýlom je písané, ako často sa slovo (slová) nachádzajú v hlavnej časti dokumentu, a pod. • Vyhodnotí text vo vnútri odkazu (<a href>), samotný odkaz a vyhodnotí váhu textu. (napríklad <a href www.nazovdomeny.com>Nazovdomeny</a> má väčšiu váhu ako <a href www.nazovdomeny.com>Návrat</a>) • Pridá výsledok algoritmu PageRank, ktorého hodnotu budeme nazývať „page rank“ – táto operácia je multiplikácia a nie sčítanie

  6. Podobnosť dokumentov na základe metrík a korelácií • Euklidovská vzdialenosť: • L-metrika (Manhattan): • Snp metrika: • Sokalova metrika: • Kosínusová korelácia: • Štvorec euklidovskej vzdialenosti:

  7. Algoritmus PageRank • Teória: • Ak stránka A ukazuje na stránku B tak asi je stránka B dôležitá • Ak na stránku ukazujú dôležité stránky, tak aj odkazy tejto stránky na iné stránky sa stávajú dôležitými • Toolbar - www.toolbar.google.com • Logaritmus pri základe 10 • Google projekt Stanfordu – 26 miliónov stránok – 518 miliónov liniek, 147GB dát – PR na obyčajnom pécečku pár hodín

  8. Algoritmus PageRank • Modelovanie aktivity náhodného používateľa webu sa dá reprezentovať ako orientovaný graf prepojení vychádzajúcich a vchádzajúcich na webové stránky.

  9. Algoritmus PageRank • Page rank stránky A je kde, je tzv. tlmiaxi faktor„dampingfactor“najčastejšie nastavenýna 0,85 viď (Page, 1998b), je stránka ktorá ukazuje na stránku A,je PageRank tejto stránky a  je počet prepojení odchádzajúcich zo stránky .

  10. Algoritmus PageRank • Tento algoritmus opakujeme dovtedy kým nezačne konvergovať. PR všetkých stránok vlastne tvorí rozdelenie pravdepodobnosti a teda suma všetkých PR stránok je 1. • Aby sme dostali toto rozdelenie pravdepodobnosti musíme ešte vypočítané PR predeliť (znormalizovať) sumou všetkých PR. • Inicializačné hodnoty môžeme nastaviť na čokoľvek (zmení sa len počet iterácií – existujú teórie ako to nastaviť, aby sme vykonali, čo najmenej iterácií?)

  11. Algoritmus PageRank • Vypočítajme page rank jednotlivých stánok z obrázku ak damping factor a prvotné page ranky stránok sú nasledovné .

  12. Algoritmus PageRank • A doiterujeme 88 iterácií k výsledku: • A po normalizácií (predelenie sumou PR, dostávame rozdelenie pravdepodobnosti):

  13. Algoritmus PageRank – zrýchlenie výpočtu • Hyperlinkovou maticou H rozumieme štvorcovú maticu kde n je počet webových stránok a jednotlivé riadky a stĺpce predstavujú linky ktoré vystupujú resp. vstupujú do webových stránok. Prvky matice sú definované ako , ak existuje prepojenie so stránky i na stránku j a celkový počet liniek vychádzajúcich so stránky i je . Ak takéto prepojenie neexistuje potom . predstavuje pravdepodobnosť toho že, náhodný používateľ sa vyberie so stránky i na stránku j .

  14. Hyperlinková matica k príkladu • Hyperlinková matica z príkladu by vyzerala nasledovne:

  15. Algoritmus PageRank – zrýchlenie výpočtu • kde, je stĺpcový vektor i+1 iterácie page rank webových stránok, je i-ta iterácia page rank hodnôt webových stránok, d je damping faktor, je stĺpcový vektor pozostávajúci so samých 1 a je transponovaná matica k matici H.

  16. Maticový zápis výpočtu PR k príkladu • Pomocou maticového počtu by výpočet PR v príklade vyzeral nasledovne:

  17. Dangling nodes • Ak sa pozrieme na vrchol 4 v grafe na našom obrázku vidíme že, z tohto vrcholu sa používateľ nemá kam dostať (žiadne prepojenie z neho nevychádza) a takéto vrcholy (web stránky) sa nazývajú „dangling nodes“. Takýmito vrcholmi sú napríklad prepojenia na pdf, doc a iné dokumenty, ktoré vlastne najviac vplývajú (obsahovo) na hodnotenie webových stránok. Je veľmi problematické určiť váhu takýchto webových stránok, je ich veľmi veľa a do značnej miery ovplyvňujú predstavenú hyperlinkovú maticu.

  18. Dangling node fix • „Dangling node fix“ je možné urobiť nasledujúcim spôsobom: Predpokladajme že používateľ sa rozhodne z vrcholu ktorý už nikam neukazuje ísť do všetkých n vrcholov s určitou pravdepodobnosťou.

  19. Dangling node fix – nová hyperlinková matica • Definujeme novú hyperlinkovú maticu . H je pôvodná hyperlinková matica a  je stĺpcoví vektor s prvkami ak ináč • a  je riadkový vektor kde platí že . • Hodnoty vektora w určujú pravdepodobnosť navštívenia ľubovoľného vrcholu v grafe z dangling nodu pričom, najčastejšie sa používa rovnomerné rozdelenie pravdepodobnosti .

  20. Nová hyperlinková matica k príkladu • Upravená hyperlinková matica k príkladu – dangle node fix

  21. Perzonalizačný vektor • Ďalším problémom s ktorým sa musíme vysporiadať pri výpočte page rank je pravdepodobnosť že používateľ prestane sledovať sieť prepojení a odskočí na úplne inú webovú stránku. Naša matica S sa niečím takýmto nezaoberá a preto, ju musíme upraviť nasledovným spôsobom.

  22. Google matica • Pre Google maticu , kde je vyššie spomínaný damping faktor, je stĺpcový vektor a je tzv. perzonalizačný riadkový vektor pre ktorý platí .

  23. Google matica • Brin a Page vo svojich prácach (Page, 1998ab) počas vyvíjania PageRank algoritmu ukázali že, damping faktor je vhodné nastaviť na ( predstavuje pravdepodobnosť že používateľ prestane sledovať sieť prepojení a odskočí na úplne inú stránku) a personalizačný vektor, ktorý hovorí o prioritách používateľa rozdeliť rovnomerne . V praxi sa najčastejšie používa damping faktor.

  24. Problém damping factora a perzonalizačného vektora • V neďalekej minulosti existovali tzv. „link farms“ – farmy na vyrábanie vysokého PR tzv. „link spamming“. • Prakticky dookola ukazovali na seba a umelo zvyšovali PR a ten potom predávali • Google dnes nezverejnuje damping factor a perzonalizačný vektor • Riešenie - V roku 2004 však vymysleli Gyöngyi, Garcia-Molina, a Pederson tzv. TrustRank algoritmus - Combating Web spam with TrustRank, Proceedings of the 30th International Conference on Very Large Databases

  25. Page rank výpočet pomocou google matice • Page rank webových stránok , kde G je Google matica, je riadkový vektor i tej iterácie page ranku webových stránok, • je i-ta iterácia page ranku webových stránok.

  26. Príklad pomocou Google matice • Perzonalizačný faktor nastavíme rovnomerne

  27. Príklad pomocou Google matice • 1 iterácia: • Po 88 iteráciách dostaneme – priamo rozdelenie pravdepodobnosti: • Porovnanie – ak by sme vynásobili 4x čo je vlastne počet všetkých stránok?????

  28. HITS • Authority (stránka obsahujúca dôležitú, spoľahlivú informáciu vzhľadom na dopyt), Hub (stránky, ktoré na túto stránku ukazujú) – je vidieť, že medzi týmito dvomi „štatistikami“ existuje silná závislosť: dobrý „hub“ ukazuje na veľa dobrých „authorities“ a na dobrú „authority“ ukazuje veľa dobrých „hubs“ – Google má len authorities • ai označuje authority hodnotu dokumentu i • hi označuje hub hodnotu dokumentu i

  29. Pseudokód HITS • G := graf webových dokumentov • for each dokument i z grafu G do // inicializácia hub a authority hodnôt – druhý spôsob 1/|G| • ai := 1 • hi := 1 • repeat from 1 to N do • for each dokument i z grafu G do • ai := 0 • for each dokument x odkazujúci sa na dokument i do • ai += hx • for each dokument i z grafu G do • hi = 0 • for each dokument y, na ktorý sa odkazuje dokument i do • hi += ay // hubs sú rátané z iterácie predtým • for each dokument i z grafu G do//normalizácia • ai = ai/ca • hi = hi/ch

  30. Príklad pomocou HITS • Iterácia • Iterácia

  31. Príklad pomocou HITS • A doiterujeme 40 iterácií k výsledku:

  32. HITS a matice • Definícia Maticou prepojení L rozumieme štvorcovú maticunxn kde n je počet webových stránok a jednotlivé riadky a stĺpce predstavujú linky ktoré vystupujú resp. vstupujú do webových stránok. Prvky matice sú definované ako lij=1, ak existuje prepojenie so stránky i na stránku j. Ak takéto prepojenie neexistuje potom lij=0. Pre k-tu iteráciu „authority“ vektora platí: a obdobne pre k-tu iteráciu „hub“ vektora platí:Po úpravách dostávame:Maticu označujeme ako „hub“ maticu a zapisujeme:a maticu označujeme ako authority maticu a zapisujeme:

  33. HITS a matice

  34. HITS zhrnutie • algoritmus HITS je dopytovo orientovaný, výpočet hub a authority je závislý na vyhľadávaných výrazoch, • výpočty hub a authority sú vykonávané v čase vyhľadávania a nie indexovania ako je tomu v prípade algoritmu PageRank, čo má veľký vplyv na spracovanie dopytu • algoritmus HITS nie je veľmi používanými vyhľadávacími strojmi, až na niekoľko výnimiek, napr. Teoma (http://www.teoma.com/) je založená na algoritme HITS a používaná vyhľadávačom Ask.com(http://search.ask.com/ algoritmus je označovaný ako ExpertRank), • počíta 2 hodnoty: hub a authority narozdiel, od algoritmu PageRank, • výpočet je vykonávaný na malej podmonožine vrátených dokumentov (označovanej ako root/base set a vrcholoch, na ktoré root set ukazuje, resp. vrcholov, ktoré ukazujú na root/base set) a nie na celom grafe ako je to v prípade algoritmu PageRank.

  35. Algoritmus OPIC • OPIC (On-Line Page Importance Computation) • výpočet relevantnosti stránky je „online“, avšak nie v čase dopytu ako to je v prípade algoritmu HITS, ale v čase crawlovania s tým, že stránky s vyššou relevanciou sú uprednostňované pri crawlovaní

  36. OPIC • cash – táto premenná určuje momentálnu relevantnosť stránky, presnejšie sumu získanej cash hodnoty od posledného stiahnutia stránky (ak máme n uzlov cash jednotlivých uzlov nastavíme na 1/n), • credit/history – predstavuje sumu získanej cash od spustenia algoritmu až po posledné stiahnutie stránky.

  37. OPIC

  38. OPIC

  39. Porovnanie OPIC, HITS a PageRank • Výhody algoritmu OPIC oproti HITS a PageRank algoritmom: • vyžaduje menšie množstvo ukladacieho priestoru (iba v prípade, že nepotrebujeme indexovanie – neukladá maticu prepojení), • vyžaduje menej procesorového výkonu, ako aj prístupov na disk a do pamäte, • plne integrovateľný s crawlovacím procesom, • vie sa zamerať na sťahovanie „najrelevantnejších“ stránok. • Nevýhody algoritmu OPIC oproti HITS a PageRank algoritmom: • neukladá maticu prepojení (tá je pri vyhľadávaní a indexovaní potrebná), • konverguje pomalšie ako ostatné algoritmy (ak čita dookola tie isté stránky), • pri súčasnom rozsahu webu čelí problémom s podtečením (malé hodnoty relevancie, ktoré nie je možné reprezentovať), • prečo by sme neuložili, čo sme stiahli?

  40. Stochastic Approach for Link-Structure Analysis (SALSA) • Vychádza z algoritmu HITS

  41. SALSA

  42. Výhody algoritmu SALSA oproti algoritmu HITS • s TKC efektom sa dokáže lepšie vysporiadať, • HITS v podstate závisí iba od množiny „hub“ avšak, algoritmus SALSA od oboch množín „authority“ aj „hub“, • lepšie filtruje webový spam ako HITS, ale nie tak dobre ako PageRank.

More Related