Parametri comuni di elaborazione del testo

Quando si invia una richiesta di elaborazione del testo utilizzando l'API REST watsonx.ai, si include un payload che specifica i dettagli di configurazione per l'operazione di elaborazione del testo.

È possibile utilizzare diverse API di elaborazione del testo per comprendere e convertire i documenti in un formato testuale più semplice, utilizzabile in una soluzione RAG. È possibile utilizzare l'API di classificazione del testo per determinare se il documento corrisponde al formato dei dati strutturati di alcuni tipi di documenti comuni. In base ai risultati della classificazione, è possibile personalizzare la richiesta di estrazione del testo per estrarre il testo e altri contenuti strutturati dal documento in modo più efficiente.

Effettuare le scelte relative alle seguenti impostazioni, comuni alle richieste API REST di classificazione ed estrazione del testo:

Oltre ai parametri comuni dell'API REST, è possibile impostare parametri specifici per i vari metodi API di elaborazione del testo nella libreria di comprensione dei documenti. Per ulteriori dettagli, consultare i seguenti argomenti:

Specificare le lingue del documento di input con il parametro languages

Se il documento è in una lingua diversa dall'inglese, è necessario specificare la lingua con il suo codice ISO 639 nel parametro languages della richiesta API.

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

Se il documento contiene un mix di lingue, elencare ogni lingua separatamente. Il codice lingua specificato varia a seconda che il documento contenga testo stampato a macchina o scrittura a mano. Se il documento contiene testo stampato e scritto a mano in una lingua specifica, è necessario specificare entrambi i tipi di codici lingua nell'elenco delle lingue.

Restrizioni linguistiche con le API di elaborazione del testo

Classificazione testo

È possibile utilizzare l'API di classificazione solo con documenti in lingua inglese.

Estrazione di testo

Non è possibile utilizzare l'API di estrazione con un documento in lingua mista se le lingue non condividono una scrittura comune. Tuttavia, è possibile utilizzare documenti con un mix di inglese e un'altra lingua in qualsiasi scrittura. Ad esempio, è possibile estrarre il testo dalle immagini di un documento con un mix di testo inglese e francese, poiché entrambe le lingue sono basate sul latino. Tuttavia, non è possibile estrarre il testo dalle immagini in un documento con testo misto giapponese e francese.

È possibile utilizzare l'API di estrazione del testo per estrarre i dati delle coppie chiave-valore solo da documenti in lingua inglese.

Lingue di scrittura supportate

La tabella seguente elenca le lingue supportate per il riconoscimento del testo scritto a mano:

Lingua Chiave di invocazione
Inglese it_hw / eng_hw
Tedesco de_hw / deu_hw

Se il documento contiene testo scritto a mano in inglese, utilizza il en_hw codice lingua nel corpo della richiesta API supportato su s390x.

Lingue supportate per la stampa automatica

La tabella seguente fornisce dettagli sulle lingue supportate dall'API di estrazione del testo per il riconoscimento del testo stampato:

Nota: se la lingua del documento non ha un codice lingua ISO 639, utilizzare il codice script API.
Lingue stampate a macchina supportate dall'API di estrazione del testo
Lingua Codice lingua ISO 639 Codice script API Script
acehnese latn latino
Africano af latn latino
Albanese sq latn latino
Araucano/Mapuche latn latino
Awadhi deva Devanagari
aymara ay latn latino
balinese latn latino
Basco eu latn latino
Bielorusso be cyrl Cirillico
Bemba latn latino
Bengalese beng Bengalese
Bikol latn latino
bislama bi latn latino
bhojpuri deva Devanagari
Bulgaro bg cyrl Cirillico
Catalano ca latn latino
Cebuano latn latino
Ceceno cyrl Cirillico
Cinese (semplificato) zh_cn cjk Han (semplificato)
Cinese (tradizionale) zh_tw cjk Han (tradizionale)
Choctaw latn latino
Cree cr latn latino
Dakota latn latino
Danese da latn latino
Dogri deva Devanagari
Olandese nl latn latino
Inglese en latn latino
Inglese (britannico) en latn latino
Estone et latn latino
fijiano fj latn latino
Filippino fil latn latino
Finlandese fi latn latino
Francese fr latn latino
Francese (Canada) fr latn latino
Galiziano gl latn latino
Gayo latn latino
Tedesco de latn latino
gilbertese latn latino
Greco el el Greco
creolo haitiano ht latn latino
Ebraico he he Ebraico
Hiligaynon latn latino
Hindi hi deva Devanagari
IBAN latn latino
Iloko latn latino
Indonesiano id latn latino
Irlandese ga latn latino
Italiano it it latino
Giapponese ja cjk Giapponese
Giavanese jv latn latino
Kachin latn latino
Kalaallisut kl latn latino
Khasi latn latino
Kinyarwanda rw latn latino
Congo kg latn latino
Konkani deva Devanagari
Coreano ko cjk Coreano
Kosraeano latn latino
Kuanyama kj latn latino
latino la latn latino
Basso tedesco latn latino
Lozi latn latino
Luo latn latino
Macedone mk cyrl Cirillico
Maithili deva Devanagari
Malgascio mg latn latino
Manx gv latn latino
Marathi mr deva Devanagari
Inglese medioevale latn latino
alto-medio tedesco latn latino
Minangkabau latn latino
Mohawk latn latino
Mongolo mn cyrl Cirillico
Ndonga ng latn latino
Nepali ne deva Devanagari
Nord Ndebele nd latn latino
Norvegese no no latino
Nyankole latn latino
Occitano oc latn latino
Ojibwa oj latn latino
Inglese antico latn latino
francese antico latn latino
antico alto tedesco latn latino
antico norvegese latn latino
Antico provenzale latn latino
Pampanga latn latino
Pangasinan latn latino
papiamento latn latino
Polacco pl latn latino
Portoghese pt pt latino
Portoghese (europeo) pt pt latino
Quechua qu latn latino
Romancio rm latn latino
Rundi rn latn latino
Russo ru cyrl Cirillico
Sango sg latn latino
Sanscrito sa deva Devanagari
scozzesi latn latino
Serbo sr cyrl Cirillico
Shona sn latn latino
Spagnolo es es latino
Spagnolo (America Latina) es es latino
sundanese su latn latino
Swahili sw latn latino
Swati ss latn latino
Svedese sv sv latino
Tamil ta deva Tamil
Telugu te deva Telugu
Tailandese th th Tailandese
Tsonga ts latn latino
tswana tn latn latino
Turco tr tr latino
Ucraino uk cyrl Cirillico
Uzbeko uz cyrl Cirillico
Vietnamita vi vi latino
Xhosa xh latn latino
Zulu zu latn latino

Documenti che contengono sia testo stampato a macchina che testo scritto a mano

Se il documento contiene una combinazione di testo stampato e testo scritto a mano, è necessario richiamare l'API specificando i codici lingua sia per il modello linguistico relativo al testo stampato che per quello relativo al testo scritto a mano.

Lingua Codice
Inglese languages_list = [ 'en', 'en_hw']
Tedesco languages_list = [ 'de', 'de_hw']

Documenti in diverse lingue

Non è supportata la combinazione di lingue che non utilizzano lo stesso alfabeto, tranne nel caso in cui l'inglese sia abbinato a un'altra lingua.

Se un documento contiene testo in più lingue che utilizzano l'alfabeto latino o CJK, è possibile specificare più codici lingua nel file languages_list. Ad esempio, se si specificano sia fra che eng, il servizio mappa internamente la richiesta al latn modello.

Sono supportati solo i linguaggi di scripting elencati nella tabella dei linguaggi supportati. Non è possibile specificare più di uno script in una singola richiesta.

Combinazioni consentite:

  • ['fra', 'spa'] – due lingue che utilizzano lo stesso alfabeto
  • ['jpn', 'eng'] – una lingua non latina abbinata all'inglese ['jpn'](Se il documento contiene testo in giapponese e in inglese, è sufficiente specificarlo.)
  • ['fra', 'spa', 'eng']
  • ['jpn', 'kor'] – due lingue che utilizzano lo stesso alfabeto
  • ['heb', 'eng'] – una lingua non latina abbinata all'inglese
  • ['latn'] – script singolo
  • ['cjk'] – script singolo

Combinazioni non supportate:

  • ['heb', 'fra'] – una lingua non latina abbinata a una lingua latina diversa dall'inglese
  • ['cjk', 'fra']
  • ['jpn', 'fra', 'eng'] – una lingua non latina abbinata a due lingue latine
  • ['latn', 'cjk'] – due diversi copioni

Estrazione di testo dalle immagini con il parametro ocr_mode

È possibile specificare come elaborare il testo nelle immagini del documento utilizzando il riconoscimento ottico dei caratteri (OCR). Specificare il seguente parametro nel corpo della richiesta API:

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

La tabella seguente fornisce dettagli sulle diverse modalità OCR che è possibile utilizzare per specificare come elaborare le immagini nella richiesta API:

Modalità OCR nell'API di estrazione del testo
Modalità OCR Descrizione
disabled I file immagine e i documenti scansionati non vengono elaborati. Per i documenti ibridi che contengono sia immagini che testo, viene estratto solo il testo.
enabled L'OCR viene eseguito solo se non è stato possibile estrarre alcun testo dal documento. Le immagini incorporate nei documenti vengono elaborate.
forced Ogni pagina del documento viene convertita in immagine ed elaborata con l'OCR. Ogni tipo di documento, compresi i file di solo testo, viene convertito in immagini prima di essere elaborato.

Configurazione della pipeline di elaborazione delle coppie chiave-valore con il parametro semantic_config

È possibile identificare ed estrarre informazioni strutturate in coppie chiave-valore da documenti non strutturati o semi-strutturati come fatture, moduli, contratti o ricevute. Il testo elaborato è in un formato in cui ogni dato (il valore) è associato a un identificatore unico (la chiave). I dati delle coppie chiave-valore vengono elaborati utilizzando un modello di base generico o un modello ottimizzato per formati di documenti specifici.

Limitazione:

Per elaborare i dati delle coppie chiave-valore, assicurati di avere le GPU e i modelli di base richiesti installati nel tuo cluster. Per ulteriori dettagli, consultare i modelli di base nella watsonx.ai IBMSoftware Hub documentazione.

È possibile utilizzare l'API di classificazione del testo per verificare rapidamente se un documento può essere classificato in uno dei diversi schemi predefiniti per i tipi di documento più comuni, senza eseguire l'estrazione della coppia chiave-valore. Se il documento non corrisponde a un tipo predefinito, è possibile definire un nuovo tipo di documento e uno schema personalizzato prima di eseguire una richiesta API di estrazione del testo.

Utilizzare i vari parametri di semantic_config nel corpo della richiesta dell'API REST per configurare le seguenti funzionalità della pipeline di elaborazione delle coppie chiave-valore:

È inoltre possibile impostare campi nel semantic_config parametro specifici per il metodo API di estrazione del testo. Per ulteriori dettagli, consultare la sezione "Specificare come estrarre i dati in coppie chiave-valore ".

Lingue supportate:

  • Cinese
  • Inglese
  • Francese
  • Tedesco
  • Italiano
  • Giapponese
  • Portoghese
  • Spagnolo

Definizione di schemi con il campo schemas

In base al layout, i documenti possono essere classificati a grandi linee nei seguenti tipi:

Documenti a layout variabile
Documenti senza una struttura coerente, come fatture, ordini di acquisto o passaporti, in cui la struttura si estende su più pagine.
Documenti a layout fisso
Documenti strutturati in cui ogni pagina segue un formato predefinito, come ad esempio un modulo fiscale in cui ogni pagina ha un layout specifico.

Schemi predefiniti

È possibile classificare o estrarre il testo dai file in schemi predefiniti per i seguenti tipi di documenti comuni supportati:

Schemi personalizzati

Se i documenti contengono contenuti strutturati unici, è possibile fornire uno schema personalizzato che definisce dati specifici e identificatori unici. Quando si specifica uno schema personalizzato, il processo di estrazione del testo esclude automaticamente la classificazione del documento in uno degli schemi predefiniti e utilizza solo lo schema fornito nel parametro schemas del sito semantic_config.

Per informazioni su come definire i parametri in uno schema personalizzato, vedere Creazione di schemi personalizzati per l'estrazione di coppie chiave-valore.

L'esempio seguente fornisce uno schema personalizzato per una ricevuta nel corpo della richiesta API REST:

"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.)."
        },
      }
  } ]
}

Controllo del modo in cui gli schemi predefiniti e personalizzati interagiscono con il campo schemas_merge_strategy

È possibile definire il modo in cui gli schemi personalizzati creati interagiscono con gli schemi predefiniti supportati dall'API di elaborazione del testo.

La tabella seguente fornisce dettagli sui diversi modi in cui vengono elaborati gli schemi predefiniti e personalizzati quando si configura l'impostazione schemas_merge_strategy nel parametro semantic_config :

Strategie per l'elaborazione degli schemi durante l'estrazione delle coppie chiave-valore
Impostazione della strategia di schema Descrizione
replace Scartare tutti gli schemi predefiniti e utilizzare solo lo schema personalizzato.
merge Gli schemi personalizzati vengono uniti e sovrascrivono qualsiasi schema predefinito che condivida lo stesso attributo document_type nella definizione dello schema.

Per impostazione predefinita, se si crea uno schema personalizzato per un tipo di documento che corrisponde a uno schema predefinito supportato, entrambi gli schemi vengono uniti prima di essere utilizzati per elaborare i dati della coppia chiave-valore nel documento.