Laravel Idea for PhpStorm - Full-featured IDE for productive artisans!

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.

image
Laravel Idea

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

Visit Laravel Idea
Curotec logo

Curotec

World class Laravel experts with GenAI dev skills. LATAM-based, embedded engineers that ship fast, communicate clearly, and elevate your product. No bloat, no BS.

Curotec
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
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
Cut PHP Code Review Time & Bugs into Half with CodeRabbit logo

Cut PHP Code Review Time & Bugs into Half with CodeRabbit

CodeRabbit is an AI-powered code review tool that specializes in PHP and Laravel, running PHPStan and offering automated PR analysis, security checks, and custom review features while remaining free for open-source projects.

Cut PHP Code Review Time & Bugs into Half with CodeRabbit
Join the Mastering Laravel community logo

Join the Mastering Laravel community

Connect with experienced developers in a friendly, noise-free environment. Get insights, share ideas, and find support for your coding challenges. Join us today and elevate your Laravel skills!

Join the Mastering Laravel community
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
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

The latest

View all →
Auto-translate Application Strings with Laratext image

Auto-translate Application Strings with Laratext

Read article
Simplify Factory Associations with Laravel's UseFactory Attribute image

Simplify Factory Associations with Laravel's UseFactory Attribute

Read article
Improved Installation and Frontend Hooks in Laravel Echo 2.1 image

Improved Installation and Frontend Hooks in Laravel Echo 2.1

Read article
Filter Model Attributes with Laravel's New except() Method image

Filter Model Attributes with Laravel's New except() Method

Read article
Arr::from() Method in Laravel 12.14 image

Arr::from() Method in Laravel 12.14

Read article
Streamline API Resources with Laravel's Fluent Methods image

Streamline API Resources with Laravel's Fluent Methods

Read article