Inicio rápido: Revisión ortográfica con la API REST de Bing Spell Check y Ruby

Advertencia

El 30 de octubre de 2020, las API de Bing Search se trasladaron de los servicios de Azure AI a los servicios de Bing Search. Esta documentación se proporciona solo como referencia. Para obtener documentación actualizada, consulte la documentación de Bing Search API. Para obtener instrucciones sobre cómo crear nuevos recursos de Azure para Bing Search, consulte el artículo sobre la creación de un recurso de Bing Search a través de Azure Marketplace.

Use este inicio rápido para realizar la primera llamada a la API REST de Bing Spell Check mediante Ruby. Esta sencilla aplicación de envía una solicitud a la API y devuelve una lista de sugerencias de corrección.

Aunque esta aplicación está escrita en Ruby, la API es un servicio web RESTful compatible con la mayoría de los lenguajes de programación. El código fuente de esta aplicación está disponible en GitHub.

Prerrequisitos

Creación de un recurso de Azure

Para empezar a usar la API Bing Spell Check, cree uno de los siguientes recursos de Azure:

Recurso de Bing Spell Check

  • Disponible en Azure Portal hasta que lo elimine.
  • Use el plan de tarifa gratuito para probar el servicio y actualícelo más adelante a un nivel de pago para producción.
  • API Bing Spell Check también se ofrece en algunos niveles del recurso Bing Search, versión 7.

Recurso de varios servicios

  • Disponible en Azure Portal hasta que lo elimine.
  • Utilice la misma clave y el mismo punto de conexión para sus aplicaciones en varios servicios de Azure AI.

Creación e inicialización de la aplicación

  1. Cree un archivo de Ruby en su editor o IDE preferidos y agregue los siguientes requisitos:

    require 'net/http'
    require 'uri'
    require 'json'
    
  2. Cree variables para la clave de suscripción, el URI del punto de conexión y la ruta de acceso. Puede usar el punto de conexión global en el código siguiente, o el punto de conexión del subdominio personalizado que se muestra en Azure Portal para el recurso. Cree los parámetros de solicitud:

    1. Asigne el código de mercado al parámetro mkt con el operador =. El código de mercado es el código del país desde el que se realiza la solicitud.

    2. Agregue el parámetro mode con el operador & y, a continuación, asigne el modo de revisión ortográfica. El modo puede ser proof (detecta la mayoría de los errores ortográficos y gramaticales) o spell (detecta la mayoría de los errores ortográficos, pero no todos los gramaticales).

    key = 'ENTER YOUR KEY HERE'
    uri = 'https://api.cognitive.microsoft.com'
    path = '/bing/v7.0/spellcheck?'
    params = 'mkt=en-us&mode=proof'
    

Envío de una solicitud de revisión ortográfica

  1. Cree un URI a partir del URI de host, la ruta de acceso y la cadena de parámetros. Establezca su consulta para que contenga el texto que quiere revisar.

    uri = URI(uri + path + params)
    uri.query = URI.encode_www_form({
       # Request parameters
    'text' => 'Hollo, wrld!'
    })
    
  2. Cree una solicitud mediante el URI creado anteriormente. Agregue su clave al encabezado 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. Envíe la solicitud.

    response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
        http.request(request)
    end
    
  4. Obtenga la respuesta JSON e imprímala en la consola.

    result = JSON.pretty_generate(JSON.parse(response.body))
    puts result
    

Ejecución de la aplicación

Compile y ejecute el proyecto. Si usa la línea de comandos, utilice los siguientes comandos para ejecutar la aplicación:

ruby <FILE_NAME>.rb

Ejemplo de respuesta JSON

Se devuelve una respuesta correcta en JSON, como se muestra en el siguiente ejemplo:

{
   "_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
            }
         ]
      }
   ]
}

Pasos siguientes