Chiamare l'API di lettura Per intelligenza artificiale di Azure v3.2 GA
In questa guida viene illustrato come chiamare l'API lettura GA v3.2 per estrarre testo dalle immagini. Verranno illustrati i diversi modi in cui è possibile configurare il comportamento di questa API in modo da soddisfare le proprie esigenze.
I passaggi seguenti presuppongono che sia già stata creata una risorsa Visione artificiale e ottenuta una chiave e un URL dell'endpoint. In caso contrario, vedere l'argomento di avvio rapido per iniziare.
Edizioni OCR (Lettura)
Importante
Selezionare l'edizione Lettura più adatta alle proprie esigenze.
Input | Esempi | Edizione Lettura | Vantaggio |
---|---|---|---|
Immagini: generiche, in ambienti naturali | etichette, cartelli stradali e cartelloni | OCR per le immagini (versione 4.0) | Ottimizzato per immagini generiche non documentate con un'API sincrona a prestazioni avanzate che semplifica l'incorporamento di OCR negli scenari dell’esperienza utente. |
Documenti: digitali e digitalizzato, incluse le immagini | libri, articoli e report | Modello di lettura di informazioni sui documenti | Ottimizzato per documenti contenenti molto testo, digitalizzati e digitali con un'API asincrona per automatizzare l'elaborazione intelligente dei documenti su larga scala. |
Informazioni su Lettura di Visione di Azure AI v3.2 con disponibilità generale
Si sta cercando la versione più recente di Lettura di Visione di Azure AI v3.2 con disponibilità generale? Tutti i miglioramenti futuri di Lettura OCR fanno parte dei due servizi elencati in precedenza. Non sono previsti ulteriori aggiornamenti per Visione di Azure AI v3.2. Per altre informazioni, vedere Chiamare l'API di lettura per Visione di Azure AI 3.2 con disponibilità generale e Avvio rapido: Lettura di Visione di Azure AI v3.2 con disponibilità generale.
Determinare come elaborare i dati (facoltativo)
Specificare il modello OCR
Per impostazione predefinita, il servizio usa il modello disponibile a livello generale più recente per estrarre testo. A partire da Read v3.2, un model-version
parametro consente di scegliere tra i modelli ga e di anteprima per una determinata versione dell'API. Il modello specificato viene usato per estrarre testo con l'operazione di lettura.
Quando si usa l'operazione di lettura, usare i valori seguenti per il parametro facoltativo model-version
.
Valore | Modello usato |
---|---|
Non specificato | Modello GA più recente |
Più recente | Modello GA più recente |
2022-04-30 | Modello GA più recente. 164 lingue per la stampa di testo e 9 lingue per il testo scritto a mano insieme a diversi miglioramenti sulla qualità e sulle prestazioni |
2022-01-30 | Aggiunge il supporto del testo di stampa per lingue hindi, arabe e correlate. Per il testo scritto a mano, aggiunge il supporto per giapponese e coreano. |
2021-09-30 | Aggiunge il supporto del testo di stampa per la lingua russa e altre lingue cirillico. Per il testo scritto a mano, aggiunge il supporto per il cinese semplificato, francese, tedesco, italiano, portoghese e spagnolo. |
2021-04-12 | Modello GA 2021 |
Lingua di input
Per impostazione predefinita, il servizio estrae tutto il testo dalle immagini o dai documenti, incluse le lingue miste. L'operazione di lettura ha un parametro di richiesta facoltativo per la lingua. Specificare un codice linguistico solo se si desidera forzare l'elaborazione del documento come tale lingua specifica. In caso contrario, il servizio potrebbe restituire testo incompleto e non corretto.
Output nell'ordine di lettura naturale (solo lingue latine)
Per impostazione predefinita, il servizio restituisce le righe di testo nell'ordine da sinistra a destra. Facoltativamente, con il parametro di richiesta readingOrder
, usare natural
per un output dell'ordine di lettura più descrittivo, come illustrato nell'esempio seguente. Questa funzionalità è supportata solo per le lingue latine.
Selezionare pagine o intervalli di pagine per l'estrazione di testo
Per impostazione predefinita, il servizio estrae testo da tutte le pagine dei documenti. Facoltativamente, usare il parametro di richiesta pages
per specificare numeri di pagina o intervalli di pagine per estrarre testo solo da tali pagine. L'esempio seguente mostra un documento con 10 pagine, con testo estratto per entrambi i casi: Tutte le pagine (1-10) e Le pagine selezionate (3-6) .
Inviare dati al servizio
Si invia un'immagine locale o un'immagine remota all'API di lettura. Per locale, i dati dell'immagine binaria vengono inseriti nel corpo della richiesta HTTP. Per la modalità remota, specificare l'URL dell'immagine formattando il corpo della richiesta come nell'esempio seguente.
{"url":"http://example.com/images/test.jpg"}
L'API lettura chiamata lettura accetta un'immagine o un documento PDF come input ed estrae il testo in modo asincrono.
https://{endpoint}/vision/v3.2/read/analyze[?language][&pages][&readingOrder]
La chiamata restituisce con un campo di intestazione di risposta denominato Operation-Location
. Il Operation-Location
valore è un URL che contiene l'ID operazione da usare nel passaggio successivo.
Intestazione risposta | Valore di esempio |
---|---|
Operation-Location | https://cognitiveservice/vision/v3.2/read/analyzeResults/d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4 |
Nota
Fatturazione
La pagina dei prezzi di Visione artificiale di Azure include il piano tariffario per le operazioni di lettura. Ogni immagine o pagina analizzata è una transazione. Se si chiama l'operazione con un documento PDF o TIFF contenente 100 pagine, l'operazione di lettura verrà conteggiata come 100 transazioni e verranno fatturate 100 transazioni. Se sono state effettuate 50 chiamate all'operazione e ogni chiamata ha inviato un documento con 100 pagine, verranno fatturate 50 X 100 = 5000 transazioni.
Ottenere risultati dal servizio
Il secondo passaggio consiste nel chiamare l'operazione Get Read Result . Questa operazione accetta come input l'ID operazione creato dall'operazione di lettura.
https://{endpoint}/vision/v3.2/read/analyzeResults/{operationId}
Restituisce una risposta JSON che contiene un campo status con i valori possibili seguenti.
Valore | Significato |
---|---|
notStarted |
Operazione non avviata. |
running |
L'operazione è in fase di elaborazione. |
failed |
Operazione non riuscita. |
succeeded |
Operazione completata. |
Questa operazione viene chiamata in modo iterativo fino a quando non viene restituita con il valore completato. Usare un intervallo da 1 a 2 secondi per evitare di superare la frequenza delle richieste al secondo (RPS).
Nota
Il livello gratuito limita la frequenza delle richieste a 20 chiamate al minuto. Il livello a pagamento consente l'aumento di 30 RPS su richiesta. Prendere nota dell'identfier e dell'area della risorsa di Azure e aprire un ticket di supporto tecnico di Azure oppure contattare il team dell'account per richiedere una tariffa RPS più elevata.
Quando lo stato campo ha il valore succeeded
, la risposta JSON contiene il contenuto di testo estratto dall'immagine o dal documento. La risposta JSON mantiene i raggruppamenti di righe originali di parole riconosciute. Include le linee di testo estratte e le relative coordinate del rettangolo di selezione. Ogni riga di testo include tutte le parole estratte con le coordinate e i punteggi di attendibilità.
Nota
I dati inviati all'operazione di Lettura vengono temporaneamente crittografati e archiviati inattivi per un breve periodo di tempo e quindi eliminati. Ciò consente alle applicazioni di recuperare il testo estratto come parte della risposta del servizio.
Output JSON di esempio
Vedere l'esempio seguente di una risposta JSON riuscita:
{
"status": "succeeded",
"createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
"lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
"analyzeResult": {
"version": "3.2",
"readResults": [
{
"page": 1,
"angle": 2.1243,
"width": 502,
"height": 252,
"unit": "pixel",
"lines": [
{
"boundingBox": [
58,
42,
314,
59,
311,
123,
56,
121
],
"text": "Tabs vs",
"appearance": {
"style": {
"name": "handwriting",
"confidence": 0.96
}
},
"words": [
{
"boundingBox": [
68,
44,
225,
59,
224,
122,
66,
123
],
"text": "Tabs",
"confidence": 0.933
},
{
"boundingBox": [
241,
61,
314,
72,
314,
123,
239,
122
],
"text": "vs",
"confidence": 0.977
}
]
}
]
}
]
}
}
Classificazione scritta a mano per le righe di testo (solo lingue latine)
La risposta include una classificazione per stabilire se ogni riga di testo contiene scrittura manuale o meno, insieme a un punteggio di attendibilità. Questa funzionalità è supportata solo per le lingue latine. L'esempio seguente mostra la classificazione di scrittura a mano per il testo nell'immagine.