Transcript

Verbesserung der Performanz der SPARQL-Komponentevom DL-Learner

Didier [email protected]

Universität Leipzig, Bachelor Studiengang Informatik

Der DL-Learner ist ein Framework, um Konzepte in Beschreibungslogiken zu lernen.[Leh09] Er nutzt Machine Learning Algorithmen, um Lernprobleme in OWL zu lösen.Um die Flexibilität zu erhöhen ist der DL-Learner aus Komponenten gebaut. Es existieren4 verschiedene Typen von Komponenten: Knowledge Sources werden benutzt, um Hinter-grundwissen zu importieren. Nicht nut lokales Wissen in Form von RDF/XML oder Turtlesind unterstützt, sondern auch die Verwendung eines SPARQL-Endpunktes ist mittels derSPARQL-Komponente möglich. Reasoner components liefern Schnittstellen zu zahlre-iche Reasoner. Der DL-Learner kann existierende standards Reasoner oder ein eigenesverwenden. Learning Problems beschreiben die zu lösende Lernprobleme. Es gibt 3 ver-schiedene Lernproblemtypen im DL-Learner: 1. Lernen von positiven Beispielen; 2. Ler-nen von positiven und negativen Beispielen; 3. Lernen von Class-Axiome.

Die SPARQL-Komponente wurde überarbeitet, um ihre Performanz zu erhöhen. Um dieEffizienz zu erhöhen wurden Schemaanfragen (T-Box) von den Anfragen zu den tatsäch-lichen Instanzen (A-Box) getrennt. Aus A-Box und T-Box setzt sich die Ontologie zusam-men [BHS08]. Diese Überarbeitung setzt sich aus einer Indexierung der T-Box, der Re-duzierung der Anzahl der SPARQL-Anfragen und einer Typisierung der Ontologie. DieIndexierung der T-Box speichert für jede Klasse der Ontologie alle Ihre SuperKlassen bisowl:Thing. Die SPARQL-Anfragen wurden so verändert, dass die A-Box Anfragen ge-trennt von einer T-Box Anfrage erfolgen. Jede Anfrage holt alle zu den bis jetzt bekanntenInstanzen verbunden Instanzen. Es erfolgt in der neuen Version eine A-Box Anfrage proIteration bis zur maximalen Tiefe. Die alte Version der Komponenten hat eine Anfragepro Beispiel genutzt. Im nächsten Schritt wird für jede der im vorherigen Schritt hinzuge-fügten Instanzen eine Anfrage zum Endpunkt geschickt. Die T-Box Anfrage ist zuständig,um jede Instanz ihre Klasse zuzuweisen. Schliesslich muss die Ontologie Typisiert wer-den, da die Ressourcen in den SPARQL-Ergebnisse nicht typisiert sind, das heisst eineKlasse ist nicht als owl:Class deklariert. In der alten Version werden die T-Box Informa-tionen gleichzeitig mit den A-Box Resourcen geholt.

Um die Effizienz der Überarbeitung zu testen haben wir einen Test entwickelt. Dieser Testnutzt die DBpedia [ABK+07]. Für jede Klasse der DBpedia1 wurden zufällig Beispieleunter deren Instanzen ausgewählt. Diese Beispiele wurden im Lernproblem als positiveBeispiel verwendet. Die negativen Beispiel wurden unter den Schwesternklassen aus-gewählt. Eine Schwesterklasse zu einer Klasse teilt eine ihrer Superklassen mit der Ur-

1http://downloads.dbpedia.org/3.6/dbpedia_3.6.owl

129

SKIL 2012 – Dritte Studentenkonferenz Informatik Leipzig 2012 (Hrsg: Johannes Schmidt, Thomas Riechert und Sören Auer), Leipziger Beiträge zur Informatik, Band 34. Leipziger Informatik-Verbund LIV. 2012 ISBN: 978-3-941608-21-4

sprungsklasse ohne diese zu sein. Von allen Schwesternklassen wurde eine zufällig aus-gewählt und unter ihren Instanzen die negativen Beispiele. Dieser Test wurde mit der altenSPARQL-Komponente und mit ihrer überarbeitete Version durchgeführt.

Als erster grosse Unterschied kam heraus, dass die überarbeitete Komponente mehr Ergeb-nisse bekam als die alte Version. Dies ist zu erklären durch eine robustere Implemen-tierung. Die überbearbeitete Komponente ist weniger empfindlich zu den SerialisierungFehlern des SPARQL-Endpunktes. Alle bis zum Fehler gefundene Instanzen können weit-er verarbeitet werden und den Reasoner übergeben werden, bei der alten Komponente istder OWL-Fragment nicht weiter nutzbar und es gibt kein Ergebnis. Es gaben insgesamt61 JavaExceptions2 bei der Durchführung der neuen Komponente, davon haben nur 3 einAbbruch des Algorithmus erzwingt. Bei der alten Version waren es 93 Exceptions, die allezu einem Abbruch des Algorithmus führten.

Die Performanz zeigt eine etwa vierfache Verbesserung der Geschwindigkeit. Die Durch-schnittszeit der SPARQL-komponent beträgt vor der Überarbeitung 16817 ms und danach3923 ms. Die Indexierung der T-Box bei der neuen Version braucht nur circa 2s. Die Index-ierung erfolgt aber nur einmal am Anfang des Experiments. Die neue Version besitzt keineCache-Möglichkeit. Die Ergebnisse zeigen jedoch, dass dies kein Nachteil gegenüber deralten Version, die ein Cache besitzt, ist.

Die Korrektheit wurde überprüft mittels der F-Werte. Jede Klassendefinition, die der DL-Learner ausgibt wird auf ihre Genauigkeit mit Hilfe der F-Wert gemessen. Als Referenzdienen die Instanzen die zu dieser Klasse gehören. Die Verteilung der F-Wert zeigt, dassdie neue Komponente etwas bessere Ergebnisse liefert, beziehungsweise mehr Ergebnissehat, die einen besseren F-Wert haben, liefert. Dies ist zum Teil durch den höheren Anzahlan Ergebnisse zu erklären. Ausserdem hat die Typisierung der Ontologie einen Einfluss aufdie Ergebnisse, da mit ihrer Hilfe mehr Informationen vom Reasoner abgearbeitet werdenkönnen.

Literatur

[ABK+07] S. Auer, C. Bizer, G. Kobilarov, J. Lehmann, R. Cyganiak, and Z. Ives. Dbpedia: Anucleus for a web of open data. The Semantic Web, pages 722–735, 2007.

[BHS08] F. Baader, I. Horrocks, and U. Sattler. Description logics. Foundations of ArtificialIntelligence, 3:135–179, 2008.

[Leh09] J. Lehmann. DL-Learner: learning concepts in description logics. The Journal of Ma-chine Learning Research, 10:2639–2642, 2009.

2http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html

Verbesserung der Performanz der SPARQL-Komponente vom DL-Learner

130


Top Related