330 likes | 481 Views
Précis. od nestrukturovaných klíčových slov jako dotazů k strukturovaným databázím jako odpovědím. Martin Lacina. Osnova. Motivace Datov ý model Dotazy a jejich vyhodnocení Architektura systému Uživatelské testování. Z ákladní charakteristika.
E N D
Précis od nestrukturovaných klíčových slov jako dotazů k strukturovaným databázím jako odpovědím Martin Lacina
Osnova • Motivace • Datový model • Dotazy a jejich vyhodnocení • Architektura systému • Uživatelské testování
Základní charakteristika • dotazy pomocí klíčových slov nad relačními databázemi • odpověď na dotaz je celá relační databáze, která je logickou podmnožinou původní DB • logická podmnožina obsahuje nejen položky přímo související s danými klíčovými slovy dotazu, ale i položky, které se k nim různými způsoby implicitně vztahují • cílem je poskytnout uživateli mnohem hlubší náhled do původních dat • dotazy mohou obsahovat více klíčových slov v kombinaci s operátory AND, OR, NOT
Motivace pro vznik • k internetu má přístup velké množství lidí • dostupný obsah je často uložen ve strukturovaných databázích • uživatelé nemají (a neměli by mít) znalosti o datových modelech a dotazovacích jazycích pro každý konkrétní zdroj informací • mají jen nepřesnou představu o tom, co chtějí najít • chtějí dosáhnout svých cílů s minimální námahou • je stále důležitější překlenout propast mezi volným vnímáním světa průměrným uživatelem a systémy (polo-)strukturované reprezentace světa • stále větší význam je přikládán volně formulovaným dotazům
Motivační Příklad • 'précis' je to co člověk očekává jako odpověď na svou otázku, nebo výchozí bod, který jej navede k úplnější odpovědi • Příklad: pokud položíme otázku "Woody Allen", pak možná odpověď (précis) by mohla vypadat třeba takto : • „WoodyAllen se narodil 1. prosince 1935 v Brooklynu (New York, USA). Jeho práce jako režiséra obsahuje Match Point (2005), Melinda and Melinda (2004), Anything Else (2003). Hrál ve filmech Hollywood Ending (2002), TheCurseoftheJadeScorpion (2001).“ • na nestrukturovaný dotaz "Woody Allen" dostáváme strukturovanou odpověď
Požadavky na odpověď • odpověď není jedna tabulka(jako v SQL), ale databáze, která je logickou podmnožinou původní databáze • obsahuje nejen položky přímo spojené s klíčovými slovy dotazu, ale i ty, které se k nim různými způsoby implicitně vztahují • je možné určit, jak rozsáhlá odpověď bude
Použití a výhody • lepší náhled do původních dat • získání ucelené podmnožiny reálných dat z velké databáze, např. pro test nové aplikace před nasazením • výhodou je spojení jednoduchosti dotazu s komplexností a strukturou odpovědi • pokud byla původní databáze normalizovaná, pak je i odpověď ve formě databáze normalizována • nad odpovědí se lze dále dotazovat a upřesňovat požadavky na výslednou podobu odpovědi, což by nad jednou nenormalizovanou tabulkou bylo nepřirozené a často i nemožné
Datový model • použitý autory článku • relační databáze obohacené o další vlastnosti • relační schéma Ri (Ai1, ... Aiki) • databázové schéma D je množina relačních schémat • naplněním schémat daty vynikají relace a databáze • databáze D odpovídá schématu databáze D • Relace Ri odpovídá schématu relace Ri • prvky relací jsou n-tice
logická podmnožina databáze • Def. Mějme relační databázi D, pak její logická podmnožina označená L má následující vlastnosti: • množina jmen relací ve schématu L je podmnožinou jmen relací schématu původní databáze D • pro každou relaci Ri v L je množina jejích atributů podmnožinou množiny atributů relace z D, která má stejné jméno • pro každou relaci Riv L je množina jejích n-tic podmnožinou množiny n-tic původní relace Ri (s využitím projekce na atributy přítomné ve výsledné relaci)
Graf schématu databáze • Def. Graf schématu databáze G=(V,E) je orientovaný graf odpovídající schématu databáze D. • v množině vrcholů grafu rozlišujeme dva typy vrcholů • relační vrcholy • atributové vrcholy • obdobně pro hrany • projekční hrany • hrany spojení • Předpokládáme, že graf • schématu databáze D • je souvislý.
cesty v grafu schématu • cesty v grafu • vždy začínají v relačním vrcholu • relace B je z relace A dosažitelná, pokud existuje cesta v grafu G z relace A do relace B • dosažitelnost n-tice z jedné relace do n-tice v jiné relaci • cílová relace musí být dosažitelná z výchozí relace • po cestě musí existovat n-tice, které se postupně spojují od počáteční až k cílové n-tici • hrany v grafu vyjadřují explicitní vztahy mezi vrcholy • orientované cesty v grafu vyjadřují "implicitní" vztahy • mezi relačními vrcholy značí "implicitní" spojení relací • z relačního do atributového vrcholu "implicitní" projekce relace na atribut
anotace schématu vahami • každá hrana e v grafu G je ohodnocena váhou wez intervalu <0,1> • váha hran mezi dvěma uzly v různých směrech může být různá • váha cesty p = e0∪ e1∪ … ∪ekby měla splňovat podmínku • tj. s rostoucí vzdáleností se významnost cesty snižuje • jako funkci pro výpočet váhy cesty volíme násobení vah jednotlivých hran • váha hrany syntakticky vyjadřuje významnost provázání spojených vrcholů v daném směru • na základě vah se rozhoduje, které relace a jejich atributy budou přidány do schématu odpovědi pro précisdotaz
schéma příkladové databáze • THEATRE(tid, name, phone, region) • PLAY(tid, mid, date) • MOVIE(mid, title, year, did) • GENRE(mid, genre) • DIRECTOR(did, dname, blocation, bdate,nominat) • CAST(mid, aid, role) • ACTOR(aid, aname, blocation, bdate, nominat) • v některých případech bude použito jen první písmeno názvu relace
Précis dotaz • dotaz je kombinací termů z klíčových slov a logických operátoru AND, OR a NOT • term může být jedno slovo ("Titanic") nebo fráze ("Julia Roberts") uzavřená v závorkách • Def. Počáteční n-tice pro databázi Da précis dotaz Q je taková n-tice, která obsahuje v alespoň jednom atributu term z dotazu, a to ať v pozitivní nebo negativní formě • sémantika položeného dotazu (odpověď) je zjištěna ze samotného dotazu a z množiny omezení, které jsou na odpověď kladeny
Omezení dotazu • mohou být určena uživatelem při zadání dotazu • uložena v uživatelském profilu • uložena v systému • 2 hlavní skupiny tříd omezení dotazu • omezení na relevanci • definována na základě vah hran grafu • strukturální omezení • definovánana elementech grafu • pro vytvoření instance omezení lze využívat agregační funkce (min, max, avg, sum) i porovnávací operátory (>, <, =) a jejich kombinace
Příklady omezení dotazu • minimální váha cesty, minimální váha podgrafu • # relací, # atributů na relaci • # spojení (tj. maximální délka cesty v grafu)
Využití vah a omezení • rozdílné nastavení vah v grafu schématu databáze nebo rozdílné množiny omezení mohou pro stejný précis dotaz vydat různé výsledky • Příklad: Filmový kritik se pravděpodobně bude zajímat o detailnější informace o filmech, zatímco filmový fanoušek spíše upřednostní krátkou odpověď obsahující kina, kde může filmy z výsledku dotazu shlédnout. • Příklad: Odpověď pro mobilní telefon může obsahovat méně atributů než odpověď pro stolní počítač. • lze předdefinovat různá ohodnocení grafu a různé množiny omezení pro různá použití • uživatel může začít s dotazem na těsně vázané objekty a postupně jej směřovat určitým směrem a rozšiřovat jej na volněji vázané informace
Sémantika dotazu • k dotazu Q uvažujme jeho ekvivalent v disjunktivní normální formě • , kde a je (negovaný) term z klíčových slov • Výsledkem aplikace dotazu Q na databázi D s grafem schématu G při dané množině omezení C je logická podmnožina L databáze D splňující podmínky: • n-ticet v D se v L objeví, pokud v Qexistuje , pro které při splnění omezení C platí: • existuje množina počátečních n-tic v D které společně obsahují všechny termy spojené pomocí AND v , tž. n-ticet je z nich všech dosažitélná v G • n-ticet není dosažitelná z libovolné počáteční n-tice, která obsahuje term negovaný v
Příklady dotazů • Množina omezení je prázdná • q1: “Alfred Hitchcock” OR “Gregory Peck” • q2: “ClintEastwood” AND “thriller” • thrillery, kde hrál ClintEastwood • thrillery režírované ClintemEastwoodem • herci hrající v thrillerech režírovaných • ClintemEastwoodem • q3: “Gregory Peck” AND NOT “drama” • q4: (“ClintEastwood”AND“thriller”)OR(“Gregory Peck” AND NOT “drama”)
interpretace dotazu • při hledání možné interpretace dotazu je třeba vzít v úvahu: • graf schématu databáze • sémantiku dotazu • výskyty termů z dotazu v relacích databáze • Příklad: možné interpretace dotazu "ClintEastwood" AND "thriller" • thrillery, kde hrál ClintEastwood • thrillery režírované ClintemEastwoodem • herci hrající s ClintemEastwoodem v nějakém thrilleru • a mnoho dalších • interpretace dotazu se určuje naleznutím počátečního podgrafu grafu schématu databáze
Počáteční podgraf • Pro dotaz Q nad databází D počáteční podgraf odpovídající termu z dotazu je zakořeněný orientovaný acyklický graf na G, tž.: • obsahuje alespoň jednu počáteční relaci na každý term dotazu v společně s relacemi, které je propojují • je podmnožina E propojující vrcholy v • kořen a všechnykoncové uzly jsou počáteční relace • pro každý prvek z Q může existovat více počátečních podgrafů (pro různé interpretace), necháváme si 1 nejvýznamnější pro každou interpretaci • obdobně může být více interpretací pro dotaz Q
Váha podgrafu • Váha podgrafu je reálné číslo z intervalu <0,1> a je funkcí vah na hranách • , kde • funkce by měla splňovat podmínku • při budování podgrafu bychom měli upřednostnit významnější hrany • pro funkci jsou vhodné distributivní funkce, nebo algebraické funkce • počítáme přes všechny cesty v grafu z kořene do listu, N je počet takových cest
Váha podgrafu - příklad • 0,72 • 0,9 • 0,765
rozšířený podgraf • Def. Rozšířený podgraf pro dotaz Q, databázi D, množinu omezení Ca počáteční podgraf je souvislý podgraf grafu databáze schématu G, který obsahuje a splňuje C. • Příklad:
Interpretace dotazu • Def. Množina všech možných rozšířených podgrafů dotazu Q nad databází D při množině omezení Cobsahuje schéma logické podmnožiny databáze G’, které obsahuje nejrelevantnější informace o dotazu Q při omezení C.
Architektura systému • při každém dotazu Q nad databází D s grafem schématu G jsou provedeny následující kroky • parsovánídotazu • převedení dotazu na disjunktivní normální formu • z invertovaného indexu pro obsah databáze se zjistí, které části databáze obsahují klíčová slova z dotazu, tj. zjištění množiny počátečních relací (pokud je prázdná, pak dotazování končí) • vytvoří se schéma logické podmnožiny databáze dle množiny počátečních relací společně s relacemi, které je propojují v grafu G a s jejich atributy, které se mají objevit ve výsledku dle platných omezení • naplnění schématu logické podmnožiny databáze daty • nejdříve se vloží počáteční n-tice • poté n-tice z daších relací v grafu G' dle sémantiky dotazu a poskytnutých omezení
Experimentální výsledky • Implementace • Prototyp systému v C++ • Oracle 9i release 2 • Server • Pentium IV 3GHz • 512 MB paměti • během experimentů byl server více méně nezatížen • 2 testovací databáze • The Internet Movie Database (IMDb), www.imdb.com • Restarurační data, www.gastronomia.gr
Uživatelské testování • 14 užívatelů s dobrou znalostí jazyka SQL a databází • zvolená databáze IMDB • uživatelé dostali seznam třiceti témat obsahujících klíčová slova z invertovaného indexu • jejich úkolem bylo najít informace o daných tématech • pomocí SQL • pomocí metody précis
Čas, který uživatel strávil dotazováním databáze, • než byl spokojen s výsledkem
Spokojenost uživatelů s výsledky a náročnosti jejich dosažení • S1 – SQL před použitím metody précis • S2 – SQL po použití metody précis S3 – metoda précis
zdroje • [1] AlkisSimitsis, Georgia Koutrika, YannisIoannidis,“Précis: fromunstructuredkeywords as queries to structureddatabases as answers”, The VLDB Journal (2008) 17:117-149 • [2] AlkisSimitsis, Georgia Koutrika, YannisIoannidis, "The Essence of a Query Answer," Data Engineering, International Conference on, pp. 1382-1386, 2006 IEEE 22rd International Conference on Data Engineering, 2006