Ontologie Jaroslav Ciml. Cíle a motivace (1) ● Chceme model pro vyhledávání nejen textových dokumentů, ale i audia a videa ● Chceme vysokou přesnost i.

Slides:



Advertisements
Podobné prezentace
Dualita úloh lineárního programování a analýza citlivosti
Advertisements

Projektové řízení Modul č.1.
Redukce textů, obsahová analýza, anotace
Zpracování SQL Lubomír Andrle 5. přednáška
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Databázové systémy Přednáška č. 2 Proces návrhu databáze.
Aplikace teorie grafů Základní pojmy teorie grafů
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Základy informatiky přednášky Kódování.
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Induktivní logické programování
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Technologie pro CI. Od technologií pro CI vyžadujeme především funkce vyhledávání v rozsáhlých databázích na základě libovolných dotazů, propojování a.
Temporální Databáze Jaroslav Dražan. Čím se budeme zabývat Proč je čas v DB důležitý Práce s časem pomocí klasického SQL Reprezentace časové domény Spojování.
PRÉCIS OD NESTRUKTUROVANÝCH KLÍČOVÝCH SLOV JAKO DOTAZŮ K STRUKTUROVANÝM DATABÁZÍM JAKO ODPOVĚDÍM Martin Lacina.
ADT Strom.
Databáze Jiří Kalousek.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
1IT S ÍŤOVÝ DATOVÝ MODEL Ing. Jiří Šilhán. S ÍŤOVÝ DATOVÝ MODEL Je historicky nejstarším datovým modelem. Jeho základem jsou vzájemně propojené množiny.
Řešení dynamických problémů s podmínkami Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
KONCEPTUÁLNÍ MODELOVÁNÍ
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Rozšíření dotazu a vývoj tématu v IR Jiří Dvorský Jan Martinovič Václav Snášel.
Vyhledávání podobností v datech s využitím singulárního rozkladu
Algoritmy a programovací techniky
KEG Použití vzorů při vyhledávání na webu Václav Snášel.
Systémy pro podporu managementu 2
Relační databáze.
Informatika pro ekonomy II přednáška 10
Bc. Martin Dostal. Co to je sémantické vyhledávání? Vyhledávání s využitím "umělé inteligence" Vyhledávání v množině dat na stejné téma katastrofy sport.
IGrid index Roman Krejčík. Obsah Motivace Prokletí dimenze Míry podobnosti IGrid, IGrid+ Experimentální porovnání.
Datové typy a struktury
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
ZÁKLADNÍ SOUBOR Základní soubor (populace) je většinou myšlenková konstrukce, která obsahuje veškerá data, se kterými pracujeme a není vždy snadné jej.
1 Kognitivní inspirace třídění na základě závislostí atributů Jan Burian Eurfomise centrum – Kardio, Ústav informatiky AV ČR Článek je dostupný na WWW:
Systémy pro podporu managementu 2 Inteligentní systémy pro podporu rozhodování 1 (DSS a znalostní systémy)
Filtrace web stránek s využitím profilu uživatele Petr Doskočil
Realtime identifikace osob podle hlasu
Databázové modelování
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
Databázové systémy Informatika pro ekonomy, př. 18.
Databáze velké množství dat pevně dané struktury
Infrastruktura pro dotazování nad sémantickými daty Jiří Dokulil, Jakub Yaghob, Filip Zavoral Katedra softwarového inženýrství, MFF UK Praha
Simplexová metoda pro známé počáteční řešení úlohy LP
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK 4. Mapování a redukce dimenze 1. část – úvod + mapování vektorových sad.
Vyhledávání v multimediálních databázích Tomáš Skopal KSI MFF UK
Metrické indexování vektorových modelů v oblasti Information Retrieval
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Perzistence XML dat Kamil Toman
Geografické informační systémy pojetí, definice, součásti
Úvod do databází zkrácená verze.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Úvod do databázových systémů
Geografické informační systémy
Vlastnosti souborů Jaroslava Černá.
Geografická kartografie
Dobývání znalostí z databází znalosti
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Výpočetní technika Akademický rok 2008/2009 Letní semestr
PROLOG strategie vyhodnocení dotazu
Informatika pro ekonomy přednáška 8
Optimalizace SQL dotazů
Induktivní postupy ve výuce matematiky
Transkript prezentace:

Ontologie Jaroslav Ciml

Cíle a motivace (1) ● Chceme model pro vyhledávání nejen textových dokumentů, ale i audia a videa ● Chceme vysokou přesnost i úplnost ● Chceme vyhledávání, které není jen založené na shodě termů, ale zohledňuje také sémantiku (zvýšení přesnosti) – mnoho dokumentů může obsahovat hledané slovo, ale dokument sémanticky neodpovídá dotazu uživatele ● Pokud při klasickém vyhledávání automaticky rozšiřujeme dotaz o nové termy, snižuje se přesnost

Cíle a motivace (2) ● Chceme kvalitní řešení pro krátké dotazy – dotaz obsahuje průměrně 2.2 termy – špatné výsledky vektorového modelu ● Celkem nás zajímají 3 typy dotazů – neurčité (obecné) dotazy – konkrétní (specifické dotazy) – Kontextové dotazy ● Provedeme srovnání s vektorovým modelem pomocí F score – veličina zohledňující přesnost i úplnost

Idea ● Budeme indexovat dokumenty podle jejich obsahu, nikoli podle klíčových slov, která se v nich vyskytují ● Indexem bude grafová struktura – ontologie - obsahující tzv. koncepty ● Koncepty tvoří vrcholy orientovaného grafu, hrany jsou různé typy vztahů mezi koncepty ● Ontologie může být obecná nebo zaměřená na nějakou konkrétní oblast (doménová ontologie)

Další program ● Algoritmus pro konverzi slov na jejich význam pro přiřazení konceptu dokumentům a dotazům uživatele ● Algoritmus pro odstranění nejednoznačností – vyřazuje nerelevantní koncepty ● Algoritmus, který se znalostí ontologie, přeloží dotaz (v přirozeném jazyce) na SQL dotaz ● Experimentální výsledky – srovnání přesnosti a úplnosti s vektorovým modelem ● Závěr, možnosti a další vývoj této metody

Historie ● Ontologie jsou obecně používány k zvýšení přesnosti a úplnosti ● Řeší typicky dva problémy – rozšíření dotazu o sémanticky podobné termy – měření vzdáleností mezi koncepty ● Příklad: obecná ontologie WordNet – vytvořená především pro zvýšení úplnosti – dosahuje lepších výsledků pouze pro krátké dotazy – Neobsahuje dostatek informací – někdy nekvalitní výsledky

Ontologie (1) ● Ontologie představuje zjednodušený pohled na jistou oblast zájmu, kterou chceme modelovat ● V ontologii definujeme reprezentativní termy – koncepty ● Mezi koncepty existuje několik typů vztahů ● Jako příklad pro další výklad použijeme ontologii zaměřenou na oblast sportu

Ontologie (2) ● Nevýhody obecných ontologií – vytváří model světa v příliš hrubé zrnitosti – Příliš mnoho konceptů vede k problémům s rozpoznáváním řeči

Ontologie (3) ● Ontologie je reprezentována orientovaným acyklickým grafem ● Každému vrcholu grafu odpovídá koncept – jednoznačné pojmenování v rámci celé ontologie – konceptu je přiřazen seznam synonym ● Některá slova mohou patřit do více seznamů synonym (např.: 'Bryant Kobe', 'Bryant Mark', 'Reeves Bryant') – s tímto spojené problémy řeší algoritmus pro odstranění nejednoznačnosti

Vztahy ● Hrany v grafu reprezentují vztahy mezi koncepty ● Rozlišujeme tři typy vztahů – Generalizace / specializace (IS-A) – „býti instancí“ (Instance Of) – „býti komponentou“ (Part-Of) ● Analogie s objektově orientovaným programováním

IS-A (1) ● př.: 'NFL' – 'profesionální' (NFL je speciální případ profesionální ligy) ● Pro naše účely rozlišujeme dva typy generalizace – úplná (obecnější koncept lze chápat jako sjednocení konkrétnějších konceptů), př.: 'profesionální' – 'NBA', 'ABL', 'CBA' – částečná

IS-A (2) ● Úplná generalizace je důležitá pro algoritmus generující SQL dotazy – koncepty, pro které existuje úplný výčet speciálních konceptů (značíme je NPC – nonparticipant concept), se nestávají přímo součástí SQL dotazu

Instance, komponenty ● Instance (Instance-Of) – př.: všechny vztahy 'hráč' – konkrétní jméno hráče ('Wayne Gretzky'), všechny vztahy 'tým' – konkrétní název týmu ('NY Rangers') ● Komponenty (Part-Of) – př.: 'NFL' je část konceptu 'fotbal', 'Wayne Gretzky' je část konceptu 'NY Rangers'

Disjunktní koncepty (1) ● Požadujeme, aby koncepty mající stejného předka v hierarchii IS-A vztahů byly sémanticky disjunktní (mohou obsahovat stejná slova v seznamech synonym) ● Tato vlastnost pomáhá odstranit nejednoznačnost při převodu dotazu uživatele na koncepty (snadno rozlišíme např. koncepty 'Professional', 'Non Professional')

Disjunktní koncepty (2) ● Každému dokumentu budeme přiřazovat jeden či více konceptů, ale vždy jen jeden z množiny konceptů, které jsou navzájem disjunktní ● Pro zbývající dva typy vztahů toto omezení neexistuje, ale snaha o jeho dodržení může vést k lepší přesnosti ● Př.: hráč hrající ve více ligách (vztah Part-Of) – reprezentace hráče více koncepty – problém s modifikacemi ontologie (použito v experimentální implementaci) – hráč má jediný koncept – porušení disjunktnosti

Vytvoření ontologie ● Ontologie je (zatím) vytvářena manuálně ● Experimentální ontologie se sportovní tematikou byla částečně převzata z Yahoo (rozsáhlejší obecnější struktura), část konceptů (zejména z vrcholu hierarchie) byla vytvořena ručně ● Testování úplnosti ontologie – 90.5% testovaných audio objektů se podařilo asociovat s alespoň jedním konceptem

Přiřazení konceptů k dokumentu (1) ● Každému audio objektu je přiřazena množina klíčových slov ● Výběr konceptů je založen na porovnání těchto slov se seznamem synonym, který je přiřazen ke konceptu ● Každému vybranému konceptu přiřadíme skóre podle úplné nebo částečné shody ● Jedno slovo může být asociováno s více koncepty, každému dokumentu lze přiřadit více konceptů – potřeba odstranit nejednoznačnost

Přiřazení konceptů k dokumentu (2) ● K odstranění nejednoznačností využijeme – kontext klíčových slov (např. slova 'base', 'bat', 'glove' mají více významů, ale pohromadě se téměř jistě týkají baseballu) – vzdálenost jednotlivých konceptů ● Pokud se mezi kandidáty na popis audio objektu, vyskytnou koncepty ve vztahu předek potomek (IS-A), lze si zapamatovat – pouze obecný koncept – ztráta přesnosti – pouze specifický koncept – ztráta úplnosti (v našem případě použita tato možnost)

Uložení audio objektů V relační databázi Audio(Id, Začátek, Konec, Popis, Data) Meta(Id, Označení)

Dotazování ● Předpokládejme, že dotazy jsou vyjádřeny přirozeným jazykem ● Z dotazu uživatele se odstraní nevýznamová slova (stop words) a zbylá se porovnávají se seznamy synonym jednotlivých konceptů ● K takto vybraným konceptům přidáme další pomocí prohledávání grafu ontologie do hloubky nebo do šířky ● Takto vybrané koncepty označme QC (Query Concepts)

Odstranění nejednoznačností aneb prořezání seznamu konceptů ● Myšlenka – dvě fáze: přiřazení skóre jednotlivým konceptům, prořezání seznamu konceptů – koncepty, které jsou blízké (ve smyslu vzdálenosti v grafu ontologie) vzájemně posilují svá skóre – čím nižší skóre, tím větší šance na vyřazení v závěrečném prořezávání

Příklad Dotaz: 'Řekni mi o týmu Lakers' QC: 'tým', 'Los Angeles Lakers' (tým v NBA), 'Tim Laker' (hráč Pittsburgh Pirates) nejednoznačnost: 'Los Angeles Lakers', 'Tim Laker' 'Los Angeles Lakers' je instance konceptu 'tým', ale 'Tim Laker' nemá přímou vazbu s ostatními dvěma koncepty koncept 'Los Angeles Lakers' bude v seznamu ponechán, 'Tim Laker' bude vyřazen

Formální popis (1) S každým konceptem je spjat seznam synonym (l 1,...,l j,...l n ) každý prvek seznamu může být – jedno slovo ('tým') – více slov ('Tim Laker') mějme pevně daný dotaz uživatele pro každé QC i a každé l j spočteme veličinu

Formální popis (2) Pro každý koncept QC i uvažujme pouze největší hodnotu Escore a označme ji jako Score i toto skóre se ještě zvýší propagací skóre z blízkých konceptů sémantickou vzdáleností konceptů QC i, QC j rozumíme nejkratší orientovanou cestu mezi těmito koncepty (nezáleží, zda vede od i-tého konceptu k j-tému či naopak), značíme SD(QC i, QC j )

Propagace skóre Celkové skóre konceptu QC i dostaneme jako

Příklad Dotaz: 'Řekni mi o týmu Lakers' QC: 'tým', 'Los Angeles Lakers', 'Tim Laker' koncepty získají následující skóre: – 'tým' 1.75 = / / 2 – 'Los Angeles Lakers' 1.5 = / 1 – 'Tim Laker' 1.0 = / 2

Prořezávání – algoritmus 1) Pro každý koncept QC i spočti S i 2) Setřiď koncepty podle S i sestupně 3) Najdi všechny skupiny nejednoznačných konceptů ('Los Angeles Lakers', 'Tim Laker') a z každé skupiny zachovej pouze koncept s nejvyšším skóre S i 4) Zachovej pouze specifické koncepty a odstraň všechny odpovídající koncepty obecné 5) Generuj SQL dotaz

Generování SQL dotazu Koncepty se mapují na selekce Pro každý koncept QC i se provedou následující akce 1) Jestliže QC i není typu NPC (NPC = koncept mající úplný rozklad pomocí IS-A vztahů), přidej označení konceptu QC i do disjunkce v klauzuli WHERE 2) Prohledáváním do hloubky či šířky najdi všechny dostupné (po cestě z libovolných hran) koncepty, které nebyly dosud zpracovány a na každý zavolej tento algoritmus rekurzivně

Příklad Dotaz: 'Řekni mi o Kobe Bryantovi' Před generováním SQL dotazu zůstal jediný koncept 'Kobe Bryant' (má označení 'NBAHráč9'), který je navíc v ontologii listem SELECT Začátek, Konec FROM Audio a, Meta m WHERE a.Id = m.Id AND Označení = 'NBAHráč9'

Příklad Dotaz: 'Řekni mi o Los Angeles Lakers' Po prořezání zůstane jediný koncept 'Los Angeles Lakers' Rekurze v generování SQL dotazu způsobí přidání všech hráčů Lakers do klauzule WHERE SELECT Začátek, Konec FROM Audio a, Meta m WHERE a.Id = m.Id AND (Označení = 'NBATým11' OR Označení = 'NBAHráč9' OR Označení = 'NBAHráč10'...)

Příliš dlouhé disjunkce Pro dotazy nad obecnými koncepty může v důsledku rekurze vzniknout velmi dlouhá disjunkce za WHERE Dotaz 'Řekni mi o NBA' vygeneruje 421 konceptů Řešením může být volba vhodných označení jednotlivých konceptů – např.: 'NBATým11', 'NBAHráč9',... SELECT Začátek, Konec FROM Audio a, Meta m WHERE a.Id = m.Id AND Označení LIKE '%NBA%'

Konjunkce v dotazech ● Zatím všechny vybrané koncepty vytvářely v klauzuli WHERE disjunkci ● Pokud jeden koncept upřesňuje druhý ('profesionální fotbal') je přirozenější uvést koncepty ve tvaru konjunkce ● Lze využít informace o disjunktnosti některých konceptů k zjednodušení dotazu

Zpracování audia ● Chceme k audio objektu přiřadit množinu klíčových slov ● Tento proces probíhá ve dvou fázích – rozdělení záznamu na segmenty ● podle odmlky v řeči ● podle změny mluvčího – rozpoznání slov pro jednotlivé segmenty ● Každý segment představuje řádek v tabulce Audio(Id, Začátek, Konec, Popis, Data)

Experimentální implementace ● Ontologie z oblasti sportu ● Srovnání s vektorovým modelem ● Databáze obsahuje 2481 audio objektů (formát wav, ram) a 7000 konceptů ● Průměrná délka záznamu – více než 5 minut ● Jednotlivým záznamům přiřazeno v průměru 25 klíčových slov, podle nichž se vytvářely asociace s koncepty ● Zlepšení výkonu – udržování obecných konceptů v hlavní paměti – hašování

Vektorový model ● K určení váhy jednotlivých termů se použila frekvence termu (TF) a inverzní frekvence termu v dokumentech (IDF) ● Podobnost vektorů byla stanovena pomocí kosinové míry

Měření kvality odpovědi

Analytické výsledky (1) Předpokládejme, že dotaz uživatele obsahuje jediné slovo W 1 pro vektorový model dostáváme

Analytické výsledky (2) V modelu založeném na ontologii dotaz expanduje na koncepty C 1,...,C n a dostaneme vztah

Analytické výsledky (3) ● Úplnost je zřejmě lepší v modelu s ontologií ● Přesnost je stejná v nejlepším případě (tj. koncepty C 1,...,C n vydají na výstup jen relevantní dokumenty) ● V nejhorším případě (všechny dokumenty získané pomocí C 2,...,C n jsou irelevantní) je přesnost modelu s ontologií výrazně horší ● Analogicky F score vychází lépe pro ontologie v nejlepším případě a lépe pro vektorový model v nejhorším případě ● V praxi se dokážeme přiblížit nejlepšímu případu

Empirické výsledky (1) ● Srovnáváno je pouze 9 dotazů, které vycházejí nejhůře pro model s ontologií ● 9 dotazů je po třech rozděleno do kategorií – obecné dotazy ('Řekni mi o basketbalu') – specifické dotazy ('Řekni mi o Los Angeles Lakers') – kontextové dotazy ('Řekni mi o týmu Lakers') ● Srovnávají se přesnost, úplnost a F score

Empirické výsledky (2)

Empirické výsledky (3)

Empirické výsledky (4)

Empirické výsledky (5) ● Model založený na ontologiích dosahuje výrazně lepší – úplnosti pro obecné dotazy, protože při rekurzi je dotaz obohacen o potomky obecného konceptu – přesnosti pro kontextové dotazy, protože pomocí kontextu je schopen vybrat správný význam víceznačných slov

Další cíle ● Nastavitelnost generování metadat pro audio objekty ● Automatické generování ontologií ● Jednoduchá modifikovatelnost ontologie (přestup hráče do jiného týmu znamená odstranění a vytvoření nové vazby) ● Získávání přesnějších metadat pro audio záznamy – např. podle intenzity hlasu ● Uživatelské profily