text kapitoly

Transkript

text kapitoly
10. Nové směry
V drtivé většině se databázemi ze kterých se dobývají znalosti myslí relační databáze (jedna nebo
více). U těchto databází se předpokládá vzájemná nezávislost záznamů z hlediska pořadí v databázi.
Existují samozřejmě složitější data: časová (např. časové řady), prostorová (např. data z geografických
informačních systémů), nebo strukturální (např. data o chemických sloučeninách). Na druhé straně
stojí data nestrukturovaná (např. texty). Spolu s tím se objevují nové oblasti aplikací dobývání
znalostí, které řeší své specifické problémy. Někdy stačí mírně adaptovat existující postupy, někdy je
třeba zásadně změnit kroky předzpracování a transformace dat, a někdy přicházejí na řadu zcela nové
metody. V této kapitole se podíváme podrobněji na dvě dnes tak populární nové oblasti dobývání
znalostí; dobývání znalostí z textu a dobývání znalostí z webu.
10.1 Dobývání znalostí z textů
Dobývání znalostí z textů (knowledge discovery in texts - KDT, text mining) můžeme chápat jako
speciální typ úlohy dobývání znalostí z databází. Zatímco u databází pracujeme s údaji uloženými
v pevné struktuře, zde máme co do činění s nestrukturovaným textem. Hlavním problémem tedy je jak
vhodně reprezentovat textový dokument, aby bylo možno použít některý z algoritmů.
10.1.1 Reprezentace dokumentu
Nejpoužívanějším způsobem reprezentace textového dokumentu je použití vektoru který má tolik
složek kolik je slov (termínů)1 ve slovníku, nebo v souboru dokumentů (tzv. kolekci) který chceme
zpracovávat – každému termínu je totiž vyhrazena jedna fixní pozice. Jednotlivé dokumenty bývají
tedy reprezentovány řídkými vektory o tisících hodnot 2. Každý termín 3 ze slovníku (atribut) pak
může být pro daný dokument kódován např. :
•
binárně – tedy výskyt/nevýskyt v dokumentu,
•
počtem výskytů v dokumentu,
•
pomocí hodnoty TFIDF (term frequency inverse document frequency)4
kde
M
TFIDF = n * log m
n je počet výskytů termínu v dokumentu
m je počet výskytů termínu v celé kolekci
M je počet dokumentů v kolekci
1
Přesněji slovních kmenů, což jsou slova po odstranění koncovek vzniklých ohýbáním (skloňováním nebo časováním).
2
Není výjimkou, když má vektor 30 000 složek s tím, že většina složek je prázdná – proto název řídký vektor.
3
Opět upřesníme. Nemusí se nutně jednat o všechna slova. Ze slovníku se obvykle vylučují tzv. stopslova, což jsou např.
spojky nebo jiná slova, která se vyskytují v každém textu a jsou tedy irelevantní vzhledem k obsahu dokumentu.
4
Tato dodnes nejpoužívanější metoda byla navržena Saltonem již na počátku 70. Let [Salton, 1971].
1
Tato reprezentace má své výhody i nevýhody. Výhodami je, že je nevyžaduje složité předzpracování a
že je invariantní vůči pořadí slov v dokumentu., nevýhodami je, že tato reprezentace neumožní
zachytit víceslovné fráze a že nebere do úvahy strukturu dokumentu. Problém s víceslovnými frázemi
lze odstranit tak, že složka vektoru bude místo jednoho slova odpovídat víceslovnému termínu
(sekvenci slov tedy např. „dobývání znalostí“ )5, jinou možností je použít tzv. n-gramy což jsou
sekvence n typografických znaků (tedy např. tirgramy „dob“, „obý“, „býv“, „ývá“, „ván“, „ání“ pro
termín „dobývání“).
Hlavním problémem je ovšem veliká dimenze vektorů. Z hlediska metod dobývání znalostí je totiž
značně problematické, odvozovat obecné závěry na základě desítek nebo stovek příkladů, které jsou
reprezentovány tisíci nebo desetitisíci atributy. Proto se hledají způsoby, jak počet atributů snížit.
Hezký přehled používaných metod lze nalézt v [Zighed, di Palma, 2000]. Jednou možností je použít
jen určité termíny, druhou možností je transformovat termíny na složitější koncepty. V obou případech
lze použít metody redukce dimenzionality známé např. z oblasti rozpoznávání obrazů (pattern
recognition)6. Jako příklad selekce zmiňme použití χ2 testu, který umožní pro každý termín testovat
jeho relevantnost pro zařazování dokumentů do tříd. Pro transformaci termínů lze použít shlukování
termínů, faktorovou analýzu, nebo indexace latentní sémantiky. Zde vytváříme nové koncepty
reprezentující dokumenty kombinací původních složek vektoru. V případě latentního sémantického
indexování [Dumais a kol, 1988] získáme jakési obecnější (ale pořád ještě srozumitelné) koncepty.
Latentní sémantická struktura se vytváří za použití dekompozice matice na singulární hodnoty
(Singular Value Decomposition). Jedná se o metodu z lineární algebry, která umožňuje vyjádřit
nějakou obdélníkovou matici A jako (Obr. 1)
A=U∗∑∗V
kde
T
T
U ∗U = E
T
V ∗V = E
∑ je diagonální matice hodnot σ1... σn vyjadřujících důležitost konceptu i
V našem případě matice A odpovídá původní reprezentaci kolekce dokumentů pomocí termínů. Matice
V pak představuje reprezentaci kolekce dokumentů pomocí konceptů. Konceptů je přitom podstatně
méně než původních termínů. Transformace matice A na matici V se provádí podle vztahu
T
V = A ∗U∗∑
dokumenty
termíny
A
t*d
-1
koncepty
termíny
=
dokumenty
∑
U
t*c
*
VT
koncepty
*
c * c (diag)
c*d
Obr. 1 Princip indexace latentní sémantiky
5
Tak se ale zvětší počet složek vektoru, navíc sekvence lsov budou mít menší četnost než jednotlivá slova.
6
První možnost se zde nazývá selekce příznaků (feature selection), druhá možnost se nazývá konstrukce příznaků (feature
construction).
2
Jako zajímavá alternativa k výše uvedenému způsobu reprezentace „co termín to atribut“ se nabízí
použití atributů, které nabývají více hodnot současně. Každý atribut, odpovídající určité části
dokumentu, by pak uchovával množinu slov obsaženou v této části 7. Tento přístup byl, v souvislosti s
filtrováním elektronické pošty použit v systému Ripper; každý dopis byl reprezentován pomocí
atributů From, To, Subject a Message [Cohen, 1996].
10.1.2 Podobnost dokumentů
Reprezentace pomocí vektorů umožňuje chápat dokumenty jako body v prostoru atributů. Logicky se
tedy naskýtá otázka podobnosti resp. vzdálenosti. V oblasti zpracování textů se používá řada měr
vyjadřujících podobnost 8. Jsou-li x1 a x2 dva vektory x1 ={x11,x12, …, x1m} x2 ={x21,x22, …, x2m}, potom
•
Kosínová míra podobnosti
x1 · x2
simC(x1, x2) = cos (x1, x2) = ║x ║║x ║
1
2
•
Míra symetrického překrytí
simS(x1, x2) =
•
∑j min(x1j ,x2j)
min(∑j x1j , ∑j x2j)
Diceho míra podobnosti
2 ║ x 1 ∩ x 2║
simD(x1, x2) = ║ x ║ + ║ x ║ =
1
2
•
2 x 1· x 2
∑j x1j + ∑j x2j
Jacardova míra podobnosti
simJ(x1, x2) =
║x1 ∩ x2║
x 1· x 2
=
║ x 1 ∪ x 2║
∑j x1j + ∑j x2j - x·z
kde
m
x1 ⋅ x2= ∑ x1j x2j
j=1
je skalární součin. V případě použití latentního sémantického indexování je podobnost dvou
dokumentů dána přímo tímto součinem jejich reprezentací v prostoru konceptů.
Výraz║x║ (tzv. norma vektoru) se spočítá jako
║x║ = √x·x =
m
∑ xj2
j=1
7
Tento přístup jednak redukuje počet atributů popisujících dokument, jednak umožňuje brát do úvahy různou důležitost
různých částí dokumentu.
8
Podobnost mezi vektory byla již zmíněna v kapitolách o statistice a analogii. Zde se objevují míry podobnosti přímo
navržené pro práci s vektory reprezentujícími texty.
3
10.1.3 Typy úloh
Podobně jako při dobývání znalostí z databází i při dobývání znalostí z textů narážíme na úlohy
klasifikace nebo deskripce. Tyto úlohy mají ovšem trochu jiné pojetí; blíží se úlohám zpracování
informací: vyhledávání informací (information retrieval) a extrakce informací (information extraction).
Jak vyhledávání, tak extrakce informací, je předmětem trvalého zájmu odborníků zabývajících se
zpracováním přirozeného jazyka. Svědčí o tom mimo jiné pravidelné mezinárodní konference TREC
(Text REtrieval Conferences) a MUC (Message Understanding Conferences).
10.1.3.1
Vyhledávání informací
V obecné teorii zpracování informačních fondů se hovoří o tom, že vyhledávání relevantních
dokumentů je řešeno porovnáváním jejich selekčních obrazů (reprezentací) se selekčním obrazem
(reprezentací) dotazu [Strossa, 2000]. Úlohy vyhledávání informací (information retrieval) jsou tedy
úlohy klasifikační. Cílem je nalézt dokumenty, které nejlépe odpovídají zadanému dotazu 9.
Počátky tohoto přístupu můžeme nalézt v 50. letech, kdy se začaly vytvářet první bibliografické
(dokumentografické) databáze, uchovávající informace o publikacích (knihách, článcích). Použitý
způsob reprezentace dokumentů byl založen na tzv. indexování. Při indexování se vyberou (ručně
nebo automaticky) termíny, podle kterých má být dokument vyhledatelný a uloží do tzv. indexového
(invertovaného) souboru. Vyhledávání dokumentů pak spočívá v procházení indexového souboru a
hledání odkazů na ty záznamy, které splňují nějakou podmínku vytvořenou kombinací termínů.
Nejjednodušší způsob vyhledávání vychází z tzv. booleovského modelu. Tento model předpokládá
vyhledávací podmínku vytvořenou pomocí logických spojek AND, OR a NOT 10. Pro každý
dokument v databázi se pak zjišťuje, zda podmínce vyhovuje (logická 1) nebo nevyhovuje (logická 0).
Booleovský model má několik nevýhod:
•
neumožňuje vzít do úvahy, že různé termíny mohou mít různou důležitost při charakterizování
daného dokumentu,
•
neumožňuje uživateli přiřadit různou důležitost termínům v dotazu,
•
neumožňuje vyjádřit relevantnost nalezeného dokumentu v jemnější škále.
Proto se hledaly způsoby jak booleovský model rozšířit. Jedním z možných rozšíření je použití fuzzy
logiky 11. Ta umožňuje přejít od dvouhodnotového vyjádření (pravda – nepravda) k vyjádření
vícehodnotovému, nabízí rovněž způsob jak pracovat s váhami termínů (ať už v reprezentaci
dokumentů nebo v reprezentaci dotazu). Je-li např. dotaz Q zadán pomocí vážených termínů tj:vj a tk:vk
a jsou-li v dokumentu D přítomny stejné termíny (s vahami w) tj:wj a tk:wk , bude míra relevance R(D,Q)
dokumentu D vzhledem k dotazu Q pro dotaz D daný konjunkcí tj:vj AND tk:vk
R(D,Q) = min (vj × wj,vk × wk )
a pro dotaz D daný disjunkcí tj:vj OR tk:vk
R(D,Q) = max (vj × wj,vk × wk ).
9
Jde tedy o úlohu klasifikace do dvou tříd; dokument odpovídá nebo neodpovídá zadané specifikaci.
10
Kromě logických spojek se používá i rozšiřování slov (pravostranné - např. počít∗, levostranné – např. ∗ie) a proximitní
operátory vyjadřující vzájemnou pozici (vzdálenost) vyhledávaných termínů v dokumentu.
11
Jinou možností jak rozšířit práci s operátory AND a OR je tzv. geometrické rozšíření, které již chápe dotaz i dokument
jako body v prostoru.
4
V případě reprezentace dokumentů i dotazů vektorově (viz výše) se obvykle nepracuje s explicitním
vyjádřením za použití logických operátorů. Při vyhledávání se použije některá z měr podobnosti (viz
výše).
Obr. 2 Přesnost a úplnost vyhledávání
Výsledky dotazu bývají hodnoceny na základě přesnosti (precision) a úplnosti (recall)12. Přesnost
vyjadřuje, jak velkou část nalezených dokumentů představují dokumenty relevantní, úplnost vyjadřuje,
jak velká část ze všech relevantních dokumentů byla nalezena (Obr. 2). Velice často (typicky pro
booleovský model) můžeme pozorovat nepřímou úměru mezi oběma charakteristikami; úzké dotazy
(typicky použití spojky AND) umožní nalézt relativně malý počet dokumentů, které jsou většinou
relevantní, široké dotazy (typicky použití spojky OR) umožní nalézt relativně velký počet dokumentů,
které ale nebývají většinou relevantní. Úzké dotazy tedy odpovídají levé časti grafu, široké dotazy
pravé části grafu na Obr. 3.
Obr. 3 Vztah přesnosti a úplnosti
12
Obě charakteristiky ze používají i pro hodnocení klasifikačních modelů při „běžném“ dobývání znalostí z databází; viz
příslušná kapitola.
5
Mezi nejznámější algoritmy pro vyhledávání informací patří Saltonův algoritmus SMART (System for
Manipulating And Retrieving Text). SMART používá pro reprezentaci dokumentů vektor, jehož
složky odpovídají hodnotám TFIDF pro jednotlivé termíny. Pro měření podobnosti pak používá
kosínovou míru a míru symetrického překrytí [Salton, 1971].
Variantou hledání dokumentů, které odpovídají dotazu, je seskupování dokumentů do tříd
(kategorizace dokumentů – document categorization). Informace o zařazení dokumentu do třídy může
být v datech vyjádřena explicitně, lze ji implicitně odvodit na základě dotazu, nebo jde o shlukování
dokumentů na základě vzájemné podobnosti.
V kontextu dobývání znalostí můžeme v obou případech použít některý z algoritmů pro řešení
klasifikačních úloh. Poměrně často se objevuje použití naivního bayesovského klasifikátoru pro
klasifikaci dokumentů do tříd [Lewis, 1991], [Grobelnik, Mladenic, 1998]. Jednoduchý příklad uvadí i
Mitchell ([Mitchell, 1997]); dokumenty jsou reprezentovány pomocí vektorů tak, že pozice ve vektoru
(atribut) odpovídá pořadí slova v dokumentu, přičemž hodnota atributu je přímo příslušné slovo.
Délka dokumentu tedy určuje délku vektoru. Na základě trénovací množiny (příklad uvádí klasifikaci
do dvou tříd) se určí podmíněné pravděpodobnosti P(i-té_slovo_ je_ X|dokument_patří_do_třídy),
které se pak (spolu s relativními četnostmi obou tříd) použijí pro klasifikaci.
Jiným používaným algoritmem, umožňujícím provádět shlukování dokumentů je Kohonenova
neuronová síť SOM. Geometrická interpretace Kohonenovy mapy se převádí na interpretaci
pojmovou; čím více jsou dva shluky od sebe v Kohonenově mapě dále, tím rozdílnější obsah odpovídá
příslušným dokumentům. Jednotlivé dokumenty jsou reprezentovány vektory, jejichž složky vyjadřují
TFIDF termínů, jednotlivé shluky jsou reprezentovány klíčovými slovy (frázemi). Tento přístup je
obzvláště populární v souvislosti s kategorizací dokumentů na Internetu; tomu odpovídá i jméno
algoritmu – WebSOM ([Honkela, 1996], [Kohonen, 1998]). Místo jedné Kohonenovy mapy můžeme
použít i soustavu vzájemně propojených map; to umožní zachytit hierarchickou strukturu dokumentů
(témat) [Merkl, Rauber, 2000].
Pro vyhledávání dokumentů lze použít i genetické algoritmy. Dokumenty budou reprezentovány
bitovými řetězci (chromozomem) kódujícími výskyt (1) nebo nevýskyt (0) určitého termínu. Funkce fit
pak bude odpovídat některé míře podobnosti (např. Jaccardově) mezi dokumentem a dotazem, rovněž
reprezentovaným bitovým řetězcem [Gordon, 1988].
Jak je z uvedeného dílčího přehledu vidět, převládají pro vyhledávání informací metody, kterým
nečiní problémy zpracovávat numerické vektory o velkém počtu složek.
10.1.3.2
Extrakce informací
V kontextu zpracování přirozeného jazyka je extrakce informací (information extraction) chápána jako
analýza nestrukturovaného textu za účelem nalezení specifického typu informace. Obvykle se přitom
vychází z předefinovaných šablon (scénářů, rámců), vyjadřujících syntaktické (typy částí věty) i
sémantické (např. typy činností vyjádřených slovesem) znalosti, které se naplňují konkrétním obsahem
na základě analýzy plného textu. Je-li např. předdefinována šablona „X vlastní(má) Y“ tak na
základě věty „Ema má mísu“ lze přiřadit X=Ema, Y=mísa. Hledá se tedy konkrétní obsah explicitně
vyjádřených relací.
Experimentální systémy pro extrakci informací se uplatňují v oblasti medicíny (pro vytváření souhrnů
z lékařských zpráv), v oblasti monitorování technické literatury (pro sledování článků o technologii
výroby počítačových čipů), nebo v oblasti monitorování přepisu rozhlasových a televizních zpráv
(sledování aktivit teroristů).
V kontextu dobývání znalostí z databází můžeme chápat extrakci informací jako hledání blíže
nespecifikovaných vztahů mezi pojmy o kterých se v textu vypovídá. Přitom se provádí zobecňování
6
na základě příkladů-textů 13. Z hlediska typologie úloh dobývání znalostí se jedná většinou o úlohy
deskripce. Často se přitom vychází z metod zpracování přirozeného jazyka, které představují krok
předzpracování ve smyslu celého procesu dobývání znalostí.
Kodratoff uvádí příklad použití systému zpracovávajícího přirozený jazyk pro převedení dokumentů
do vektorové reprezentace, kde termíny (složky vektorů) odpovídají konceptům o kterých dokumenty
vypovídají. Při této reprezentaci textů lze opět použít běžné algoritmy dobývání znalostí, v tomto
konkrétním případě systém Clementine [Kodratoff, 2000].
Systém FACT (Finding Associations in Collections of Text), hledá, jak z názvu vyplývá, asociace
mezi výskytem různých frází v souboru dokumentů. Publikovaný příklad se týkal politických událostí
na Blízkém Východě přelomu 80. a 90. let [Feldman, Hirsh, 1997]. Podobně jako v algoritmu apriori,
i zde se začíná s hledáním častého současného výskytu významných slov 14. Následně jsou vytvářena
asociační pravidla A⇒ S, která jsou interpretována ve smyslu „píše-li se o A, píše se současně i o B“.
Příkladem asociace tedy může být
{Iran,USA} ⇒ Reagan
Dalším systém týchž autorů je Document Explorer. Tento systém opět vytváří asociační pravidla 15
získaná na základě dokumentů reprezentovaných na úrovni termínů extrahovaných z textu, přičemž se
používají odpovídající TFIDF hodnoty. Popisovaná aplikace je tentokráte zaměřena na texty (zprávy
Reuters) z oblasti ekonomie [Feldman a kol, 1998a]. Příkladem pravidla tedy je
america online inc, bertelsmann ag ⇒ joint venture (13, 0.72)
Rozhodující pro provádění automatické extrakce informací je dostatečné množství doménových
znalostí. V případě systému FACT to byly geopolitické znalosti (státy a jejich vzájemné hospodářské a
politické vztahy) a znalosti linguistické (synonyma k vybraným termínům) v případě systému
Document Explorer se jednalo o znalosti o firmách (typy obchodních společností, jména firem). Bez
takovýchto znalostí nemohou metody extrakce informací aspirovat na úspěch.
10.1.4 Systémy
Přestože je dobývání znalostí z textů záležitostí především výzkumnou, již dnes se objevují některé
komerčně dostupné systémy pro aplikace tohoto druhu. Příkladem mohou být Intelligent Miner for
Text firmy IBM (http://www.software.ibm.com/) nebo Text Analyst firmy Megaputer Intelligence
(http://www.megaputer.com). Po vhodném předzpracování textů do podoby relační tabulky lze použít
i systémy pro dobývání znalostí z databází.
13
Kodratoff demonstruje rozdíl mezi extrakcí informací a dobýváním znalostí z textů na přikladu analýzy novinových zpráv.
Zatímco při extrakci informací můžeme zjistit, že jsou zprávy, ve kterých současně píše o Monice Lewinské a Billu
Clintonovi, při dobývání znalostí odvodíme pravidlo píše_se_o_Lewinské ⇒ píše_se_o_Clintonovi [Kodratoff, 2000].
14
Co je významné musí být dodáno jako dodatečná doménová znalost.
15
Systém rovněž nabízí tzv. graf kontextů (context graph) a graf trendů (trend graph). V případě grafu kontextů se jedná o
prostou vizualizaci vzájemně asociovaných termínů tak, jak jsme to viděli u systému Clementine. Graf trendů pak
zobrazuje, jak se tyto asociace (témata o kterých se píše) mění v čase [Feldman a kol. 1998b].
7
10.2 Dobývání znalostí z webu
Dobývání znalostí z webu (web mining) soustřeďuje svoji pozornost na nejdynamičtěji se rozvíjející
zdroj informací současnosti, na Internet a především na službu world wide web. V některých
případech web slouží jako zdroj dat pro „klasické“ dobývání znalostí z databází i pro dobývání
znalostí z textů, v jiných případech se jedná nové typy úloh, vyplývající ze zvláštností Internetu.
Zaiane and Han [Zaiane, Han, 1998] uvádějí hezkou taxonomii úloh dobývání znalostí na webu:
•
dobývání znalostí na základě obsahu webu (web content mining)
•
dobývání znalostí na základě struktury webu (web structure mining)
•
dobývání znalostí na základě používání webu (web usage mining)
10.2.1 Obsah webu
Cíl dobývání znalostí na základě obsahu webu je analogický cíli dobývání znalostí z textů; získat
znalosti na základě webovských stránek chápaných jako dokumenty. V kontextu Internetu jsou tedy
řešenými úlohami
•
vyhledávání a metavyhledávání (tj. hledání stránek relevantních k dotazu uživatele), kategorizace
dokumentů (shlukování stránek podle obsahu) nebo filtrování (tj. rozpoznání stránek relevantních
k uživatelově profilu),
•
dobývání znalostí “skrytých” ve stránkách (extrakce informací nebo zodpovídání dotazů).
10.2.1.1
Vyhledávání informací
Vyhledávací stroje (search engines) patří mezi nejpoužívanější nástroje pro práci s webem. Na základě
zadání několika vyhledávacích termínů se tyto systémy snaží nalézt relevantní dokumenty (stránky na
webu). Výsledkem vyhledávání je obvykle seznam odkazů na stránky, uspořádaný podle skóre, které
vyjadřuje shodu dokumentu s dotazem. Vyhledávače používají indexové soubory ve kterých hledají
relevantní odkazy, mohou rovněž procházet plné texty dokumentů na webu. Vyhledávání podle
zadaných termínů bývá často doplněno pojmovou hierarchii přímo přístupných odkazů.
K notoricky známým zahraničním vyhledávačům patří Altavista (http://www.altavista.com) 16 nebo
Yahoo! (http://www.yahoo.com), k tuzemským pak Seznam (http://www.seznam.cz), Kompas,
(http://kompas.seznam.cz), Atlas (http://hledej.atlas.cz) nebo Alenka (http://www.alenka.cz). Kromě
těchto univerzálních vyhledávačů existují i vyhledávače specializovanější. Zmiňme v této souvislost
alespoň vyhledávač Google zaměřený na odborná témata (http://www.google.com) nebo vyhledávač
Ahoy! (http://ahoy.cs.washington.edu:6060/) zaměřený na vyhledávání domovských stránek osob
[Etzioni, 1997].
16
8
Všechny uváděné URL odkazy odpovídají době psaní rukopisu, tedy zhruba polovině roku 2000.
dotaz
nalezené
dokume
nty
podobné
dokumenty
http://.............
http://............
podobné
dokumenty
...
Obr. 4 Vyhledávání dokumentů na webu
Cílem vyhledávání je opět nalézt soubor odkazů dosahující vysoké přesnosti a úplnosti. Zatímco
přesnost můžeme objektivně stanovit, se stanovením úplnosti bude problém. Na rozdíl od neměnných
kolekcí textu máme nyní pouze výsledek ad-hoc dotazu uživatele do celého prostoru webu. Různé
vyhledávací systémy tento prostor pokrývají (indexují) různou mírou. Velice často se proto
vyhledávání (na základě dotazu uživatele) doplňuje o nalezení podobných dokumentů (Obr. 4).
Jinou možností jak zvýšit úplnost je metavyhledávání. Metavyhledávání umožňuje simultánní přístup
k více (klasickým) vyhledávacím strojům (jako např. Yahoo, AltaVista nebo InfoSeek). Dalšími
výhodami metavyhledávání bývá jednotné uživatelské rozhranní, následné zpracování nalezených
odkazů i přístup k vyhledávacím strojům neznámým pro uživatele. V posledních několika letech se
objevila řada metavyhledávacích systémů vybavených různou „inteligence“. V tom nejjednodušším
smyslu se jedná o přístup k mnoha vyhledávacím strojům z jednoho místa; příkladem takového
systému může být All-in-One (http://www.albany.net/allinone) kdy uživatel musí ručně zvolit, který
vyhledávací stroj použije a pak pro něj musí zformulovat dotaz (Obr. 5). Jiné systémy již nabízejí
jednotný interface k několika různým vyhledávacím strojům; uživatel formuluje dotaz jen jednou.
MetaCrawler (http://www.metacrawler.com) (Obr. 6) tento dotaz distribuuje do vyhledávacích strojů,
obdržené výsledků je pak schopen dále upravit (lokální prohledávání obdržených stránek).
HuskySearch (http://huskysearch.cs.washington.edu) vytváří z nalezených odkazů shluky dokumentů
na základě podobnosti témat (Obr. 7). SavvySearch (http://guaraldi.cs.colostate.edu:2000/) - Obr. 8
na základě uživatelova dotazu navíc rozhoduje, do kterého vyhledávacího stroje má dotaz zaslat; toto
rozhodování je založeno na "profilech" jednotlivých vyhledávacích strojů - tedy na relevantnosti
vyhledávacího stroje pro daný dotaz. Systém AskJeeves (http://www.askjeeves.com) (Obr. 9)
kombinuje dotazování do vyhledávacích strojů (a následné zpracování výsledků do velice
srozumitelné podoby) s databází přímých odpovědí na běžné otázky odpovědí (odpovědi zde
znamenají URL odkazy, tato báze je aktualizována manuálně). AskJeeves je schopen akceptovat dotaz
v přirozeném jazyku17 .
17
Tento modul pro vstup dotazu v přirozeném jazyce byl převzat vyhledávačem AltaVista.
9
Obr. 5 All-in-One
Obr. 6 MetaCrawler
10
Obr. 7 HuskySearch
Obr. 8 SavvySearch
11
Obr. 9 AskJeeves
Při vyhledávání resp. metavyhledávání se naskýtá možnost použití zpětné vazby. Uživatel může
systému poskytnout hodnocení výsledků dotazu. Tato informace pak je systémem použita pro
modifikaci znalostí o uživatelově profilu. Profil se může vztahovat k jednomu uživateli nebo ke
skupině uživatelů s podobnými zájmy. Ve druhém případě se mluví o kolaborativním filtrování
(collaborative filtering); profil jednoho uživatele je porovnán s profily ostatních uživatelů, to umožní
nalézt oblast společných zájmů. Zatímco u klasického vyhledávání je jeden dotaz konfrontován s
velkým objemem uložených dokumentů, při filtrování je porovnávána sada definovaných profilů s
jednotlivými dokumenty. Pokud je dokument relevantní, je zaslán uživateli, jemuž přísluší daný profil.
Profil reprezentuje určitou trvalou informační potřebu a jeho formulace obvykle bývá mnohem
komplexnější než u přímých, jednorázových dotazů.
Příkladem systému, který používá profily při práci s diskuzními skupinami je systém NewsWeeder,
který nabízí uživateli dokumenty v závislosti na profilu uživatele - tento profil je průběžně
aktualizován. Jednotlivé dokumenty jsou v systému reprezentovány vektorově (s hodnotami TFIDF
jako složkami vektorů), na základě zpětné vazby od uživatele (zajímavý resp. nezajímavý dokument)
se aktualizují podmíněné pravděpodobnosti p(E|H) = p(vektor_reprezentuje_dokument | dokument_
odpovídá_profilu) 18 [Lang, 1995].
18
Pro učení i klasifikaci se používá naivní bayesovský klasifikátor. Předpokládá se tedy že
p(vektor_reprezentuje_dokument|dokument_odpovídá_profilu)= Π p(slovo_reprezentuje_dokument | dokument_odpovídá_
profilu).
12
Příklady použití automaticky vytvářených profilů pro podporu brouzdání po webu najdeme např.
v systémech WebWatcher nebo Syskill & Webert. Systém WebWatcher „sleduje“ uživatele při
brouzdání webem a z jeho akcí odhaduje (bez využití explicitní zpětné vazby)19 co uživatele zajímá.
Úkolem naučeného systému je doporučit pro aktuální webovskou stránku odkaz, který by měl
uživatel zvolit pro další postup webem. Toto doporučení se provádí na základě znalosti o kvalitě
odkazu, která závisí na aktuální stránce a zájmech uživatele [Joachims a kol, 1997]. Cílem systému
Syskill & Webert je nalézat a doporučovat uživateli dosud nenavštívené stránky tykající se určitého
tématu. Za tímto účelem si systém vytváří pro každého uživatele různé profily odpovídající různým
oblastem jeho zájmu 20. Systém používá binární reprezentaci dokumentů na základě 96 vybraných
termínů a naivní bayesovský klasifikátor [Pazzani a kol, 1996].
Zajímavou variantou vytváření profilů nalezneme ve výše zmíněném metavyhledávacím systému
SavvySearch. Místo aby se systém snažil nalézt profily jednotlivých uživatelů (nebo skupin) hledá
profily jednotlivých vyhledávacích strojů. Snaží se tedy určit, který vyhledávací stroj nejlépe zodpoví
položený dotaz. Bere přitom do úvahy jak kvalitu vyhledávacího stroje z hlediska dotazu (to je dáno
počtem nalezených odkazů), tak dobu odezvy [Howe, Dreilinger, 1997].
10.2.1.2
Extrakce informací
S extrakcí informací se můžeme setkat u systémů, které nabízejí podporu při nakupování přes Internet.
Tato podpora je zaměřena především na procházení on-line katalogů firem s cílem nalézt cenově
nejvýhodnější nabídku daného produktu. Pro tuto činnost se vžilo označení comparison shopping.
Systémy, které to umožňují bývají nazývány shopbots (podle toho, že se jedná o roboty pohybující se
v obchodech).
Příkladem takového systému je Netbot Jango (http://www.jango.com) - Obr. 10, který je schopen se
naučit vyhledávat zboží v on-line katalozích, rozpoznat jednotlivé informace (název produktu, cenu
apod.) a doporučit uživateli nejlevnějšího dodavatele 21. Jedná se tedy o příklad vyhledání informací
(nalezení webovské stránky s on-line katalogem) i extrakce informací (dekódování způsobu popisu
produktu včetně nalezení důležitých charakteristik typu cena). V průběhu učení se struktuře katalogu
používá systém různé finty a fígle jako např. pokus o nákup neexistujícího produktu, což umožní
analyzovat odpověď „zboží není na skladě“ v podobě používané daným katalogem, nebo řadu
„úspěšných“ objednávek – jejich potvrzení slouží k vytvoření trénovací množiny [Etzioni, 1997].
Používání tohoto typu systémů má přímý dopad na chování jak zákazníků (kteří jdou za nejnižší
cenou) tak obchodníků (kteří se snaží jít s cenou co nejníže). Může v tom být ale jeden chyták.
Uživatelova představa o prohledávání „všeho“ zde opět naráží na realitu práce jen s určitou částí
webu. Tentokrát to ale může být způsobeno i tím, že poskytovatel této služby zaměří prohledávání
pouze na „spřátelené“ obchodníky.
19
Jedná se zde o učení „zaučováním“ (apprenticeship learning).
20
To je trochu atypický přístup. Obvykle se pro jednoho uživatele vytvoří jeden profil.
21
Tento původně akademický systém se stal součástí vyhledávače Excite.
13
Obr. 10 Netbot Jango
10.2.2 Struktura webu
Dokumenty na webu jsou navzájem propojeny strukturou odkazů. Při dobývání znalostí na základě
struktury tedy pohlížíme na web jako na graf, kde uzly jsou dokumenty (stránky) a hrany jsou vazby
(odkazy) mezi stránkami.
Ukazuje se, že prostor webu není propojen homogenně. Existuje poměrně veliká část webu (tzv. jádro
tvořené asi 56 miliony stránek), která je navzájem propojena velice hustě. Pak existuje část „vstupní”
(asi 44 mil stránek), kde jsou stránky ve kterých převažují odkazy směrem do jádra (ale už ne naopak)
a část „výstupní” (opět asi 44 mil stránek), kde jsou stránky na které vedou odkazy z jádra (ale už ne
naopak) [Tomkins, 2000].
To co bylo řečeno o celém webu se vztahuje i na jeho dílčí, tématicky zaměřené části. Ke každé
oblasti, o které se „píše” na webu lze nalézt dva typy stránek; rozcestníky (hubs) a „referenční” zdroje
informací (authorities). První typ odkazuje na veliké množství jiných stránek (tato informace se dá
získat velice snadno, přímo z dané stránky), druhý typ se jako odkaz objevuje na velkém množství
stránek (tuto informaci lze získat analýzou odkazů z většího množství stránek) - Obr. 11. O každé
stránce p lze říci do jaké míry patří mezi rozcestníky a do jaké míry mezi autority na základě dvou
indexů; authority-weight a(p) a hub-weight h(p) [Chakrabarti a kol, 1999]:
a(p) := ∑ h(q)
q→p
h(p) := ∑ a(q)
p→q
14
H
A
Obr. 11 Rozcestník a autorita
Uvedené členění stránek využívá experimentální vyhledávač Clever firmy IBM. Nalezením
rozcestníků a autorit můžeme redukovat část webu pokrývající dané téma do jakési kostry. Zdá se, že
tyto kostry vykazují značnou podobnost bez ohledu na téma. Můžeme tedy hledat jakési „typické“
podgrafy ve struktuře www 22.
Strukturu odkazů mezi jednotlivými dokumenty lze použít i pro hledání vazeb mezi lidmi. Systém
Referral web [Kautz a kol, 1997] je založen na myšlence, že „známý mého známého má známého,
který zná přesně toho člověka, který mi poradí”. Podkladem pro vývoj systému je studie z poloviny
60. let, která ukazuje, že dvě libovolné osoby v USA se dají propojit řetězem maximálně šesti osob.
Kdo se s kým zná se odvozuje na základě extrakce informací z dokumentů na webu; lidé se znají,
pokud pracovali na stejném projektu, pokud jsou spoluautoři nějaké publikace, pokud byli
v programovém výboru stejné konference a podobně. Při vytváření řetězce osob schopných
zprostředkovat nějaký kontakt se postupně vytváří 1-okolí dané osoby (tj. osoby, na které má dotyčný
přímý kontakt), 2-okolí (tj. okolí odkazovaných osob) atd. Jedná se časově velice náročný proces
prováděný off-line; vytvoření 3-okolí trvá údajně 24 hodin.
10.2.3 Používání webu
Cílem dobývání znalostí na základě používání webu je analýza chování uživatelů při procházení
jednotlivých stránek [Srivastava a kol., 2000]. Zdrojem dat jsou tzv. web server logy zachycující údaje
o IP adrese uživatelova počítače, datu a čase přístupu, navštíveném URL a typu požadavku.
Z hlediska dobývání znalostí se tedy jedná o časová data, která můžeme chápat jako sekvence stránek
navštívených jedním uživatelem. V těchto sekvencích můžeme hledat např. často se opakující epizody
(frequent epizodes) metodami vyvinutými v souvislosti s asociačními pravidly, můžeme rovněž hledat
skupiny klientů vyznačujících se podobným chováním různými metodami shlukování. Takto získané
znalosti o chování návštěvníků nějakého webovského sídla (web site) pak mohou například pomoci
administrátorovi uzpůsobit (přestrukturovat) stránky podle způsobu, jakým jsou prohlíženy
[Perkowitz, Etzioni, 1997].
Z experimentálních systémů pro tuto oblast uveďme systém WUM (Web Utilization Miner), který
hledá asociační pravidla za využití vlastního rozšíření dotazovacího jazyka SQL [Spiliopoulou,
Faulstich, 1999], systém WebSIFT, nabízející pro analýzu přístupu k webu asociační pravidla,
shlukování i statistické metody [Cooley a kol, 1999], nebo systém WebLogMiner kombinující OLAP a
dobývání znalostí [Zaine a kol, 1998].
22
V této souvislosti se mluví o implicitních komunitách vytvářejících webovské stránky k určitému tématu. Výzkumy
ukazují existenci cca 100000 takových komunit.
15
Obr. 12 Amazon
Pro úplnost zmiňme (jako příklad použití „klasických“ metod) analýzu nákupního košíku
v internetových obchodech. Jestliže lze v „kamenných“ obchodech získávat řadu informací o
zákaznících 23 , tím spíše to platí pro nakupování přes Internet. Informace získané při registraci
zákazníka pak umožňují (spolu s informacemi o objednávkách zboží) zkoumat chování skupin klientů.
To lze použít např. pro nabídku dalšího zboží stylem „zákazníci, kteří si koupili toto (stejné) zboží, si
rovněž koupili ...“ (Obr. 12). Jak je vidět z obrázku, lze rovněž použít zpětnou vazbu od uživatele
(hodnocení knih).
10.3 Co bude dál ?
Zdá se, že jako další krok v řadě text mining – web mining se objeví multimedia mining, tedy
dobývání znalostí z multimediálních dat kombinujících texty, obrázky, zvuky, videosekvence a pod.
O tom ale až někdy příště.
23
Připomeňme všelijaké zákaznické karty v řetězcích supermarketů.
16
Literatrura:
[Berka, 1998] Berka,P.: Intelligent Systems on the Internet. LISp-98-01, Výzkumná zpráva, 1998.
[Cohen, 1996] Cohen,W.: Learning rules to classify e-mail. AAAI Spring Symposium on Machine Learning in
Information Access, Stanford, 1996.
[Cooley a kol, 1999] Cooley,R. – Tan,P-N, - Srivastava,J.: Discovery of interesting usage patterns from web
data. Tech.Rep. TR 99-022, Univ. of Minnesota, 1999.
[Dumais a kol, 1988] Dumais,S.T. - Furnas,G.W. - Landauer,T.K. - Deerwester,S. - Harshman,R.: Using latent
semantic analysis to improve access to textual information. In: Proc. Conf. on Human Factors in Computing
Systems, 1988
[Etzioni, 1997] Etzioni,O.: Moving Up the Information Food Chain. AI Magazine Vol. 18, No. 2, 1997.
[Feldman, Hirsh, 1997] Feldman,R. - Hirsh,H.: Finding associations in collections of text. In: (Michalski,
Bratko, Kubat, eds.) Methods and applications of machine learning, data mining and knowledge discovery, John
Wiley and Sons, 1997.
[Feldman a kol, 1998a] Feldman,R. – Fresko,M. – Kinar,Y. – Lindell,Y. – Liphstat,O. – Rajman,M. – Schler,Y.
– Zamir,O.: Text mining at the term level. In: (Zytkow, Quafafou, eds.) Proc. 2nd European Conf. on Principles
of Data Mining and Knowledge Discovery PKDD’98. Springer LNAI 1510, 1998, 65-73.
[Feldman a kol, 1998b] Feldman,R. – Aumann,Y. – Zilberstein,Y. – Ben-Yehuda,Y.: Trend graphs: visualizing
the evolution of concept relationships in large document collections. In: (Zytkow, Quafafou, eds.) Proc. 2nd
European Conf. on Principles of Data Mining and Knowledge Discovery PKDD’98. Springer LNAI 1510, 1998,
38-46.
[Gordon, 1988] Gordon,M.: Probabilistic and genetic algorithms for document retrieval. Communications of
the ACM, 31(10):1208-1218, October 1988.
[Grobelnik, Mladenic, 1998] Grobelnik,M. - Mladenic,D.: Efficient text categorization. In (Kodratoff, ed.)
Proc. ECML’98 Workshop on Text Mining, TU Chemnitz, CSR-98-05, 1998.
[Honkela a kol, 1996] Honkela T.,Kaski S., Lagus K., Kohonen T.: Newsgroup exploration with WEBSOM
Method and Browsing Interface, Report A32, Helsinky University of Technology, 1996.
[Howe, Dreilinger, 1997] Howe,A. - Dreilinger,D.: SavvySearch - A metasearch engine that learns which search
engines to query. AI Magazine Vol. 18, No. 2, 1997.
[Chakrabarti a kol, 1999] Chakrabarti,S. - Dom,B. - Gibson,D. - Kleinberg,J. - Kumar,S.R. - Raghavan,P. Rajagopalan,S. - Tomkins,A.: Hypersearching the web. Scientific American, June, 1999.
[Chang a kol., 2001] Chang,G. – Healey,M.J. – McHugh,J.A.M. – Wang,J.T.L.: Mining the World WIde Web.
Kluwer, 2001, ISBN 0-7923-7349-9.
[Joachims a kol, 1997] Joachims,T. - Freitag,D. - Mitchell,T.: WebWatcher: A tour guide for the World Wide
Web. In: Proc. Int. Join Conf. on Artificial Intelligence IJCAI’97, 1997.
[Kautz a kol, 1997] Kautz,H. - Selman,B. - Shah,M.: The hidden web. AI Magazine Vol. 18, No. 2, 1997.
[Kodratoff, 2000] Kodratoff,Y.: Knowledge extraction form texts. Tutorial, 4th Pacific-Asia Conf. on
Knowledge Discovery and Data Mining PAKDD2000, Kyoto, 2000.
[Kohonen, 1998] Kohonen,T.: Self-organization of very large document collections: state of the art. In:
(Niklasson, Boden, Ziemke, eds.) Proc. 8th Int. Conf. on Artificial Neural Networks ICANN98, Springer, 1998,
65-74.
[Lang, 1995] Lang.K.: NewsWeeder: learning to filter netnews. In: Proc. ML’95.
[Lewis, 1991] Lewis,D.: Representation and learning in information retrieval. COINS Tech.Rep. 91-93, Univ. of
Massachusetts.
17
[Merkl, Rauber, 2000] Merkl,D. – Rauber,A.: Uncovering the hierarchical Structure of text archives by using an
unsupervised neural network with adaptive architecture. In: (Terano, Liu, Chen eds.) Proc. 4th Pacific-Asia Conf.
on Knowledge Discovery and Data Mining PAKDD2000, Springer, LNAI 1805, 2000, 384-395.
[Mitchell, 1997] Mitchell,T.: Machine Learning. McGraw-Hill. 1997. ISBN 0-07-042807-7
[Pazzani a kol, 1996] Pazzani,M. - Muramatsu,J. - Billsus,D.: Syskill & Webert: Identifying interesting web
sites. AAAI Spring Symposium on Machine Learning in Information Access, Stanford, 1996.
[Perkowitz, Etzioni, 1997] Perkowitz,M. - Etzioni,O.: Adaptive web sites: an AI challenge. In: Proc. Int. Join
Conf. on AI IJCAI’97.
[Pokorný, 2001] Pokorný,J.: Dokumentografické IS. Tutorial na konferenci Znalosti”01, Praha 2001.
[Salton, 1971] Salton,G.: The SMART Retrieval System: Experiments in Automatic Document Processing,
Prentice-Hall, 1971.
[Salton, McGill, 1983] Salton,G. - McGill,M.J.: Introduction to Modern Information Retrieval. McGraw-Hill,
1983.
[Strossa, 2000] Strossa,P.: Zpracování informačních fondů. Algoritmizace a automatizované zpracování
textových informací. Skripta VŠE, 2000.
[Spiliopoulou, 1999] Spiliopoulou,M.: Data mining for the web. Tutorial 3th European Conf. on Principles and
Practice of Knowledge Discovery in Databases PKDD’99, Prague, 1999.
[Spiliopoulou, Faulstich, 1999] Spiliopoulou,M. -
Faulstich,L.: WUM: A tool for web utilization
analysis. In Proc. EDBT Workshop WebDB’98, Springer LNCS 1590, 1999.
[Srivastava a kol., 2000] Srivastava, J. - Cooley, R. - Deshpande, M. - Tan, P.: Web usage mining: discovery
and applications of web usage patterns from web data. SIGKDD Explorations, Vol.1, Issue 1, 2000.
[Tomkins, 2000] Tomkins,A.: Hyperlink-aware mining and analysis of the web. In: (Terano, Liu, Chen, eds.)
Proc. 4th Pacific-Asia Conf. on Knowledge Discovery and Data Mining PAKDD2000, LNAI 1805, Springer,
2000, 4.
[Zaiane, Han, 1999] Zaiane,O. - Han,J.: WebML: Querzing the World-Wide Web for resources and knowledge.
In: Proc. Int. Workshop on Web Information and Data Management WIDM’98, Bethesda, 1998, 9-12.
[Zaine a kol, 1998] [Zaine,O. – Xin,M. – Han,J.: Discovering web access patterns and trends by
applying OLAP and data mining technology on web logs. In: Advances in Digital Libraries, 1998.
[Zighed, di Palma, 2000] Zighed,D. – di Palma,S.: Text reprezentation strategies for machine learning
categorization. In: Kodratoff,I. - Zighed,D. – di Palma,S.: Text Mining. Tutorial 4th European Conf. on
Principles and Practice of Knowledge Discovery in Databases PKDD2000, Lyon, 2000.
18