Inicio rápido: Revisión ortográfica con la API REST de Bing Spell Check y PHP
Advertencia
El 30 de octubre de 2020, las API de Bing Search se trasladaron de los servicios de Azure AI a los servicios de Bing Search. Esta documentación se proporciona solo como referencia. Para obtener documentación actualizada, consulte la documentación de Bing Search API. Para obtener instrucciones sobre cómo crear nuevos recursos de Azure para Bing Search, consulte el artículo sobre la creación de un recurso de Bing Search a través de Azure Marketplace.
Use este inicio rápido para realizar la primera llamada a la API REST de Bing Spell Check. Esta sencilla aplicación de PHP envía una solicitud a la API y devuelve una lista de correcciones sugeridas.
Aunque esta aplicación está escrita en PHP, la API es un servicio web RESTful compatible con la mayoría de los lenguajes de programación.
Prerrequisitos
Creación de un recurso de Azure
Para empezar a usar la API Bing Spell Check, cree uno de los siguientes recursos de Azure:
- Disponible en Azure Portal hasta que lo elimine.
- Use el plan de tarifa gratuito para probar el servicio y actualícelo más adelante a un nivel de pago para producción.
- API Bing Spell Check también se ofrece en algunos niveles del recurso Bing Search, versión 7.
- Disponible en Azure Portal hasta que lo elimine.
- Utilice la misma clave y el mismo punto de conexión para sus aplicaciones en varios servicios de Azure AI.
Obtención de resultados de la API REST de Bing Spell Check
Cree un nuevo proyecto PHP en su IDE favorito.
Agregue el código que se proporciona a continuación.
Reemplace el valor
subscriptionKey
por una clave de acceso válida para la suscripción.Puede usar el punto de conexión global en el código siguiente, o el punto de conexión del subdominio personalizado que se muestra en Azure Portal para el recurso.
Ejecute el programa.
<?php // NOTE: Be sure to uncomment the following line in your php.ini file. // ;extension=php_openssl.dll // These properties are used for optional headers (see below). // define("CLIENT_ID", "<Client ID from Previous Response Goes Here>"); // define("CLIENT_IP", "999.999.999.999"); // define("CLIENT_LOCATION", "+90.0000000000000;long: 00.0000000000000;re:100.000000000000"); $host = 'https://api.cognitive.microsoft.com'; $path = '/bing/v7.0/spellcheck?'; $params = 'mkt=en-us&mode=proof'; $input = "Hollo, wrld!"; $data = array ( 'text' => urlencode ($input) ); // NOTE: Replace this example key with a valid subscription key. $key = 'ENTER KEY HERE'; // The following headers are optional, but it is recommended // that they are treated as required. These headers will assist the service // with returning more accurate results. //'X-Search-Location' => CLIENT_LOCATION //'X-MSEdge-ClientID' => CLIENT_ID //'X-MSEdge-ClientIP' => CLIENT_IP $headers = "Content-type: application/x-www-form-urlencoded\r\n" . "Ocp-Apim-Subscription-Key: $key\r\n"; // NOTE: Use the key 'http' even if you are making an HTTPS request. See: // https://php.net/manual/en/function.stream-context-create.php $options = array ( 'http' => array ( 'header' => $headers, 'method' => 'POST', 'content' => http_build_query ($data) ) ); $context = stream_context_create ($options); $result = file_get_contents ($host . $path . $params, false, $context); if ($result === FALSE) { /* Handle error */ } $json = json_encode(json_decode($result), JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); echo $json; ?>
Ejecución de la aplicación
Ejecute la aplicación iniciando un servidor web y desplazándose hasta el archivo.
Ejemplo de respuesta JSON
Se devuelve una respuesta correcta en JSON, como se muestra en el siguiente ejemplo:
{
"_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
}
]
}
]
}