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 TTestRelevanceMetric extends AbstractRelevanceMetric { 014 015 public TTestRelevanceMetric(Index index) { 016 super(index); 017 } 018 019 @Override 020 public synchronized double getRelevance(OWLEntity entityA, OWLEntity entityB){ 021 double nrOfDocumentsA = index.getNumberOfDocumentsFor(entityA); 022 double nrOfDocumentsB = index.getNumberOfDocumentsFor(entityB); 023 double nrOfDocumentsAB = index.getNumberOfDocumentsFor(entityA, entityB); 024 025 double nrOfDocuments = index.getTotalNumberOfDocuments(); 026 027 if (nrOfDocumentsA==0 || nrOfDocumentsB==0 || nrOfDocumentsAB==0) 028 return 0; 029 030 double ttest = (nrOfDocumentsAB - (nrOfDocumentsA*nrOfDocumentsB)/nrOfDocuments) / 031 Math.sqrt(nrOfDocumentsAB*(1-nrOfDocumentsAB/nrOfDocuments)); 032 033 return ttest; 034 } 035 036 @Override 037 public synchronized double getNormalizedRelevance(OWLEntity entityA, OWLEntity entityB){ 038 //TODO 039 return Double.NaN; 040 } 041 042}