From: <jen...@us...> - 2009-02-11 16:59:04
|
Revision: 1592 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1592&view=rev Author: jenslehmann Date: 2009-02-11 16:58:59 +0000 (Wed, 11 Feb 2009) Log Message: ----------- manual continued Modified Paths: -------------- trunk/build.xml trunk/doc/manual/manual.tex trunk/examples/father.conf Added Paths: ----------- trunk/examples/father.owl Removed Paths: ------------- trunk/examples/father.kb Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2009-02-09 16:41:44 UTC (rev 1591) +++ trunk/build.xml 2009-02-11 16:58:59 UTC (rev 1592) @@ -4,7 +4,7 @@ <!-- directory settings --> <property name="lib_dir" value="lib" /> <property name="source_dir" value="src/dl-learner" /> - <property name="protege_dir" value="C:/Programme/Protege_4.0_beta/plugins" /> + <property name="protege_dir" value="/home/jl/programme/Protege_4.0_beta/plugins" /> <property name="class_dir" value="classes" /> <property name="php_client_dir" value="src/php-client" /> Modified: trunk/doc/manual/manual.tex =================================================================== --- trunk/doc/manual/manual.tex 2009-02-09 16:41:44 UTC (rev 1591) +++ trunk/doc/manual/manual.tex 2009-02-11 16:58:59 UTC (rev 1592) @@ -15,6 +15,8 @@ \urldef{\owl}{\url}{http://www.w3.org/2004/OWL/} \urldef{\owlce}{\url}{http://www.w3.org/TR/2008/WD-owl2-syntax-20081202/#Class_Expressions} \urldef{\carc}{\url}{http://dl-learner.org/wiki/Carcinogenesis} +\urldef{\dldownload}{\url}{http://sourceforge.net/project/showfiles.php?group_id=203619} +\urldef{\mos}{\url}{http://www.co-ode.org/resources/reference/manchester_syntax/} \title{DL-Learner Manual [Draft]} \author{Jens Lehmann} @@ -50,6 +52,54 @@ \section{Getting Started} +DL-Learner is written in Java, i.e.~it can be used on all platforms supporting Java. Currently, Java 6 or higher is required. To install the latest release, please visit the download page\footnote{\dldownload} and extract the file on your harddisk. In the top level directory, you will notice several executables. Those files ending with \verb|bat| are Windows executables, whereas the corresponding files without file extension are the Non-Windows (e.g.~Linux, Mac) executables. To test whether DL-Learner works, please run the following on the command line depending on your operating system: + +\begin{verbatim} +dllearner examples/father.conf (Non-Windows Operating System) +dllearner.bat examples/father.conf (Windows Operating System) +\end{verbatim} + +\emph{Conf files}, e.g. \verb|examples/father.conf| in this case, describe the learning problem and specify which algorithm you want to use to solve it. In the simples case they just say where to find the background knowledge to use (in the OWL file \verb|examples/father.owl| in this case) and the positive and negative examples (marked by ``+'' and ``-'', respectively). When running the above command, you should get something similar to the following: + +\begin{verbatim} +DL-Learner 2008-10-13 command line interface +starting component manager ... OK (201ms) +initialising component "OWL file" ... OK (0ms) +initialising component "fast instance checker" ... OK (839ms) +initialising component "two valued definition learning problem" +... OK (0ms) +initialising component "example driven refinement operator based +learning algorithm" ... OK (14ms) + +more accurate (83,33%) node found: http://example.com/father#male +[q:1, he:0, children:0] +more accurate (100,00%) node found: (http://example.com/father#male +AND EXISTS http://example.com/father#hasChild.TOP) +[q:0, he:4, children:0] +best node (male AND EXISTS hasChild.TOP) [acc:100% h:0,962 q:0p-0n +(REASONER), he:7 c:12] +solutions (at most 20 are shown): +1: (male AND EXISTS hasChild.TOP) (length 5, depth 3) +2: (male AND EXISTS hasChild.ALL hasChild.TOP) (length 7, depth 4) +3: (male AND EXISTS hasChild.(female OR male)) (length 7, depth 4) +Algorithm terminated succesfully. + +number of retrievals: 4 +retrieval reasoning time: 0ms ( 0ms per retrieval) +number of instance checks: 194 (0 multiple) +instance check reasoning time: 3ms ( 0ms per instance check) +overall reasoning time: 3ms (13,901% of overall runtime) +overall algorithm runtime: 26ms +\end{verbatim} + +\todo{Use Manchester OWL Syntax for output.} +\todo{Suppress http://localhost/foo in output.} +\todo{empty line after init; empty line after algorithm finished} +\todo{replace ``node'' by ``class expression''} +\todo{find out why algorithm continues after finding EXISTS hasChild.TOP} + +The first part of the output tells you which components are used (more on this in Section \ref{sec:components}). In the second part you see output coming from the used learning algorithm, i.e.~it can print information while running (``more accurate (83,33\%) class description found'') and the final solutions, it computed. The results are displayed in Manchester OWL Syntax\footnote{\mos}. There can be several solutions, in which case they are ordered with the most promising one in the first position. The last part of the output contains some runtime statistics. + \section{DL-Learner Architecture} DL-Learner consists of core functionality, which provides Machine Learning algorithms for solving the learning problem, support for different knowledge base formats, an OWL library, and reasoner interfaces. There are several interfaces for accessing this functionality, a couple of tools which use the DL-Learner algorithms, and a set of convenience scripts. The general structure is illustrated in the following \ref{fig:structure}. @@ -70,9 +120,8 @@ \label{fig:components} \end{figure} - - \section{DL-Learner Components} +\label{sec:components} \subsection{Knowledge Sources} Modified: trunk/examples/father.conf =================================================================== --- trunk/examples/father.conf 2009-02-09 16:41:44 UTC (rev 1591) +++ trunk/examples/father.conf 2009-02-11 16:58:59 UTC (rev 1592) @@ -1,23 +1,19 @@ /** * Father Example * - * possible solution: + * possible solution: * male AND EXISTS hasChild.TOP * * Copyright (C) 2007, Jens Lehmann */ -/** settings **/ +// background knowledge +import("father.owl"); - -import("father.kb"); -// reasoner = dig; - -/** examples **/ -+stefan -+markus -+bernd --heinz --anna --gabi --michelle +// examples ++"http://example.com/father#stefan" ++"http://example.com/father#markus" ++"http://example.com/father#martin" +-"http://example.com/father#heinz" +-"http://example.com/father#anna" +-"http://example.com/father#michelle" Deleted: trunk/examples/father.kb =================================================================== --- trunk/examples/father.kb 2009-02-09 16:41:44 UTC (rev 1591) +++ trunk/examples/father.kb 2009-02-11 16:58:59 UTC (rev 1592) @@ -1,16 +0,0 @@ -BOTTOM = (male AND female). - -// persons -male(markus). -male(stefan). -male(heinz). -male(bernd). -female(anna). -female(gabi). -female(michelle). - -// children -hasChild(stefan,markus). -hasChild(markus,anna). -hasChild(bernd,gabi). -hasChild(anna,heinz). Added: trunk/examples/father.owl =================================================================== --- trunk/examples/father.owl (rev 0) +++ trunk/examples/father.owl 2009-02-11 16:58:59 UTC (rev 1592) @@ -0,0 +1,35 @@ +<?xml version="1.0"?> +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns="http://example.com/father#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xml:base="http://example.com/father"> + <owl:Ontology rdf:about=""/> + <owl:Class rdf:ID="female"/> + <owl:Class rdf:ID="male"> + <owl:equivalentClass> + <owl:Class> + <owl:complementOf rdf:resource="#female"/> + </owl:Class> + </owl:equivalentClass> + </owl:Class> + <owl:ObjectProperty rdf:ID="hasChild"/> + <male rdf:ID="markus"> + <hasChild> + <female rdf:ID="anna"> + <hasChild> + <male rdf:ID="heinz"/> + </hasChild> + </female> + </hasChild> + </male> + <male rdf:ID="stefan"> + <hasChild rdf:resource="#markus"/> + </male> + <female rdf:ID="michelle"/> + <male rdf:ID="martin"> + <hasChild rdf:resource="#heinz"/> + </male> +</rdf:RDF> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |