Estrazione di testo per convertire documenti PDF aziendali di alta qualità in un formato di file più semplice che può essere utilizzato da modelli di intelligenza artificiale o per trovare e isolare informazioni chiave da documenti come i contratti.
Modi per sviluppare
Copy link to section
È possibile estrarre il testo dai documenti utilizzando questi metodi di programmazione:
Semplificare i documenti aziendali in questo modo è particolarmente utile per le attività di generazione potenziata dal recupero, in cui si desidera trovare informazioni rilevanti per una query utente e includerle con l'input di un modello di base. Includere informazioni contestuali accurate nell'input del modello aiuta il modello di base a incorporare informazioni fattuali e aggiornate nell'output del modello. Per ulteriori informazioni, vedere Generazione aumentata dal recupero (RAG).
L'estrazione del testo è potente anche nei casi in cui si desidera estrarre entità o categorie specifiche di informazioni da un documento in base alla sua struttura.
Python
Copy link to section
È possibile estrarre il testo dai file in formato IBM watsonx.ai a livello di programmazione utilizzando la libreria Python.
È possibile estrarre il testo dai file in formato IBM watsonx.ai in modo programmatico utilizzando l'SDK di Node.js. Per ulteriori informazioni, consulta le seguenti risorse:
È possibile utilizzare il metodo di estrazione del testo del documento dell'API REST watsonx.ai per convertire i file PDF altamente strutturati e che utilizzano diagrammi, immagini e tabelle per trasmettere le informazioni, in un formato di file più facile da lavorare in modo programmatico, come markdown o JSON.
L'API di estrazione del testo applica la tecnologia di comprensione del linguaggio naturale sviluppata da IBM per identificare le strutture dei documenti.
L'estrazione del testo è un processo asincrono che converte un file alla volta. È possibile effettuare richieste di metodi paralleli per estrarre il testo da un insieme di documenti.
L'estrazione del testo è disponibile solo con i piani a pagamento. La fatturazione si basa sul numero di pagine elaborate. Per ulteriori informazioni, consultare la sezione Dettagli di fatturazione per gli asset di IA generativa.
La credenziale di un'attività è una chiave API utilizzata per autenticare i lavori di lunga durata avviati dai passaggi che verranno eseguiti durante la procedura di estrazione del testo. Non è necessario passare le credenziali dell'attività nella richiesta API. Per ulteriori informazioni, vedere Creazione delle credenziali dell'attività.
Quando si invia una richiesta di estrazione di testo, si include un payload che specifica i dettagli di configurazione per l'operazione di estrazione del testo. Scegliere le seguenti opzioni, in modo da poter impostare nel corpo della richiesta i parametri che soddisfano le proprie preferenze di configurazione:
Il metodo di estrazione del testo richiede che il file da cui si vuole estrarre il testo sia memorizzato come risorsa di connessione nel progetto e che sia referenziato dal suo ID di connessione. Per ulteriori informazioni, vedere Gestione dei documenti.
Tipi di file supportati
Copy link to section
È possibile utilizzare l'API per estrarre il testo dai seguenti tipi di file:
PDF
GIF
JPG
PNG
TIFF
È possibile memorizzare il testo estratto nei seguenti formati:
JSON
Markdown
Lingue supportate
Copy link to section
La capacità di estrarre il testo dalle immagini è chiamata riconoscimento ottico dei caratteri (OCR). Questa funzionalità è utile per conservare le informazioni contenute in immagini, diagrammi o testo incorporato in file come i PDF scansionati.
Sebbene il riconoscimento ottico dei caratteri possa estrarre il testo da immagini rumorose, la qualità dei file di immagine deve soddisfare il requisito minimo di 80 DPI (punti per pollice).
Se il documento con immagini che si desidera convertire è in una lingua diversa dall'inglese, è necessario specificare la lingua con il suo codice ISO 639 nel parametro language_list della richiesta.
"languages_list":["fr"]
Copy to clipboardCopiato negli appunti
Se il documento contiene un mix di lingue, elencare ogni lingua separatamente. Il riconoscimento ottico dei caratteri è in grado di convertire le immagini in un documento multilingue solo se le lingue condividono una scrittura comune. 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 utilizzare l'OCR per estrarre il testo dalle immagini in un documento con testo misto giapponese e inglese.
La funzione di riconoscimento ottico dei caratteri può estrarre il testo dalle immagini di documenti scritti nelle seguenti lingue:
Lingua
Codice lingua ISO 639
Script:
Cinese (semplificato)
zh-CN
Cinese
Cinese (tradizionale)
zh-TW
Cinese
Danese
da
Latino
Olandese
nl
Latino
Inglese
en
Latino
Grafia inglese
en_hw
Latino
Finlandese
fi
Latino
Francese
fr
Latino
Tedesco
de
Latino
Greco
el
Greco
Ebraico
he
Ebraico
Italiano
it
Latino
Giapponese
ja
Giapponese
Coreano
ko
Coreano
Norvegese (Bokmål)
nb
Latino
Norvegese (Nynorsk)
nn
Latino
Polacco
pl
Latino
Portoghese
pt
Latino
Spagnolo
es
Latino
Svedese
sv
Latino
Estrazione del testo dalle tabelle
Copy link to section
Convertire i dati tabellari all'interno di un documento in testo consumabile che catturi le informazioni della tabella. Molti modelli linguistici di grandi dimensioni hanno difficoltà a interpretare correttamente le informazioni tabellari.
Per abilitare la conversione delle tabelle, specificare il seguente parametro nella richiesta.
"steps":{"tables_processing":{"enabled":true}}
Copy to clipboardCopiato negli appunti
Scelta del formato del file di output
Copy link to section
Per impostazione predefinita, il testo estratto viene scritto in sintassi JSON. Se invece si desidera che il testo estratto sia scritto in markdown, specificare il seguente parametro nel corpo della richiesta API:
"assembly_md":{}
Copy to clipboardCopiato negli appunti
Gestione dei documenti
Copy link to section
Si aggiungono i documenti che si desidera elaborare nell'IBM Cloud Object Storage, in modo da poterli consultare dall'API.
Sono supportate solo le risorse di connessione che utilizzano la coppia 'Chiave di accesso e chiave segreta per le credenziali. Per ulteriori informazioni su come impostare la connessione, vedere Riferimento ai file dell'API.
Ad esempio, si fa riferimento al file aggiunto a IBM Cloud Object Storage come segue:
Il diagramma seguente mostra il flusso di lavoro utilizzato per estrarre informazioni strutturali su un documento aziendale con l'API di estrazione del testo.
Procedura
Copy link to section
Seguite questi passaggi di alto livello per estrarre il testo da un documento aziendale utilizzando l'API REST:
Aggiungete il file da cui volete estrarre il testo a un bucket IBM Cloud Object Storage e quindi definite una connessione dal vostro progetto watsonx.ai all'istanza del servizio IBM Cloud Object Storage.
Utilizzare il metodo Avviare una richiesta di estrazione di testo per avviare il processo di estrazione del testo.
Si noti l'ID restituito nel campo metadata.id. Questo ID viene utilizzato come ID di estrazione per controllare lo stato della richiesta nella fase successiva.
Utilizzare la funzione Ottieni i risultati della richiesta per verificare lo stato della richiesta.
Controllare lo stato è l'unico modo per scoprire se il processo non è riuscito per qualche motivo.
Quando lo stato è Completed, il file di testo estratto è disponibile nel bucket IBM Cloud Object Storage specificato.
Scaricare il file generato da Cloud Object Storage.
Esempio di richiesta
Copy link to section
Ad esempio, il comando seguente invia una richiesta per estrarre il testo dal file 'retail_guidebook.pdf e salvarlo in formato markdown.
Dalla risposta, copiare il metadata.id, come 64162e0a-b05d-4ba6-a688-422893f58663. Specificare questo ID nell'endpoint che si usa per controllare lo stato del processo di estrazione.
Il testo estratto viene scritto in un file markdown con il nome specificato nel campo 'results_reference.location.file_name.
Il markdown cattura le strutture del documento, come le sezioni e le tabelle. Ad esempio, l'immagine seguente mostra come una tabella del file PDF originale viene rappresentata in markdown dopo l'estrazione del testo. È inclusa un'anteprima della tabella markdown per mostrare che il testo della tabella originale nel PDF rimane intatto dopo l'estrazione.
Esempio di output JSON
Copy link to section
Quando il testo viene estratto in un file JSON, il file risultante contiene dettagli sulle diverse strutture di dati del documento, come sezioni, paragrafi, strutture di tabelle, token e altro.
È possibile convertire il file markdown generato in un file di testo cambiando l'estensione del file da '.md a '.txt. Il file di testo risultante include i tag markdown. Se si desidera rimuovere i tag, si può usare una libreria di parser per trovare e convertire i tag.
È possibile utilizzare una libreria di elaborazione JSON per estrarre il testo dal file JSON generato e memorizzarlo come testo normale. Ad esempio, il comando seguente estrae il testo da ogni token per tutte le strutture del documento e lo memorizza in un file chiamato parsed_output_text.txt:
Nota: Questo comando utilizza jq, un processore JSON a riga di comando che deve essere installato separatamente.
Dopo aver convertito il file generato in un file TXT, è possibile utilizzare il testo estratto come informazione contestuale per un prompt del modello di fondazione nei seguenti modi:
Fare riferimento al testo estratto da un quaderno Python.