DEPRECATED: this repo is no longer actively maintained. It can still be used as reference, but may contain outdated or unpatched code.
The IBM Watson Personality Insights service uses linguistic analysis to extract cognitive and social characteristics from input text such as email, text messages, tweets, forum posts, and more. By deriving cognitive and social preferences, the service helps users to understand, connect to, and communicate with other people on a more personalized level.
Give it a try! Click the button below to fork into IBM DevOps Services and deploy your own copy of this application on Bluemix.
-
Create a Bluemix Account
Sign up in Bluemix or use an existing account. Watson Services in Beta are free to use.
-
Download and install the Cloud-foundry CLI tool.
-
Edit the
manifest.yml
file and change the<application-name>
to something unique.
applications:
- services:
- personality-insights-service
name: <application-name>
path: webApp.war
memory: 512M
The name you use determines your initial application URL, e.g.,
<application-name>.mybluemix.net
.
- Connect to Bluemix in the command line tool.
$ cf api https://api.ng.bluemix.net
$ cf login -u <your-user-ID>
- Create the Personality Insights service in Bluemix.
$ cf create-service personality_insights tiered personality-insights-service
-
Download and install the ant compiler.
-
Build the project.
You need to use the Apache
ant
compiler to build the Java application. For information about theant
compiler and to download a copy for your operating system, visit ant.apache.org.
$ ant
- Push it live!
$ cf push -p output/webApp.war
The application uses the WebSphere Liberty profile runtime as its server, so you need to download and install the profile as part of the steps below.
-
Copy the credentials from your
personality-insights-service
service in Bluemix toDemoServlet.java
. You can use the following command to see the credentials:$ cf env <application-name>
Example output:
System-Provided: { "VCAP_SERVICES": { "personality-insights": [{ "credentials": { "url": "<url>", "password": "<password>", "username": "<username>" }, "label": "personality-insights", "name": "personality-insights-service", "plan": "IBM Watson Personality Insights Monthly Plan" }] } }
You need to copy the
username
,password
, andurl
. -
Install the Liberty profile runtime (for Mac OSX, check this guide).
-
Create a Liberty profile server in Eclipse.
-
Add the application to the server.
-
Start the server.
-
Go to
http://localhost:9080/app/
to see the running application.
The application has i18n support and is available in English and Spanish. The language is automatically selected from the browser's locale.
To add a new translation follow the steps below:
- Translating the static text:
1. Locate the
messages.properties
file present in thesrc/com/ibm/cloudoe/samples/i18n
directory. This file includes all the messages and labels in English. 1. Copymessages.properties
and name the new file with the formatmessages_ll_CC.properties
ormessages_ll.properties
, wherell
is the language code andCC
is the country code. For example, a new translation for argentinian Spanish would be named aftermessages_es_AR.properties
. You may omit the country code to make the translation global for the language. 1. Translate each English string to the desired language and save it. - Translating the personality summary:
1. Locate the JSON files present in
WebContent/json/
directory. These are: *facets.json
*needs.json
*summary.json
*traits.json
*values.json
1. Copy each file and name it with the format<filename>_ll-CC.json
or<filename>_ll-CC.json
. For example, a Portuguese language translations forfacets.json
will result in a new file namedfacets_pt.json
, an UK English translation fortraits.json
will result in a new file namedtraits_en-UK.json
. 1. Translate all the strings present in the new files to the desired language and save them.
To troubleshoot your Bluemix application, the most useful source of information is the log files. To see them, run the following command:
$ cf logs <application-name> --recent
This sample code is licensed under Apache 2.0. Full license text is available in LICENSE.
This sample code is using jQuery and d3, both are using MIT license
See CONTRIBUTING.
Find more open source projects on the IBM Github Page.