Rychlý start: Kontrola pravopisu pomocí rozhraní REST API Bingu pro kontrolu pravopisu a Pythonu

Upozornění

30. října 2020 se rozhraní API Vyhledávání Bingu přesunula ze služeb Azure AI na Vyhledávání Bingu Services. Tato dokumentace je k dispozici pouze pro referenci. Aktualizovanou dokumentaci najdete v dokumentaci k rozhraní API Bingu pro vyhledávání. Pokyny k vytváření nových prostředků Azure pro vyhledávání Bingu najdete v tématu Vytvoření prostředku Vyhledávání Bingu prostřednictvím Azure Marketplace.

Pomocí tohoto rychlého startu provedete první volání rozhraní REST API Bingu pro kontrolu pravopisu. Tato jednoduchá aplikace v Pythonu odešle požadavek do rozhraní API a vrátí seznam navrhovaných oprav.

I když je tato aplikace napsaná v Pythonu, rozhraní API je webová služba RESTful kompatibilní s většinou programovacích jazyků. Zdrojový kód pro tuto aplikaci je k dispozici na GitHubu.

Požadavky

Vytvoření prostředku Azure

Začněte používat rozhraní API Bingu pro kontrolu pravopisu tím, že vytvoříte jeden z následujících prostředků Azure:

Prostředek Kontroly pravopisu Bingu

  • K dispozici prostřednictvím Azure Portal, dokud prostředek neodstraníte.
  • K vyzkoušení služby použijte bezplatnou cenovou úroveň a později ji upgradujte na placenou úroveň pro produkční prostředí.
  • Rozhraní API Bingu pro kontrolu pravopisu se také nabízí na některých úrovních prostředku Vyhledávání Bingu v7.

Prostředek s více službami

  • K dispozici prostřednictvím Azure Portal, dokud prostředek neodstraníte.
  • Pro své aplikace použijte stejný klíč a koncový bod napříč několika službami Azure AI.

Inicializace aplikace

  1. Ve svém oblíbeném integrovaném vývojovém prostředí nebo editoru vytvořte nový soubor Pythonu a přidejte následující příkazy pro import:

    import requests
    import json
    
  2. Vytvořte proměnné pro text, který chcete zkontrolovat pravopis, klíč předplatného a koncový bod kontroly pravopisu Bingu. Globální koncový bod můžete použít v následujícím kódu nebo vlastní koncový bod subdomény zobrazený v Azure Portal pro váš prostředek.

    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"
    

Vytvoření parametrů pro požadavek

  1. Vytvořte nový slovník s text klíčem a textem jako hodnotou.

    data = {'text': example_text}
    
  2. Přidejte parametry pro vaši žádost:

    1. Přiřaďte kód trhu k parametru mkt pomocí operátoru = . Kód trhu je kód země nebo oblasti, ze které žádost vytvoříte.

    2. mode Přidejte parametr s operátorem & a pak přiřaďte režim kontroly pravopisu. Režim může být buď proof (zachytí většinu pravopisu a gramatických chyb), nebo spell (zachytává většinu pravopisových chyb, ale ne tolik gramatických chyb).

    params = {
        'mkt':'en-us',
        'mode':'proof'
        }
    
  3. Přidejte do záhlaví hlavičku Content-Type a klíč předplatného Ocp-Apim-Subscription-Key .

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

Odeslání požadavku a přečtení odpovědi

  1. Odešlete požadavek POST pomocí knihovny requests.

    response = requests.post(endpoint, headers=headers, params=params, data=data)
    
  2. Získejte odpověď JSON a vytiskněte ji.

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

Spuštění aplikace

Pokud používáte příkazový řádek, spusťte aplikaci pomocí následujícího příkazu:

python <FILE_NAME>.py

Příklad odpovědi JSON

Úspěšná odpověď se vrátí ve formátu JSON, jak je znázorněno v následujícím příkladu:

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

Další kroky