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

Aviso

A 30 de outubro de 2020, as APIs de Pesquisa do Bing passaram dos serviços de IA do Azure para os Serviços Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, veja 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, veja Criar um recurso de Pesquisa do Bing através do Azure Marketplace.

Utilize este início rápido para fazer a sua primeira chamada à API REST de Verificação de Ortografia do Bing. Esta aplicação Python simples envia um pedido para a API e devolve uma lista de correções sugeridas.

Embora esta aplicação esteja escrita em Python, a API é um serviço Web RESTful compatível com a maioria das linguagens de programação. O código fonte para esta aplicação está disponível no GitHub

Pré-requisitos

Criar um recurso do Azure

Comece a utilizar a API de Verificação de Ortografia do Bing ao criar um dos seguintes recursos do Azure:

Recurso de Verificação de Ortografia do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.
  • A API de Verificação de Ortografia do Bing também é disponibilizada em alguns escalões do recurso Pesquisa do Bing v7.

Recurso de vários serviços

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Inicializar a aplicação

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

    import requests
    import json
    
  2. Crie variáveis para o texto que pretende verificar ortográficamente, a chave de subscrição e o ponto final da Verificação ortográfica do Bing. Pode utilizar o ponto final global no seguinte código ou utilizar o ponto final de subdomínio personalizado apresentado no portal do Azure do 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 o pedido

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

    data = {'text': example_text}
    
  2. Adicione os parâmetros para o seu pedido:

    1. Atribua o código de mercado ao mkt parâmetro com o = operador . O código de mercado é o código do país/região a partir do qual efetua o pedido.

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

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

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

Enviar o pedido e ler a resposta

  1. Envie o pedido POST com a biblioteca de pedidos.

    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 a aplicação

Se estiver a utilizar a linha de comandos, utilize o seguinte comando para executar a aplicação:

python <FILE_NAME>.py

Resposta JSON de exemplo

É devolvida uma resposta com êxito em JSON, tal como é apresentado no exemplo seguinte:

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

Passos seguintes