• Nie Znaleziono Wyników

5 Model źródeł internetowych z produktami ubezpieczeniowymi

5.4 Struktury danych

Wsparcie dla tworzenia opisu źródeł

Faza przygotowawcza [Baumgartner2001] Brak fazy przygotowawczej

Koncentracja na eks-trakcji strukturalnej

Etap ekstrakcji danych [Flejter2011] Implementacja mechanizmów

ekstrakcji informacji z tekstu [Węcel2011]

Podejście

półautoma-tyczne

Faza przygotowawcza [Arasu2005] Algorytmy uczenia

maszynowe-go [Kushmerick1997]

Wybrane typy zostaną omówione szczegółowo w podrozdziale 6.2. Architektura systemu obrazująca powiązania pomiędzy powyżej przedstawionymi typami została przedstawiona na diagramach zawartych w aneksie C („Metoda ekstrakcji – schematy UML”).

5.4 Struktury danych

W niniejszym podrozdziale prezentujemy struktury danych wykorzystywane przez prototyp narzędzia realizującego metodę ekstrakcji. Opisane zostaną następujące struktury, mające jednocześnie kluczowe znaczenie dla realizacji funkcjonalności na-rzędzia: właściwości, warunkowe zbiory wartości, wzorce nawigacyjne, konkretyzacje wzorców.

86

Tabela 7. Elementy składowe grafu nawigacji Źródło: opracowanie własne

Typ elementu Funkcja

Podstrona (AutomationSiteNode) Wywołanie żądania dostarczenia treści dokumentu o określonym

URL za pomocą metody GET

Miernik czasu (AbstractTimer) Wierzchołek realizujący logikę nawigacji polegającą na odczeka-niu określonego przedziału czasowego. Przedział zależy od im-plementacji podtypu oraz kontekstu użycia. Podtypy: LoadA-jaxTimerNode, RandomTimerNode, ReloadTimerNode, StaticTi-merNode, UserTimerNode.

Serwer proxy (AbstractProxy) Rozpoczęcie nawigacji za pośrednictwem zdalnej jednostki

po-średniczącej. Serwer Proxy dobierany jest na podstawie wybranej strategii. Podtypy: AbstractMultiProxy, MultiConnectionProxy, WebServiceFedMultiProxy.

Węzeł warunkowy (PropertyConditio-nalNode)

Realizuje rozgałęzienia w grafie nawigacji na podstawie zadanych warunków.

Warunek (PropertyCondition) Reprezentuje warunek w węźle warunkowym.

Wartość warunkowa (ConditionalValue) Element warunku w węźle warunkowym.

Węzeł automatyzujący (AutomationSi-teNodePattern)

Wzorzec nawigacji definiujący listę zautomatyzowanych operacji.

Pojedyncze zadanie automatyzacji (Au-tomationTask)

Jednostka zadania automatyzacji. Bardziej szczegółowy opis w podrozdziale 6.2.

Węzeł wykonywujący skrypt (JavaScrip-tExecutor)

Umożliwia zdefiniowanie dowolnego kodu skryptu, który zosta-nie wykonany w środowisku strony.

Element startowy (Source) Początkowy element rozpoczynający graf nawigacji.

Element końcowy (Terminator) Element kończący graf nawigacji.

Stan automatu nawigującego (Ab-stractSiteNodeState)

Struktura przechowująca informacje o aktualnym stanie automa-tu nawigującego.

Abstrakcyjny wzorzec nawigacji (Ab-stractSiteNodePattern)

Wierzchołek reprezentujący wzorzec nawigacji.

Abstrakcyjna konkretyzacja wzorca na-wigacji (AbstractSiteNode)

Konkretyzacja wzorca nawigacji.

Warunek logiczny (AbstractConditional-Node)

Wierzchołek w grafie nawigacji realizujący określoną logikę – warunkowe podążenie określonymi krawędziami

Abstrakcyjny wierzchołek ekstrahujący (AbstractSiteExtractor)

Pozwala wyodrębnić treści ze strony na podstawie określonych reguł. Podtypy: AbstractSiteRegexExtractor, AbstractSiteXPa-thExtractor, AbstractSiteXsltExtractor.

87

Właściwości

Właściwość (property) jest reprezentacją i odpowiednikiem zmiennej taryfikacyj-nej w modelach kalkulacji składki (zarówno w modelu pierwotnym, jak i wtórnym). Pojęcie zmiennej taryfikacyjnej wprowadzane jest w podrozdziale 3.2.6 poświęcone-mu podstawowym technikom aktuarialnym.

Tabela 8. Rodzaje i opis właściwości Źródło: opracowanie własne

Rodzaj właściwości Typ zmiennej Uwagi

AbstractIterable dowolna Generalizacja

ConditionalTextualIterable tekstowa Z wartościami warunkowymi

NumericIterable numeryczna Implementująca operator iteracji

NumericRandomGenerated numeryczna Losowo generowana przy każdej iteracji

TextualIterable tekstowa Implementująca operator iteracji

TextualRandomGenerated tekstowa Losowo generowana przy każdej iteracji

TextualRandomValued tekstowa Generowana losowo dla procesu

TextualOntologicalIterable specjalizowana Implementująca operator iteracji

TextualOntologicalRandomGenerated specjalizowana Losowo generowana przy każdej iteracji

DateTimeIterable czasowa Generuje daty w określonym formacie i z

okre-ślonym odstępem

PropertyFormatter dowolna

Właściwość „techniczna”. Umożliwia dokony-wanie operacji tekstowych i użycia wyrażeń regularnych na wartościach innych właściwości Jak zauważono przy okazji analizy tychże technik, w modelach taryfikacyjnych wykorzystuje się różne typy zmiennych dla celów modelowania. Stąd proponowana reprezentacja także odzwierciedla takie potencjalne zróżnicowanie. Tabela 8 przed-stawia rodzaje właściwości oraz ich odpowiedniki w modelu pierwotnym mające za-stosowanie w prototypowym narzędziu.

Warunkowe zbiory wartości

Zaproponowany w pracy model źródła obejmuje dwa wymiary. W poprzednim podrozdziale przedstawiono pierwszy wymiar, tj. nawigowanie pomiędzy lokalizacja-mi witryny WWW. Dla opisu drugiego wylokalizacja-miaru posłużono się specyficzną strukturą, którą określić można jako drzewo z warunkami. Jest to drzewo, w którym krawędzie oznaczone są prostymi formułami warunkowymi, których operandami są wartości

88

z wierzchołków drzewa, przy czym brak spełnienia warunku zapisanego przy danej krawędzi powoduje ignorowanie poddrzew wywodzących się z tejże krawędzi.

Wzorce nawigacyjne

Wzorce nawigacyjne są niezależnymi elementami składającymi się na proces na-wigacji po źródle webowym. W swojej istocie są one najbliższe terminowi wzorca akcji webowej (Web Action Template) wprowadzonemu w [Flejter2011]. Jednak wy-stępuje tutaj szereg różnic. Różnice te wynikają z bardziej realistycznych założeń ar-chitektonicznych dotyczących opisywanego rozwiązania. Przy czym są one mniej ogólne w swoim rozwiązaniu, ze względu na zakres projektu oraz specyfikę zada-nia186.

Strukturę wzorca nawigacyjnego zapisać można schematycznie w następujący sposób:

Wn = {u(sm), S, En, P, g = (gi, si), p = (pj, sj)}, (14)

gdzie:

u jest poprawnym szablonem adresu URI lub ciągiem pustym,

S jest strukturą reprezentującą stan układu klient-serwer,

En jest zbiorem reguł ekstrakcji,

P jest elementem zbioru reprezentującego serwery proxy lub elementem

pustym,

g jest ciągiem par parametrów oraz symboli właściwości przeznaczonym

dla metody komunikacji GET,

p jest analogicznym ciągiem dla metody komunikacji POST.

Struktura reprezentująca stan układu klient-serwer ma postać:

S = {(s1, w1) …(sx, wx), c = (cv, sv)}, (15)

gdzie:

(sn, wn) to ciąg par symboli właściwości oraz nadanej wartości dla odpo-wiadającej właściwości,

c jest zbiorem informacji z ciasteczkami.

186 W przypadku podjęcia próby zbudowania silnika o bardzo dużej – jeżeli nie granicznie możliwej – ogólności, nawigacja po źródle mogłaby być zrealizowana za pomocą silnika przetwarzającego semantykę któregoś z formalizmów opisu przepływów pracy (XPDL, jBPM). Języki te zapewniają możliwość realizacji praktycznie dowolnego przebiegu oraz interakcji. W trakcie realizacji opisywanego badania taka możliwość była brana pod uwagę. Nie miałoby to jednak istotnego wpływu na oczekiwane rezultaty badania.

89

W przyjętym rozwiązaniu abstrahujemy od dualizmu stanowości klienta oraz ser-wera. W zamian zakładamy, że przejście pomiędzy stanami nawigacji zależne jest tyl-ko od stanu serwera oraz zadanego zapytania. Taki model nawigacji jest równoważny modelowi z rozróżnieniem stanów na stronę kliencką oraz serwerową, ale jego zaletą jest większa prostota (mniej elementów) oraz większa zgodność z rzeczywistym

funk-cjonowaniem komunikacji pomiędzy przeglądarką internetową a serwerem187

. Konkretyzacje wzorców

W fazie wykonywania nawigacji po źródle webowym wzorce nawigacyjne prze-obrażane są w konkretyzacje wzorców. Konkretyzacja wzorca jest strukturą analo-giczną do samego wzorca nawigacyjnego, z którego zostaje wyprowadzona. Zawiera ona jednak nie tyle potencjalne informacje o jednostce komunikacji z serwerem we-bowym, co gotowy zbiór informacji niezbędny do wykonania i obsługi zapytania do serwera. Dane opisujące konkretyzację wzorca mają następującą strukturę:

(Wn) = {(u(sm), S, P), c = (cv, wv), En, P, g = (gi, wk), p = (pj, wl)}, (16)

gdzie:

w przypadku ciągów c, p, g dla par podstawiane są wartości właściwości odpowiadających poszczególnym symbolom tych właściwości,

  jest przekształceniem szablonów adresów URI do przestrzeni adresów

serwera proxy, jednocześnie zastępując wartościami właściwości występu-jących w szablonie adresu symboli właściwości.

187

Wprowadzenie rozróżnienia pomiędzy stanami klienta a stanami serwera miałoby praktyczny sens wówczas, gdyby poszczególne przejścia nawigacji stanów były równorzędne, tj. możliwe byłoby przejścia z dowolnej kombinacji stanu klienta oraz serwera do innej kombinacji. W praktyce nie obserwuje się takiej możliwości w interakcji przeglądarki z serwerami. Decydujące znaczenie w dostępie do wyświetlania określonych treści (dokumentów) ma stan serwera. W rezultacie stan klienta praktycznie zawsze jest powiązany ze stanem serwera a jedyny istotny wpływ na kolejne przejście mają informacje zawarte w zapytaniu.

90