Wyszukiwanie reguł asocjacji i ich zastosowanie w internecie
Transkrypt
Wyszukiwanie reguł asocjacji i ich zastosowanie w internecie
Bartosz BACHMAN1, Paweł Karol FRANKOWSKI1,2 1 Wydział Elektryczny, 2Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie E–mail: [email protected] Wyszukiwanie reguł asocjacji i ich zastosowanie w internecie 1. Wprowadzenie Asocjacja inaczej skojarzenie polega na kojarzeniu elementów, łączeniu ich ze sobą i wyszukiwaniu zależności pomiędzy nimi. Pierwotnie badania nad regułami asocjacji motywowane były zagadnieniami tak zwanej analizy koszykowej. Odkrywając wzorce zachowań klientów można określić grupy produktów kupowanych jednocześnie. Wiedza ta pozwala lepiej dobierać miejsce położenia produktów na półkach, tworzyć skuteczniejsze promocje, opracowywać wydajniejsze kampanie marketingowe, optymalizować strategię cenową, czyli jednym słowem zwiększać zyski i poprawiać konkurencyjność firmy. Wiedząc na przykład, że większość klientów kupujących węgiel drzewny do grilla kupuje również podpałkę, można zadbać by produkty te znalazły się np. odpowiednio blisko siebie. Chcąc podnieść dzienną liczbę klientów, a jednocześnie nie obniżać średniej marży można wykorzystać tą zależność reklamując nową, promocyjną cenę węgla, co z pewnością w okresie wiosennym przyczyni się do zwiększenia liczbę klientów, jednocześnie podnosząc cenę innych produktów, które są zwykle kupowane wraz z węglem. Podniesiona cena m.in. podpałki zrekompensuje spadek marży z węgla, zaś większe obroty przełożą się na zysk. Termin Analiza Koszykowa funkcjonuje do dzisiaj, jednak jej zakres wychodzi obecnie daleko poza półki sklepów obejmując np.: badania naukowe, transakcje biznesowe, analizy tekstu typu text mining i wiele innych. Algorytmy wyszukujące reguły asocjacji są stosowane wszędzie tam gdzie analizowane są obszerne bazy danych, a powiązania pomiędzy poszczególnymi zmiennymi nie są znane. Nazwy Analiza Koszykowa i Wyszukiwanie Reguł Asocjacji stosowane są coraz częściej w sposób zamienny. Jednoznaczność tych terminów pozostaje dyskusyjna jednakże użyteczność tego jednego z najpowszechniej stosowanych narzędzi Data Mining jest bezsporna. 2. Wyszukiwanie reguł asocjacji Jak już wspomniano, analiza koszykowa służy do znajdywania w dużym zestawie danych ukrytych zależności w postaci prostych reguł. Analizować można dowolne cechy danej populacji, choć w zależności od ich rodzaju oraz formy przedstawiania należy dostosować sposób analizy. 10 Bartosz Bachman, Paweł Karol Frankowski Standardowo cechy mogą być podzielone na: • • cechy jakościowe – niebędące liczbami, np.: kolor, płeć, grupa krwi, cechy ilościowe – cechy przyjmujące pewne wartości liczbowe: skokowe – cecha przyjmuje tylko pewne wartości liczbowe np. liczba dzieci, ciągłe – cecha może przymować dowolne wartości z danego przedziału, porządkowe – przyporządkowuje dane liczbowe do konkretnych przedziałów np. wzrost: niski, średni i wysoki. Analiza koszykowa była tworzona z myślą o danych jakościowych. Chcąc wykorzystać ją do danych liczbowych ilościowych ciągłych, a często również skokowych należy najpierw je dyskretyzować. Poprzez ten proces dąży się do otrzymania możliwie małej ilości przedziałów, przy jednoczesnym jak najlepszym oddaniu natury danej zmiennej. W efekcie cechy ciągłe zamieniane są w skokowe, porządkowe lub (o ile to tylko możliwe) dychtonomiczne. Podczas przygotowywania danych do analizy bardzo pomocne okazują się być współczesne modele wykorzystujące w dyskretyzacji miarę entropii i regułę MDL, jednak w większości przypadków nie mogą one całkowicie zastępować człowieka, kluczem do odpowiedniego przygotowania danych nadal pozostaje ich zrozumienie.Wynikiem analizy koszykowej są reguły asocjacji w postaci: JEŻELI [poprzednik (z ang. body)] TO [następnik (z ang. head)] Przykładem takiej reguły może być: [węgiel, kiełbaski] → [podpałka] , należy to odczytać jako: jeżeli klient kupił węgiel i kiełbaski to istnieje istotne prawdopodobieństwo, że kupi również podpałkę. Oczywiście reguła ta nie musi się być prawdziwa w stu procentach, przypadków. Jakość reguły zwykle opisywana jest przez dwa, lub czasami trzy wskaźniki. Zanim jednak zostaną one omówione należy wprowadzić szereg pojęć. Zakładając, że dysponujemy zbiorem danych, w którym: I : zbiór iterałów (atrybutów); w naszym przypadku wszystkich dostępnych w sklepie towarów; I={i1, i2,…, im}, X : dowolny zbiór iterałów zawierający się w zbiorze I, czyli X ⊆ I , D : zbiór transakcji, każda transakcja jest reprezentowana przez parę T={id, X}, gdzie id to numer identyfikacyjny transakcji; D={T1, T2,…, Tm}, Tid : zakładamy, że każdy identyfikator transakcji należy do skończonego zbioru identyfikatorów Tid; Mówimy, że dana transakcja T pokrywa zbiór A gdy A ⊆ X, Pokrycie zbioru towarów A w bazie D to zbiór cover(A, D) = {T∈D : T pokrywa A}. Chcąc określić częstość występowania zbioru produktów A w transakcjach bazy D, czyli c(A, D) należy obliczyć w ilu przypadkach transakcje T pokrywały badany zbiór A oznaczmy to przez s(A, D), a następnie podzielić to przez liczbę transakcji znajdujących się w bazie, czyli s(D). Reguły asocjacji można, zatem definiować jako implikacje A→B, gdzie A⊆I i B⊆I oraz A ∩B = ∅. Podstawowymi wskaźnikami jakości reguły są: • Wsparcie (support) – może zostać zapisana, jako prawdopodobieństwo P(A∪B) czyli odsetek transakcji w zbiorze danych zawierających daną regułę. W omawianym Wyszukiwanie reguł asocjacji i ch zastosowanie w Internecie 11 przypadku okresla prawdopodobieństwo kupienia węgla, kiełbasek i podpałki przez losowo wybranego klienta. sup(A → B, D) = • (1) Pewność (confidence) – może zostać zapisana, jako prawdopodobieństwo warunkowe P(B|A) czyli prawdopodobieństwo wystopięnia następnika, pod warunkiem wystąpienia poprzednika. W opisywanym przypadku jest to prawdopodobieństwo tego, że klient kupi podpałkę, gdy już kupił węgiel i kiełbaski. conf(A → B,D) = • s(A ∪ B) s(D) sup(A → B,D) sup(A,D) (2) Korelacja (correlation) – Wskażnik ten można traktować jako informację o tym, jaka część dostępnych „zdarzeń” została „wykorzystana” w danej asocjacji. Gdy korelacja reguły jest równa 100% oznacza to że wszystkie zbiory częte tworzące tą regułe występują tylko w niej. correl(A → B,D) = sup (A → B,D) (3) sup (A,D) ⋅ sup (B,D) • Przyrost (lift) – jest rozwinięciem wskaźnika korelacji. Informuje, jaki jest wpływ sprzedaży produktu A na sprzedaż produktu B. Należy zauważyć, że potencjalnych reguł może być bardzo wiele, np. jeżeli klient nie kupił produktu A to nie kupi również produktu B. Taka reguła jest zupełnie bezużyteczna gdyż w sklepie mogą być tysiące produktów. Należy, zatem wydzielić jedynie te reguły, które spełniają nasze wymagania. W tym celu określa się minimalne wartości wsparcia i czasem pewności, lub korelacji. Zbiory o wsparciu większym niż minimalne nazywane są częstymi. Przyjmuje się, że zbiór towarów A jest częsty, jeśli występuje on w co najmniej minsupp procentach transakcji w bazie |c(A, D)|>supportmin ×|D|. Tab. 1. Przykładowa baza transakcji D Tab. 1. Example of database D Tid 1 2 3 węgiel podpałka kiełbasa • • • • • • • • keczup piwo • • • W tabeli 1 przedstawiono przykład bazy transakcji D. W sklepie znajduje się jedynie pięć produktów, a reguł asocjacji są wyszukiwane tylko w trzech transakcjach. Dane można przedstawić w formie tabeli wielodzielczej, zawierającej dane dychtonomiczne. By uprościć analizę pola produktów, w których nie zakupiono w danej transakcji pozostawiono puste. Taka forma zapisu nadaje się do prezentowanego przykładu, jednak 12 Bartosz Bachman, Paweł Karol Frankowski w praktyce liczba transakcji i produktów w sklepie może być o wiele większa i sięgać np. dziesiątek tysięcy. Wówczas otrzymana tabela byłaby olbrzymia i w większości pusta. Z tego powodu zwykle lepiej sprawdzają się dane w formie tabeli wielokrotnych odpowiedzi, lub o ile to możliwe w formie tabeli liczności. Błędne przygotowanie danych może sprawić, że nie otrzymamy reguł asocjacji, otrzymane reguły będą nieużyteczne, lub po prostu nieprawdziwe. W ogólnym przypadku liczbę potencjalnych reguł można wyliczyć korzystając ze wzoru na kombinację bez powtórzeń. Jeżeli L to maksymalna rozpatrywana liczba poprzedników, zaś K następników, a n to liczba produktów w sklepie, wtedy liczba potencjalnych reguł wynosi: L n K n S = ∑ ⋅ ∑ , l = 1 l k = 1 k K+L≤n (4) W omawianym przypadku chcemy wykryć wszystkie możliwe reguły. Ponieważ w takiej sytuacji liczba poprzedników ogranicza liczbę następników wzór musi być zmodyfikowany do postaci: L n n − l n S = ∑ ⋅ ∑ l = 1 l k = 1 k (5) Po podstawienie danych do wzoru (5) obserwuje się, że stosując tabelę z danymi dychtonomicznymi (produkt kupiony lub niekupiony) liczba potencjalnych reguł wynosi 57002. Gdy przedstawimy te same dane tak jak w tabeli 1, gdzie zmienne mogą przejmować tylko jedną wartość liczba ta maleje do 180. Można zauważyć, że jeżeli reguła A→B spełnia nasze wymogi, to reguła B→A będzie spełniała je w tym samym stopniu. Uwzględnienie tego faktu umożliwia dodatkowe ograniczenie ilości reguł. Równie istotne jest dobranie odpowiednich warunków. W omawianym przypadku po ustawieniu minimalnej korelacji, wsparcie i pewność na 33% otrzymano 88 reguł, przy 50% liczba reguł zmalała już do 22, zaś przy 70% do 2. Rys. 1a. Przykładowe reguły asocjacji Fig. 1a. Example of association rules Wyszukiwanie reguł asocjacji i ch zastosowanie w Internecie 13 Rys. 1b. Przykładowe reguły asocjacji Fig. 1b. Example of association rules Na rysunkach 1a i 1b przedstawiono przykładowe reguły asocjacji. Wielkość węzłów na wykresie jest proporcjonalna do względnej wartości wsparcie, grubość linii do względnego zaufania kolor zaś świadczy o względnej korelacji. 3. Wyszukiwania reguł asocjacji w ujęciu algorytmicznym Podstawowym i najbardziej rozpowszechnionych algorytmem służącym do realizacji analizy koszykowej jest model Apriori. Main apriori_gen L1 = {zbiory częste 1-elementowe}; for (k=2;Lk-1≠∅;k++) do begin Ck = apriori_gen(Lk-1); For each transakcji t∈T do begin Ct = subset(Ck,t); For each zbioru kandydującego c∈Ct do c.count++; end; Lk = {c∈Ck | c.count≥minsup} end; Wynik = ∪kLk; function apriori_gen(Ck) insert into Ck select p.item1, p.item2, ..., p.itemk-1, q.itemk-1 from Lk-1 p, Lk-1 q where p.item1 = q.item1, ..., p.itemk-2 = q.itemk-2, p.itemk-1 < q.itemk-1; for all itemsets c ∈ Ck do for all (k-1)-subsets s of c do if ( s ∉ Lk-1 ) then delete c from Ck; endfunction; Rys. 2 Pseudokod algorytmu Apriori Fig. 2 Pseudocode of Apriori algorithm Idea algorytmu bazuje na spostrzeżeniu, że jeżeli zbiór nie jest częsty to nie może tworzyć reguł spełniających warunki minimalne. Model ten wymaga uporządkowania wszystkich znajdujących się w bazie transakcji (np. w sposób leksykograficzny). W pierwszej kolejności wyodrębnione zostają wszystkie wyrazy częste. Z nich generowane są zbiory kandydujące dwuelementowe. Proces szukania kandydatów, zwany AprioriGen, zawiera Bartosz Bachman, Paweł Karol Frankowski 14 dwie główne operacje: łączenie i przycinanie. Zbiór kandydatów k-elementowych jest generowany przez łączenie zbioru Lk-1 z nim samym a następnie przycinany poprzez usuwanie zbędnych zbiorów. Dla każdego z zbiorów obliczane jest wsparcie, jeżeli jest ono większe od zadanego wsparcia minimalnego minsup to tworzy on regułę. Ponadto każdy z spełniających warunek zbiorów zostaje ponownie wykorzystany, jako zbiór częsty i współtworzy zbiór kandydujący trzyelementowy. W każdej kolejnej iteracji, w oparciu o zbiory częste (Lk) znalezione w poprzednim kroku, algorytm generuje zbiory kandydujące (Ck) o rozmiarze większym o 1. Wynikiem działania jest suma k-elementowych zbiorów częstych (k=1, 2,...). By zapewnić odpowiednią efektywności obliczania wsparcia zbiorów kandydujących, wykorzystuje się strukturę danych w postaci drzewa haszowego. Służy ona do przechowywania zbiorów kandydujących. Procedura subset() zwraca te zbiory kandydujące należące do Ck, które są wspierane przez transakcję t. Można zauważyć, że jeżli AB → CD jest wiarygodną regułą, to reguły ABC → D i ABD → C też są wiarygodne. Największą niedogodność w algorytmie Apriori stanowi wielokrotne przeglądanie całej bazy danych (D) w celu wyznaczania wsparcia dla kandydatów. Algorytm przestaje być efektywny, przy bardzo dużych rozmiarach D. W literaturze zaproponowano już wiele sposobów rozwiązania tego problemu. W większości przypadków opierają się one na zawężaniu obszaru poszukiwań w każdej kolejnej iteracji, lub na zmniejszaniu liczby przeszukań bazy danych. Naturalnym rozwinięciem algorytmu Apriori jest AprioriTid, jego główną ideą jest wprowadzenie dodatkowej struktury danych, zwanej CountingBase. Ponieważ transakcje nie zawierające żadnego k-zbioru częstego, nie mogą zawierać żadnego (k+1) zbioru częstego nie są one przepisywane do struktury. Wykreślenie ich umożliwia zmniejszenie liczby obliczeń w następnej iteracji. Tab. 2. Przykladowa baza danych D2 Tab. 2. Example of Database D2 Tid 1 2 3 4 5 węgiel • • • podpałka • • kiełabasa keczup • piwo wino • • • • • • • • Zupełnie inne podejście zaproponowano w algorytmie FP-Growth. Składa się on z dwóch zasadniczych etapów: utworzenia drzewa FP i jego eksploracji. Idea algorytmu została przedstawiona na podstawie przykładowej bazy danych (Tab.2) . Założono minimalne wsparcie na poziomie 30% i minimalną pewność na poziomie 70%. W pierwszym kroku, (zwanym krokiem kompresji bazy danych) podobnie jak w przypadku Apriori baza D2 jest przeszukiwana w celu znalezienia zbiorów częstych. W kroku drugim z każdej transakcji usuwane są te elementy, które nie są zbiorami czę- Wyszukiwanie reguł asocjacji i ch zastosowanie w Internecie 15 stymi (zwykle znacząco ogranicza to liczbę analizowanych danych, stąd nazwa etapu). W trzecim kroku, w każdej transakcji Ti (gdzie i = 1, 2, ..., n), elementy są sortowane według malejących wartości ich wsparcia. Posortowane transakcje T1, T2,...,Tn, w ostatnim kroku, są transformowane do postaci FP-Tree. Cały proces symbolicznie przedstawiono na rysunku 3. Rys. 3. Algorytm tworzenia Drzewa FP Fig. 3. Algorithm of creation FP-Tree Każda pojedyncza gałąź w drzewie FP, rozpoczyna się w korzeniu drzewa (oznaczonym etykietą null). Reprezentuje ona zbiór transakcji zawierających identyczne elementy. Licznik ostatniego wierzchołka α danej ścieżki prefiksowej (dowolnego odcinka gałęzi) informuje o liczbie transakcji wspierających zbiór elementów reprezentowanych przez wierzchołki grafu należące do tej ścieżki. Algorytm FP-Growth tworzy również dodatkową strukturę. Nazywa się ją Tablicą Nagłówkową. Wskazuje ona lokalizację każdego elementu w drzewie FP. Wszystkie ścieżki prefiksowe wzorca tworzą warunkową bazę wzorca, która służy do konstrukcji tak zwanego Warunkowego drzewa FP wzorca alpha, oznaczanego Tree_alpha. Warunkowe drzewo FP jest w dalszej części algorytmu rekursywnie eksplorowane w celu znalezienia wszystkich zbiorów częstych zawierających zbiór alpha. W przedstawionym przykładzie pierwsza transakcja tworzy ścieżkę prefiksową podpałka:1 → węgiel:1. Transakcja druga ma wspólny prefiks podpałka z transakcją pierwszą, posiada również zbiory częste piwo→kiełbasa, które tworzą nową ścieżkę prefiksową. W kroku drugim otrzymano gałąź: podpałka:2→piwo:1→Kielbasa:1. Transakcja o id.3 nie pokrywa się z dwiema pierwszymi w najczęstszym z zbiorów (podpałka), tworzy tym samym nie zupełnie nową gałąź. W analogiczny sposób można rozpisano transakcje o id. 4 i 5, w wyniku czego otrzymano drzewo FP o kształcie przedstawionym na rysunku 3. Następnym etapem jest eksploracja Drzewa FP, jej procedurę przedstawiono w postaci pseudokodu na rysunku.4. 16 Bartosz Bachman, Paweł Karol Frankowski procedure FP-Growth (Tree, α) if Tree zawiera pojedynczą ścieżkę P then for each kombinacji β wierzchołków ścieżki P do generuj zbiór β ∪ α o wsparciu równym minimalnemu wsparciu elementów należących do β end do else for each α-i należącego do tablicy nagłówków elementów Tree do generuj zbiór β = α-i ∪ α o wsparciu = wsparcie(α-i ); utwórz warunkową bazę wzorca β; utwórz warunkowe FP-drzewo wzorca β - Tree- β; if Tree- β ≠ ∅ then FP-Growth (Tree- β, β); end procedure; Rys. 4. Pseudokod procedury eksploracji DrzewaFP Fig. 4. Pseudocode of FP-Tree exploration algorithm Ekspolorację drzewa rozpoczyna się od ostatniego znalezionego zbioru częstego, od najmniejszego wsparcia. Ostatnim znalezionym zbiorem częstym była kiełbasa. Prowadzi do niej tylko jedna ścieżka prefiksowa podpałka:2→piwo:2→kielbasa:2. Licznik ścieżki przyjmuje wartość licznika transakcji wierzchołka kiełbasa i jest równy 2. Warunkowe drzewo FP kiełbasy zawiera, zatem tylko jedną ścieżkę, która tworzy wzorce: (podpałka→piwo→kielbasa):2, (podpałka→piwo):2 i (podpałka):2. Wsparcie tych wzorców wynosi 2/5=40%. W analogiczny sposób rozpisać można pozostałe gałęzie drzewa. W rozpatrywanym przypadku drzewo warunkowe węgla posiada aż trzy ścieżki prefiksowe, zaś piwo tylko jedną. 4. Web mining Internet stanowi doskonałe miejsce do poznawania zwyczajów użytkowników i wyznaczania najróżniejszych reguł asocjacji. Wykorzystywania narzędzi Data Mining w sieci jest w znacznym stopniu uproszczone, ponieważ: • • • • • gromadzone dane zawierają sporo informacji o internaucie, ilość zgromadzonych danych jest na tyle duża, że z łatwością można wylosować wiarygodną próbę testową, co może być bardzo pomocne przy testowaniu modeli, dzięki zautomatyzowanemu sposobowi gromadzenia danych otrzymuje się względnie rzetelne zbiory obserwacji, bardzo łatwo można zaobserwować i wykazać użyteczność modeli data mining oraz oszacować efektywność działań (np. obliczając wskaźnik ROI), otrzymywane dane są zestandaryzowane, więc łatwo je porównać z danymi analizowanymi jakiś czas temu, pozwala to na skuteczną analizę sekwencji. Wyszukiwanie reguł asocjacji i ch zastosowanie w Internecie 17 web mining analiza zawartości sieci podejście oparte na agentach analiza wzorców zachowań użytkowników podejście oparte na bazach danych Rys. 5. Web mining [2] Fig. 5. Web mining [2] Najbardziej oczywistym zastosowań wyszukiwania reguł asocjacji w Web mining jest użycie ich w sklepach internetowych. Wiedząc, że klient kupuje produkt A można mu pokazać produkty B, C i D, które są zwykle kupowane wraz z A. Są to tak zwane reguły substytucji. Reguły dysocjacji, (jeżeli A i [nie B] to C) pozwalają dostosować wygląd strony do użytkownika by nie widział tego, czego nie chce oglądać. Reguły cykliczne pozwalają przypomnieć mu o tym, że zbliża się czas, w którym zwykle kupuje jakiś produkt. Lub wyświetlić reklamy, gdy zwykle jego aktywność w Internecie jest największa. Reguły sekwencji dostarczają informacji, co, kiedy i za ile internauta kupuje. Robiąc zakupy w Internecie dostarczamy administratorom sklepu wielu cennych informacji takich jak: kiedy mamy czas wolny, jakimi środkami finansowymi dysponujemy, w jaki sposób dokonujemy płatności, jak podatni na reklamę jesteśmy i wiele innych [1]. Analiza zachowań internautów pozwala przedsiębiorstwom oszacować wartość życiową klienta, maksymalizować przychody ze sprzedaży, oceniać skuteczność kampanii promocyjnych, optymalizować wygląd i funkcjonalność witryn, dostarczać internautom spersonalizowany przekaz, czy znaleźć najbardziej skuteczną logiczną strukturę witryny. Każdy nasz krok pomiędzy stronami, czas, który na stronie przebywamy, co, gdzie i kiedy piszemy pozostawia w Internecie ślady. Warto, zatem wiedzieć, że kiedy my się uczymy Internetu, Internet uczy może uczyć się nas. Podsumowując Web mining występuje w pięciu obszarach: • • • • • personalizacja – mająca zastosowanie głównie w handlu elektronicznym, usprawnienia systemu – poprzez wykrywanie przeciążeń, intruzów, oszustów i sposobów włamań, modyfikacja witryny – ma na celu wzrost jej atrakcyjności dla użytkowników, często wiąże się z handlem elektronicznym, analityka biznesowa – dostarcza informacji w jakis sposób internaucie poruszają się po Siecie, dane te są następnie wykorzystywane marketingowo w trzech obszarach: pozyskiwania klientów, sprzedaży krzyżowej i analizie migracji klientów, charakterystyka użytkowników – sposób w jaki użytkują Internet dostarcza wielu, użytecznych danych. Bartosz Bachman, Paweł Karol Frankowski 18 5. Wnioski Algorytmy badające reguły asocjacji są bardzo użytecznym i uniwersalnym narzędziem pozwalającym odkryć wiele zaskakujących i niespodziewanych powiązań. Kluczem do wykrycia właściwych reguł jest odpowiednie przygotowanie danych. Literatura 1. 2. Łapczyński M., Analiza koszykowa i analiza sekwencji – wielki brat czuwa, www.statsoft.pl/czytelnia.html 2009 Cooley R., Mobasher B., Srivastava J., WebMining: Information and Pattern Discovery on the World Wide Web, Proceedings of the 9th International Conference on Tools with Artificial Intelligence, IEEE Computer Society, 1997, s. 558 Streszczenie Celem artykułu jest przedstawienie metod wyszukiwania reguł asocjacji i opisywania, jakości otrzymanych powiązań. W opracowaniu przedstawiono na przykładach algorytmy najbardziej popularnych metod anlizy koszykowej: Apriori i FP-Growth. Zwrócono również uwagę na proces przygotowania danych do dalszej analizy. Ostatni rozdział został poświęcony zastosowaniu wyszukiwania reguł asocjacji w Internecie tzw. Web mining. Process of search for association rules and their uses in internet Summary The purpose of this paper is to present the process of search association rules and presentation main parameters of obtained links. Pseudocode of Apriori and FP-Growth algorithms are presented and analyzed for the example database. Processes of preparing data for search association rulaes are presented. Last chapter of this paper is dedicated for the topic of Web mining.