아래의 포스팅에 이어 이번에는 field-level confidence를 구하는 방법과 confidence가 100%가 아닌 경우 검증하도록 설정하는 방법에 대해 얘기해보려고 합니다.
위의 포스팅에서는 document에서 인식한 전체 문자 중 빨강색 문자의 비율을 기준으로 그 비율이 일정 수준 이상이면 문서를 검증하도록 했습니다. 그런데, 우리가 document에서 추출하는 field 중에는 다른 field에 비하여 특별히 더 중요한 필드가 있을 수 있습니다.
아래의 예에서는 4개의 field를 추출하는데, "OrderNo"는 매우 중요하기 때문에 이 field에 빨강색 문자가 하나라도 있으면 검증을 하려고 합니다.
먼저, 아래의 그림처럼 "OrderNo_Confidence"라는 새로운 field를 하나 추가합니다. “OrderNo” field에 존재하는 검정색/빨강색 문자의 개수를 카운트하여 confidence를 100분율로 환산한 값을 담을 field입니다.
"OK"를 클릭하여 생성을 마친 후 우클릭으로 “Properties…” 윈도우를 열고, 아래의 그림과 같이, “Rules” 탭에 가서 오른쪽 아래에 있는 “New Rule…” 버튼을 클릭하고 "Script"를 선택합니다.
아래의 그림과 같이 rule 이름을 부여하고 “Next” 버튼을 클릭합니다.
이 rule에서 사용할 수 있는 "available fields"의 초기 설정은 아래와 같습니다.
“OrderNo” field를 추가하여 아래와 같이 설정합니다. “OrderNo_Confidence” field에는 script로 값을 설정해야 하기 때문에 Read Only 체크를 지워주어야 합니다.
이제 오른쪽 아래에 있는 “Edit” 단추를 클릭하여 아래의 script를 추가합니다. Script Language는 VBScript입니다.
아래의 그림처럼 “OrderNo” field에 존재하는 빨강색 문자의 개수에 따라 “OrderNo_Confidence” 값이 달라지는 것을 볼 수 있습니다.
이제 이 값이 100이 아니면 문서를 검증하도록 설정해 보겠습니다.
아래의 그림과 같이 document에 “Check Sum” rule을 하나 추가합니다. 메뉴의 위치는 “Document Definition → Document Definition Properties… → Rules → New Rule…” 입니다.
아래의 그림과 같이 rule 이름을 부여하고 “Next” 버튼을 클릭합니다.
아래의 그림과 같이 OrderNo_Confidence의 값을 100과 비교하도록 설정한 후 “Finish” 버튼을 클릭하여 rule을 저장합니다.
이제 Abbyy FlexiCapture가 document를 처리할 때 “OrderNo” field에 빨강색 문자가 존재하면 문서를 검증 단계로 보내게 됩니다.