개발자는 인식 솔루션에서 여러 엔진을 조합할 수 있습니다. 여러 엔진이 하나의 문자나 단어에 대해 서로 다른 인식 후보를 생성하는 경우, 개발자는 후보들 간 투표를 통해 가장 적합한 결과를 선택할 수 있습니다. 투표 기능을 지원하기 위해 ABBYY FineReader Engine은 특수한 Voting API를 제공하며, 이를 통해 문자 또는 단어 인식의 여러 가설과 각 가설에 대응하는 가중치 값에 액세스할 수 있습니다. 투표 기능 외에도 개발자는 Voting API를 사용하여 자체 데이터베이스와 알고리즘으로 인식 결과를 검증하고 텍스트를 수정할 수 있습니다. 예를 들어, 문자를 조합해 단어를 만들거나 생성된 모든 가설을 검사할 수 있습니다.
Voting API는 손글씨/정자체 텍스트 인식에는 사용할 수 없습니다.
WordRecognitionVariants 객체는 단어에 대한 가설 모음을 나타내고, CharacterRecognitionVariants 객체는 문자에 대한 가설 모음을 나타냅니다. 이러한 모음의 요소는 각각 WordRecognitionVariant 객체와 CharacterRecognitionVariant 객체입니다.WordRecognitionVariant 객체는 단어에 대한 단일 가설을 나타내며, 가설의 텍스트, 모델 유형, 획의 평균 너비, 그리고 해당 가설이 사전에서 발견되었는지 여부에 대한 정보를 포함합니다. 이 객체의 GetCharParams method는 개별 문자의 매개변수에 액세스할 수 있게 해줍니다.CharacterRecognitionVariant 객체는 문자에 대한 단일 가설을 나타내며, 문자 신뢰도, 문자가 세리프 글꼴로 작성되었을 확률, 그리고 해당 문자가 위 첨자인지 아래 첨자인지에 대한 정보를 포함합니다.
이러한 메서드는 출력할 수 없는 문자(공백, 캐리지 리턴 등)와 인식되지는 않았지만 편집 중 텍스트에 추가된 문자에 대해서는 0을 반환합니다. 텍스트가 이전 ABBYY FineReader Engine 버전 중 하나로 인식된 경우에도 0이 반환됩니다. 가설 컬렉션에는 가장 가능성이 높은 것부터 가장 낮은 것까지 순위가 매겨진 인식 후보가 포함됩니다. RecognizerParams 객체의 SaveWordRecognitionVariants 또는 SaveCharacterRecognitionVariants 속성이 FALSE로 설정된 경우 해당 컬렉션에는 요소가 하나만 포함됩니다.
CharConfidence, ErrorProbability, IsSuspicious의 차이점은 무엇인가요
문자가 신뢰할 수 없게 인식되어 검증이 필요한지 확인하려면, 해당 문자에 대해 PlainText 또는 CharParams 객체의 IsSuspicious 속성을 사용합니다. 이 값은 ErrorProbability를 기준으로 계산됩니다.더 세분화된 구분이 필요하면 PlainText 또는 CharParams 객체의 ErrorProbability 속성을 사용할 수 있습니다. 이 속성은 문자가 잘못 인식되었을 것으로 추정되는 확률(0~100 범위)을 반환합니다. 이 값은 해당 문자가 포함된 단어가 사전에 있는지 여부와 같이, 문자가 나타나는 문맥을 고려합니다.인식된 문자에 대한 문자 신뢰도(PlainText 객체의 CharConfidence 속성)와 모든 인식 후보에 대한 문자 신뢰도(CharacterRecognitionVariant 객체의 CharConfidence 속성)도 확인할 수 있습니다. 신뢰도는 문맥을 고려하지 않고, 개별 문자 이미지 하나만을 기준으로 한 정확도 추정치를 제공합니다. 서로 다른 문자에 대한 신뢰도 추정치는 서로 비교할 수 없으며, 신뢰도를 안전하게 사용할 수 있는 유일한 경우는 동일한 이미지(문자)에 대한 여러 인식 후보를 비교할 때입니다.이러한 속성은 인식 과정 없이 얻은 기호에는 의미가 없습니다. 예를 들어 원본 PDF 파일에서 직접 가져온 기호가 여기에 해당합니다.