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

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.

Risorsa multi-servizio

  • 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

  1. 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'
    
  2. 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:

    1. 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.

    2. Aggiungere il parametro mode con l'operatore & e quindi assegnare la modalità di controllo ortografico. La modalità può essere proof (individua la maggior parte degli errori di ortografia/grammatica) o spell (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

  1. 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!'
    })
    
  2. 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
    
  3. Inviare la richiesta.

    response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
        http.request(request)
    end
    
  4. 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
            }
         ]
      }
   ]
}

Passaggi successivi