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

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. Esta sencilla aplicación de Python envía una solicitud a la API y devuelve una lista de correcciones sugeridas.

Aunque esta aplicación está escrita en Python, 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.

Inicialización de la aplicación

  1. Cree un archivo de Python en el IDE o editor que prefiera y agregue las siguientes instrucciones de importación:

    import requests
    import json
    
  2. Cree variables para el texto cuya ortografía quiere revisar, para la clave de suscripción y para el punto de conexión de Bing Spell Check. 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.

    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"
    

Creación de los parámetros para la solicitud

  1. Cree un diccionario con text como clave y el texto como valor.

    data = {'text': example_text}
    
  2. Agregue los parámetros de la 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).

    params = {
        'mkt':'en-us',
        'mode':'proof'
        }
    
  3. Agregue un encabezado Content-Type y la clave de suscripción al encabezado Ocp-Apim-Subscription-Key.

    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Ocp-Apim-Subscription-Key': api_key,
        }
    

Envío de la solicitud y lectura de la respuesta

  1. Envíe la solicitud POST, mediante la biblioteca de solicitudes.

    response = requests.post(endpoint, headers=headers, params=params, data=data)
    
  2. Obtenga la respuesta JSON e imprímala.

    json_response = response.json()
    print(json.dumps(json_response, indent=4))
    

Ejecución de la aplicación

Si usa la línea de comandos, utilice los siguientes comandos para ejecutar la aplicación:

python <FILE_NAME>.py

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