23
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)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 2: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 3: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 4: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 5: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 6: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

Manažment znalostí (1) Ján Paralič (people.tuke.sk/jan.paralic)

Proces vyhľadávania informácií (1)

6

Page 7: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 8: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 9: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 10: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 11: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 12: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 13: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 14: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 15: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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)

Page 16: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 17: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 18: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 19: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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)

Page 20: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 21: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 22: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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

Page 23: Manažment znalostí (1)people.tuke.sk/jan.paralic/prezentacie/MZ/MZ1.pdf · • ale jednotiek v nej nebude viac ako 1.000.000 x 1.000 = 109 (t.j. ax. jeda stotia), takže táto atica

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