메인 콘텐츠로 건너뛰기
검색 요소(Search Element) 는 하나 또는 여러 개의 문서 이미지 객체에 대한 설명으로, 특정 영역에서 객체에 대한 검색 조건을 설정할 수 있게 해 줍니다. 요소에는 검색 대상 이미지 객체 유형, 객체 속성 및 검색 영역에 대한 정보가 포함됩니다. 요소 속성을 사용해 얻은 검색 결과는 이미지에서 감지된 객체에 대한 영역을 만드는 데 액티비티에서 사용됩니다. 이 영역은 감지된 객체를 포함하는 하나 이상의 사각형으로 구성됩니다. 이후 field 및 다른 요소의 위치는 감지된 요소의 위치를 기준으로 결정됩니다. 요소를 생성하려면 Create Element 를 클릭하고 나타나는 목록에서 적절한 요소 유형을 선택합니다. 요소를 생성한 후에는 Properties 창에서 해당 속성을 설정해야 합니다(Element Properties에서 자세한 내용을 확인하세요). 지정된 속성은 코드 형식으로도 확인하고 편집할 수 있습니다(자세한 내용은 FlexiLayout Language를 참조하세요). 요소는 문서 구조에 따라 트리 내에서 이동할 수 있습니다. 트리에서 요소의 위치가 검색 순서를 결정한다는 점에 유의하세요. 요소 검색은 내림차순으로 수행됩니다. 검색 요소를 만들 때는 찾으려는 객체에 따라 그 유형을 선택합니다. 아래에는 Extraction Rules 액티비티에서 사용 가능한 검색 요소 유형에 대한 간단한 설명이 제공됩니다. 검색 요소를 만든 후, 여기에 설명된 해당 속성을 구성합니다.

Static Text

이 요소는 미리 정의된 텍스트를 나타냅니다. 대부분의 문서 이미지에는 일부 정적 텍스트가 포함되어 있습니다. 이는 문서의 이름(예: “Invoice”)이거나 데이터 field에 대한 추가 레이블(예: “Date”, “to:”, “from:“)일 수 있습니다. 이러한 텍스트는 사전 인식 단계에서 Recognized Words 객체로 인식되며, 일반적으로 해당 field의 값을 찾기 위한 기준점(앵커) 역할을 합니다(예를 들어, 날짜는 보통 “Date” 레이블 옆에 작성됩니다). 이 텍스트는 단어 또는 구(phrase)로 구성될 수 있습니다. 구는 적어도 하나의 공백을 포함한다는 점에서 단어와 다릅니다. 구는 여러 줄에 걸쳐 작성될 수도 있습니다. 이 요소를 검색할 때는 이미지 사전 인식 동안 감지되고 요소의 검색 영역에 위치한 Recognized Words 및 Recognized Lines 객체가 고려됩니다.

문자열

이 요소는 한 줄(왼쪽에서 오른쪽)에 나열된 문자들의 연속을 나타냅니다. 문자열은 인식된 텍스트 객체(Recognized Words)에서 구성되며, 예를 들어 전체 단어이거나 여러 텍스트 객체 조각으로부터 만들어질 수 있습니다. 따라서 이 요소는 미리 정의되지 않은 텍스트를 검색하도록 설계되었습니다. 이미지 사전 인식 과정에서 감지되고 요소 검색 영역 내부에 위치한 Recognized Words 객체들이 검색 대상이 됩니다. 일반적으로 이 Activity는 이미 감지된 정적 텍스트 주변 영역에서 문자열을 검색합니다. 예를 들어 송장 번호를 찾을 때는 먼저 정적 텍스트 “Invoice No.”를 찾은 다음, 같은 줄에서 해당 정적 텍스트 오른쪽에 있는 문자열(이 경우 숫자만)을 검색합니다.
이 Activity는 왼쪽에서 오른쪽으로만 읽는 제약으로 인해 아랍어와 히브리어에 대해서는 Character String 요소를 검색하지 않습니다.

문단

이 요소는 텍스트 문단을 설명합니다. 이 요소를 사용해 검색을 수행하면 검색 영역과 교차하는 모든 텍스트 객체가 검색에 포함됩니다. 이 요소는 미리 정의되지 않은 텍스트 문단을 찾도록 설계되었습니다. 사전 인식(pre-recognition) 중에 감지되고 요소 검색 영역에 위치한 Recognized Words 및 Recognized Lines 객체가 검색에 포함됩니다.

Key value

이 요소는 레이블이 있는 field를 찾기 위해 설계된 그룹 요소입니다. 이 요소를 만들려면 레이블의 속성, 기본 검색 field, 그리고 이들 사이의 간격을 지정해야 합니다. 또한 기본 요소에 대해 유형과 해당 속성을 지정할 수도 있습니다. 정적 텍스트와 공백 영역은 기본 field를 위한 보조 검색 수단 역할을 합니다. 정적 텍스트를 검색할 때에는, 이미지 사전 인식 과정에서 감지되어 요소 검색 영역 내부에 위치한 Recognized Words 및 Recognized Lines 객체가 고려됩니다. 정적 텍스트 요소가 감지되면, 액티비티는 해당 요소 값을 포함하는 field를 검색합니다.

Date

이 요소는 날짜를 설명합니다. 날짜는 여러 가지 형식으로 작성될 수 있으며, 일과 연도 값은 항상 숫자로 표기되고, 월 값은 경우에 따라 문자로도 표기될 수 있습니다. 날짜 형식은 사용자가 정의합니다.

금액

이 요소는 정수 또는 소수점 이하 두 자리까지의 숫자 값을 나타냅니다. 기본적으로 소수 부분에 대해 자리표시자 기호를 사용할 수 있습니다. 예를 들어, 12.는 12.00으로 인식됩니다. 정수 부분은 구분 기호를 사용해 여러 그룹으로 나눌 수 있으며, 기본적으로 공백과 다음 기호들이 구분 기호로 허용됩니다: . , ’. 검색 대상 숫자에는 접두사와 접미사가 있을 수 있으며, 예를 들어 숫자 값의 앞이나 뒤에 오는 텍스트 요소가 이에 해당합니다. 접두사는 숫자 값과 같은 줄에 있어야 합니다. 이 형식은 보통 금액을 표시하는 데 사용되며, 통화명이 접두사 역할을 합니다.

전화

이 요소는 일반적으로 키워드(예: “Tel.”, “Home Tel.” 등)와, 괄호를 사용해 나머지 번호와 구분된 도시/지역 번호로 구성된 전화번호를 설명합니다. 전화번호와 해당 키워드는 반드시 같은 줄에 있어야 합니다.

Region

이 요소는 내용에 대한 구체적인 지정 없이, 문서 이미지 상의 하나의 영역을 나타냅니다. Region 요소는 서로 떨어져 있는 여러 개의 영역으로 구성될 수 있습니다. 이 요소는 포함된 객체의 종류와 상관없이 영역 자체를 표시하기 위해 액티비티에서 사용됩니다. 동일한 field가 서로 다른 문서에서 서로 다른 요소를 사용해 검출되는 경우(예: 표준 형식과 비표준 형식으로 모두 지정될 수 있는 날짜를 찾기 위해 Date와 Character String을 사용하는 경우)에 이 요소를 사용해야 합니다. 이때 Date와 Character String은 보조 요소이며, Region은 추출 결과를 기록하는 데 사용됩니다.

구분선

이 요소는 수직 또는 수평 구분선을 설명합니다. 이 요소는 구분선을 검색하도록 설계되었습니다. 이미지 사전 인식 과정에서 감지된 구분선 객체 중, 해당 요소의 검색 영역 안에 있는 것들이 고려 대상입니다. 이러한 객체는 검색 영역 안에 완전히 포함될 수도 있고, 단지 그 영역과 교차하기만 할 수도 있습니다.

White Gap

이 요소는 이미지에서 다른 객체가 거의 포함되지 않는 사각형 영역을 나타냅니다. 다른 요소를 검색할 때 보조 요소로 사용할 수 있습니다. 예를 들어, 처리 중인 문서들에서 주소와 문서 헤더 사이에 항상 White Gap이 있는 경우, 주소를 포함하는 요소를 찾기 위해 White Gap 요소를 사용할 수 있습니다.

바코드

이 요소는 바코드를 정의합니다. 이 요소는 Advanced Designer에서 지원하는 바코드 유형을 감지하도록 설계되었습니다. 이미지 사전 인식 단계에서 감지되고 요소 검색 영역 내에 위치한 바코드 객체만이 대상으로 처리됩니다.

객체 컬렉션

이 요소는 서로 다른 유형의 객체들 가운데 검색 조건을 모두 만족하는 객체들로 구성된 컬렉션을 설명합니다. 객체 컬렉션 요소는 일반적으로 다른 어떤 요소 유형으로도 검색할 수 없는 객체를 찾는 데 사용됩니다. 예를 들어, 이 요소를 사용하면 텍스트 줄이나 다른 텍스트 객체에 속하지 않는 독립된 구두점 문자를 찾을 수 있으며, 많은 무관한 객체 때문에 인식되지 못한 텍스트를 찾는 데에도 사용할 수 있습니다. 또한 이 요소는 이미지나 마킹과 같이 텍스트가 아닌 객체를 찾는 데에도 사용할 수 있습니다.

Group

여러 다른 요소(하위 요소라고 함)의 집합입니다. 하위 요소는 단순 요소일 수도 있고, Group 요소일 수도 있습니다. 하위 요소를 포함하지 않는 Group 요소는 사용하지 않을 것을 권장합니다. Group 요소는 다음과 같은 용도로 사용할 수 있습니다:
  • 요소를 함께 묶어 그룹화합니다. 이렇게 하면 Extraction Rules activity의 서로 독립적인 부분을 더 쉽게 디버깅할 수 있습니다. 예를 들어, 하나의 activity에 100개의 요소가 있고, 이것이 header, main body, footer의 3개 부분으로 나뉘어 있을 수 있습니다. 이 3개의 Group 요소 각각에는 activity의 논리적 부분을 더 작은 단위로 찾아내도록 설계된 추가 Group 요소들이 포함될 수 있습니다. 이러한 구조를 사용하면 activity가 고려해야 할 경우의 수를 줄일 수 있을 뿐 아니라, 전체가 독립적인 부분으로 나뉘어 있기 때문에 향후 디버깅과 편집도 더 쉬워집니다.
  • 트리 내에서 요소들의 논리적인 계층 구조를 보장하여 activity를 더 쉽게 탐색할 수 있도록 합니다.
  • 가능한 요소 가설의 수를 줄여, activity 전체에 대한 최종 가설을 더 빠르게 찾을 수 있도록 합니다. 요소들을 그룹화하면 해당 요소 그룹을 자체 가설을 가진 하나의 단일 엔터티로 간주할 수 있으며, 이를 통해 그룹 전체에 대한 품질을 측정할 수 있습니다.
  • 복합 요소는 모든 하위 요소에 공통으로 적용되는 검색 영역 제한을 지정할 수 있습니다. Group 요소의 특정 하위 요소에 대한 검색 영역은 그 하위 요소와 Group 요소의 검색 영역의 교집합으로 계산됩니다.
요소(Group 및 단순 요소 모두)는 필수, 선택, 또는 금지로 설정할 수 있습니다. 선택적 복합 요소가 필수 하위 요소를 포함하는 경우, 해당 하위 요소가 매칭되지 않으면 Group 요소에 대해 null 가설이 형성됩니다. 이는 Extraction Rules activity의 매칭을 중단시키지 않습니다.

반복 그룹

이 요소는 (인스턴스 개수가 미리 알려져 있지 않은) 반복되는 요소 그룹을 찾도록 설계되었습니다. 대표적인 예로는 데이터 테이블이 있습니다. 반복 요소는 반복 Parameter 설정 방식 측면에서 일반 복합 요소와 다릅니다. 이 그룹은 단일 페이지에서 여러 번 나타날 수도 있고, 전체 문서에 걸쳐 나타날 수도 있습니다. 이 그룹은 하나의 문서 내에서 반복되므로, 이 요소를 사용하면 모든 인스턴스(해당 반복 Parameter 포함)를 하나의 요소로 정의할 수 있습니다. 따라서 반복 그룹을 사용하면 문서 구조를 훨씬 더 빠르게 정의할 수 있습니다. 이 요소는 다음과 같은 용도로 사용할 수 있습니다.
  • 테이블 검색
  • 여러 페이지로 구성된 문서에서 각 페이지의 헤더 검색
  • 반복되는 데이터 항목의 개수를 알 수 없을 때 해당 항목 검색

Input Field

이 요소는 다른 activity에서 추출된 field 영역을 감지하도록 설계되었습니다. 이 요소는 다른 요소를 찾는 데 사용할 수 있습니다. 예를 들어, 어떤 Skill에 학습 후에도 이미지에 항상 남아 있는 field가 포함되어 있다면, 이 field는 Extraction Rules activity를 사용해 요소를 검색할 때 anchor field로 사용할 수 있습니다. 이를 위해 Input Field 요소를 생성하고 Skill 구조에서 해당 field를 선택합니다. 그러면 Search Conditions 탭에서 요소와 선택한 field를 연결하는 코드를 포함하는 Region 요소가 생성됩니다.

딥 러닝

이 요소는 Hypothesis Filtering 컨테이너 내에서 Deep Learning 액티비티가 찾아낸 값을 Extraction Rules 액티비티에 출력으로 전달할 수 있도록 액세스 권한을 제공합니다. 이 요소는 Hypothesis Filtering 컨테이너 내부에서만 사용할 수 있습니다. 이 검색 요소에 대한 조건을 지정하여 Deep Learning 액티비티의 출력을 제어할 수 있습니다. 예를 들어 Deep Learning 액티비티가 반복되는 값을 찾도록 구성된 경우, 추출해야 하는 인스턴스가 위치할 우선 영역을 지정할 수 있습니다.