Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Manažment znalostí (1)
OBSAH PREDNÁŠKY
• Základné informácie o predmete• Vyhľadávanie informácií z množiny textových
dokumentov– Proces vyhľadávania informácií (information
retrieval – IR) – Formálna definícia IR modelu
• Klasické modely pre IR– Boolovský model
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Základné informácie o predmete
• Rozsah predmetu: – 2 (prednáška)
– 1 (cvičenie)
– 1 (projektová práca)
• Spôsob hodnotenia:– max. 10 bodov za 1. písomku
– max. 10 bodov za 2. písomku
– max. 20 bodov skupinové zadanie
– max. 60 bodov za skúšku
– bonusové body za mimoriadne kvalitné zadania
2
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Náplň predmetu
TECHNICKÁ časť (3/4 semestra)
1. Vyhľadávanie informácií (information retrieval)
2. Dolovanie znalostí z textov (text mining)
3. Konceptuálna a manažérska časť (1/4 semestra)
– Základné uhly pohľadu na MZ
– Informačné systémy pre podporu MZ (pozvaná prednáška z CassaCloud – platforma Salesforce.com)
– Faktory ovplyvňujúce MZ a hodnotenie MZ3
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Vyhľadávanie informácií z množiny textových dokumentov
• Textové dokumenty sú jedným z najčastejších prostriedkov pre reprezentáciu explicitných znalostí
• Vyhľadávanie informácií (IR – informationretrieval) sa zaoberá uchovávaním informácií a prístupom k nim
• Vyhľadávanie informácií je ovplyvnené najmä:1. Úlohou používateľa
2. Logickou reprezentáciou dokumentov v systéme (modely pre vyhľadávanie)
44
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Úloha používateľa, ktorú v procese IR sleduje
1. Vyhľadávanie (retrieval) – ciele vyhľadávania sú presne známe hneď na začiatku procesu. Dva typy vyhľadávania:
A. ad-hoc
B. filtrácia
5
Typ vyhľadávania Kolekcia
dokumentov
Otázky
ad-hoc relatívne statická stále nové
filtrácia stále nové relatívne statické
2. Prehľadávanie (browsing) – na rozdiel od
vyhľadávania nie sú hlavné ciele na začiatku presne
stanovené a účel sa môže v priebehu interakcie meniť
5
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Proces vyhľadávania informácií (1)
6
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Proces vyhľadávania informácií (2)
7
• Manažér DB textov musí1. Určiť dokumenty, ktoré sa budú v systéme používať
2. Operácie, ktoré sa budú s textami vykonávať
3. Určiť použitý model (logická reprezentácia dokumentov)
4. Vytvoriť index textových dokumentov
• Proces vyhľadávania1. Používateľ vyšpecifikuje požiadavku (text)
2. Otázka prejde takým istým procesom parsovaniaa predspracovania ako predtým indexované texty v DB
3. Vygenerovanie otázky, prípadne ďalšie operácie s ňou
4. Spracovanie otázky, t.j. vyhľadanie relevantných dokumentov v indexe
5. Usporiadanie nájdených dokumentov podľa ich relevancie k otázke
• Možná spätná väzba od používateľa (vyznačí podmnožinu zaujímavých dokumentov)
7
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Taxonómia modelov pre IR• Existujú 3 základné modely založené na odlišných
matematických aparátoch:1. Boolovský model – dokumenty aj otázky sú reprezentované ako množiny
indexových termov tzv. množinovo-teoretický prístup
2. Vektorový model – dokumenty aj otázky sú reprezentované ako vektory termov tzv. algebraický prístup
3. Pravdepodobnostný model – snaží sa odhadnúť pravdepodobnosť, s akou je daný dokument relevantný k danej otázke tzv. pravdepodobnostný prístup
• Pre všetky tri uvedené prístupy boli vyvinuté aj alternatívne modely
• Ďalšia skupina modelov okrem obsahu textu zachytáva aj jeho štruktúru tzv. štrukturálne modely
• Úplne iné typy modelov sa používajú na prehľadávanie tzv. modely na prehľadávanie
88
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Formálna definícia IR modelu
9
• Model je štvorica (D, Q, F, R(q,dj)), kde
– D je množina reprezentácií dokumentov dj kolekcie
– Q je množina reprezentácií používateľských otázok q
– F je spôsob (matematický aparát) modelovania
reprezentácií dokumentov, otázok a ich vzťahov
– R(q,dj) je ohodnocovacia funkcia, ktorá priradí
dvojici (q, dj) Q x D reálne číslo. Toto ohodnotenie
(ranking) potom určuje usporiadanie dokumentov
vrátených ako odpoveď systému na používateľskú
otázku q
9
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Klasické modely – základné definície• T je počet termov v indexe daného systému
• ki je i-ty term v indexe
• K = k1 ... kT je množina všetkých indexových termov
• dj je j-ty dokument v systéme
• wij je váha asociovaná pre každý indexový term kia dokument dj v systéme
• dj = (w1,j, w2,j, ..., wT,j) je vektor váh indexových termov pre dokument dj
• gi(dj ) = wi,j je funkcia vracajúca príslušnú váhu termu i pre dokument dj
1010
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Boolovský model
• Boolovský model: – Dokument je tvorený množinou indexových
termov, ktoré ho najlepšie charakterizujú
– t.j. váhy wij {0,1};
– dopyt je podmnožina indexových termov pospájaných logickými spojkami AND, OR alebo NOT
• Jedna z možných foriem vnútornej reprezentácie dokumentov pri boolovskommodeli je incidenčná matica term-dokument
1111
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Príklad boolovskej reprezentácie: incidenčná matica term-dokument
Antony and
Cleopatra
Julius
Caesar
The
TempestHamlet Othello Macbeth
Antony 1 1 0 0 0 1
Brutus 1 1 0 1 0 0
Caesar 1 1 0 1 1 1
Calpurnia 0 1 0 0 0 0
Cleopatra 1 0 0 0 0 0
mercy 1 0 1 1 1 1
worser 1 0 1 1 1 0
12
• Stĺpce predstavujú jednotlivé dokumenty dj (divadelné hry) – reťazce bitov dĺžky T (počet všetkých indexových termov)
• Riadky predstavujú vybrané indexové termy => základ dopytov q –reťazce bitov dĺžky N (počet indexovaných dokumentov v korpuse)
• Hodnota 1 znamená, že dané slovo sa vyskytuje v danej hre, ináč 0
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Príklad boolovského dopytu a jeho vyhodnotenia
• Takže pre každý term máme vektor binárnych hodnôt dĺžky rovnej počtu dokumentov v korpuse
• Ak chceme napr. vyhľadať hry, v ktorých sa vyskytuje Brutus, Caesarale nevyskytuje sa tam Calpurnia, môžeme sformulovať dopyt:
Brutus AND Caesar BUT NOT Calpurnia
t.j. po vyjadrení bitovými reťazcami (príslušné riadky matice)
110100 AND 110111 AND 101111 (po invertovaní)
• Výsledok dopytu získame bitovým súčinom, t.j.
110100 AND 110111 AND 101111 = 100100
• Takže danej podmienke vyhovujú hry „Antony and Cleopatra“ a „Hamlet“ (zodpovedajú prvému a štvrtému stĺpcu v matici term-dokument)
13
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Nevhodnosť maticovej reprezentácie
• Ak ale máme v kolekcii napr. 1 milión dokumentov priemernej dĺžky 1000 slov
• Slovo je reprezentované približne 6 bytmi, t.j.
• Korpus zaberá teda spolu cca. 6 GB
• Ak sa v tomto korpuse nachádza cca. 500 tis. navzájom rôznych termov, potom
• Incidenčná matica term-dokument bude mať rozmer 500.000 x 1.000.000 = 5 x 1011 jednotiek alebo núl,
• ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. max. jedna stotina), takže táto matica je veľmi riedka
• Lepšie je teda uchovávať iba „informácie o jednotkách“
14
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Invertovaný index (1)• Pre každý term si musíme uchovať zoznam
všetkých dokumentov, v ktorých sa vyskytuje• Môžeme na to použiť polia s pevne zadanou
veľkosťou? (čo ak pribudne výskyt slova Caesar)
15
• Potrebujeme teda zoznamy výskytov s premenlivou dĺžkou (v pamäti reprezentované spojkovým zoznamom, alebo poľami s premenlivou veľkosťou)
Brutus
Calpurnia
Caesar 1 2 4 5 6 16 57 132
1 2 4 11 31 45173
2 31
174
54101
Slovník termov (vocabulary)Zoznamy výskytov (postings)
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Konštrukcia invertovaného indexu
Tokenizér
Postupnosť
tokenovFriends Romans Countrymen
Moduly
predspracovania
Modifikované
tokeny
friend roman countryman
Dokumenty
na indexáciuFriends, Romans, countrymen.
Indexovač
Invertovaný
index
friend
roman
countryman
2 4
2
13 16
1
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Činnosť indexovača (1)
1. Vytvorí postupnosť párov typu:
– (modifikovaný token, ID dokumentu)
17
I did enact Julius
Caesar I was killed
i' the Capitol;
Brutus killed me.
Dokument 1
So let it be with
Caesar. The noble
Brutus hath told you
Caesar was ambitious
Dokument 2
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Činnosť indexovača (2)
2. Usporiadanie zoznamu:
– podľa abecedy, a potom
– podľa ID dokumentu
3. Viacnásobné výskyty termu v dokumente sa zlúčia do jedného
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
4. Oddelí sa slovník termov a zoznamy výskytov
5. Pridá sa informácia, v koľkých dokumen-toch sa jednotlivé termy vyskytli (dĺžka zoznamu výskytov)
Činnosť indexovača (3)
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Vyhodnotenie dopytu nad invertovaným indexom
• Uvažujme jednoduchý dopyt BRUTUS AND CAESAR
• Postup vyhodnotenia tohto dopytu:1. Nájdi v slovníku termov BRUTUS a získaj jeho zoznam výskytov
2. Nájdi v slovníku termov CAESAR a získaj jeho zoznam výskytov
3. Sprav prienik oboch zoznamov výskytov
20
34
1282 4 8 16 32 64
1 2 3 5 8 13 21 34
2 4 8 16 32
1 2 3 5 8 13 21
Brutus
Caesar2 8
• Ak sú dĺžky vstupných zoznamov výskytov x a y, potom
operácia ich zlúčenia má časovú zložitosť O(x + y)
• Dôležitým predpokladom je, že zoznamy výskytov sú
usporiadané podľa ID dokumentu
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)21
Algoritmus pre nájdenie prieniku dvoch usporiadaných zoznamov
INTERSECT(p1, p2) answer ← <>while p1 ≠ <> and p2 ≠ <>
do if docID(p1) = docID(p2)then ADD(answer, docID(p1))
p1 ← next(p1)p2 ← next(p2)
else if docID(p1) < docID(p2)then p1 ← next(p1)else p2 ← next(p2)
return answer
21
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Vyhodnotenie konjunktívnych dopytov
INTERSECT(<p1, . . . , pn>)
terms ← SortByIncreasingFrequency(<p1, . . . , pn>)
result ← postings(first(terms))
terms ← rest(terms)
while terms ≠ <> and result ≠ <>
do result ← INTERSECT(result, postings(first(terms)))
terms ← rest(terms)
return result
22
Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)
Boolovský model - sumár• Výhody
– Jasný formalizmus
– Jednoduchosť
• Nevýhody– Presná zhoda výskytu termov otázky v dokumente môže
viesť k príliš veľkému (OR) alebo naopak príliš malému (AND) počtu dokumentov v odpovedi
• Nevadí pri strojovom spracovaní, nevhodné pre používateľov
– Dokumenty nemožno usporiadať podľa stupňa relevancie k otázke
• Pri usporiadaní podľa relevancie počet dokumentov v odpovedi nie je problémom (stačí uvažovať prvých k)
– Neberie sa do úvahy frekvencia výskytu jednotlivých termov otázky v dokumente
2323