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:

$insights->isAnalysisVeryStrong();
$insights->isAnalysisStrong();
$insights->isAnalysisWeak();
$insights->isAnalysisVeryWeak();

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...

Cube

Laravel Newsletter

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

Laravel Forge logo

Laravel Forge

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

Laravel Forge
Tinkerwell logo

Tinkerwell

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

Tinkerwell
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
Laravel Idea for PhpStorm logo

Laravel Idea for PhpStorm

Ultimate PhpStorm plugin for Laravel developers, delivering lightning-fast code completion, intelligent navigation, and powerful generation tools to supercharge productivity.

Laravel Idea for PhpStorm
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Shift logo

Shift

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

Shift
Bacancy logo

Bacancy

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!

Bacancy
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

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

LaraJobs

The official Laravel job board

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant 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
Supercharge Your SaaS Development with FilamentFlow: The Ultimate Laravel Filament Boilerplate logo

Supercharge Your SaaS Development with FilamentFlow: The Ultimate Laravel Filament Boilerplate

Build your SaaS application in hours. Out-of-the-box multi-tenancy and seamless Stripe integration. Supports subscriptions and one-time purchases, allowing you to focus on building and creating without repetitive setup tasks.

Supercharge Your SaaS Development with FilamentFlow: The Ultimate Laravel Filament Boilerplate
JetShip - Laravel Starter Kit logo

JetShip - Laravel Starter Kit

A Laravel SaaS Boilerplate and a starter kit built on the TALL stack. It includes authentication, payments, admin panels, and more. Launch scalable apps fast with clean code, seamless deployment, and custom branding.

JetShip - Laravel Starter Kit
Rector logo

Rector

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

Rector
MongoDB logo

MongoDB

Enhance your PHP applications with the powerful integration of MongoDB and Laravel, empowering developers to build applications with ease and efficiency. Support transactional, search, analytics and mobile use cases while using the familiar Eloquent APIs. Discover how MongoDB's flexible, modern database can transform your Laravel applications.

MongoDB

The latest

View all →
Dynamic Mailer Configuration in Laravel with Mail::build image

Dynamic Mailer Configuration in Laravel with Mail::build

Read article
PHP 8.4 is released with Property Hooks, Class Instantiation without extra parenthesis, and more image

PHP 8.4 is released with Property Hooks, Class Instantiation without extra parenthesis, and more

Read article
Asymmetric Property Visibility in PHP 8.4 image

Asymmetric Property Visibility in PHP 8.4

Read article
Access Laravel Pulse Data as a JSON API image

Access Laravel Pulse Data as a JSON API

Read article
Laravel Forge adds Statamic Integration image

Laravel Forge adds Statamic Integration

Read article
PHPxWorld - The resurgence of PHP meet-ups with Chris Morrell image

PHPxWorld - The resurgence of PHP meet-ups with Chris Morrell

Read article