1 / 18

Tworzenie Portali Biznesowych

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 subieta@ipipan.waw.pl http://www.ipipan.waw.pl/~subieta. Kwestie decyzyjne.

khanh
Télécharger la présentation

Tworzenie Portali Biznesowych

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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.

  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. • 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).

  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 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)

  5. Projektowanie bazy danych - indeksu Możliwa jest oczywiście dowolna rozbudowa tego najprostszego schematu, np. w związku z informacją o stronach zawierających spam, itd. Linki ID_strony_źródłowej ID_strony docelowej * * 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) * *

  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 • 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.

  7. Architektura przykładowego systemu Czyszczenie i formatowanie danych Wewnętrzne procesy (obliczanie rankingu, itd.) Pająk np. w jęz.Perl Strony HTML SQL Baza danych robocza Dysk roboczy www Baza danych publikacyjna JDBC Serwer serwletów Serwer HTTP (Apache) Użytkownik www JSP

  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 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.

  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.

  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 • 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.

  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 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

  12. 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.

  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 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

  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’

  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 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 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.

  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)

  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.

  18. 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.

More Related