001/** 002 * 003 */ 004package org.dllearner.algorithms.isle.metrics; 005 006import org.dllearner.algorithms.isle.index.Index; 007import org.semanticweb.owlapi.model.OWLEntity; 008 009/** 010 * @author Andre Melo 011 * 012 */ 013public class SCIRelevanceMetric extends AbstractRelevanceMetric { 014 015 public SCIRelevanceMetric(Index index) { 016 super(index); 017 } 018 019 @Override 020 public synchronized double getRelevance(OWLEntity entityA, OWLEntity entityB){ 021 double fA = index.getNumberOfDocumentsFor(entityA); 022 double fB = index.getNumberOfDocumentsFor(entityB); 023 double fAB = index.getNumberOfDocumentsFor(entityA, entityB); 024 double N = index.getTotalNumberOfDocuments(); 025 026 if (fA==0 || fB==0 || fAB==0) 027 return 0; 028 029 030 double pA = fA / N; 031 double pB = fB / N; 032 double pAB = fAB / N; 033 034 double sci = pAB / (pA * Math.sqrt(pB)); 035 036 return sci; 037 } 038 039 @Override 040 public synchronized double getNormalizedRelevance(OWLEntity entityA, OWLEntity entityB){ 041 //TODO 042 return Double.NaN; 043 } 044 045}