Guida introduttiva: Controllare l'ortografia con l'API REST Controllo ortografico Bing e Ruby
Avviso
Il 30 ottobre 2020 le API Ricerca Bing sono state spostate dai servizi di intelligenza artificiale di Azure ai servizi di Ricerca Bing. Questa documentazione viene fornita solo per riferimento. Per la documentazione aggiornata, vedere la documentazione dell'API ricerca Bing. Per istruzioni sulla creazione di nuove risorse di Azure per la ricerca Bing, vedere Creare una risorsa Ricerca Bing tramite il Azure Marketplace.
Usare questa guida introduttiva per effettuare la prima chiamata all'API REST Controllo ortografico Bing con Ruby. Questa semplice applicazione invia una richiesta all'API e restituisce un elenco di correzioni suggerite.
Anche se l'applicazione è scritta in Ruby, 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
- Ruby 2.4 o versione successiva
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 lo stesso endpoint per le applicazioni in più servizi di intelligenza artificiale di Azure.
Creare e inizializzare l'applicazione
Creare un nuovo file Ruby nell'ambiente di sviluppo integrato o nell'editor preferito e aggiungere i requisiti seguenti:
require 'net/http' require 'uri' require 'json'
Creare le variabili per la chiave di sottoscrizione, l'URI dell'endpoint e il percorso. È possibile usare l'endpoint globale nel codice seguente o l'endpoint del sottodominio personalizzato visualizzato nel portale di Azure per la risorsa. Creare 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).
key = 'ENTER YOUR KEY HERE' uri = 'https://api.cognitive.microsoft.com' path = '/bing/v7.0/spellcheck?' params = 'mkt=en-us&mode=proof'
Inviare una richiesta di controllo ortografico
Creare un URI dalla stringa con uri, percorso e parametri dell'host. Impostarne la query in modo che contenga il testo di cui si vuole controllare l'ortografia.
uri = URI(uri + path + params) uri.query = URI.encode_www_form({ # Request parameters 'text' => 'Hollo, wrld!' })
Creare una richiesta usando l'URI creato in precedenza. Aggiungere la chiave all'intestazione
Ocp-Apim-Subscription-Key
.request = Net::HTTP::Post.new(uri) request['Content-Type'] = "application/x-www-form-urlencoded" request['Ocp-Apim-Subscription-Key'] = key
Inviare la richiesta.
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| http.request(request) end
Ottenere la risposta JSON e stamparla nella console.
result = JSON.pretty_generate(JSON.parse(response.body)) puts result
Eseguire l'applicazione
Compilare ed eseguire il progetto. Se si usa la riga di comando, usare il comando seguente per eseguire l'applicazione:
ruby <FILE_NAME>.rb
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
}
]
}
]
}