All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.johnsnowlabs.util.OcrMetrics.scala Maven / Gradle / Ivy

package com.johnsnowlabs.util
import com.johnsnowlabs.nlp.annotators.spell.common.LevenshteinDistance

trait OcrMetrics extends LevenshteinDistance {

  /*
   * score OCR recognition at a character level, according to,
   * https://csce.ucmss.com/cr/books/2018/LFS/CSREA2018/IPC3481.pdf */
  def score(correct:String, detected:String):Double = {
    val cError = levenshteinDistance(correct, detected).toDouble
    val cCorrect = correct.size.toDouble - cError
    val precision = cCorrect / detected.length
    val recall = cCorrect / correct.length
    // fscore
    (2 * precision * recall)/(precision + recall)
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy