Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilStella Sedláčková
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
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 = 1.0 + 0.5 / 1 + 0.5 / 2 – 'Los Angeles Lakers' 1.5 = 0.5 + 1.0 / 1 – 'Tim Laker' 1.0 = 0.5 + 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
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.