PRÉCIS STRUKTUROVANÁ DATABÁZE JAKO ODPOVĚĎ NA NESTRUKTUROVANÝ DOTAZ. Dominik Fišer, Jiří Schejbal http://www.doser.cz

Podobné dokumenty
Paralelní grafové algoritmy

Databázové systémy trocha teorie

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

2. RBF neuronové sítě

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky Návrh a tvorba databáze v prostředí vybrané firmy

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

Databázové systémy I. 1. přednáška

4IT218 Databáze. 4IT218 Databáze

GRAFY A GRAFOVÉ ALGORITMY

Obsah. Základy práce s databází 13. Tabulky 43. Obsah. Úvod 9 Poděkování 12

Jarníkův algoritmus. Obsah. Popis

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

2. Konceptuální model dat, E-R konceptuální model

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

Dotazování nad stromem abstraktní syntaxe

PRG036 Technologie XML

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

a jiné elektronické přístroje včetně mobilů. Pracujte samostatně. Povolen je 1 list A4 vlastnoručně psaných poznámek k předmětu...

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Individuální projekt z předmětu webových stránek Anketa Jan Livora

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

Převod prostorových dat katastru nemovitostí do formátu shapefile

RELAČNÍ DATABÁZOVÉ SYSTÉMY

5 Rekurze a zásobník. Rekurzivní volání metody

Úvod do databázových systémů

EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě.

NEXIS 32 rel Generátor fází výstavby TDA mikro

Zadání úlohy do projektu z předmětu IPP 2013/2014

Minebot manuál (v 1.2)

Registrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

4. Základy relačních databází, logická úroveň návrhu

TGH05 - aplikace DFS, průchod do šířky

Univerzita Karlova v Praze Matematicko-fyzikální fakulta. Vedoucí práce: RNDr. Martin Pergel, Ph.D.

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH

Interpret jazyka IFJ2011

Informační systémy pro podporu rozhodování

Obsah. Položkování 1: Prefix dřívějších osamocených dílů se zachovává...23 Položkování 2: Editace předběžných čísel...23

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Etapy tvorby lidského díla

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA

Stromy, haldy, prioritní fronty

Dolování v objektových datech. Ivana Rudolfová

TGH05 - aplikace DFS, průchod do šířky

Dotazovací jazyky I. Datová krychle. Soběslav Benda

Hledáme efektivní řešení úloh na grafu

Relační databáze a povaha dat

Úvod do simulace - 1

PG 9.5 novinky ve vývoji aplikací

Technická specifikace předmětu veřejné zakázky Zhotovení interaktivního webového portálu a mobilních aplikací

Úvod do teorie grafů

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Jazyk S Q L základy, příkazy pro práci s daty

MS ACCESS A MS WORD V KAŽDODENNÍ PRAXI

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Nepravidlové a hybridní znalostní systémy

NÁVRH DATABÁZE PRO PRODEJ A VÝKUP POUŽITÝCH MOTOROVÝCH VOZIDEL

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Informační systém realitní kanceláře Jan Šimůnek

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Metody odvozování. matematická východiska: logika, Prolog

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

Grafové algoritmy. Programovací techniky

Algoritmy a datové struktury

Grafové algoritmy. Programovací techniky

Algoritmus pro hledání nejkratší cesty orientovaným grafem

MBI - technologická realizace modelu

Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný

Profilová část maturitní zkoušky 2013/2014

Úvod do databázových systémů

Business Intelligence. Adam Trčka

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013

Obsah. Úvod 9. Úvod do Office Seznámení s Office Vylepšení programu Access XML 13 Inteligentní značky 14

Principy operačních systémů. Lekce 7: Souborový systém

Základní datové struktury III: Stromy, haldy

Anotace. Dynamické programování, diskrétní simulace.

Vyhledávání podle klíčových slov v relačních databázích. Dotazovací jazyky I ZS 2010/11 Karel Poledna

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Vkládání, aktualizace, mazání

Zadávací dokumentace pro výběrové řízení na dodávku v rámci Operačního Programu Podnikání a Inovace pro konkurenceschopnost OPPIK Potenciál

Paralelní LU rozklad

Tabulka fotbalové ligy

Office 2007 Styles Autor: Jakub Oppelt Vedoucí práce: Ing. Václav Novák, CSc. Školní rok:

IV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Úvod do databázových systémů

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Transkript:

PRÉCIS STRUKTUROVANÁ DATABÁZE JAKO ODPOVĚĎ NA NESTRUKTUROVANÝ DOTAZ (c) Dominik Fišer, Jiří Schejbal 2009 Dominik Fišer, Jiří Schejbal http://www.doser.cz

Obsah část 1 přednáší Dominik Fišer Co je to Précis? Datový model relační schéma Cesty a jejich váhy v grafu Dotazovací model Výsledky experimentu

Obsah část 2 přednáší Jiří Schejbal Architektura systému Tvorba výsledného schématu Tvorba databáze odpovídající dotazu Překlad výsledku dotazu do přirozeného jazyka Algoritmy Použité zdroje

Co to je Précis? nový DBMS? rozšíření do Oraclu? ani jedno!

Slovo précis précis /'preisi:/ a shortened form of a piece of writing or of what someone has said, giving only the main points (Longman Dictionary) česky souhrn, abstrakt

Motivační příklad zeptáme se na heslo Woody Allen jedna z možných odpovědí Woody Allen was born on December 1, 1935 in Brooklyn, New York, USA. As a director, Woody Allen s work includes Match Point (2005), Melinda and Melinda (2004), Anything Else (2003). As an actor, Woody Allen s work includes Hollywood Ending (2002), The Curse of the Jade Scorpion (2001).

Základní charakteristika Précis nestrukturované dotazování nad strukturovanými daty nestrukturovaný dotazovací jazyk uživatel nemusí znát žádný dotazovací jazyk dotazování pomocí klíčových slov odpověď obsahuje i všechny související informace s klíčovým slovem v uživatelsky přívětivé podobě uživatel začíná hledání od nějakého klíčového slova a podle nalezených informací pokračuje ve vyhledávání dál

Précis vlastnosti (1) dotazování probíhá nad běžnou relační databází dotaz se může skládat z více klíčových slov podpora logických spojek AND, OR a NOT a frází odpovědí na dotaz je multi-relační databáze nikoli pouze řádek z databáze dynamicky generované schéma, omezení, klíče a data, logická podmnožina původní databáze omezení schématu

Précis vlastnosti (2) pouze výběrové klauzule odpovědi jsou šité na míru uživateli na základě jeho preferencí uživatelské profily při pokládání dotazu statistika na základě logu dotazů odpovědi zahrnují i související informace k hledanému klíčovému slovu odpovědi jsou v přirozeném jazyce

K čemu to může být dobré dotazy uživatelsky přívětivé vyhledávání on-line přístupné databáze např. knihovny, muzea různá vyhledávací rozhraní a možnosti často složitá než získáme to co chceme, stojí to čas musíme vědět co hledáme odpovědi výřezy z velkých databází, např. ukázka nové funkcionality na části databáze

Datový model databázové schéma a jeho graf

Datový model značení databázové schéma D = {R i :1 i m} množina relačních schémat R i relační schéma R i (A 1i,A 2i,,A ki ) jméno relace + množina atributů A i = {A ji :1 j k i } relační schéma R i ~ relace R i databázové schéma D ~ databáze D

Graf databázového schématu značení G(V,E) ohodnocený orientovaný graf odpovídá databázovému schématu D vrcholy ve V relace pro každou relaci R ve schématu atribut pro každý atribut A každé relace R ve schématu hrany v E projekce hrana relace-atribut spojení hrana relace-relace

Ohodnocení hran váha hrany w [0,1] významnost vazby 1 silná vazba pokud se jeden z vrcholů objeví v odpovědi, měla by se v ní promítnou i hrana 0 žádná vazba pokud se jeden z vrcholů objeví v odpovědi, pro další vrcholy to nic neznamená mezi dvěma vrcholy může vést každým směrem hrana s různou váhou

Orientace hran a její interpretace orientovaná hrana určuje závislost levé části spojení na pravé levá část označuje relaci již zahrnutou v odpovědi, pravá část relaci, která by měla být v odpovědi zohledněna orientované hrany nejsou násobné

Příklad databázové schéma THEATRE(tid,name,phone,region) PLAY(tid,mid,date), GENRE(mid,genre) ACTOR(aid,aname,blocation,bdate) DIRECTOR(did,dname,blocation,bdate) MOVIE(mid,title,year,did) CAST(mid,aid,role)

Příklad databázový graf

Příklad relace MOVIE-GENRE žánr závisí na filmu víc odpověď na žánr bude vždy obsahovat informace o souvisejících filmech odpověď na film nemusí nutně obsahovat informace o souvisejícím žánru w MOVIE->GENRE = 0,9 w GENRE<-MOVIE = 1

Ohodnocení hran důsledky váhy může určovat uživatel při pokládání dotazu, ve svém profilu designer předdefinovaná nastavení pro různé skupiny uživatelů návštěvník kina, filmový kritik, dramaturg použitím různých vah na hranách získáme odlišné odpovědi na stejný dotaz interaktivní prohlížení obsahu databáze pokládáme stejný dotaz s různými váhami podle toho co nás zaujme zrovna nejvíce uživatelské preference odpovědi na míru

Cesty a jejich váhy v grafu cesta jako vazba

Orientované cesty orientovaná cesta p dva typy cest tranzitivní spojení mezi dvěma vrcholy typu relace hrany typu spojení reprezentuje implicitní spojení mezi relacemi tranzitivní projekce mezi vrcholem typu relace a typu atribut hrany typu spojení i projekce reprezentuje projekci atributu na relaci

Váha cesty w p funkce vah hran, w p min w e měla by klesat s rostoucí délkou cesty v této implementaci použita funkce násobení příklad w PHONE,THEATRE = 0,8 w MOVIE,PHONE = 0,7*1*0,8 = 0,56

Dotazovací model vznik databázového schématu odpovědi

Dotazovací model značení databáze D précis query Q = {k 1,k 2,,k m } précis - nová databáze D odpověď na dotaz Q nad D

Pravidla pro novou databázi D množina jmen relací v D je podmnožina jmen v D pro každou relaci R i v D je její množina atributů B i = {B ji :1 j l i } v D podmnožinou A i = {A ji :1 j k i } v D pro každou relaci R i v D je množina záznamů odpovídajících relaci R i podmnožinou záznamů v původní relaci R i databáze D je generovaná spojovacími dotazy (cizí klíče) od relace, ve které se hledané klíčové slovo vyskytlo, a tranzitivním rozšířením nad celé databázové schéma D výsledná množina relací, atributů a záznamů v D je zúžená omezeními

Omezení na databázi omezení stupně d atributy, relace v D maximální počet atributů v D minimální váha cesty typu projekce v grafu G omezení kardinality c počet záznamů v D maximální počet záznamů v D maximální počet záznamů v relaci v D

Omezení stupně příklad film může mít více režisérů přidáme novou relaci DIRECTED_BY(mid,did) cesta mezi MOVIE a DIRECTOR se prodlouží stejně jako počet relací v D potřebných při dotazu na režiséra

Omezení kardinality příklad THEATRE různé váhy jednotlivých atributů použitím vhodných kritérií můžeme dosáhnout odpověď obsahuje pouze NAME odpověď obsahuje i PHONE a REGION

Omezení důsledky použitím různých omezení získáme odlišné odpovědi na stejný dotaz se stejnými váhami podobně jako váhy může omezení určovat uživatel při pokládání dotazu, ve svém profilu designer předdefinovaná nastavení pro různé skupiny uživatelů

Výsledky experimentu není to jen teorie, opravdu to funguje

Výsledky experimentu prototyp v C++ na Oraclu 9i R2 data z IMDB, informace o 340 tis. filmů generování schématu databáze odpovědi zanedbatelná doba generování databáze odpovědi časově nejnáročnější

Část 2 přednáší Jiří Schejbal

Architektura systému od množiny zadaných tokenů ke srozumitelnému výsledku

Architektura systému Q = {k 1, k 2,, k m } Omezení stupně d Invertovaný index Generátor výsledného schématu i k R, A, Tids j lj lj Omezení kardinality c Generátor výsledné databáze Výsledné schéma D Data Překlad do přirozeného jazyka Výsledná databáze D Précis

Invertovaný index Token ~ seznam výskytů v DB Výskyt dvojice atribut,relace (R j, A lj ) ke každé takové dvojici seznam záznamů z R j, ve které atribut A lj obsahuje token (Tids lj ) Token se může vyskytovat ve více relacích, v různých atributech k i R A Tids k Q,,, j lj lj i

Generátor výsledného schématu Najde části původního databázového schématu, které jsou relevantní pro daný dotaz Výstup: D Podmnožina původního schématu Relace spojené tranzitivně Splňující omezení stupně d

Generátor výsledné databáze Databáze D odpovídající schématu D Začíná v relacích s tokeny, postupně se tranzitivně rozšiřuje přes spojení (přes cizí klíče) Splňuje podmínku kardinality c

Překlad do přirozeného jazyka Volitelný krok Reprezentace výsledné databáze v přirozeném jazyce Využívá šablony, definované: Návrhářem DB Administrátorem Uživatelem

Příklad zeptáme se na heslo Woody Allen Q = { Woody Allen } Omezení stupně d Projekce s vahou 0,9 Omezení kardinality c Max. 3 záznamy v relaci

Generátor výsledného schématu omezení původního schématu na relevantní části

Generátor výsledného schématu Relevantní části schématu pro daný dotaz Vstupy: Graf G(V, E) pro původní DB schéma D Výchozí relace (relace s hledanými tokeny) Množina všech (tranzitivních) acyklických projekčních cest P n z výchozích relací P n = {p i i [1,n]; w i-1 w i } (seřazeny sestupně podle vah) Omezení stupně d

Generované schéma Podgraf G Cesty P d jsou podmnožinou P n d = max({t t [1,n]: p t splňuje d}) p t splňuje d (druhy podmínek): t r max. r projekcí s nejvyšší vahou w t w o w o Délka cesty p t l o projekce s vahou větší než

Algoritmus generátor schématu (1) Vstup: graf G (původního schématu), omezení stupně d, množina {R j R j obsahuje token} 1. QP = {}, P d = {}, G = {} 2. Foreach e hrana spojená s R j : e(r j, x) E, x V, QP e, příslušná úprava uzlů, hran a vstupních stupňů v G End For 3. While (QP neprázdný) 1. p první z QP 2. If ((Pd {p}) nesplňuje podmínku d) Then exit End If 3. If (p je projekční cesta) Then P d p End If 4.

Algoritmus generátor schématu (2) 3. While (QP neprázdný) 4. If (p je spojovací cesta) Then Foreach e hrana z G spojená s p p = spojení p a e, p je acyklická If ((Pd p ) nesplňuje d) Then Exit For End If QP p End For End If Výstup: G

Popis algoritmu QP fronta probíraných cest Preference cest Vyšší váha Kratší cesta Pokud projekční cesta splňuje podmínku d, je přidána do G Vstupní stupně u vrcholů (počet relací, ze kterých vede do daného vrcholu projekční cesta)

Příklad (G ) Vstupní stupeň 2

Generátor výsledné databáze cesta k relevantním datům

Generátor výsledné databáze Databáze D odpovídající schématu D (jeho odpovídající graf G ) Výběr záznamů zbylých relací po generování schématu Další zmenšení množiny záznamů podle omezení kardinality c

Rozšiřování databáze D 0 = vstupní relace se záznamy obsahující tokeny Možné výsledné databáze D 1 D 0 * R 1 D 2 D 1 * R 2 D n D n-1 * R n R i je připojeno pokud existuje spojovací hrana z R i do D i-1 Preference hran vyšší váha

Omezení kardinality Značení card(d i )/card(r i ) počty záznamů v DB/relacích D c = výsledná DB (D ) c = max({t t [0,n]: D t splňuje c}) D t splňuje c (druhy podmínek): card(d t ) c o max. počet záznamů v DB card(r t ) c o max. počet záznamů v relacích

Algoritmus generátor databáze (1) Vstup: {R j R j obsahuje token}, {Tids j Tids j je množina ident. v R j }, G, omezení kardinality c Výstup: D 1. D {NaiveQ( σ Tidsj (R j )[π(r j )], c(σ Tidsj (R j )[π(r j )]) ), pro každé R j }

Algoritmus generátor databáze (2) 2. Foreach e hrana z G se vstupním stupněm = 1 1. If (vazba přes e je? : N) Then D RoundRobin(D * R i, c(d * R i )) Else D NaiveQ(D * R i, c(d * R i )) End If 2. Zmenši vstupní stupeň R i End For

NaiveQ NaiveQ(dotaz, n) dosažení omezení kardinality Vybere n záznamů z výsledků dotazu Př. Oracle pseudo-sloupec RowNum Spojení R i * R j Vazba? : 1 náhodných n záznamů z R j Vazba? : N při rovnoměrném rozložení lze Lepší RoundRobin

RoundRobin RoundRobin(dotaz, n) Výběr n záznamů k dosažení omezení kardinality Při spojení R i * R j Pro každý záznam z R i se spustí hledání připojených záznamů z R j, do D se od každého výsledku přidávají záznamy po jednom

Příklad Match Point 2005 Melinda and Melinda 2004 Anything Else 2003 s work includes Woody Allen 1 December, 1935 Brooklyn, New York, USA

Převod do přirozeného jazyka od databáze ke srozumitelnému výsledku

Překlad do přirozeného jazyka Zachycení sémantiky relací, atributů a vztahů v přirozeném jazyce Předpoklady: Název relace zachycuje její konceptuální význam Fyzický význam reprezentován názvem alespoň jednoho atributu z dané relace charakterizuje záznam => hlavní atribut projekční hrana má hodnotu 1 Určuje doménový expert Syntéza přes primární a cizí klíče

Šablony (1) Alfanumerické výrazy k obohacení výsledku dotazu Na hranách grafu databázového schématu label(u, v) vztahová šablona (e(u,z) E, G=(V, E)) Projekční hrana vztah atributu k hlavnímu atributu Př. YEAR of MOVIE (.TITLE) TITLE of MOVIE (u hlavního atributu) Spojovací hrana vztah hlavních atributů spojených relací Př. GENRE (.GENRE) of MOVIE (.TITLE)

Šablony (2) l(n) popisek uzlu n Př. l(title) = title label(a,b) = expr1+ l(u) + expr2 + l(z) + expr3 Podpora pro tvorbu šablon Proměnné Cykly Funkce Makra

Příklady šablon relací DIRECTOR @DNAME + was born on + @BDATE + in + @BLOCATION MOVIE @TITLE + ( + @YEAR + )

Příklad šablon vztahů Mezi relacemi DIRECTOR a MOVIE label(director, MOVIE) = expr1 + @DNAME + expr2 + MOVIE_LIST Makro MOVIE_LIST DEFINE MOVIE_LIST as [i < arityof(@title)] {@TITLE[$i] + ( + @YEAR[$i]+ ), } [i = arityof(@title)] {@TITLE[$i] + ( + @YEAR[$i]+ ). } expr1 As a director, expr2 s work includes

Výsledek Woody Allen was born on December 1, 1935 in Brooklyn, New York, USA. As a director, Woody Allen s work includes Match Point (2005), Melinda and Melinda (2004), Anything Else (2003). MatchPoint is a Drama, Thriller. Melinda and Melinda is Comedy, Drama. Anathing Else is Comedy, Romace. Obdobně pro Woodyho Allena jako herce ( As an actor, )

Použité zdroje kde najít podrobnosti

Použité zdroje G. Koutrika, A. Simitsis, Y. Ioannidis: Précis: The Essence of a Query Answer. http://doi.ieeecomputersociety.org/10.1109/icde. 2006.114 výtah z druhého článku A. Simitsis, G. Koutrika, Y. Ioannidis: Présic: from unstructured keywords as queries to structured databases as answer. http://dx.doi.org/10.1007/s00778-007-0075-9