Sobes.tech
Middle

Quais métricas são usadas para OCR?

sobes.tech IA

Resposta da IA

Para avaliar a qualidade do OCR (Reconhecimento Óptico de Caracteres), normalmente utilizam-se as seguintes métricas:

  • Taxa de Erro de Caracteres (CER) — percentagem de erros ao nível de caracteres. Calcula-se como a relação entre o número de inserções, eliminações e substituições de caracteres e o número total de caracteres no texto de referência.

  • Taxa de Erro de Palavras (WER) — semelhante ao CER, mas ao nível de palavras. É importante para avaliar o quão corretamente as palavras inteiras são reconhecidas.

  • Precisão (Exactidão) — proporção de caracteres ou palavras corretamente reconhecidos.

  • Precisão, Recall e F1-score — aplicáveis se o OCR for usado para extrair entidades ou classes específicas de caracteres.

Exemplo de cálculo do CER:

import editdistance

def cer(reference, hypothesis):
    ref = list(reference)
    hyp = list(hypothesis)
    distance = editdistance.eval(ref, hyp)
    return distance / len(ref)

reference = "exemplo"
hypothesis = "exmplo"
print(f"CER: {cer(reference, hypothesis):.2%}")

Estas métricas ajudam a comparar objetivamente diferentes sistemas OCR e a melhorar a sua qualidade.