我正在使用 IBM Cloud 上的 IBM 自然语言理解 (NLU) API 来分析文本。当文本为英语时,API 工作正常,但在尝试处理英语以外的语言(例如德语 ('de'))时遇到“不支持的语言”错误。
这是我用来发出 API 请求的代码片段:
$url = "https://api.us-south.natural-language-understanding.watson.cloud.ibm.com/instances/****/v1/analyze?version=2017-02-27";
$token = "apikey:****************";
$token = base64_encode($token);
$language = 'de'; // Trying to set the language to German
$bodyArray = [
"text" => $text,
"features" => [
"syntax" => [
"sentences" => true
]
],
"language" => $language
];
$body = json_encode($bodyArray);
$headers = [
'Authorization' => 'Basic ' . $token,
"Content-Type" => "application/json"
];
$client = new Client();
$request = new GuzzleHttpRequest('POST', $url, $headers, $body);
$response = $client->send($request);
$response = $response->getBody()->getContents();
问题:
当我将语言参数设置为“de”(或任何其他非英语语言)时,我收到一条错误消息,指出该语言不受支持。
我的问题:
IBM Watson NLU API 是否支持英语以外的语言进行语法分析? 如果是,我的请求设置中缺少什么?是否有特定的语言需要进行不同的配置? 任何有关解决此问题的指导将不胜感激。
语法/句子的 NLU 功能似乎是一个实验性功能,因此仅支持英语。该功能未在GA 功能的语言支持中列出。
因此,我认为它不是按设计工作的。