Guida introduttiva: Controllare l'ortografia con l'API REST Controllo ortografico Bing e Python
Avviso
Il 30 ottobre 2020 le API di Ricerca Bing spostate dai servizi di intelligenza artificiale di Azure ai servizi Ricerca Bing. Questa documentazione viene fornita solo per informazioni di riferimento. Per la documentazione aggiornata, vedere la documentazione dell'API di ricerca Bing. Per istruzioni sulla creazione di nuove risorse di Azure per la ricerca Bing, vedere Creare una risorsa Ricerca Bing tramite la Azure Marketplace.
Usare questa guida introduttiva per effettuare la prima chiamata all'API REST Controllo ortografico Bing. Questa semplice applicazione Python invia una richiesta all'API e restituisce un elenco di correzioni suggerite.
Anche se l'applicazione è scritta in Python, l'API è un servizio Web RESTful compatibile con la maggior parte dei linguaggi di programmazione. Il codice sorgente di questa applicazione è disponibile in GitHub
Prerequisiti
- Python 3.x
Creare una risorsa di Azure
Per iniziare a usare l'API Controllo ortografico Bing, creare una delle seguenti risorse di Azure:
Risorsa Controllo ortografico Bing
- disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
- Usare il piano tariffario gratuito per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.
- L'API Controllo ortografico Bing è disponibile anche in alcuni livelli della risorsa Ricerca Bing v7.
- disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
- Usare la stessa chiave e l'endpoint per le applicazioni in più servizi di intelligenza artificiale di Azure.
Inizializzare l'applicazione
Creare un nuovo file Python nell'IDE o nell'editor preferito e aggiungere le istruzioni di importazione seguenti:
import requests import json
Creare variabili per il testo di cui si vuole eseguire il controllo ortografico, la chiave di sottoscrizione e l'endpoint di Controllo ortografico Bing. È possibile usare l'endpoint globale nel codice seguente o l'endpoint del sottodominio personalizzato visualizzato nel portale di Azure per la risorsa.
api_key = "<ENTER-KEY-HERE>" example_text = "Hollo, wrld" # the text to be spell-checked endpoint = "https://api.cognitive.microsoft.com/bing/v7.0/SpellCheck"
Creare i parametri per la richiesta
Creare un nuovo dizionario con
text
come chiave e il testo come valore.data = {'text': example_text}
Aggiungere i parametri della richiesta:
Assegnare il codice di mercato al parametro
mkt
con l'operatore=
. Il codice di mercato è il codice del paese o dell'area geografica da cui si effettua la richiesta.Aggiungere il parametro
mode
con l'operatore&
e quindi assegnare la modalità di controllo ortografico. La modalità può essereproof
(individua la maggior parte degli errori di ortografia/grammatica) ospell
(individua la maggior parte degli errori di ortografia, ma meno errori di grammatica).
params = { 'mkt':'en-us', 'mode':'proof' }
Aggiungere un'intestazione
Content-Type
e la chiave di sottoscrizione all'intestazioneOcp-Apim-Subscription-Key
.headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Ocp-Apim-Subscription-Key': api_key, }
Inviare la richiesta e leggere la risposta
Inviare la richiesta POST usando la libreria delle richieste.
response = requests.post(endpoint, headers=headers, params=params, data=data)
Ottenere la risposta JSON e visualizzarla.
json_response = response.json() print(json.dumps(json_response, indent=4))
Eseguire l'applicazione
Se si usa la riga di comando, usare il comando seguente per eseguire l'applicazione:
python <FILE_NAME>.py
Risposta JSON di esempio
Viene restituita una risposta con esito positivo in formato JSON, come illustrato nell'esempio seguente:
{
"_type": "SpellCheck",
"flaggedTokens": [
{
"offset": 0,
"token": "Hollo",
"type": "UnknownToken",
"suggestions": [
{
"suggestion": "Hello",
"score": 0.9115257530801
},
{
"suggestion": "Hollow",
"score": 0.858039839213461
},
{
"suggestion": "Hallo",
"score": 0.597385084464481
}
]
},
{
"offset": 7,
"token": "wrld",
"type": "UnknownToken",
"suggestions": [
{
"suggestion": "world",
"score": 0.9115257530801
}
]
}
]
}