フレームワークに依存しない、完全に単体テストされた IBM Watson Personality Insights API 用クライアント。
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 の学習を支援するために を使用する場合は、上記の例で概説したようにオプトインすることでそうすることができます。
デフォルトでは、このパッケージはいかなる種類の追跡も許可しません。
これが混乱の原因です。これは「YYYY-MM-DD」形式の日付であり、Watson はその時点で存在していたバージョンを使用します。
完全な引用
YYYY-MM-DD 形式の日付としての応答形式の要求されたバージョン。たとえば、2016 年 10 月 20 日の場合は 2016-10-20 と指定します。指定する日付は、サービスのバージョンと正確に一致する必要はありません。サービスは、指定された日付以降のバージョンの応答形式で応答します。バージョン 3 の最初のリリースより前の日付を指定すると、サービスはその最初のバージョンの応答形式を返します。将来の日付、または最新バージョンより後の日付を指定した場合、サービスは最新バージョンの応答形式を返します。
認証情報はjson
ファイルでダウンロードすることも、開発者コンソールから取得することもできます。
IBMの詳細
テスト カバレッジは 100% ですが、ライブ API テストを含めて、すべてが機能しているかどうかを確認することもできます。そうする必要はありませんが、役立つ場合があります。
ライブテストのエクスポートを行うには
export DO_LIVE_API_TESTS=true
実際のcredentials.json
プロジェクトのルートに含める必要もあります (すでにgitignore
にあります)。
これでライブテストが実行されます。
現在、プロジェクトのテスト カバレッジは 100% です。貢献する際は必ずテストを更新してください。詳細については、CONTRIBUTING.md を参照してください。