Download presentation
Presentation is loading. Please wait.
1
Wprowadzenie do budowy usług informacyjnych W. Bartkiewicz Wykład 2. Model boolowski wyszukiwania informacji
2
Model boolowski Model boolowski jest prostym modelem wyszukiwania, opartym na działaniach na zbiorach i algebrze boolowskiej. –Dokumenty indeksowane są poprzez wyodrębnienie w nich słów kluczowych (termów). –Zapytania specyfikowane są jako wyrażenia boolowskie, np. „bolid and wyścigi and not meteor” –Wynik zapytania jest generowany poprzez przetwarzanie zbiorów dokumentów, odpowiadających poszczególnym termom zapytania.. Wskutek swojej prostoty i jasnego formalizmu model boolowski przyciągał w przeszłości wiele uwagi i do dziś stanowi podstawę wielu komercyjnych systemów bibliograficznych.
3
Model boolowski – Indeks odwrotny (inwersyjny) Brutus Kalpurnia Cezar 248163264128 2358132134 1316 1 Słownik Listy odsyłaczy Posortowane wg. docID (dlaczego - pó ź niej). Odsy ł acz do dokumentu
4
Model boolowski – Przetwarzanie zapytania: AND Rozważmy przetwarzanie zapytanie: Brutus AND Kalpurnia –Zlokalizuj term Brutus w słowniku. Słownik powinien więc być zbudowany na bazie odpowiedniej struktury danych wspomagającej wyszukiwanie. Pobierz odsyłacze do zawierających go dokumentów. –Zlokalizuj term Kalpurnia w słowniku. Pobierz odsyłacze do zawierających go dokumentów. –Połącz dwa zbiory odsyłaczy. 128 34 248163264 123581321 Brutus Kalpurnia
5
Model boolowski – Łączenie : AND Przechodząc równolegle przez oba zbiory odsyłaczy łączymy je w czasie liniowym w zależności od całkowitej liczby elementów. 34 12824816 3264 12 3 581321 128 34 248163264123581321 Brutus Kalpurnia 2 8 Je ś li listy odsy ł aczy maj ą odpowiednio x i y elementów, łą czenie wymaga O(x+y) operacji. Kluczowe: odsy ł acze musz ą my ć uporz ą dkowane wg. docID.
6
Model boolowski – Łączenie : AND MERGE(p, q) 1 answer {Ø} 2 while p NIL and q NIL 3 if docID[p] = docID[q] 4 then ADD(answer, docID[p]) 5 p next[p] 6 q next[q] 7 else if docID[p] < docID[q] 8 then p next[p] 9 else q next[q] 10 return answer
7
Model boolowski – Łączenie: możliwość optymalizacji Możemy próbować przyśpieszyć łączenie poprzez dodanie tablic indeksujących listy odsyłaczy. –Jeśli porównujemy np. 17 i 32, to w drugiej liście wykorzystując tablicę indeksującą możemy przeskoczyć do elementu 44 bez sprawdzania 21 i 31. Im większa gęstość indeksowania tym większe prawdopodobieństwo przeskoku, ale krótsze przeskoki, więcej operacji porównań odsyłaczy. –Typowo stosowana jest prosta heurystyka: długość tablicy indeksującej = pierwiastek z liczby odsyłaczy. Indeks musi być względnie stały – zwiększone koszty aktualizacji. 12824 8 163264 16 128 441235 8 1721 31 8 3131
8
Model boolowski – Łączenie Analogicznie łatwo można na łączenie dla zapytań postaci Brutus OR Kalpurnia Brutus AND NOT Kalpurnia 128 34 248163264 123581321 Brutus Kalpurnia
9
Model boolowski – Optymalizacja zapytania Rozważmy zapytanie, które jest koniunkcją t termów. Jaki jest najlepszy porządek przetwarzania tego zapytania? Przetwarzanie według rosnącej liczby odsyłaczy –(Cezar AND Brutus) AND Kalpurnia Brutus Calpurnia Caesar 12358162134 248163264128 1316 Zapytanie: Brutus AND Kalpurnia AND Cezar
10
Model boolowski – Dowolne zapytanie Realizacja dowolnego zapytania może być trudna. Najpierw powinniśmy wykonywać koniunkcje. Dlatego zazwyczaj w większości przypadków zapytania sprowadzane są do tzw. alternatywnej postaci normalnej. Zapytanie: Brutus AND (Kalpurnia OR NOTCezar) Brutus (x 1 ) Kalpur nia (x 2 ) Cezar (x 3 ) 0000 0010 0100 0110 1001 1010 1101 1111 Kanoniczna alternatywna postać normalna
11
Model boolowski – Dowolne zapytanie Kanoniczna alternatywna postać normalna jest nieoptymalna. Zredukujemy ją metodą Quinna. Rozszerzmy wyrażenie przy pomocy wszystkich możliwych operacji niepełnego sklejania dla wyrazów sąsiednich (różniących się tylko jednym elementem). Wyrazy iloczynowe o mniejszej liczbie elementów mogą pochłaniać wyrazy o większej liczbie elementów Skrócona alternatywna postać normalna
12
Model boolowski – Dowolne zapytanie Skrócona alternatywna postać normalna również nie zawsze ma charakter optymalny. Rozważmy następujące wyrażenie logiczne Brutus (x 1 ) Kalpur nia (x 2 ) Cezar (x 3 ) 0000 0010 0101 0111 1001 1011 1101 1110
13
Model boolowski – Dowolne zapytanie Tworzymy tzw. tablicę implikantów, której kolumny wyznaczone są przez wyrazy iloczynowe pochodzące z postaci kanonicznej, zaś wiersze przez wyrazy iloczynowe z postaci skróconej. Znak "+" oznacza że dany wyraz z postaci skróconej jest fragmentem wyrazu z postaci kanonicznej. Jeśli któraś kolumna zawiera tylko jeden "+", to oznacza to, że wyraz kanoniczny musi być opisywany przez odpowiadający mu wyraz z postaci skróconej. Jeśli plusów jest więcej to mamy dowolność wyboru.
14
Model boolowski – Dowolne zapytanie Układ wyrazów postaci skróconej, w których wierszach znajduje się plus jedyny w swojej kolumnie, tworzy tzw. jądro implikantów. Nieredukowalna postać funkcji boolowskiej musi zawierać wyrazy iloczynowe z jądra, oraz te wyrazy do niego nienależące, które dopełniają istnienie plusów w każdej kolumnie. W naszym przypadku istnieją więc dwie równoważne postaci nieredukowalne:
15
Model boolowski – Podsumowanie Zalety: –Prostota i jasny formalizm. Zapytania boolowskie są precyzyjne. Uważnie zaprojektowanie, pozwalają na zachowanie pełnej kontroli, transparentności i precyzji procesu wyszukiwania. –Zapytania boolowskie są często preferowane przez profesjonalistów zajmujących się wyszukiwaniem informacji z danej dziedziny. Model ten stanowi podstawę wielu komercyjnych systemów bibliograficznych. Wady: –Strategia wyszukiwawcza modelu boolowskiego bazuje na binarnym kryterium decyzyjnym – dokument albo jest relewantny, albo nie, bez żadnej pośredniej gradacji. Może to pogarszać jakość działania systemu, zwłaszcza biorąc pod uwagę nieprecyzyjny charakter języka naturalnego. –Pomimo, że wyrażenia boolowskie mają precyzyjną semantykę, wcale nie jest łatwo przełożyć na nie potrzebę informacyjną. Większość, zwłaszcza nieprofesjonalnych użytkowników uważa wyrażanie swoich zapytań w postaci wyrażeń boolowskich za trudne. Ograniczają się do najprostszych warunków, które nie pozwalają na właściwy opis potrzeb informacyjnych.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.