Ein Framework-unabhängiger, vollständig einheitlich getesteter Client für die IBM Watson Personality Insights API.
Für 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 ();
Einige Dinge können Sie einstellen
// 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 ,
];
Sie können ein ContentItem
auch direkt hinzufügen
/**
* 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 verfügt über einen Modus, der eine Kopie Ihrer Daten für die offensichtliche Schulung von Watson auf seiner Seite behält. Dies ist normalerweise ein Opt-out.
Da dies nicht ausdrücklich klargestellt wird, haben wir uns entschieden , die Funktion standardmäßig zu deaktivieren. Wenn Sie Watson also beim Lernen unterstützen möchten, können Sie dies tun, indem Sie sich wie in den Beispielen oben beschrieben dafür anmelden.
Standardmäßig erlaubt dieses Paket keinerlei Nachverfolgung.
Dies ist die Quelle einiger Verwirrung. Dies ist ein Datum im Format „JJJJ-MM-TT“ und Watson verwendet die zu diesem Zeitpunkt gültige Version.
Vollständiges Zitat
Die angeforderte Version des Antwortformats als Datum in der Form JJJJ-MM-TT; Geben Sie beispielsweise 20.10.2016 für den 20. Oktober 2016 an. Das von Ihnen angegebene Datum muss nicht genau mit einer Version des Dienstes übereinstimmen. Der Dienst antwortet mit dem Antwortformat, dessen Version spätestens das von Ihnen angegebene Datum ist. Wenn Sie ein Datum angeben, das vor der Erstveröffentlichung von Version 3 liegt, gibt der Dienst das Antwortformat für diese erste Version zurück. Wenn Sie ein Datum angeben, das in der Zukunft oder auf andere Weise später als die neueste Version liegt, gibt der Dienst das Antwortformat für die neueste Version zurück.
Sie können Ihre Anmeldeinformationen in einer json
Datei herunterladen oder von der Entwicklerkonsole abrufen.
Details zu IBM
Die Testabdeckung beträgt 100 %, Sie können aber auch einen Live-API-Test einbinden, um zu sehen, ob diesbezüglich alles funktioniert. Das sollte zwar nicht nötig sein, aber es kann nützlich sein.
Um einen Live-Testexport durchzuführen
export DO_LIVE_API_TESTS=true
Sie müssen auch Ihre echte credentials.json
in das Stammverzeichnis des Projekts einfügen (sie befindet sich bereits in gitignore
).
Das wird dann den Live-Test machen.
Derzeit besteht eine 100-prozentige Testabdeckung im Projekt. Bitte stellen Sie sicher, dass Sie die Tests aktualisieren, wenn Sie Beiträge leisten. Weitere Informationen finden Sie unter CONTRIBUTING.md