Полностью независимый от платформы клиент для API IBM Watson Personality Insights, прошедший модульное тестирование.
Для PHP 7.0+
composer require darrynten/watson-personality-insights-php
// Required config
$ config = [
' username ' => $ username ,
' password ' => $ password
];
// Get an instance
$ instance = new PersonalityInsights ( $ config );
// Add some text
$ text = file_get_contents ( ' sample.txt ' );
$ instance -> addText ( $ text );
// Get the insights
$ insights = $ instance -> getInsights ();
Некоторые вещи, которые вы можете установить
// Set standard options
$ instance -> config -> setConsumptionPreferences ( true );
$ instance -> config -> setRawScores ( true );
$ instance -> config -> setVersion ( ' 2017-01-01 ' );
$ instance -> config -> setContentTypeHeader ( ' application/json ' );
$ instance -> config -> setContentLanguageHeader ( ' en ' );
$ instance -> config -> setAcceptHeader ( ' application/json ' );
$ instance -> config -> setAcceptLanguageHeader ( ' en ' );
$ instance -> config -> setCsvHeaders ( false );
// https://watson-api-explorer.mybluemix.net/apis/personality-insights-v3#!/personality45insights/profile
// Set caching of requests
$ instance -> config -> setCaching ( false );
// Opt in to Watson tracking (off by default)
$ instance -> config -> setOptOut ( false );
// All config options
$ config = [
' username ' => $ username ,
' password ' => $ password ,
' version ' => $ version ,
' raw_scores ' => $ boolean ,
' consumption_preferences ' => $ boolean ,
' cache ' => $ boolean ,
];
Вы также можете добавить ContentItem
напрямую.
/**
* All possible content item config options. Only the `text` one is
* required.
*
* https://watson-api-explorer.mybluemix.net/apis/personality-insights-v3#!/personality45insights/profile
*
* Defaults
*
* id - An md5 of the text
* created - 0
* updated - 0
* contenttype - 'text/plain'
* language - en
* parentid - null
* reply - false
* forward - false
*/
$ contentConfig = [
' text ' => $ text , // The only required value
' id ' => $ string , // Is the md5 of the text if not set
' created ' => $ timestamp , // Is 0 if not set
' updated ' => $ timestamp , // Is 0 if not set
' contenttype ' => $ string , // `text/plain` or `text/html`
' language ' => $ string , // `en` or similar
' parentid ' => $ string , // The ID of a parent item. Null if not set
' reply ' => $ boolean , // Indicates if it is a reply to another
' forward ' => $ boolean , // Indicates if it is a forwarded text
];
$ contentItem = new ContentItem ( $ contentConfig );
$ contentItem -> getContentItemJson ();
$ instance -> addNewContentItem ( $ contentItem );
У IBM есть режим, который сохраняет копию ваших данных на своей стороне для очевидного обучения Watson. Обычно это отказ.
Поскольку это не указано явно, мы решили отключить эту функцию по умолчанию, поэтому, если вы хотите помочь Watson в обучении, вы можете сделать это, согласившись, как описано в примерах выше.
По умолчанию этот пакет не допускает никакого отслеживания.
Это источник некоторой путаницы. Это дата в формате «ГГГГ-ММ-ДД», и Watson будет использовать любую версию, существовавшую на тот момент.
Полная цитата
Запрошенная версия ответа в формате даты в формате ГГГГ-ММ-ДД; например, укажите 20 октября 2016 г. 20 октября 2016 г. Указанная дата не обязательно точно соответствует версии службы; служба отвечает в формате ответа, версия которого не позднее указанной вами даты. Если вы укажете дату, более раннюю, чем исходный выпуск версии 3, служба вернет формат ответа для этой первой версии. Если вы укажете дату, которая находится в будущем или позже, чем самая последняя версия, служба возвращает формат ответа для последней версии.
Вы можете загрузить свои учетные данные в файле json
или получить их из консоли разработчика.
Подробности о IBM
Покрытие тестами составляет 100 %, но вы также можете включить живой тест API, чтобы проверить, все ли работает в этом направлении. Хотя это не обязательно, но это может быть полезно.
Выполнение живого тестового экспорта
export DO_LIVE_API_TESTS=true
Вы также должны включить свой настоящий credentials.json
в корень проекта (он уже есть в gitignore
).
Который затем проведет живой тест.
В настоящее время проект имеет 100% тестовое покрытие, пожалуйста, убедитесь, что при участии вы обновляете тесты. Более подробную информацию можно найти на сайте CONTRIBUTING.md.