선행 학습된 프로세서 업트레이닝
인보이스 파서를 사용하면 선행 학습된 프로세서를 업트레이닝하여 정확성을 향상시킬 수 있습니다. 사전 제작된 모델로 시작한 다음 이 모델을 자체 데이터로 학습시켜 커스텀 필드를 추가합니다. 인보이스 형식은 다양하며 일반 인보이스 파서를 데이터로 업트레이닝하면 특정 형식의 정확성이 향상되고 파서가 선행 학습된 모델에서 지원하지 않는 필드를 추출할 수 있습니다. 샘플 데이터가 제공되지만 동일한 절차에 따라 자체 데이터를 사용할 수 있습니다.
Google Cloud 콘솔에서 이 태스크에 대한 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Document AI, Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Document AI, Cloud Storage APIs.
프로세서 만들기
Google Cloud 콘솔 탐색 메뉴에서 Document AI를 선택하고 프로세서 갤러리를 선택합니다.
프로세서 갤러리에서 인보이스 파서를
검색 하고 만들기를 선택합니다.프로세서 이름(예:
invoice-parser-for-uptraining
)을 입력합니다.가장 가까운 리전을 선택합니다.
만들기를 선택합니다. 프로세서 세부정보 탭이 표시됩니다.
데이터 세트를 위한 Cloud Storage 버킷 만들기
새 프로세서를 학습시키려면 학습 및 테스트 데이터로 데이터 세트를 만들어야 프로세서가 추출할 항목을 식별할 수 있습니다.
이 데이터 세트에는 새 Cloud Storage 버킷이 필요합니다. 문서가 저장된 버킷과 동일한 버킷을 사용하지 마세요.
프로세서의
학습 탭으로 이동합니다.데이터 세트 위치 설정 을 선택합니다. 빈 Cloud Storage 버킷 또는 폴더를 선택하거나 만들라는 메시지가 표시됩니다.찾아보기 를 선택하여 폴더 선택을 엽니다.새 버킷 만들기 를 선택하고 안내에 따라 새 버킷을 만듭니다. Cloud Storage 버킷 만들기에 대한 자세한 내용은 Cloud Storage 버킷을 참조하세요.참고: 버킷은 폴더를 중첩할 수 있는 최상위 스토리지 항목입니다. 버킷을 만들고 선택하는 대신 원하는 경우 기존 버킷 내에 빈 폴더를 만들고 선택할 수도 있습니다. 시뮬레이션된 폴더를 참고하세요.
버킷을 만들면 해당 버킷의 폴더 선택 페이지가 표시됩니다.
버킷의 폴더 선택 페이지에서 대화상자 하단의
선택 을 선택합니다.대상 경로에 선택한 버킷 이름이 입력되어 있는지 확인합니다.
데이터 세트 만들기 를 선택합니다. 데이터 세트를 만드는 데 몇 분 정도 걸릴 수 있습니다.
업트레이닝으로 바로 진행: 사전에 라벨이 지정된 데이터 가져오기로 건너뜁니다. 샘플 문서를 가져오는 대신 도구를 사용하여 필드에 라벨을 수동으로 지정하고 문서를 학습 데이터에 추가합니다.
수동으로 라벨을 지정하고 문서를 학습 세트에 추가: 업트레이닝을 진행하기 전에 계속해서 수동 라벨 지정을 위한 샘플 문서를 가져와 안내에 따라 진행합니다.
수동 라벨 지정을 위한 샘플 문서 가져오기
다음으로 샘플 인보이스 PDF 파일을 데이터 세트로 가져옵니다. 후속 업트레이닝 프로세스를 지원하도록 이 문서의 필드에 라벨을 지정합니다.
이 가이드에는 샘플 문서가 될 수 있는 대표 파일이 제공됩니다.
학습 탭에서
문서 가져오기 를 선택합니다.이 예시에서는
소스 경로 에 이 버킷 이름을 입력합니다. 문서 하나에 직접 연결됩니다.cloud-samples-data/documentai/codelabs/uptraining/pdfs
데이터 분할로 할당되지 않음을 선택합니다. 이 폴더의 문서는 테스트 또는 학습 세트에 할당되지 않습니다. 자동 라벨링을 사용하여 가져오기를 선택하지 않은 상태로 둡니다.
가져오기를 선택합니다. Document AI는 문서를 버킷에서 데이터 세트로 읽습니다. 가져오기가 완료된 후에는 가져오기 버킷을 수정하거나 버킷에서 데이터를 읽지 않습니다.
문서를 가져올 때 가져오기 시에 학습 또는 테스트 세트에 문서를 할당하거나 나중에 할당할 수 있습니다.
가져온 문서를 삭제하려면 학습 탭에서 해당 문서를 선택하고 삭제를 선택합니다.
가져올 데이터를 준비하는 방법을 자세히 알아보려면 데이터 준비 가이드를 참고하세요.
프로세서 스키마 정의
데이터 세트는 인보이스 파서에서 지원하는 라벨 중 일부를 포함하지 않을 수 있습니다.
이 경우 학습을 시작하기 전에 사용되지 않는 라벨을 Inactive
로 표시해야 합니다. 업트레이닝을 시작하기 전에 하나 이상의 커스텀 라벨을 추가할 수도 있습니다.
학습 탭에서 왼쪽 하단에 있는
스키마 수정 을 선택합니다. 라벨 관리 페이지가 열립니다.사용하지 않는 라벨을 사용 중지하려면 다음 목록에 없는 필드의
체크박스 를 선택한 후 사용 중지를 선택합니다. 다음 필드는 사용 설정된 상태로 유지해야 합니다.invoice_date line_item amount description receiver_address receiver_name supplier_address supplier_name total_amount
참고: 라벨은 삭제할 수 없습니다. 대신 사용하고 싶지 않은 라벨은 사용 중지할 수 있습니다.
라벨이 완료되면
저장 을 선택합니다.뒤로 화살표 를 선택하여 학습 페이지로 돌아갑니다.
문서 라벨 지정
문서에서 텍스트를 선택하고 라벨을 적용하는 프로세스를 주석이라고 합니다.
학습 탭으로 돌아가서
문서 를 선택하여 라벨 관리 콘솔을 엽니다.그 다음 왼쪽 패널의 스키마 라벨에서 주석을 추가할 값에 해당하는 스키마 라벨을 선택하고 라벨을 적용합니다.
기본적으로
경계 상자 도구를 사용하거나 여러 줄 값의 경우텍스트 선택 도구를 사용하여 콘텐츠를 선택하고 라벨을 적용합니다.예를 들어 이 인보이스에서 'Mcwilliam Piping International Piping Company'라는 텍스트에는
supplier_name
라벨이 할당되어야 합니다. 텍스트 필터를 사용하여 라벨 이름을 검색할 수 있습니다.참고: 텍스트 선택 도구가 모든 텍스트 값에 적용되지 않으므로 필요한 경우 경계 상자를 사용하세요. 경계 상자 도구를 사용하여 체크박스와 같은 비텍스트 필드를 선택할 수도 있습니다.
감지된 텍스트 값이 문서의 올바른 텍스트를 반영하는지 검토합니다.
라벨에 해당하는 텍스트를 선택할 때 관련성 있는 텍스트만 포함해야 합니다. 예를 들어
invoice_id
라벨의 경우 숫자 값 앞에 오는 경우가 많은 문자(예:#
)는 포함하지 마세요. 금액에$
와 같은 통화 기호를 포함하지 마세요.- 항목의 모든 인스턴스에 주석을 달아야 합니다. 예를 들어
supplier_name
또는invoice_id
가 문서에 여러 번 나타날 수 있으며 각 인스턴스에 주석을 달아야 합니다.
- 항목의 모든 인스턴스에 주석을 달아야 합니다. 예를 들어
라벨을 지정할 각 필드마다 작업을 반복합니다.
다음은 해당 텍스트가 포함된 전체 라벨 세트의 예입니다.
라벨 이름 | 텍스트 |
---|---|
supplier_name |
McWilliam Piping International Piping Company |
supplier_address |
14368 Pipeline Ave Chino, CA 91710 |
invoice_id |
10001 |
due_date |
2020-01-02 |
line_item/description |
너클 커플러 |
line_item/quantity |
9 |
line_item/unit_price |
74.43 |
line_item/amount |
669.87 |
line_item/description |
PVC관 12인치 |
line_item/quantity |
7 |
line_item/unit_price |
15.90 |
line_item/amount |
111.30 |
line_item/description |
구리관 |
line_item/quantity |
7 |
line_item/unit_price |
91.20 |
line_item/amount |
638.40 |
net_amount |
1,419.57 |
total_tax_amount |
113.57 |
total_amount |
1,533.14 |
currency |
$ |
문서에 주석을 달았으면
라벨이 지정된 것으로 표시 를 선택합니다.학습 탭의 왼쪽 패널에 문서 1개에 라벨이 지정되었다고 표시됩니다.
학습 세트에 주석이 달린 문서 할당
이제 이 예시 문서에 라벨을 지정했으므로 이를 학습 세트에 할당할 수 있습니다.
학습 탭에서
모두 선택 체크박스를 선택합니다.세트에 할당 목록에서 학습을 선택합니다.
왼쪽 패널에 문서 1개가 학습 세트에 할당되었다고 표시됩니다.
미리 라벨이 지정된 데이터를 학습 및 테스트 세트로 가져오기
Document AI 업트레이닝에는 각 세트의 각 라벨 인스턴스 10개와 함께 학습 및 테스트 세트에 문서가 최소 10개 이상 필요합니다.
최상의 성능을 위해서는 각 세트에 문서 50개 이상, 라벨의 인스턴스 50개 이상을 포함하는 것이 좋습니다. 학습 데이터가 많을수록 일반적으로 정확성이 높아집니다.
이 가이드에서는 미리 라벨이 지정된 데이터가 제공됩니다. 자체 프로젝트를 진행하는 경우 데이터에 라벨을 지정하는 방법을 결정해야 합니다. 라벨 지정 옵션을 참고하세요.
문서 가져오기 를 선택합니다.소스 경로 에 다음 경로를 입력합니다. 이 버킷에는 문서 JSON 형식으로 라벨이 미리 지정된 문서가 포함되어 있습니다.cloud-samples-data/documentai/Custom/Invoices/JSON
데이터 분할 목록에서 자동 분할을 선택합니다. 이렇게 하면 문서가 학습 세트에서는 80%, 테스트 세트에서는 20%로 자동 분할됩니다. 자동 라벨링을 사용하여 가져오기를 선택하지 않은 상태로 둡니다.
가져오기를 선택합니다. 가져오는 데 몇 분 정도 걸릴 수 있습니다. 이후 학습 탭에서 문서를 찾습니다.
선택 사항: 새로 가져온 문서를 자동으로 라벨 지정
기존에 배포된 프로세서 버전으로 프로세서의 라벨이 지정되지 않은 문서를 가져올 때 자동 라벨 지정을 사용하면 라벨 지정 시간을 절약할 수 있습니다.
학습 페이지에서
문서 가져오기 를 클릭합니다.다음 Cloud Storage 경로를 복사하여 붙여넣습니다. 이 디렉터리에는 라벨이 지정되지 않은 인보이스 PDF가 5개 있습니다. 데이터 분할 드롭다운 목록에서 학습을 선택합니다.
cloud-samples-data/documentai/Custom/Invoices/PDF_Unlabeled
자동 라벨 지정 섹션에서
자동 라벨 지정을 사용하여 가져오기 체크박스를 선택합니다.기존 프로세서 버전을 선택하여 문서에 라벨을 지정합니다.
- 예:
pretrained-invoice-v1.3-2022-07-15
- 예:
가져오기를 선택하고 문서를 가져올 때까지 기다립니다. 이 페이지를 나갔다가 다시 돌아와도 됩니다.
- 완료되면 학습 페이지의 자동 라벨 지정 섹션에 문서가 표시됩니다.
자동 라벨 지정 문서를 라벨 지정됨으로 표시하지 않고 학습 또는 테스트용으로 사용할 수는 없습니다. 자동 라벨 지정 문서를 보려면
자동 라벨 지정 섹션으로 이동하세요.첫 번째 문서를 선택하여 라벨 지정 콘솔로 이동합니다.
라벨이 올바른지 확인합니다. 잘못된 경우 조정합니다.
완료되면
라벨이 지정된 것으로 표시 를 선택합니다.자동으로 라벨이 지정된 각 문서에 대해 라벨 확인을 반복한 다음 학습 페이지로 돌아가 학습에 데이터를 사용합니다.
프로세서 학습
이제 학습 데이터와 테스트 데이터를 가져왔으므로 프로세서를 학습시킬 수 있습니다. 학습에 몇 시간이 걸릴 수 있으므로 학습을 시작하기 전에 적절한 데이터와 라벨을 프로세서에 설정했는지 확인하세요.
새 버전 업트레이닝 을 선택합니다.버전 이름 필드에 이 프로세서 버전의 이름(예:invoice-uptrain-1
)을 입력합니다.(선택사항) 문서 라벨에 대한 정보를 보려면 라벨 통계 보기를 선택합니다. 이렇게 하면 적용 범위를 결정하는 데 도움이 됩니다. 닫기를 선택하여 학습 설정으로 돌아갑니다.
학습 시작 을 선택합니다. 오른쪽 패널에서 상태를 확인할 수 있습니다.데이터 세트 관리 페이지가 열립니다. 오른쪽에서 학습 상태를 볼 수 있습니다. 데이터 세트의 크기에 따라 학습에 몇 시간이 걸릴 수 있습니다. 이 페이지를 나갔다가 다시 돌아와도 됩니다.
프로세서 버전 배포
학습이 완료되면
버전 관리 탭으로 이동합니다. 방금 학습한 버전에 대한 세부정보를 볼 수 있습니다.배포할 버전 오른쪽에 있는
3개의 수직 점 을 선택하고 버전 배포를 선택합니다.팝업 창에서
배포 를 선택합니다.배포를 완료하는 데 몇 분 정도 걸립니다.
프로세서 평가 및 테스트
배포가 완료되면
평가 및 테스트 탭으로 이동합니다.이 페이지에서 F1 점수, 전체 문서의 정밀도 및 재현율, 개별 라벨을 포함한 평가 측정항목을 확인할 수 있습니다. 평가 및 통계에 관한 자세한 내용은 프로세서 평가를 참고하세요.
이전 학습 또는 테스트에 포함되지 않은 문서를 다운로드하여 프로세서 버전을 평가하는 데 사용할 수 있습니다. 자체 데이터를 사용하는 경우에는 이러한 목적을 위해 따로 보관된 문서를 사용하게 됩니다.
테스트 문서 업로드 를 선택하고 방금 다운로드한 문서를 선택합니다.인보이스 파서 분석 페이지가 열립니다. 화면 출력에서 문서가 얼마나 잘 분류되었는지 볼 수 있습니다.
다른 테스트 세트 또는 프로세서 버전을 대상으로 평가를 다시 실행할 수도 있습니다.
프로세서 사용
인보이스 파서 프로세서를 만들고 업트레이닝했습니다.
다른 프로세서 버전과 마찬가지로 커스텀 학습 프로세서 버전을 관리할 수 있습니다(예: 지원 중단된 프로세서를 최신 프로세서로 마이그레이션하는 경우). 자세한 내용은 프로세서 버전 관리를 참조하세요.
커스텀 프로세서에 처리 요청을 보낼 수 있으며 응답은 다른 항목 추출 프로세서와 동일하게 처리할 수 있습니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
불필요한 Google Cloud 요금이 청구되지 않도록 하려면 Google Cloud 콘솔을 사용하여 필요하지 않은 프로세서와 프로젝트를 삭제합니다.
Document AI 학습용으로 만든 새 프로젝트가 더 이상 필요 없는 경우 [프로젝트를 삭제하세요][delete-project].
기존 Google Cloud 프로젝트를 사용한 경우 계정에 요금이 청구되지 않도록 만든 리소스를 삭제합니다.
Google Cloud 콘솔 탐색 메뉴에서 Document AI를 선택하고 내 프로세서를 선택합니다.
삭제하려는 프로세서와 동일한 행에서
작업 더보기 를 선택합니다.프로세서 삭제를 선택하고 프로세서 이름을 입력한 다음 삭제를 다시 선택하여 확인합니다.