Обновление диалогового потока намерение обучающие фразы с использованием клиентской библиотеки php - PullRequest
0 голосов
/ 29 октября 2018

Я использую клиентскую библиотеку php dialogflow для доступа к v2 rest api dialogflow. Я могу позвонить по DeteIntent и другим вещам, и это работает. Но иногда мне нужно искать конкретную обучающую фразу и, если ее нет, добавить новую обучающую фразу для обнаруженного намерения. Как я могу сделать это с помощью клиентской библиотеки php? Я устал искать в этом. Пожалуйста, помогите мне. Любые ответы будут оценены. Я использую функцию getIntent с некоторым текстом, как показано ниже,

function detect_intent_texts($projectId, $text, $sessionId, $languageCode = 'en-US')
{
    global $common;
    // new session
    $test = array('credentials' => 'key_file.json');
    $sessionsClient = new SessionsClient($test);
    $session = $sessionsClient->sessionName($projectId, $sessionId ?: uniqid());
    //printf('Session path: %s' . PHP_EOL, $session);

    // create text input
    $textInput = new TextInput();
    $textInput->setText($text);
    $textInput->setLanguageCode($languageCode);

    // create query input
    $queryInput = new QueryInput();
    $queryInput->setText($textInput);

    // get response and relevant info
    $response = $sessionsClient->detectIntent($session, $queryInput);
    $queryResult = $response->getQueryResult();
    $queryText = $queryResult->getQueryText();
    $intent = $queryResult->getIntent();
    $displayName = $intent->getDisplayName();
    $common->write_to_log("intent displayName : ".$displayName);
    if($displayName == "Default Fallback Intent")
    {
        $result = json_encode(array("result"=>false));
        $common->write_to_log("No matching intent found");
    }
    else
    {

        $confidence = $queryResult->getIntentDetectionConfidence();
        $fulfilmentText = $queryResult->getFulfillmentText();
        $common->write_to_log("intent response : ".$fulfilmentText);
        $result = json_encode(array("result"=>true,"message"=>$fulfilmentText));

    }

    echo $result;

    $sessionsClient->close();
}
...