Início Rápido: Verificar a ortografia com a API REST de Verificação Ortográfica do Bing e o Python

Aviso

Em 30 de outubro de 2020, as APIs de Pesquisa do Bing foram migradas dos serviços de IA do Azure para os Serviços de Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter a documentação atualizada, consulte a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a Pesquisa do Bing, consulte Criar um recurso de Pesquisa do Bing por meio do Azure Marketplace.

Use este Início Rápido para fazer sua primeira chamada à API REST de Verificação Ortográfica do Bing. Este aplicativo Python simples envia uma solicitação à API e retorna uma lista de correções sugeridas.

Embora esse aplicativo seja escrito em Python, a API é um serviço Web RESTful compatível com a maioria das linguagens de programação. O código-fonte desse aplicativo está disponível no GitHub

Pré-requisitos

Criar um recurso do Azure

Comece usando a API de Verificação Ortográfica do Bing criando um dos seguintes recursos do Azure:

Recurso de Verificação Ortográfica do Bing

  • Disponível por meio do portal do Azure até que você exclua o recurso.
  • Use o tipo de preço gratuito para experimentar o serviço e atualize mais tarde para uma camada paga para produção.
  • A API de Verificação Ortográfica do Bing também é oferecida em algumas camadas do recurso Pesquisa do Bing v7.

Recurso de vários serviços

  • Disponível por meio do portal do Azure até que você exclua o recurso.
  • Use a mesma chave e ponto de extremidade para seus aplicativos nos vários serviços de IA do Azure.

Inicializar o aplicativo

  1. Crie um arquivo Python em seu IDE ou o editor favorito e adicione as seguintes instruções de importação:

    import requests
    import json
    
  2. Crie variáveis para o texto do qual deseja fazer a verificação ortográfica, a chave de assinatura e o ponto de extremidade da Verificação Ortográfica do Bing. É possível usar o ponto de extremidade global no código a seguir ou o ponto de extremidade do subdomínio personalizado exibido no portal do Azure para seu 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"
    

Criar os parâmetros para a solicitação

  1. Crie um dicionário com text como a chave e o texto como o valor.

    data = {'text': example_text}
    
  2. Adicione os parâmetros à solicitação:

    1. Atribua seu código de mercado ao parâmetro mkt com o operador =. O código de mercado é o código do país/da região em que você faz a solicitação.

    2. Adicione o parâmetro mode com o operador & e, em seguida, atribua o modo de verificação ortográfica. O modo pode ser proof (captura a maioria dos erros de ortografia/gramática) ou spell (captura a maioria dos erros de ortografia, mas não tantos erros de gramática).

    params = {
        'mkt':'en-us',
        'mode':'proof'
        }
    
  3. Adicione um cabeçalho Content-Type e a chave de assinatura ao cabeçalho Ocp-Apim-Subscription-Key.

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

Enviar a solicitação e ler a resposta

  1. Envie a solicitação POST usando a biblioteca de solicitações.

    response = requests.post(endpoint, headers=headers, params=params, data=data)
    
  2. Obtenha a resposta JSON e imprima-a.

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

Executar o aplicativo

Se estiver usando a linha de comando, use os seguintes comandos para executar o aplicativo:

python <FILE_NAME>.py

Resposta JSON de exemplo

Uma resposta com êxito é retornada em JSON, conforme mostrado no seguinte exemplo:

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

Próximas etapas