Wnioskowanie w automatycznie zbudowanej hierarchii pojęć

Transkrypt

Wnioskowanie w automatycznie zbudowanej hierarchii pojęć
Wnioskowanie w automatycznie zbudowanej
hierarchii pojęć
Marek Jaszuk, Barbara Fryc, Teresa Mroczek
Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie
(Raport cząstkowy z prac realizowanych w ramach projektu pt. Inteligentne
metody analizy szans i zagrożeń w procesie kształcenia)
1. Wstęp
Wnioskowanie automatyczne jest nauką mającą na celu spowodowanie, aby komputery posługiwały
się wnioskowaniem logicznym w celu rozwiązywania problemów, np. dowodzenia twierdzeń, rozwiązywania zagadek, lub weryfikowania i syntetyzowania programów komputerowych [Beeson 2003]. Jest
to obszar należący logiki matematycznej i informatyki. Wiedza o wnioskowaniu automatycznym pomaga tworzyć programy komputerowe wnioskujące na temat danych w sposób całkowicie autonomiczny. Ponieważ wnioskowanie wymaga inteligencji, zagadnienie to może być uważane za część
sztucznej inteligencji. Niemniej jednak posiada wiele wyspecjalizowanych metod specyficznych tylko
dla tej dziedziny. Wnioskowanie w ontologiach i bazach wiedzy jest jednym z powodów, dla których
posługujemy się specyfikacją formalną. Przez wnioskowanie rozumiemy wyprowadzanie faktów, które
nie są wyrażane przez ontologię lub bazę wiedzy w sposób jawny.
Do celu przeprowadzenia wnioskowania niezbędna jest reprezentacja wiedzy z obszaru podlegającego
rozważaniom. Jedną z powszechnie przyjmowanych metod reprezentacji wiedzy jest ontologia [Oberle
2009]. Zasadniczo nie istnieje jedna wspólna definicja pojęcia jakim jest ontologia. Słowo „ontologia”
jest używane w różny sposób w zależności od tego kto się nim posługuje. Zazwyczaj mówimy o Ontologii (niepoliczalny rzeczownik pisany z dużej litery) lub o ontologii (policzalny rzeczownik pisany z małej litery) [Guarino 1995]. W pierwszym przypadku mamy na myśli Ontologię w ujęciu filozoficznym,
gdzie odnosi się do gałęzi filozofii badającej naturę i strukturę rzeczywistości. Jest to podejście odmienne niż w naukach eksperymentalnych mających na celu modelowanie rzeczywistości widzianej
z pewnej perspektywy. Ontologia skupia się na naturze i strukturze rzeczy samych w sobie, niezależnie
od dalszych rozważań, jak również niezależnie od faktu ich istnienia. Przykładowo sensowne jest studiowanie Ontologii jednorożców i innych fikcyjnych bytów. Pomimo tego, że nie istnieją, ich natura
i struktura może zostać opisana poprzez ogólne kategorie i relacje.
Drugi przypadek rozumienia tego czym jest ontologia odzwierciedla to co jest najbardziej powszechne
w informatyce. Odnosimy się tu do ontologii jako do obiektu informacyjnego. Zgodnie z [Gruber 1993,
Gruber 1995] uzasadnienie istnienia jest pragmatyczne – dla systemów sztucznej inteligencji tym co
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
istnieje jest to co może być reprezentowane. Ontologie obliczeniowe są środkiem do formalnego modelowania struktury systemu, tzn. istotnych elementów i relacji wynikających z jego obserwacji, i które
są użyteczne dla zakładanych celów. Przykładem takiego systemu może być firma z pracownikami i ich
wzajemne relacje. W naszym przypadku będą to grupy studentów oraz kategorie pytań ankietowych
i ich wzajemne relacje. W typowym przypadku inżynier ontologiczny analizuje istotne elementy i organizuje je w strukturę pojęć i ich wzajemnych relacji. W naszym przypadku rolę inżyniera ontologicznego
zastąpił odpowiednio zaprojektowany proces obliczeniowy oparty na metodach klasteryzacji (Jaszuk
2015a, Jaszuk 2015b). Szkieletem ontologii jest struktura relacji pionowych tworzących hierarchię pojęć odzwierciedlającą ich wzajemną generalizację/specjalizację (inaczej taksonomię). W naszym przypadku taka hierarchia pojęć powstaje w dziedzinie pytań ankietowych [Jaszuk 2016]. Zbiór studentów
rozważamy jako zbiór płaski (bez relacji hierarchicznych (chociaż możliwe jest również stworzenie takiej struktury po przyjęciu odpowiednich założeń). Oprócz relacji hierarchicznych pomiędzy pytaniami,
będziemy mogli zidentyfikować związki pomiędzy klasami i pytaniami. Tutaj będzie to jeden typ relacji
– studenci wybierają odpowiedzi należące do wybranej kategorii lub jej nie wybierają.
Pojęciem ściśle związanym z ontologią jest sieć semantyczna. Jest to grafowa struktura wiedzy składająca się ze zbioru węzłów połączonych selektywnie ze sobą przy pomocy łuków. Komputerowe implementacje sieci semantycznych zostały stworzone dla potrzeb sztucznej inteligencji i tłumaczenia maszynowego. Sieci semantyczne na poziomie ontologii wyrażają słownik pomocny ludziom, ale wciąż
użyteczny dla przetwarzania maszynowego. Typowo w sieciach semantycznych mamy do czynienia z
relacjami:




Synonimia – pojęcie A wyraża to samo co pojęcie B,
Antonimia – pojęcie A jest pojęciem przeciwnym do pojęcia B,
Meronimia, holonimia – relacja typu „jest częścią”/„stanowi część” między pojęciami,
Hiponimia, hiperonimmia – zawarcie zakresu semantycznego jednego pojęcia w drugim (hiponimia), pojęcie hiperonimii ma znaczenie odwrotne, czyli obejmowanie swoim znaczeniem
pewnej liczby pojęć szczegółowych.
Metody znajdowania niektórych z tych relacji zostały już zademonstrowane we wcześniejszych raportach projektu. Tutaj uzupełnimy tę wiedzę o dodatkowe metody pozwalające wywnioskować związki
między pojęciami z już istniejących relacji.
Kluczowy dla dalszych rozważań jest określenie związku jaki zachodzi pomiędzy ontologią i siecią semantyczną. Otóż ontologia jest formalną definicją struktury pojęciowej, natomiast nie zawiera w sobie
wiedzy o konkretnych obiektach. Taką wiedzę definiuje sieć semantyczna, która jest zbiorem instancji
(obiektów) będących realizacją pojęć zdefiniowanych w ontologii. W sieci semantycznej nie może zaistnieć nic, co nie zostało wcześniej zdefiniowane jako element ontologii. Dlatego przeprowadzenie
wnioskowania wymaga utworzenia najpierw ontologii, ale sieci semantycznej reprezentującej konkretny zbiór danych nie możemy mówić o wyciągnięciu konkretnych wniosków ilościowych.
Praca jest zorganizowana w sposób następujący. W sekcji 2 omówiona została struktura modelu semantycznego. Sekcja 3 omawia koncepcję budowy sieci semantycznej na podstawie danych. W sekcji
4 omówiono sposób reprezentacji ontologii w formacie OWL. Sekcja 5 omawia autorską koncepcję
wnioskowania na podstawie zbudowanej sieci semantycznej i ontologii, a w sekcji 6 omówiono wyniki
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
obliczeń i ocenę skuteczności stworzonych rozwiązań w zakresie predykcji danych testowych oraz odwzorowania zbioru uczącego.
2. Ontologia dziedzinowa
Metodologia budowy wybranych elementów ontologii z interesującego nas obszaru została już przedstawiona we wcześniejszych raportach [Jaszuk 2016]. Dziedziną wiedzy, którą w tej chwili rozważamy
są osiągnięcia/sukcesy edukacyjne studentów oraz czynniki wpływające na te sukcesy. Przyjrzyjmy się
w tym momencie jak wygląda całościowa struktura tej ontologii. Jednym z elementów ontologii są klasy
odpowiedzi – każda odpowiedź ankietowa została zaklasyfikowana do pewnej klasy. Klasy te tworzą
strukturę hierarchiczną (Jaszuk 2016). Druga część ontologii to klasy studentów. Tutaj nie identyfikowaliśmy zależności pomiędzy klasami. Każdy student należy do tylko jednej klasy. Ustalamy to na podstawie jego ocen. Pomiędzy klasami studentów KS oraz klasami odpowiedzi KO istnieje sieć powiązań
(Rys. 1). Każda klasa studentów jest powiązana z przynajmniej jedną klasą odpowiedzi i na odwrót.
Nowych studentów, którzy nie uzyskali jeszcze ocen będziemy chcieli zakwalifikować do właściwych
klas na podstawie udzielonych odpowiedzi ankietowych. Jest to jednym z zadań jakie stawiamy przed
stworzonym aparatem obliczeniowym.
Rysunek 1 Struktura modułowa ontologii dziedzinowej
3. Sieć semantyczna
Przedstawione na Rys. 1 zbiory klas razem ze wzajemną strukturą połączeń tworzą ontologię dziedzinową. Jest ona specyfikacją formalną typów, którymi będziemy się posługiwać w dalszych rozważaniach. Wykorzystamy teraz ontologię do stworzenia sieci semantycznej. Jak już wyjaśniono wcześniej,
sieć semantyczna jest zbiorem instancji (obiektów) klas tworzących ontologię. W naszym przypadku
instancjami są studenci wypełniający ankietę. Każdy z nich będzie należał do dokładnie jednej z klas KS.
Student wypełniając ankietę generuje zbiór odpowiedzi, z których każda należy do pewnej klasy KO.
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
Stąd mamy zbiór instancji klas KO. Pełna sieć semantyczna podlegająca rozważaniom jest dość duża,
gdyż dla każdego studenta wypełniającego ankietę dostaniemy jedną instancję – obiekt typu KS. Ten
obiekt będzie powiązany z instancjami klas odpowiedzi, których udzielił student. Cała ankieta składa
się z ok. 500-600 odpowiedzi (w zależności od wersji). Student nie musi wybrać wszystkich tych odpowiedzi, ale można przyjąć że wybierze około 200 z nich. Dlatego Sieć powstająca już dla pojedynczego
studenta składa się z kilkuset węzłów. Biorąc pod uwagę, że w grupach jest przynajmniej kilkudziesięciu
studentów, to daje liczbę węzłów w pełniej sieci semantycznej równą kilku tysiącom. Fragment takiej
sieci został przedstawiony na Rys. 2. Została w nim zawarta instancja studenta należącego do klasy KS1.
Numer w nawiasie oznacza numer instancji. Każdy student będzie miał indywidualny numer instancji,
co będzie jego wyróżnikiem. W taki sam sposób wyróżniane są instancje klas pytań. Nazewnictwo klas
odpowiedzi zawiera numery najsilniej związanych z daną klasą klas sukcesu studenta. Metodologia generowania tych klas została szczegółowo omówiona w pracy [Jaszuk 2016]. Rys. 2 przedstawia jedynie
fragment sieci uzyskanej dla pojedynczego studenta.
Rysunek 2 Struktura fragmentu sieci semantycznej dla jednej instancji studenta
4. Struktura reprezentacji OWL
Dla celów wizualizacji i potrzeb dalszej analizy wygodnie będzie przetworzyć wygenerowany model na
format dokumentów OWL [WWW-1]. OWL (Ontology Web Language) jest standardem wykorzystywanym w technologiach Internetu Semantycznego [WWW-2]. W pracach tutaj przedstawionych posługujemy się wersją 2 tego standardu [WWW-3]. OWL reprezentuje strukturę ontologii, jak również powiązanych z nią danych (sieci semantycznej), w postaci zbioru znaczników wywodzących się ze składni
dokumentów XML [WWW-4]. Jest to więc tekstowy format otwarty, dla którego istnieje wiele narzędzi
umożliwiający edycję i przetwarzanie dokumentów, a także wnioskowanie. Przykładem popularnego
narzędzia edycyjnego jest Protege [WWW-5]. Właśnie tym edytorem posługiwaliśmy się w omawianych tu pracach.
Ontologia i model semantyczny został już opisany wcześniej w ogólnych założeniach. Tutaj doprecyzujemy konstrukcję w formacie OWL. Mamy więc następujące klasy:
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.



Klasy odpowiedzi ankietowych – hierarchia wygenerowana zgodnie z procedurą opisaną w poprzedzających sekcjach. Nazewnictwo klas powinno być cyfrowe zgodnie z opisem. Dla łatwiejszej identyfikacji warto dodać przedrostek, np. KO (klasa odpowiedzi) a dalej nazwę klasy odpowiedzi, np. KO123 – klasa pytań związanych z klasami sukcesu 1, 2 i 3,
Klasy sukcesu edukacyjnego – wyróżnialiśmy 4 klasy sukcesu, a więc numeracja od 1 do 4.
Trzeba zwrócić uwagę, że numery kategorii odzwierciedlają grupy od najlepszych do najsłabszych studentów, tak więc łatwo było zinterpretować, którego rodzaju studentów dana kategoria dotyczy. Nazwa to przedrostek, np. KS (klasa sukcesu) oraz numer grupy, np. KS1,
Klasa Student – klasa reprezentująca każdego z badanych studentów. Sama klasa nie jest powiązana bezpośrednio z pozostałymi, natomiast instancje tej klasy będą powiązane z instancjami klas pytań i klas sukcesu. Tej klasy nie uwzględniliśmy w schematach przedstawionych
na Rys. 1 i 2, gdyż nie stanowi kluczowego elementu bazy wiedzy. Jest ona jednak konieczna
od identyfikowania poszczególnych studentów, którzy wypełnili ankietę. Bez tego przeprowadzenie wnioskowania na tematu sukcesu edukacyjnego nie byłoby możliwe.
Pomiędzy klasami wyróżniamy następujące powiązania:



Między klasami KP oraz klasami KS. Ta sieć powiązań wynika z tego co jest zawarte w nazwie
klasy odpowiedzi (numery klas sukcesu). Połączenie nazwiemy KO_KS,
Połączenie między klasą Student i klasami pytań. Połączenie nazwiemy Stud_KO,
Połączenie między klasą Student i klasami sukcesu. Połączenie nazwiemy Stud_KS.
Każdy student wypełniając ankietę staje się instancją klasy Student. Każda odpowiedź, którą wybrał
staje się instancją odpowiedniej klasy KO powiązaną z instancją studenta przez połączenia Stud_KO.
Instancji klas z grupy KS możemy uzyskać mając wyniki sukcesu edukacyjnego, lub wywnioskować na
podstawie jego odpowiedzi. Przykładowy zapis definiujący klasę i jej powiązania z nadklasami w zapisie
OWL został przedstawiony poniżej:
<owl:Class rdf:about="http://wsiz.rzeszow.pl/onotologie/imasz.owl#KO1_3">
<rdfs:subClassOf rdf:resource="http://wsiz.rzeszow.pl/onotologie/imasz.owl#KO1_3_4"/>
<rdfs:subClassOf rdf:resource="http://wsiz.rzeszow.pl/onotologie/imasz.owl#KO1_2_3"/>
</owl:Class>
5. Wnioskowanie – predykcja klasy sukcesu edukacyjnego
Wnioskowanie będziemy przeprowadzali dla studentów, którzy dopiero rozpoczynają studia i wypełnili
ankietę. Wybrane odpowiedzi mogą tworzyć instancje klas na różnych poziomach hierarchii. Najmniej
wartościowa jest klasa na najwyższym poziomie hierarchii. Zazwyczaj jest to klasa wskazująca na
wszystkie klasy sukcesu edukacyjnego, a więc posiada małą moc dyskryminacyjną. Bardziej wartościowe są klasy na niższych poziomach. Im niższy poziom, tym większa moc dyskryminacyjna. Najbardziej istotne są klasy na najniższym poziomie hierarchii, gdyż one wskazują na tylko jedną klasę sukcesu. Jest to najbardziej pożądany wyniki jaki chcielibyśmy uzyskać, gdyż chcielibyśmy wiedzieć dokładnie do jakiej kategorii będzie należał student. Z drugiej jednak strony musimy mieć świadomość, że
zerojedynkowe zakwalifikowanie studenta może nie być właściwe często może być tak, ze rokowania
studenta mogą go lokować na pograniczu między klasami sukcesu. Wtedy również warto byłoby mieć
adekwatną informację.
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
Istnieją różne drogi skonstruowania algorytmu wnioskującego. Tutaj przedstawimy metodę, która wykazywała w testach największą efektywność. Algorytm jest następujący:
1. Sprawdzamy instancje KO najniższego poziomu. Każda z tych instancji (o ile istnieją) wskazuje
na jedną klasę KS. Rejestrujemy uzyskane wyniki w postaci tabelarycznej, w której zapisujemy
numer klasy sukcesu, oraz liczbę instancji.
2. Sprawdzamy wyniki o jeden poziom wyżej. Każda z klas wskazuje na dwie klasy KS. Zapisujemy
wyniki w postaci tabelarycznej rejestrując wskazywane klasy oraz liczbę instancji, które te klasy
wskazały.
3. Przechodzimy na kolejny poziom, na którym każda z klas KO wskazuje trzy klasy KS. Rejestrujemy wyniki zapisując wskazywaną klasę oraz liczbę instancji wskazujących każdą z klas.
4. Kontynuujemy procedurę aż dojdziemy do najwyższego poziomu hierarchii klas KO.
Aby zilustrować działanie procedury przyjrzymy się przykładowi podanemu na Rys.2. Załóżmy, że
przedstawiona na rysunku hierarchia instancji odzwierciedla strukturę klas ontologii. W kroku 1 (najniższy poziom) mamy tylko jedną klasę. Dlatego jedyne co możemy zrobić to po prostu zliczyć liczbę
instancji tej klasy i wpisać ją w tabeli w kolumnie odpowiadającej klasie KS1. W pozostałych kolumnach
wpisujemy wartości zerowe. W drugim kroku mamy klasy KO1_3 i KO1_4. Zliczamy liczbę instancji jednej i drugiej klasy. Ponieważ obydwie klasy wskazują na KS1, to w kolumnie tabeli odpowiadającej tej
klasie wpisujemy sumę instancji jednej i drugiej klasy. Oprócz tego w kolumnie odpowiadającej KS3
wpisujemy liczbę instancji KO1_3. Analogicznie postępujemy z klasami KS4 i KO1_4. Procedurę powtarzamy z klasami na wyższych poziomach. Na poziomie 2 mamy więc klasy KO1_2_3 oraz KO1_3_4.
Liczba instancji obydwu tych klas zsumuje się dla KS1 i KS3. Oprócz tego będziemy mieli niezerowe
wpisy w KS2 i KS4, ale będą to odrębnie policzone liczby instancji. Na najwyższym poziome mamy
KO1_2_3_4. Jest to tylko jedna klasa, która właściwie nie wskazuje żadnej klasy sukcesu edukacyjnego.
Nie jest jednak całkiem bezwartościowa, gdyż pewne znaczenie ma liczba instancji tej klasy.
Tabela 1 Przykładowe wartości liczby instancji klas odpowiedzi dla ankiety wybranego studenta (przypadek hierarchii czteropoziomowej)
Poziom
4
3
2
1
Suma
KS1
55
29
14
3
101
KS2
55
17
0
0
72
KS3
55
29
5
0
89
KS4
55
12
9
0
76
W efekcie wykonania podanych wyżej kroków uzyskaliśmy tabelę z pewnymi wartościami liczbowymi.
Nie dają one bezpośredniej odpowiedzi na to, do której klasy sukcesu należałoby zaliczyć danego studenta. Dlatego należy te dane jeszcze dodatkowo przetworzyć. Najprostszą rzeczą jaką można zrobić
jest zsumowanie wartości w poszczególnych kolumnach. Sumy poszczególnych wartości pozwalają
wskazać kategorię sukcesu, którą jest KS1. W zasadzie widać to już po samej strukturze grafu z Rys. 2,
gdzie jest odpowiedni węzeł wskazujący na tę właśnie klasę.
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
Warto zwrócić uwagę, że w pozostałych kolumnach Tab. 1 występują relatywnie duże wartości. Wynika
to z faktu, że na wyższych poziomach hierarchii mieści się relatywnie dużo odpowiedzi. Im niżej schodzimy w dół hierarchii, tym tych odpowiedzi jest mniej. Jednocześnie odpowiedzi mieszczące się niżej
w hierarchii są najbardziej wartościowe, gdyż wskazują precyzyjnie klasę sukcesu edukacyjnego. Dlatego konieczne było opracowanie rozwiązania, które dawałoby preferencje dla instancji niżej położonych klas. W przeciwnym przypadku mogłoby się okazać, że różnice pomiędzy wskazaniami są bardzo
małe, lub wręcz wskazywana jest inna klasa, niż wskazywana przez klasy najniższego poziomu.
Najbardziej sensowne wydaje się rozwiązanie, które dawałoby każdemu poziomowi taki sam wkład
w decyzję. Przy zwykłym sumowaniu ta proporcja jest znacznie zaburzona. Wyższe poziomy mają nadmiernie duży wkład ze względu na nieproporcjonalnie dużą liczbę instancji. Najbardziej sensowne wydaje się powiązanie wartości w sumowaniu z liczbą klas występujących na danym poziomie i liczbą
instancji tych klas. Im więcej klas, tym znaczenie każdej z nich powinno być mniejsze. Jednocześnie im
więcej instancji na danym poziomie, tym wpływ poszczególnych instancji powinien być mniejszy. Przyjmijmy następujący parametr wagowy:
𝒘𝑖 =
1
∑𝑗 𝑜𝑖𝑗
(1)
𝒘𝑖 oznacza wagę przez jaką mnożymy wartości na poziomie i, 𝑜𝑖𝑗 oznacza liczbę instancji klasy j na
poziomie i. Sumowanie odbywa się po wszystkich klasach na danym poziomie z osobna. Przyjrzyjmy
się ponownie wartościom z Tab. 1. Po zastosowaniu wzoru (1) dostajemy wagi przedstawione w Tab.
2. W poszczególnych kolumnach przedstawiono iloczyn odpowiedniej wartości z Tab. 1 i parametru
wagowego. Wyniki tutaj widoczne dają bardziej przejrzysty obraz ostatecznej decyzji. Wygrywająca
kolumna wyraźnie przeważa nad pozostałymi.
Tabela 2 Iloczyny liczby instancji klas odpowiedzi i parametru wagowego, oraz sumy ważone dla każdej z kolumn
Poziom
4
3
2
1
Suma ważona
KS1
1
1
1
1
4
KS2
1
0,586
0
0
1,59
KS3
1
1
0,357
0
2,36
KS4
1
0,414
0,643
0
2,06
Waga
0,0182
0,0342
0,0714
0,3333
Aby wyniki były jeszcze bardziej uniwersalne i łatwe do zaadaptowania i interpretacji przy dowolnej
liczbie warstw modelu wprowadzimy jeszcze dodatkową modyfikację polegającą na przeskalowaniu
wartości w kolumnach poprzez przemnożenie ich przez liczbę warstw hierarchii. Przy takim założeniu
wynik sumy ważonej będzie mógł maksymalnie wynieść 1. Stosując poprawkę nowy współczynnik wagowy wynosi:
𝒘𝑖 =
1
𝑛 ∑𝑗 𝑜𝑖𝑗
(2)
Gdzie n to liczba poziomów modelu. Wartości po przeskalowaniu przedstawia Tab. 3.
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
Tabela 3 Wartości przeskalowane przez liczbę warstw hierarchii klas odpowiedzi
Poziom
4
3
2
1
Suma ważona
KS1
0,102
0,098
0,078
0,063
1
KS2
0,102
0,057
0
0
0,396
KS3
0,102
0,098
0,028
0
0,589
KS4
0,102
0,041
0,05
0
0,514
Waga
0,00454
0,00862
0,01786
0,08333
6. Wyniki grupowe – ocena skuteczności predykcji
W poprzedniej sekcji zademonstrowaliśmy mechanizm przewidywania klasy sukcesu edukacyjnego dla
pojedynczego studenta. Wyniki zostały zademonstrowane na przykładowych danych. Wynik predykcji
uzyskany dla tego studenta potwierdził się w późniejszym czasie, tzn. uzyskał on wyniki, które kwalifikują go do grupy KS1 (najlepsi studenci). Nie jest to jednak wynik, który ilustrowałby zdolności predykcyjne modelu. Wymaga to przedstawienia wyników dla całego zbioru danych.
Metodologia eksperymentu była następująca. Ontologia dziedzinowa została stworzona na podstawie
danych dla pierwszego rocznika studiów, dla którego gromadzone były dane ankietowe. Do budowy
modelu wykorzystano również dane o ocenach dla tego rocznika. Dane te traktujemy jako zbiór uczący.
Model zbudowaliśmy po to, aby możliwe było przewidywanie wyników dla kolejnego rocznika studiów.
Właśnie w taki sposób przetestowaliśmy skuteczność modelu. W kolejnym roczniku wykorzystaliśmy
dane ankietowe pochodzące od 211 studentów. Podział na grupy sukcesu wyznaczony przy pomocy
ontologii został przedstawiony w Tab. 4. W pierwszym wierszu podana została liczba studentów zakwalifikowana do każdej grupy przez stworzony model obliczeniowy. Drugi wiersz to rzeczywista liczba
studentów, którą poznaliśmy po przeanalizowaniu ocen studentów i przypisaniu ich do odpowiednich
klastrów. W trzecim wierszu podany został procent studentów, który został poprawnie przewidziany
jako należący do danej grupy. W ostatnich dwóch wierszach podaliśmy dla porównania wyniki uzyskane dla zbioru uczącego – liczby studentów w poszczególnych grupach i procentową skuteczność
kwalifikowania do poszczególnych grup.
Tabela 4 Wyniki predykcji modelu semantycznego i porównanie z aktualnymi wynikami studentów (analiza błędu) przy podziale na 4 grupy sukcesu
Grupa sukcesu
Liczba studentów
przewidywana
Faktyczna liczba studentów
Procent poprawnie
przewidzianych
Liczba zakwalifikowanych studentów ze
zbioru uczącego
Procent poprawnie zakwalifikowanych ze
zbioru uczącego
KS1
41
KS2
72
KS3
77
KS4
21
38
81
73
19
89%
74%
72%
90%
33
77
69
15
95%
87%
88%
96%
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
Przedstawione wyniki wskazują na dość wysoką zdolność predykcyjną modelu. Brak stuprocentowej
skuteczności dla zbioru uczącego nie jest niczym zaskakującym. Model w postaci ontologii dostosowuje
się w miarę możliwości jak najbardziej do zbioru uczącego, ale nie należy oczekiwać, że będzie to dopasowanie stuprocentowe. Zawsze znajdą się obiekty, które nie będą całkowicie pasować do modelu,
nawet jeśli ten model był z ich pomocą konstruowany. Dla danych testowych wyniki są nieco gorsze,
co również nie jest niespodzianką, gdyż tych danych wcześniej nie wykorzystywano do konstruowania
modelu. Należy podkreślić, że postawione zadanie nie jest łatwe. Próbujemy uzyskać predykcję wyników wyłącznie na podstawie ankiet, które przecież dotyczą bardzo różnorodnych zagadnień. Na ich
podstawie trudno jest precyzyjnie przewidzieć wyniki jakie osiągną poszczególni studenci. Ogólnie skuteczność przewidywania w naukach społecznych jest dość niska ze względu na charakter badanych zjawisk. Dlatego uzyskane uzyskany poziom błędów należy uznać za bardzo satysfakcjonujący.
Dla porównania podajemy także wyniki uzyskane przy podziale grupy studentów na 6 grup. Podział był
na 5 grup, które uzyskały oceny, a ostatnia grupa to studenci, którzy przerwali studia. W konsekwencji
mamy więcej możliwości w zakresie budowania hierarchii klas odpowiedzi. Hierarchia może składać się
z 6 poziomów. Wyniki przedstawia Tab. 5.
Tabela 5 Wyniki predykcji modelu semantycznego i porównanie z aktualnymi wynikami studentów (analiza błędu) przy podziale grupy studentów na 6 grup
Grupa sukcesu
Liczba studentów
przewidywana
Faktyczna liczba
studentów
Procent poprawnie przewidzianych
Liczba zakwalifikowanych studentów ze zbioru
uczącego
Procent poprawnie zakwalifikowanych ze zbioru
uczącego
KS1
27
KS2
47
KS3
52
KS4
29
KS5
35
KS6
21
29
44
49
33
37
19
71%
63%
77%
76%
81%
67%
30
42
53
31
35
20
92%
86%
83%
79%
91%
85%
Porównując wyniki uzyskane dla 4 i 6 klas sukcesu możemy zauważyć, że w przypadku 6 klas dokładność wskazań modelu jest mniejsza. Średnia dokładność wskazań na zbiorze testowym dla 4 klas to
81%, a na zbiorze uczącym 92,5%. Dla 6 klas te wartości wynoszą odpowiednio 72,5% i 86%. Należy tę
rozbieżność interpretować faktem, że w przypadku 6 klas istnieje większe rozdrobnienie i w związku
z tym jest więcej szans na niewłaściwe wskazanie.
Abym mieć pełny obraz skuteczności opracowanych rozwiązań uzupełnimy rozważania jeszcze o analizę skuteczności modelu w zależności od jego parametrów. Jak wiadomo istnieje szereg czynników,
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
które wpływają na wynikową strukturę modelu [Jaszuk 2016]. W zależności od przyjętych założeń możemy uzyskać ontologię złożoną z mniejszej lub z większej liczby klas. Dlatego opracowaliśmy zestawienie, w którym porównujemy skuteczność odwzorowania zarówno zbioru uczącego, jak również skuteczność przewidywania na zbiorze testowym. Jak zostało wskazane w pracy [Jaszuk 2016], parametrem determinującym złożoność ontologii jest wartość progu odcięcia. Dlatego zmieniając wartość
tego progu uzyskamy modele składające się z różnej liczby klas. Uzyskane wyniki zostały zademonstrowane na Rys. 3, na którym przedstawiono zdolność modelu do przewidywania w zależności od liczby
klas tworzących ontologię. Przedstawione na rysunku wartości są średnimi dla wszystkich klas sukcesu
edukacyjnego, przy założeniu 4 klas sukcesu. Obliczenia na Rys. 3 przedstawiają wyniki uzyskane na
zbiorze testowym. Widzimy, że rozkład przyjmuje maksimum w okolicach 7-8 klas, dla których jest 83%
skuteczności przewidywania. Przy wzroście rozmiaru modelu (liczby klas) zdolność modelu do przewidywania spada.
Rysunek 3 Procentowa średnia skuteczność przewidywania modelu na zbiorze testowym w zależności od liczby klas ontologii
Z kolei Rys. 4 przedstawia skuteczność odwzorowania zbioru uczącego. Tutaj widzimy systematyczny
wzrost skuteczności odwzorowania zbioru uczącego wraz ze wzrostem liczby klas w ontologii.
Rysunek 4 Procentowa średnia skuteczność odwzorowania przez model zbioru uczącego w zależności od liczby klas ontologii
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
Z analizy wyników przedstawionych na Rys. 3 i 4 możemy wyciągnąć wnioski dotyczące optymalnej
struktury modelu. Podstawowym celem prowadzonych prac jest uzyskanie maksymalnej zdolności
przewidywania, przy jednocześnie wystarczająco dobrym odwzorowaniu zbioru uczącego. Z Rys. 3 wynika, że najlepszą zdolność przewidywania uzyskujemy przy 7 lub 8 klasach tworzących ontologię (83%
skuteczności w obu przypadkach). Jednocześnie z Rys. 4 widzimy, że najlepsze odwzorowanie zbioru
uczącego zostało uzyskane przy 8 klasach. Dlatego model o takiej właśnie złożoności wydaje się najbardziej optymalny. Przy większej złożoności modelu wzrasta skuteczność odwzorowania zbioru uczącego, ale jednocześnie spada zdolność przewidywania dla zbioru testowego. Zjawisko to znane jest w
literaturze jako przeuczenie (ang. overfitting). Takiego efektu powinniśmy zawsze unikać. Przedstawione obliczenia wskazują wyraźnie, że możliwe jest dobranie optymalnej struktury ontologii, która
pozwoli uzyskać najlepsze zdolności predyktywne.
Podsumowanie
W tekście raportu została przedstawiona metodologia budowy sieci semantycznej na podstawie wygenerowanej automatycznie ontologii. Sieć semantyczna reprezentuje zbiór badanych obiektów, które
w omawianych badaniach są studentami uczelni wyższej. Przedstawione zostały szczegóły algorytmu
wnioskowania opartego na zliczaniu instancji klas odpowiedzi ankietowych. Proces zliczania pozwala
dla każdego studenta, który wypełnił ankietę wskazać klasę sukcesu edukacyjnego, do której będzie on
z największym prawdopodobieństwem należał. Opracowana metodologia ma charakter oryginalny i
nie była nigdzie wcześniej publikowana.
Ponadto przedstawione zostały wyniki pomiarów skuteczności przewidywania dla zbioru testowego
oraz jakości odwzorowania zbioru uczącego. Porównane zostały wyniki uzyskane przy założeniu 4 i 6
klas sukcesu edukacyjnego. Wyniki uzyskane przy 4 klasach wskazują na lepszą jakość modelu, który
jest w stanie lepiej przewidywać wyniki, jak również lepiej odwzorować zbiór uczący. Kosztem jaki płacimy za mniejszą liczbę klas sukcesu jest jednak mniejsza precyzja samego modelu. Przeanalizowane
zostały również wyniki porównania modeli o różnej złożoności, tzn. składających się z różnej liczby klas
odpowiedzi ankietowych. Uzyskane wyniki wskazują, że możliwe jest dobranie optymalnej złożoności
modelu, tzn. takiej która pozwala uzyskać najlepsze wyniki przewidywania dla zbioru testowego i jednocześnie względnie dobrze odwzorować zbiór uczący. Uzyskaną skuteczność modelu na poziomie 7080% w przewidywaniach dla zbioru testowego należy uznać za dobry wyniki, biorąc pod uwagę, że
mieliśmy do czynienia z zagadnieniem z zakresu nauk społecznych, dla których możliwości skutecznego
przewidywania są dość ograniczone.
Przedstawione tutaj wyniki wskazują, że stworzone rozwiązania są skuteczną alternatywą dla innych
technik sztucznej inteligencji. Ich atutem jest to, że pozwalają zautomatyzować zadania, które przy
innych podejściach wymagają bezpośredniej analizy eksperckiej. Na przyszłość interesujące będzie
przeprowadzenie analiz porównawczych tych technik z innymi znanymi narzędziami sztucznej inteligencji. Nawet gdyby miało się okazać, że pod względem obliczeniowym pozwalałyby one uzyskiwać
większą precyzję przewidywania, to jednak zalety naszego rozwiązania są na tyle istotne, że mogą w
przyszłości znaleźć zastosowanie praktyczne nie tylko w omawianym tutaj problemie danych studenckich, ale też w innych zagadnieniach, takich jak np. przewidywanie chorób na podstawie objawów pacjenta.
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.
Literatura
[Beecon 2003] M. Beeson, The mechanization of mathematics, in Teuscher, C. (ed.) Alan Turing: Life
andLegacy of a Great Thinker, Springer-Verlag, Berlin Heidelberg New York, 2003, pp. 77-134.
[Gruber 1993] T. R. Gruber, A Translation Approach to Portable Ontologies. Knowledge Acquisition,
5(2), 1993, pp. 199–220.
[Gruber 1995] T. R. Gruber. Toward Principles for the Design of Ontologies Used for Knowledge
Sharing. International Journal of Human Computer Studies, 43(5–6), 1995, pp. 907–928.
[Guarino 1995] N. Guarino i P. Giaretta, Ontologies and Knowledge Bases: Towards a Terminological
Clarification. In N. Mars, editor, Towards Very Large Knowledge Bases: Knowledge Building
and Knowledge Sharing, IOS Press, Amsterdam, 1995, pp. 25–32.
[Jaszuk 2015a] M. Jaszuk, T. Mroczek, B. Fryc, Automatyczna identyfikacja relacji semantycznych
na przykładzie ankiet studenckich, 2015, on-line: https://www.wsiz.rzeszow.pl/pl/Uczelnia/kadra/mjaszuk/Documents/publikacja3.pdf
[Jaszuk 2015b] M. Jaszuk, T. Mroczek, B. Fryc, Testy porównawcze metod klasteryzacji jako narzędzia identyfikacji grup studenckich oraz tworzenia klas pytań ankietowych, 2015, on-line:
https://www.wsiz.rzeszow.pl/pl/Uczelnia/kadra/mjaszuk/Documents/publikacja4.pdf
[Jaszuk 2016] M. Jaszuk, B. Fryc, T. Mroczek, Techniki sztucznej inteligencji w przewidywaniu wyników procesu edukacyjnego, Współczesne Oblicza Informatyki, Jarosław, 2016.
[Oberle 2009] D. Oberle , N. Guarino, S. Staab, What is an ontology?. w: "Handbook on Ontologies".
Springer,
2nd
edition,
2009,
on-line:
https://pdfs.semanticscholar.org/5989/09e8871a92a3c8a19eeaefdbe6dd8e271b55.pdf
[WWW-1] https://www.w3.org/OWL/
[WWW-2] https://www.w3.org/standards/semanticweb/
[WWW-3] https://www.w3.org/TR/owl2-syntax/
[WWW-4] https://www.w3.org/XML/
[WWW-5] http://protege.stanford.edu/
Projekt współfinansowany ze środków Unii Europejskiej z Europejskiego Funduszu Rozwoju Regionalnego oraz z budżetu Państwa w ramach
Regionalnego Programu Operacyjnego Województwa Podkarpackiego na lata 2007 – 2013.
Inwestujemy w rozwój województwa podkarpackiego.