메인 콘텐츠로 건너뛰기
Hypothesis Filtering container는 여러 Deep Learning activity와 하나의 Extraction Rules activity를 결합합니다. Deep Learning activity의 출력값은 Extraction Rules activity로 전달되며, 이 activity에서 원하는 값을 선택하기 위한 조건을 설정합니다. Deep Learning activity가 field 추출에서 매우 높은 품질을 달성하더라도, 경우에 따라 그 출력값을 추가로 제어해야 할 수 있습니다. 이를 위해 하나 이상의 Deep Learning activity를 Extraction Rules activity와 결합하여, 하나 또는 여러 Deep Learning activity에서 얻은 값에 조건을 적용할 수 있습니다. 출력 제어는 신경망이 전체 단어를 찾아냈지만 특정 부분만 필요하거나, 우연히 캡처된 잡음을 걸러내야 할 때 필수적입니다. 또한 주소와 같이 더 큰 field의 일부를 식별하는 데에도 유용한데, 이러한 부분은 신경망에 의해 간과될 수 있습니다. 아울러 동일한 값의 여러 인스턴스가 존재할 때 최적의 가설을 선택할 수 있게 해 줍니다. 예를 들어, 공급업체 이름이 문서에 여러 번 인쇄된 경우, 여러 인스턴스 중에서 가장 정확한 추출 결과를 선택할 수 있습니다.
이 기술은 미리 보기(preview)로 제공되며 향후 버전에서 개선될 예정입니다.

Hypothesis Filtering 컨테이너 설정

  1. Deep Learning activity가 있는 블록을 클릭하고 Filter Hypotheses를 선택합니다. 그러면 새로운 Hypothesis Filtering 컨테이너가 생성되고, 선택한 Deep Learning activity가 그 안에 포함됩니다.
  2. (선택 사항) 추가 Deep Learning activity를 Hypothesis Filtering 컨테이너로 끌어다 놓습니다. 이렇게 하면 두 개 이상의 Deep Learning activity 출력을 결합하고 비교할 수 있습니다. 예를 들어 text field와 table을 동시에 처리해야 하는 경우 두 개의 activity가 필요할 수 있습니다.
  3. 컨테이너에 Extraction Rules activity를 추가합니다. placeholder를 클릭하여 새 activity를 만들거나, 기존 activity를 컨테이너로 끌어다 놓을 수 있습니다.
  4. Extraction Rules activity를 설정합니다. Deep Learning activity로 찾아낸 각 값에 대해 Deep Learning search element를 추가하고 해당 속성을 설정합니다. 하나의 Deep Learning activity에서 생성된 모든 output field를 한 번에 추가할 수 있습니다. Deep Learning search element는 검색 영역을 제한하는 속성과 요소를 찾기 위한 조건을 모두 지원합니다.
  5. Hypothesis Filtering 컨테이너의 입력과 출력을 문서 처리 워크플로의 다른 블록에 연결합니다. Hypothesis Filtering 컨테이너의 output field는 Extraction Rules activity의 output field와 동일합니다.
Deep Learning activity의 출력을 더 이상 제어하지 않으려면 컨테이너 안의 아무 곳이나 클릭한 뒤 Don’t Filter Hypotheses를 선택합니다. 그러면 컨테이너는 분해되지만 activity 자체는 삭제되지 않으며, 수정된 문서 처리 워크플로에서 계속 사용할 수 있습니다.

예시

아래는 Hypothesis Filtering 컨테이너를 어떻게 사용할 수 있는지를 보여 주는 몇 가지 예시에 불과합니다. 이 기능을 활용해 신경망의 출력을 제어하고 field 추출을 세밀하게 조정할 수 있는 다른 상황도 매우 많습니다. 어떤 조정이 여러분이 작업하는 문서에 필요한지는 여러분만이 결정할 수 있으며, Deep Learning activity 결과에 약간의 튜닝이 도움이 될 만한 모든 경우에 이 기술을 시도해 보시기를 권장합니다. 아래 예시에서는 동일한 샘플 Skill을 사용하며, 두 개의 Deep Learning activity 출력이 Extraction Rules activity로 전달됩니다.

Skill 워크플로우

AD_HypothesisFiltering_Container
  • Deep Learning 액티비티가 텍스트 field를 추출합니다.
  • Deep Learning 2 액티비티가 테이블을 추출합니다.
  • Hypothesis Filtering 컨테이너가 각 결과를 선택하고 결합합니다.

Extraction Rules Activity에서 Search element의 구조

AD_HypothesisFiltering_SearchElementTree 각 Search element는 해당하는 field에 매핑됩니다.

예제 1: 딥 러닝 활동에서 찾은 값 수정하기

이 예제에서는 딥 러닝 활동이 문서 번호에 대해 너무 긴 값을 찾았을 때, 해당 값을 수정하기 위해 새로운 검색 요소를 생성하는 방법을 보여줍니다. 딥 러닝 활동에서 찾은 문서 번호 값에는 하이픈 뒤의 부분까지 포함되어 있습니다. AD_HypothesisFiltering_ValueTooLong
  1. Document_Number 값을 수정하기 위해 새 검색 요소를 생성합니다. DocNumber_Corrected라는 이름의 이 검색 요소는 Document_Number 검색 요소의 영역 내에 위치해야 하며, 제한된 개수의 문자만 포함해야 합니다.
AD_HypothesisFiltering_CorrectedProperties
  1. 새 요소의 검색 영역을 제한하여 Document_Number 영역과 일치하도록, 요소의 코드에 다음 줄을 추가합니다.
RestrictSearchArea: Document_Number.Region;
  1. 수정된 검색 요소를 문서 번호를 추출하는 field에 매핑합니다:
AD_HypothesisFiltering_CorrectedMapping 그 결과, 추출된 문서 번호에는 대시 뒤의 부분이 포함되지 않습니다: AD_HypothesisFiltering_ValueCorrected

예제 2: 여러 반복 값 중 하나 선택

이 예제에서는 Deep Learning 활동이 문서 번호의 모든 인스턴스를 찾도록 학습되지만, Skill의 최종 결과에는 문서 번호 field가 하나만 필요합니다. 이를 위해 Document Number field에 대해 Allow Multiple Items 설정을 비활성화하고, 문서 번호의 올바른 인스턴스를 선택하기 위한 조건을 지정합니다. 먼저 레이블이 지정된 문서 집합을 저장하여 폴더에 보관해 둘 것을 권장합니다. 어떤 field에 대해 Allow Multiple Items 설정을 비활성화하면, 레이블링에서 해당 field의 추가 인스턴스는 모두 삭제됩니다. Deep Learning 활동에서 학습된 모델은 계속 작동하지만, 이를 수정하고 재학습하려면 원본 문서 집합을 다시 로드해야 합니다.
  1. Document Number field에 대해 Allow Multiple Items 설정을 비활성화합니다(이 설정은 Manage Fields를 클릭하여 열 수 있습니다).
AD_HypothesisFiltering_NoMultiples
  1. 여러 인스턴스를 가진 Document_Number 검색 요소는 Document Number field에 매핑할 수 없습니다. 따라서 Deep Learning 활동의 문서 번호 출력에서 새로운 Deep Learning 검색 요소를 생성하고 이를 Document Number field에 매핑합니다.
AD_HypothesisFiltering_MapNoMultiples
  1. Deep Learning 활동에서 찾은 여러 문서 번호 인스턴스를 사용하여 가설 트리(hypotheses tree)를 구성하고, 이 중 하나만 Document_Number 검색 요소의 값으로 선택됩니다.
AD_HypothesisFiltering_HypTree
  1. 특정 인스턴스를 찾기 위해 Document_Number 검색 요소에 조건을 추가합니다(이 예제에서는 문서 번호의 가장 위쪽 인스턴스를 찾습니다).
AD_HypothesisFiltering_TopmostInstance

예제 3: 두 개의 Deep Learning Activity 출력 결합하기

Hypothesis Filtering 컨테이너를 사용하면 두 개 이상의 Deep Learning Activity 결과를 서로 비교하거나, 동일 Activity 내에서 이러한 결과를 미세 조정할 수 있습니다. 이 예제에서는 하나의 Deep Learning Activity로는 텍스트 field와 테이블을 모두 추출하도록 학습시킬 수 없기 때문에 두 개의 Deep Learning Activity가 필요합니다. Company_Address 검색 요소는 항상 Goods_Table 검색 요소보다 위에서 찾도록 하는 조건이 추가됩니다. 그 결과, 페이지 하단에 다른 주소들이 인쇄되어 있더라도 올바른 주소를 찾을 수 있습니다. AD_HypothesisFiltering_AboveTable