Небольшой для IBM Watson Natural Language Understanding получает только фразы на английском языке при получении POST (в php). Когда я POST французский, испанский или португальский не работают.
Мой код:
include_once('JSON.php'); $json = новые службы_JSON();
// Получить параметр $protocol = utf8_decode(($_GET['протокол']) ? $_GET['протокол'] : $_POST['протокол']); $report = utf8_decode(($_GET['отчет']) ? $_GET['отчет'] : $_POST['отчет']); $class = utf8_decode(($_GET['классифицированный']) ? $_GET['классифицированный'] : $_POST['классифицированный']);
//Позвонить Ватсону
$report = strtoupper($report);
$username = 'xxxxxxx';
$password = 'XXXXX';
$url = 'https://gateway.watsonplatform.net/natural-language-understanding/api/v1/analyze?version=2017-02-27&text=Helloethics&features=entities,sentiment,keywords';
// Set post arguments for call
$post_args = array(
'text' => $report
);
// Set header arguments for call
$header_args = array(
'Content-Type: text/plain',
'Accept: application/json'
);
// Set options for REST call via curl
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_USERPWD, "xxxxxxxx:XXXXXXX");
curl_setopt($curl, CURLOPT_HTTPHEADER, $header_args);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_args);
$status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
// Actual REST call via curl and cleanup (closing) of curl call
$result = curl_exec($curl);
print_r($result);
curl_close($curl);
POST/GET работает, только если используется английский язык, но другие языки возвращают Watson:
POST работает только в том случае, если используется английский язык, но другие языки возвращают Watson:
{ "язык": "pt", "сущности": [], "предупреждения": [ "ключевые слова: внутренняя ошибка сервера", "настроение: внутренняя ошибка сервера" ] }
Но когда я использую ЛОКАЛЬНУЮ ПЕРЕМЕННУЮ, хорошо, работает. Пожалуйста помогите! Спасибо!