vyhled v n v multimedi ln ch datab z ch tom skopal ksi mff uk
Download
Skip this Video
Download Presentation
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK

Loading in 2 Seconds...

play fullscreen
1 / 35

Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK - PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on

Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK. 3 . Modality a kvalita v yhled ávání. Osnova. Modality vyhledávání Dotazy - rozsahový dotaz, (reverzních) k nejbližších sousedů, closest pair, similarity join Relevance feedback Browsing, navigace pomocí výsledku dotazu

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK' - misu


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
osnova
Osnova
  • Modality vyhledávání
    • Dotazy - rozsahový dotaz, (reverzních) k nejbližších sousedů, closest pair, similarity join
    • Relevance feedback
    • Browsing, navigace pomocí výsledku dotazu
  • Kvalita výsledku (retrieval effectiveness)
    • úspěšnost MDBR systému vzhledem k obsahu výsledku dotazu (obecně celého retrieval procesu)
dotazov n p edpoklady
Dotazování, předpoklady
  • míra odlišnosti (např. metrika) d(*,*) definovaná na univerzu U
  • datová sada SU
  • všechny objekty universa tvoří prostor
    • např. klasický vektorový Rn
    • všechny řetězce na abecedě
podobnostn uspo d n
Podobnostní uspořádání
  • uspořádání objektů datové sady S vzhledem k vzdálenostem k Or (Or je referenční objekt), tj.SimOrder: U 2UxU, kde  SimOrder(Or)  d(Or,Oi) < d(Or,Qj)
  • pouze abstrakce pro potřeby definic dotazů, tj. ve skutečnosti se uspořádání „nematerializuje“ celé
  • různé typy dotazů specifikují odpověď rozsahem na podobnostním uspořádání
rozsahov dotaz range query
L1

L2

Rozsahový dotaz (range query)
  • zadán objektem Q (example) a poloměrem dotazu rQ (resp. prahovou hodnotou)
    • notace (Q, rQ)
  • relevantní k dotazu (Q, rQ) jsou všechny objekty Oi S univerza, které splňují podmínku d(Q,Oi)  rQ
    • výběr z uspořádání SimOrder(Q)
  • geometrická interpretace: „hyper-koule“ v prostoru U
    • označuje oblast v U (a tím také v S), která je relevantní k dotazu
    • pro zjednodušení budeme znázorňovat regionem v R2, vnitřek regionu (včetně hranice) označuje relevantní objekty
rozsahov dotaz 2
Rozsahový dotaz (2)
  • vyžaduje se „expertní“ znalost významu poloměru, velikost výsledku dotazu je proměnlivá
    • vhodnější použití jako mezidotaz, kdy je potřeba úplná odpověď, která se dále zpracovává
  • vykonání rozsahového dotazu
    • sekvenční průchod S a porovnání všech objektů z S vůči (Q, rQ)
    • použití nějakého metrického indexu (pokud d je metrika)
      • struktura metrických datových regionů – různé tvary
      • filtrování těch datových regionů, které nemají průnik s regionem dotazu
      • více na pozdějších přednáškách
p klad rozsahov dotaz
1) 2) 3)

dist = 998.7 dist = 1018.8 dist = 1040.4

4) 5)

dist = 1031.3dist = 1166.2

Příklad - rozsahový dotaz

Q:

dotaz (Q, 1200)

dist = 0.0

bodov dotaz point query
Bodový dotaz (point query)
  • rozsahový dotaz, kde rQ = 0
  • jednoduchá a rychlá implementace u metrik
    • exact-match dotaz (stačí ukládat reprezentace objektů do B-stromu a vyhlevávání je potom prosté nalezení klíče – umožňuje reflexivita)
    • velmi omezené použití
      • např. identifikace duplicit
  • u robustních měr porušujících reflexivitu může bodový dotaz poskytovat funkcionalitu binární relevance
    • tolerance (poloměr) se přenese „dovnitř“ míry
dotaz na k nejbli ch soused k nearest neighbors knn dotaz
Dotaz na k nejbližších sousedů (k nearest neighbors – kNN dotaz)
  • zadán objektem dotazu Q a přirozeným číslem k, které specifikuje kolik nejbližších (nejpodobnějších) objektů se má vrátit jako výsledek
    • notace (Q, k)
  • výběr prvních k objektů z uspořádání SimOrder(Q)
  • relevantní k dotazu jsou objekty Oi AS, že |A| = k a platí Oj S – A, d(Q,Oi)  d(Q,Qj)
  • geometrická interpretace: stejná jako u rozsahového dotazu, tj. hyperkoule
    • rozdíl je v tom, že poloměr rQ neznáme předem, je určen právě vzdáleností ke k-tému sousedů
    • tj. lze převést na problém rozsahového dotazu s dynamickým poloměrem (v průběhu zpracování se poloměr upřesňuje)
dotaz na k nejbli ch soused 2
Dotaz na k nejbližších sousedů (2)
  • vhodnější pro konečného uživatele, který už výsledek musí „probrat“ sám, tj. specifikuje se únosná velikost výsledku dotazu
  • vykonání dotazu
    • sekvenčně
      • vyrobíme uspořádání (pamatujeme si průběžně nejbližších k objektů, které na konci průchodu tvoří výsledek dotazu)
    • pomocí metrického indexu - rozdíl oproti rozsahovému dotazu
      • dynamický poloměr dotazu
        • rostoucí od nuly (heuristika odhadu poloměru)
        • klesající od nekonečna (resp. od maximální vzdálenosti)
      • heuristické algoritmy
        • prioritní fronta, ...
dotaz na k nejbli ch soused 3
Dotaz na k nejbližších sousedů (3)
  • sekvenčně, k=3, klesající poloměr
dotaz na k nejbli ch soused 4
Dotaz na k nejbližších sousedů (4)
  • s metrickým indexem, k=3 (detaily v pozdějších přednáškách), klesající poloměr
p klad knn dotaz
1) 2) 3)

dist = 998.7 dist = 1018.8 dist = 1040.4

Příklad – kNN dotaz

Q:

dotaz (Q, 3)

dist = 0.0

dotaz na reverzn ch k nejbli ch soused
Dotaz na reverzních k nejbližších sousedů
  • zadán objektem dotazu Q a přirozeným číslem k
  • vrací ty objekty z S, pro které je Q mezi k nejbližšími sousedy
    • lze modelovat |S| kNN dotazy, kde Q’ proběhne přes všechny objekty v S – výsledek původního dotazu se skládá z objektů Oi, takových, žeQ’S a Oi(Q’, k)

příklad, k=3

mo n i ntegrace do sql
Možná integrace do SQL
  • podobnostní uspořádání
    • funkce SIMorder(obj, DB) = < DB.obj1, DB.obj2, ..., DB.objn>, kde d(obj, DB.obji) ≤ d(obj, DB.obji+1) obji DB
  • podobnostní predikáty
    • range(example.MMattribute, table.MMattribute, e)vrátí prvních x takových objektů ze SIMorder(example.MMattribute, table.MMattribute), kde SIMorder[x+1] > e
    • kNN(example.MMattribute, table.MMattribute, k)vrátí prvních k objektů ze SIMorder(example.MMattribute, table.MMattribute)
rozsahov a knn dotaz v sql
Rozsahový a kNN dotaz v SQL

SELECT Id FROM BioData WHERErange(FrantisekNovak.Otisk, BioData.Otisk, 0.01)

SELECT Id FROM DNAData WHEREkNN(VcelkaMaja.DNA, DNAData.DNA, 1)

similarity join
Similarity join
  • dvojice objektů ze dvou množin takových, že objekty dvojice jsou si dostatečně podobné
  • range similarity join – spojení přes range query predikát
  • kNN similarity join – spojení přes kNN predikát
similarity join1
Similarity join

SELECT Zločinec.Id, Občan.Id FROM Zločinec SIMILARITY JOIN Občan ON range(Zločinec.Otisk, Občan.Otisk, 0.01)

SELECT Savec.Id, Hmyz.Id FROMSavec SIMILARITY JOIN Hmyz ON kNN(Savec.DNA, Hmyz.DNA, 2)

closest pairs
Closest pairs

SELECT Savec.Id, Hmyz.Id FROMSavec SIMILARITY JOIN Hmyz ON kNN(Savec.DNA, Hmyz.DNA, 1)

dynamick dotazy
Dynamické dotazy
  • podobnost závislá na dotazu
komplexn dotazy 1
dotaz:

výsledek dotazu:

Komplexní dotazy (1)
  • použitá primitiva – kNN a range query
  • primitiva lze začlenit jako speciální predikáty do boolského modelu (takto lze rozšířit např. SQL), lze použít single-reprezentace i multi-reprezentace dokumentů
komplexn dotazy 2
Komplexní dotazy (2)
  • jednodušší varianta – množinové operace na výsledcích dotazů
r elevance feedback u ivatelsk zp tn vazba
Relevance feedback(uživatelská zpětná vazba)
  • zpravidla tři kroky
    • provede se „předdotaz“ s počátečním nastavením (např. kNN)
    • uživatel subjektivně ohodnotí relevanci (některých) objektů z výsledku dotazu
      • pokud míra kombinuje „lidsky uchopitelné“ vlastnosti, může uživatel přímo upravit jejich proporci (např. barva vs. textura vs. tvar)
      • pozitivní a negativní příklady
    • učení nebo reformulace dotazu
      • uživatelská nebo automatická (re)parametrizace míry (metriky)
        • např. lze u vážené euklidovské metriky, kvadratické formy, ...
      • zjemnění dotazu (kombinovaný dotaz)
      • učení míry, resp. uživatelské profilování
        • neuronové sítě
  • více iterací
browsing a navigace
Browsing a navigace
  • základní princip: nevíme přesně, co hledáme
  • katalogizované prohlížení databáze
    • vyžaduje anotaci, klasifikaci, tvorbu ontologií, atd.
  • navigace pomocí výsledku dotazu
    • opakovaně pokládáme dotazy pomocí výsledků jiných dotazů (např. kNN), postupně se můžeme dostat zcela mimo původní dotaz
    • „traverzování“ databáze po cestách „podobnostním grafu“
kvalita vyhled v n retrieval effectiveness
kolekce

relevantní objekty v odpovědi = RelOdp

objekty v odpovědi = Odp

relevantníobjekty = Rel

Kvalita vyhledávání (retrieval effectiveness)
  • kvalita vyhledávání(retrieval effectiveness) je úspěšnost vyhledání dokumentů vzhledem k očekávání uživatele
    • vždy subjektivní, obecně nelze dosáhnout dokonalosti
    • měření kvality systému/metody na základě subjektivně ohodnocené kolekce
    • nejčastěji přesnost (precision) P = |RelOdp|/|Odp| a úplnost (recall)R = |RelOdp|/|Rel|
      • kvantifikace pro jeden dotaz (ať rozsahový nebo kNN)
      • přesnost ukazuje proporci irelevantních objektů v odpovědi
      • úplnost ukazuje proporci relevantních objektů v odpovědi
kvalita vyhled v n 2
Kvalita vyhledávání (2)
  • nechť QRref je referenční výsledek dotazu (např. ohodnocený uživatelem nebo získaný jinou metodou) a QRsys je výsledek dotazu vytvořený systémem/metodou, potom
    • objekt Oi  QRsys a zároveň Oi  QRref se nazývá false hit (false alarm)
      • čím více false hitů, tím nižší přesnost
    • objekt Oi  QRsys a zároveň Oi  QRref se nazývá false drop (false dismissal)
      • čím více false dropů, tím nižší úplnost
  • u hodnot přesnosti a úplnosti obecně vztaženým k referenčnímu výsledku dotazu (tj. ne k výsledku subjektivně vytvořenému uživatelem) hovoříme někdy o relativní přesnosti a relativní úplnosti (vzhledem k dané referenční metodě)
kvalita vyhled v n 3
Kvalita vyhledávání (3)
  • křivka precision/recall
    • přesnosti pro 11 standardních úrovní úplnosti (R=0..1 po 0.1 krocích)
    • ke konstrukci křivky využíváme uspořádání k dotazu – SimOrder(Q)
      • tj. neuvažuje se konkrétní typ a rozsah dotazu, pouze dotazový objekt Q
      • např. pro úroveň 0.1 se přesnost spočítá tak, že se uvažuje takový „začátek“ uspořádání SimOrder(Q), kterýobsahuje 10% relevantních objektů (resp. nejbližší hodnotu k 10%)
    • křivka typicky ukazuje na kompromis – dosáhneme vyšší přesnosti za cenu nižší úplnosti – a naopak
kvalita vyhled v n 4
Kvalita vyhledávání (4)

Alternativní míry:

  • Průměrná přesnost (mean precision)
    • počítá se z přesností, které obdržíme při„posunování konce uspořádání“ SimOrder(Q) po všech relevantních dokumentech – přibližně odpovídá obsahu plochy pod precision/recall křivkou
  • Mean average precision
    • agregovaná veličina– střední hodnota průměrných přesností přes více dotazových objektů Q
  • F-score = 2*P*R/(P+R)
    • harmonický průměr přesnosti a úplnosti
    • výhoda: jedna veličina místo dvou
  • R-precision
    • přesnost, když bereme v úvahu prvních |Rel| objektů v SimOrder(Q)
  • Bull-Eye percentage
    • úplnost, když bereme v úvahu prvních |Rel|/2 objektů v SimOrder(Q)
kvalita vyhled v n 5
známé relevantníobjekty v odpovědi = Rk

známé relevantníobjekty = U

neznámé relevantníobjekty v odpovědi = Ru

objekty v odpovědi = Odp

relevantníobjekty = Rel

kolekce

Kvalita vyhledávání (5)
  • Harmonic mean a E-measure
    • F(j) = 2/(1/r(j) + 1/P(j))
    • E(j) = 1 – ((1+b2)/(b2/r(j) + 1/P(j)))
      • r(j) je úplnost na j-tém objektu v uspořádání
      • P(j) je přesnost na j-tém objektu v uspořádání
      • b je zvolený parametr
  • Coverage a Novelty
    • Coverage = |Rk|/|U|
      • pokrytí známých objektů v odpovědi
    • Novelty = |Ru|/(Ru + Rk)
      • proporce neznámých objektů v odpovědi
benchmarking evaluation 1
Benchmarking & evaluation (1)

Návrh kolekcí a metodik pro testováníúspěšnosti MDB systémů a jejich srovnávání. K tomuto účelu je zpravidla potřeba mít:

    • kolekci(e) objektů
    • sadu dotazů
    • sadu relevantních objektů k dotazu (problémy s ohodnocováním dotazů)
  • TREC trec.nist.gov (od r. 1992)
    • texty
    • video (TRECVID) www-nlpir.nist.gov/projects/trecvid
    • genomické databáze ir.ohsu.edu/genomics
  • Benchathlon www.benchathlon.net
    • image retrieval
benchmarking evaluation 2
Benchmarking & evaluation (2)
  • Cystic Fibrosis Database www.sims.berkeley.edu/~hearst/irbook/cfc.html
    • 1239 dokumentů o cystické fibróze
    • 100 ohodnocených dotazů
    • skóre relevance 0..9 přiřazeno experty
  • Princeton Shape Benchmark shape.cs.princeton.edu/benchmark/index.cgi
    • databáze a nástroje 3D retrieval
    • 1814 3D modelů
    • trénovací a testovací klasifikace 3D objektů (2x 90 tříd a 907 modelů)
ad