Schnellstart: Überprüfen der Rechtschreibung mit der Bing-Rechtschreibprüfungs-REST-API und Python
Warnung
Am 30. Oktober 2020 wurden die Bing-Suche-APIs aus den Azure KI Services in die Bing-Suchdienste verschoben. Diese Dokumentation wird nur zu Referenzzwecken bereitgestellt. Eine aktualisierte Dokumentation finden Sie in der Dokumentation zu den Bing-Suche-APIs. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.
Verwenden Sie diese Schnellstartanleitung, um die Bing-Rechtschreibprüfungs-REST-API zum ersten Mal aufzurufen. Diese einfache Python-Anwendung sendet eine Anforderung an die API und gibt eine Liste mit Korrekturvorschlägen zurück.
Die Anwendung ist zwar in Python geschrieben, an sich ist die API aber ein RESTful-Webdienst und mit den meisten Programmiersprachen kompatibel. Der Quellcode für diese Anwendung ist auf GitHub verfügbar.
Voraussetzungen
- Python 3.x
Erstellen einer Azure-Ressource
Beginnen Sie mit der Verwendung der Bing-Rechtschreibprüfung-API, indem Sie eine der folgenden Azure-Ressourcen erstellen:
Bing-Rechtschreibprüfung-Ressource
- Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
- Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.
- Die Bing-Rechtschreibprüfung-API wird auch in einigen Tarifen der Bing-Suche v7-Ressource angeboten.
- Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
- Verwenden Sie in allen Azure KI Services-Instanzen denselben Schlüssel und Endpunkt für Ihre Anwendungen.
Initialisieren der Anwendung
Erstellen Sie in Ihrer bevorzugten IDE bzw. in einem Editor eine neue Python-Datei, und fügen Sie die folgenden Importanweisungen hinzu:
import requests import json
Erstellen Sie Variablen für den Text, für den eine Rechtschreibprüfung ausgeführt werden soll, sowie für Ihren Abonnementschlüssel und Ihren Endpunkt für die Bing-Rechtschreibprüfung. Sie können den globalen Endpunkt im folgenden Code oder den Endpunkt der benutzerdefinierten Unterdomäne verwenden, der im Azure-Portal für Ihre Ressource angezeigt wird.
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"
Erstellen der Parameter für die Anforderung
Erstellen Sie ein neues Wörterbuch mit
text
als Schlüssel und Ihrem Text als Wert.data = {'text': example_text}
Fügen Sie die Parameter für Ihre Anforderung hinzu:
Weisen Sie dem
mkt
-Parameter mit dem=
-Operator Ihren Marktcode zu. Der Marktcode ist der Code Lands bzw. der Region, aus dem/der Sie die Anforderung stellen.Fügen Sie den Parameter
mode
mit dem Operator&
hinzu, und weisen Sie dann den Rechtschreibprüfungsmodus zu. Der Modus kann entwederproof
(fängt die meisten Rechtschreib-/Grammatikfehler ab) oderspell
(fängt die meisten Rechtschreibfehler, aber nicht so viele Grammatikfehler ab) sein.
params = { 'mkt':'en-us', 'mode':'proof' }
Fügen Sie einen Header vom Typ
Content-Type
und dem HeaderOcp-Apim-Subscription-Key
Ihren Abonnementschlüssel hinzu.headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Ocp-Apim-Subscription-Key': api_key, }
Senden der Anforderung und Lesen der Antwort
Senden Sie die POST-Anforderung unter Verwendung der Anforderungsbibliothek.
response = requests.post(endpoint, headers=headers, params=params, data=data)
Rufen Sie die JSON-Antwort ab, und geben Sie sie aus.
json_response = response.json() print(json.dumps(json_response, indent=4))
Ausführen der Anwendung
Geben Sie bei Verwenden der Befehlszeile den folgenden Befehl an, um die Anwendung auszuführen:
python <FILE_NAME>.py
JSON-Beispielantwort
Es wird eine erfolgreiche Antwort im JSON-Format zurückgegeben, wie im folgenden Beispiel gezeigt:
{
"_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
}
]
}
]
}