Tworzenie Portali Biznesowych

18
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] http://www.ipipan.waw.pl/~subieta

description

Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa. Tworzenie Portali Biznesowych. Wykład 14 Budowa własnej wyszukiwarki. Wykładowca: dr hab. inż. Kazimierz Subieta profesor PJWSTK [email protected] http://www.ipipan.waw.pl/~subieta. Kwestie decyzyjne. - PowerPoint PPT Presentation

Transcript of Tworzenie Portali Biznesowych

Page 1: Tworzenie Portali Biznesowych

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

Page 2: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 2 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.

Page 3: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 3 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).

Page 4: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 4 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)

Page 5: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 5 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.

Page 6: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 6 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.

Page 7: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 7 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

Page 8: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 8 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.

Page 9: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 9 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.

Page 10: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 10 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.

Page 11: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 11 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

Page 12: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 12 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.

Page 13: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 13 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

Page 14: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 14 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’

Page 15: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 15 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.

Page 16: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 16 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)

Page 17: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 17 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.

Page 18: Tworzenie Portali Biznesowych

K.Subieta. Tworzenie portali biznesowych, Wykład 14, Folia 18 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.