120 likes | 252 Views
Sémantické vyhledávání. 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 k atastrofy s port m edicína Mus í být k dispozici znalosti k tomuto tématu . K čemu je to dobré?. fulltextové vyhledávání.
E N D
Sémantické vyhledávání 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 • medicína • Musí být k dispozici znalosti k tomuto tématu
K čemu je to dobré? fulltextové vyhledávání sémantické vyhledávání • je schopné najít pouze slova, která zadáme • může využívat automatické opravy překlepů: • měli jste na mysli … • lematizaci(hledá např. všechny tvary slova doktor) • zkouší pochopit co uživatel hledá a to mu také poskytne v nejlepší možné podobě • chce obrázek Prahy, tak ho rovnou uživateli zobrazí • hledá jízdní řád, tak nedostane jen odkaz na nějaký článek, ale rovnou mu najde odkud a kdy spoj odjíždí, kolik stojí lístek
Vize do budoucna • Syn bude mít zítra narozeniny a já pro něj nemam dárek. Použiju obecnou službu sémantického vyhledávání a zadám dotaz: Co mám koupit Honzíkovi k narozeninám? • Služba se podívá na strukturu mojí rodiny a zjistí, že Honzík je můj syn, je mu 7 let, zítra má narozeniny a např. že má blog. • znalostní server - statistiky nejžádanějších dárků - filtrkluk, 7let, do 3000 Kč • podívá se na Honzíkovo blog a vybere dárky, které se mu nejvíce líbí • služba zboží - nalezení nejlepšího prodejce v mém okolí • Výsledek bude vypadat takto:Honzík by si asi nejvíce přál vrtulník na dálkové ovládání. Nejlépe tento, který stojí 1 400 Kč, lze ho koupit v Plzni a kurýrní služba Vám ho může přivést během 45 minut na dobírku. Přejete si ho objednat - ANO nebo NE ?
Co všechno k sémantickému vyhledávání potřebuji? • Označený zdroj dat - databázi článků, nebo url • znám téma: katastrofy, sport … • Ontologii - zápis znalostí týkající se dané problematiky • Vhodný algoritmus, který bude hledat informace s využitím ontologie. • Pomocné nástroje pro práci s ontologií: • lematizace, morfologická analýza • Nástroj pro zodpovídání dotazů - snaha pochopit, co uživatel chce a jak mu to dát – desambiguace (zjednoznačnění)
Jaké znalosti k vyhledávání potřebuji? = co by měla ontologie obsahovat: • jaké typy katastrof existují a jejich vazby • stručnou charakteristiku typů • lavina může vznikat pouze na horách • lavina = hory, sníh, horská služba apod. • záplavy - musí být v okolí řeka • záplavy = voda, zatopené sklepy, hasiči apod. -> vytvářím jednoduchou predikátovou logiku
Nástroje pro práci s ontologií • Lematizace • je metoda převodu slov na jejich základní tvar • většinou využívá slovník • Morfologická analýza • primárně určuje slovní druh a gramatický význam • lze využít při pro ověřování vygenerovaných tvarů slov • praktický příklad z webu: morfologický analyzátor Ajka, který funguje zároveň i jako lematizátor
Ontologie – metody zápisu • OWL <owl:Classrdf:about="#American"> <rdfs:labelxml:lang="pt">Americana</rdfs:label> <rdfs:subClassOf> <owl:Restriction> <owl:onPropertyrdf:resource="#hasTopping"/> <owl:someValuesFromrdf:resource="#TomatoTopping"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf><owl:Restriction> <owl:onPropertyrdf:resource="#hasTopping"/> <owl:someValuesFromrdf:resource="#PeperoniSausageTopping"/> </owl:Restriction> </rdfs:subClassOf>
Ontologie – metody zápisu • RDF <rdfs:Classrdf:ID="WINE"> <rdfs:subClassOf> <daml:Restriction> <daml:onPropertyrdf:resource="#SUGAR"/> <daml:minCardinality> 1 </daml:minCardinality> </daml:Restriction> </rdfs:subClassOf> • Jiný vlastní formát – zápis s využitím trojic
Problematika zodpovídání dotazů • Snaha pochopit, co uživatel chce a to mu dát • Lze dělat analýzu vstupu a hledat klíčová slova – názvy míst, činností apod. • Případně lze využít šablony pro otázky a relevantní odpovědi: • Kdy umřel <PERSON> ? • <PERSON> umřeldne <DATE> v <PLACE>. • <PERSON> = <NAME><SPACE><SURNAME> • <PERSON> = <SURNAME>
Problematika zodpovídání dotazů • Desambiguace • metoda zjednoznačnění lemmatizace na základě slovosledu a sémantiky ostatních vět i celého textu: tancích => tank nebotanec? • pro přesnost desambiguace je potřeba korpus = označkovaná trénovací množina článků • korpus by měl být dostatečně velký, ale zároveň zaměřený pouze na téma lematizace a sémantického vyhledávání.
Dotazy ? • Dotazy k ontologiím ? • Dotazy k implementaci ? • Dotazy k vrtulníku ?