840 likes | 999 Vues
TopX. Rene Fischer. TopX. Čo je to TopX? je to nástroj pre získavanie top-k informácií/dát z textových a polo-štruktúrovaných dát Čo je to top-k získavanie dát? ide o získanie k prvkov zo skupiny dát, ktoré najlepšie vyhovujú položenému dotazu. Osnova prednášky. Všeobecne o Top-X
E N D
TopX Rene Fischer
TopX • Čo je to TopX? • je to nástroj pre získavanie top-k informácií/dát z textových a polo-štruktúrovaných dát • Čo je to top-k získavanie dát? • ide o získanie k prvkov zo skupiny dát, ktoré najlepšie vyhovujú položenému dotazu TopX
Osnova prednášky • Všeobecne o Top-X • Architektúra Top-X • Interná reprezentácia dotazu • Skóre model • Základné spracovanie dotazu TopX
Výhody TopX • Po získaní daných top-k prvkov, ukončuje ďalšie prehľadávanie • Podpora pre neurčité a nejasné(vague) vyhľadávanie na 2 typoch podmienok dotazu • obsahové • štrukturálne TopX
Pôvod XML dát • Mnoho zdrojov • Často bez schém • Heterogénne štruktúry a anotácie znemožňujú použitie dotazovacích jazykov ako je XPath a XQuery TopX
TopX model podporuje • full-text obsahové podmienky • značka-výraz(tag-term) kombinácie • traverzovacie podmienky pre všetky XPath osi • absolútne • relatívne • Ontologicky založené relácie výrazov(terms) a názvy značiek(tag names) ako podobnostné podmienky TopX
Typický príklad • //book[about(., Information Retrieval XML) and about(.//reference, PageRank)] //author[about(.//affiliation, Standford)] • v jazyku NEXI • Čo ním vlastne hľadáme? • autorov kníh o „Information Retrieval XML“, ktoré obsahujú následníkov pomenovaných ako „reference“ a „affilation“ s obsahom „PageRank“ a „Standford“ • ľudsky povedané : autorov kníh o získavaní dát z XML, odkazujúcich sa na PageRank, zo Standfordu TopX
Ale... • ...napriek dátam presne vyhovujúcim týmto podmienkam, by to malo prípadne nájsť aj autorov kníh • napr. o „statistical language models for semistructured dat“, ale radené nižšie ako presné zhody • autori nie zo „Standfordu“ ale napr. z „Berkley“ • nie autorov kníh, alebo napríklad monogramov, výskumných článkov ... TopX
Niečo o Top-K algoritmoch • algoritmy, tiež známe ako limitné algoritmy(threshold algorithms) • algoritmus končí po dosiahnutí určitého limitu • spočívajú v prehľadávaní udržiavaných invertovaných indexov zostupne zoradených za výrazmi, hodnotami atribútov • vhodné udržiavanie intervalov skóre a limít pre top-k kandidátov umožňuje prehľadávanie ukončiť po nájdení top-k prvkov, následkom čoho stačí algoritmom často prehľadať iba krátke časti zoznamov TopX
Odbočka - Invertovaný index • indexová dátová štruktúra – mapuje výskyt slov v textoch, dokumente, dokumentoch • 2 typy • pamätajúci si referencie na dokumenty v ktorých sa slovo/výraz nachádza • Record level inverted index • plus pamätajúci si aj jeho pozíciu v rámci dokumentu • vhodné pre full-text vyhľadávanie • Word level inverted index • ( http://en.wikipedia.org/wiki/Inverted_index ) TopX
Record level inverted index "a": {2} "banana": {2} "is": {0, 1, 2} "it": {0, 1, 2} "what": {0, 1} Word level inverted index "a": {(2, 2)} "banana": {(2, 3)} "is": {(0, 1), (0, 4), (1, 1), (2, 1)} "it": {(0, 0), (0, 3), (1, 2), (2, 0)} "what": {(0, 2), (1, 0)} Odbočka 2 - Invertovaný index - príklad texty • T1 = „it is what it is“ • T2 = „what is it“ • T3 = „it is a banana“ TopX
Hlavné problémy riešené TopX • skóre a indexové zoznamy sú robené pre samostatné XML elementy • potreba agregovať skóre na úroveň dokumentu, XML pod-stromu – teda 2 rôzne granuality spracovania dotazu • model pre skóre musí zvažovať aj špecifickosť obsahu výrazu v kombinácií s názvom elementu/atribútu • napr. výraz „transaction“ by mal byť významný v elementoch <section> a <caption> ale nie v <journalname> TopX
Hlavné problémy 2 • relevantné medzivýsledky musia byť testované na spĺňanie traverzovacej podmienky dotazu • čo môže vieš k „drahým“ náhodným prístupom(random access) na disk • miesto vynútenia konjunktívneho vyhodnocovania dotazu, je požadované uvoľniť traverzovacie podmienky • a radiť dokumenty pomocou kombinácie obsahového skóre a počtu splnených traverzovacích podmienok TopX
Hlavné problémy 3 • efektívna stratégia vyhodnocovania dotazu a prerezávanie(prunning) kandidátov musí brať v úvahu odhad oboch • agregovaného skóre • traverzovacie podmienky • možnosť uvoľniť výrazové podmienky, názvy značiek použitím podobnosti založenie na ontológii alebo tezauru. napr : • dotaz na “<book>” o “XML” by mal brať v úvahu„<monograf>“ o “semistructured data” ako kandidáta na výsledok TopX
Hlavné komponenty systému • môžeme ich rozdeliť do 2 hlavných skupín • na vkladanie dát(data-entry) • spracujúce dotaz(query-time) TopX
Hl.komp. – 1. Indexer & Crawler • Indexer • skupina vkladania dát • pri vložení nového dokumentu je dokument • parsovaný • dáta sú analyzované • vytvorenie alebo updatovanie indexových štruktúr • Crawler • ak sa jedná o dáta z webu, intranetu, ..., ktoré sa hyper-linkovo odkazujú, crawler ich môže traverzovať a zbierať dokumenty TopX
Hl.komp. – 2. Ontology Service • Komponenta, ktorá voliteľne spravuje tezaurus alebo „ľahšiu“ ontológiu • s rôznymi druhmi sématnických relácií TopX
Odbočka – Ontológia je • ... výslovný (explicitní) popis určité problematiky. Je to formální a deklarativní reprezentace, která obsahuje glosář (definici pojmů) a tezaurus (definici vztahů mezi jednotlivými pojmy). Ontologie je slovníkem, který slouží k uchovávání a předávání znalosti týkající se určité problematiky. • ( http://cs.wikipedia.org/wiki/Ontologie ) TopX
Hl.komp. – 3. Procesor dotazov • pri spracovaní dotazu, procesor • dekomponuje dotaz • vyvolá top-k algoritmus • okrem toho má nastarosti • udržovať medzivýsledky a kandidátov v prioritnej fronte • plánuje sekvenčné náhodné prístupy do pred-počítaného indexového zoznamu – ide o multi-vláknovú architektúru • procesor má k dispozícií viacero komponent(4.-6.), ktoré môžu byť na vyžiadanie zapojené a poskytovať prostriedky pre zmenšenie pracovného času TopX
Hl.komp. – 4. Index Access Scheduler • Plánovač prístupu k indexom • poskytuje množinu plánovacích stratégií pre usporiadaný a náhodný prístup k prvkom indexov. napr. • jednoduché heuristiky, ktoré sú rozumne efektívne s veľmi nízkou réžiou • pokročilé stratégie založené na pravdepodobnostných cenových modeloch, s lepšou redukciou prístupov, ale vyššou réžiou TopX
Hl.komp. – 5. Propabilistic Candidate Prunning • Pravdepodobnostné prerezávanie(stromu) kandidátov • založený na matematických modeloch • predpovede skóre kandidátov • odhad výberu v XML elementov • umožňuje to systému odhodiť kandidátov, u ktorých je malá pravdepodobnosť, že by sa dostali do top-k • s kontrolovateľnou garantovanou mierou risku TopX
Hl.komp. – 6. Dynamic Query Expansion • Dynamické rozširovanie dotazu • komponenta mapuje kľúčové slová dotazu do konceptov v prístupnom tezaure alebo ontológií a inkrementálne generuje/rozširuje kandidátov • je to prekladané s aktuálnym spracovaním dotazu TopX
Jazyky dotazovania • Podpora 2 typov zápisu dotazov • XPath 2.0 Full-Text • jazyk NEXI • podpora pre XPath.ovske osy • descendant ≡ „//“ • self ≡ „.“ • operátor about • obdoba ftcontains • typický príklad dotazy v NEXI : • //article[//bib[about(.//item, W3C)]] //sec[about(.//title, XML retrieval)] //par[about(., native XML databasese)] TopX
Dátový model • na dáta sa budeme dívať ako na stromový model pre polo-štruktúrované dáta • ignorujú sa • ľubovoľné metadata( <!...>) • odkazy vo forme XLink alebo ID/IDRef atribútov • s atribútmi je zachádzané ako s „deťmi“(priami potomci) príslušného uzlu • textové uzly sú asociované s priamym predchodcom TopX
Pripomenutie príkladu • //article[//bib[about(.//item, W3C)]] //sec[about(.//title, XML retrieval)] //par[about(., native XML databasese)] TopX
Dotazovací model • cieľový element(target element) • najpravejší, top-level uzlový test na pozíciu na ceste • všetky ostatné uzly označnované ako podporné elementy(support elements) • cieľové elementy dotazu určujú granualitu výsledku • v našom príklade je cieľovým elementom „par“ • „article“, „bib“, „item“, „sec“, „title“ sú podporné elementy TopX
Dotazovací model 2 • použitím osí pre spätný smer, by mohli v grafe dotazu vytvoriť cyklus • TopX je momentálne obmedzený na DAGy • orientované acyklické grafy(Directed Acyclic Graph) TopX
Interná reprezentácia dotazu • Interpreter dotazu • analyzuje dotaz • dekomponuje ho do • navigačných(navigational) podmienok • obsahových podmienok • podmienky potom tvoria uzly DAG grafu • uzly sú spojené tipovanými hranami • ktoré budú predstavovať štrukturálne obmedzenia • každá hrana bude odpovedať nejakej XPath ose TopX
Interná reprezentácia dotazu 3 • v našom názorovom príklade teda • výskyt elementov „section“ a „title“ sú navigačné podmienky(teda aj všetky nelistové uzly) • potreba výskytu výrazov „XML“ a „retrieval“ sú obsahové podmienky(teda aj všetky listy) • potreba, aby element „section“ bol spojený s „title“ cez osu nasledovníka(descendant) je štrukturálne obmedzenie(teda aj každá hrana) • po parsovaní, je dotaz interne reprezentovaný ako DAG, takže nezávisle na použitom jazyku TopX
Interná reprezentácia dotazu 4 • Hlavnými stavebnými kameňmi pre spracovanie dotazu sú tzv. značka-výraz páry(tag-term pairs) • vznikajú spojením tokenov z „about“ operátoru s ich rodičmi v dotaze • potrebujeme udržať aj informáciu o tom, že niektoré značka-výraz páry patria k rovnakému elementu, medzi patričné vrcholy sa pridávajú hrany reprezentujúce os „ja“(self) TopX
Interná reprezentácia dotazu 6 • Branie v úvahu hrany patriace do tranzitívneho uzáveru doterajšieho grafu • táto úprava je používaná, v prípade, že žiaden kandidát nespĺňa všetky pôvodné štrukturálne podmienky • v takom prípade sa uvoľňujú štrukturálne podmienky pre dosiahnutie aspoň aproximovaných výsledkov TopX
Skóre model • Hlavné stavebné bloky • značka-výraz pár – každý získa pred-vypočítané relevantnostné skóre • navigačné podmienky, ktoré nie sú súčasťou značka-výraz páru, prispievajú do agregovaného skóre matchovaného pod-stromu v dokumente statickou skóre hodnotou • ak všetky tranzitivitou vložené štr. podmienky vychádzajúce z daného uzla sú splnené TopX
Skóre model 2 • Môžu nastať prípady, že 1 element splňujúci podmienky dotazu, bude podmienky spĺňať v rámci dokumentu vo viacerých podstromoch • preto pre každý takýto cieľový element vrátime maximum zo skôr všetkých podstromov, v rámci ktorých element spĺňa podmienky • V prípade požadovania výsledku ako celý dokument, obsahujúci element spĺňajúci podmienky, bude dokumentu priradené maximum zo skôr všetkých elementov splňujúcich podmienky TopX
Skóre model 3 • Podpora pre pokročilé vyhľadávacie vlastnosti • ako sú napr. povinné kľúčové slová, negácie, matchovanie fráz v rámci about operátoru • Model je aplikovateľný pre 2 typy interpetácie • konjunktívna – kde každá podmienka musí byť splnená • „andish“ – kde konečné poradie je vyhodnotené pomocou agregácie skóre, kde niektoré podmienky nemusia byť splnené vôbec TopX
Obsahové skóre • Element e spĺňa značka-výraz(tag-term) obsahovú podmienku ak e matchuje meno značky(tag) a podstrom s koreňom e, obsahuje výraz(term) • score(e, A=t) ≡ skóre elementu e s menom A, na obsahovanie výrazu t TopX
Obsahové skóre 2 • occurence = počet výskytov výtazu t v elemente e • specificiy = odvodená z • počet elementov so značkou A v celom(pravdepodobne) dokumente • ako predchádzajúci, ale obsahujúci výraz t • size = zvažuje veľkosť normalizovaného podstromu/elementu(som veľmi nepochopil) TopX
Obsahové skóre 3 • Vzorec pre výpočet skóre je ešte ohýbaný kvôli vyhnutiu sa extrémnym prípadom • Pre about operátor s viac výrazmi pripojenými k elementu e, bude agregované skóre e spočítané ako suma cez skóre elementu každej dvojice značka-term TopX
Štrukturálne skóre • model v podstate ráta počet splnených navigačných podmienok pre kandidátov a to pripája k matchovaním obsahovým podmienkam • pre každú splnenú navigačnú podmienku, ktorá nie je súčasťou značka-výraz páru, priradí malú, konštantnú, nastaviteľnú hodnotu c • každá navigačná podmienka odpovedá presne 1 uzlu v dotazovom DAG grafe • navigačná podmienka je splnená elementom e v dokumente d, ak všetky štrukturálne obmedzenia s tranzitívne rozšírenom grafe splnené • teda hrany vychádzajúce z elemenu e TopX
Štrukturálne skóre 2 TopX