Я использую Watson Conversation API с простым кодом PHP / Curl. Я задаю вопросы, и я могу сказать, что вопросы правильно передаются Уотсону, потому что «намерение» меняется. Но выходное сообщение всегда одинаково.
$input = array("text"=>$_GET["msg"]);
$return["input"] = (object)$input;
if(strlen($_GET["context"])>0){
$context = array("conversation_id"=>$_GET["context"]);
$return["context"] = (object) $context;
}
$return = (object) $return;
$json = json_encode($return);
echo $json;
echo "<br><hr><br>";
$ch = curl_init("https://gateway.watsonplatform.net/conversation/api/v1/workspaces/d5ee17e9-9e19-bca5-765870f31816/message?version=2018-02-16");
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json );
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($json))
);
$output = curl_exec($ch);
echo "<pre>".$output."</pre>";
ЗДЕСЬ ОТВЕТ:
{
"intents": [
{
"intent": "capabilities",
"confidence": 1
}
],
"entities": [],
"input": {
"text": "what can you do"},
"output": {
"text": [
"Hi. It looks like a nice drive today. What would you like me to do? "],
"nodes_visited": [
"Start And Initialize Context"],
"log_messages": []
},
"context": {
"conversation_id": "cbb41b48-addb-4d42-a146-39a4550caaaf",
"system": {
"dialog_stack": [
{
"dialog_node": "root"}
],
"dialog_turn_counter": 1,
"dialog_request_counter": 1,
"_node_output_map": {
"Start And Initialize Context": [
0,
0
]
},
"branch_exited": true,
"branch_exited_reason": "completed"},
"AConoff": "off",
"lightonoff": "off",
"musiconoff": "off",
"appl_action": "",
"heateronoff": "off",
"volumeonoff": "off",
"wipersonoff": "off",
"default_counter": 0
}
}
Как видите, message_output — это случайное приветствие. Независимо от вопроса, который я задаю, я получаю один и тот же текст.
Задача ещё не решена.
Других решений пока нет …