Can we fool liers?
This was a project for the course Cognitive Behavioral and Social Data. Some databases were given to the students, composed by honest and dishonest response of the IADQ questionnaire, a psyccological test for the Adjustment disorder. The participants were asked to respond first in a dishonest way, exagerrating the adjusment disorder syntoms, with the purpose of deceive the test and gain some economic benefits from the disease.
The project has two objectives: the first one was to recognize if a subject lies and then reconstruct his honest answer. This is very interesting, because there are no way to identify a lier in a psycological test, except for some control questions that psycologists insert in the questionnaires. Expecially nowadays there is no way to reconstruct the possible honest response.
The project was really challenging and to be honest our work did not resolve this problem, but I think we faced in an original way (expecially with the method Brute Force we implemented). The major problem was the data: we had a dataset of 450 answers, 225 honest and 225 dishonest, and it’s very difficult to generalize and create a general algorithm. Infact how can we state if a subject lies in a dataset of 225 questionnaire answers? we need more subjects, in order to enrich the diversity of answers given by liers.
We made also a web-app that caracterizes a possible future implementation, in which a psyclogist load the answers of the questionnaire and the algorithm gives the dishonest response and their honest reconstruction.
Here I provide a Little Demo: and a Test File
Here i reported the final results (discussed deeply in the colab notebook).