EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM III ANALIZA UśYTKOWANIA SIECI

Podobne dokumenty
EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM V ANALIZA UŻYTKOWANIA SIECI ANALIZA LOGÓW + MINING NAVIGATIONAL PATTERNS + A-PRIORI

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

Wykład 5. Cel wykładu. Korespondencja seryjna. WyŜsza Szkoła MenedŜerska w Legnicy. Informatyka w zarządzaniu Zarządzanie, zaoczne, sem.

Podręcznik Integracji

Dokumentacja programu Rejestr Informacji o Środowisku

Zad. 3: Układ równań liniowych

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

EKSPLOATACJA SYSTEMÓW TECHNICZNYCH - LAB. Wprowadzenie do zajęć

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla administratora systemu Warszawa 2007

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Wypełnianie protokołów systemie USOSweb

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

Technologia informacyjna

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

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

Przykładowe B+ drzewo

Aplikacja sieciowa kalkulatora macierzowego zadanie za 10 punktów

Instrukcja zarządzania kontami i prawami

Instrukcja uŝytkownika narzędzia Skaner SMTP TP. Uruchamianie aplikacji

Ćwiczenie: JavaScript Cookies (3x45 minut)

Instrukcja automatycznego tworzenia pozycji towarowych SAD na podstawie danych wczytywanych z plików zewnętrznych (XLS).

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.)

Aby pobrać program FotoSender naleŝy na stronę lub i kliknąć na link Program do wysyłki zdjęć Internetem.

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Bazy danych. Andrzej Łachwa, UJ, /15

SYSTEM ZARZĄDZANIA TREŚCIĄ (CMS) STRONY INTERNETOWEJ SZKOŁY PRZEWODNIK

Rozkład materiału nauczania

wersja dokumentacji 1.00 Opis programu TeleTokenEdit

Program do obsługi ubezpieczeń minifort

Wyszukiwanie informacji w internecie. Nguyen Hung Son

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

W oknie na środku, moŝna wybrać język, który będzie językiem domyślnym dla TC. Wybierzmy zatem język polski:

Wymagania kl. 3. Zakres podstawowy i rozszerzony

Formularz MS Word. 1. Projektowanie formularza. 2. Formularze do wypełniania w programie Word

Multiwyszukiwarka EBSCO Discovery Service - przewodnik

Program Opakowania zwrotne dla InsERT GT.

INWENTARYZACJA W PROGRAMIE INTEGRA

5. Administracja kontami uŝytkowników

WYSZUKIWANIE I PRZETWARZANIE INFORMACJI LISTA KONTROLNA PYTAŃ, WSKAZÓWEK I PODPOWIEDZI PRZED KOLOKWIUM ZALICZENIOWYM

Bazy danych Access KWERENDY

Trik 1 Formatowanie przenoszone z wykresu na wykres

Autor: Joanna Karwowska

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

INSTRUKCJA OBSŁUGI PORTAL B2B

Trik 1 Identyfikator klienta generowany za pomocą formuły

Pobierz plik z przykładem

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Program Zamiana towarów dla Subiekta GT.

INSTRUKCJA OBSŁUGI SKLEPU INTERNETOWEGO. Alu System Plus Sp.J. ul.leśna 2d Chrzanów, tel.(+48-32)

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

Instrukcja wypełniania i rejestrowania wniosków on-line do wszystkich Akcji programu MłodzieŜ w działaniu

Jak ustawić cele kampanii?

Procedura uzyskania certyfikatu kwalifikowanego. Krok 3. Pobieranie certyfikatu kwalifikowanego wersja 1.5

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Sposoby analizy i interpretacji statystyk strony WWW.

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

Obsługa serwisu kształcenie kwalifikacyjne w zawodzie - nowa formuła egzaminu zawodowego

Część I Rozpoczęcie pracy z usługami Reporting Services

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

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

9.5 Rozliczanie zaopatrzenia w przedmioty ortopedyczne i środki pomocnicze

KURS ACCESS 2003 Wiadomości wstępne

INSTRUKCJA OBSŁUGI SYSTEMU e-bok (Elektroniczne Biuro Obsługi Klienta) MIESZKAŃCÓW Spółdzielni Mieszkaniowej Gołębiów II w Radomiu

Program Dokumenty zbiorcze dla Subiekta GT.

Instrukcja Obsługi. P o P r o s t u L e p s z e D a n e!

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

USOSweb wypełnianie protokołów

Instrukcja obsługi zamówień

Algorytm grupowania danych typu kwantyzacji wektorów

Instrukcja pracy w systemie USOSweb dla wykładowców PWSZ w Koninie - wpisywanie ocen -

Konfiguracja programu pocztowego Outlook Express i toŝsamości.

Okno logowania. Okno aplikacji. 1. Logowanie i rejestracja

Agnieszka Nowak Brzezińska Wykład III

KOMUNIKACJI AGENTA/GESTORÓW KONTENERÓW Z SYSTEMEM KOMPUTEROWYM GCT.

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

Układy równań liniowych. Ax = b (1)

TRX API opis funkcji interfejsu

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Teoretyczne wprowadzenie do programu pocztowego Microsoft Outlook 2007

Certyfikat niekwalifikowany zaufany Certum Silver. Instrukcja dla uŝytkowników Windows Vista. wersja 1.1 UNIZETO TECHNOLOGIES SA

6. Bezpieczeństwo przy współpracy z bazami danych

Do korzystania ze strony elektronicznej rekrutacji zalecamy następujące wersje przeglądarek internetowych:

Text mining w programie RapidMiner Michał Bereta

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Rys. 1. Zestawienie rocznych kosztów ogrzewania domów

Elementy modelowania matematycznego

Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp

Agnieszka Nowak Brzezińska Wykład III

3.1. Na dobry początek

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI)

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Sesje i logowanie. 1. Wprowadzenie

Podstawy obsługi aplikacji Generator Wniosków Płatniczych

I. Interfejs użytkownika.

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Tomasz Greszata - Koszalin

Transkrypt:

EKSPLORACJA ZASOBÓW INTERNETU - MIŁOSZ KADZIŃSKI LABORATORIUM III ANALIZA UśYTKOWANIA SIECI 1. Plan laboratorium III - Drzewo i tablica sufiksów - Query expanding - Wybór cech - Formaty pliku log serwera - Wstępne przetwarzanie - Eksploracyjna analiza (podstawy) - Omówienie zadań do samodzielnego wykonania (analiza pliku logu; 17pkt.) - Omówienie typu zadań na koło 10 stycznia - Sprawdzenie zadania wyszukiwarka TF/IDF 2. Drzewo i tablica sufiksów - umoŝliwia efektywną obsługę zapytań, które wymagają wyszukania w tekstach ciągów słów lub ciągów znaków ; - indeksowany tekst jest traktowany jako jeden długi ciąg znaków; - prefiks określenie początkowych znaków ciągu (np. S dla U jeśli U=SU ); sufiks określenie końcowych znaków ciągu (np. S dla U jeśli U=U S) Suffix trie: Struktura drzewiasta do przechowywania ciągów znaków, której kaŝdy moŝliwy sufiks moŝna znaleźć na ścieŝce od korzenia do któregoś liścia. cacao$ suffix S(i) I cacao$ 0 acao$ 1 cao$ 2 ao$ 3 o$ 4 $ 5 Drzewo sufiksów (suffix tree) to bardziej zwięzła reprezentacja struktury suffix trie (etykiety przesunięte do krawędzi, a kaŝdy węzeł z pojedynczym potomkiem jest eliminowany (poprzez połączenie węzła z potomkiem w pojedynczy węzeł). - rozmiar maksymalnie 2n - łatwe do zaprogramowania - czas tworzenia O(n) - 1 -

Podstawowe zastosowania: - znalezienie podciągu o długości m; - najdłuŝsza powtarzająca się sekwencja znaków; - najdłuŝszy wspólny podciąg kilku ciągów znaków (alibaba.taliban.) - najdłuŝszy palindrom (what do you think, do geese see God? -> whatdoyouthink dogeeseseegod.dogeeseseegodknihtuoytahw) Tablica sufiksów suffix S(i) i Suffix S(i) SA[j] cacao$ 0 $ 5 acao$ 1 a cao$ 1 cao$ 2 -> sort -> a o$ 3 ao$ 3 ca cao$ 0 o$ 4 ca o$ 2 $ 5 o$ 4 Tablica sufiksów to tablica indeksów posortowanych sufiksów Tablica sufiksów jest zawsze permutacją indeksów sufiksów Algorytm qsufsort 3. Query expanding Reformułowanie zapytania, by ulepszyć odpowiedź (jakość wyszukanych stron, dokumnetów) - znalezienie synonimów i ich szukanie; - znalezienie form morfologicznych wyrazu; - poprawienie błędów (literówek) i szukanie wyników dla prawidłowego słowa; 4. Wybór cech - znalezienie podzbioru atrybutów, które najlepiej opisują zbiór dokumentów pod względem zadania klasyfikacji; - spróbuj wszystkie podzbiory i wybierz ten, który maksymalizuje dokładność niepraktyczne; - załoŝenie: atrybuty są niezaleŝne; Entropia: - S zbior wektorów dokumentów z k klas C1,, Ck (liczba dokumentów (wektorów) to S = S1 + + Sk, gdzie Si jest zbiorem dokumentów naleŝących do klasy Ci. Entropia jest średnią informacją (average information) potrzebną do przewidywania klasy dla dowolnego wektora w S. Jest zdefiniowana jako: H s = k i= 1 P C ) log i P C (, 2 ( i ) - 2 -

gdzie prawdopodobieństwo klasy Ci jest obliczane jako P(Ci) = Si / S. ZałóŜmy, Ŝe term A ma m wartości v1, v2,, vm. Wtedy A dzieli zbiór S na m podzbiorów A1,., Am, kaŝdy zawierający dokumenty, które mają wartość vi dla atrybutu A. Entropia podziału opartego na atrybucie A jest zdefiniowana jako: H A m i ( S / A1,..., Am) = H ( Ai ), i= 1 S gdzie H(A i ) jest entropią rozkładów klas w zbiorze A i. Zysk informacji mierzy jakość podziału odpowiedniego atrybutu jako róŝnicę entropii:. zysk( A) H ( S) H ( S / A1,..., Am) =. 5. Analiza uŝytkowania sieci na podstawie plików log serwera Która strona jest najpopularniejszym punktem wejścia? W jakiej kolejności strony są odwiedzane? Które inne witryny skierowały uŝytkowników do naszej witryny? Ile stron odwiedzają uŝytkownicy podczas typowej wizyty? Jakie jest obciąŝenie serwera w danej godzinie, dniu tygodnia? Jak długo typowy gość przebywa na naszej stronie? Która strona jest najczęściej punktem wyjścia uŝytkowników? Plik log serwera: - dla kaŝdego Ŝądania z przeglądarki przesłanego do serwera, automatycznie generowana jest odpowiedź, a jej wynik jest zapisywany w plikach log; -odpowiedź to rekord zapisany w pojedynczej linii, który jest dokłączony do pliku tekstowego ASCII znajdującego się na serwerze; 141.243.1.172 [29:23:53:25] "GET /Software.html HTTP/1.0" 200 1497 query2.lycos.cs.cmu.edu [29:23:53:36] "GET /Consumer.html HTTP/1.0" 200 1325 tanuki.twics.com [29:23:53:53] "GET /News.html HTTP/1.0" 200 1014 KaŜda linia zawiera następujące pola: - pole adresu IP hosta (jeśli jego nazwa jest w serwerze DNS, to zamiast IP jest nazwa hosta); - pole data/czas (tu [DD:HH:MM:SS], zwykle [DD/Mon/YYYY:HH:MM:SS offset] 09/Jun/1988:03:37:00-0500); - pole Ŝądania HTTP (metoda http (najpopularniejsza GET; moŝe być HEAD, PUT, POST), URL (identyfikator zasobu); nagłówek, protokół); - pole kodu odpowiedzi HTTP (2xx sukces, 4xx błąd; np. 200 ok., 204 brak zawartości, 400 nieprawidłowe zapytanie, 404 nie znaleziono 500 błąd wewnętrzny serwera; patrz: Wiki Kod odpowiedzi http); - pole wielkości transferu rozmiar pliku (strony, pliku graficznego, itp.) w bajtach wysłanego przez serwer do przeglądarki klienta (tylko Ŝądania GET, które zostały zakończone pomyślnie mają dodatnie wartości w polu wielkość transferu; w przeciwnym razie - lub 0); - 3 -

Plik log moŝe mieć róŝne formaty, które zmieniają się w zaleŝności od konfiguracji sieci: Format CLF (common log format) - pole adresu IP hosta, pole nazwy uŝytkownika (przechowywanie informacji o toŝsamości, jeśli serwer sprawdza toŝsamość rzadko uŝywane), pole authuser (za kogo uŝytkownik się podaje, aby uzyskać dostęp do katologów zabezpieczonych hasłem), pole daty/czasu, pole Ŝądania http, pole kodu odpowiedzi, pole wielkości transferu; Format ECLF (extended CLF) - na końcu dwa dodatkowe pola - pole adresu strony odsyłającej - pole przeglądarki klienta 149.1xx.120.116 smithj [28/OCT/2004:20:27:32-5000] GET /Default.htm http/1.1 200 1270 http:/www.dataminingconsultant.com/ Mozilla /4.0+ (compatible;+msie+6.0;+windows+nt+5.0) Nazwa uŝytkownika - - Authuser smithj; Adres strony odysłającej - http:/www.dataminingconsultant.com Przeglądarka: Mozilla/4.0 Format Microsoft IIS 6. Wstępne przetwarzanie danych do analizy Dlaczego musimy przetworzyć plik log zanim przystępimy do analizy? - wyczyszczenie danych i filtrowanie (usunięcie ze zbioru Ŝądań automatycznie wygenerowanych) - wydobycie zmiennych (jeśli to konieczne) z pól złoŝonych - z pola data/czas wydobądź zmienną data i czas - z pola Ŝądania http, wydobądź metodę Ŝądania, URL i wersję protokołu; - utwórz timestamp (znacznika czasu) dla kaŝdego wpisu (oblicz ile dni między wpisem a punktem odniesienia; pomnóŝ przez 86400; dodaj do tego czas w sekundach od północy do chwili, która jest reprezentowana przez czas we wpisie pliku log); - odfiltruj dodatkowe Ŝądania wpbfl2-45.gate.net [29:23:54:15] "GET / HTTP/1.0" 200 4889 wpbfl2-45.gate.net [29:23:54:16] "GET /icons/circle_logo_small.gif HTTP/1.0" 200 2624 wpbfl2-45.gate.net [29:23:54:18] "GET /logos/small_gopher.gif HTTP/1.0" 200 935 wpbfl2-45.gate.net [29:23:54:19] "GET /logos/small_ftp.gif HTTP/1.0" 200 124 wpbfl2-45.gate.net [29:23:54:19] "GET /icons/book.gif HTTP/1.0" 200 156 wpbfl2-45.gate.net [29:23:54:19] "GET /logos/us-flag.gif HTTP/1.0" 200 2788 wpbfl2-45.gate.net [29:23:54:20] "GET /icons/ok2-0.gif HTTP/1.0" 200 231 - dla metody GET, analizujemy najczęściej pojawiające się w Ŝądaniu rozszerzenia pliku; - 4 -

- określamy, które mogą być nieistotne do modelowania zachowania uŝytkownika; - zwykle moŝna bezpiecznie pominąć pliki graficzne (.gif.,.jpg,.xbm) (chyba, Ŝe witryna traktuje grafikę jako zawartość i chcemy śledzić ściągnie plików lub analityk jest zainteresowany obserwacją zawartości łącz); - usuwamy z pliku log pliki, które nie są istotne dla naszego zadania; - zatrzymujemy pliki z następującymi rozszerzeniami:.asp,.doc,.exe,.gz,.htm,.html,.pdf,.ppt,.ps,.tar,.txt,.wp,.wpd,.xls,.xml,.zip oraz Ŝądania z brakiem rozszerzenia pliku, które wskazują na stronę domyślną (to tylko przykład rozszerzenia plików, które zostają zachowane zaleŝą od analityka); - usunięcie wpisów pochodzących od robotów - roboty, pełzacze, pająki, boty; - ich zachowanie róŝni się od zachowania ludzi (sprawdza kaŝdy moŝliwy link); - zidentyfikowanie nazwy robota w polu przeglądarki (jeśli jest dostępne) boty często zamieszczają adres URL lub e-mail (http://www.google.com/bot.html; MSNbot (search.msn.com/msnbot.htm), Yahoo! Slurp (help.yahoo.com/help/us/search/slurp), Scirus (robot słuŝący do celów naukowych; program Server Alive URL check); - identyfikacja pojedynczego uŝytkownika większość wejść na strony jest anonimowa; - cookie (tekst, określony przez serwer, zawierający informacje, które serwer chce umieścić; uniknięcie ponownego logowania; personalizacja stron; zachowanie koszyka w sklepie internetowym); - pole adresu IP hosta (problem - serwery proxy); pole uŝytkownika (rzadko wypełniane); - pole przeglądarki (jeśli nawet IP jest takie samo, moŝna uznać, Ŝe jeśli pole przeglądarki róŝni się dla róŝnych wpisów, Ŝądania prochodzą od róŝnych uŝytkowników); - analiza pola adresu odsyłającego wraz z topologią strony (jeśli nie ma bezpośreniego połączenia, prawdpododobnie nowy uŝytkownik); Procedura identyfikacji: - uporządkuj plik log według adresu IP, a potem wg znacznika czasu; - dla kaŝdego IP, zidentyfikuj przeglądarkę jako naleŝącą do osobnego uŝytkownika; - zastosuj informację o ścieŝce, znajdującą się w polu adresu odsyłającego i topologię witryny, aby określić, czy jest bardziej prawdopodobne, Ŝe zachowanie naleŝy do dwóch lub większej liczby uŝytkowników; - połącz informację z poprzenich punktów z dostępnymi ciasteczkami oraz informacjami rejestracyjnymi; - 5 -

Adres IP Czas Metoda Ares odsyłający Agent 987.654.32.1 00:00:02 GET A.html HTTP/1.1 - Mozilla/4.0 987.654.32.1 00:00:05 GET B.html HTTP/1.1 A.html Mozilla/4.0 987.654.32.1 00:00:06 GET A.html HTTP/1.1 - Mozilla/5.0 987.654.32.1 00:00:10 GET E.html HTTP/1.1 B.html Mozilla/4.0 987.654.32.1 00:00:17 GET K.html HTTP/1.1 E.html Mozilla/4.0 987.654.32.1 00:00:20 GET C.html HTTP/1.1 A.html Mozilla/5.0 987.654.32.1 00:00:27 GET I.html HTTP/1.1 - Mozilla/4.0 987.654.32.1 00:00:36 GET G.html HTTP/1.1 C.html Mozilla/5.0 987.654.32.1 00:00:49 GET O.html HTTP/1.1 I.html Mozilla/4.0 987.654.32.1 00:00:57 GET M.html HTTP/1.1 G.html Mozilla/5.0 987.654.32.1 00:03:15 GET H.html HTTP/1.1 - Mozilla/5.0 987.654.32.1 00:03:20 GET N.html HTTP/1.1 H.html Mozilla/5.0 987.654.32.1 00:41:27 GET E.html HTTP/1.1 K.html Mozilla/4.0 987.654.32.1 00:41:44 GET L.html HTTP/1.1 E.html Mozilla/4.0 Analiza po samym IP UŜytkownik 1 Analiza po IP + Agencie UŜytkownik 1: A B E K I O E L UŜytkownik 2: A C G M H N Adres odsyłujący + topologia Dla uŝytkownika 1: brak połączenia między K oraz I Prawdopodobne, Ŝe jest to inny uŝytkownik UŜytkownik 1: A B E K E L UŜytkownik 2: A C G M H N UŜytkownik 3: I O A B C D E F G H I J K L M N O P Identyfikacja sesji: Sesja 1 (UŜytkownik 1: A B E K ) Sesja 2 (UŜytkownik 2: A C G M H N) Sesja 3 (UŜytkownik 3: I O) Sesja 4 (UŜytkownik 1: E L) Uzupełnianie ścieŝek: Dla uŝytkownika 2 nie ma bezpośredniego połączenia między M oraz H Mógł nacisnąć dwa razy Wstecz i ze strony C przejść do H Sesja 1 (UŜytkownik 1: A B E K ) Sesja 2 (UŜytkownik 2: A C G M G C H N) Sesja 3 (UŜytkownik 3: I O) Sesja 4 (UŜytkownik 1: E L) - 6 -

- identyfikacja sesji uŝytkownika określenie dla kaŝdej wizyty, których stron zaŝądano i określenie czasu wyświetlania kaŝdej z nich; - maksymalny dopuszczalny czas pomiędzy Ŝądaniami naleŝącymi do tej samej sesji (timeout); w badaniach określono go na 25,5 minuty; wielu analityków i autorów programów komercyjnych ustala tę wartość na 30 minut (1800 sekund); Procedura identyfikacji sesji: - kaŝdemu uŝytkownikowi przypisz unikalny identyfikator sesji; - zdefiniuj maksymalny timeout t; - dla kaŝdego uŝytkownika: - znajdź czas między dwoma sąsiednimi wpisami; - jeŝeli przekracza on wartość progową t, przypisz nowy identyfikator sesji do kolejnych jego wpisów; - uporządkuj wpisy wg identyfikatora sesji; - Uzupełnienie ścieŝek przycisk Wstecz strona łądowana z pamięci podręcznej, co powoduje dziury w zapisach plików log serwera; znajomość topologii witryny umoŝliwia ich uzupełnienie; 7. Eksploracyjna analiza uŝytkowania Proste techniki, które sporo mówią o zachowaniu uŝytkownika. - liczba Ŝądań w sesji (długość wizyty wyraŝona liczbą Ŝądań w sesji; rozkład prawoskośny); - długość sesji (nie wiadomo, ile czasu uŝytkownik spędził na ostatniej stronie) - wybierz sesje, które zawierają więcej niŝ jedno Ŝądanie; - dla kaŝdej sesji odejmij znacznik pierwszego Ŝądania od znacznika dla ostatniego Ŝądania; - duŝo niepewności: niedoszacowanie, bo nie uwzględniamy czasu spędzonego na ostatniej stronie; - zaleŝność między długością sesji a liczbą Ŝądań uŝytkownika; - wykres liczba Ŝądań (oś x), długość sesji (oś y) analiza regresji (liniowej); - średni czas na stronę długość sesji/(liczba Ŝądań 1); - 7 -

8. Discovery Challenge 2007 Zbiór uczący i testujący (https://ophelia.cs.put.poznan.pl/webdav/ezi/students/gemius/) Format w zbiorze uczącym : path_id user_id timestamp Path (category1, pageviews_number), Path (category2, pageviews_number) W zbiorze testującym: path_id user_id timestamp Problem 1: Określić, czy wizyta będzia długa czy krótka (długa liczba kategorii stron > 1) Problem 2: Określić najbardziej prawdopodobne kategorie, które pojawią się na pierwszych trzech pozycjach - 8 -

9. Zadania do realizacji w zespołach dwuosobowych Dla wybranego pełnego tygodnia (od poniedziałku 00:00 do niedzieli 24:00) z pliku log (http://ita.ee.lbl.gov/html/contrib/sask-http.html (access log; link u dołu strony)) przetwórz dane zgodnie z poniŝszymi instrukcjami 1. Wydobadź zmienne: data i czas. 2. Wydobądź zmienne: metoda http, Ŝądana strona i wersja protokołu. 3. Utwórz znacznik czasu reprezentujący liczbę sekund, które upłynęły od pewnej daty, np. 1 czerwca 1995. 4. [2] Zbuduj tabelę 10 najczęstszych rozszrzeń stron z liczbami wystąpień (czyli bez katalogów /, /images; tylko strony). 5. [1] Odsiej wszystkie rekordy z metodą inną niŝ GET i wszystkie z plikami o rozszerzeniach innych niŝ:.htm,.html,.pdf,.asp,.exe,.txt,.doc,.ppt,.xls,.xml. Zachowaj rekordy z pustymi rozszerzeniami stron. Podaj ile rekordów było przed tymi operacjami (oryginalnie), a i ile zostało teraz. 6. [1] Zidentyfikuj uŝytkownika na podstawie unikalnego adresu IP. Podaj, ile jest uŝytkowników. 7. [1] Zidentyfikuj wszystkie sesje. UŜyj unikalnego adresu IP oraz wartości progowej maksymalnego dozwolonego czasu między Ŝądaniami, równej 30 minut. Podaj, ile jest sesji. 8. [3] Zbadaj Ŝądania uŝytkownika. PokaŜ histogram liczby Ŝądań w sesji (oś x liczba Ŝadań, oś y liczba sesji z taką liczbą Ŝądań). PokaŜ statystyki takie jak średnia, mediana, wartość modalna, minimalna i maksymalna. 9. [3] Zbadaj zaleŝność między długością sesji a liczbą Ŝądań uŝytkownika. RozwaŜ tylko sesje o liczbie Ŝądań powyŝej 1. UŜyj wykresu rorzutu (oś x liczba Ŝądań, oś y długość sesji w sek.). UŜyj prostego modelu regresji liniowej i podaj oszacowane równanie regresji. Nanieś linię na wykres. 10. [3] Zbuduj wykres słupkowy liczby rozpoczętych sesji na godzinę (oś x godzina 0-23; oś y liczba sesji) w przekroju całego tygodnia. 11. [3] Zbuduj wykres słupkowy liczby rozpoczętych sesji na dzień (oś x Mon-Sun; oś y liczba sesji). Rozwiązania poszczególnych zadań w arkuszu kalkulacyjnym w osobnych zakładkach (jeśli jest wykres, to muszą być teŝ serie danych; zadania 4-7 mogą być na jednej zakładce). W rozwiązaniu podaj analizowany przez Ciebie temin wpisów (data od do) oraz 20 pierwszych wpisów przed i po filtrowaniu. Punktów do zdobycia: 17 Łącznie ze wszystkich zadań: 29+27+17=73 Jeśli ktoś nie zaliczy raportów (poniŝej 36,5pkt.), to Ŝeby zaliczyć przemiot, ze sprawdzianu musi dostać tyle % powyŝej 50%, ile brakowało mu, by zaliczyć raporty (np. ktoś zdobył 36% z raportów; aby zaliczyć przedmiot musi zdobyć 50%+14%=64%). - 9 -

Koło typ zadań - 10 stycznia I. TF/IDF - Dla podanego zapytania Q i danej kolekcji dokumentów znaleźć najbardziej adekwatny dokument zgodnie z miarą TF/IDF (rozmiar problemu rzędu: 3 dokumenty, 4 termy; wymagane etapy: zapisać w reprezentacji TF; zapisać IDF dla termów (pamiętać, Ŝe zapytanie nie wpływa na wartości IDF, bo te oblicza się na podstawie kolekcji dokumentów); zapisać w reprezentacji TF/IDF; obliczyć podobieństwa za pomocą miary cosinusowej juŝ tylko dla reprezentacji TF/IDF; odpowiedź). Do obliczenia wartośći TF oraz IDF obowiązują wzory podane na zajęciach (n ij /max k n kj oraz log(d/d i ) II. Obliczyć miary precision/recall (dana liczba dokumentów ogółem; wymienione indeksy dokumentów istotnych; wymienione indeksy dokumentów pobranych; wymagane etapy: podać wzór na precision/recall (nie zapomnieć, Ŝe we wzorze operuje się na liczności zbiorów; trzeba wiedzieć co oznacza relevant i retrieved); wypisać istotne dokumenty wśród zwróconych; podstawić liczby; podać wynik) III. PageRank (dana struktura powiązań graf sieci; zapisać macierz stochastyczną (uwaga na kolejność wierszy i kolumn); zapisać równania początkowe, które pozwolą na obliczenie PageRanku (z damping factor q równym ; jeśli bez damping factor trzeba teŝ dodać równanie normalizujące); bez obliczania spróbować uzasadnić na podstawie struktury sieci, dla której strony PageRank będzie najlepszy, a dla której najgorszy; rozmiar 4-5 wierzchołków) IV. HITS (zapisać macierz połączeń (uwaga na kolejność wierszy i kolumn); obliczyć na jej podstawie macierz, której analiza pozwoli na uzyskanie wartości koncentratorów (autorytetów) trzeba potrafić transponować macierz i wymnoŝyć dwie macierze; moŝe być dany wektor własny macierzy LL T oraz L T L; trzeba będzie się zorientować, który dotyczy koncentratorów, a który autorytetów; na tej podstawie rozpoznać najlepsze/najgorsze koncentratory/autorytety i uzasadnić dlaczego któraś strona jest dobrym/złym autorytetem/koncentratorem w kontekście ocen koncentratorów/autorytetów; rozmiar 4-5 wierzchołków) V. Aglomeracyjne grupowanie hierarchiczne (wypełniona macierz podobieństwa dla dokumentów; dokonać aglomeracji wg maksymalnego lub minimalnego podobieństwa dokumentów w grupie (łączymy dwie grupy (dokumenty) w jednym etapie; zawsze te, które są najbardziej podobne wg ustalonegj miary) i narysować dendrogram 4-5 dokumentów). VI. K-means (dana macierz podobieństwa i macierz TF/IDF dla dokumentów; dokonaj podziału, jeśli centroidami w I etapie są dokumenty najmniej/najbardziej pododne; oblicz miarę podobieństwa J; oblicz nowe centroidy dla grup, który zostałyby wykorzystane w kolejnym etapie) VII. k-nn (dana kolekcja dokumentów i przydział dokumentów do klas; dany nowy dokument i jego podobieństwo do pozostałych dokumentów (np. współczynnik Jaccarda) z wyjątkiem - 10 -

jednego/dwóch dokumentów Dn, dla których powiedziane jest, Ŝe nowy ma z nimi wspólne X termów (Dn ma ogółem Y róŝnych termów; a nowy Z termów trzeba znać wzór na współczynnik Jaccarda, który operuje na tych wartościach); obliczyć współczynnik podobieństwa Jaccarda dla tej pary, a potem zdecydować (i uzasadnić) do jakiej klasy zostanie przypisany nowy dokument na podstawie algorytmu k-nn z narzuconym k (algorytm prosty i waŝony)) VIII. Naiwny klasyfikator Bayesowski (dana reprezentacja binarna dokumentów i ich przydział do klas; dana reprezentacja binarna nowego dokumentu; zdecydować (i uzasadnić; potrafić zapisać na symbolach prawdopodobieństwa warunkowe; obliczyć prawdopodobieństwa), do której klasy zostanie przypisany nowy dokument na podstawie naive Bayesa rozmiar problemu ok. 3 termy; 2-3 klasy; 10 dokumentów). Za przybliŝenie końcowego prawdopodobieństwa P(C/Doc) uznajemy wartość licznika (mianownik dla wszystkich klas jest taki sam). IX. Utworzyć drzewo sufiksów i tablicę sufiksów dla danego słowa (typu: alibaba; kuskus, barnaba). Trzeba utworzyć suffix trie, a na jego podstawie drzewo sufiksów (suffix tree). Tablica sufiksów musi być tworzona za pomocą qsufsort z rozpisaniem wektorów SA (posortowane indeksy sufiksów) i ISA (najgorsza moŝliwa pozycja sufiksu (indeksu) w danym etapie) w kolejnych etapach. X. Dany fragment odfiltrowanego pliku logu odczytać zadaną cechę z pojedynczego rekordu; zidentyfikować uŝytkownika (będzie powiedziane na jakiej podstawie (np. IP hosta albo IP+przeglądarka; zidentyfikować sesje (podany próg timeoout); obliczyć długość sesji; średni czas na stronę) Np. oznacz takim samym symbolem (np. liczbami rzymskimi) rekordy wchodzące w skład jednej sesji (identyfikacja na podstawie IP hosta; timeout=30min). Oblicz długość sesji i średni czas na stronę dla sesji, w skład której wchodzi pierwszy rekord: 131.215.67.47 [29:22:58:20] "GET /docs/oppe/spatial.html HTTP/1.0" 200 17756 131.215.67.47 [29:22:59:40] "GET /docs/oppe/large.htm HTTP/1.0" 200 647 131.215.67.47 [29:23:01:20] "GET /docs/oppe/circle.htm HTTP/1.0" 200 1329 140.112.68.165 [29:23:01:40] "GET /docs/bul/bum.htm HTTP/1.0" 200 147 131.215.67.47 [29:23:03:00] "GET /docs/oppe/oppe.htm HTTP/1.0" 200 10752 140.112.68.165 [29:23:04:00] "GET /docs/bul/bal.htm HTTP/1.0" 200 147 140.112.68.165 [29:23:07:10] "GET /docs/bul/balon.htm HTTP/1.0" 200 647 140.112.68.165 [29:23:33:00] "GET /docs/bul/glu.htm HTTP/1.0" 200 247 131.215.67.47 [29:23:50:20] "GET /docs/oppe/new.htm HTTP/1.0" 200 132 131.215.67.47 [29:23:58:00] "GET /docs/oppe/line.htm HTTP/1.0" 200 2372 131.215.67.47 [29:23:59:20] "GET /docs/oppe/linera.htm HTTP/1.0" 200 2372 Czas pisania: 1.5h; ok. 10min. na zadanie 10 zadań; łącznie 34 punkty (progi: 17p (3.0), 20p (3.5), 23.5p (4.0), 27p (4.5), 30p (5.0)) Orientacyjna punktacja za poszczególne zadania (moŝe się zmieniać w zaleŝności od grup): I 5p, II 2p, III 4p, IV - 4p, V 3p, VI 3p, VII 3p, VIII 3p, IX 4p, X 3p Kartki dostaniecie; potrzebny jest kalkulator (choćby po to, by policzyć logarytm lub wymnoŝyć prawdopodobieństwa w zadaniu z Bayesem) Przywilej na kole za raporty: ok. 6 osób na podstawie najlepszych raportów; dowiadują się przed kołem; muszą napisać je na 50% i dostają ocenę z raportów. - 11 -

Koło trzeba zaliczyć. - 12 -