1 / 46

Ontologie Jaroslav Ciml

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

abiba
Download Presentation

Ontologie Jaroslav Ciml

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  23. Formální popis (1) S každým konceptem je spjat seznam synonym (l1,...,lj,...ln) 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é QCi a každé lj spočteme veličinu

  24. Formální popis (2) Pro každý koncept QCi uvažujme pouze největší hodnotu Escore a označme ji jako Scorei toto skóre se ještě zvýší propagací skóre z blízkých konceptů sémantickou vzdáleností konceptů QCi, QCj 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(QCi, QCj)

  25. Propagace skóre Celkové skóre konceptu QCi dostaneme jako

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

  27. Prořezávání – algoritmus • Pro každý koncept QCi spočti Si • Setřiď koncepty podle Si sestupně • 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 Si • Zachovej pouze specifické koncepty a odstraň všechny odpovídající koncepty obecné • Generuj SQL dotaz

  28. Generování SQL dotazu Koncepty se mapují na selekce Pro každý koncept QCi se provedou následující akce Jestliže QCi není typu NPC (NPC = koncept mající úplný rozklad pomocí IS-A vztahů), přidej označení konceptu QCi do disjunkce v klauzuli WHERE 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ě

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

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

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

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

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

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

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

  36. Měření kvality odpovědi

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

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

  39. Analytické výsledky (3) • Úplnost je zřejmě lepší v modelu s ontologií • Přesnost je stejná v nejlepším případě (tj. koncepty C1,...,Cn vydají na výstup jen relevantní dokumenty) • V nejhorším případě (všechny dokumenty získané pomocí C2,...,Cn 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

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

  41. Empirické výsledky (2)

  42. Empirické výsledky (3)

  43. Empirické výsledky (4)

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

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

More Related