001package org.dllearner.algorithms.isle.metrics; 002 003import org.dllearner.algorithms.isle.index.Index; 004import org.semanticweb.owlapi.model.OWLEntity; 005 006/** 007 * @author Andre Melo 008 * 009 */ 010public class DiceRelevanceMetric extends AbstractRelevanceMetric{ 011 012 public DiceRelevanceMetric(Index index) { 013 super(index); 014 } 015 016 @Override 017 public double getRelevance(OWLEntity entityA, OWLEntity entityB) { 018 double nrOfDocumentsA = index.getNumberOfDocumentsFor(entityA); 019 double nrOfDocumentsB = index.getNumberOfDocumentsFor(entityB); 020 021 if (nrOfDocumentsA==0 || nrOfDocumentsB==0) 022 return 0; 023 024 double nrOfDocumentsAandB = index.getNumberOfDocumentsFor(entityA, entityB); 025 026 double dice = 2 * nrOfDocumentsAandB / (nrOfDocumentsA + nrOfDocumentsB); 027 028 return dice; 029 } 030 031 @Override 032 public double getNormalizedRelevance(OWLEntity entity1, OWLEntity entity2) { 033 return getRelevance(entity1, entity2); 034 } 035 036 037}