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

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

Dokumentografické Informační Systémy Slidy k přednášce NDBI010 KSI MFF UK Verze 12.04.30.12.15.

Podobné prezentace


Prezentace na téma: "Dokumentografické Informační Systémy Slidy k přednášce NDBI010 KSI MFF UK Verze 12.04.30.12.15."— Transkript prezentace:

1 Dokumentografické Informační Systémy Slidy k přednášce NDBI010 KSI MFF UK Verze

2 DBI010 - DIS - MFF UK Literatura (skripta) Dokumentografické informační systémy –Pokorný J., Snášel V., Kopecký M.: Nakladatelství Karolinum, UK Praha, 2005 –Pokorný J., Snášel V., Húsek D.: Nakladatelství Karolinum, UK Praha, 1998 Textové informační systémy –Melichar B.: Vydavatelství ČVUT, Praha, 1997 Introduction to Information Retrieval –Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze Cambridge University Press, 2008

3 DBI010 - DIS - MFF UK Další odkazy Computer Algorithms - String Pattern Matching Strategies, – Jun Ichi Aoe, IEEE Computer Society Press 1994 Concept Decomposition for Large Sparse Text Data using Clustering –Inderjit S. Dhillon, Dharmendra S. Modha IBM Almaden Research Center, 1999

4 DBI010 - DIS - MFF UK Další odkazy (články) The IGrid Index: Reversing the Dimensionality Curse For Similarity Indexing in High Dimensional Space for Large Sparse Text Data using Clustering –Charu C. Aggrawal, Philip S. Yu IBM T. J. Watson Research Center The Pyramid Technique: Towards Breaking the Curse of Dimensionality –S. Berchtold, C. Böhm, H.-P. Kriegel: ACM SIGMOD Conference Proceedings, 1998

5 DBI010 - DIS - MFF UK Další odkazy (články) Affinity Rank: A New Scheme for Efficient Web Search –Yi Liu, Benyu Zhang, Zheng Chen, Michael R. Lyu, Wei-Ying Ma 2004 Improving Web Search Results Using Affinity Graph –Benyu Zhang, Hua Li, Yi Liu, Lei Ji, Wensi Xi, Weiguo Fan, Zheng Chen1, Wei-Ying Ma Efficient computation of pagerank –T.H. Haveliwala Technical report, Stanford University, 1999

6 DBI010 - DIS - MFF UK Další odkazy (starší) Introduction to Modern Information Retrieval –Salton G., McGill M. J.: McGRAW-Hill 1981 Výběr informací v textových bázích dat –Pokorný J.: OVC ČVUT Praha 1989

7 Úvod do DIS Přehled problematiky měření informativnosti Přednáška č. 1

8 DBI010 - DIS - MFF UK Vznik DIS 50. léta 20. stol. Postupná automatizace postupů používaných v knihovnictví Nyní samostatná podčást IS –Faktografický IS Zpracování informací s definovanou vnitřní strukturou (nejčastěji v podobě tabulek) –Dokumentografický IS Zpracování informací v podobě textu v přirozeném jazyce bez pevné vnitřní struktury

9 DBI010 - DIS - MFF UK Práce s DIS 1.Zadání dotazu 2.Porovnání 3.Získání seznamu odpovídajících dokumentů 4.Ladění dotazu 5.Vyžádání dokumentu 6.Obdržení textu DIS

10 DBI010 - DIS - MFF UK II) Struktura DIS I)I) I)Systém zpřístupnění dokumentů Vrací sekundární informace Autor Název... II)Systém dodání dokumentů Někdy není řešen pomocí SW

11 DBI010 - DIS - MFF UK Vyhodnocení dotazu Přímé porovnání náročné na čas Dok 1 Porovnání Dok i1 Dotaz

12 DBI010 - DIS - MFF UK Vyhodnocení dotazu Nutné vytvoření modelu dokumentu Ztrátový proces, obvykle založený na identifikaci slov v dokumentech Výsledkem strukturovaná data vhodná pro porovnávání Dok 1 Indexace X1X1

13 DBI010 - DIS - MFF UK Vyhodnocení dotazu Dotaz se upraví do odpovídající podoby Následně se porovná s modelem dokumentů Porovnání Dok i1 X1X1 Dotaz

14 DBI010 - DIS - MFF UK Předzpracování textu Vyhledávání probíhá nad vytvořeným modelem efektivněji, ale může použít jen informace obsažené v modelu. Cílem je vytvořit model, který by zachoval co nejvíce informací, obsažených v původním modelu. Problémem je řada nejednoznačností. Dosud neřešitelné nároky na encyklopedické i asociativní znalosti.

15 DBI010 - DIS - MFF UK Porozumění textu Posloupnost slov v přirozeném jazyce. Každé slovo zastupuje pro autora nějakou představu, kterou v něm slovo vyvolá - význam. Tyto představy reprezentují reálné předměty....

16 DBI010 - DIS - MFF UK Porozumění textu Synonymie slov –Více slov může mít pro autora stejný význam krychle = kostka buldozer = nakladač...

17 DBI010 - DIS - MFF UK Porozumění textu Homonymie slov –Jedno slovo může mít pro autora několik významů taška: střešní, nákupní koruna: platidlo, královská k., k. stromu třída: školní, kategorie v teorii množin los: zvíře, poukázka ke slosování...

18 DBI010 - DIS - MFF UK Porozumění textu Homonymie slov –Jedno slovo může používat stejný tvar pro různé pády a další gramatické jevy (gramatická homonymie) kontroly: 1. p. m.č., 2. p. j.č. není zřejmé, zda se jedná o jednu, nebo více kontrol –Jeden tvar slova může mít různý význam plesy: podst. jm. ples, podst. jm. pleso žena: podst. jm. žena, sloveso hnát hnát: sloveso hnát, podst. jm. hnát tři: číslovka tři, sloveso třít pět: číslovka pět, sloveso pět

19 DBI010 - DIS - MFF UK Porozumění textu Významy slov se mohou překrývat. –Hierarchicky zvíře > kůň > hřebec –Asociace kalkulátor ~ počítač ~ procesor...

20 DBI010 - DIS - MFF UK Porozumění textu Jednotlivá přiřazení jsou navíc závislá na subjektu, který dokument píše nebo čte. –Dva lidé mohou jednomu slovu přikládat zcela nebo jen částečně jiný význam. –Dva lidé si i pod stejným významem mohou představit jiný konkrétní předmět nebo množinu předmětů. máma, pokoj,... Výsledkem je situace, kdy dva různí čtenáři nemusí přečtením získat ani stejnou informaci jako autor, ani stejnou informaci navzájem.

21 DBI010 - DIS - MFF UK Porozumění textu Homonymie a nejednoznačnosti narůstají při přechodu od slov k větám. –Homonymie vlastních jmen na začátku věty Dohnal zvítězil. (Čtrnáctý zvítězil.) Plk. Dohnal předešel gen. Kvapila velmi výrazně. –jedna, dvě, nebo tři věty? –Homonymie spojky a v předmětu věty Funkce rezistoru a zesilovače v radiotechnice. (funkce rezistoru v radiotechnice) a (funkce zesilovače v radiotechnice) (funkce rezistoru) a (funkce zesilovače v radiotechnice) (funkce rezistoru) a (zesilovače v radiotechnice) –Homonymie podmětu a předmětu Popílek přikryl sníh. – co leží navrchu?

22 DBI010 - DIS - MFF UK Porozumění textu Příklad české věty s více gramaticky možnými významy –viz např. Podivné fungování gramatiky, fungování gramatiky –věta „Ženu holí stroj“ může - podle volby přísudku ve větě - znamenat: Poháním stroj pomocí hole (hnát) Žena používá depilační přístroj (holit) Návod k nekonvenčnímu způsobu oblékání (strojit) … a další

23 DBI010 - DIS - MFF UK Porozumění textu Příklad anglické věty s více gramaticky možnými významy –viz např. Podivné fungování gramatiky, fungování gramatiky –věta „Time flies like an arrow“ může - podle volby přísudku ve větě - znamenat: Čas letí jako voda (fly) Časové mouchy/zipy mají rády šíp (like) … a další

24 DBI010 - DIS - MFF UK Předzpracování textu Částečným řešením problému porozumění textu je zahrnutí lingvistické analýzy –Disambiguace Určení správného významu slova ve větě –Na základě gramatiky (slovesa vs. podst. jm.) –Na základě kontextu (komplikovanější). »Tančila na Hasičském plese. »Tančila na Štrbském plese.

25 DBI010 - DIS - MFF UK Předzpracování textu Částečným řešením problému porozumění textu je zahrnutí lingvistické analýzy –Lemmatizace Přiřazení správného lemmatu jednotlivým slovům –Základní tvar slova (1. p. j.č., infinitiv,...) –Slovní druh, osoba, číslo, čas, vid,... –Informace z větného rozboru, (podmět, předmět,...)

26 DBI010 - DIS - MFF UK Lemmatizace a disambiguace českého jazyka (ÚFAL) Odpovědným zástupcem nemůže být každý. Zákon by měl zajistit individualizaci odpovědnosti a zajištění odbornosti. … Odpovědným odpovědný_^(kdo_za_něc o_odpovídá) AAIS7----1A---- zástupcem zástupce NNMS7-----A---- nemůže moci_^(mít_ možnost_[něco_dělat]) VB -S---3P-NA--- být být Vf A---- každý každý A AIS1----1A---- … Číslo odstavce Číslo věty Lemma včetně významu Slovní druh (Adverb), … Slovo v dokumentu

27 DBI010 - DIS - MFF UK Předzpracování textu Dalšími možnosti, které lingvistika v různé míře nabízí jsou –Označování víceslovných spojení - kolokací Druhá světová válka,... –Zatím velmi problematické nahrazování zájmen odpovídajícími podstatnými jmény

28 DBI010 - DIS - MFF UK Přesnost a úplnost Výsledkem nejednoznačností žádný existující DIS nedává ideální výsledky Po zobrazení odpovědi na dotaz lze určit následující –Počet vrácených dokumentů Nv O nich si DB myslí, že jsou relevantní, odpovídají dotazu –Počet vrácených relevantních dok. Nvr O nich si tazatel myslí, že uspokojují jeho požadavky –Počet všech relevantních dok. v DB Nr Problematické u velkých DB

29 DBI010 - DIS - MFF UK Přesnost a úplnost Dva DIS mohou vrátit na shodný dotaz různé odpovědi, které se nemusí překrývat ani v jediném vráceném dokumentu  Jak porovnat kvalitu odpovědí navzájem? Dokumenty v databázi Relevantní dokumenty Vrácené v DIS 1 Vrácené v DIS 2

30 DBI010 - DIS - MFF UK Přesnost a úplnost Dva tazatelé mohou mít při položení shodného dotazu různý názor na relevanci vrácených dokumentů  Jak vyhovět subjektivnímu názoru tazatelů? Dokumenty v databázi Relevantní Vrácené dok. Relevantní  

31 DBI010 - DIS - MFF UK Přesnost a úplnost Kvalita výsledné množiny dokumentů se měří na základě těchto čísel –Přesnost (Precision) P = Nvr / Nv Pravděpodobnost, že dokument zařazený v odpovědi je skutečně relevantní –Úplnost (Recall) R = Nvr / Nr Pravděpodobnost, že skutečně relevantní dokument je zařazený v odpovědi

32 DBI010 - DIS - MFF UK Přesnost a úplnost Koeficienty jsou opět závislé na subjektivním názoru tazatele Dokument vrácený na výstupu může uspokojovat požadavky dvou uživatel, kteří položili stejný dotaz, různou měrou.

33 DBI010 - DIS - MFF UK Přesnost a úplnost V ideálním případě –P=R=1 –V odpovědi jsou zařazeny právě a pouze všechny relevantní dokumenty V běžném případě –Odpověď na první verzi dotazu není ani přesná, ani úplná Optimum Počáteční odpověď

34 DBI010 - DIS - MFF UK Přesnost a úplnost Ladění dotazu –Postupná modifikace dotazu s cílem zvýšit kvalitu odpovědi Teoreticky je sice možné dosáhnout optima, ale … Optimum R P

35 DBI010 - DIS - MFF UK Přesnost a úplnost … vlivem víceznačností jsou v praxi oba koeficienty na sobě nepřímo závislé, tj. P*R  konst. < 1 –Při snaze zvýšit P se na výstup dostane méně relev. dokumentů. –Při snaze zvýšit R se na výstup dostane s více relev. dok. i mnohem více těch nerelevantních Optimum R P

36 DBI010 - DIS - MFF UK Kritérium predikce Při formulaci dotazů je potřebné uhádnout, které termy (slova) byly v dokumentu autorem použity pro vyjádření dané myšlenky –Problémy m.j. způsobují Synonyma (autor mohl použít synonymum, které si tazatel při formulaci dotazů ani nemusí neuvědomí) Překrývající se významy slov Opisy jedné situace jinými slovy

37 DBI010 - DIS - MFF UK Kritérium predikce Částečným řešením je zařazení tezauru, který obsahuje –Hierarchie slov a jejich významů –Synonyma slov –Asociace mezi slovy Tazatel může tezaurus využít při formulaci svých dotazů

38 DBI010 - DIS - MFF UK Kritérium predikce Při ladění dotazů má uživatel tendenci postupovat konzervativně –V dotazu zůstávají často ty jeho části, které uživatele napadly na začátku a mění se jen podružné části, které nekvalitní výsledek nemusí nijak zásadně ovlivnit Vhodné je uživateli pomoci s odstraněním nevhodných částí dotazu, které nepopisují relevantní dokumenty a naopak s přidáváním formulací, které relevantní dokumenty popisují

39 DBI010 - DIS - MFF UK Kritérium maxima Tazatel obvykle není schopen (nebo ochoten) procházet příliš mnoho dokumentů do té míry, aby se rozhodl, zda jsou pro něj relevantní nebo ne Obvykle podle velikosti  Potřeba nejen dokumenty rozlišovat na odpovídající/neodpovídající dotazu, ale řadit je na výstupu podle míry předpokládané relevance

40 DBI010 - DIS - MFF UK Kritérium maxima V důsledku kritéria maxima se při ladění dotazu uživatel obvykle snaží zvýšit přesnost –Malé množství dokumentů v odpovědi, obsahující co největší poměr relevantních dokumentů Některé oblasti použití vyžadují co nejvyšší přesnost i úplnost –Právnictví „lepší“ Vr. Rel. „horší“ Vr. Rel.

41 Přesné vyhledávání vzorků

42 DBI010 - DIS - MFF UK Proč vyhledávat vzorky textu Při tvorbě indexu dokumentů či dotazu –Pro zahrnutí pouze určité, předem dané množiny slov (lemmat) z dokumentu při tzv. řízené indexaci –Pro vynechání předem dané množiny slov (lemmat) jako jsou spojky, částice, zájmena a podobně Při zobrazování sekundárních a primárních dokumentů v odpovědi –Nalezení a zvýraznění slov (lemmat) použitých v dotazu …

43 DBI010 - DIS - MFF UK Algoritmy dle předzpracování I - Triviální algoritmus (Naivní algoritmus) (Algoritmus hrubé síly) II - Ostatní (vhodné pro DIS) Dále členěné dle Počtu vyhledávaných vzorků –1, N,  Směru hledání –Sousměrné –Protisměrné

44 DBI010 - DIS - MFF UK Algoritmy II Sousměrné porovnávají vzorek zleva doprava, tj. souhlasně se směrem procházení celého dokumentu. Protisměrné obráceně

45 Přesné vyhledávání vzorků Hledání jednoho vzorku v textu

46 DBI010 - DIS - MFF UK Triviální algoritmus abccbabcabbcaabccbabcbbbabcc abccbabcbbb abccbabcbbb Text Před pos. Po posunu Délka textu t ozn. m, délka vzorku v ozn. n Při neshodě i-té pozice textu s j-tou pozicí vzorku –Posun vzorku o jednu pozici doprava, prohledávání od začátku vzorku Časová složitost je v průměrném případě o(m*n), např. pro hledání „a n-1 b“ v „a m-1 b“ Pro přirozený jazyk průměrně m*konst operací, tedy o(m) konst je malé číslo (jednotky), závislé na jazyku

47 DBI010 - DIS - MFF UK Přednáška č. 2 Knuth-Morris-Prattův algoritmus Sousměrné vyhledání jednoho vzorku Oproti naivnímu přístupu eliminuje porovnávání již jednou zkontrolované části textu Vzorek je posunut co nejméně tak, aby část, která zůstane pod již zkontrolovanou částí, s ní byla shodná

48 DBI010 - DIS - MFF UK KMP algoritmus abccbabcabbcaabccbabcbbbabcc abccbabcbbb abccbabcbbb Text Před pos. Po posunu Triviální algoritmus abccbabcabbcaabccbabcbbbabcc abccbabcbbb abccbabcbbb Text Před pos. Po posunu KMP

49 DBI010 - DIS - MFF UK KMP algoritmus Před pozicí neshody zůstane vlastní prefix již prohledané části vzorku Musí být shodný s postfixem této části Nejdelší takový určuje nejmenší posun abccbabcabbcaabccbabcbbbabcc abccbabcbbb abccbabcbbb Text Před pos. Po posunu

50 DBI010 - DIS - MFF UK KMP algoritmus

51 DBI010 - DIS - MFF UK KMP algoritmus Pokud –Vzorek v se na pozici j neshoduje s textem t –Nejdelší vlastní prefix zkontrolované části vzorku, rovnající se postfixu zkontrolované části má délku k Potom –Po posunu zůstane k znaků vzorku před pozicí porovnávání –Vzorek se začne porovnávat od pozice k+1 Opravné pozice pro chyby na jednotlivých pozicích j jsou uloženy v pomocném poli P V tomto případě P[j] = k+1

52 DBI010 - DIS - MFF UK begin {KMP} m := length(t); n := length(v); i := 1; j := 1; while (i 0) and (v[j] <> t[i]) do j := P[j]; inc(i); inc(j); end; {while} if (j > n) then {nalezen na pozici i-j+1} else {nenalezen} end; {KMP} KMP algoritmus

53 DBI010 - DIS - MFF UK Určení pole P pro KMP P[1] = 0 Pokud známe opravy pro pozice 1.. j-1, je snadné spočítat opravu pro pozici j –P[j-1] obsahuje opravu pro pozici j-1. Tzn., že P[j-1]-1 znaků ze začátku vzorku se shoduje se stejným počtem znaků před j-1 ní pozicí ve vzorku

54 DBI010 - DIS - MFF UK Určení pole P pro KMP

55 DBI010 - DIS - MFF UK Určení pole P pro KMP Pokud se také j-1 ní pozice vzorku shoduje s P[j-1] ní pozicí, může se prefix prodloužit a tedy správná hodnota pro P[j] je o jedna vyšší než předchozí.

56 DBI010 - DIS - MFF UK Určení pole P pro KMP

57 DBI010 - DIS - MFF UK Určení pole P pro KMP Pokud se j-1 ní a P[j-1] ní pozice vzorku neshodují, došlo by po chybě a následném posunu vzorku k situaci, že nebude souhlasit znak před pozicí na které se bude pokračovat Pro chybu na této předchozí pozici je však již známa oprava (čísla P[1].. P[j-1] jsou již spočtena)

58 DBI010 - DIS - MFF UK Určení pole P pro KMP Je nutné sledovat opravy počínaje j-1 ní pozicí tak dlouho, dokud se j-1 ní pozice vzorku neshoduje s pozicí, na kterou odkaz směřuje, nebo dokud nedojdeme na konec odkazů (hodnota 0)

59 DBI010 - DIS - MFF UK Určení pole P pro KMP

60 DBI010 - DIS - MFF UK Určení pole P pro KMP

61 DBI010 - DIS - MFF UK begin p[1] := 0; n := length(v); j := 2; while (j <= n) do begin k := j-1; l := k; repeat l := p[l]; until (l = 0) or (v[l] = v[k]); p[j] := l+1; inc(j); end; end; Určení pole P pro KMP - algoritmus

62 DBI010 - DIS - MFF UK KMP algoritmus Časová složitost algoritmu je o(m+n). V textu se nikdy nevrací. Při posunutí vzorku znovu porovnává stejnou pozici, ale posunů vzorku nemůže být více než o(m). Stejně tak časová složitost předzpracování je o(n).

63 DBI010 - DIS - MFF UK Optimalizace KMP Pomocné pole P je možné optimalizovat Pokud je znak v[j] shodný s v[P[j]], dostal by se pod kolizní pozici v textu posunem znak shodný s tím, který kolizi způsobil. Opravu je možné zohlednit ve druhém poli P’ s hodnotou P’[j]=P’[P[j]], jinak P’[j]=P[j] Pole P[j] není potom při vlastním hledání potřeba abccbabcbbb V P P’P’

64 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus Protisměrné vyhledání jednoho vzorku s předzpracováním vzorku –vzorek přikládá k textu postupně zleva doprava –znaky vzorku se porovnávají zprava doleva

65 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus Pokud nedojde ke shodě na pozici V[n-j] vzorku s textem na pozici T[i-j]=x –n je délka vzorku, –i je pozice konce vzorku v textu, –j=0..n-1 –x  X, X je abeceda Vzorek se posune o SHIFT[n-j,x] znaků doprava Začne se znovu od j=0, tedy od konce

66 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus Existuje více definic pro SHIFT[n-j,x] Varianta 1: Pomocné pole SHIFT[0..n-1,X] je pro pozici ve vzorku a znak x abecedy X definováno následovně: –Co nejmenší posun takový, aby se pod právě porovnávanou pozici v textu dostal odpovídající znak x vzorku. –Pokud se znak, který kolizi způsobil, ve zbývající levé části vzorku nevyskytuje, posune se vzorek těsně za testovanou pozici.

67 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (1) Časová složitost je v průměrném případě o(m*n), např. pro hledání „ba n-1 “ v „a m-n ba n-1 “ Pro velké abecedy a vzorky s malým počtem různých znaků (např. přirozené jazyky) je průměrná časová složitost o(m/n)

68 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (1) Příklad vyhledávání:

69 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (1) Definice SHIFT pro slovo ’ANANAS’ –Plné šipky znázorňují úspěšné porovnání –Dvojité znázorňují posun koncového znaku na místo počátečního –Neuvedené znamenají posun za kolizní pozici SANANA SANANA ANANA N

70 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (1) Pro úsporu místa x  {‘A’,’N’,’S’,’X’} –‘X‘ zastupuje všechny znaky nevyskytující se ve vzorku Hodnoty s „+“ označují velikost posunu Hodnoty bez „+“ označují novou hodnotu j

71 DBI010 - DIS - MFF UK Porovnání na umělém příkladu

72 DBI010 - DIS - MFF UK Porovnání na umělém příkladu

73 DBI010 - DIS - MFF UK Porovnání na umělém příkladu

74 DBI010 - DIS - MFF UK Porovnání na anglickém textu Pozn: různý vzorek  nalezen poprvé až na své původní pozici

75 DBI010 - DIS - MFF UK Porovnání na anglickém textu

76 DBI010 - DIS - MFF UK Porovnání na anglickém textu

77 DBI010 - DIS - MFF UK Porovnání na anglickém textu

78 DBI010 - DIS - MFF UK Porovnání na anglickém textu

79 DBI010 - DIS - MFF UK Porovnání na anglickém textu *) Vzhledem k linearitě KMP můžeme předpokládat, že každý z dvouslovných vzorků se našel v průměru 3,3617 krát dále od začátku textu než u vzorků jednoslovných BM i při 3,3617 krát větší vzdálenosti spotřeboval jen 2,0770 krát větší počet operací Na prohledání stejně velkého objemu textu tedy potřebuje při dvojnásobném prodloužení vzorků jen 61,78% operací

80 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (2) Jiná – efektivnější – varianta BM založena na dvou jednorozměrných polích P 1 a P 2 místo jednoho dvojrozměrného P 1 obsahuje  x  X posun, který pod kolizní pozici zarovná poslední výskyt znaku x ve vzorku a nastaví pozici porovnání na konec vzorku. Pokud se x ve vzorku nevyskytuje, je tedy P 1 [x] rovno délce vzorku.

81 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (2) P 2 obsahuje pro každou pozici j ve vzorku délku nejmenšího možného posunu, která pod již úspěšně porovnanou příponu vzorku na pozicích j+1 až m zarovná shodný podřetězec vzorku. Pokud se nejpravější výskyt podřetězce pat j+1 …pat m nachází na pozici nvp(j), potom P 2 [j] = m+1 - nvp(j). Pokud se podřetězce pat j+1 …pat m ve vzorku nenachází, hledá se nejdelší předpona vzorku shodná s příponou podřetězce pat j+1 …pat m

82 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (2) Posun shift(j, x) je definován výrazem max(P 1 [x],P 2 [j]) –Nemá cenu zarovnat kolizní znak, pokud se se vzorkem neshoduje zkontrolovaná část textu a naopak

83 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (2) abccbabcabbcabbacbbabcbbabcc bbacbbb Text Před pos. Po posunu BM(2) cabb bbacbbcabbb abccbacbbcabbacbbabcbbabcc bbacbb Text Před pos. Po posunu BM(2) cb ba bab bbacbbcbbab

84 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (2) procedure InitBM(const pat: string; var P1: ShiftArray1; var P2: ShiftArray2) var m, x, k, l: integer; KMP: KmpArray; NVP: NvpArray; begin {nejprve zkonstruujeme pole P1} m := length(pat); for x := 1 to ALPHABET_SIZE do P1[x] := m; for j := 1 to m do P1[pat[j]] := m-j; {oprav posun pro znak pat[j]} {nyní zkonstruujeme postupně pole P2} for j := 1 to m do NVP[j] := j-m+1; KMP[m] := m+1; j := m-1; {analogie KMPInit, zrcadlově převrácená} while (j > -m) do begin k := j+1; l := k; repeat l := KMP[l]; until (l = m+1) or (l pat[l-1]) then NVP[l-1] := max(NVP[l-1],j+1); {hledáme nejpravější výskyt} dec(j); end {while}; {nyní již lze P2 snadno určit} for j := 1 to m do P2[j] := m+1–NVP(j); end {procedure InitKMP};

85 DBI010 - DIS - MFF UK Boyer-Moorův algoritmus (2) function ShiftBM(const j: integer; const x: char): integer begin ShiftBM := max(P1[x],P2[j]); end {ShiftBM}; procedure BMSearch(const txt: string; const pat: string); var m, n, i, j: byte; nalezeno: boolean; {2} P1: ShiftArray1; P2: ShiftArray2; begin m := length(pat); n := length(txt); InitBM(pat,P1,P2); i := m; while i 0) and (txt[i] = pat[j]) do begin dec(i); dec(j); {úspěšné porovnání jednoho znaku} end; if j = 0 then begin ReportMatchAtPosition(i+1); i := i+1+m; {posun vzorku o jednu pozici} end else i := i+BMShift(j,x); {posun vzorku + skok na konec vzorku} end {while}; end {BMSearch};

86 DBI010 - DIS - MFF UK FS algoritmus (modifikace BM) Autoři: Jang-Jon Fan a Keh-Zih Su Kombinace zpětného prohledávání s KMP Posun delta při neshodě V[j] s T[i], vzorek V[1..n] delta(n,x)= n, pokud x není ve vzorku = n-max{k | V[k]=x} delta(j,x), j

87 DBI010 - DIS - MFF UK FS algoritmus abccbabcabbcabbacbbabcbbabcc bbacbbb Text Před pos. Po posunu FS cabb bbacbbcabbb abccbacbbcabbacbbabcbbabcc bbacbb Text Před pos. Po posunu FS cb ba bab bbacbbcbbab

88 DBI010 - DIS - MFF UK Porovnání algoritmů Bez předzprac. S předzpracováním vzorku protisměrnýsousměrný time max o(m*n)o(m+n)o(m*n) time avg o(m*n)o(m+n)o(m*n) time avg (přir. jazyk) o(m)o(m+n)o(m/n)

89 Přesné vyhledávání vzorků Hledání konečného počtu vzorků v textu

90 DBI010 - DIS - MFF UK Algoritmus Aho-Corrasickové Sousměrné vyhledání více vzorků současně Rozšíření KMP algoritmu –Předzpracování vzorků –Lineární průchod textem Časová složitost o(m+  n i ), kde m je délka textu n i je délka i-tého vzorku

91 DBI010 - DIS - MFF UK A-C algoritmus Text T Množina vzorků V={V 1, V 2, …, V k } Vyhledávací stroj S = (Q, X, q 0, g, f, F) Q množina stavů X abeceda q 0  Q počáteční stav g: Q x X  Q (go) dopředná funkce f: Q  Q (fail) zpětná funkce F  Q množina koncových stavů

92 DBI010 - DIS - MFF UK A-C algoritmus Stavy množiny Q reprezentují všechny prefixy všech vzorků Stav q 0 reprezentuje prázdný prefix g(q,x) = qx, pokud je qx  Q Jinak g(q 0,x)=q 0 Jinak g(q,x) nedefinováno f(q) pro q<>q 0 je rovna nejdelšímu vlastnímu postfixu q v množině Q  |f(q)|<|q| Koncovými stavy jsou všechny hledané vzorky, tedy F=V

93 DBI010 - DIS - MFF UK A-C algoritmus Při vyhledávání se využívá všude definovaná přechodová funkce  (q,x): QxX  X –  (q,x) = g(q,x), pokud g(q,x) definována –  (q,x) =  (f(q),x) Korektní definice, protože |f(q)| - vzdálenost f(q) od počátečního stavu - je menší než |q| a g( q 0,x) je vždy definována.

94 DBI010 - DIS - MFF UK A-C algoritmus Konstrukce f dle |q|, tedy dle vzdálenosti stavu od počátku Pro q 0 není třeba funkci definovat Pro |q|=1 je nejdelší vlastní postfix prázdný, tedy f(q)=q 0 f(qx)=f(g(q,x)) =  (f(q),x) Při hledání hodnoty zpětné funkce ve stavu qx, do kterého se přechází z q znakem x, je nutné se vrátit do q, přejít do f(q) a poté vpřed přes znak x

95 DBI010 - DIS - MFF UK A-C algoritmus Příklad pro V={”he”,”her”,”she”}, funkce g

96 DBI010 - DIS - MFF UK A-C algoritmus Příklad pro V={”he”,”her”,”she”}, funkce f

97 DBI010 - DIS - MFF UK A-C algoritmus Detekce všech vzorků, včetně těch obsažených uvnitř jiných: –Buďto pro každý stav q předem sestrojíme seznam všech detekovaných vzorků průchodem seznamu stavů dosažitelných z q přes zpětnou funkci, tedy stavů f i (q), i>=0 –Nebo při vstupu do q projdeme seznam dosažitelných stavů během vyhledávání

98 DBI010 - DIS - MFF UK function delta(q:stavy; x: abeceda):stavy; begin {delta} while g[q,x] = fail do q := f[q]; delta := g[q,x]; end; {delta} begin {A-C} q := 0; for i := 1 to length(t) do begin q := delta(q,t[i]); vypis(q); {výpis vzorků končících znakem t[i]} end; {for} end; {A-C} A-C algoritmus – funkce delta

99 DBI010 - DIS - MFF UK KMP vs. A-C pro 1 vzorek Shodné algoritmy s rozdílným popisem j (~ porovnávaná pozice) P[1]=0 P[j]=k q j-1 (~ # porovnaných pozic) g(q 0,*)=q 0 f(q j-1 )=q k-1 a V bccbabcbbb 0 P

100 DBI010 - DIS - MFF UK Algoritmus Commentz-Walterové Protisměrné vyhledání více vzorků současně Kombinace B-M a A-C algoritmů Průměrná časová složitost (pro přirozené jazyky) o(m/min(n i )), kde m je délka textu n i je délka i-tého vzorku

101 DBI010 - DIS - MFF UK C-W algoritmus Text T Množina vzorků V={V 1, V 2, …, V k } Vyhledávací stroj S = (Q, X, q 0, g, f, F) –Q množina stavů –X abeceda –q 0  Q počáteční stav –g: Q x X  Q (go) dopředná funkce –f: Q  Q (fail) zpětná funkce –F  Q množina koncových stavů

102 DBI010 - DIS - MFF UK C-W algoritmus Stavy množiny Q reprezentují všechny postfixy všech vzorků Stav q 0 reprezentuje prázdný postfix g(q,x) = xq, pokud je xq  Q f(q) pro q<>q 0 je rovna nejdelšímu vlastnímu prefixu q v množině Q  |f(q)|<|q| Koncovými stavy jsou všechny hledané vzorky, tedy F=V

103 DBI010 - DIS - MFF UK C-W algoritmus Dopředná funkce she “e““he““she“ he r “r““er““her“

104 DBI010 - DIS - MFF UK C-W algoritmus Zpětná funkce she “e““he““she“ he r “r““er““her“

105 DBI010 - DIS - MFF UK C-W algoritmus LMIN = min(n i ) délka nejkratšího vzorku h(q) = |q| vzdálenost q od počátku char(x) nejmenší hloubka stavu do kterého se přechází přes x pred(q) předchozí stav stavu q, tj. ten, který reprezentuje o jedna kratší postfix Pokud g(q,x) nedef., posunou se vzorky o shift(q,x) pozic doprava a začne se stavem q 0 shift(q,x)=min( max( shift 1 (q,x), shift 2 (q) ), shift 3 (q) )

106 DBI010 - DIS - MFF UK C-W algoritmus shift 1 (q,x) = char(x)-h(q)-1, pokud > 0 shift 2 (q) = min({LMIN}  {h(q’)-h(q), f(q’)=q}) shift 3 (q 0 ) = LMIN shift 3 (q) = min({shift 3 (pred(q))}   {h(q’)-h(q),  k:f k (q’)=q  q’  F})

107 DBI010 - DIS - MFF UK C-W algoritmus shift 1 (q,x) – zarovnání kolizního znaku char(’y’)-h(’kolo’)-1=8-4-1=3 mkyolog......mkyolog lo k o o gol amozlok olovkoS arvtolok uizmánmy g loko o gol amozlok olovkoS arvtolok uizmánmy g

108 DBI010 - DIS - MFF UK C-W algoritmus shift 2 (q) – zarovnání zkontrolované části mkyolog......mkyolog loko o gol amozlok olovkoS arvtolok uizmánmy g lo k o o gol amozlok olovkoS arvtolok uizmánmy g

109 DBI010 - DIS - MFF UK C-W algoritmus shift 3 (q) – zarovnání (obecně postfixu) zkontrolované části bez nutnosti použít kolizní znak mkyolog......mkyolog loko o gol amozlok olovkoS arvtolok uizmánmy g lok o o gol amozlok olovkoS arvtolok uizmánmy g

110 DBI010 - DIS - MFF UK FS vs. BM vs. CW pro 1 vzorek Ne zcela shodné algoritmy –FS (+5) není horší než BM (+1) FS zarovnává kolizní znak spolu s prozkoumanou částí, BM jen kolizní znak –FS (+5) není horší než CW (+4) FS zarovnává kolizní znak spolu s prozkoumanou částí, CW jen jednu z nich –CW (+4) není horší než BM (+1) V BM je zarovnání dle kolizního znaku lépe definováno (využívá i pozici kolize), ale tato výhoda se oproti CW pro jeden vzorek neprosadí aab aacbaaba aab aacbaaba aab aacbaaba b c.b. bb bb bb

111 Přesné vyhledávání vzorků Hledání nekonečného počtu vzorků v textu Přednáška č. 3

112 DBI010 - DIS - MFF UK Regulární výrazy a jazyky Regulární výraz R Atomické výrazy –  –  –a, a  X Operace –U.V – zřetězení –U+V – sjednocení –V k = V.V…V –V * = V 0 +V 1 +V 2 +… –V + = V 1 +V 2 +V 3 +… Hodnota výrazu h(R) –  prázdný jazyk –{  } jen prázdné slovo –a, a  X –{u.v|u  h(U)  v  h(V)} –h(U)  h(V)

113 DBI010 - DIS - MFF UK Vlastnosti regulárních výrazů 1) U+(V+W) = (U+V)+W 2) U.(V.W) = (U.V).W 3) U+V = V+U 4) (U+V).W = (U.W)+(V.W) 5) U.(V+W) = (U.V)+(U.W) 6) U+U = U 7) .U = U 8) .U =  9) U+  = U 10) U * =  +U *.U = (  +U) *

114 DBI010 - DIS - MFF UK Konečný automat K = ( Q, X, q 0, , F ) –Q je množina stavů –X je vstupní abeceda –q 0  Q je počáteční stav –  : Q x X  Q je přechodová funkce –F  Q je množina koncových stavů.

115 DBI010 - DIS - MFF UK Konečný automat Konfigurace KA –(q,w)  Q x X * Přechod KA –relace  (Q x X * ) x (Q x X * ) –(q,aw) (q’,w)   (q,a) = q’ Automat přijímá slovo w (q 0, w) * (q,  ), q  F

116 DBI010 - DIS - MFF UK Nedeterministický konečný automat a) standardněK = ( Q, X, q 0, , F ) b) rozšířeníK = ( Q, X, S, , F ) –Q je množina stavů –X je vstupní abeceda –q 0  Q je počáteční stav S  Q je množina počátečních stavů –  : Q x X  P(Q) je přechodová funkce –F  Q je množina koncových stavů

117 DBI010 - DIS - MFF UK Nedeterministický konečný automat NKA pro{”he”, ”her”, ”she”} –S={1,4,8} –F={3,7,11} –S={1} –F={3,4,7} he her she * * * her he * s

118 DBI010 - DIS - MFF UK Převod NKA  DKA K=(Q, X, S, , F) K’=(Q’, X, q’ 0,  ‘, F‘) Q’ = P(Q) X q’ 0 = S  ‘( q’, x) =   (q, x), q  q’ F‘ = {q’  Q’  q’  F  }

119 DBI010 - DIS - MFF UK Převod NKA  DKA povolena množina poč. stavů Tabulkou, jen dosažitelné stavy přechody do stavu 1 neuvedeny he her she * * * e h h s he h s s r 6 s h s h s s h r

120 DBI010 - DIS - MFF UK Převod NKA  DKA pouze jeden poč. stav Tabulkou, jen dosažitelné stavy přechody do stavu 1 neuvedeny e h h s he h s s r 6 s h s h s s h r her he * s

121 DBI010 - DIS - MFF UK Derivace regulárního výrazu Pokud,, potom Např., pokud, potom

122 DBI010 - DIS - MFF UK Derivace regulárního výrazu

123 DBI010 - DIS - MFF UK Konstrukce KA pomocí derivace Derivace regulárního výrazu umožňuje přímou algoritmickou konstrukci DKA pro libovolný regulární výraz Dán regulární výraz V nad abecedou X Každý stav KA definuje množinu slov, které KA převedou ze stavu q do některého koncového stavu. Tedy stav je možné ztotožnit s regulárním výrazem definujícím tuto množinu –q 0 = V –  (q,x) = –F = {q  Q |  h(q)}

124 DBI010 - DIS - MFF UK Konstrukce KA pomocí derivace V= (0+1) *.01 nad abecedou X={0,1} q 0 = (0+1) *.01

125 DBI010 - DIS - MFF UK Konstrukce KA pomocí derivace V= (0+1) *.01 nad abecedou X={0,1} q 0 = (0+1) *.01 F = { (0+1) *.01+  } 0 B 0 0 C 1 A 1 1

126 DBI010 - DIS - MFF UK Dvojcestný KA se skokem Zobecnění všech vyhledávacích algoritmů K = (Q, X, q 0, , k, , F) –Q je množina stavů –X je vstupní abeceda –q 0  Q je počáteční stav –  : Q x X  Q x {-1,1,2,...,k} je přechodová funkce –k  N je maximální délka skoku –  je značka skoku –F  Q je množina koncových stavů

127 DBI010 - DIS - MFF UK Dvojcestný KA se skokem Konfigurace: –řetězec x 1 x 2...x i-1 qx i...x j-1  x j...x n z množiny X * QX *  X * Přechod –relace  (X * QX *  X * ) x (X * QX *  X * ) –x 1 x 2...x i-1 qx i...x j-1  x j...x n x 1 x 2...x i-2 q’x i-1...x j-1  x j...x n   (q, x i ) = (q’, -1) –x 1 x 2...x i-1 qx i...x j-1  x j...x n x 1 x 2...x i...x j...x t-1 q’  x t...x n   (q, x i ) = (q’, m), kde t=min(i+m,n+1) Příjem slova w –q 0  w * wf , f  F

128 DBI010 - DIS - MFF UK Dvojcestný KA se skokem Pokud se použijí pouze přechody tvaru  (q, x i ) = (q’,1) bude automat simulovat standardní nedeterministický konečný automat –Pozice skoku se drží neustále u čtecí hlavy –Automat postupně čte znaky zleva doprava

129 DBI010 - DIS - MFF UK 2CKAS simulující B-M algoritmus se vzorkem „ANANAS“ Výchozí konfigurace q 0  MEZI TROPICKÉ OVOCE … odpovídá umístění vzorku před text Nutno přidat přechod do alternativního výchozího stavu q  se skokem o délku vzorku  (q 0,x) = (q ,|ANANAS|) = (q ,+6) pro x  X M T EZI TROPIC A V NANAS KÉ...

130 DBI010 - DIS - MFF UK 2CKAS simulující B-M algoritmus se vzorkem „ANANAS“ Úvodním skokem automat přejde do konfigurace MEZI Tq   ROPICKÉ OVOCE …, která odpovídá startu B-M algoritmu  (q ,’A’) = (q ,+1) – zarovnání znaku ’A’  (q ,’N’) = (q ,+2) – zarovnání znaku ’N’  (q ,’S’) = (q 1,-1) – ověření prvního znaku zprava M T EZI TROPIC A V NANAS KÉ...

131 DBI010 - DIS - MFF UK 2CKAS simulující B-M algoritmus se vzorkem „ANANAS“ Celkově –k = 6 = |ANANAS| –Q = {q 0,q ,q 1,q 2,q 3,q 4,q 5,q 6 } –F = {q 6 } –– Ověřen poslední znak vzorku zprava. Nutno detekovat výskyt (q6) a zároveň posunout vzorek tak, aby se pod první znak zprava (tj. S) dostal nejbližší další stejný znak. Zde další S není, proto posun o +6 Kopie stavu q 

132 DBI010 - DIS - MFF UK Modely Úrovně modelů –Rozlišují (ne)přítomnost slov v dokumentech –Rozlišují frekvence výskytů slov –Rozlišují pozice výskytů slov v dokumentech

133 Modely DIS Boolský model

134 DBI010 - DIS - MFF UK Boolský model DIS 50-tá léta 20. stol. Automatizace postupů používaných v knihovnictví

135 DBI010 - DIS - MFF UK Boolský model DIS Databáze D obsahující n dokumentů –D={d 1, d 2, … d n } Dokumenty popisovány pomocí m termů –T ={t 1, t 2, … t m } –term t j = slovo nebo sousloví Reprezentace dokumentu pomocí množiny termů –Obsažených v dokumentu –Popisujících význam dokumentu –d 1  T

136 DBI010 - DIS - MFF UK Indexace Boolského DIS Přiřazení množiny termů, které jej popisují ke každému dokumentu –Členění indexačních technik dle způsobu vytváření Ruční –Nekonzistentní. Více indexátorů se nemusí shodnout na množině termů. Jeden indexátor může po určité době ohodnotit stejný dokument jinak. Automatická –Konzistentní, ale bez porozumění textu. –Členění indexačních technik dle volnosti výběru termů Řízená –Předem daná množina termů. Pouze se vyberou ty, vhodné pro dokument. Neřízená –Množina termů se mění s přibývajícími dokumenty.

137 DBI010 - DIS - MFF UK Indexace Tezaurus –Vnitřně strukturovaná množina termů Synonyma s preferovanými termy Hierarchie užších/širších termů Příbuzné termy... Stop-list –Nevýznamová slova

138 DBI010 - DIS - MFF UK Indexace Příliš obecná slova nejsou pro identifikaci dokumentů vhodná Příliš specifická slova také ne

139 DBI010 - DIS - MFF UK Boolský model DIS Dotaz je vyjádřený logickým výrazem –t a AND t b v dokumentu se vyskytují oba termy –t a OR t b v dokumentu se vyskytuje alespoň jeden z termů –NOT tv dokumentu se daný term nevyskytuje

140 DBI010 - DIS - MFF UK Boolský model DIS Dotazem tedy může být například: –‘vyhledávání’ AND ‘informace’ –‘kódování’ OR ‘dekódování’ –‘zpracování’ AND (‘dokument’ OR ‘text’) –‘počítač’ AND NOT ‘osobní’

141 DBI010 - DIS - MFF UK Boolský model DIS Víceslovné termy v dotazech –‘vyhledávání informace’ –‘kódování dat’ OR ‘dekódování dat’ –‘zpracování textu’ –‘počítač’ AND NOT ‘osobní počítač’

142 DBI010 - DIS - MFF UK Boolský model DIS Využití faktografických údajů (hodnot atributů) –‘databáze’ AND (autor = ‘Salton’) –‘zpracování textu’ AND (rok_vydání >= 1990)

143 DBI010 - DIS - MFF UK Boolský model DIS Zástupné znaky v termech –‘datab*’ AND ‘systém*’ zastupuje termy ‘databáze’, ‘databázový’, ‘systém’, ‘systémy’, a pod. –‘přenosn?’ AND ‘počítač*’ zastupuje termy ‘přenosný’, ‘přenosné’, ‘počítač’, ‘počítače’, ‘počítačový’ a pod.

144 DBI010 - DIS - MFF UK Organizace indexu Invertovaný seznam –Pro každý term seznam dokumentů ve kterých se vyskytuje t 1 =d 1,1,d 1,2,...,d 1,k1 t 2 =d 2,1,d 2,2,...,d 2,k2 t m =d m,1,d m,2,...,d m,km

145 DBI010 - DIS - MFF UK Organizace indexu Zpracování dokumentů na vstupu –vznikne posloupnost dvojic setříděná dle v uvedeném pořadí Setřídění dle term_id,dok_id a odstranění po sobě jdoucích duplicit

146 DBI010 - DIS - MFF UK Lemmatizace a disambiguace českého jazyka (ÚFAL) Odpovědným zástupcem nemůže být každý. Zákon by měl zajistit individualizaci odpovědnosti a zajištění odbornosti. … Odpovědným odpovědný_^(kdo_za_něc o_odpovídá) AAIS7----1A---- zástupcem zástupce NNMS7-----A---- nemůže moci_^(mít_ možnost_[něco_dělat]) VB -S---3P-NA--- být být Vf A---- každý každý A AIS1----1A---- … Číslo odstavce Číslo věty Lemma včetně významu Slovní druh (Adverb), … Slovo v dokumentu

147 DBI010 - DIS - MFF UK Proximitní omezení t 1 (m,n) t 2 –term t 2 se vyskytuje v textu nejdále m slov za t 1, nebo se t 1 vyskytuje nejdále n slov za t 2. t 1 sentence t 2 –termy se v dokumentu vyskytují ve stejné větě t 1 paragraph t 2 –termy se v dokumentu vyskytují ve stejném odstavci

148 DBI010 - DIS - MFF UK Proximitní omezení Nahrazení operátoru konjunkcí Vyhodnocení dotazu Ověření v primárním textu –Delší čas pro vyhodnocení –Nutnost uložení primárních dokumentů Doplnění indexu o pozice termů v dokumentech –Větší index

149 DBI010 - DIS - MFF UK Organizace indexu Zpracování dokumentů na vstupu –vznikne posloupnost pětic setříděná dle v uvedeném pořadí Setřídění –vznikne posloupnost pětic

150 DBI010 - DIS - MFF UK Využití tezauru BT(x) - Broader Term - Širší term k termu x NT(x) - Narrower Terms - Užší termíny PT(x) - Preferred Term - Preferovaný termín SYN(x) - SYNonyms -Synonyma k termu x RT(x) - Related Terms - Příbuzné termíny TT(x) - Top Term - Nejširší termín

151 DBI010 - DIS - MFF UK Nevýhody Boolského DIS Salton: –Formulace dotazů je spíše uměním než vědou. –Nemožnost ohodnotit vhodnost vystupujících dokumentů. –Všechny termy v dotazu i v identifikaci dokumentu jsou chápány jako stejně důležité. –Nemožnost řízení velikosti výstupu. –Některé výsledky neodpovídají intuitivní představě. V disjunktivním dotazu na výstupu dokumenty obsahující jediný z termů vedle dokumentů obsahujících všechny. V konjunktivním dotazu na výstupu nejsou dokumenty neobsahující žádný z termů ani dokumentů neobsahující jeden z nich.

152 DBI010 - DIS - MFF UK Částečné setřídění výstupu Q = (t 1 OR t 2 ) AND (t 2 OR t 3 ) AND t 4 –převedeme do DKNF Q’ =(t 1 AND t 2 AND t 3 AND t 4 ) OR(t 1 AND t 2 AND NOT t 3 AND t 4 ) OR(t 1 AND NOT t 2 AND t 3 AND t 4 ) OR(NOT t 1 AND t 2 AND t 3 AND t 4 ) OR(NOT t 1 AND t 2 AND NOT t 3 AND t 4 )

153 DBI010 - DIS - MFF UK Částečné setřídění výstupu Každá elementární konjunkce (dále EK) je ohodnocena číslem rovným počtu termů v kladném smyslu (bez NOT) Všechny EK se navzájem liší alespoň u jednoho termu  Každý dokument vyhovuje nejvýše jedné EK  Dokument lze ohodnotit číslem, přiřazeným odpovídající EK.

154 DBI010 - DIS - MFF UK Částečné setřídění výstupu Elementárních konjunkcí pro k použitých termů je 2 k Možných ohodnocení je jen k Proto může mít více EK stejné ohodnocení (t a OR t b ) = =(t a AND t b )… ohodnocení 2 OR (t a AND NOT t b ) … ohodnocení 1 OR (NOT t a AND t b ) … ohodnocení 1

155 DBI010 - DIS - MFF UK Přednáška č. 4 Vektorový model DIS 70-tá léta 20. stol. –cca o 20 let mladší než Boolské DIS Snaha minimalizovat nebo odstranit nevýhody Boolských DIS

156 DBI010 - DIS - MFF UK Vektorový model DIS Databáze D obsahující n dokumentů –D={d 1, d 2, … d n } Dokumenty popisovány pomocí m termů –T ={t 1, t 2, … t m } –term t j = slovo nebo sousloví Reprezentace dokumentu pomocí vektoru vah termů –

157 DBI010 - DIS - MFF UK Vektorový model DIS Model dokumentu – –w i,j … míra důležitosti j-tého termu pro identifikaci i-tého dokumentu Dotaz – – q j … míra důležitosti j-tého termu pro tazatele

158 DBI010 - DIS - MFF UK Index vektorového DIS

159 DBI010 - DIS - MFF UK Vektorový model DIS Podobnost mezi vektorem dotazu a vektorem dokumentu je dána funkcí

160 DBI010 - DIS - MFF UK Podobnostní funkce Příspěvek úměrný míře důležitosti termu pro tazatele a pro dokument Kolmé vektory mají nulovou podobnost –Vektory báze (jednotlivé termy) navzájem kolmé a tedy s nulovou podobností

161 DBI010 - DIS - MFF UK Podobnostní funkce Výslednou podobnost ovlivňuje velikost dotazu i velikost vektorů jednotlivých dokumentů Delší vektory (přiřazené obvykle delším dokumentům) jsou zvýhodněny Vhodné provádět normalizaci vektorů

162 DBI010 - DIS - MFF UK Normalizace vektorů Eliminace vlivu délky vektoru na podobnost

163 DBI010 - DIS - MFF UK Normalizace vektorů Během indexace –Nezatěžují vyhledávání –Někdy nutné dávkově přepočítat vektory v případě, že normalizace zahrnuje faktory závislé na celé množině vektorů Během vyhledávání –Součást definice podobnostní funkce –Zpomaluje odezvu

164 DBI010 - DIS - MFF UK Omezení velikosti výstupu Dokumenty na výstupu řazeny sestupně dle podobnosti –Nejpodobnější dokumenty na začátku –Možno omezit velikost výstupu a splnit snadno kritérium maxima Omezení max. počtu vrácených dokumentů Požadavek na minimální nutnou podobnost

165 DBI010 - DIS - MFF UK Negace ve vektorovém DIS Je možné uvažovat dotaz Potom může být příspěvek záporný Tak lze upřednostnit dokumenty, které daný term neobsahují

166 DBI010 - DIS - MFF UK Skalární součin

167 DBI010 - DIS - MFF UK Kosinová míra (Salton)

168 DBI010 - DIS - MFF UK Jaccardova míra

169 DBI010 - DIS - MFF UK Diceova míra

170 DBI010 - DIS - MFF UK Overlap míra

171 DBI010 - DIS - MFF UK Asymetrická míra

172 DBI010 - DIS - MFF UK Pseudo-kosinová míra

173 DBI010 - DIS - MFF UK Indexace ve vektorovém DIS Založena na počtu opakování slova v dokumentu –Čím častěji se slovo opakuje, tím je důležitější Frekvence termu (Term Frequency) TF i,j = #výskytů_termu / #všech_výskytů

174 DBI010 - DIS - MFF UK Indexace ve vektorovém DIS Bez stop-listu na začátku seznamu nevýznamová slova

175 DBI010 - DIS - MFF UK Indexace ve vektorovém DIS Frekvence termu jsou velmi malé i pro nejčastější termy Normalizovaná frekvence termu pro jinak

176 DBI010 - DIS - MFF UK Indexace ve vektorovém DIS Odlišení významných termů od nevýznamných

177 DBI010 - DIS - MFF UK Indexace ve vektorovém DIS ITF (Inverted TF) reprezentuje důležitost termu v pro indexaci v rámci celé kolekce dokumentů

178 DBI010 - DIS - MFF UK Indexace ve vektorovém DIS Normalizace vektoru dokumentu na jednotkovou velikost

179 DBI010 - DIS - MFF UK Dotazování Shodná reprezentace dokumentů a dotazů má řadu výhod Dotaz –Přímo zadáním vektoru dotazu –Odkazem na zaindexovaný dokument: –Odkazem na nezaindexovaný dokument indexační modul spočítá jednorázově vektor dotazu –Fragment textu (např. přes copy-paste) –Kombinace výše uvedených možností

180 DBI010 - DIS - MFF UK Zpětná vazba Podpora konstrukce dotazu na základě odezvy uživatele na předchozí odpovědi –Doplnění termů identifikujících relevantní dokumenty –Eliminace termů nepodstatných pro identifikaci relevantních dokumentů Zlepšení kritéria predikce

181 DBI010 - DIS - MFF UK Zpětná vazba Odpověď na předchozí dotaz je uživatelem rozdělena na relevantní a nerelevantní dokumenty

182 DBI010 - DIS - MFF UK Pozitivní zpětná vazba Relevantní dokumenty „přitahují“ dotaz směrem k sobě

183 DBI010 - DIS - MFF UK Negativní zpětná vazba Nerelevantní dokumenty „odtlačují“ dotaz směrem od sebe –Méně efektivní než pozitivní zpětná vazba –Relativně málo používaná

184 DBI010 - DIS - MFF UK Zpětná vazba Postupně se dotaz stěhuje směrem k centru relevantních dokumentů

185 DBI010 - DIS - MFF UK Zpětná vazba Obecný tvar Možný speciální tvar ... parametr metody (1-  ) / 

186 DBI010 - DIS - MFF UK Zpětná vazba Obecný tvar Obdoba s váhami (1-  ) / 

187 DBI010 - DIS - MFF UK Ekvivalence termů ve VDIS Jednotlivé termy navzájem nezávislé Problém predikce - - nevhodně zvolené termy

188 DBI010 - DIS - MFF UK Ekvivalence termů ve VDIS Matice ekvivalence

189 DBI010 - DIS - MFF UK Podobnost termů ve VDIS Zobecnění ekvivalence Matice podobnosti Možnost výpočtu podobnosti termů (dimenze vektorů je n, nikoli m) +Podobné termy –Obecné termy

190 DBI010 - DIS - MFF UK Hierarchie termů ve VDIS Obdobně jako v Boolském modelu Publikace TiskovinaKniha NovinyČasopis

191 DBI010 - DIS - MFF UK Hierarchie termů ve VDIS Obdobně jako v Boolském modelu Možnost ohodnotit hrany vahami Publikace TiskovinaKniha NovinyČasopis

192 DBI010 - DIS - MFF UK Citace a vektorový model Odborné publikace citují různý počet zdrojů Předpoklad: –Citované dokumenty jsou podobné –Citující dokumenty jsou podobné

193 DBI010 - DIS - MFF UK Citace a vektorový model Přímá reference mezi dokumenty „A“ a „B“ –Dokument „A“ cituje dokument „B“¨ –Označíme A  B Nepřímá reference mezi „A“ a „B“ –Ex. C 1, …C k tak, že A  C 1  …  C k  B Spojení mezi dokumenty „A“ a „B“ –A  B nebo B  A

194 DBI010 - DIS - MFF UK Citace a vektorový model A a B jsou bibliograficky párovány, pokud citují stejný zdroj C A  C  B  C A a B jsou v kocitačním vztahu, pokud jsou spolu citovány v dokumentu C C  A  C  B

195 DBI010 - DIS - MFF UK Citace a vektorový model Acyklický orientovaný graf citací Incidenční matice grafu citací C=[c ij ]  {0,1} c ij =1, pokud i  j c ij =0 jinak

196 DBI010 - DIS - MFF UK Citace a vektorový model BP matice bibliografického párování bp ij = počet dokumentů společně citovaných jak v i, tak v j. –Tedy bp ii = počet dokumentů citovaných v i

197 DBI010 - DIS - MFF UK Citace a vektorový model KP matice kocitačního párování kp ij = počet dokumentů společně citujících jak i, tak j. –Tedy kp ii = počet dokumentů citujících i

198 DBI010 - DIS - MFF UK Citace a vektorový model SP matice spojení sp ij = 1  (c ij = 1  c ji = 1) Pomocí matic KP, BP, SP lze modifikovat výsledné podobnosti dokumentů s dotazem Modifikace indexové matice D –D’= KP.D, resp. D’=BP.D, resp. D’=SP.D –D’=KP.BP.SP.D

199 DBI010 - DIS - MFF UK Využití podobnosti dokumentů při vyhodnocování dotazu DS matice podobnosti dokumentů ds ij = Podobné použití jako u matic DS, BP, SP Modifikace indexové matice D –D’=DS.D

200 DBI010 - DIS - MFF UK Přednáška č. 5 Rozlišovací hodnoty termů Rozlišovací hodnota (discrimination value) určuje míru důležitosti termu pro vzájemné rozlišení uložených dokumentů Odstraněním termu z indexu, tj. redukcí dimenze prostoru dokumentů může dojít: –ke vzájemnému přiblížení dokumentů –ke vzájemnému oddálení dokumentů v tom případě je dimenze zbytečná

201 DBI010 - DIS - MFF UK 35,3  45,0  0,0 

202 DBI010 - DIS - MFF UK Rozlišovací hodnoty termů Výpočet na základě průměrné podobnosti dokumentů Rychlejší varianta přes centrální dokument (centroid)

203 DBI010 - DIS - MFF UK Rozlišovací hodnoty termů Pro každou dimenzi k se spočítá průměrná podobnost v prostoru bez k-té dimenze

204 DBI010 - DIS - MFF UK Rozlišovací hodnoty termů Rozlišovací hodnotu definujeme jako rozdíl průměrných podobností Možno použít místo ITF k  0 Významný term rozlišující dokumenty DV k určuje míru významnosti  0 Nevýznamný term

205 DBI010 - DIS - MFF UK Rozlišovací hodnoty termů (průměrná hodnota DV termu v závislosti na počtu dokumentů, ve kterých se term vyskytuje) 180/ / /7777 Výsledky pro kolekci z článků z Lidových novin 1994, obsahující 7777 dokumentů a lemmat Kladná hodnota DV k pro lemmat s celkem výskyty. Záporná hodnota DV k pro 1170 lemmat s celkem výskyty. Počet dokumentů, ve kterých se term vyskytuje v rámci kolekce, obsahující celkem 7777 dokumentů

206 Shlukování dokumentů Kohonenovy mapy C 3 M algoritmus K-mean algoritmus

207 DBI010 - DIS - MFF UK Shlukování dokumentů Doba odezvy VDIS přímo úměrná počtu dokumentů, které je nutné porovnat s dotazem Shlukování dovoluje vynechat z porovnávání většinu indexu

208 DBI010 - DIS - MFF UK Shlukování dokumentů Bez shluků nutno porovnat s dotazem všechny dokumenty, i když je definována minimální požadovaná podobnost

209 DBI010 - DIS - MFF UK Shlukování dokumentů Každý shluk je obvykle ve tvaru m-rozměrné koule určené svým středem a poloměrem Pokud ne, je možné jej pro výpočty pomocí takové koule, která jej celý obsahuje, aproximovat

210 DBI010 - DIS - MFF UK Shlukování dokumentů Vyhodnocení dotazu nemusí porovnávat dokumenty ve shlucích ležících mimo oblast zájmu

211 DBI010 - DIS - MFF UK Typy shluků Shluky se stejnou velikostí +Snadné vytvoření –Některé shluky mohou být téměř prázdné, v jiných může být velké množství dokumentů

212 DBI010 - DIS - MFF UK Typy shluků Shluky s (přibližně) stejným počtem dokumentů –Nesnadné vytvoření +Efektivnější v případě nerovnoměrně rozložených dok.

213 DBI010 - DIS - MFF UK Typy shluků Nedisjunktní shluky Jeden dokument může být zařazen ve více shlucích

214 DBI010 - DIS - MFF UK Typy shluků Disjunktní shluky Dokument nemůže být ve více shlucích

215 DBI010 - DIS - MFF UK Typy shluků Obecně nelze prostor pokrýt disjunktními koulemi Je nutné uvažovat spíše konvexní mnohostěny, kde dokument přísluší nejbližšímu centru

216 DBI010 - DIS - MFF UK Typy shluků Aproximace pomocí koulí určených centrem shluku a vzdáleností nejvzdálenějšího dokumentu v něm

217 DBI010 - DIS - MFF UK Vyhodnocení dotazu se shluky I Dán dotaz q s minimální požadovanou podobností s –Pozn.: podobnost počítána skalárním součinem, vektory normalizované Index rozdělen na k shluků (c 1,r 1 ), …, (c k,r k ) –Pozn. poloměry jsou úhlové Poloměr dotazu r =  = arccos(s) s = cos(  ) r=  1  1

218 DBI010 - DIS - MFF UK Zjistí se, zda shluk má neprázdný průnik s oblastí, vymezenou dotazem na základě hodnoty arccos(Sim(q,c i ))-r-r i Pokud je hodnota  0, ohodnotí se dokumenty v něm Pokud je hodnota > 0, dokumenty v něm nemohou být ve výsledku Vyhodnocení dotazu se shluky I

219 DBI010 - DIS - MFF UK Vyhodnocení dotazu se shluky II Dán dotaz q s maximálním počtem požadovaných dokumentů x. Index opět rozdělen na k shluků (c 1,r 1 ), …, (c k,r k ) Není poloměr dotazu

220 DBI010 - DIS - MFF UK Vyhodnocení dotazu se shluky II Shluky se setřídí vzestupně podle rostoucí vzdálenosti centra shluku od dotazu, tedy dle hodnoty arccos(Sim(q,c i )) Lépe podle rostoucí vzdálenosti okraje shluku od dotazu, tedy dle hodnoty arccos(Sim(q,c i ))-r i

221 DBI010 - DIS - MFF UK Vyhodnocení dotazu se shluky II Shluky se setřídí vzestupně dle arccos(Sim(q,c i ))-r i tj. vzdálenosti okraje shluku od dotazu q x=

222 DBI010 - DIS - MFF UK Vyhodnocení dotazu se shluky II Nejbližší shluk se ohodnotí x=7

223 DBI010 - DIS - MFF UK Vyhodnocení dotazu se shluky II Dokud není dost dokumentů, ohodnotí se další nejbližší shluk Pokud je dost dokumentů, x-tý nejvzdálenější dokument určuje poloměr x=7

224 DBI010 - DIS - MFF UK Vyhodnocení dotazu se shluky II Jakmile je dost dokumentů, další nejbližší shluk se ohodnotí, jen pokud zasahuje do vytyčené oblasti Následně se poloměr zmenší, pokud dokumenty z nového shluku nahradily některé předchozí x=7

225 DBI010 - DIS - MFF UK Víceúrovňové shlukování Pokud je shluků hodně, je možné je dále shlukovat do shluků druhé a dalších úrovní.

226 DBI010 - DIS - MFF UK Shlukovací metody Kohonenovy mapy (SOM – self-organizing maps) –Používané pro kategorizaci vstupů i v neuronových sítích bez učitele –Samoorganizující se struktura –Přizpůsobuje se hustotě dokumentů v oblasti –Přibližně stejné počty dokumentů ve shlucích

227 DBI010 - DIS - MFF UK Kohonenovy mapy Základem jsou centrální m-rozměrné body uspořádané do k-rozměrné mřížky –Obvykle k << m Každé centrum má kromě své pozice v m-rozměrném prostoru definováno až 2k sousedů (krajní centra jich mají méně) –Př.: 2- a 1-rozměrné mřížky ve 2-rozměrném prostoru

228 DBI010 - DIS - MFF UK Kohonenovy mapy Na počátku mají centra náhodná umístění Při vložení dokumentu –najde se nejbližší centrum –posune se blíže k dokumentu –jeho bezprostřední sousedé v mřížce se posunou také

229 DBI010 - DIS - MFF UK Kohonenovy mapy Parametry 0      1 vyjadřují míru přizpůsobivosti systému. Vhodné je, aby oba parametry s časem klesaly k nule

230 DBI010 - DIS - MFF UK Kohonenovy mapy Mapa před adaptací na nový dokument

231 DBI010 - DIS - MFF UK Kohonenovy mapy Mapa po adaptaci na nový dokument

232 DBI010 - DIS - MFF UK Kohonenovy mapy Shluky jsou určeny centry mřížky. Do každého shluku patří body, které mají k danému centru blíže, než k jakémukoli jinému Blízké body v mapě jsou blízké i v původním prostoru (ale ne nutně naopak)

233 DBI010 - DIS - MFF UK Kohonenovy mapy

234 DBI010 - DIS - MFF UK Kohonenovy mapy Lze použít i pro shlukování termů/lemmat –matice indexu po sloupcích –místo m-rozměrného prostoru se tedy mapuje prostor n-rozměrný Příklad: –mřížka 15*15 center –7777 dokumentů (Lidové noviny 1994) –13495 lemmat – iterací učení náhodně vybraným vektorem lemmatu Vytvořené shluky lemmat C 2,4 burza, akcie, kupónový, cenný, papír, investor, objem, investiční, fond, hodnota, obchod C 2,5 vlna, privatizace, národní C 3,6 literární, spisovatel, literatura, nakladatelství, počátek, čtenář, dějiny, text, kniha, napsat C 3,13 Havel, Václav, prezident C 4,13 Klaus, premiér, ministr C 6,14 jeviště, komedie, filmový, scénář, publikum, festival, snímek, příběh, film, role

235 DBI010 - DIS - MFF UK Kohonenovy mapy 2D mapa lemmat (rozvinutá 2D mřížka z předchozího příkladu) ekonomika literatura sport politika

236 DBI010 - DIS - MFF UK Kohonenovy mapy Velikosti získaných shluků Zaplněnost shluků termy zde příliš rovnoměrně nevyšla, směrem k okrajům hustota klesá

237 DBI010 - DIS - MFF UK Kohonenovy mapy Shluk C 15,1 C 15,1 37, 41, 45, 46, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, Adamec, Babka, Baček, Balcárek, Baník, Baránek, Barát, Barbarič, Barbořík, Barcuch, Bečka, Bejbl, Beránek, Berger, Bielik, Bílek, Blažek, boční, Bohuněk, Borovec, Brabec, brána, Branca, brankový, Breda, brejk, Brückner, břevno, Březík, Budka, centr, Cieslar, Culek, Cupák, Čaloun, čára, Časka, čermák, Červenka, Čihák, čížek, Diepold, Dobš, dohrávat, Dostál, Dostálek, drnovický, Drulák, Duhan, Džubara, faul, fauloval, Frýdek, Fujdiar, Gabriel, Galásek, gólman, gólový, Gunda, Guzik, Harazim, Hašek, Havlíček, Heřman, hlavička, Hodúl, Hoftych, Hogen, Holec, Holeňák, Hollý, holomek, Holota, holub, Horňák, Horváth, hostující, hradecký, Hrbek, Hromádko, Hrotek, Hruška, Hřebík, hřídel, Hýravý, Hyský, chebský, chovanec, inkasovat, jablonecký, Janáček, Jančula, Janeček, Jánoš, Janota, Janoušek, Jarabinský, Jarolím, Jihočech, Jindra, Jindráček, jinoch, Jirka, Jirousek, Jukl, Kafka, Kamas, Kerbr, Kirschbaum, Klejch, Klhůfek, Klimeš, klokan, Klusáček, Knoflíček, Kobylka, Kocman, kočí, Koller, kolouch, koncovka, kop, kopačka, Kopřiva, Kordule, kostelník, Kotrba, Kotůlek, Kouba, Koubek, kovář, kozel, Kožlej, Kr(krypton), krejčí, Krejčík, Krištofík, Krondl, Křivánek, Kubánek, kuchař, Kukleta, Lasota, Lerch, Lexa, Lička, Litoš, Lokvenc, Ložek, Macháček, Machala, Maier, Majoroš, Maléř, Marek, Maroš, Mašek, Mašlej, Maurer, mela, míč, Mičega, Mičinec, Michálek, Mika, mina, mířit, Mojžíš, Mucha, nápor, nastřelit, Navrátil, Nečas, Nedvěd, Nesvačil, Nešický, Neumann, Novák, Novotný, Obajdin, olomoucký, Onderka, Ondráček, Ondrůšek, Palinek, Pařízek, Pavelka, Pavlík, Pěnička, Petrouš, Petržela, Petřík, pilný, plzeňský, Poborský, pokutový, poločas, poslat, Poštulka, Povišer, prázdný, Pražan, proměněný, protiútok, Průcha, předehrávka, přesný, převaha, Přibyl, přidat, přihrávka, ptáček, Puček, půle, Purkart, rada, Radolský, Rehák, roh, rohový, Rusnák, Řepka, samec, Sedláček, Schindler, Siegl, Sigma, síť, Skála, skórovat, slabý, Slezák, Slončík, Sokol, sólo, srazit, standardní, Stejskal, střídající, střílet, Studeník, Suchopárek, Svědík, Svoboda, šatna, Šebesta, šedivý, šestnáctka, šilhavý, Šimurka, šindelář, Šlachta, Šmarda, Šmejkal, Špak, Švach, Tejml, tesařík, Tibenský, tlak, Tobiáš, trefit, Trval, Tuma, tyč, Tymich, Uličný, Ulich, Ulrich, uniknout, Urban, Urbánek, útočný, úvod, Vacek, Vaďura, Vágner, Vácha, Valachovič, valnoha, Váňa, Vaněček, Vaniak, vápno, Vávra, vejprava, veselý, Vidumský, Víger, Viktoria, vlček, volej, Vonášek, Vosyka, Votava, vrabec, vyloučený, vyložený, Výravský, vyrazit, vyrovnání, Vyskočil, vystrašit, Wagner, Weber, Wohlgemuth, zachránit, zákostelský, zákrok, Západočech, zlikvidovat, zlínský, Zúbek, žižkovský, ŽK (žlutá karta)

238 DBI010 - DIS - MFF UK Přednáška č. 6 Shlukování metodou C 3 M Cover Coefficient-based Clustering Methodology Založen na tzv. koeficientech pokrytí

239 DBI010 - DIS - MFF UK Shlukování metodou C 3 M Pro indexační matici se nejprve spočtou inverzní hodnoty řádkových a sloupcových součtů

240 DBI010 - DIS - MFF UK Shlukování metodou C 3 M Inverzní řádkové součty Inverzní sloupcové součty Předpoklad: –Každý dokument indexován alespoň jedním termem –Každý term použit k indexaci alespoň jednoho dokumentu

241 DBI010 - DIS - MFF UK Shlukování metodou C 3 M Číslo vyjadřuje význam j-tého termu v i-tém dokumentu –Jak je pravděpodobné, pokud náhodně ukáži do i-tého dokumentu, že najdu právě j-tý term? Číslo vyjadřuje význam i-tého dokumentu pro j-tý term –Jak je pravděpodobné, pokud náhodně ukáži na výskyt j-tého termu v kolekci dokumentů, že to bude právě v i-tém dokumentu?

242 DBI010 - DIS - MFF UK Shlukování metodou C 3 M Poté spočteme matici C koeficientů pokrytí Pravděpodobnost toho, že poté, co náhodně vyberu výskyt slova v i-tém dokumentu, a následně náhodný výskyt stejného slova v celé kolekci, bude tento vybraný výskyt právě z j-tého dokumentu

243 DBI010 - DIS - MFF UK Shlukování metodou C 3 M Poté spočteme matici C koeficientů pokrytí Pokud i-tý dokument obsahuje výlučnou sadu jinde se nevyskytujících termů, bude c ii =1, tj. jeho termy zcela pokrývají termy i-tého dok. c ij =0 iff i<>j, tj. jeho termy nepokrývají žádné jiné dok.

244 DBI010 - DIS - MFF UK Shlukování metodou C 3 M 1) Rozepsat dle definice Vytknout  i Prohodit pořadí součtů Vytknout w i,k  k =1

245 DBI010 - DIS - MFF UK Shlukování metodou C 3 M 2) - zřejmé 3) - plyne z 1) a 2) 4) 5) - plyne z 2) a 4) 6)

246 DBI010 - DIS - MFF UK Shlukování metodou C 3 M Koeficient pokrytí c ij udává, nakolik termy jednoho dokumentu pokrývají termy ostatních dokumentů Pokud dokument špatně pokrývá ostatní, je hodnota c ii blízká hodnotě 1 Pokud dokument naopak dobře pokrývá ostatní, je hodnota c ii blízká hodnotě 0

247 DBI010 - DIS - MFF UK Shlukování metodou C 3 M Decoupling coefficient Coupling coefficient Počet požadovaných shluků „Síla“ dokumentu být centrem shluku

248 DBI010 - DIS - MFF UK Shlukování metodou C 3 M normalizovaný výpočet, kde

249 DBI010 - DIS - MFF UK Shlukování metodou C 3 M Jako centra shluků se vezme prvních n c dokumentů s nejvyšší hodnotou p i Dokumenty příliš nepodobné je lépe vynechat, zařadit je do speciálního „odpadkového“ shluku (ten se vždy porovnává s každým dotazem), a snížit n c Z podobných dokumentů (porovnáním c ii, c ij, c jj a c ji ) je potřeba vzít jen první dokument a ostatní přeskočit Dokumenty se přiřadí nejbližšímu centru

250 DBI010 - DIS - MFF UK

251 Shlukování metodou C3M Koeficienty pokrytí

252 DBI010 - DIS - MFF UK Shlukování metodou C3M Koeficienty , , a p

253 DBI010 - DIS - MFF UK Shlukování metodou C3M Po výběru 8. dokumentu za centrum shluku nelze vybrat 6.,7. a 9., jsou podobné

254 DBI010 - DIS - MFF UK

255 Shlukování C 2 ICM Cover Coefficient-based Incremental Clustering Methodology –INSERT: přiřazení do nejbližšího, resp. odpadkového shluku –DELETE: při mazání centra shluku se shluk označí jako neplatný –REORGANIZE: Nově se určí centra, Shluky, jejichž centrum nebylo znovu vybráno, se zneplatní Dokumenty z neplatných shluků se znovu přiřadí –Nepostihuje fakt, že některé dokumenty ze zachovaných shluků měly být přeřazeny, protože nová centra mohou být blíže

256 DBI010 - DIS - MFF UK Shlukování pomocí sférického k-mean algoritmu Dhillon, I., S.; Modha, D., S. Vektorový index Rozdělen na k disjunktních množin dokumentů Pro každou množinu  j je definován –průměrný dokument –centroid s jednotkovou délkou d1d1 d2d2 m c

257 DBI010 - DIS - MFF UK Shlukování pomocí sférického k-mean algoritmu Hodnotu můžeme považovat za míru kvality shluku (čím vyšší vzájemná podobnost, tím lépe) Hodnota představuje míru kvality celého rozdělení Pozn.: místo euklidovského k-mean algoritmu, minimalizujícího

258 DBI010 - DIS - MFF UK Shlukování pomocí sférického k-mean algoritmu Hledáme rozdělení s maximální hodnotou Zřejmě protože (vektory jsou normalizovány) Obecně NP-úplný problém –Iterativní algoritmus konvergující k lokálnímu maximu

259 DBI010 - DIS - MFF UK Sférický k-mean algoritmus Inicializace (0-tá iterace) –Dokumenty se náhodně zařadí do k shluků (zde k=3) –Spočtou se polohy center (průměry)

260 DBI010 - DIS - MFF UK Sférický k-mean algoritmus Krok iterace t  t+1 –Dokumenty se přiřadí k nejbližšímu centru z minulé iterace –Spočtou se nové polohy center

261 DBI010 - DIS - MFF UK Sférický k-mean algoritmus Iterace se opakují do té doby, dokud nárůst hodnotící funkce neklesne pod stanovenou mez Tedy dokud

262 DBI010 - DIS - MFF UK Sférický k-mean algoritmus Totéž pro k=5

263 DBI010 - DIS - MFF UK Sférický k-mean algoritmus Ohodnocovací funkce je neklesající Cauchyova-Schwartzova nerovnost tedy: centroid množiny má nejvyšší průměrnou podobnost ke všem dokumentům v množině

264 DBI010 - DIS - MFF UK Chceme, ukázat, že platí uvedená nerovnost, tedy že iterace konvergují (rostoucí, shora omezená posloupnost) ??

265 DBI010 - DIS - MFF UK Podobnosti se sečtou přes oblasti dané průnikem oblastí z předchozí a následující iterace Sčítá se stále přes podobnosti k původním centrům, takže se součet nezmění

266 DBI010 - DIS - MFF UK Místo původního centra spočteme podobnost k nejbližšímu centru předchozí iterace Protože to není dále než centrum původní, podobnost neklesne

267 DBI010 - DIS - MFF UK Cauch.-Schwartz. nerovnost: –součet podobností skupiny dokumentů vzhledem k libovolnému jednotkovému vektoru není větší než součet podobností vzhledem k centroidu skupiny

268 DBI010 - DIS - MFF UK Přiřazení dok. V t+1ní iteraci: Cauch.-Schwartz. nerovnost: Celkem dostaneme posloupnost nerovností

269 DBI010 - DIS - MFF UK Příklad sfér. k-mean algoritmu Kombinace dokumentů tří databází –MEDLIN: 1033 abstraktů, medicínské časopisy –CISI: 1460 abstraktů, vyhledávání informací –CRANFIELD: 1400 abstraktů, letectví Matice incidence pro tři spočtené shluky

270 DBI010 - DIS - MFF UK Příklad sfér. k-mean algoritmu Rozložení podobností dok. stejných shluků

271 DBI010 - DIS - MFF UK Příklad sfér. k-mean algoritmu Rozložení podobností dok. různých shluků Shluky navzájem (téměř) kolmé

272 DBI010 - DIS - MFF UK Charakterizace shluků Vzájemná kolmost shluků získaných k-mean algoritmem znamená, že termy důležité pro identifikaci jednoho centra jsou (téměř) nezajímavé pro identifikaci ostatních center Jednotlivá centra lze považovat za prototyp obsahu dokumentů v něm – koncept

273 DBI010 - DIS - MFF UK Značkování shluků Pro k-tici shluků dokumentů definujeme k-tici shluků termů Do i-tého shluku patří ty termy, které mají v i-tém konceptu větší váhu, než v ostatních Termy se uspořádají v rámci shluků termů Shluky termů se uspořádají za sebe v libovolném pořadí Každý shluk dokumentů se označí nejvýraznějšími termy v odpovídajícím shluku termů

274 DBI010 - DIS - MFF UK

275 Hierarchické shlukování Buďto opakování postupu, produkujícího ploché shluky na centar shluků předchozí úrovně, nebo postupné vytváření do splnění ukončovací podmínky (typicky dosažení požadovaného počtu shluků Aglomerativní metody –Postupné spojování nejpodobnějších menších shluků Rozdělovací metody –Postupné rozdělování největších shluků

276 DBI010 - DIS - MFF UK Hierarchické shlukování Různé definice podobnosti shluků generují různé výsledky –Metoda nejbližšího souseda Podobnost shluků = = maximální podobnost dvojice dokumentů –Metoda nejvzdálenějšího souseda Podobnost shluků = = minimální podobnost dvojice dokumentů –Průměrová metoda Podobnost shluků = = průměrná podobnost dvojic

277 DBI010 - DIS - MFF UK d1d2d3d4d5d6d7d8d9d10 Aritmetika basketbal C chyba cyklus dědičnost hardware hráč java jazyk koš míč pivot platforma počítač procedura rychlost server software sport síť trojka Výkonnost

278 DBI010 - DIS - MFF UK Hierarchické shlukování Výsledek pro aglomerativní hierarchické shlukování s použitím průměrové metody

279 DBI010 - DIS - MFF UK Hierarchické shlukování Vzniklá hierarchie je binární (obecně k-ární) Vhodnější je však obecná hierarchie, lépe odrážející podobnosti mezi shluky Nalezení optimálního počtu potomků pro kořenový shluk, následně rekurzivní sestup –Sleduje se změna kvality vytvořených shluků pro rostoucí počet potomků Řez v místě největšího nárůstu chyby Řez v místě největšího poměru rozdílů chyby Řez v místě největší druhé derivace

280 DBI010 - DIS - MFF UK Hierarchické shlukování Pro řez v místě největšího nárůstu chyby vychází dělení d 7, d 8 d 9 d 10 d 1, d 2, d 3, d 4, d 5, d 6 d 7, d 8, d 9, d 10 d 1 d 2 d 3 d 4 d 5 d 6 d 1, d 2, d 3, d 4, d 5, d 6, d 7, d 8, d 9, d 10 d 7 d 8

281 DBI010 - DIS - MFF UK Obecné značkování shluků Usnadňuje uživateli navigaci mezi shluky Realizováno: –množinou termů –množinou (víceslovných) frází Termy by měly být pro shluk –Deskriptivní ( popisovat dobře obsah dokumentů ) –Diskriminační ( odlišovat dobře obsah shluku od jiných )

282 DBI010 - DIS - MFF UK Obecné značkování shluků Modifikovaný informační zisk ( Modified Information Gain ) termu t ve shluku X, kde

283 DBI010 - DIS - MFF UK Obecné značkování shluků Př: |C 1 |=8, C 1 (6*t 1,2*t 2 ), |C 2 |=12, C 2 (1*t 1,11*t 3 ) –P(C 1 )=P(  C 2 )=8/20=0.4P(t 1,C 1 )=8/20*6/8=6/20=0.3 –P(C 2 )=P(  C 1 )=12/20=0.6P(t 1,C 2 )=12/20*1/12=1/20=0.05 –P(t 1 )=7/20=0.35, P(  t 1 )=13/20=0.65P(  t 1,  C 1 )=12/20*11/12=11/20=0.55 –P(t 2 )=2/20=0.1, P(  t 2 )=18/20=0.9P(  t 1,  C 2 )=8/20*2/8=2/20=0.1 –P(t 3 )=11/20=0.55, P(  t 3 )=9/20=0.45 IG m (t 1,C 1 )=P(t 1,C 1 )*log(P(t 1,C 1 )/(P(t 1 )*P(C 1 )) +P(  t 1,  C 1 )*log(P(  t 1,  C 1 )/(P(  t 1 )*P(  C 1 )) =0.3*log(0.3/(0.35*0.4))+0.55*log(0.55/(0.65*0.6))=+0.6 IG m (t 1,C 2 )=P(t 1,C 2 )*log(P(t 1,C 2 )/(P(t 1 )*P(C 2 )) +P(  t 1,  C 2 )*log(P(  t 1,  C 2 )/(P(  t 1 )*P(  C 2 )) =0.005*log(0.005/(0.35*0.6))+0.1*log(0.1/(0.65*0.4))= Pokud P(t,X)=P(t)*P(X) a P(  t,  X)=P(  t)*P(  X), je IG m =0

284 DBI010 - DIS - MFF UK Obecné značkování shluků Vybereme termy s nejvyšším IGm Sloučíme shluky stejné úrovně se shodným označkováním

285 Modely DIS založené na VDIS Induktivní model Sémantické sítě

286 DBI010 - DIS - MFF UK Induktivní IS Modifikace vektorového modelu Podobná dvojvrstvé neuronové síti. –Spodní (vstupní) vrstva obsahuje m uzlů reprezentujících termy t 1, …, t m –Horní (výstupní) vrstva obsahuje n uzlů reprezentujících dokumenty d 1, …, d n –Termy t j jsou spojeny s dokumenty d i orientovanými hranami, ohodnocenými vahami w i,j

287 DBI010 - DIS - MFF UK Induktivní IS Potud shodné s vektorovým DIS d1d1 d2d2 d3d3 dndn t1t1 t2t2 t3t3 tmtm W 1,1 W 1,3 t4t4 d4d4 d5d5

288 DBI010 - DIS - MFF UK Induktivní IS Navíc obrácené hrany s vahou x i,j Obvykle x i,j = w i,j, obecně různé d1d1 d2d2 d3d3 dndn t1t1 t2t2 t3t3 tmtm W 1,1 W 1,3 x 2,5 t4t4 d4d4 d5d5 x 4,5

289 DBI010 - DIS - MFF UK Induktivní IS Dotaz q určuje počáteční hodnoty vstupních uzlů. Inicializace Dopředný krok Zpětný krok

290 DBI010 - DIS - MFF UK Induktivní IS Hodnoty v dotazu inicializují dolní vrstvu termů t1t1 t2t2 t3t3 tmtm t4t4

291 DBI010 - DIS - MFF UK Dopředný krok spočítá podobnosti dokumentů s dotazem Induktivní IS d1d1 d2d2 d3d3 dndn t1t1 t2t2 t3t3 tmtm t4t4 d4d4 d5d5

292 DBI010 - DIS - MFF UK Zpětný krok aktivuje další termy, které v původním dotazu nebyly, ale jsou důležité v dokumentech podobných původnímu dotazu Induktivní IS d1d1 d2d2 d3d3 dndn t1t1 t2t2 t3t3 tmtm t4t4 d4d4 d5d5

293 DBI010 - DIS - MFF UK Dopředný krok aktivuje další dokumenty... Induktivní IS d1d1 d2d2 d3d3 dndn t1t1 t2t2 t3t3 tmtm t4t4 d4d4 d5d5

294 DBI010 - DIS - MFF UK Induktivní IS Během iterací narůstá celkový součet hodnot na uzlech vrstvy Dopředný krok: –Sloupcový součet matice indexu je pro dostatečný počet dokumentů větší než 1  Každá hodnota v dolní vrstvě přispěje do horní vrstvy větší hodnotou, než je její velikost

295 DBI010 - DIS - MFF UK Induktivní IS Během iterací narůstá celkový součet hodnot na uzlech vrstvy Zpětný krok: –Řádkový součet matice normalizovaného indexu je vždy větší než 1  Každá hodnota v horní vrstvě přispěje do dolní vrstvy větší hodnotou, než je její velikost

296 DBI010 - DIS - MFF UK Induktivní IS Řešením tzv. laterální inhibice Dokumenty pospojovány navzájem hranami Každá ohodnocena vahou l i,j, určující nakolik j-tý dokument potlačuje i-tý dokument Před zpětný krok se doplní inhibiční krok pro i  j

297 DBI010 - DIS - MFF UK Buďto n 2 nezávislých koeficientů Nebo pro každé j jeden koeficient Nebo jediný koeficient pro všechny váhy Induktivní IS d1d1 d2d2 d3d3 dndn t1t1 t2t2 t3t3 tmtm t4t4 d4d4 d5d5

298 DBI010 - DIS - MFF UK Induktivní IS Dopředný krok Zpětný krok (bez lat. inhibice, x  w) Tedy spec. případ zpětné vazby pro

299 DBI010 - DIS - MFF UK Sémantické sítě a spreading Sémantická síť –Zobecnění tezauru O vztahy mezi dokumenty O vztahy mezi dokumenty a termy Obecný orientovaný graf –Vrcholy odpovídají termům a dokumentům –Ohodnocené orientované hrany odpovídají vztahům

300 DBI010 - DIS - MFF UK Sémantické sítě a spreading Vztahy term  term –Synonyma –Širší-užší termy –Příbuzné termy –... Vztahy term  dokument –Důležitost termu pro identifikaci dokumentu –... Vztahy dokument  dokument –Citace –...

301 DBI010 - DIS - MFF UK Sémantická sít dokument(y) term(y) Obdobné dokumenty Citace VztahKomponentaŠirší/užší Synonyma Přiřazení termu k dokumentu

302 DBI010 - DIS - MFF UK Spreading Dotaz Inicializace Přírůstek hodnoty uzlu u j způsobený uzlem u i během iterace Celkově

303 Modely vycházející z boolského modelu Fuzzy model MMM model Paice model P-norm model

304 DBI010 - DIS - MFF UK Rozšíření boolského modelu Oproti klasickému boolskému modelu –Dovolují vážené dotazy Informační(0,7) AND Systém(0,3) Chov(0,9) AND (Psů(0,6) OR Koček(0,4)) –Dovolují využít vektorový index Umožňují uspořádat výstup dle očekávané relevance

305 DBI010 - DIS - MFF UK Fuzzy logika Dokument Dotaz Podobnost

306 DBI010 - DIS - MFF UK Fuzzy logika Dokumenty se stejnou podobností vůči nevážené konjunkci jsou značeny modře Dokumenty se stejnou podobností vůči nevážené disjunkci jsou značeny zeleně

307 DBI010 - DIS - MFF UK Fuzzy logika Př.:

308 DBI010 - DIS - MFF UK MMM (Min-Max Model) Lineární kombinace minima a maxima k MinAnd >k MaxAnd, k MinOr

309 DBI010 - DIS - MFF UK MMM (Min-Max Model) Dokumenty se stejnou podobností vůči nevážené konjunkci jsou značeny modře Dokumenty se stejnou podobností vůči nevážené disjunkci jsou značeny zeleně k=0,75

310 DBI010 - DIS - MFF UK MMM (Min-Max Model) Př.:

311 DBI010 - DIS - MFF UK Paice Model Započítání všech použitých termů důležitost klesá geometrickou řadou, kde Pro konjunkci jsou hodnoty uspořádány vzestupně Pro disjunkci sestupně

312 DBI010 - DIS - MFF UK Paice Model Př.:

313 DBI010 - DIS - MFF UK Rozšířená Boolská logika P-norm Model Podobnosti se odvozují od vzdálenosti dokumentu (měřeno p-normou) od nulového dokumentu d F = v případě disjunkce, resp. od jedničkového dokumentu d T = v případě konjunkce

314 DBI010 - DIS - MFF UK Rozšířená Boolská logika P-norm Model Varianta bez vážení dotazu

315 DBI010 - DIS - MFF UK Rozšířená Boolská logika P-norm Model Bez vážení, k termů v dotazu

316 DBI010 - DIS - MFF UK Rozšířená Boolská logika P-norm Model S vážením, k termů v dotazu

317 DBI010 - DIS - MFF UK Rozšířená Boolská logika P-norm Model Pro p  se model blíží klasickému boolskému modelu Pro p=1 se jedná o vektorový model Pro p=2 se udávají lepší výsledky, než u vektorového modelu

318 DBI010 - DIS - MFF UK Rozšířená Boolská logika Dokumenty se stejnou podobností vůči nevážené konjunkci jsou značeny modře Dokumenty se stejnou podobností vůči nevážené disjunkci jsou značeny zeleně p=2

319 Odstranění závislosti indexačních termů Síť konceptů v boolském modelu, Singular Value Decomposition – SVD ve vektorovém modelu

320 DBI010 - DIS - MFF UK Síť konceptů v boolském modelu Vyžaduje boolský DIS s tezaurem Místo s jednotlivými termy (které na sobě mohou být závislé) pracuje s takzvanými koncepty, které jsou již navzájem nezávislé

321 DBI010 - DIS - MFF UK Síť konceptů v boolském modelu Synonyma –Všechny ekvivalentní termy (množina synonym) tvoří jediný koncept (téma) Např. „Domácí počítač“  „Osobní počítač“ –Dokumenty používající libovolný z obou termů jsou považovány za dokumenty hovořící o stejném konceptu (tématu) –Existují tedy pouze 2 1 =2 rozdílné třídy dokumentů místo čtyř v klasickém modelu xyxy

322 DBI010 - DIS - MFF UK Síť konceptů v boolském modelu Podobné termy (ve vzájemném vztahu) –Dvojice podobných termů definují tři (čtyři) nezávislé koncepty Např. „Informační systém“  „Informatika“ –Dokumenty mohou nezávisle vypovídat o „Informačním systému“ (ale ne o „Informatice“) o „Informatice“ (ale ne o „Informačním systému“) o tématu daném průnikem obou významů –Existuje tedy celkem 2 3 =8 rozdílných tříd dokumentů místo čtyř v klasickém modelu x y

323 DBI010 - DIS - MFF UK Síť konceptů v boolském modelu Širší term – užší term –Dvojice termů v tomto vztahu definují dva (tři) nezávislé koncepty Např. „Počítač“ > „Osobní počítač“ –Dokumenty mohou nezávisle vypovídat o „Počítači“ (ale ne o „Osobním počítači“), např. o mainframe o „Osobním počítači“ (a tím zároveň o „Počítači“) –Existují tedy celkem 2 2 =4 rozdílné třídy dokumentů, odlišných od klasického modelu x y

324 DBI010 - DIS - MFF UK Síť konceptů Tezaurus: Synonyma/Vztahy/Užší-širší termy

325 DBI010 - DIS - MFF UK Síť konceptů Odpovídající síť atomických konceptů (témat) X hardware počítač domácí počítač osobní počítač data informační systém informatika bibliografická informatika výběr informace tzv. doplňkový koncept, zahrnuje „vše ostatní“ spol. význam „bibl. inf.“ a „výběr informace“

326 DBI010 - DIS - MFF UK Síť konceptů V tezauru 9 termů, tj. potenciálně 2 9 = 512 různých tříd dokumentů Ve skutečnosti 12 různých navzájem nezávislých atomických konceptů (dvanáctý reprezentuje jakékoli jiné téma, nezastoupené termy tezauru), tj. celkem 2 12 = 4096 různých tříd dokumentů Každý atomický koncept reprezentován konjunkcí všech termů v kladném nebo záporném smyslu podle toho, zda leží uvnitř či vně odpovídající množiny –Např. reprezentuje: „informatika“ and „bibliografická informatika“ and „výběr informace“ and not „hardware“ and not „počítač“ and not „domácí počítač“ and not „informační systém“ and not „data“ and not „vše ostatní“ X

327 DBI010 - DIS - MFF UK Konstrukce sítě konceptů Každé skupině synonym se přiřadí jeden atomický koncept

328 DBI010 - DIS - MFF UK Konstrukce sítě konceptů Doplní se koncepty odpovídající dvojicím vztažených termů X

329 DBI010 - DIS - MFF UK Konstrukce sítě konceptů Průchodem tezauru odspoda nahoru se do sloupců širších termů doplní jedničky ze sloupců užších termů X

330 DBI010 - DIS - MFF UK Konstrukce sítě konceptů Doplní se nulový (doplňkový) atomický koncept X

331 DBI010 - DIS - MFF UK Síť konceptů Dotaz –Nevážená disjunkce termů ‘informatika’ OR ‘výběr informace’ OR ‘data’ –Vážená disjunkce termů (‘informatika’ ; 0.5) OR (‘výběr informace’ ; 1.0) OR (‘data’ ; 0.4)

332 DBI010 - DIS - MFF UK Síť konceptů Nevážená disjunkce termů se převede pomocí disjunkce odpovídajících sloupců na sloupcový vektor konceptů Dokument se převede stejně ‘informatika’ OR ‘výběr informace’ OR ‘data’  (1,1,0,0,0,1,0,1,1,1,1,0)

333 DBI010 - DIS - MFF UK Síť konceptů Vektory dotazu a dokumentu se porovnají standardně skalárním součinem Dotaz „informatika“ OR „výběr informace“ OR „data“ (1,1,0,0,0,1,0,1,1,1,1,0) Dokument „Informační systém“ (0,1,0,0,1,0,0,1,1,1,1,0) Podobnost 5, zatímco v případě vyhodnocení přes termy je podobnost nulová

334 DBI010 - DIS - MFF UK Síť konceptů Vážená disjunkce termů se převede na vektor vah konceptů vzhledem k dotazu Dotaz Term Váha konceptu vzhledem k dotazu

335 DBI010 - DIS - MFF UK Síť konceptů Dotaz (‘informatika’ ; 0.5) OR (‘výběr informace’ ; 1.0) OR (‘data’ ; 0.4) 1/41/4 1/21/2 1/21/2  0.5*1/4  0.4*1/  0  0.5*1/4  0  1.0*1/2  0.4*1/2  0.5*1/4  0

336 Odstranění závislosti indexačních termů, Redukce dimenzionality indexu Singular Value Decomposition - SVD Latent Semantic Indexing - LSI

337 DBI010 - DIS - MFF UK Latent Semantic Indexing - LSI Obdobně jako u konceptů v boolském modelu se LSI snaží nalézt navzájem nezávislé koncepty – témata, přes které je možné indexovat dokumenty namísto závislých termů. Nepoužívá tezaurus. Odvozuje tzv. latentně sémantické závislosti termů přímo z indexu vektorového modelu.

338 DBI010 - DIS - MFF UK Latent Semantic Indexing - LSI 3 dokumenty ve 3D prostoru Hodnost matice = 2

339 DBI010 - DIS - MFF UK Singular Value Decomposition Každá matice A o rozměrech mxn hodnosti r, (např. matice A=D T, t.j. řádky  termy), lze rozložit na součin D T =USV T, kde –U  R mxr sloupcově ortonormální Tvoří tedy bázi v prostoru termů s dimenzí odpovídající skutečné hodnosti matice –S  R rxr diagonální regulární matice –V  R nxr řádkově ortonormální Tvoří tedy bázi v prostoru dokumentů s dimenzí odpovídající skutečné hodnosti matice

340 DBI010 - DIS - MFF UK Singular Value Decomposition Levé singulární vektory u 1, u 2,..., u r –Vlastní vektory matice A.A T =D T.D Singulární hodnoty  1   2 ...   r > 0 –Odmocniny absolutních hodnot vlastních čísel matic A.A T, resp. A T.A Pravé singulární vektory v 1, v 2,..., v r –Vlastní vektory matice A T.A=D.D T 11 rr SUVTVT u1u1 urur v1v1 vrvr

341 DBI010 - DIS - MFF UK Singular Value Decomposition Geometricky –Matice D T =USV T promítá jednotkovou kouli dimenze m na elipsoid dimenze r s osami ve směru sloupců matice U –Délkami poloos jsou hodnoty  1,  2, …,  r –Pravé singulární vektory se promítají na vektory rovnoběžné s osami

342 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) LSI zohledňuje vzájemné závislosti termů pomocí SVD rozkladu matice indexu +Spolu se vyskytující (ekvivalentní) termy se promítají do společné dimenze +Dovoluje navíc další redukci aproximací matice +Další zmenšení prostoru pro uložení indexu +Dokumenty používající podobné termy mohou být velmi podobné, i když neobsahují žádné společné termy

343 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Reprezentuje dokumenty a dotazy v prostoru s dimenzí rovnou hodnosti původní indexační matice Dimenze odpovídají levým singulárním vektorům SVD rozkladu

344 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Je možné využít rovněž aproximaci matice indexu D pomocí matice s určenou nižší hodností k

345 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Elipsoid je snížením hodnoty k o jedna zploštěn ve směru nejkratší osy U k S k V k T je navíc nejlepší aproximace matice USV T s hodností k ve smyslu Frobeniovy normy rozdílu obou matic Tedy pro všechny X s hodností k kde Frobeniova norma

346 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Příklad –6 dokumentů obsahujících –5 různých termů

347 DBI010 - DIS - MFF UK U= S= V= u2u2 u1u1 u3u3 u4u4 u5u5 v2v2 v1v1 v3v3 v4v4 v5v5

348 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Zpětné roznásobení pro k=5=r

349 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Zpětné roznásobení pro k=4

350 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Zpětné roznásobení pro k=3

351 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Zpětné roznásobení pro k=2

352 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Zpětné roznásobení pro k=1 (každý řádek násobkem libovolného jiného)

353 DBI010 - DIS - MFF UK DIS s použitím LSI Místo matice D T používáme její SVD rozklad USV T, resp. jeho aproximaci U k S k V k T. Podobnost dvojic dokumentů DD T =(U k S k V k T )(V k S k T U k T ) =(U k S k )(S k T U k T ) {V k je ortonormální, tedyV k T V k =I} =U k S k 2 U k T {S k je diagonální, tedy S k =S k T } =(U k S k )(U k S k ) T

354 DBI010 - DIS - MFF UK DIS s použitím LSI Místo matice D T používáme její SVD rozklad USV T, resp. jeho aproximaci U k S k V k T. Podobnost dvojic termů D T D =(V k S k T U k T )(U k S k V k T ) =(V k S k T )(S k V k T ) {U k je ortonormální, tedyU k T U k =I} =V k S k 2 V k T {S k je diagonální, tedy S k T =S k } =(V k S k )(V k S k ) T

355 DBI010 - DIS - MFF UK DIS s použitím LSI Z rovnosti D T =U k S k V k T {vynásob. U k T zleva} dostáváme U k T D T =S k V k T {U k T U k =I} a dále {vynásob. S -1 zleva} dostáváme S k -1 U k T D T =V k T {S k -1 S k =I} Odtud transpozicí dostáváme V k =DU k S k -1 Tedy: –Z původního dokumentu s m dimenzemi získáme vektor v novém prostoru dokumentů s k dimenzemi vynásobením maticí U k S k -1 –Na dotaz se můžeme dívat jako na nepřevedený dokument, a rovněž jej nejprve vynásobit maticí U k S k -1

356 DBI010 - DIS - MFF UK DIS s použitím LSI Podobnost dotazu a dokumentu –Sim LSI (q,D i )=Sim(qU k S k -1,D i U k S k -1 ) Statická metoda –Rozklad je proveden nad konkrétní množinou dokumentů –Další dokumenty je možné přidat pomocí U k S k -1 transformace, ale toto přidání již neovlivní latentně sémantické vlastnosti termů

357 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Vyhodnocení dotazu [měsíc,vozidlo], tedy Bez LSI získáme podobnosti

358 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) S LSI jsou dokumenty a dotaz pomocí matice U 2 S 2 -1 (pro k=2) zkonvertovány do dvojrozměrného prostoru zachycujícího dva nejvýraznější latentně sémantické koncepty Poté je dotaz normálně vyhodnocen Tím získáme podobnosti Srov.

359 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) - původní motivační příklad

360 DBI010 - DIS - MFF UK Latent Semantic Indexing (LSI) Existující výsledky: –na kolekcích s  1000 dokumenty až 30% nárůst přesnosti oproti vektorovému modelu –na kolekcích s  dokumenty ne tak vysoký nárůst, ale lepší než vektorový model –na kolekcích s  dokumenty výsledky zaostávají za vektorovým modelem

361 Signatury

362 DBI010 - DIS - MFF UK Signatury Pro konjunktivní dotazy nad boolským IS Vyřazení velkého množství nerelevantních dokumentů s malou časovou a prostorovou složitostí

363 DBI010 - DIS - MFF UK Signatury Signatura = k-bitový řětězec –k je předem daná konstanta Každému dokumentu d i je přiřazena signatura dokumentu s i Konjunktivnímu dotazu q je přiřazena signatura s Dok 1 Porovnání Dotaz

364 DBI010 - DIS - MFF UK Vyhodnocení signatur Signatura s i dokumentu odpovídá signatuře dotazu s pokud s i  s (po bitech) tj. pokud s AND NOT s i = 0 (binárně) Pokud signatura nevyhovuje, dokument nemůže obsahovat všechny požadované termy Pokud si signatury vyhovují, dokument může, ale nemusí všechny požadované termy obsahovat

365 DBI010 - DIS - MFF UK Vyhodnocení signatur Efektivní vyhodnocení instrukcemi na úrovní strojového kódu procesoru Nepřesné, nevyhovující dokument může svoji signaturou vyhovovat (tzv. false hit) Nutno doplnit dalším, přesným, krokem porovnání Dok 1 Porovnání Dotaz Dok 2 Porovnání II

366 DBI010 - DIS - MFF UK Přiřazení signatury Signatura slova –Hašovací funkcí h : X *  0..k-1 –Signatura sig(w) slova w má bit 1 na pozici h(w) a na ostatních bity 0 –Výhodnější než hašovací funkcí X *  0..2 k -1, která generuje signatury s mnoha jedničkami, které odpovídají téměř libovolnému dotazu

367 DBI010 - DIS - MFF UK Přiřazení signatury Signatura dokumentu –Vrstvením signatur jednotlivých slov pomocí binární disjunkce. –Pevně strukturované dokumenty mohou obdržet signaturu zřetězením signatur jednotlivých oddílů (autor, nadpis, abstrakt, text). Každá z řetězených signatur může mít jinou, předem danou délku.

368 DBI010 - DIS - MFF UK Řetězené signatury Výhodou řetězených signatur je možnost dotazu nad konkrétní částí dokumentu –Knihy Aloise Jiráska: sig(„Alois“)= , sig(„Jirásek“)= –Dotaz q= | | sig(„Eduard“)= , sig(„Bass“)= –Dokument | xxxxxxxx | xxxxxxxxxxxxxxxx nevyhovuje signatuře sig(„Božena“)= , sig(„Němcová“)= –Dokument | xxxxxxxx | xxxxxxxxxxxxxxxx vyhovuje signatuře, i když se jedná o jiného autora

369 DBI010 - DIS - MFF UK Vrstvené signatury Vrstvením signatur slov narůstá počet jedniček v signatuře a tím klesá její schopnost plnit svůj účel, protože signatura ze samých jedniček vyhovuje jakémukoli dotazu. Dokumentům se přidělí více signatur pro jednotlivé bloky textu. Při vhodném dělení, např. na rozhraní kapitol nebo odstavců, není ztráta informace příliš důležitá. Slova nacházející se daleko od sebe spolu obvykle nesouvisí.

370 DBI010 - DIS - MFF UK Vrstvené signatury Bloky se vytváří dvěma metodami –FSB (fixed size block) pro úseky s přibližně stejným počtem slov –FWB (fixed weight block) pro úseky s přibližně stejným počtem jedniček optimálně k/2

371 DBI010 - DIS - MFF UK Monotónní signatury Signatura je monotónní, pokud pro každá dvě slova, resp. jejich fragmenty u, v platí sig(u.v)  sig(u) s pravostranným prodlužováním slova signatura nikdy neklesá Monotónní signatury umožňují využití zástupného znaku „*“ na konci termů v dotazu Např. q=„datab*” AND „systém*”

372 DBI010 - DIS - MFF UK Monotónní signatury Monotónní signaturu slova lze vytvořit několika způsoby (zvyšuji počet jedničkových bitů) –Navrstvením signatur všech prefixů slova sig(„systém“)=sig’(„s“)+sig’(„sy“)+...+sig’(„systém“) kde sig’(w) je libovolně tvořená signatura –Navrstvením signatur všech n-gramů slova n-gram = posloupnost n po sobě jdoucích znaků sig(„systém“)=sig’(„sys“)+sig’(„yst“)+...+sig’(„tém“) pro trigramy

373 DBI010 - DIS - MFF UK Monotónní signatury Využití signatur tvořených na základě n- gramů –Dovoluje zástupné znaky i na začátku a uvnitř slov –Dovoluje rovnoměrné využití všech k pozic signatury n-gramů je pevný počet (26^n v anglickém jazyce) Lze spočítat pravděpodobnosti jejich výskytu a rozdělit je do skupin s přibližně stejnou celkovou pravděpodobností

374 DBI010 - DIS - MFF UK Uložení signatur Invertovaný soubor Neinvertovaný soubor Strom signatur –Setříděním signatur se dostanou signatury se shodným prefixem délky k 1

375 Distribuované DIS

376 DBI010 - DIS - MFF UK Distribuované DIS Data a funkce rozděleny mezi více počítačů –Transparence Uživatel si rozdělení nemusí být vědom –Rozšiřitelnost Zvýšení výkonu přidáním dalších počítačů –Robustnost Výpadek jednoho počítače neovlivní funkci ostatních

377 DBI010 - DIS - MFF UK Distribuované DIS Data ukládaná v DIS –Primární data (dokumenty) –Sekundární data (autor, název, rok vydání,...) –Index Uzly sítě lze rozdělit podle toho, které procesy na nich běží a která data obsahují Na jednom počítači může běžet i více procesů

378 DBI010 - DIS - MFF UK Distribuované DIS Procesy v DIS –Klient (K) Uživatelské rozhraní –Dokumentový server (D) Subsystém dodání dokumentu s primárními daty Například nezávislý WEB server –Server indexu (S) Subsystém zpřístupnění dokumentu s indexem a sek. daty –Integrační uzel (I) Specifický proces zajišťující koordinaci mezi ostatními uzly

379 DBI010 - DIS - MFF UK Distribuované DIS Integrační uzel –Přebírá dotaz od uživatele –Určuje strategii vyhodnocení v distribuovaném prostředí na základě znalosti umístění jednotlivých zdrojů –Rozesílá parciální dotazy na jednotlivé index servery –Sestavuje výslednou odpověď z odpovědí na parciální dotazy

380 DBI010 - DIS - MFF UK DDIS Distribuované DIS DIS K S D D D D KK SS III S

381 DBI010 - DIS - MFF UK Distribuované DIS Přítomnost více klientů a integračních uzlů zvyšuje propustnost a robustnost Nutné replikovat metadata o rozdělení dat na všech integračních uzlech K KSSIIIS

382 DBI010 - DIS - MFF UK Distribuované boolské DIS Rozdělení matice indexu na několik (obvykle disjunktních částí) Vhodný popis na základě relační algebry –Relace R(A 1, A 2, …, A n ) –Boolská podmínka q –Projekce R[A i 1, A i 2, …, A i k ] –Selekce R(q) –Přirozené spojení relací R*S

383 DBI010 - DIS - MFF UK Distribuované boolské DIS Index je relace D(d, t 1, t 2, …, t m ), kde t j  {0,1}, d  N (identifikace dokumentu) Instance indexu je matice

384 DBI010 - DIS - MFF UK Distribuované boolské DIS Odpovědí na dotaz q je seznam identifikací odpovídajících dokumentů D(q)[d]

385 DBI010 - DIS - MFF UK Horizontální fragmentace Rozdělení matice indexu na k fragmentů D 1, D 2, …, D k na základě k-tice dotazů q 1, q 2, …, q k tak, že D x = D(q x ) q 1  q 2  …  q k = true tj. D 1  D 2  …  D k = D q x  q y = false pro x  y tj. D x  D y = 

386 DBI010 - DIS - MFF UK Horizontální fragmentace D(q)[d] = (D 1  …  D k )(q)[d] = (D(q 1 )  …  D(q k ))(q)[d] = (D(q 1  q)[d]  …  D(q k  q)[d]) Pokud q x  q = false, potom D x (q)[d] = 

387 DBI010 - DIS - MFF UK Horizontální fragmentace Volba dotazů q i –Fragmenty stejné velikosti –Fragmenty co nejméně zatěžující servery Volba dotazů tak, aby se typické dotazy vyhodnocovaly na jednom nebo několika málo serverech

388 DBI010 - DIS - MFF UK Vertikální fragmentace Rozdělení matice indexu na k fragmentů D 1, D 2, …, D k na základě k-tice množin {d}  T 1, T 2, …, T k  {d, t 1, t 2, …, t m } tak, že D x = D[T x ] T 1  T 2  …  T k = {d, t 1, t 2, …, t m } tj. D 1 * D 2 * … * D k = D T x  T y = {d} pro x  y

389 DBI010 - DIS - MFF UK Vertikální fragmentace D(q)[d] = (D 1 * D 2 * … * D k )(q)[d] Nechť jsou v dotazu použity jen termy z množiny T q. Nechť  ={d}  T q D(q)[d] = (D[T 1   ] * … * D[T k   ])(q)[d] Spojují se menší části Fragmenty, kde T x   ={d}lze vynechat

390 DBI010 - DIS - MFF UK Vertikální fragmentace Dotazy lze na základě pravidel D(q 1  q 2 )[d]=D(q 1 )[d]  D(q 2 )[d] D(q 1  q 2 )[d]=D(q 1 )[d]  D(q 2 )[d] rozepsat na průniky a sjednocení výsledků parciálních dotazů vyhodnotitelných na jednotlivých index serverech

391 DBI010 - DIS - MFF UK Vertikální fragmentace Volba množin T i –Fragmenty stejné velikosti Stejně velké množiny –Fragmenty co nejméně zatěžující servery Na základě znalosti dotazů udržení spolu se vyskytujících termů na stejném serveru

392 DBI010 - DIS - MFF UK Kombinovaná fragmentace Pravidelná (do tvaru mřížky) Nepravidelná D 11 =D(q 1 )[T 1 ]D 12 =D(q 1 )[T 2 ]D 13 =D(q 1 )[T 3 ] D 21 =D(q 2 )[T 1 ]D 22 =D(q 2 )[T 2 ]D 11 =D(q 2 )[T 3 ] D 31 =D(q 3 )[T 1 ]D 32 =D(q 3 )[T 2 ]D 11 =D(q 3 )[T 3 ] D 11 =D(q 1  q 2 )[T 1 ] D 12 =D(q 1 )[T 2 ]D 13 =D(q 1 )[T 3 ] D 2 =D(q 2 )[T 2  T 3 ] D 3 =D(q 3 )

393 DBI010 - DIS - MFF UK Příklad Nepravidelná fragmentace Kde –T 1 ={d, t 1, t 2, t 3 }, T 2 ={d, t 4, t 5, t 6 } –q 1 =(t 1  t 4 ), q 2 =(t 1  t 4 )  (  t 1  t 4 ), q 3 =(  t 1  t 4 ) D 1 =D(q 1 ) D 21 =D(q 2 )[T 1 ]D 22 =D(q 2 )[T 2 ] D 3 =D(q 3 )

394 DBI010 - DIS - MFF UK Příklad D=D 1  (D 21 *D 22 )  D 3 q=t 1  (t 2  t 4  t 5 ) D(q)[d]=(D 1  (D 21 *D 22 )  D 3 )(q)[d] =D 1 (q)[d]  (D 21 *D 22 )(q)[d]  D 3 (q)[d] =D 1 (q)[d]  (D 21 *D 22 )(q)[d]  (D 21 *D 22 )(q)[d] =(D 21 *D 22 )(t 1  (t 2  t 4  t 5 ))[d] =(D 21 *D 22 )(t 1 )[d]  (D 21 *D 22 )(t 2  t 4  t 5 )[d] q  q 3 =false

395 DBI010 - DIS - MFF UK Příklad (D 21 *D 22 )(t 1 )[d]=D 21 (t 1 )[d] (D 21 *D 22 )(t 2  t 4  t 5 )[d] =(D 21 *D 22 )(t 2 )[d]  (D 21 *D 22 )(t 4  t 5 )[d] =D 21 (t 2 )[d]  D 22 (t 4  t 5 )[d]

396 DBI010 - DIS - MFF UK Příklad D 22 (t 4  t 5 )[d] D 21 (t 2 )[d] D 1 (q)[d] D 21 (t 1 )[d]    S1S1 S 21 S 22 S3S3

397 DBI010 - DIS - MFF UK Distribuované vektorové DIS Využití shlukovacích algoritmů –Obdoba horizontální fragmentace boolského IS Integrační servery potřebují informaci o středech a poloměrech jednotlivých shluků

398 DBI010 - DIS - MFF UK Integrované DIS Spojení několika nezávislých DIS do jednoho celku Problémy –Různé metody indexace Jeden dokument může mít více reprezentací –Různé množiny termů –Různé výpočty podobnosti

399 DBI010 - DIS - MFF UK Optimální vyhledávání Jedna z možností integrace více DIS, navíc –Minimalizace problému kritéria predikce –Obecně systém, obsahující některou(-é) z možností Více indexačních algoritmů dokumentů –Příliš vysoká prostorová náročnost Více indexačních algoritmů dotazu Více vyhledávacích algoritmů –Systém na základě interakce s uživatelem vybírá optimální kombinaci dostupných metod

400 DBI010 - DIS - MFF UK Optimální vyhledávání Výběr optimální vyhledávací metody –k různých metod –i-tá metoda vrátila r i relevantních dokumentů v celkovém počtu n i dokumentů Jak určit vhodnou metodu nalezení nejlepšího z obsažených DIS? –Kritérium r i 2 / n i –Není nutné zjišťovat celkový počet relev. dok.

401 DBI010 - DIS - MFF UK Optimální vyhledávání Předpokládejme znalost všech relevantních dokumentů pro daný dotaz (a jejich počtu r) Vezměme kde x j je 1, pokud je j-tý dokument relevantní pro tazatele, jinak 0 Vezměme kde y i,j je 1, pokud je j-tý dokument vrácen i-tou metodou, jinak 0

402 DBI010 - DIS - MFF UK Optimální vyhledávání V ideálním případě Míra vhodnosti pomocí podobnosti, kde Počet relevantních dokumentů, vrácených i-tým systémem

403 DBI010 - DIS - MFF UK Optimální vyhledávání Míra vhodnosti odpovídá Protože, přičemž r je konstanta, a odmocnina je rostoucí na, pro uspořádání vhodnosti stačí výraz bez znalosti r

404 DBI010 - DIS - MFF UK Optimální vyhledávání Postup vyhodnocení dotazu –Dotaz se vyhodnotí všemi dostupnými metodami a výsledky se spojí do jednoho výstupu (viz dále) –Uživatel označí relevantní dokumenty –Pro jednotlivé metody se porovná vhodnost kritériem r i 2 / n i –Nejlepší metoda bude v dalších iteracích zvýhodněna oproti ostatním

405 DBI010 - DIS - MFF UK Optimální vyhledávání Spojení výstupů metod –Různé metody mohou vracet hodnoty podobnosti z různých intervalů –Nutná normalizace – převod výsledku z lokálního intervalu i-té metody na globální interval lineárně: y=(x- l 1 )*((g 2 –g 1 )/(l 2 –l 1 ))+g 1 – je obvykle l1l1 l2l2 g1g1 g2g2 x y

406 DBI010 - DIS - MFF UK Optimální vyhledávání Spojení výstupů metod –Pokud je dokument nalezen více metodami, je nutné to detekovat a zohlednit –Pokud je dokument nalezen vícekrát s globálními vahami s i v jednotlivých metodách, roste pravděpodobnost toho, že je dokument relevantní –Pokud s i , potom s = 1-  (1-s i ) Počítáno přes metody, které dokument vrátily s i vyjadřuje názor i-té metody, na pravděpodobnost, že dokument bude pro uživatele relevantní.

407 DBI010 - DIS - MFF UK Optimální vyhledávání Pokud má být některá metoda (případně metody) zvýhodněna, jsou výsledky metod normalizovány do intervalů, kde i  Např.: – i =1 pro nejlepší metodu, i = <1 pro ostatní – i =(r i 2 / n i ) / (r max 2 / n max )

408 DBI010 - DIS - MFF UK Vyhledávání v HTML Web lze chápat jako speciální případ DIS –Neznámý počet dokumentů Povrchový web - anonymně dostupné dokumenty Skrytý web - dokumenty dostupné po autorizaci –Objem přesahuje povrchový web ve stonásobcích –Kvalita přesahuje povrchový web i tisícinásobné

409 DBI010 - DIS - MFF UK Vyhledávání v HTML Web lze chápat jako speciální případ DIS –Redundance Odhady uvádějí redundanci kolem 30% –Proměnlivost Čtvrtina stránek se mění denně Odhadovaný „poločas rozpadu“ stránky se odhaduje na přibližně 10 dní Informace získané při indexaci dokumentu rychle zastarávají

410 DBI010 - DIS - MFF UK Vyhledávání v HTML Web lze chápat jako speciální případ DIS –Množství dokumentů celkem dokumentů (červenec 2004) celkem dokumentů (květen 2005) nejméně dokumentů, spíše však přes (duben 2006) dotaz „the“ v google vrací – dokumentů (květen 2005) – dokumentů (duben 2006) – dokumentů (květen 2011) dotaz „-the“ v google vrací – dokumentů (duben 2006)

411 DBI010 - DIS - MFF UK Vyhledávání v HTML Dvojí způsob dotazování –Vyhledávače morfeo.centrum.cz, … –Listování v katalozích (browsing) seznam.cz, centrum.cz, … zpravidla kvalitní ručně vytvářené členění nesnadná údržba v měnícím se prostředí

412 DBI010 - DIS - MFF UK Dotazování nad webem Zpravidla různé formy rozšířeného boolského vyhledávání –Možnost zadávat binární logické operátory –Možná podpora proximitních omezení –Obvykle nemožnost použít vážený dotaz Další používané techniky –Rozhoduje umístění slov v dokumentu Nadpisy jsou důležitější než ostatní text, … –Uvažují se vzájemné odkazy mezi stránkami

413 DBI010 - DIS - MFF UK Dotazování nad webem Katalogy –tématická klasifikace vybraných stránek –navigace listováním hierarchiemi vyhledávacích termů –vhodné použít v případech, kdy má uživatel jasný cíl, který nedokáže vyjádřit seznamem klíčových slov

414 DBI010 - DIS - MFF UK Využití hypertextových odkazů Web si lze představit jako orientovaný graf (V,E) –V jsou jednotlivé stránky –E je množina hran, kde (p,q)  E znamená, že stránka q je odkazována ze stránky p Výstupní stupeň stránky o(p) –Množství odkazů ve stránce p Vstupní stupeň stránky i(p) –Množství odkazů na stránku p

415 DBI010 - DIS - MFF UK dom2 dom1 Využití hypertextových odkazů Hrany v rámci jedné domény se označují jako vlastní Hrany napříč doménami se označují jako přechodové p11 p12p21 p22 i(p11) = 0, o(p11) = 2 i(p12) = 1, o(p12) = 0 i(p21) = 2, o(p21) = 0 i(p22) = 1, o(p22) = 2

416 DBI010 - DIS - MFF UK Struktura webového vyhledávače Robot (crowler, spider) –Na základě interní databáze URL navštěvuje stránky s danou frekvencí a v daném pořadí –Ukládá data do seznamu stažených HTML stránek URL Robot HTML Dotazy Index Indexace

417 DBI010 - DIS - MFF UK Struktura webového vyhledávače Indexační jednotka –Indexuje stažené HTML stránky –Generuje data indexu Textová Strukturální –Přidává nově nalezená URL do seznamu URL Robot HTML Dotazy Index Indexace

418 DBI010 - DIS - MFF UK Struktura webového vyhledávače Zpracování dotazu –S využitím indexu zjišťuje podobnost indexovaných dokumentů vůči dotazu –Pokud je dotaz formulován na základě podobnosti s neznámou stránku, může ji pomocí robota stáhnout URL Robot HTML Dotazy Index Indexace

419 DBI010 - DIS - MFF UK Stahování stránek Obvykle průchod do šířky počínaje odkazy ze startovacích stránek umístěných v databázi URL –Startovacími stránkami nemusí být všechny tam uložené stránky Priority se řídí –Tématem Např. podobností s nějakým předdefinovaným vektorem –Popularitou stránky –Umístěním stránky Např. podle domény

420 DBI010 - DIS - MFF UK Stahování stránek Roboty nedokáží stáhnout všechny na webu dostupné stránky –Web netvoří souvislý graf Indexovány jsou pouze souvislé komponenty dostupné ze startovacích stránek –Web roste zpravidla rychleji, než jej roboty stačí indexovat

421 DBI010 - DIS - MFF UK Makroskopická struktura webu Převzato z: Graph structure in the web Andrei Broder, Ravi Kumar2 et al. w9cdrom/160/160.html

422 DBI010 - DIS - MFF UK Indexace Indexační jednotka rozhoduje, které ze stažených stránek skutečně zaindexuje –Snaha vynechávat duplikáty Výsledná data jsou uložena v případě rozšířeného boolského modelu do invertovaných seznamů, zpravidla včetně pozic slov na stránkách Dále jsou ukládána další specifická data nutná pro vyhodnocování dotazu –Graf odkazů –Délky stránek –…

423 DBI010 - DIS - MFF UK Porovnávání s dotazem Dokumentům je přiřazeno skóre –Část závislá na dotazu Podobnost dokumentu s položeným dotazem –Část závislá na dokumentu Popularita stránky, např. odvozená z počtu na něj směřujících odkazů –Část závislá na tazateli Nově se rozvíjející oblast, snažící se vytvářet na základě interakce s tazatelem jeho profil, a upřednostňovat jeho subjektivní názor na kvalitu dokumentů

424 DBI010 - DIS - MFF UK Popularita stránek Odvozuje se z analýzy odkazů a podobnosti mezi zdrojovou a cílovou stránkou –PageRank –Algoritmus HITS

425 DBI010 - DIS - MFF UK PageRank Předpokladem je fakt, že odkazem na cizí stránku je daná stránka autorem čtenáři doporučována Problémy –Algoritmus lze snadno zmást generováním stránek odkazujících na propagovanou stránku

426 DBI010 - DIS - MFF UK PageRank Ohodnocení r(q) stránky q závisí na ohodnocení stránek, které na ní odkazují –Jednoduchý PageRank: r(q) =  (p,q)  E ((1/o(p))*r(p)) Vícenásobné odkazy se počítají jako jednonásobné –Maticový zápis: r = Xr, kde x p,q = 1/o(p) pro (p,q)  E, jinak 0

427 DBI010 - DIS - MFF UK PageRank Výpočet PageRank probíhá iterativně –Problémy Skupina stránek může odkazovat na sebe navzájem, ale nikoli ven (tzv. rank sink) –Akumulace ocenění –Žádný přínos pro další dokumenty pp1p p p1p2

428 DBI010 - DIS - MFF UK PageRank Zmírnění problému rank sink dle autorů (Lawrence Page, Sergey Brin) Random Surfer Model –PageRank : r(q) = (1-d) + d*  (p,q)  E ((1/o(p))*r(p)), d  d je tzv. tlumící faktor, obvykle d = 0.85 –Maticový zápis: r = (1-d)e + dXr, kde e je vektor obsahující jedničky

429 DBI010 - DIS - MFF UK PageRank Random Surfer Model r(q) = (1-d) + d*  (p,q)  E ((1/o(p))*r(p)), d  –Uživatel náhodně prochází webem –Pravděpodobnost návštěvy je dána hodnotou PageRank –S pravděpodobností d klikne na některý odkaz ve stránce Výběr některého z o(p) odkazů je náhodný s rovnoměrným rozdělením –S pravděpodobností (1-d) nepokračuje pomocí odkazu, ale přímým zápisem adresy, výběrem z oblíbených, …

430 DBI010 - DIS - MFF UK PageRank Jiná varianta PageRank dle autorů (Lawrence Page, Sergey Brin) –PageRank : r(q) = (1-d)/|V| + d*  (p,q)  E ((1/o(p))*r(p)) –Pokud o(p)=0, t.j. stránka nikam neodkazuje, uvažuje se, že odkazuje na všechny stránky webu. Tedy o(p)=|V|, (p,q)  E  q –Lépe odpovídá pravděpodobnosti návštěvy stránky po několika náhodných přechodech mezi stránkami

431 DBI010 - DIS - MFF UK PageRank příklad r(x) = *r(z) r(y) = *r(x)/2 r(z) = *(r(x)/2+ r(y)) Přesné řešení rovnic: r(x) = 14/13 = r(y) = 10/13 = r(z) = 15/13 = Iterativní výpočet r(x) r(y) r(z) ………… x z y

432 DBI010 - DIS - MFF UK Kleinbergův algoritmus HITS Hypertext Induced Topic Search –Ohodnocuje dokumenty, vrácené původním dotazem –Předpokládá, že na vstupu jsou dokumenty úzce svázané s dotazem Často jsou navzájem provázány odkazy

433 DBI010 - DIS - MFF UK Kleinbergův algoritmus HITS Rozlišují a ohodnocují se dva typy stránek –Autority stránky s vysokým vstupním stupněm tj. odkazovány často ze stránek v odpovědi –Rozcestníky stránky s vysokým výstupním stupněm tj. odkazují se často na stránky v odpovědi r r r r a a a

434 DBI010 - DIS - MFF UK HITS Algoritmus –Výběr množiny stránek pro vstup do HITS Dostatečně malá kolekce Pokud možno dokumenty relevantní k dotazu q Obsahující hodně autorit –Ohodnocení vybraných stránek

435 DBI010 - DIS - MFF UK HITS Výběr množiny S q stránek dle dotazu q –In(p) … množina stránek odkazujících na p –Out(p) … množina stránek odkazovaných z p –d … zvolené malé celé číslo 1.R q := prvních 200 stránek odpovědi na q 2.S q := R q ; 3.for each p in R q do begin S q := S q  Out(p); if i(p)  d then S q := S q  In(p) else S q := S q  S; {S  In(p), |S|=d, S náhodně zvolená} end; 4.z grafu S q odstraň vlastní hrany

436 DBI010 - DIS - MFF UK HITS Ohodnocení vybraných stránek –a k (p) … váha autority pro stránku p v k-té iteraci –r k (p) … váha rozcestníku stránku p v k-té iteraci 1.for each p in S q do begin a 0 (p) := 1; r 0 (p) := 1; end; 2.for k := 1 to n do for each p do begin a k (p) :=  (q,p)  E r k-1 (q); r k (p) :=  (p,q)  E a k-1 (q); normalizuj váhy tak, aby  p  Sq (r k (p)) 2 =  p  Sq (a k (p)) 2 =1 end;

437 DBI010 - DIS - MFF UK Jak zrychlit výpočet PageRank Jednou z možností je omezení doby výpočtu aproximaxí výsledku r(q)  r s (q) * r p (q) –r s (q) … rank pro celou site (doménu) –r p (q) … rank stránky v rámci site (domény) Domén je podstatně méně než stránek –Snazší výpočet vlastního vektoru matice incidence Stránek v doméně je rovněž podstatně méně

438 DBI010 - DIS - MFF UK Rozšíření PageRank Samotný PageRank nezávisí na obsahu stránek –Prázdná stránka s mnoha odkazy na ni bude mít velkou hodnotu PageRank –Snadněji manipulovatelné Stránka má různou důležitost v závislosti na tématu, na které se tazatel ptá Výpočet PageRank je vhodné změnit tak, aby jeho hodnota byla závislá na konkrétním tématu dotazu

439 DBI010 - DIS - MFF UK Rozšíření PageRank dle témat Původní návrh (Haveliwala) počítá nezávisle jednotlivé hodnoty pro nejširší termy tezauru ODP (Open Directory Project) –Závislé na jazyku –Pro stránky v odlišných jazycích by bylo nutné počítat PageRank samostatně

440 DBI010 - DIS - MFF UK Rozšíření PageRank dle témat Původní rovnice pro výpočet PageRank r(q) = d*  (p,q)  E (r(p)/o(p)) + (1-d)/n je změněna tak, že během náhodné procházky se při náhodném výběru stránky přejde s pravděpodobností (1-d) pouze na stránky se stejným tématem, jako původní stránka Pro téma t je proto soustava rovnic následující –pokud se stránka q týká tématu t r t (q) = d*  (p,q)  E (r(p)/o(p)) + (1-d)/n t –pokud se stránka q netýká tématu t r t (q) = d*  (p,q)  E (r(p)/o(p)) + 0 jinak

441 DBI010 - DIS - MFF UK Rozšíření PageRank dle témat Pro dotaz x se spočtou koeficienty náležení dotazu k jednotlivým tématům c(x,t) PageRank stránky q je potom spočten, jako lineární kombinace PageRank hodnot pro jednotlivá témata –r(q,x) =  r t (q)*c(x,t)

442 DBI010 - DIS - MFF UK Personalizovaný PageRank Modifikuje opět algoritmus náhodné procházky Pro uživatele si pamatuje množinu preferovaných stránek Při náhodném přechodu simulujícím přímý skok na náhodnou stránku jsou tyto stránky preferovány před ostatními

443 DBI010 - DIS - MFF UK Další metriky kvality výstupu Kromě standardních metrik P (přesnost) a R (úplnost) je pro měření kvality výstupu vhodné použít i další Snahou je při měření kvality zohlednit kritérium maxima U velkých databází a obsáhlých odpovědí je často vhodné kvalitu určovat jen v rámci počátečního úseku seznamu nalezených dokumentů

444 DBI010 - DIS - MFF UK Další metriky kvality výstupu Nejjednodušší metrikou je přesnost odpovědi v rámci prvních k vrácených dokumentů, značená P k –Systém s hodnotami P 10 =0.9; P=0.3 může být vnímán jako lepší, než konkurenční systém s P 10 =P=0.6

445 DBI010 - DIS - MFF UK Diversity, Information Richness Pokud je dotaz kladen mnohoznačně, může existovat několik nezávislých skupin dokumentů, které dotazu vyhovují, ale navzájem nemají nic společného Např.: „Puma“ –Značka sportovní obuvi –Kočkovitá šelma –Kódové označení Mac OS X verze 10.1 –Letecká puma –Typ automobilu značky Ford

446 DBI010 - DIS - MFF UK Diversity, Information Richness V případě mnohoznačného dotazu je žádoucí, aby se na první stránce odpovědi objevily reprezentanti odpovědí na všechny významy dotazu Kterou kategorii měl uživatel na mysli se dá případně odvodit z toho, které odkazy ze stránky s odpověďmi použije

447 DBI010 - DIS - MFF UK Diversity, Information Richness Pro měření množství různých témat, které se v odpovědi na dotaz objeví, je potřeba zavést zcela odlišnou metriku než jsou přesnost a úplnost –Diversity … množství skupin (shluků) navzájem podobných dokumentů na výstupu Roste s množstvím témat, které jsou v odpovědi zastoupeny –Information Richness … kvalita dokumentů v rámci témat Roste s kvalitou vybraných zástupců jednotlivých témat

448 DBI010 - DIS - MFF UK Diversity, Information Richness Výpočet obdobný výpočtu PageRank, ale –Realizuje se nad odpovědí, nikoli nad celou kolekcí (Obdoba algoritmu HITS) –Nepoužívá graf založený na odkazech mezi dokumenty, ale graf založený na jejich vzájemné podobnosti

449 DBI010 - DIS - MFF UK Diversity, Information Richness Dána kolekce dokumentů D={d i, i  1, …, n} Diversity Div(D) –množství různých témat, pokrytých dokumenty množiny D Information Richness IR D (d i )  –úroveň, nakolik dokument d i reprezentuje své vlastní téma.

450 DBI010 - DIS - MFF UK Diversity, Information Richness Pokud Div(D)=k, každý dokument je přiřazen jednomu z k témat –Počet dokumentů přiřazený tématu l označíme n l –i-tý dokument v množině náležející tématu l označíme d i l

451 DBI010 - DIS - MFF UK Diversity, Information Richness Spočtou se podobnosti Sim(d i, d j ) pro d i, d j  D, kde Sim(d i, d j ) = (d i *d j )/(|d i |*|d j |) Zkonstruuje se ohodnocený graf G=(D,E) –vrcholy grafu odpovídají dokumentům v D Ohodnocení hrany e ij =(d i, d j ) je dáno spočtenou podobností, tedy h(e ij ) = Sim(d i, d j ) Pro úsporu místa se obvykle odstraňují příliš malé hodnoty hran. Pro hranu e ij  E tedy platí h(e ij ) = 0, pokud Sim(d i, d j ) < S t, kde S t je zvolená prahová hodnota.

452 DBI010 - DIS - MFF UK Diversity, Information Richness Vytvoří se matice sousednosti M grafu G Hodnota míry Information richness se odvozuje ze dvou faktů –Čím více má vrchol sousedů (tj. podobných dokumentů), tím je jeho hodnota vyšší –Čím vyšší je hodnota sousedů, tím je jeho hodnota vyšší

453 DBI010 - DIS - MFF UK Diversity, Information Richness Počítá se vlastní vektor matice c*M’ T + (1-c)*U kde –M’ je matice M, s řádky, normalizovanými na jednotkovou velikost (součet prvků na řádce je roven jedné) –U má na všech pozicích hodnotu 1/n –c = 0.85 (podobně jako pro Page Rank) Vektor obsahuje hledané hodnoty IR(d i )

454 DBI010 - DIS - MFF UK Diversity, Information Richness Průměrnou hodnota Information Richness v celé kolekci je dána výrazem Spočtené hodnoty umožní vybrat ty nejlepší reprezentanty v každém tématu, ale může se stát, že se v některém z témat vybere více velmi podobných dokumentů

455 DBI010 - DIS - MFF UK Diversity, Information Richness Greedyho algoritmus výpočtu postihu jednotlivých dokumentů –A :=  ; B := D; setřiď B sestupně dle hodnoty IR D ; while B <>  do begin přesuň nejlépe ohodnocený dokument d i z B do A; zbylým dokumentům v B sniž ohodnocení o M ij *IR D (d i ); přetřiď dokumenty v B end;

456 Neuronové sítě COSIMIR

457 DBI010 - DIS - MFF UK Neuronové sítě a DIS Využití neuronových sítí v DIS se ve větší míře objevuje od 90. let 20. stol. –Obvykle řeší některý z aspektů DIS Shlukování Redukce dimenzionality indexu Nalézání konceptů Odhad relevance dokumentu

458 DBI010 - DIS - MFF UK Neuronové sítě a DIS Výhody využití neuronových sítí –Generalizace pravidel relevance na základě učení z konkrétních příkladů –Nalézání abstraktních závislostí i v případě, že je uživatel není schopen formulovat –Robustnost, odolnost vůči chybám –Klasifikace vzorů (zde dokumentů a termů) pomocí samoorganizujících se struktur

459 DBI010 - DIS - MFF UK Neuronové sítě a DIS Nevýhody využití neuronových sítí –Nejisté výsledky Pokud vzorová data nejsou vhodně volena, nebo jich je více, než je neuronová síť schopná akceptovat, odvozená pravidla nemusí odpovídat realitě

460 DBI010 - DIS - MFF UK Neuronové sítě a DIS Neuron (perceptron) –Základní jednotka neuronové sítě –Model biologického neuronu Nepřesný, modeluje pouze představu o činnosti Struktura perceptronu –n vstupů, odpovídajících dendritům neuronu –1 výstup odpovídající axonu neuronu axon dendrity

461 DBI010 - DIS - MFF UK Neuronové sítě a DIS Struktura perceptronu –n vstupů x i, každý z nich je opatřen vahou w i –1 výstup –práh citlivosti (threshold) pokud je excitace neuronu dostatečná, tj. přesahující práh citlivosti, neuron x1x1 x2x2 x3x3 …xnxn z t

462 DBI010 - DIS - MFF UK Neuronové sítě a DIS Funkce perceptronu 1.Spočtení váženého vstupu (aktivace) a =  i (w i x i )-t 2.Spočtení výstupu neuronu pomocí přechodové funkce g y = g(a) –Obvykle g(a) = 1/(1+e - y ) tzv. sigmoida se strmostí >0 –Někdy i další přechodové funkce –Lineární g(a) = a –Signum g(a) = sgn(a) –… x1x1 x2x2 x3x3 …xnxn z t

463 DBI010 - DIS - MFF UK Neuronové sítě a DIS Geometrický význam –Rovnice  i (w i x i )-t=0 určuje dělící nadrovinu v n-rozměrném prostoru –Perceptron odlišuje navzájem body náležející jednotlivým poloprostorům  i (wixi)-t > 0  i (wixi)-t < 0

464 DBI010 - DIS - MFF UK Neuronové sítě a DIS Sítě z více neurony –Vznikají napojením výstupu jednoho neuronu na vstupy dalších neuronů Rekurentní sítě dovolují cyklické vazby mezi neurony –Obvykle bez učitele –Dovolují klasifikaci vzorů do skupin Vrstevnaté sítě jsou acyklické výstupy jedné skupiny neuronů (vrstvy) jsou napojené na vstupy vrstvy následující –Obvyklé učení algoritmem zpětného šíření na základě dvojic [vzor, požadovaný výsledek]

465 DBI010 - DIS - MFF UK Učení vrstevnaté neuronové sítě Algoritmus zpětného šíření (backpropagation) –Založen na množině dvojic vektorů [vzor, požadovaná odpověď] –Minimalizuje chybu E sítě přes množinu učebních vzorů –E =  j (y j -o j ) 2, kde y j je odpověď j-tého neuronu výstupní vrstvy o j je jeho požadovaná odpověď

466 DBI010 - DIS - MFF UK Učení vrstevnaté neuronové sítě Algoritmus zpětného šíření –Numerický iterativní výpočet E je funkce vah sítě, všude derivovatelná podle všech vah (platí pro sigmoidu, nemusí platit obecně) Pro každou váhu w se spočte dE/dw Váha se změní směrem, ve kterém chyba klesá

467 DBI010 - DIS - MFF UK Učení vrstevnaté neuronové sítě Algoritmus zpětného šíření –Umožňuje počítat změny vah postupně po vrstvách Výstupní – v-tá – vrstva –  i v = λ y i (1 – y i ) (o i – y i ) –w ij  w ij + η δ j v y i Jakákoli jiná – k-tá – vrstva –  i k = λy i (1 – y i )  i (  j k+1 y ij ) –w ij  w ij + η δ j k y i

468 DBI010 - DIS - MFF UK Shlukování dokumentů Kohonenovy mapy –Projekce vysoce-rozměrného prostoru do prostoru o méně (často dvou) dimenzí –Částečné zachování topologie –Vytváření shluků

469 DBI010 - DIS - MFF UK COSIMIR COSIMIR Model - Thomas Mandl, 1999: COgnitive SIMilarity learning in Information Retrieval Kognitivní výpočet podobnosti mezi dokumentem a dotazem založený na neuronové síti a algoritmu zpětného šíření

470 DBI010 - DIS - MFF UK COSIMIR Vstupní vrstva obsahuje 2m neuronů, kde m je počet termů Skrytá vrstva obsahuje k neuronů („symbolických konceptů“) Výstupní vrstva obsahuje 1 neuron reprezentující podobnost Indexace D q wi1wi1 wi2wi2 wi3wi3...w im q1q1 q2q2 q3q3...qmqm podobnost

471 Prokletí dimenze (dimensionality curse) Pyramidová technika IGrid indexy

472 DBI010 - DIS - MFF UK Co je prokletí dimenze? Většina metod, které jsou vytvořeny pro vyhledání nejbližšího souseda k danému bodu v m- dimenzionálním prostoru jako jsou R-stromy, m- stromy a další, dobře fungují v nízkodimenzionálních prostorech, ale velmi rychle ztrácejí účinnost se vzrůstajícím m. Pro m ~ 500 a více se obvykle vyplatí projít celý prostor (shluk) sekvenčně. Prostory pro DIS mají m ~ a více

473 DBI010 - DIS - MFF UK Pyramidová technika Redukuje problém prohledání okolí bodu o předem dané velikosti z m-dimenzionálního na 1-dimenzionální, ve kterém lze použít například B-stromy Prohledání m-rozměrného kvádru v okolí bodu x změní na prohledání určitých úseků přímky

474 DBI010 - DIS - MFF UK Pyramidová technika m-rozměrná krychle m je rozdělena na 2m pyramid –Každá pyramida má podstavu, tvořenou jednou z 2m m-1-rozměrných stěn krychle a vrcholem ve středu krychle m=2, 4 pyramidy m=3, 6 pyramid

475 DBI010 - DIS - MFF UK Pyramidová technika m-rozměrná krychle m je rozdělena na 2m pyramid –Každý m-rozměrný bod krychle se zobrazí na bod 0,5*ČísloPyramidy+VzdálenostOdPodstavy v1v1 v2v2 0,5+v 1 0,00,51,01,52,0 1,5+v 2

476 DBI010 - DIS - MFF UK Pyramidová technika Při prohledávání okolí daného bodu se prohledávají pouze pásy rovnoběžné s podstavou pyramid, do kterých kvádr okolí zasahuje. Těch je maximálně 2m 0,5+v 1 0,00,51,01,52, v1v1

477 DBI010 - DIS - MFF UK Pyramidová technika Výhody –Snadné nalezení všech bodů, patřících do kvádru v okolí daného bodu a dané velikosti –Odpovědi na dotazy DIS s danou maximální vzdáleností (minimální podobností) dokumentu od dotazu Nevýhody –Nevhodné pro nalezení nejbližšího(-ších) bodu(-ů) k zadanému bodu x Není zřejmé, jak velké okolí se musí procházet, aby v něm byl alespoň jeden bod –Nevhodné, pokud v některých dimenzích není určen interval Výsledný kvádr zasahuje do mnoha pyramid velkým objemem v1v1

478 DBI010 - DIS - MFF UK IGrid Index Řeší problém s narůstající velikostí dimenze odlišnou definicí podobnosti (vzdálenosti) bodů v m-rozměrném prostoru –Méně „intuitivní“ definice –Nevhodná pro nízko-dimenzionální prostory –Rostoucí efektivita se zvětšující se dimenzí Čím vyšší dimenze m, tím menší procento prostoru je nutné projít pro nalezení nejbližšího bodu

479 DBI010 - DIS - MFF UK IGrid Index Základem metody je rozdělení m-dimenzionálního prostoru obsahujícího n bodů na diskrétní m-dimenzionální podintervaly –i-tá dimenze se rozdělí na k m úseků tak, aby v každém úseku existovalo zhruba m/k m bodů, tedy ve všech úsecích stejně Pokud je v některé dimenzi rozdělení dat nerovnoměrné, hustěji použité úseky jsou jemněji rozděleny

480 DBI010 - DIS - MFF UK IGrid Index

481 DBI010 - DIS - MFF UK IGrid Index Podobnost je v takto rozděleném prostoru definována Pokud X=[x 1,x 2,…x m ], Y=[y 1,y 2,…y m ] potom –Pokud x i a y i patří do stejného úseku, jsou body podobné v dimenzi i a přírůstek podobnosti je určen hodnotou 1-[(|x i -y i |)/(u i -l i )] p. Jinak je přírůstek nulový. Celkově se podobnost sčítá pouze přes dimenze, kde jsou si body podobné Sim(X,Y)= p  (1-[(|x i -y i |)/(u i -l i )] p ) Sim(X,Y) 