Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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.

Podobné prezentace


Prezentace na téma: "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."— Transkript prezentace:

1 Ontologie Jaroslav Ciml

2 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

3 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

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

5 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

6 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

7 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

8 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

9

10 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

11 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

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

13 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

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

15 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')

16 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

17 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

18 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

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

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

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

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

23 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

24 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

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

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

27 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

28 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

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

30 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'

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

32 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%'

33 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

34 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)

35 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í

36 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

37 Měření kvality odpovědi

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

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

40 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

41 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

42 Empirické výsledky (2)

43 Empirické výsledky (3)

44 Empirické výsledky (4)

45 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

46 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


Stáhnout ppt "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."

Podobné prezentace


Reklamy Google