watson personality insights php
Updated Documentation
用于 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 进行明显的训练。这通常是选择退出。
由于这一点没有明确说明,我们决定默认禁用,因此如果您这样做是为了帮助 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