Getting started with Watson Personality Insights

Published on by

Getting started with Watson Personality Insights image

One of the most important things as a business owner is being able to understand your customers’ needs and wants; such that you are able to offer them a personalized experience. This works great if you know your customers on a personal level, but what if you don’t?

Imagine you are the owner of a website and you want to offer a personalized holiday package to your users. How would you go about doing that without knowing what most of your users’ taste and preferences are?

Sure you could send out a survey from your site, then collect a huge amount of data, then process, analyze and finally being able to tell what package fits which user. This seems tiresome and plus people’s tastes and preferences change over time and you would have to repeat this process over and over again each time you want to offer them something new. There has to be a better way, and there is.

Enter IBM Watson

Watson is a powerful AI from the folks at IBM, you may have heard of it’s stunning victories over the greatest champions of Jeopardy back in 2011. Since then Watson has come a long way and has grown even more.

From language translation to visual recognition to personality analysis, Watson offers a whole range of services.

The good news is that most of Watson’s capabilities are available through it’s extensive REST API, thus allowing us to add some cool cognitive features to our apps.

Personality Insights

Coming back to our initial problem of getting to know our user’s preferences, Watson has a service that can help us with that. The Personality Insights service extracts and analyzes a spectrum of personality attributes to help discover actionable insights about people and entities, and in turn guides end users to highly personalized interactions.

All we need to supply to Watson is a load of text (such as social media posts, emails, blogs, or other communication) written by one individual and in return we get a tree of cognitive and social characteristics for that person.

Personality Insights can analyse text written in English, Spanish, Arabic and Japanese.

The service outputs personality characteristics that are divided into three dimensions: the Big 5, Values, and Needs. Each of these models, contains characteristic such as Agreeableness, Openness, Curiosity and so on. These values are output as percentiles, for example a user might get the following score for Values :

We can hence easily make assumptions about the user’s preferences based on his/her personality traits. You can try a demo of the Personality insights service here to get a feel of the input to and output from the service; you can even analyze your own personality using some of the text you’ve written, just for fun.

Demo Apps

Investment Advisor, is a demo application that makes use of Watson Personality Insights and Tradeoff Analytics services. The goal of the app is to show how the different Watson services can be used together in order to create cognitive applications.

Here is a list of other demo apps that can be used as references for bigger and more ambitious projects.

Integrating Personality Insights in a Laravel App

We can easily integrate Personality Insights with a Laravel 5 app using the Laravel 5 Personality Insights package.

The package provides a little wrapper around the Watson API and provide some helpful methods that makes passing data to the API and working with its’ responses super easy.

For instance a request to get the User’s Openness trait would be as simple as :

$insights = PersonalityInsights::addContentItems($dataToAnalyse);
$openness = $insights->getInsight('Openness');

There exists also some methods for testing analysis level returned by Watson:


Note that the current version of the package works with version 2 of Watson’s Personality Insights API; support for version 3 is currently under development and should be available soon.

Percy Mamedy photo

Just a guy who loves Laravel and VueJs...


Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Manage your Laravel app as if it was a CMS – edit any text on any page or in any email without touching Blade or language files.

Visit Paragraph
Laravel Forge logo

Laravel Forge

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Forge
Tinkerwell logo


The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $7500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
Kirschbaum logo


Providing innovation and stability to ensure your web application succeeds.

Shift logo


Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Bacancy logo


Supercharge your project with a seasoned Laravel developer with 4-6 years of experience for just $2500/month. Get 160 hours of dedicated expertise & a risk-free 15-day trial. Schedule a call now!

Lucky Media logo

Lucky Media

Bespoke software solutions built for your business. We ♥ Laravel

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel E-Commerce

E-Commerce for Laravel. An open-source package that brings the power of modern headless e-commerce functionality to Laravel.

Lunar: Laravel E-Commerce
LaraJobs logo


The official Laravel job board

All Green logo

All Green

All Green is a SaaS test runner that can execute your whole Laravel test suite in mere seconds so that you don't get blocked – you get feedback almost instantly and you can deploy to production very quickly.

All Green
Larafast: Laravel SaaS Starter Kit logo

Larafast: Laravel SaaS Starter Kit

Larafast is a Laravel SaaS Starter Kit with ready-to-go features for Payments, Auth, Admin, Blog, SEO, and beautiful themes. Available with VILT and TALL stacks.

Larafast: Laravel SaaS Starter Kit
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
Rector logo


Your partner for seamless Laravel upgrades, cutting costs, and accelerating innovation for successful companies


The latest

View all →
Asserting Exceptions in Laravel Tests image

Asserting Exceptions in Laravel Tests

Read article
Reversible Form Prompts and a New Exceptions Facade in Laravel 11.4 image

Reversible Form Prompts and a New Exceptions Facade in Laravel 11.4

Read article
Basset is an alternative way to load CSS & JS assets image

Basset is an alternative way to load CSS & JS assets

Read article
Integrate Laravel with Stripe Connect Using This Package image

Integrate Laravel with Stripe Connect Using This Package

Read article
The Random package generates cryptographically secure random values image

The Random package generates cryptographically secure random values

Read article
Automatic Blade Formatting on Save in PhpStorm image

Automatic Blade Formatting on Save in PhpStorm

Read article