From: <jen...@us...> - 2013-09-04 09:18:54
|
Revision: 4047 http://sourceforge.net/p/dl-learner/code/4047 Author: jenslehmann Date: 2013-09-04 09:18:50 +0000 (Wed, 04 Sep 2013) Log Message: ----------- started unit test for comparing ISLE and CELOE Modified Paths: -------------- trunk/components-core/src/test/java/org/dllearner/algorithms/isle/ISLETest.java Property Changed: ---------------- trunk/test/isle/father/ Modified: trunk/components-core/src/test/java/org/dllearner/algorithms/isle/ISLETest.java =================================================================== --- trunk/components-core/src/test/java/org/dllearner/algorithms/isle/ISLETest.java 2013-09-04 08:25:56 UTC (rev 4046) +++ trunk/components-core/src/test/java/org/dllearner/algorithms/isle/ISLETest.java 2013-09-04 09:18:50 UTC (rev 4047) @@ -9,6 +9,7 @@ import java.util.Map; import java.util.Set; +import org.dllearner.algorithms.celoe.CELOE; import org.dllearner.algorithms.isle.index.AnnotatedDocument; import org.dllearner.algorithms.isle.index.TextDocument; import org.dllearner.algorithms.isle.index.semantic.SemanticIndex; @@ -56,12 +57,16 @@ private SemanticIndex semanticIndex; private SyntacticIndex syntacticIndex; + // we assume that the ontology is named "ontology.owl" and that all text files + // are in a subdirectory called "corpus" + private String testFolder = "../test/isle/father/"; + /** * */ public ISLETest() throws Exception{ manager = OWLManager.createOWLOntologyManager(); - ontology = manager.loadOntologyFromOntologyDocument(new File("../examples/isle/father_labeled.owl")); + ontology = manager.loadOntologyFromOntologyDocument(new File(testFolder + "father_labeled.owl")); cls = new NamedClass("http://example.com/father#father"); textRetriever = new RDFSLabelEntityTextRetriever(ontology); syntacticIndex = new OWLOntologyLuceneSyntacticIndexCreator(ontology, df.getRDFSLabel(), searchField).buildIndex(); @@ -71,7 +76,7 @@ private Set<TextDocument> createDocuments(){ Set<TextDocument> documents = new HashSet<TextDocument>(); - File folder = new File("../test/isle/father/corpus"); + File folder = new File(testFolder+"corpus/"); for (File file : folder.listFiles()) { try { String text = Files.toString(file, Charsets.UTF_8); @@ -148,4 +153,42 @@ isle.start(); } + @Test + public void compareISLE() throws Exception { + KnowledgeSource ks = new OWLAPIOntology(ontology); + AbstractReasonerComponent reasoner = new FastInstanceChecker(ks); + reasoner.init(); + + ClassLearningProblem lp = new ClassLearningProblem(reasoner); + lp.setClassToDescribe(cls); + lp.init(); + + semanticIndex = new SimpleSemanticIndex(ontology, syntacticIndex); + semanticIndex.buildIndex(createDocuments()); + + relevance = new PMIRelevanceMetric(semanticIndex); + + Map<Entity, Double> entityRelevance = RelevanceUtils.getRelevantEntities(cls, ontology, relevance); + NLPHeuristic heuristic = new NLPHeuristic(entityRelevance); + + // run ISLE + ISLE isle = new ISLE(lp, reasoner); + isle.setHeuristic(heuristic); + isle.setSearchTreeFile(testFolder + "searchTreeISLE.txt"); + isle.setWriteSearchTree(true); + isle.setReplaceSearchTree(true); + isle.setTerminateOnNoiseReached(true); + isle.init(); + isle.start(); + + // run standard CELOE as reference + CELOE celoe = new CELOE(lp, reasoner); + celoe.setSearchTreeFile(testFolder + "searchTreeCELOE.txt"); + celoe.setWriteSearchTree(true); + celoe.setTerminateOnNoiseReached(true); + celoe.setReplaceSearchTree(true); + celoe.init(); + celoe.start(); + } + } Index: trunk/test/isle/father =================================================================== --- trunk/test/isle/father 2013-09-04 08:25:56 UTC (rev 4046) +++ trunk/test/isle/father 2013-09-04 09:18:50 UTC (rev 4047) Property changes on: trunk/test/isle/father ___________________________________________________________________ Added: svn:ignore ## -0,0 +1 ## +searchTree*.txt This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |