The following sections document the new features and changes that were included for each release of the Personality Insights service. Unless otherwise noted, all changes were backward-compatible and were automatically and transparently available to all new and existing applications.
Note: The release notes document the service version and interface version for all recent updates. You specify the interface version with the
versionquery parameter to use new features and functionality made available with that update. The service returns both versions with the
The service changed how it handles requests with large amounts of input content. The service accepts a maximum of 20 MB of content. However, with the models based on GloVe, accuracy levels off at around 3000 words of input. This is different from the older models, where more text produced greater accuracy. In general, the service no longer needs as much content to produce an accurate profile. But additional content requires additional processing time, which can cause a request to time out before it completes.
Therefore, the service now extracts and uses only the first 250 KB of content, not counting any HTML or JSON markup, from large requests. This figure does not map to an exact number of words, which varies based on the language and nature of the text. In English, for example, average word length is between four and five characters, so this figure provides around 50,000 words, which is at least 15 times more words than the service needs. The
word_count field of the response JSON indicates the number of words that the service actually uses for a request, which can be less than the number of words in the input.
Because it still bases a profile on many more words than it strictly needs for maximum accuracy, the service produces a profile that is just as accurate as in the past. However, the service responds much faster than before. For requests for which it uses only a portion of the input content, the service returns the following
CONTENT_TRUNCATED warning message to make the user aware of the fact:
For maximum accuracy while also optimizing processing time, only the first 250KB of input text (excluding markup) was analyzed. Accuracy levels off at approximately 3K words so this did not affect the accuracy of the profile.
For more information, see Guidelines for providing sufficient input.
The service was updated with small security fixes.
The Personality Insights service was updated with small enhancements to logging.
The Personality insights service was updated with small security and defect fixes, and to improve metering of API calls.
|Category||Consumption preferences removed|
The Personality insights service was updated with a few small defect fixes.
For Arabic input text, the Personality Insights service now uses the open-source word-embedding technique called GloVe to develop a personality profile. The service no longer uses the Linguistic Inquiry and Word Count (LIWC) psycholinguistic dictionary for any language. For more information about how the service develops a personality portrait, see How personality characteristics are inferred.
namefields of the
ConsumptionPreferencesNodeobjects are now returned with localized strings in the language specified with the
The Personality Insights service and its API were updated significantly. The API was incremented from version 2 to version 3 and offers new features. The remaining sections of this release note describe the changes in detail.
Version 3 is not backward-compatible with version 2. You are encouraged to migrate to version 3 to take advantage of the new features and changes. Migration to version 3 consists only of updating and redeploying your applications to use the changes described in these release notes for the new version. You do not need to create a new instance of the service in Bluemix; you need only call the
Note: Version 2 of the Personality Insights API will be removed from service in the near future. You are strongly encouraged to migrate to version 3 as soon as possible. For now, you can access reference documentation for version 2 at API reference for v2; you can also access the interactive tool for testing calls to version 2 and viewing live responses from the service at API explorer for v2.
This documentation now describes version 3 of the Personality Insights API. The following sections summarize the changes for the new version of the interface:
profilemethod, see Input: Requesting a profile.
profilemethod's response, see Output: Understanding a profile.
Parameters of the
profile method have changed as follows:
The API now offers an optional query parameter named
consumption_preferences. The parameter accepts a boolean value that indicates whether information inferred about consumption preferences is to be returned with the results. By default, the information is not included in the response. For more information, see New consumption preferences feature.
The API now includes a required query parameter named
version. The parameter accepts a string that identifies the requested version of the API and the response format as a date in the form
YYYY-MM-DD; for example, specify
2016-10-20 for October 20, 2016. This parameter allows the service to update its API or response format for new versions without breaking existing clients. The initial string for version 3 of the API is
The date that you specify does not need to match a version of the service exactly; the service uses the version that is no later than the date you provide. If you specify a date that is earlier than the release date of version 3, the service uses version 3 of the API. If you specify a date that is in the future or otherwise later than the most recent version, the service uses the latest version.
The name of the
include_raw query parameter is now
The name of the
headers query parameter is now
The consumption preferences feature provides an indication of the author's tendency to exhibit different consumer tendencies. When you pass the
consumption_preferences query parameter with a value of
true to the
profile method, the service returns the following additional results with the
consumption_preferences field that provides an array of
ConsumptionPreferencesCategoryNode object includes the following fields:
consumption_preference_category_id: The ID of one of the consumption preferences categories
name: The user-visible name of the category.
consumption_preferences: An array of
ConsumptionPreferencesNodeobjects that provides results inferred from the input text for the individual preferences of the category
ConsumptionPreferencesNode object includes the following fields:
consumption_preference_id: The ID of one of the consumption preferences.
name: The user-visible name of the consumption preference.
score: The score for the consumption preference. For many preferences,
0.5indicates neutrality, and
1.0indicates likely. The scores for some preferences are binary and do not allow a neutral value. The score is an indication of preference based on the results inferred from the input text, not a normalized percentile.
For more information about the consumption preferences, see Consumption preferences.
Note: Currently, the
namefield for both consumption preferences objects is always returned in English, regardless of the language specified with the
JSON input and output objects and their fields have been simplified and clarified as follows:
The following fields have been removed from JSON
ContentItem objects that you can pass to the
profile method with a request:
You pass these objects in the body of a JSON request as elements of the
contentItems array of the
The following fields of the JSON
Profile object that is returned by the
profile method have changed:
The following fields have been removed:
tree field has been removed. It is replaced by four new fields:
personalityfor Big Five personality characteristics.
needsfor Needs characteristics.
valuesfor Values characteristics.
behaviorfor temporal results about the distribution of the content over the days of the week and the hours of the day. This field is returned only for JSON input that is timestamped.
This change effectively moves the results one level higher in the JSON
Profile object, eliminating a level of recursion.
The name of the
processed_lang field is now
The following fields of JSON
TraitTreeNode objects that are returned by the
profile method have been renamed:
idfield of the JSON
TraitTreeNodeobject is now
percentagefield of the JSON
TraitTreeNodeobject is now
The following fields of JSON
TraitTreeNode objects that are returned by the
profile method have been removed:
The service now reports an average Mean Absolute Error (MAE) that qualifies the precision of its results. For more information about the MAE for different amounts of input text, see Guidelines for providing sufficient input.
TraitTreeNode objects are still returned for the
values fields of the
Profile object. But the
behavior field returns an array of JSON objects named
BehaviorNode that have the following fields:
In addition, behavioral information is no longer returned as a tree of values. The output consists of a single array that lists all temporal characteristics (day of week and time of day).
The name of the
id field of the JSON
Warnings object that can be returned by the
profile method is now
The JSON IDs that the service returns for the
id) field of the
TraitTreeNode and the new
BehaviorNode object have changed as follows:
behavior_0000) rather than 12-hour time (for example,
The optional column headers that the service can return for CSV output have changed as follows:
trait_idof the JSON output also apply to the CSV headers.
source_idcolumns are no longer returned.
Version 2 of the service's API included a deprecated
visualize method that was used in an earlier release to visualize the results of a call to the
profile method. The
For Spanish input text, the Personality Insights service now uses the open-source word-embedding technique called GloVe to develop a personality profile; the service no longer uses the Linguistic Inquiry and Word Count (LIWC) psycholinguistic dictionary for Spanish input. The service began using the new model for English input text on August 31; it will apply the new model to the remaining input languages in the near future. For more information about the new model, see How personality characteristics are inferred.
The Personality Insights service now uses an open-source word-embedding technique called GloVe to develop a personality profile; for more information, see How personality characteristics are inferred. At this time, the service uses the new approach only for English input text. For other languages, the service continues to use the Linguistic Inquiry and Word Count (LIWC) psycholinguistic dictionary. Future versions of the service will use the open-vocabulary approach for all languages.
For the new model used for English input, the service reports the average Mean Absolute Error (MAE) of the results for its trained model. For information about how the MAE changes with different amounts of input text, see Guidelines for providing sufficient input. Future versions of the service will report the MAE for non-English models and will recommend that you use it, as opposed to sampling errors, to determine how the precision of the service changes based on the amount of input text that you provide.
PARTIAL_TEXT_USEDwarning with the following message:
The text provided to compute the profile was trimmed for performance reasons. This action does not affect the accuracy of the output, as not all of the input text was required.
The pricing plans for the service have changed to offer lower prices for Personality Insights users. For more information, see the Personality Insights service in Bluemix®.
The list of supported response languages that you can specify with the
Accept-Language header now includes the following:
en(English, the default)
For more information, see Language support.
profile method can now return the following HTTP status codes:
The method no longer returns 503 Service Unavailable. For more information about possible response codes, see the API reference.
The update includes additional defect fixes and internal improvements.
The Personality Insights service was updated for defect fixes and internal improvements. An additional top-level field,
warnings, was also added to the JSON results returned by the service; for more information, see the API reference.
The Personality Insights service was updated for defect fixes and internal improvements.
ar), English (
en), Spanish (
es), and Japanese (
ja). To specify the language, use the HTTP
Content-Languageheader for plain text and HTML input or the
languageproperty of the
ContentItemobject for JSON input.
You can use any combination of languages for the input and response. In both cases, if you do not indicate a language, the service defaults to English. For more information, see Language support. Also refer to the blog post Arabic and Japanese support is now available for IBM Watson Personality Insights for additional information.
Note: Because it requires significantly more computing cycles to analyze than other languages, Arabic content takes markedly longer to process. Although the service supports the same 20 MB restriction on the amount of input text for all languages, the practical limit for Arabic content may be lower to avoid timeouts. Japanese content also takes longer to process, but the delays are of less meaningful significance than they are for Arabic.
Content-Languageheader of the
profilemethod. For information about specifying a language, see Specifying request and response languages.
include_rawquery parameter of the
true. For more information, see Interpreting the numeric results.
As of February 23, 2015, the Personality Insights service is the generally available (GA) version of the former User Modeling service, which was available as a beta release. The GA release requires that users migrate to an instance of the new service. The following differences exist between the beta and GA versions of the service.
user_modelingand a service plan of
"IBM Watson Personality Insights Monthly Plan"instead of
profilemethod accepts two new input formats. The
Content-Typeheader now accepts the input formats plain text (
text/plain), which is the default, and HTML (
text/html), in addition to JSON (
profilemethod now returns a new output format. The
Acceptheader now accepts the output format CSV (
text/csv) in addition to JSON (
application/json), which is the default.
profilemethod now includes a new output element,
sampling_error, for each characteristic for which it reports a percentage value. The sampling error is returned as a double value that indicates the service's level of confidence in the author's percentile based on the input text.
visualizemethod is now deprecated and will be removed entirely in a future release. You can use the