DEV Community

Himanshu
Himanshu

Posted on

Automated Behaviour Prediction Using Graphology

Hi! Himanshu Bhaskarthis side. This is the project which I have done in my final year of graduation. Contributed along with my two friends Aditya Garg and Paras Jain.

About

Graphology was the basis of this research project, which
claims to predict personality of a person through handwriting traits/features.

We have tried to predict the personality traits(like optimistic, egostic,
emotional, kind..etc) by finding handwriting traits(like pen pressure, slant of word, spacing between lines, spacing between words,etc,.) automatically by using machine learning.

Methodology

Methodology that is used throughout the research, from collection of datasets to the predictions and accuracy of results is show in the diagram below.
Alt Text

Data Collection

Data is collected by five different graphologists, we gave them handwriting samples and they predict personality for each sample. We wanted the unbiased data that is why we have taken the data from different graphologists.

Feature Extraction

Features like Pen Pressure, Margin, Spacing between lines, Spacing between words, etc are calculated using opencv and our constructive algorithms.We have used techniques like Binarization of Image, Segmentation, Polygonization, Thresholding e.t.c. As shown in diagram below:-
Alt Text

Building Machine Learning Model

Logistic regression model is used to estimate the behavioural characteristics of a person. A feature vector is created for every handwriting and it is mapped to the predicted labels given by the graphologist manually. For every feature, we build a logistic regression model and take a boolean value from each feature model, whether that particular feature is present or not in an individual’s handwriting.

Results

  • Result 1: 30 samples were taken for training and 10 for testing. Logistic Regression algorithm is used. Accuracy achieved 40.2%.
  • Result 2: 60 samples were taken for training and 20 for testing. Logistic Regression algorithm is used. Accuracy achieved 50.6%.
  • Result 3: 60 samples were taken for training and 20 for testing. SVM algorithm is used. Accuracy achieved 52.3%.

Screenshots

Alt Text
Alt Text
Alt Text

For more details check out our published paper here

Top comments (0)