Wykład 12 Budowa wyszukiwarki. Wykładowca: dr inż. Mariusz Trzaska

Podobne dokumenty
Tomasz Boiński: 1. Pozycjonowanie stron i zastosowanie mod_rewrite

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Sieci komputerowe. Wykład 8: Wyszukiwarki internetowe. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Badanie struktury sieci WWW

Wyszukiwarki stosują różne metody oceny stron i algorytmy oceniające za indeksowane strony różnią się w poszczególnych wyszukiwarkach, ale można

Multiwyszukiwarka EBSCO Discovery Service - przewodnik

Multiwyszukiwarka EBSCO Discovery Service - przewodnik

POZYCJONOWANIE STRON PORADY

Spis treúci. Księgarnia PWN: Paweł Kobis - Marketing z Google. Podziękowania O Autorze Wstęp... 13

Multiwyszukiwarka EBSCO Discovery Service przewodnik

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

PageRank i HITS. Mikołajczyk Grzegorz

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

POZYCJONOWANIE STRONY SKLEPU

Indeksowanie full text search w chmurze

Wyszukiwarka naukowa EBSCO Discovery Service - przewodnik

OPTYMALIZACJA SERWISÓW INTERNETOWYCH >>>WIĘCEJ<<<

Dziennik Urzędowy Unii Europejskiej L 274/9

Skrócona instrukcja obsługi

Jak pisać publikacje naukowe? Nie o naukowej, a technicznej stronie pisania artykułu

Pobieranie i przetwarzanie treści stron WWW

edziennik Ustaw Opis architektury

Multiwyszukiwarka EBSCO Discovery Service - przewodnik

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Efektywne wyszukiwanie informacji w Internecie

Metadane. Przykry obowiązek czy przydatny zasób?

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

MATERIAŁY DYDAKTYCZNE. Streszczenie: Z G Łukasz Próchnicki NIP w ramach projektu nr RPMA /15

Multiwyszukiwarka EBSCO Discovery Service (EDS) Przewodnik użytkownika

Pozycjonowanie i SEO w czym jest różnica pojęć?

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Internet, jako ocean informacji. Technologia Informacyjna Lekcja 2

Tomasz Grześ. Systemy zarządzania treścią

Multiwyszukiwarka EBSCO Discovery Service - przewodnik

Metody indeksowania dokumentów tekstowych

Pomoc. BIP strona portalu

WYSZUKIWANIE INFORMACJI W INTERNECIE

Zasady Wykorzystywania Plików Cookies

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu.

Algorytmy sortujące i wyszukujące

Internet wyszukiwarki internetowe

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

INSTRUKCJA UŻYTKOWNIKA SYSTEMU BIP

TECHNOLOGIA INFORMACYJNA

IMIĘ I NAZWISKO... Wykorzystując wyszukiwarkę Google wykonaj poniższe polecenia:

Sieci komputerowe i bazy danych

WYSZUKIWANIE INFORMACJI W INTERNECIE I ICH WYKORZYSTANIE. Filip Makowiecki filip.makowiecki@ceo.org.pl

INFRA. System Connector. Opis systemu

POZYCJONOWANIE I OPTYMALIZACJA STRON WWW PDF >>>WIĘCEJ<<<

Primo wyszukiwarka naukowa

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Wyszukiwanie informacji w internecie. Nguyen Hung Son

Czytelnik w bibliotece cyfrowej

Sposoby analizy i interpretacji statystyk strony WWW.

World Wide Web? rkijanka

Instrukcja przygotowania pliku do deponowania

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Programowanie i techniki algorytmiczne

Ogólnopolskie Repozytorium Prac Dyplomowych

SEO / SEM PREZENTACJA OFERTY

Praca Magisterska. Automatyczna kontekstowa korekta tekstów na podstawie Grafu Przyzwyczajeń. internetowego dla języka polskiego

SI w procesach przepływu i porządkowania informacji. Paweł Buchwald Wyższa Szkoła Biznesu

Ćwiczenie: JavaScript Cookies (3x45 minut)

Spis treści. O autorce. O recenzentach. Wprowadzenie

Oferta prowadzenia kampanii reklamowej AdWords

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Mapa witryny - Poradnik od A do Z

Wyszukiwanie informacji

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika

INTERNET - NOWOCZESNY MARKETING

WEBCON BPS Instalacja Standalone

Nowe spojrzenie na prawo

Temat 20. Techniki algorytmiczne

Scenariusz zajęć WARSZTATY KOMPUTEROWE DLA NAUCZYCIELI. Autor: Maciej Lisak-Zbroński. 1. Grupa: Nauczyciele (uczący różnych przedmiotów)

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Oferta SEO. Analiza i optymalizacja

Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o.

Biblioteka Wirtualnej Nauki

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Instrukcja użytkownika BIP

Poradnik SEO. Ilu z nich szuka Twojego produktu? Jak skutecznie to wykorzystać?

#1 Wartościowa treść. #2 Słowa kluczowe. #3 Adresy URL

Adres IP

Architektura komputerów

APD. Archiwum Prac Dyplomowych w USOS. Mariusz.Czerniak@umk.pl

konsultacja online raport pdf, analiza, propozycja działań Skuteczne strategie.

Eksploracja danych a serwisy internetowe Przemysław KAZIENKO

Biblioteka Wirtualnej Nauki

Generatory pomocy multimedialnych

Sprawozdanie Laboratorium 4

INSTRUKCJA DLA AUTORÓW PUBLIKACJI NAUKOWYCH: OBLICZANIE LICZBY CYTOWAŃ ORAZ h-indeksu ZA POMOCĄ BAZY WEB OF SCIENCE

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła

EBSCOhost Wyszukiwanie podstawowe dla Bibliotek akademickich

Wszystko o sitelinkach w Google AdWords No prawie wszystko ;)

Transkrypt:

Wykład 12 Budowa wyszukiwarki Wykładowca: dr inż. Mariusz Trzaska

Zagadnienia Wstęp Projektowanie indeksu Budowa robota Indekser Analizator tekstu Ranking stron Google opis architektury oraz ogólnej zasady działania Podsumowanie Tworzenie portali biznesowych, Wykład 13 2

Kwestie decyzyjne Świat jest bardzo konkurencyjny, zaś rynek wyszukiwarek jest ciasny. W każdym kraju co najwyżej 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 człowieka 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. Tworzenie portali biznesowych, Wykład 13 3

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. Większość krajów planuje (lub już wprowadziła) 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). Tworzenie portali biznesowych, Wykład 13 4

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 rozbudowanego 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) Tworzenie portali biznesowych, Wykład 13 5

Projektowanie bazy danych - indeksu Link ID_strony_źródłowej ID_strony docelowej * * Możliwa jest oczywiście dowolna rozbudowa tego najprostszego schematu, np. w związku z informacją o stronach zawierających spam, itd. Strona_WWW ID_strony_WWW Tytuł (255 znaków) URL (255 znaków) Zawartość (1024 znaków) Ranking (ocena wagi strony) Liczba_linków_na stronie Klaster (kategoria tematyczna) * * ID_tematu Temat (char 255) Tworzenie portali biznesowych, Wykład 13 6

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 Zawartość 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 użytkownikó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. Tworzenie portali biznesowych, Wykład 13 7

Architektura przykładowego systemu Pająk np. w jęz.perl Strony HTML Czyszczenie i formatowanie danych Wewnętrzne procesy (obliczanie rankingu, itd.) SQL www Dysk roboczy Baza danych robocza Serwer serwletów Serwer HTTP (Apache) JSP JDBC www Baza danych publikacyjna Tworzenie portali biznesowych, Wykład 13 8

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 odwiedzaniu 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 ściągania mamy 5 sekund na stronę do przetwarzania czyli 500 000 sekund dla 100 000 odwiedzonych stron, czyli 6 dni i nocy. Tworzenie portali biznesowych, Wykład 13 9

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. Tworzenie portali biznesowych, Wykład 13 10

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 Jeżeli 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 użytkowników tą stroną. Przypisywanie wag może być iteracyjne (Google): waga strony X uzależniona od wag stron na których znajdują się linki do X. Tworzenie portali biznesowych, Wykład 13 11

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 użytkownikowi 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 Tworzenie portali biznesowych, Wykład 13 12

Komponenty indeksera Identyfikacja słów/fraz/termów występujących w dokumentach Usuwanie słów popularnych Ekstrakcja tematów przy użyciu 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 terminami 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. Tworzenie portali biznesowych, Wykład 13 13

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 również 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 dokumentów 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 Tworzenie portali biznesowych, Wykład 13 14

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 Tworzenie portali biznesowych, Wykład 13 15

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 operatoró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 pytania W 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. Tworzenie portali biznesowych, Wykład 13 16

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) Tworzenie portali biznesowych, Wykład 13 17

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. Tworzenie portali biznesowych, Wykład 13 18

Istniejące rozwiązania Google Autorzy: Sergey Brin, Lawrence Page Nazwa: słowo googol oznacza 10 100 Główna motywacja twórców: Stworzenie systemu wyszukującego charakteryzującego się bardzo wysoką jakością działania nawet kosztem wydajności. W dużym stopniu wykorzystuje struktury powiązań pomiędzy dokumentami Google zarządza prawdopodobnie największym clusterem Linuxa: 80 TB powierzchni dyskowej i łączną przepustowością 50 GB/s Do przygotowania slajdów dotyczących Google wykorzystano: Sergey Brin, Lawrence Page The Anatomy of a Large-Scale Hypertextual Web Search Engine. (http://infolab.stanford.edu/~backrub/google.html) Materiały pochodzące z http://www.cs.wpi.edu/~cs4241/2000d/class11.pdf Tworzenie portali biznesowych, Wykład 13 19

Google - Architektura Serwer URL Roboty internetowe Serwer magazynujący Repozytorium Kotwice Serwer indeksujący Rozstrzyganie URL Leksykon Linki Beczki Indeks dokumentów Serwery sortujące PageRank Serwer wyszukujący Tworzenie portali biznesowych, Wykład 13 20

Serwer URL Pobiera początkowe URL jako punkt startowy Odczytuje URL e z Indeksu Dokumentów Wysyła URL e do Robota celem przetwarzania Kolejność URL i jest istotna (głębokość) Roboty internetowe Serwer URL Kotwice Rozstrzyganie URL Linki Indeks dokumentów PageRank Tworzenie portali biznesowych, Wykład 13 21

Roboty internetowe Polskie tłumaczenia terminu Crawler: robot internetowy, pełzacz, pająk, BOT Pobiera strony z serwera www Zapisuje je na serwerze magazynującym Google wykorzystuje 4 roboty z których każdy ma około 300 połączeń. W szczycie pobierają około 100 stron na sekundę. Robot Exclusion Protocol nieformalny standard dotyczący oznaczania treści znajdujących się na www, które nie powinny być pobierane przez robota. Serwer URL Roboty internetowe Serwer magazynujący Tworzenie portali biznesowych, Wykład 13 22

Serwery magazynujące Roboty przekazują im pobrane strony www w postaci oryginalnej Kompresują je i w takiej postaci (format zlib; RFC1950) przekazują do repozytorium Sprawność kompresji to około 3:1 Zawierają unikalny identyfikator (docid) dla każdej ze stron Roboty internetowe Serwer magazynujący Repozytorium Tworzenie portali biznesowych, Wykład 13 23

Repozytorium Skompresowane strony www Pełen HTML każdej ze stron Zawartość stron skompresowana algorytmem zlib, który ma dobry stosunek jakości do szybkości Format: docid Długość dokumentu URL dokumentu Zawartość Serwer magazynujący Repozytorium Serwer indeksujący Tworzenie portali biznesowych, Wykład 13 24

Serwer indeksujący (Indexer) Odczytuje dane z repozytorium (skompresowane strony www) i dekompresuje je Parsuje każdy dokument i konwertuje każde słowo w trafienie (hit): Słowo, Pozycja w dokumencie, Względna wielkość czcionki, Małe/duże litery Różnicuje trafienia z uwzględnieniem: url, tytułu, Tekstu, meta Kotwice Serwer indeksujący Beczki Repozytorium Leksykon Indeks dokumentów Serwery sortujące Serwer wyszukujący Tworzenie portali biznesowych, Wykład 13 25

Moduł indeksujący (Indexer) (2) Rozmieszcza trafienia (hits) w beczkach tworząc częściowo posortowany indeks Parsuje linki i dodatkowe informacje (zurl, dourl, tekst linku) w specjalnych plikach kotwicowych (anchor files) Generuje plik leksykonu Tworzenie portali biznesowych, Wykład 13 26

Rozstrzyganie URL (URL Resolver) Odczytuje pliki kotwicowe Konwertuje względne adresy URL do bezwzględnych Mapuje bezwzględne adresy URL na identyfikatory docid Umieszcza tekst w indeksie razem z identyfikatorem docid, który do niego prowadzi Generuje bazę linków zawierającą pary identyfikatorów docid: Wykorzystywane do obliczania pozycji każdego z dokumentów w PageRanks Rozstrzyganie URL Kotwice Linki Indeks dokumentów Tworzenie portali biznesowych, Wykład 13 27

Serwery sortujące (Sorters) Przetwarza główny indeks (posortowane docid) w celu wygenerowania indeksu odwróconego (inverted) zawierającego posortowane identyfikatory słów wordid Krótki odwrócony indeks beczek zawierających tytuł i trafienia Pełny odwrócony indeks beczek zawierających pełny tekst Zawiera przesunięcie pozycji dla każdego wordid w odwróconym indeksie Beczki Serwery sortujące Tworzenie portali biznesowych, Wykład 13 28

Ranking stron (PageRank) Tworzy ranking ważności cytować danej strony Może być traktowany jako przybliżony model zachowań użytkownika: Zakłada losowego surfera z podanymi początkowymi linkami, klikającego na pojawiających się linkach Użytkownik nigdy nie wraca; czasami jest znudzony i rozpoczyna od innych linków Prawdopodobieństwo, że odwiedzi on jakąś stronę jest określane właśnie przez jej PageRank Linki PageRank Serwer wyszukujący Tworzenie portali biznesowych, Wykład 13 29

Ranking stron (PageRank) (2) Definicja PageRank: Zakładamy, że strona A ma strony T1, Tn prowadzące do niej. Parametr d to współczynnik tłumienia, który może przyjmować wartość od 0 do 1 (zwykle wynosi 0,85). C(A) jest definiowane jako liczba linków wychodzących ze strony A. PageRank strony A obliczany jest wzorem: PR(A) = (1-d) + d (PR(T1)/C(T1) +... + PR(Tn)/C(Tn)) Suma PageRank dla wszystkich stron web u wynosi 1. Tworzenie portali biznesowych, Wykład 13 30

Ranking stron (PageRank) (3) Strony mają wyższy PageRank jeżeli wiele linków do nich prowadzi Wysoki PageRank mogą mieć strony nawet z niewielką liczbą prowadzących linków, pod warunkiem, że prowadzące strony mają wysoki PageRank (np. Yahoo, onet, gaeta.pl, itp.). Linki PageRank Serwer wyszukujący Tworzenie portali biznesowych, Wykład 13 31

Kotwice (Anchors) Tekst opisujący link prowadzący do strony www 24 miliony stron wygenerowało około 259 milionów kotwic (6,6 GB) Zwykle jest to dużo lepszy opis strony niż, np. jej nagłówek Istnieją nawet dla stron, które nie mogą być zaindeksowane przez systemy wyszukujące oparte na tekście Potencjalny problem odnośników do stron, które nie istnieją Kotwice Serwer indeksujący Rozstrzyganie URL Tworzenie portali biznesowych, Wykład 13 32

Linki (Links) Baza danych zawierająca pary identyfikatorów dokumentów docid Wykorzystywane do obliczenia PageRank konkretnych stron www Rozmiar ok. 3,9 GB Rozstrzyganie URL Linki PageRank Tworzenie portali biznesowych, Wykład 13 33

Indeks dokumentów Indeks ISAM (Indexed Sequential Access Mode) posortowany według identyfikatorów dokumentów docid Każdy wpis zawiera Status dokumentu Jego sumę kontrolną Różne statystyki Serwer URL Rozstrzyganie URL Serwer indeksujący Indeks dokumentów Jeżeli dokument Serwer wyszukujący został odwiedzony przez robota to wskaźnik do pliku zawierającego linki dokumentu i tytuł nie został odwiedzony przez robota to wskaźnik do pliku zawierającego tylko URL. Tworzenie portali biznesowych, Wykład 13 34

Leksykon (Lexicon) Wersja robocza znajduje się w pamięci RAM Zawiera około 14 000 000 słów Rozmiar około 293 MB Serwer indeksujący Leksykon Serwer wyszukujący Tworzenie portali biznesowych, Wykład 13 35

Beczki (Barrerls) Rozmiar: krótki indeks ok. 4,1 GB, Pełny ok. 37 GB Główny indeks jest posortowany według identyfikatorów dokumentów (docid), docid Odwrócony indeks jest posortowany według identyfikatorów słów (wordid) wordid Silnik wyszukujący najpierw sprawdza krótki indeks wordid docid Kotwice Serwer indeksujący Rozstrzyganie URL Beczki Indeks dokumentów Serwery sortujące Serwer wyszukujący Tworzenie portali biznesowych, Wykład 13 36

Format Główny indeks Beczki (Barrerls) (2) Odwrócony indeks (trochę podobnie jak główny) Tworzenie portali biznesowych, Wykład 13 37

1. Parsowanie Przetwarzanie zapytania 2. Konwersja słów na odpowiadające im identyfikatory (wordid) 3. Odszukanie w beczkach, listy dokumentów dla każdego ze słów 4. Przeszukanie listy dokumentów w celu znalezienia dokumentów zawierających wszystkie słowa kluczowe 5. Obliczenie pozycji dokumentu w zapytaniu 6. Jeżeli korzystamy z krótkiego indeksu i jesteśmy na końcu listy dokumentów to rozpoczynamy przeszukiwanie w pełnym indeksie i idziemy do kroku nr 4. 7. Jeżeli nie jesteśmy na końcu listy dokumentów to wracamy do pkt. 4 8. Sortowanie wyników według rankingu (patrz następny slajd) i zwrócenie pierwszych z nich Tworzenie portali biznesowych, Wykład 13 38

Ranking zapytanie z jednym słowem 1. Przeanalizuj listę trafień tego dokumentu dla szukanego słowa. 2. Trafienie może być różnego rodzaju (tytuł, tekst, itp). Każdy z nich ma inną wagę. 3. Te wagi typów tworzą wektor indeksowany typem. 4. Policz liczbę trafień każdego rodzaju w liście trafień. 5. Następnie każdą z tych liczb zmodyfikuj o specjalną wagę, która na początku rośnie liniowo, a później dość szybko się zmniejsza. 6. Policz iloczyn skalarny wektora z pkt 3 oraz wektora z obliczeń z pkt. 5. Otrzymasz wartość zwaną IR. 7. Wartość IR jest przetwarzaną w oparciu o PageRank. Tworzenie portali biznesowych, Wykład 13 39

Ranking zapytanie z wieloma słowami 1. Przeskanuj wiele list tak aby trafienia znajdujące się blisko siebie były wyżej oceniane. 2. Dla każdego zestawu trafień oblicz ich sąsiedztwo 3. Zaklasyfikuj każde z sąsiedztw do jednej z 10 kategorii. 4. Oblicz liczbę trafień nie tylko dla każdego ich typu, ale również dla pary [typ, sąsiedztwo] 5. Każdy para [typ, sąsiedztwo] ma przypisaną wagę 6. Zmodyfikuj liczby trafień w oparciu o wagi. 7. Oblicz iloczyn skalarny liczby trafień oraz par [typ, sąsiedztwo] 8. W efekcie otrzymasz IR, który zostanie zmodyfikowany w oparciu o PageRank, dając ostateczną wartość w rankingu. Tworzenie portali biznesowych, Wykład 13 40

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 standaryzacyjne 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. Tworzenie portali biznesowych, Wykład 13 41