Skip to main content

Big 5 IPIP-NEO Personality Traits

Project description

Five Factor E Library 📦

version 1.4.0 python 3.7 | 3.8 | 3.9 | 3.10 | 3.11 PyPI Downloads

Representation of the Big Five

This project assesses a person's 🗣 personality based on an inventory of questions. The project uses the Big Five theory using the IPIP-NEO-120 and IPIP-NEO-300 model developed by Professor Dr. John A. Johnson, this is free representation of NEO PI-R™.

"The IPIP-NEO is not identical to the original NEO PI-R, but in my opinion it is close enough to serve as a good substitute. More and more people are beginning to use it in published research, so its acceptance is growing." - Dr. Johnson

The main idea of the project is to facilitate the use of Python developers who want to use IPIP-NEO in their projects. The project is also done in pure Python, it doesn't have any dependencies on other libraries.

Note: The project is based on the work of Dhiru Kholia, and is an adaptation of Neural7 for a version that can be reused in other projects of the company.

Synopsis 🌐

A little theory, the The Big Five or Five Factor is made up of 5 great human personalities also known as the O.C.E.A.N. Are they:

  • Openness
  • Conscientiousness
  • Extraversion
  • Agreeableness
  • Neuroticism

To compose each great personality there are 6 traits or facets, totaling 30 traits. The user must answer a questionnaire of 120 or 300 single choice questions with 5 options:

  • Very Inaccurate
  • Moderately Inaccurate
  • Neither Accurate Nor Inaccurate
  • Moderately Accurate
  • Very Accurate

For more information to demystify the Big Five, please see the article: Measuring the Big Five Personality Domains

Notes: User-selected answers follow the position:

Option Array
Very Inaccurate 1
Moderately Inaccurate 2
Neither Accurate Nor Inaccurate 3
Moderately Accurate 4
Very Accurate 5

Installation 🚀

The simplest way is to use PIP, like the command:

$ pip install five-factor-e

How to use 🔥

The answers must be in a standardized json, you can enter this template in the project folder data. To calculate the Big Five use the code snippet below:

from ipipneo import IpipNeo

IpipNeo(question=120).compute(sex=<>, age=<>, answers=JSON_STANDARD)

As an example you can load the project json to test.

import json, urllib.request

data = urllib.request.urlopen("https://raw.githubusercontent.com/neural7/five-factor-e/main/data/IPIP-NEO/120/answers.json").read()
answers = json.loads(data)

Calculate the Big Five for a 40-year-old man:

IpipNeo(question=120).compute(sex="M", age=40, answers=answers)

For a 25 year old woman:

IpipNeo(question=120).compute(sex="F", age=25, answers=answers)

Tests 🏗

For the tests it is necessary to download the repository. To run the unit tests use the command below:

$ ./run-test

If you want to make an assessment by answering the inventory of questions, just run:

$ python3 quiz.py

About data 📊

Inside the data data directory, there are examples of questions and answers. The most important is the response data entry which must follow the pattern of this file. Example:

{
   "answers":[
      {
         "id_question":50,
         "id_select":5
      },
      {
         "id_question":51,
         "id_select":2
      }
   ]
}

The order of answers does not affect the result.

The id question field refers to the question in this file. Obviously you may want to change the form of the questions, we are working on the English, Portuguese and Spanish translations.

Notes:

  • The order of answers does not affect the result;
  • You can rephrase the questions to your need, but don't change the question IDs, they are used by the algorithm.

Credits 🏆

  • Dr John A. Johnson
  • Dhiru Kholia

License 🙋

Resources 📗

Authors 👨‍💻

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

five-factor-e-1.4.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

five_factor_e-1.4.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file five-factor-e-1.4.0.tar.gz.

File metadata

  • Download URL: five-factor-e-1.4.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for five-factor-e-1.4.0.tar.gz
Algorithm Hash digest
SHA256 222e718aaa66150e8856ac4b0fa2f4a40b7553ba1e72e5460694ee01cbd2e523
MD5 b96d7e59db8ec3b0c2dbc30d2b3d89a1
BLAKE2b-256 5efc4e8dc80d80cb97935f0e3e192d30a35f7eb5f6f4fc502ba58686f9a48b44

See more details on using hashes here.

File details

Details for the file five_factor_e-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for five_factor_e-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d6562c2661e9a4b06a52647ffb4ee127a707b6459eed480f9c33887c07c19e5
MD5 5e9e59a59727c28af6e32a51cec08a4d
BLAKE2b-256 940e4853d34323b512d7e533cb4b5be6feddcaebb154e81ddb8c9db1adb0465c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page