Top X Rene Fischer Dotazovac jazyky II Top

  • Slides: 84
Download presentation
Top. X Rene Fischer Dotazovací jazyky II Top. X

Top. X Rene Fischer Dotazovací jazyky II Top. X

Top. X • Čo je to Top. X? – je to nástroj pre získavanie

Top. X • Čo je to Top. X? – 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 Dotazovací jazyky II Top. X 2

Osnova prednášky 1. 2. 3. 4. 5. Všeobecne o Top-X Architektúra Top-X Interná reprezentácia

Osnova prednášky 1. 2. 3. 4. 5. Všeobecne o Top-X Architektúra Top-X Interná reprezentácia dotazu Skóre model Základné spracovanie dotazu Dotazovací jazyky II Top. X 3

Výhody Top. X • Po získaní daných top-k prvkov, ukončuje ďalšie prehľadávanie • Podpora

Výhody Top. X • 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 Dotazovací jazyky II Top. X 4

Pôvod XML dát • Mnoho zdrojov • Často bez schém • Heterogénne štruktúry a

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 Dotazovací jazyky II Top. X 5

Top. X model podporuje 1. full-text obsahové podmienky 2. značka-výraz(tag-term) kombinácie 3. traverzovacie podmienky

Top. X model podporuje 1. full-text obsahové podmienky 2. značka-výraz(tag-term) kombinácie 3. traverzovacie podmienky pre všetky XPath osi – absolútne – relatívne 4. Ontologicky založené relácie výrazov(terms) a názvy značiek(tag names) ako podobnostné podmienky Dotazovací jazyky II Top. X 6

Typický príklad • //book[about(. , Information Retrieval XML) and about(. //reference, Page. Rank)] //author[about(.

Typický príklad • //book[about(. , Information Retrieval XML) and about(. //reference, Page. Rank)] //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 „Page. Rank“ a „Standford“ – ľudsky povedané : autorov kníh o získavaní dát z XML, odkazujúcich sa na Page. Rank, zo Standfordu Dotazovací jazyky II Top. X 7

Ale. . . • . . . napriek dátam presne vyhovujúcim týmto podmienkam, by

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. . . Dotazovací jazyky II Top. X 8

Niečo o Top-K algoritmoch • algoritmy, tiež známe ako limitné algoritmy(threshold algorithms) – algoritmus

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 Dotazovací jazyky II Top. X 9

Odbočka - Invertovaný index • indexová dátová štruktúra – mapuje výskyt slov v textoch,

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 ) Dotazovací jazyky II Top. X 10

Odbočka 2 - Invertovaný index - príklad texty • T 1 = „it is

Odbočka 2 - Invertovaný index - príklad texty • T 1 = „it is what it is“ • T 2 = „what is it“ • T 3 = „it is a banana“ Record level inverted index • "a": {2} • "banana": {2} • "is": {0, 1, 2} • "it": {0, 1, 2} • "what": {0, 1} Dotazovací jazyky II 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)} Top. X 11

Hlavné problémy riešené Top. X 1. skóre a indexové zoznamy sú robené pre samostatné

Hlavné problémy riešené Top. X 1. 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 2. 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> Dotazovací jazyky II Top. X 12

Hlavné problémy 2 3. relevantné medzivýsledky musia byť testované na spĺňanie traverzovacej podmienky dotazu

Hlavné problémy 2 3. 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 4. 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 Dotazovací jazyky II Top. X 13

Hlavné problémy 3 5. efektívna stratégia vyhodnocovania dotazu a prerezávanie(prunning) kandidátov musí brať v

Hlavné problémy 3 5. efektívna stratégia vyhodnocovania dotazu a prerezávanie(prunning) kandidátov musí brať v úvahu odhad oboch 1. agregovaného skóre 2. traverzovacie podmienky 6. 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 Dotazovací jazyky II Top. X 14

Hlavné komponenty systému Dotazovací jazyky II Top. X 15

Hlavné komponenty systému Dotazovací jazyky II Top. X 15

Hlavné komponenty systému • môžeme ich rozdeliť do 2 hlavných skupín – na vkladanie

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) Dotazovací jazyky II Top. X 16

Hl. komp. – 1. Indexer & Crawler Dotazovací jazyky II Top. X 17

Hl. komp. – 1. Indexer & Crawler Dotazovací jazyky II Top. X 17

Hl. komp. – 1. Indexer & Crawler • Indexer – – skupina vkladania dát

Hl. komp. – 1. Indexer & Crawler • Indexer – – skupina vkladania dát pri vložení nového dokumentu je dokument 1. parsovaný 2. dáta sú analyzované 3. 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 Dotazovací jazyky II Top. X 18

Hl. komp. – 2. Ontology Service Dotazovací jazyky II Top. X 19

Hl. komp. – 2. Ontology Service Dotazovací jazyky II Top. X 19

Hl. komp. – 2. Ontology Service • Komponenta, ktorá voliteľne spravuje tezaurus alebo „ľahšiu“

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í Dotazovací jazyky II Top. X 20

Odbočka – Ontológia je • . . . výslovný (explicitní) popis určité problematiky. Je

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 ) Dotazovací jazyky II Top. X 21

Hl. komp. - 3. Procesor dotazov Dotazovací jazyky II Top. X 22

Hl. komp. - 3. Procesor dotazov Dotazovací jazyky II Top. X 22

Hl. komp. – 3. Procesor dotazov • pri spracovaní dotazu, procesor 1. dekomponuje dotaz

Hl. komp. – 3. Procesor dotazov • pri spracovaní dotazu, procesor 1. dekomponuje dotaz 2. 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 predpočítaného indexového zoznamu – ide o multivlá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 Dotazovací jazyky II Top. X 23

Hl. komp. – 4. Index Access Scheduler Dotazovací jazyky II Top. X 24

Hl. komp. – 4. Index Access Scheduler Dotazovací jazyky II Top. X 24

Hl. komp. – 4. Index Access Scheduler • Plánovač prístupu k indexom – poskytuje

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 Dotazovací jazyky II Top. X 25

Hl. komp. – 5. Propabilistic Candidate Prunning Dotazovací jazyky II Top. X 26

Hl. komp. – 5. Propabilistic Candidate Prunning Dotazovací jazyky II Top. X 26

Hl. komp. – 5. Propabilistic Candidate Prunning • Pravdepodobnostné prerezávanie(stromu) kandidátov – založený na

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 Dotazovací jazyky II Top. X 27

Hl. komp. – 6. Dynamic Query Expansion Dotazovací jazyky II Top. X 28

Hl. komp. – 6. Dynamic Query Expansion Dotazovací jazyky II Top. X 28

Hl. komp. – 6. Dynamic Query Expansion • Dynamické rozširovanie dotazu – komponenta mapuje

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 Dotazovací jazyky II Top. X 29

Jazyky dotazovania • Podpora 2 typov zápisu dotazov 1. XPath 2. 0 Full-Text 2.

Jazyky dotazovania • Podpora 2 typov zápisu dotazov 1. XPath 2. 0 Full-Text 2. jazyk NEXI – podpora pre XPath. ovske osy – – – operátor about – • descendant ≡ „//“ self ≡ „. “ obdoba ftcontains typický príklad dotazy v NEXI : – //article[//bib[about(. //item, W 3 C)]] //sec[about(. //title, XML retrieval)] //par[about(. , native XML databasese)] Dotazovací jazyky II Top. X 30

Dátový model • na dáta sa budeme dívať ako na stromový model pre polo-štruktúrované

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 Dotazovací jazyky II Top. X 31

Pripomenutie príkladu • //article[//bib[about(. //item, W 3 C)]] //sec[about(. //title, XML retrieval)] //par[about(. ,

Pripomenutie príkladu • //article[//bib[about(. //item, W 3 C)]] //sec[about(. //title, XML retrieval)] //par[about(. , native XML databasese)] Dotazovací jazyky II Top. X 32

Počiatočný tvar stromu/grafu príkladového dotazu Dotazovací jazyky II Top. X 33

Počiatočný tvar stromu/grafu príkladového dotazu Dotazovací jazyky II Top. X 33

Dotazovací model • cieľový element(target element) – najpravejší, top-level uzlový test na pozíciu na

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 Dotazovací jazyky II Top. X 34

Dotazovací model 2 • použitím osí pre spätný smer, by mohli v grafe dotazu

Dotazovací model 2 • použitím osí pre spätný smer, by mohli v grafe dotazu vytvoriť cyklus • Top. X je momentálne obmedzený na DAGy – orientované acyklické grafy(Directed Acyclic Graph) Dotazovací jazyky II Top. X 35

Interná reprezentácia dotazu • Interpreter dotazu – analyzuje dotaz – dekomponuje ho do •

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 Dotazovací jazyky II Top. X 36

Interná reprezentácia dotazu 2 Dotazovací jazyky II Top. X 37

Interná reprezentácia dotazu 2 Dotazovací jazyky II Top. X 37

Interná reprezentácia dotazu 3 • v našom názorovom príklade teda – výskyt elementov „section“

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 Dotazovací jazyky II Top. X 38

Interná reprezentácia dotazu 4 • Hlavnými stavebnými kameňmi pre spracovanie dotazu sú tzv. značka-výraz

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) Dotazovací jazyky II Top. X 39

Interná reprezentácia dotazu 5 Dotazovací jazyky II Top. X 40

Interná reprezentácia dotazu 5 Dotazovací jazyky II Top. X 40

Interná reprezentácia dotazu 6 • Branie v úvahu hrany patriace do tranzitívneho uzáveru doterajšieho

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 Dotazovací jazyky II Top. X 41

Interná reprezentácia dotazu 7 Dotazovací jazyky II Top. X 42

Interná reprezentácia dotazu 7 Dotazovací jazyky II Top. X 42

Skóre model • Hlavné stavebné bloky 1. značka-výraz pár – každý získa predvypočítané relevantnostné

Skóre model • Hlavné stavebné bloky 1. značka-výraz pár – každý získa predvypočítané relevantnostné skóre 2. navigačné podmienky, ktoré nie sú súčasťou značka-výraz páru, prispievajú do agregovaného skóre matchovaného podstromu v dokumente statickou skóre hodnotou – ak všetky tranzitivitou vložené štr. podmienky vychádzajúce z daného uzla sú splnené Dotazovací jazyky II Top. X 43

Skóre model 2 3. Môžu nastať prípady, že 1 element splňujúci podmienky dotazu, bude

Skóre model 2 3. 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 4. 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 Dotazovací jazyky II Top. X 44

Skóre model 3 5. Podpora pre pokročilé vyhľadávacie vlastnosti • • ako sú napr.

Skóre model 3 5. 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 Dotazovací jazyky II Top. X 45

Obsahové skóre • Element e spĺňa značka-výraz(tag-term) obsahovú podmienku ak e matchuje meno značky(tag)

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 Dotazovací jazyky II Top. X 46

Obsahové skóre 2 • occurence = počet výskytov výtazu t v elemente e •

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) Dotazovací jazyky II Top. X 47

Obsahové skóre 3 • Vzorec pre výpočet skóre je ešte ohýbaný kvôli vyhnutiu sa

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 Dotazovací jazyky II Top. X 48

Štrukturálne skóre • model v podstate ráta počet splnených navigačných podmienok pre kandidátov a

Š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 Dotazovací jazyky II Top. X 49

Štrukturálne skóre 2 Dotazovací jazyky II Top. X 50

Štrukturálne skóre 2 Dotazovací jazyky II Top. X 50

Štrukturálne skóre 3 • bez „self“ ôs, graf obsahuje 14 • štrukturálne perfektný výsledok

Štrukturálne skóre 3 • bez „self“ ôs, graf obsahuje 14 • štrukturálne perfektný výsledok by sa zhodoval vo všetkých 14 hranách Dotazovací jazyky II Top. X 51

Skóre elementu • pre každý dokument je vrátený usporiadaný zoznam cieľových elementov - T(d)

Skóre elementu • pre každý dokument je vrátený usporiadaný zoznam cieľových elementov - T(d) • pre výpočet skóre pre element e z T(d), je potreba nájsť v strome dokumentu d vhodné vsadenia DAG grafu dotazu – Trees(e) • pre každý strom k z Trees(e), je skóre k vypočítané ako suma všetkých skóre splnených obsahových(C) a štrukturálnych podmienok(N) • takých stromov pre e môže byť viac, preto definujeme skôre pre e ako : Dotazovací jazyky II Top. X 52

Skóre elementu • hodnota c nám určuje, či uprednostňujeme plnenie štrukturálnych podmienok, alebo hodnotových

Skóre elementu • hodnota c nám určuje, či uprednostňujeme plnenie štrukturálnych podmienok, alebo hodnotových podmienok • vysoká hodnota c • nízka hodnota c – dominujú štrukturálne požiadavky – uprednostnenie výsledkov podporujúce podporné elementy Dotazovací jazyky II Top. X – zvýhodňuje kandidátov splňujúcich obsahové podmienky – nevadia nejaké nesplnené štrukturálne podmienky 53

Skóre dokumentu • v prípade požadovania výsledkov ako celých dokumentov, zdedí dokument d skóre

Skóre dokumentu • v prípade požadovania výsledkov ako celých dokumentov, zdedí dokument d skóre svojho najlepšieho cieľového elementu Dotazovací jazyky II Top. X 54

Povinné výrazy • Nech M, podmožina {1, . . . , m}, je množina

Povinné výrazy • Nech M, podmožina {1, . . . , m}, je množina obsahových podmienok značených so znakom „+”, ktorý má naznačovať ich povinnosť • Skóre pre kandidátsky element e dokumentu d bude definované ako • kde βi = – 1 ak i je z M – ináč 0 Dotazovací jazyky II Top. X 55

Negácie a frázy • výskyt negovanej obsahovej podmienky v dokumente by nemal celý dokument

Negácie a frázy • výskyt negovanej obsahovej podmienky v dokumente by nemal celý dokument vyradiť z procesu výberu kandidáta – dokument by mal dostať iba istú „penalizáciu“ – alebo dostať pridané za nevyskytovanie sa podmienky Dotazovací jazyky II • frázová obsahová podmienka je považovaná za splnenú iba ak full-content elementu obsahuje frázu min. raz • jeho skóre za túto frázu bude sumou skór za tokeny fráze • frázové negácie podobne ako negácie výrazov Top. X 56

Spracovanie dotazu • Top. X procesor dotazu je zodpovedný za – top-k spracovanie založené

Spracovanie dotazu • Top. X procesor dotazu je zodpovedný za – top-k spracovanie založené na prehľadávaní indexov – udržiavanie kandidátov • kostra algoritmu spočíva v Kombinovanom algoritme(Combined Alboritm-CA Dotazovací jazyky II Top. X 57

CA • Algoritmus kombinuje – sekvenčné prehľadávanie invertovaných zoznamov indexov – náhodné vyhľadávanie indexových

CA • Algoritmus kombinuje – sekvenčné prehľadávanie invertovaných zoznamov indexov – náhodné vyhľadávanie indexových záznamov • Základom CA je „round-robin“ podobná procedúra – zotriedený prístup(sorted access – SA) – ale multivláknová a dávková – „round robin“ • typ algoritmu plánovania • proces odosielajúci výstup spať na vstup • SA prechádza invertované indexy – každý predstavuje zoznam všetkých elementov uspokujúcich jeden výraz-značka podmienku • sú zotriedené zostupne podľa skóre Dotazovací jazyky II Top. X 58

Spracovanie dotazu 2 • Hlavný algoritmus je rozšírení o plánovač náhodného prístupu(random access -

Spracovanie dotazu 2 • Hlavný algoritmus je rozšírení o plánovač náhodného prístupu(random access - RA) – rieši plánovanie náhodných prístupov pre riešenie ešte nerozhodnuté podmienok – umožňuje riešenie navigačných a zložitejších full-text podmienok, ktoré nie sú riešiteľné prístupom k zotriedeným indexom, resp. by tieto operácie boli príliš drahé Dotazovací jazyky II Top. X 59

Indexové štruktúry • Top. X využíva – 2 hlavné indexy pre • obsahové podmienky

Indexové štruktúry • Top. X využíva – 2 hlavné indexy pre • obsahové podmienky • štrukturálne podmienky – 1 pomocný index pozícií pre • frázové podmienky • Všetky indexy sú implementované v relačnom SRBD pomocou B+ stromov Dotazovací jazyky II Top. X 60

Index – značka-obsah • pre každý značka-obsah pár máme inverotvaný index : – (tag,

Index – značka-obsah • pre každý značka-obsah pár máme inverotvaný index : – (tag, term, docid, pre, post, level, score, maxscore) • • pre/post – je pre/post order kódovanie elementu level – hĺbka v strome scóre – je skóre pre danú podmienky v elemente maxscore – max. skóre pre danú značka-výraz podmienku v rámci elementov dokumentu – záznamy sú zotriedené podľa – maxscore, docid, score • použivaný pre oba, sekvenčné prehľadávanie aj náhodný prístup Dotazovací jazyky II Top. X 61

Index – značka-obsah 2 • Dôvod usporiadania značka-výraz indexu – chceme spracovať matchujúce elementy

Index – značka-obsah 2 • Dôvod usporiadania značka-výraz indexu – chceme spracovať matchujúce elementy v zostupnom poradí ale zároveň chceme spracovať všetky elementy v rámci rovnakého dokumentu a značka-výraz zhody • dané zoradenie nám dáva zhody pre najväčšie skóre a zhromažďuje zároveň všetky elementy daného dokumentu Dotazovací jazyky II Top. X 62

Index - štrukturálny • zakódovanie polohy elementu v dokumente, ktoré nám dáva možnosť efektívneho

Index - štrukturálny • zakódovanie polohy elementu v dokumente, ktoré nám dáva možnosť efektívneho testu pre XPath osy – (tag, docid, pre, post, level) – tieto záznamy sú pristupované iba náhodným vyhľadávaním pre dané elementy • používaný iba pre náhodný prístup Dotazovací jazyky II Top. X 63

Index – štrukturálny 2 • Navigácia medzi XPath osami pomocou pre/post hodnôt – test,

Index – štrukturálny 2 • Navigácia medzi XPath osami pomocou pre/post hodnôt – test, či e 1 je predok elementu e 2 • ak [pre(e 1) < pre(e 2)] AND [post(e 1) > post(e 2)] – s pomocou ďalšej hodnoty, level, je možné analogicky určiť všetkých 13 XPath ôs Dotazovací jazyky II Top. X 64

Index - pozičný • pre každý výraz máme záznam – (term, docid, pos) •

Index - pozičný • pre každý výraz máme záznam – (term, docid, pos) • pos – pozícia výskitu termu v dokumente – používané pre testovanie matchovania fráze • používaný iba pre náhodný prístup Dotazovací jazyky II Top. X 65

Spracovanie dotazu 3 • nech dotaz pozostáva z – m obsahových podmienok – n

Spracovanie dotazu 3 • nech dotaz pozostáva z – m obsahových podmienok – n štrukturálnych podmienok • Top. X, za účelom ohodnotenia a usporiadania, prehľadáva všetky značkavýraz indexi pre obsahové podmienky v dodanom poradí Dotazovací jazyky II Top. X 66

Spracovanie dotazu 4 • algoritmus prevádza iteratívne 1. prečíta záznamy aktuálne čítaného indexu pre

Spracovanie dotazu 4 • algoritmus prevádza iteratívne 1. prečíta záznamy aktuálne čítaného indexu pre daný dokument 2. vyhovujúce záznamy sú hashovane spojené s dočasnými výsledkami vyhľadávania v predchádzajúcich indexoch pre daný dokument 3. s týmto spojením je zároveň prevádzaná kontrola na navigačných podmienok • pomocou pre/post poradových čísel elementov 4. skóre sú agregované a updatované Dotazovací jazyky II Top. X 67

Zpracovanie dotazu 5 • Spôsob počítania skóre nám dáva určitú nejasnosť ohľadom konečného skóre

Zpracovanie dotazu 5 • Spôsob počítania skóre nám dáva určitú nejasnosť ohľadom konečného skóre kandidátov – to implikuje udržiavanie len momentálnych top-k kandidátov, ale aj všetkých možných, ktorý by sa medzi top-k ešte mohli dostať – existujú 2 prioritné fronty • aktuálnych top-k výsledkov • kandidátov na top-k výsledky Dotazovací jazyky II Top. X 68

XPath vyhodnocovanie • Po každom výbere bloku elementov dokumentu pre nejakú z obsahových podmienok,

XPath vyhodnocovanie • Po každom výbere bloku elementov dokumentu pre nejakú z obsahových podmienok, je tento blok – porovnávaný ostatnými blokmi elementov daného dokumentu, ktoré sme dostali z prehľadávania indexov pre ostatné obsahové podmienky – sú testované štrukturálne podmienky – je prípadne agregované skóre • Dokumenty, ktoré máju v každom bloku aspoň 1 element, spĺňajú všetky štrukturálne podmienky doteraz testované sú ponechané na ďalšie testovanie – zvyšný kandidáti môžu byť z dôvodu šetrenia „drahej“ pamäte vypustený Dotazovací jazyky II Top. X 69

XPath vyhodnocovanie Dotazovací jazyky II Top. X 70

XPath vyhodnocovanie Dotazovací jazyky II Top. X 70

Plánovanie náhodných prístupov • Definovanie „drahých“ pedikátov – ak nieje možné ho vyriešiť cez

Plánovanie náhodných prístupov • Definovanie „drahých“ pedikátov – ak nieje možné ho vyriešiť cez prístup k zoradeným indexom alebo by takéto riešenie bolo veľmi drahé • značka podmienky(teda bez výrazu), pretože potrebujú prístup do štrukturálneho indexu • frázy pretože požadujú prístup do pozíciového idexu • negácie – potreba skúmania celých zoznamov Dotazovací jazyky II Top. X 71

Min-probe heuristika • Odkladanie testovania drahých predikátov pomocou RA tak dlho, ako je to

Min-probe heuristika • Odkladanie testovania drahých predikátov pomocou RA tak dlho, ako je to možné – Testy prevádzať iba v prípade, že by ich vyhodnotenie viedlo k posunu kandidáta do top-k • Udržiavanie hodnoty skóre, ktoré by prvok nadobudol v prípade platnosti predikátu Dotazovací jazyky II Top. X 72

Ben-probe plánovanie • Min-probe heuristika nebrala v úvahu pomer výhoda/cena náhodného vs. zoradeného prístupu

Ben-probe plánovanie • Min-probe heuristika nebrala v úvahu pomer výhoda/cena náhodného vs. zoradeného prístupu a neuvažovala nikdy o RA pri značka-term podmienkach • Ben-probe – pomocou cenového modelu vyberá nasledujúci krok(RA/SA) Dotazovací jazyky II Top. X 73

Ben-probe plánovanie 2 • Určuje pravdepodobnosť pre dokument d, – d už bol spracovaný

Ben-probe plánovanie 2 • Určuje pravdepodobnosť pre dokument d, – d už bol spracovaný pomocou indexov E(d) – pomocou E’(d) nie • že sa kvalifikuje do konečného top-k, pomocou prediktoru skóre a odhadcu výberu(selectivity estimator) • výpočty prediktoru a odhadcu by bolo zbytočne ukazovať a vysvetľovať Dotazovací jazyky II Top. X 74

Expanzia dotazu • Metóda pre zlepšenie odozvy(recall) pre zložité dotazy • Tradične používané metódy

Expanzia dotazu • Metóda pre zlepšenie odozvy(recall) pre zložité dotazy • Tradične používané metódy – výber rozširovacích výrazov, ktorých tematická podobnosť je nad určitou hranicou – sú sprevádzané problémami • hranice musia byť „opatrne“ a ručne nastavené • nevhodne zvolená hranica môže spôsobiť – žiadne zlepšenie – „zriedenie“ témy • viesť k dotazom s veľkým množstvom výrazov – čo spôsobuje stratu efektivity vyhodnocovania – Zvlášť, pre XML, kde sa expanzia týka aj značiek Dotazovací jazyky II Top. X 75

Expanzia dotazu 2 • Technika použitá v Top. X rieši tieto problémy pomocou dynamické

Expanzia dotazu 2 • Technika použitá v Top. X rieši tieto problémy pomocou dynamické a inkrementálneho zlučovania inverovaných zoznamov pôvodných výrazov s výrazmi potenciálne použiteľnými k expanzii • Táto metóda funguje ako u výrazov, tak u značiek Dotazovací jazyky II Top. X 76

Expanzia založenia na tezaure • Generovanie potenciálnych výrazov/významov pre expanziu pomocou databáze založenej na

Expanzia založenia na tezaure • Generovanie potenciálnych výrazov/významov pre expanziu pomocou databáze založenej na tezauru Word. Net. e Dotazovací jazyky II Top. X 77

Odbočka - Word. Net • je najväčšia elektronicky dostupná databáza anglických slov. • podst.

Odbočka - Word. Net • je najväčšia elektronicky dostupná databáza anglických slov. • podst. mená, slovesá, prídavné mená a príslovky sú zgrupované do skupín známych(cognitive) synoným – synsets, kde každá predstavuje rozdielny koncept Dotazovací jazyky II Top. X 78

„Od-významovanie“ významu slova • Klasické metódy rozširovania v IR trpia – Viacznačnosťou – slovo

„Od-významovanie“ významu slova • Klasické metódy rozširovania v IR trpia – Viacznačnosťou – slovo má viac významov závislých na kontexte – Synonymitou – viac slov má rovnaký význam • Za účelom vyriešenia týchto problémov je výraz mapovaný do Word. Net konceptu pomocou porovnávania určitej formy kontextu výrazu • s kontextom synsetov(a ich ontologických susedov) Dotazovací jazyky II Top. X 79

Výber z významov • Pomocou slovných štatistík pre lokálny kontext výrazu a kandidátskeho významu

Výber z významov • Pomocou slovných štatistík pre lokálny kontext výrazu a kandidátskeho významu – kontext výrazu je tvorený dotazom – kontext synsetov tvorené • hyponýma – podriedený pojem inému pojmu • hypernýma – nadriadený pojmu inému • hyponými hypernýmov Dotazovací jazyky II Top. X 80

Porovnávanie kontextov • Kontexty kandidátov sú pomocou miery porovnávané na podobnosť s kontextom výrazu.

Porovnávanie kontextov • Kontexty kandidátov sú pomocou miery porovnávané na podobnosť s kontextom výrazu. Často používané miery – kosínová podobnosť(? ) – Kullback-Leiber divergecia • Vybraný je synset, ktorého kontext je najmenej vzdialený od kontextu výrazu Dotazovací jazyky II Top. X 81

Voliteľnosť expanzie • Top. X môže expandovať všetky výrazy, alebo iba tie, ktoré užívateľ

Voliteľnosť expanzie • Top. X môže expandovať všetky výrazy, alebo iba tie, ktoré užívateľ označí pomocou operátora „~“ Dotazovací jazyky II Top. X 82

Záver • Zaujímavý a pomerne premyslený systém • Žiaľ pre mňa osobne, strašne zložitý

Záver • Zaujímavý a pomerne premyslený systém • Žiaľ pre mňa osobne, strašne zložitý text, ktorý mi dosť bránil k pochopeniu niektorých častí. . . • Otázky ? Dotazovací jazyky II Top. X 83

Zdroje • Článok vydaný v „The VLDB Journal(2008) 17: 81 -115“ – Názov :

Zdroje • Článok vydaný v „The VLDB Journal(2008) 17: 81 -115“ – Názov : „Top. X: efficient and versatile tok-k query processing for semistructured data“ – Autori : M. Theobald, H. Bast, D. Majumdar, R. Schenkel, G. Weikum • Informácie o „Word. Net“ – http: //wordnet. princeton. edu/ • Niektoré definície – http: //www. wikipedia. org Dotazovací jazyky II Top. X 84