Schnellstart: Überprüfen der Rechtschreibung mit der Bing-Rechtschreibprüfungs-REST-API und Java

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 Java-Anwendung sendet eine Anforderung an die API und gibt eine Liste mit Korrekturvorschlägen zurück.

Die Anwendung ist zwar in Java 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

  • Das Java Development Kit (JDK) 7 oder höher

  • Importieren Sie gson-2.8.5.jar oder die neueste Gson-Version. Für die Befehlszeilenausführung fügen Sie .jar mit der „main“-Klasse Ihrem Java-Ordner hinzu.

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.

Ressource für mehrere Dienste

  • 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.

Erstellen und Initialisieren einer Anwendung

  1. Erstellen Sie ein neues Java-Projekt in Ihrer bevorzugten IDE oder in Ihrem bevorzugten Editor mit einem Klassennamen Ihrer Wahl, und importieren Sie die folgenden Pakete:

    import java.io.*;
    import java.net.*;
    import com.google.gson.*;
    import javax.net.ssl.HttpsURLConnection;
    
  2. Erstellen Sie Variablen für den Host, Pfad und Abonnementschlüssel Ihres API-Endpunkts. Erstellen Sie anschließend Variablen für Ihren Markt, für den Text, für den die Rechtschreibprüfung ausgeführt werden soll, und für eine Zeichenfolge für den Rechtschreibprüfungsmodus. 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.

    static String host = "https://api.cognitive.microsoft.com";
    static String path = "/bing/v7.0/spellcheck";
    
    static String key = "<ENTER-KEY-HERE>";
    
    static String mkt = "en-US";
    static String mode = "proof";
    static String text = "Hollo, wrld!";
    

Erstellen und Senden einer API-Anforderung

  1. Erstellen Sie eine Funktion namens check(), um die API-Anforderung zu erstellen und zu senden. Fügen Sie in dieser Funktion den in den nächsten Schritten angegebenen Code hinzu. Erstellen Sie eine Zeichenfolge für die Anforderungsparameter:

    1. Weisen Sie dem mkt-Parameter mit dem =-Operator Ihren Marktcode zu.

    2. Fügen Sie den Parameter mode mit dem Operator & hinzu, und weisen Sie dann den Rechtschreibprüfungsmodus zu.

    public static void check () throws Exception {
        String params = "?mkt=" + mkt + "&mode=" + mode;
        // add the rest of the code snippets here (except prettify() and main())...
    }
    
  2. Kombinieren Sie Host, Pfad und Parameterzeichenfolge Ihres Endpunkts, um eine URL zu erstellen. Erstellen Sie ein neues HttpsURLConnection-Objekt.

    URL url = new URL(host + path + params);
    HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
    
  3. Öffnen Sie die URL. Legen Sie die Anforderungsmethode auf POST fest, und fügen Sie Ihre Anforderungsparameter hinzu. Achten Sie darauf, dass Sie dem Header Ocp-Apim-Subscription-Key Ihren Abonnementschlüssel hinzufügen.

    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    connection.setRequestProperty("Ocp-Apim-Subscription-Key", key);
    connection.setDoOutput(true);
    
  4. Erstellen Sie ein neues DataOutputStream-Objekt, und senden Sie die Anforderung an die API.

    DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
    wr.writeBytes("text=" + text);
    wr.flush();
    wr.close();
    

Formatieren und Lesen der API-Antwort

  1. Fügen Sie Ihrer Klasse die prettify()-Methode hinzu, die den JSON-Code für eine besser lesbare Ausgabe formatiert.

    // This function prettifies the json response.
    public static String prettify(String json_text) {
        JsonParser parser = new JsonParser();
        JsonElement json = parser.parse(json_text);
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        return gson.toJson(json);
    }
    
  2. Erstellen Sie ein BufferedReader-Element, und lesen Sie die Antwort der API. Geben Sie sie in der Konsole aus.

    BufferedReader in = new BufferedReader(
    new InputStreamReader(connection.getInputStream()));
    String line;
    while ((line = in.readLine()) != null) {
      System.out.println(prettify(line));
    }
    in.close();
    

Aufrufen der API

Rufen Sie in der „main“-Funktion Ihrer Anwendung die zuvor erstellte check()-Methode auf.

public static void main(String[] args) {
    try {
        check();
    }
    catch (Exception e) {
        System.out.println (e);
    }
}

Ausführen der Anwendung

Erstellen Sie Ihr Projekt, und führen Sie es aus. Geben Sie bei Verwenden der Befehlszeile die folgenden Befehle an, um die Anwendung zu erstellen und auszuführen:

  1. Erstellen Sie die Anwendung:

    javac -classpath .;gson-2.2.2.jar\* <CLASS_NAME>.java
    
  2. Führen Sie die Anwendung aus.

    java -cp .;gson-2.2.2.jar\* <CLASS_NAME>
    

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
            }
         ]
      }
   ]
}

Nächste Schritte