Un client indépendant du framework et entièrement testé unitairement pour l'API IBM Watson Personality Insights.
Pour 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 ();
Certaines choses que vous pouvez définir
// 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 ,
];
Vous pouvez également ajouter un ContentItem
directement
/**
* 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 dispose d'un mode qui conserve une copie de vos données de son côté pour la formation apparente de Watson. Il s’agit normalement d’une désinscription.
Comme cela n'est pas explicitement précisé, nous avons décidé de désactiver par défaut. Ainsi, si vous souhaitez aider Watson à apprendre, vous pouvez le faire en vous inscrivant comme indiqué dans les exemples ci-dessus.
Par défaut, ce package ne permettra aucun suivi d'aucune sorte.
C'est la source d'une certaine confusion. Il s'agit d'une date au format « AAAA-MM-JJ » et Watson utilisera la version disponible à ce moment-là.
Devis complet
La version demandée du format de réponse sous forme de date au format AAAA-MM-JJ ; par exemple, spécifiez 2016-10-20 pour le 20 octobre 2016. Il n'est pas nécessaire que la date que vous spécifiez corresponde exactement à une version du service ; le service répond avec le format de réponse dont la version est au plus tard à la date que vous fournissez. Si vous spécifiez une date antérieure à la version initiale de la version 3, le service renvoie le format de réponse pour cette première version. Si vous spécifiez une date ultérieure ou ultérieure à la version la plus récente, le service renvoie le format de réponse de la dernière version.
Vous pouvez télécharger vos informations d'identification dans un fichier json
ou les obtenir depuis la console développeur.
Détails sur IBM
La couverture des tests est de 100 %, mais vous pouvez également inclure un test d'API en direct pour voir si tout fonctionne à cette fin. Cela ne devrait pas être nécessaire, mais cela peut être utile.
Pour effectuer un test d'exportation en direct
export DO_LIVE_API_TESTS=true
Vous devez également inclure votre véritable credentials.json
à la racine du projet (il est déjà dans le gitignore
).
Lequel fera ensuite le test en direct.
Il y a actuellement une couverture de tests à 100 % dans le projet, veuillez vous assurer que lorsque vous contribuez, vous mettez à jour les tests. Pour plus d'informations, voir CONTRIBUTING.md