일반적인 텍스트 처리 매개변수

watsonx.ai REST API를 사용하여 텍스트 처리 요청을 제출하면 텍스트 처리 작업에 대한 구성 세부 정보를 지정하는 페이로드가 포함됩니다.

여러 텍스트 처리 API를 사용하여 문서를 이해하고 RAG 솔루션에서 사용할 수 있는 더 간단한 텍스트 형식으로 변환할 수 있습니다. 텍스트 분류 API를 사용하여 문서가 특정 일반 문서 유형의 구조화된 데이터 형식과 일치하는지 확인할 수 있습니다. 분류 결과에 따라 텍스트 추출 요청을 사용자 지정하여 문서에서 텍스트 및 기타 구조화된 콘텐츠를 보다 효율적으로 추출할 수 있습니다.

텍스트 분류 및 추출 REST API 요청 모두에 공통적으로 적용되는 다음 설정을 선택합니다:

일반적인 REST API 매개변수 외에도 문서 이해 라이브러리에서 다양한 텍스트 처리 API 메서드에 특정한 매개변수를 설정할 수 있습니다. 자세한 내용은 다음 항목을 참조하십시오:

languages 매개변수를 사용하여 입력 문서의 언어 지정하기

문서가 영어 이외의 언어로 되어 있는 경우 API 요청의 languages 매개변수에 ISO 639 언어 코드로 해당 언어를 지정해야 합니다.

"parameters": {
  "languages": [
    "de"
  ]
}

문서에 여러 언어가 혼합되어 있는 경우 각 언어를 별도로 나열합니다. 지정하는 언어 코드는 문서에 기계로 인쇄된 텍스트가 포함되어 있는지 또는 손글씨가 포함되어 있는지에 따라 달라집니다. 문서에 특정 언어로 인쇄된 텍스트와 손으로 쓴 텍스트가 모두 있는 경우 언어 목록에서 두 가지 유형의 언어 코드를 모두 지정해야 합니다.

텍스트 처리 API의 언어 제한 사항

텍스트 분류

분류 API는 영어 문서에만 사용할 수 있습니다.

텍스트 추출

언어가 공통 스크립트를 공유하지 않는 경우 혼합 언어 문서에는 추출 API를 사용할 수 없습니다. 그러나 영어와 다른 언어가 혼합된 문서를 어떤 스크립트로든 사용할 수 있습니다. 예를 들어 영어와 프랑스어 텍스트가 혼합된 문서의 이미지에서 텍스트를 추출할 수 있는데, 두 언어가 모두 라틴어 기반이기 때문입니다. 그러나 일본어와 프랑스어 텍스트가 혼합된 문서의 이미지에서는 텍스트를 추출할 수 없습니다.

텍스트 추출 API는 영어 문서에서만 키-값 쌍 데이터를 추출하는 데 사용할 수 있습니다.

지원되는 필기 언어

다음 표는 필기체 텍스트 인식에서 지원되는 언어를 나열한 것입니다:

언어 소환의 열쇠
영어 en_hw / eng_hw
독일어 독일어 숙제 / 독일어 숙제

문서에 영어로 된 손글씨가 포함된 경우, s390x 에서 지원하는 언어 코드를 en_hw API 요청 본문에 사용하십시오.

지원되는 기계 인쇄 언어

다음 표는 인쇄 텍스트 인식을 위해 텍스트 추출 API가 지원하는 언어에 대한 세부 정보를 제공합니다:

참고: 문서 언어에 ISO 639 언어 코드가 나열되어 있지 않은 경우 API 스크립트 코드를 사용하세요.
텍스트 추출 API에서 지원되는 기계 인쇄 언어
언어 ISO 639 언어 코드 API 스크립트 코드 스크립트
아체인 latn 라틴어
아프리칸스어 af latn 라틴어
알바니아어 sq latn 라틴어
아라우카니안/마푸체 latn 라틴어
아와디어 deva 데바나가리
아이마라 ay latn 라틴어
발리인 latn 라틴어
바스크어 eu latn 라틴어
벨라루스어 be cyrl 키릴
벰바 latn 라틴어
벵골어 beng 벵골어
비콜 latn 라틴어
비스라마 bi latn 라틴어
보즈푸리어 deva 데바나가리
불가리아어 bg cyrl 키릴
카탈로니아어 ca latn 라틴어
세부아노어 latn 라틴어
체첸 cyrl 키릴
중국어 zh_cn cjk 한(간체)
중국어(대만) zh_tw cjk 한(전통)
초크토 latn 라틴어
크리 cr latn 라틴어
다코타 latn 라틴어
덴마크어 da latn 라틴어
도그리 deva 데바나가리
네덜란드어 nl latn 라틴어
영어 en latn 라틴어
영국 영어 en latn 라틴어
에스토니아어 et latn 라틴어
피지인 fj latn 라틴어
필리핀어 fil latn 라틴어
핀란드어 fi latn 라틴어
프랑스어 fr latn 라틴어
프랑스어(캐나다) fr latn 라틴어
갈리시아어 gl latn 라틴어
가위 latn 라틴어
독일어 de latn 라틴어
길버트어 latn 라틴어
그리스어 el el 그리스어
아이티 크레올어 ht latn 라틴어
히브리어 he he 히브리어
힐리가이논어 latn 라틴어
힌디어 hi deva 데바나가리
이반 latn 라틴어
일로코 latn 라틴어
인도네시아어 id latn 라틴어
아일랜드어 ga latn 라틴어
이탈리아어 it it 라틴어
일본어 ja cjk 일본어
자바어 jv latn 라틴어
카친 latn 라틴어
그린란드어 kl latn 라틴어
카시 latn 라틴어
킨야르완다어 rw latn 라틴어
콩고 kg latn 라틴어
콩카니어 deva 데바나가리
한국어 ko cjk 한국어
코슬라어 latn 라틴어
쿠아냐마 kj latn 라틴어
라틴어 la latn 라틴어
저지 독일어 latn 라틴어
로지 latn 라틴어
루오어 latn 라틴어
마케도니아어 mk cyrl 키릴
마이틸리 deva 데바나가리
마다가스카르어 mg latn 라틴어
맨스 gv latn 라틴어
마라티어 mr deva 데바나가리
중세 영어 latn 라틴어
중세 고지 독일어 latn 라틴어
미나앙카바우 latn 라틴어
모호크 latn 라틴어
몽골어 mn cyrl 키릴
응동가 ng latn 라틴어
네팔어 ne deva 데바나가리
북부 은데벨레어 nd latn 라틴어
노르웨이어 no no 라틴어
냥콜레 latn 라틴어
오크어 oc latn 라틴어
오지브와 oj latn 라틴어
고대 영어 latn 라틴어
고대 프랑스어 latn 라틴어
고대 고지 독일어 latn 라틴어
고대 노르드어 latn 라틴어
고대 프로방스어 latn 라틴어
팜팡가 latn 라틴어
팡가시난 latn 라틴어
파피아멘토 latn 라틴어
폴란드어 pl latn 라틴어
포르투갈어 pt pt 라틴어
포르투갈어 (유럽) pt pt 라틴어
케추아어 qu latn 라틴어
로만슈어 rm latn 라틴어
룬디 rn latn 라틴어
러시아어 ru cyrl 키릴
상고 sg latn 라틴어
산스크리트어 sa deva 데바나가리
스코틀랜드인 latn 라틴어
세르비아어 sr cyrl 키릴
쇼나어 sn latn 라틴어
스페인어 es es 라틴어
스페인어 (라틴 아메리카) es es 라틴어
순다어 su latn 라틴어
스와힐리어 sw latn 라틴어
스와티 ss latn 라틴어
스웨덴어 sv sv 라틴어
타밀어 ta deva 타밀어
텔루구어 te deva 텔루구어
태국어 th th 태국어
츄옹가 ts latn 라틴어
츠와나어 tn latn 라틴어
터키어 tr tr 라틴어
우크라이나어 uk cyrl 키릴
우즈벡어 uz cyrl 키릴
베트남어 vi vi 라틴어
코사어 xh latn 라틴어
줄루어 zu latn 라틴어

기계 인쇄된 텍스트와 손글씨가 모두 포함된 문서

문서에 기계 인쇄 텍스트와 필기 텍스트가 혼합되어 있는 경우, 기계 인쇄 언어 모델과 필기 언어 모델 모두에 해당하는 언어 코드를 지정하여 API를 호출해야 합니다.

언어 코드
영어 languages_list = [ 'en', 'en_hw']
독일어 languages_list = [ 'de', 'de_hw']

여러 언어로 된 문서

영어를 다른 언어와 함께 사용하는 경우를 제외하고는, 동일한 문자를 사용하지 않는 언어 간의 결합은 지원되지 않습니다.

languages_list문서에 라틴 문자나 CJK 문자를 사용하는 여러 언어로 된 텍스트가 포함된 경우,. eng예를 들어, 와 를 모두 fra 지정하면, 서비스는 내부적으로 해당 요청을 모델에 latn 매핑합니다.

지원되는 언어 표에 나열된 스크립트 기반 언어만 지원됩니다. 단일 요청에서 스크립트를 두 개 이상 지정할 수 없습니다.

허용되는 조합:

  • ['fra', 'spa'] – 같은 문자를 사용하는 두 언어
  • ['jpn', 'eng'] – 라틴어계가 아닌 언어와 영어가 결합된 형태 ['jpn'](문서에 일본어와 영어가 모두 포함되어 있다면, 이를 명시하는 것으로 충분합니다.)
  • ['fra', 'spa', 'eng']
  • ['jpn', 'kor'] – 같은 문자를 사용하는 두 언어
  • ['heb', 'eng'] – 라틴어계가 아닌 언어와 영어가 결합된 형태
  • ['latn'] – 단일 스크립트
  • ['cjk'] – 단일 스크립트

지원되지 않는 조합:

  • ['heb', 'fra'] – 라틴어계가 아닌 언어와 영어 이외의 라틴어계 언어의 조합
  • ['cjk', 'fra']
  • ['jpn', 'fra', 'eng'] – 비라틴어와 두 가지 라틴어 계열 언어의 조합
  • ['latn', 'cjk'] – 두 가지 다른 스크립트

ocr_mode 매개변수를 사용하여 이미지에서 텍스트 추출하기

광학 문자 인식(OCR)을 사용하여 문서의 이미지에 있는 텍스트를 처리하는 방법을 지정할 수 있습니다. API 요청 본문에서 다음 파라미터를 지정합니다:

"parameters": {
  "ocr_mode": "enabled"
}

다음 표는 API 요청에서 이미지를 처리하는 방법을 지정하는 데 사용할 수 있는 다양한 OCR 모드에 대한 자세한 내용을 제공합니다:

텍스트 추출 API의 OCR 모드
OCR 모드 설명
disabled 이미지 파일과 스캔한 문서는 처리되지 않습니다. 시각 자료와 텍스트가 모두 포함된 하이브리드 문서의 경우 텍스트만 추출됩니다.
enabled OCR은 문서에서 텍스트를 추출할 수 없는 경우에만 실행됩니다. 문서에 포함된 이미지가 처리됩니다.
forced 문서의 각 페이지가 이미지로 변환되고 OCR로 처리됩니다. 텍스트 전용 파일을 포함한 모든 문서 유형은 처리되기 전에 이미지로 변환됩니다.

semantic_config 매개 변수를 사용하여 키-값 쌍 처리 파이프라인 구성하기

송장, 양식, 계약서, 영수증과 같은 비정형 또는 반정형 문서에서 구조화된 정보를 식별하고 키-값 쌍으로 추출할 수 있습니다. 처리된 텍스트는 각 데이터 조각(값)이 고유 식별자(키)와 연결된 형식입니다. 키-값 쌍 데이터는 범용 기초 모델 또는 특정 문서 형식에 맞게 조정된 모델을 사용하여 처리됩니다.

제한사항:

키-값 쌍 데이터를 처리하려면 클러스터에 필요한 GPU와 파운데이션 모델이 설치되어 있는지 확인하십시오. 자세한 내용은 문서의 watsonx.aiIBMSoftware Hub 파운데이션 모델을 참조하십시오.

텍스트 분류 API를 사용하면 키-값 쌍 추출을 수행하지 않고도 문서가 일반적인 문서 유형에 대해 미리 정의된 여러 스키마 중 하나로 분류될 수 있는지 빠르게 확인할 수 있습니다. 문서가 미리 정의된 유형과 일치하지 않는 경우 텍스트 추출 API 요청을 실행하기 전에 새 문서 유형과 사용자 정의 스키마를 정의할 수 있습니다.

REST API 요청 본문에서 다양한 semantic_config 매개 변수를 사용하여 다음과 같은 키-값 쌍 처리 파이프라인 기능을 구성합니다:

또한 텍스트 추출 API 메서드에 특화된 필드를 semantic_config 매개변수에 설정합니다. 자세한 내용은 ‘키-값 쌍으로 데이터를 추출하는 방법 지정’을 참조하십시오.

지원 언어:

  • 중국어
  • 영어
  • 프랑스어
  • 독일어
  • 이탈리아어
  • 일본어
  • 포르투갈어
  • 스페인어

schemas 필드로 스키마 정의하기

레이아웃에 따라 문서는 크게 다음과 같은 유형으로 분류할 수 있습니다:

가변 레이아웃 문서
송장, 구매 주문서, 여권 등 구조가 여러 페이지에 걸쳐 있는 일관된 구조가 없는 문서.
고정 레이아웃 문서
각 페이지가 특정 레이아웃을 가진 세금 양식과 같이 각 페이지가 미리 정의된 형식을 따르는 구조화된 문서입니다.

사전 정의된 스키마

다음과 같이 지원되는 일반적인 문서 유형에 대해 미리 정의된 스키마로 파일에서 텍스트를 분류하거나 추출할 수 있습니다:

사용자 정의 스키마

문서에 고유한 구조화된 콘텐츠가 포함되어 있는 경우 특정 데이터와 고유 식별자를 정의하는 사용자 지정 스키마를 제공할 수 있습니다. 사용자 정의 스키마를 지정하면 텍스트 추출 프로세스에서 문서를 미리 정의된 스키마 중 하나로 분류하는 것을 자동으로 재정의하고 semantic_configschemas 매개변수에 제공한 스키마만 사용합니다.

사용자 지정 스키마에서 매개변수를 정의하는 방법에 대한 자세한 내용은 키-값 쌍 추출을 위한 사용자 지정 스키마 만들기를 참조하세요.

다음 예는 REST API 요청 본문의 영수증에 대한 사용자 지정 스키마를 제공합니다:

"semantic_config": {
  "schemas": [ {
      "document_type": "Receipt",
      "document_description": "A receipt issued for a purchase at ABC store.",
      "fields": {
        "receipt_number": {
          "default": "",
          "example": "R-20241027-ABC",
          "description": "Unique identifier on the receipt."
        },
        "customer_name": {
          "default": "",
          "example": "John Smith",
          "description": "Full name of the customer or payee."
        },
        "date_of_transaction": {
          "default": "",
          "example": "2023-01-01",
          "description": "Date when the purchase or payment occurred."
        },
        "total_paid": {
          "default": "",
          "example": "8.64",
          "description": "Final amount paid by the customer."
        },
        "payment_method": {
          "default": "",
          "example": "Credit Card",
          "description": "How payment was made, such as cash, card, check, etc.)."
        },
      }
  } ]
}

사전 정의 및 사용자 정의 스키마가 schemas_merge_strategy 필드와 상호 작용하는 방식 제어하기

생성한 사용자 정의 스키마가 텍스트 처리 API에서 지원하는 사전 정의된 스키마와 상호 작용하는 방식을 정의할 수 있습니다.

다음 표에서는 semantic_config 매개변수에서 schemas_merge_strategy 설정을 구성할 때 사전 정의 및 사용자 정의 스키마가 처리되는 다양한 방식에 대해 자세히 설명합니다:

키-값 쌍 추출 중 스키마 처리 전략
스키마 전략 설정 설명
replace 미리 정의된 모든 스키마를 삭제하고 사용자 지정 스키마만 사용합니다.
merge 사용자 정의 스키마는 스키마 정의에서 동일한 document_type 속성을 공유하는 모든 사전 정의된 스키마와 병합되어 재정의됩니다.

기본적으로 지원되는 사전 정의된 스키마와 일치하는 문서 유형에 대한 사용자 정의 스키마를 만들면 두 스키마가 병합된 후 문서의 키-값 쌍 데이터를 처리하는 데 사용됩니다.