как связать wit.ai с сервером с помощью php?

Я создаю бот facebook, я использовал chatfuel для создания бота, я отправляю все ответы пользователя на свой сервер с помощью Json API, потому что «я хочу передать данные, полученные из сообщения пользователя, в мой Json API для получения/добавления данных из /в мою базу данных, например:
ответ пользователя:
меня зовут Питер
я хочу отправить "Питер" в мой API и добавить его в мою базу данных, используя запрос на получение или публикацию "
я был здесь сказано использовать wit.ai:
https://community.chatfuel.com/t/send-variables-from-the-users-message-to-the-json-api/4406
Я хотел бы чтобы связать мой php-сервер, который подключен к моей базе данных, с wit.ai для создания ИИ для моего бота.
Мне нужны подробные шаги или простой шаблон.
Любая простая информация очень поможет
Спасибо


person Peter Magdy    schedule 18.02.2017    source источник


Ответы (2)


Похоже, вы хотите использовать Wit.ai для извлечения сущностей. Сущность, являющаяся именем контакта. В вашем примере это будет Питер.

У него есть HTTP API, который вы можете использовать.

https://wit.ai/docs/http/20160526

Сначала создайте приложение в Wit. Затем пусть ваше PHP-приложение передаст сообщение Wit API.

curl \
 -H 'Authorization: Bearer <BEARER_TOKEN>' \
 'https://api.wit.ai/message?v=20170220&q=My%25name%25is%25Peter'

Вы можете получить BEARER_TOKEN в настройках приложения.

API вернет выходные данные JSON с сущностью и оценкой достоверности.

{
  "msg_id" : "c811ca24-4322-4a6e-b251-192ee59a8b83",
  "_text" : "My%name%is%Peter",
  "entities" : {
    "contact" : [ {
      "confidence" : 0.8265228299921754,
      "type" : "value",
      "value" : "Peter",
      "suggested" : true
    } ]
  }

Затем вы сможете взять сущность из вывода JSON и добавить в свою базу данных.

person Bcf Ant    schedule 20.02.2017
comment
Я пытаюсь сделать то же самое. Я могу заставить приведенную выше команду curl работать в командной строке, но я не могу заставить ее работать в PHP. Не могли бы вы опубликовать эквивалентный синтаксис PHP? - person David Fulton; 22.02.2017
comment
Взломал - поделился ниже. - person David Fulton; 22.02.2017

В продолжение комментария Bcf Ant выше - вот как сделать вызов в PHP. Поместите строку, которую вы хотите проанализировать, в $input_utterance и замените XXXXXXXXXXX идентификатором вашего токена:

$witRoot = "https://api.wit.ai/message?";
$witVersion = "20170221";

$witURL = $witRoot . "v=" . $witVersion . "&q=" . $input_utterance;

$ch = curl_init();
$header = array();
$header[] = "Authorization: Bearer XXXXXXXXXX”;

curl_setopt($ch, CURLOPT_URL, $witURL);
curl_setopt($ch, CURLOPT_POST, 1);  //sets method to POST (1 = TRUE)
curl_setopt($ch, CURLOPT_HTTPHEADER,$header); //sets the header value above - required for wit.ai authentication
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //inhibits the immediate display of the returned data

$server_output = curl_exec ($ch); //call the URL and store the data in $server_output

curl_close ($ch);  //close the connection
person David Fulton    schedule 22.02.2017