1 / 33

Précis

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.

beryl
Download Presentation

Précis

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. Précis od nestrukturovaných klíčových slov jako dotazů k strukturovaným databázím jako odpovědím Martin Lacina

  2. Osnova • Motivace • Datový model • Dotazy a jejich vyhodnocení • Architektura systému • Uživatelské testování

  3. 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

  4. 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

  5. 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ěď

  6. 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

  7. 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é

  8. 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

  9. 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)

  10. 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ý.

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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)

  17. 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

  18. 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

  19. 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”)

  20. 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

  21. 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

  22. 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

  23. Váha podgrafu - příklad • 0,72 • 0,9 • 0,765

  24. 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:

  25. 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.

  26. Architektura systému

  27. 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í

  28. 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

  29. 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

  30. Čas, který uživatel strávil dotazováním databáze, • než byl spokojen s výsledkem

  31. 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

  32. 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

More Related