Metody opierają się na analizie zawartości obiektów w celu znalezienia podobnych obiektów. Stosowana rekomendacja polega na wskazywaniu użytkownikowi innych obiektów podobnych do tych które interesowały użytkownika w przeszłości.
Szerokie spektrum dotyczące systemów CBF opisano w [3, 70], zaś problemy związane ze stosowaniem systemów CF i CBF przedstawiono w tabelce [3]:
Tabela 9: Problemy filtracji w systemach CF i CBF
CollaboraMve Filtering Content-‐Based Filtering
Nowy użytkownik -‐ System po dodaniu nowego użytkownika nie zna jego zainteresowań.
System uczy się stopniowo obserwując zachowanie użytkownika (ocenianie i pobieranie).
Nowy obiekt -‐ Obiekt nie będzie rekomendowany
tak długo aż nie zostanie pobrany/oceniony przez określoną liczbę użytkowników.
Wysoka specjalizacja (OverspecializaMon)
-‐ Nie da się rekomendować użytkownikowi obiektów różnych w stosunku do obiektów którymi wcześniej się interesował.
Ograniczona liczba ocen (sparsity) -‐ Obiekty
w kolekcji zazwyczaj są ocenione przez niewielką liczbę spośród użytkowników systemu lub liczba użytkowników jest niewielka.
Ograniczona liczba metod ekstrakcji danych (Limited Content Analysis) -‐ Analiza zawartości
obiektów mul`medialnych jest trudna. Obiekty mogą być nie do rozróżnienia jeśli reprezentowane są przez ten sam zestaw cech. Ponadto na podstawie treści nie da się ocenić samej jakości obiektów.
W pracy [68] zaproponowano zastosowanie prognozowania opartego o algo-‐ rytmy Content-‐Based w celu likwidacji brakujących rekomendacji.
Opisane trzy kategorie systemów rekomendacyjnych dość często mogą być stoso-‐ wane łącznie. Burke w swoim artykule dokonuje szerokiej analizy różnych podejść hybrydowych stosowanych w obecnych systemach rekomendacyjnych [14].
2.3.3. Web Mining
Celem procesu ekstrakcji danych (ang. Data Mining) jest uzyskanie użytecznych informa-‐ cji na podstawie zbioru danych. Stosowane tradycyjnie metody są ukierunkowane na uporządkowane, zwarte grupy danych które są zawarte w bazach danych.
Sieć Web ma luźną, nieuporządkowaną strukturę i cechuje ją brak centralnego punktu przechowywania informacji. Metody ekstrakcji danych zawartych w sieci określane jako Web Mining dzielą się w zależności od postaci danych na:
• Web Content Mining – inteligentne szukanie wskazanych danych w zasobach siecio-‐ wych różnego typu, w tym: w tekście oraz danych multimedialnych.
• Web Structure Mining – szukanie zależności w struktura hiperłączy pomiędzy dokumentami
• Web Usage Mining – analiza informacji o korzystaniu z serwisu, np. logów serwera HTTP
Autor w pracy nie koncentrował się na metodach analizy treści w sieci Web z uwagi na założoną specyWikę systemu.
2.4. Wyszukiwanie informacji w systemach e-learningowych
2.4.1. Zastosowanie proWili w celu inteligentnego wyszukania
Problemem wszystkich systemów opartych o metody Wiltrowania kolaboratywnego, szczególnie w początkowej fazie eksploatacji, jest niewielka ilość danych rozumianych jako ilość pustych komórek macierzy ocen/zdarzeń dla użytkowników. W celu eliminacji tego problemu podejmowane są próby wstępnej klasyWikacji użytkowników (przed zebraniem rzeczywistych danych mówiących o ich preferencjach) np. z wykorzystaniem tzw. zbiorów wskaźnikowych. W tym podejściu, każdy nowy użytkownik otrzymuje do oceny jeden stały zbiór elementów, na podstawie którego wyznaczana jest wstępna klasyWikacja użytkownika. Podejście to posiada wadę polegającą na tym, że zbiór wskaź-‐ nikowy musi być stały przez cały cykl życia systemu.
Proponowane rozwiązanie polega na grupowaniu użytkowników w klastry nie tylko ze względu na ich zachowanie ale na cechy proWilu, który jest obowiązkowo wypeł-‐ niany przy rejestracji. Z uwagi na charakter systemu wyszukiwania jest możliwe wpro-‐ wadzenie klasteryzacja na podstawie danych zawartych w proWilu tj. w szczególności: wieku, płci, kraju (edukacji) i zainteresowań [95].
Podobnie jak w przypadku klasycznego Wiltrowania kolaboratywnego, tworzona jest macierz, ale w tym przypadku zawiera one cechy proWili. Procedura postępowania jest zbliżona do procedury przy klasycznym Wiltrowaniu. Wyniki przykładowego procesu klasyWikacji użytkowników na podstawie proWili przedstawiono na rysunku 26.
Rysunek 26. Klasyfikacja użytkowników na podstawie profili w przestrzeni 2D
Widoczna segmentacja danych związana jest z niewielką rozdzielczością danych w zbio-‐ rze używanym do wygenerowania przykładowej ilustracji. W rzeczywistości najczęściej otrzymywany jest dość równomierny rozkład użytkowników na płaszczyźnie, co narzuca stosowanie metod klasteryzacyjnych opartych na równomiernym podziale przestrzeni.
Badania eksperymentalne obejmują dobór wag poszczególnych elementów proWilu, używanych do tworzenia macierzy. Wyniki pokazują, że wagi te powinny być dostosowywane do charakterystyki danego zbioru danych. Zaimplementowany podział na moduł okresowo przetwarzający dane i moduł pobierający przetworzone już dane w czasie rzeczywistym umożliwia łatwą modyWikację parametrów już w rzeczywistym systemie.
Dodatkowe badania teoretyczne w przyszłości powinny obejmować udoskonale-‐ nia klasteryzacji na podstawie proWili poprzez wprowadzenie „rozmywania” danych i możliwości ręcznego deWiniowania podobieństw poszczególnych wartości cech proWili. Rozmywanie ma zapewnić relaksację wymagań podobieństwa cech liczbowych, takich jak wiek – na przykład, wiek 10-‐latka jest w 100% podobny do wieku innego 10-‐latka, natomiast w np. 60% podobny do wieku 11-‐latka.
Podobieństwa cech wyliczeniowych (np. narodowość) nie da się określić w sposób automatyczny i wymaga ręcznego deWiniowanie podobieństw pomiędzy poszczególnymi wartościami (np. matematyka/Wizyka – 80%, matematyka/chemia – 25%).
2.4.2. Propozycja systemu wyszukiwania spersonalizowanego
System spersonalizowany oparto o dwa niezależne podejścia do klasteryzacji. Pierwsza kategoria klastrów opisuje zachowanie użytkowników (w oparciu o collaborative Wilte-‐ ring) podczas gdy druga uwzględnia informacje zdeWiniowane przez użytkownika w swoim proWilu. Każdy z klastrów nadrzędnych został dodatkowo podzielony na 3 podtypy opisujące zachowanie: nauczycieli, uczniów oraz łącznie wszystkich użytkow-‐ ników zarejestrowanych.
Dodatkowo wprowadzono wyliczanie dopasowanie konkretnego obiektu do zadeklaro-‐ wanych zainteresowań danego użytkownika.
Ostateczne dopasowane stanowi wypadkową powyżej przedstawionych modeli, a para-‐ metry wpływające na wagę poszczególnych wartości mogą być modyWikowane przez użytkownika [32].
Zaprojektowany system analizy zachowań użytkownika wykorzystuje następu-‐ jące podejścia:
explicit obejmujących aktywne działanie użytkownika takie jak: rating (ocena) czy label-‐ ling (przypisanie etykiety, czy dodanie do ulubionych);
implicit obejmuje analizę czynności podejmowanych przez użytkownika takich jak: selection (zaznaczenie wyników), viewinng (obejrzenie szczegółowej informacji o zaso-‐ bie) czy downloading (pobranie zasobów)
Ponadto w odróżnieniu do wielu systemów CF bazujących tylko na analizie czyn-‐ ności podejmowanych przez użytkowników zaprojektowany system wykorzystuje również analizę podobieństw pomiędzy użytkownikami na podstawie danych wpisanych w posiadany proWil użytkownika. Analiza podobieństw wykorzystuje następujące elementy proWilu: wiek, płeć, kraj edukacji and zdeWiniowane zainteresowania. System analizy danych w proWilu jest podobny do procedury używanej w „klasycznym” podejściu CF. Tworzona jest macierz m x n, w której kolumny reprezentują wszystkie możliwe wartości każdego z 4ch analizowanych elementów proWilu. Wprowadzono również metodę oceny wzajemnych relacji pomiędzy poszczególnymi składowymi poprzez uwzględnienie wag. [95]
2.4.3. Propozycja metody tworzenia spersonalizowanej listy wyników
Proces wyszukiwania spersonalizowanego w zaprojektowanym systemie przebiega kilkuetapowo (Rys. 27).Rysunek 27. Graficzne przedstawienie procesu tworzenia spersonalizowanej listy wyników
1. W pierwszej fazie mają miejsce dwa zdarzenia: wyszukanie obiektów dydaktycznych spełniających zadane przez użytkownika kryteria w oparciu o zaimplementowane wyniki, a następnie ich scalanie w oparciu o pre-‐deWiniowane przez użytkownika ustawienia.
Zaproponowano dwa następujące podejścia dla scalenia uzyskanych wyników:
MAX – Przykładowo jeśli dany obiekt otrzymał wartość 50, 80 i 0 jako rezultat działania
trzech metod wyszukiwawczych, to po scaleniu w spójną listę przypisywana jest maksy-‐ malna wartość dopasowania tj. 80.
AVG – Wyliczamy średnią ważoną. Uż̇ytkownik ma możliwość wprowadzenia wag dla
poszczególnych metod. Przykładowo: Jeśli jest 3 dla 50, 5 dla 80 i 1 dla 0, to LO uzyska wagę: 61. Domyślnie wszystkie wartości mają tę samą wagę.
Uzyskana w ten sposób spójna lista wyników jest następnie przekazywana w celu otrzy-‐ mania dopasowań w zależności o określony algorytm proWilujący.
2. Faza druga polega na przekazaniu wartości dopasowań poszczególnych obiektów których ciąg uzyskano w fazie pierwszej w zależności od wybranego algorytmu proWilującego.
Możemy wyróżnić tu następujące podejścia:
– wartość popularności obiektu w zależności od danej klasy użytkownika. Następuje zliczanie zdarzeń takich selection (zaznaczenie wyników), viewinng (obejrzenie szcze-‐ gółowej informacji o zasobie) czy downloading (pobranie zasobów).
Z uwagi na przyjęty brak normalizacji dla wartości popularności w algorytm ten nie uwzględniano w dalszym scalaniu wyników. Normalizacja jednak jest możliwa i zdeWiniowano dwa podejścia:
• ciągłe (wyrażoną w procentach wartość popularności danego obiektu w stosunku do wszystkich innych obiektów w repozytorium lub w danej kategorii);
• dyskretne (stworzenie klas mniej więcej równolicznych i przypisanie im obligatoryj-‐ nych wartości od 0 do 100 na przykład co 5-‐10 jednostek). Zmiany przynależności obiektu dla danej klasy dokonywane byłyby co pewien okres. Zmiana parametrów opisujących daną klasę dokonywano by przy osiągnięciu pewnych założonych maksymalnych różnic w liczebności poszczególnych klas.
– wartość oceny obiektu w zależności od danej klasy użytkownika (Wartość jest norma-‐ lizowana 0-‐100, gdzie zero oznacza ocenę najniższą, a 100 ocenę maksymalną).
– wartość dopasowania obiektu do proFilu konkretnego użytkownika (wstępnie przy-‐ jęto zliczanie zgodności kategorii obiektu do opisu zainteresowań konkretnego użytkow-‐ nika . Można jednak w przyszłości wykorzystać tu podejście wektorowe oraz probabili-‐ styczne [140] wspomniane wcześniej w sekcji „Analiza zapytań użytkownika i odpowiedź
systemu wyszukiwania”, str. 40).
– wartość dopasowania obiektu do klastra w którym znajduje się dany użytkownik dla typu klasteryzacji opartej o zachowanie
– wartość dopasowania obiektu do klastra w którym znajduje się dany użytkownik dla typu klasteryzacji opartej o proFil
(Oba powyższe podejścia zostały zaprezentowane w poprzednich dwóch sekcjach.)
W przypadku fazy drugiej celowe jest również uzyskanie spójnej listy wartości uwzględniającej poszczególne wartości dopasowania. Przyjęto wykorzystanie średniej ważonej, a dzięki zebranym opiniom od użytkowników przyjęto wstępnie, że waga będzie liczona zgodnie ze wzorem:
(10) gdzie: w oznacza wagę danego algorytmu, a oznacza procentową liczbę głosów powyżej oceny 3, b oznacza liczbę ocen poniżej 3, zaś c oznacza procentowe zainte-‐ resowanie danym algorytmem. Wartości a,b i c pochodzą z ankiet użytkowników oceniających prototyp systemu (więcej na str. 110).
3. Faza trzecia jest opcjonalna i polega na (zgodnie z rysunkiem 27) połączeniu wartości dopasowań dla metod wyszukujących (uzyskanych jako wynik fazy 1) z wartościami dopasowań algorytmów proWilujących (uzyskanych jako wynik fazy 2). Z uwagi na różny charakter wartości przyjęto zastosowanie średniej geometrycznej, a w uproszczeniu wyliczanie wartości zgodnie ze wzorem:
(11) gdzie
v
i oznacza wynikową wartość dopasowania,v
qi wartość dopasowania do metod wyszukiwawczych, av
pi wartość uzyskaną z podsystemu proWilowania.w
i=
(a0 gdy ai−bi)⋅ ci<bi igdy ai>= bi{
v
i= v
qi· v
pi2.5. Analiza obciążenia systemów rozproszonych
Celem niniejszego podrozdziału jest przeprowadzenie analizy obciążenia systemu wielo-‐ dostępowego, a zwłaszcza obciążenia obciążenia serwera centralnego do którego ma dostęp wielu użytkowników.
Analizę przeprowadzono z zastosowaniem wybranych rezultatów strumieni impulsowych [31] oraz teorii masowej obsługi [58].
Przyjęcie określonych założeń upraszczających pozwala na otrzymanie konstruk-‐ tywnych wyników, które według wiedzy autora, nie były przedstawiane dotychczas w dostępnej literaturze w odniesieniu do analizowanych w pracy rozproszonych syste-‐ mów wyszukiwania informacji.
Przedmiotem analizy jest w ogólnym przypadku system przedstawiony na rysunku 28.
u1
un
!"#$"#%&"'(#)*'+ u2
Rysunek 28. Schemat jednoczesnych połączeń z serwerem przez wielu użytkowników.
Wprowadzimy obecnie pojęcie współczynnika obciążenia serwera przez i-‐tego użytkownika. Jest on równy iloczynowi średniej liczby połączeń i-‐tego użytkownika z serwerem przez średni czas trwania takiego połączenia.
(12) gdzie: