Co to jest fleksja i dlaczego stanowi ona trudność w budowie wyszukiwarek?
description
Transcript of Co to jest fleksja i dlaczego stanowi ona trudność w budowie wyszukiwarek?
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 1 grudzień 2002
1. Co to jest fleksja i dlaczego stanowi ona trudność w budowie wyszukiwarek?
2. Podaj przyklady związków paradygmatycznych/semantycznych
3. Jaką rolę w budowie wyszukiwarek mają związki syntagmatyczne?
4. Jak widzisz problem blędów użytkownika w budowie wyszukiwarek?
Tworzenie Portali Biznesowych
Wykład 14
Budowa własnej wyszukiwarki
Polsko-Japońska Wyższa Szkoła Technik Komputerowych,
Warszawa
Wykładowca:dr hab. inż. Kazimierz Subieta profesor PJWSTK
[email protected]://www.ipipan.waw.pl/~subieta
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 3 grudzień 2002
Kwestie decyzyjne
Świat jest bardzo konkurencyjny, zaś rynek wyszukiwarek jest ciasny. W każdym kraju dosłownie kilka wyszukiwarek uzyskuje sukces rynkowy.
Możliwe są jednak wyszukiwarki o ściśle określonym profilu tematycznym. Taka wyszukiwarka może odnieść sukces wśród specjalistów z danej dziedziny.
Wyszukiwarka typu pająk, czy katalog? Pająki automatycznie indeksują zasoby Webu, praktycznie bez udziału
czlowieka Katalogi są tworzone przez ludzi, np. Yahoo. Aby odniosły sukces,
konieczne jest zainteresowanie potencjalnych oferentów, aby chcieli wprowadzać informację o swoich stronach do odpowiednich kategorii tematycznych.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 4 grudzień 2002
Błędy i nadużycia twórców stron WWW
Strony WWW zawierają ogromną ilość śmieci, często wprowadzanych tam celowo.
Twórcy stron WWW stosują najprzeróżniejsze „brudne” sztuczki po to, aby ich strona (zawierająca tzw. spam, czyli niechcianą reklamę lub inne podobne treści) znalazła się w wykazie stron dostarczanych do klientów. Przykładowo, umieszcza się ten sam wyraz wielokrotnie na stronie HTML
bez uzasadnienia, daje się czcionkę w kolorze tła, aby oszukać pająka, itd Należy stosować specjalne metody, aby spamowców wyeliminować, ale
tego pokroju ludzie i firmy nie ustają w przechytrzaniu tych metod. Jakość informacji dostarczanej do użytkownika jest przez to bardzo niska. Jestem zdania, że kraje zachodnie niedługo wprowadzą ustawodawstwo
przeciwdziałające spamowi. Na firmy uprawiające spaming będą nakładane kary pieniężne (tak jak to jest obecnie w krajach zachodnich za foldery reklamowe wtykane do skrzynek pocztowych – w Niemczech jest to karane wysokim mandatem).
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 5 grudzień 2002
Zakres wyszukiwarki
Dość często portale są zorganizowane na podstawie pewnego labiryntu stron, w których użytkownik może bardzo łatwo się pogubić. Skutkiem jest niemożliwość uzyskania pożądanej informacji
W takim przypadku można tworzyć wyszukiwarkę wyłącznie do własnych stron WWW. W przypadku rozudowanego portalu tak wyszukiwarka znakomicie ułatwia pracę użytkownika.
Dość często duże portale budują wyszukiwarkę uniwersalną, która obejmuje swoim zasięgiem pewien obszar geograficzny i/lub tematyczny.
Budowa wyszukiwarki ogólno-światowej jest przedsięwzięciem kosztownym ze względu na konieczność zapewnienia znacznych zasobów pojemności dysków czasu procesorów przepustowość sieci podtrzymywania kopii (mirrors)
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 6 grudzień 2002
Projektowanie bazy danych - indeksu
LinkiID_strony_źródłowejID_strony docelowej
Strona_WWWID_strony_WWWTytuł (255 znaków)URL (255 znaków)Zawartość (1024 znaków)Ranking (ocena wagi strony)Liczba_linków_na stronie
* *
Klaster (kategoria tematyczna)ID_tematuTemat (char 255)
* *
Możliwa jest oczywiście dowolna rozbudowa tego najprostszego schematu, np. w związku z informacją o stronach zawierających spam, itd.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 7 grudzień 2002
Charakterystyka informacji z indeksu
Linki: umożliwiają pracę pająka – ma on gdzie zapisać informację o stronach, które odwiedził i o stronach, które mają połączenie z tych stron.
ID_strony – sztuczny klucz mający na celu zmniejszenie i znormalizowanie informacji z URL – wewnętrzny dla danej wyszukiwarki
Content – mogą to być wybrane, charakterystyczne zdania pochodzące ze strony HTML
Ranking – pewna automatycznie wyznaczana miara, która określa, czy ta strona może mieć znaczenie dla uzytkowników. Google stosuje ranking oparty na analizie ilości i konfiguracji linków na stronie.
Temat – słowo lub fraza której może użyć użytkownik w swoim zapytaniu.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 8 grudzień 2002
www
Architektura przykładowego systemu
Pająknp. w jęz.Perl
Czyszczenie i formatowanie
danych
Dysk roboczy
StronyHTML
Baza danychpublikacyjna
Baza danychrobocza
Wewnętrzneprocesy
(obliczanie rankingu, itd.)
Serwer serwletówJDBC
SQL
Serwer HTTP(Apache)
JSP
Użytkownik
www
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 9 grudzień 2002
Budowa pająka (robota)
Można go budować w oparciu o gotowe elementy. Są gotowe, bezpłatne modułu oparte o język Perl lub udostępniane w postaci biblioteki do Java.
CPAN, Checkbo, Combine, DWCP, ... Lista narzędzi do budowy pająków jest dostępna pod: http://www.robotstxt.
org/wc/active/html/index.html Strony bogate w linki z danej dziedziny (zwane hubs) są dobrymi
punktami startowymi do przeszukiwania całej sieci. Np. dla dziedziny baz danych dobrymi punktami startowymi jest Penn Database Research Group, DBLP Bibliography oraz Yahoo!Databases. Dobra identyfikacja hubs jest atutem wyszukiwarki Google
Filtry zapobiegające odwidzaniu stron wymagających parametryzacji (CGI), konieczne są metody zapobiegające zapętleniu się pająka.
Częstotliwość odświeżania pająka: związana z jego szybkością i dostępnością odwiedzanych stron. Nawet przy 25 stronach na sekundę dla ściagania mamy 5 sekund na stronę do przetwarzania czyli 500 000 sekund dla 100 000 odwiedzonych stron, czyli 6 dni i nocy.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 10 grudzień 2002
Bardziej zaawansowane pająki
Powinny nie tylko zarządzać pamięcią, lecz także procesorem oraz ruchem w sieci. Strategie kolejkowania stron do odwiedzenia Np. 500 kolejek, strony z tego samego serwera w różnych kolejkach W ten sposób każdy serwer będzie odwiedzany co najwyżej raz na 500 razy
Pająk może stosować jedną z następujących strategii: Błądzenie po stronach internetowych: na wejściu lista URL-i startowych,
następnie pobieranie kolejnych stron wg grafu linków łączących strony. Poszukiwanie w innych bazach danych (multi-search). Konieczne jest
skonstruowanie „pijawek” (leech), czyli programów specjalizujących się w pozyskiwaniu informacji z konkretnego serwisu.
Strategia mieszana: najpierw multi-search, później wyszukiwanie w grafie. Bardziej „inteligentne” pająki powinny mieć możliwość oceny, czy dana
strona może być interesująca dla użytkowników. Może to odbywać na zasadzie zliczania liczby linków do tej strony.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 11 grudzień 2002
Niektóre reguły wzmacniające pająka
Istnienie wyspecjalizowanego modułu oceniającego wartość strony na podstawie pewnej heurystyki (np. liczby i rodzaju terminów z danej dziedziny).
Baza wiedzy zawierająca informację lingwistyczną, np. tezaurus (ontologia) Jeżeli dokument zawiera słowa ze zbioru {s1,..., sn}, to jest interesujący Jeżeli dokument zawiera słowa ze zbioru {s1,..., sn}, to linki z tej strony
prowadzą do interesujących stron Jeżeli strona jest główną stroną instytucji, to prawdopodobnie zawiera linki
do pracowników i aktywów (produktów, projektów, itd.) tej instytucji Jezeli strona jest stroną domową pracownika, to prawdopodobnie zawiera
linki do jego artykułów i ulubionych stron. W ten sposób można przypisać wagi nie tylko do stron, ale dowolnych
bytów (osób, instytucji, tematów, itd.) i na podstawie tych wag ustalać potencjalne zainteresowanie uzytkowników ta stroną. Przypisywanie wag może być iteracyjne (Google): waga strony X
uzależniona od wag stron na których znajdują się linki do X.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 12 grudzień 2002
Indekser dokumentów
Indeksowanie jest to proces tworzenia indeksu, czyli specjalizowanej bazy danych zawierającej pewien wyciąg z indeksowanej strony (np. słowa kluczowe, frazy) oraz jej URL.
Indeks powinien być zoptymalizowany pod katem wyszukiwania, tj. zorganizowany tak, aby umożliwić bardzo szybkie wyszukiwanie na podstawie kryteriów (słów lub fraz) zadanych przez użytkownika.
Indeks powinien zawierać także dowolna informację, która da pewne wskazówki uzytkownikowi co do przydatności strony bez jej fizycznego ściągania, np. tytuł strony data strony format strony (np. .doc, .pdf, .ppt) frazy, w których na danej stronie występują zadane przez wyrazy
Istnieją standardowe, komercyjne indeksatory, np. pakiet LUCENE http://www.lucene.com
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 13 grudzień 2002
Komponenty indeksera
Identyfikacja słów/fraz/termów występujących w dokumentach Usuwanie słów popularnych Ekstrakcja tematów przy uzyciu algorytmu szukającego tematu Zastąpienie tematów przez numeryczne identyfikatory termów
indeksujących celem wydajniejszego przetwarzania Zliczanie wystąpień tematów Użycie tezaurusa (ontologii) dla zastąpienia zbyt wyspecjalizowanych
terminów teminami ogólniejszymi Tworzenie fraz dla termów o wysokiej częstotliwości Obliczanie wag dla wszystkich prostych termów, fraz i klas tezaurusa Przypisywanie każdej stronie odpowiednich prostych termów, fraz i
pozycji tezaurusa z odpowiednimi wagami.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 14 grudzień 2002
Parser stron HTML i innych formatów
Istnieje wiele osobliwości technicznych na stronach HTML, które muszą być oprogramowane przez pająka.
Istotne jest zignorowanie informacji organizacyjnej, specjalnych znaczników do kodowania i wyświetlania i wykrycie informacji ważnej merytorycznie.
Istotne jest rownież przeciwdziałanie nadużyciom twórców stron mającym na celu radykalne zwiększenia prawdopodobieństwa pojawienia się jej na ekranie klienta.
Obecnie parsery posiadają możliwości analizowania dokumentow w innych formatach niż HTML, np. .pdf, .doc, .ppt Oznacza to konieczność bardzo dokładnego rozpoznania fizycznej
konstrukcji tych formatów Specjalnym problemem technicznym są sposoby kodowania
niestandardowych znaków, np. znaków z polskimi ogonkami
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 15 grudzień 2002
Analizator tekstu
Steruje strukturalizacją tekstu, czyli jego podziałem na słowa Dokonuje normalizacji tekstu, m.in.
zamienia duże litery na małe dokonuje normalizacji fleksji (np. sprowadzenie do I osoby, I przypadku
liczby pojedynczej, itd.) usuwa słowa pospolite na podstawie tzw. stop-listy:
w języku angielskim: ‘a’, ‘and’, ‘are’, ‘as’, ‘at’, ...., ‘their’, ‘then’, ‘will’,... słowa pospolite mogą się różnić dla specjalizowanych zbiorów dokumentów, np.
w tekstach prawnych są to słowa ‘artykuł’, ‘paragraf’, ‘ustęp’
Dla niektórych języków (niemiecki) konieczne jest rozbicie słowa na sekwencją słów; w jęz. polskim - nazw chemicznych lub farmaceutycznych.
Może być potrzebne skorzystanie z zapamiętanych związków paradygmatycznych, np. związków „patrz też” lub generalizacji ‘kogut’ -> ‘kura’, ‘pekińczyk’ -> ‘pies’
Może zmienić grupę słów na term (frazę): ‘krzesło’, ‘elektryczne’ => ‘krzesło elektryczne’
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 16 grudzień 2002
Odpowiedzi na pytania
Analogicznie do normalizacji indeksowanego tekstu powinna nastąpić normalizacja zapytania użytkownika Użytkownik również może zadać pytanie małymi lub dużymi literami, z
różną formą fleksyjną, itd. Algorytm przyporządkowania dokumentów do zapytania uwzględnia:
specyficzne operatory wprowadzone do zapytań, np. AND, OR, NOT jeżeli język nie wprowadza takich operaorów, wówczas przyjmuje się pewną
semantykę domyślną w taki sposób aby uwzględnić potencjalną intencję użytkownika
Odbywa się to poprzez zliczanie wag trafności dokumentu do pytaniaW Google – najpierw dokumenty, które zawierają wszystkie slowa uzyte przez
użytkownika, później dokumenty, w których jedno z tych słów jest nieobecne, itd. Dodatkowo, trafność wynikowa zależy od wagi strony.
Zwraca się listę wynikową relewantnych dokumentów w porządku malejącego rankingu.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 17 grudzień 2002
Ranking stron
Ogromna liczba prostych heurystyk pozwalających ustalić wagę strony (w ogóle) i wagę strony w odniesieniu do danego zapytania.
Istotne jest to, że ten ranking musi być technicznie efektywny, tj. musi być obliczony w akceptowalnym czasie. to częściej eliminuje pomysły oparte na zbyt wyrafinowanych metodach
(„sztucznej inteligencji”). Metody rankingu:
opinie redaktorów (metoda bardzo kosztowna) opinie użytkowników („feedback” po zadaniu pytania) popularność strony (jak często ją wyszukano) ocena zawartości informacyjnej (niemierzalna obiektywnie, jedynie na
podstawie trzeciorzędnych symptomów, takich jak występowanie pewnych słów)
lokalizacja (np. serwer bardzo popularnej i bogatej firmy) finansowanie (zwiększenie rankingu strony jest sponsorowane przez jej
twórcę). liczba linków prowadzących do strony (ew. ważonych linków)
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 18 grudzień 2002
Forma odpowiedzi na zapytanie
Zwykle jest to lista odsyłaczy do dokumentów Każda pozycja tej listy może zawierać:
URL dokumentu Tytuł dokumentu data utworzenia dokumentu/ostatnia modyfikacja rozmiar dokumentu w bajtach język dokumentu streszczenie dokumentu (automatyczne, w postaci charakterystycznych fraz) opis dokumentu lista słów kluczowych dokumentu ranking dokumentu dokumenty związane z tym dokumentem („patrz też”)
Mogą pojawić się także sugestie dotyczą zmiany zapytania użytkownika lub podpowiedzi i sugestie co do dalszych kroków wyszukiwania.
K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 19 grudzień 2002
Podsumowanie
Budowa własnego pająka i wyszukiwarki jest trudnym przedsięwzięciem z kilku powodów: materia lingwistyczna będąca jej podmiotem jest bardzo złożona zbieranie informacji i udzielanie odpowiedzi na zapytania podlegają bardzo
silnym ograniczeniom czasowym i wydajnościowym wyrafinowane algorytmy (oparte na tradycyjnej wiedzy lingwistycznej i
metodach sztucznej inteligencji) mają nikłe zastosowanie ze względu na ogrom bazy dokumentów i konieczność szybkiego jej przetwarzania.wygrywają metody inżynierkie, które najczęściej nie mają nic wspólnego z
naukami lingwistycznymi i stanem sztuki AI coraz więcej informacji jest umieszczana w bazach danych („hidden web”),
które ze względu na specyficzne interfejsy mogą być słabo dostępne dla wyszukiwarek
Dla usprawnienia i zdyscyplinowania wyszukiwania w Sieci podjęto liczne prace standardyzacyjne zmierzające do ustrukturalizowania i znormalizowania informacji: XML, Dublin Core, RDF, Semantic Web. jest to jednak początek długiej drogi, która nie wiadomo dokąd prowadzi.