Psychometric tests are a standard and scientific method used to measure individuals' mental capabilities and behavioural style. They identify the extent to which candidates' personality and cognitive abilities match those required to perform the role. Employers use the information collected from the psychometric test to identify the hidden aspects of candidates that are difficult to extract from a face-to-face interview.
In this repository, we will cover the following psychometric tests:
- Lewandowsky WMC battery : Working Memory Capacity (WMC) is a measure of the amount of information that can be held in mind and processed at one time. It is a key component of cognitive control and is strongly related to general intelligence. The Lewandowsky WMC battery is a set of tasks that measure WMC. The battery consists of four tasks: Memory Update, Operation Span, Sentence Span, and Spatial Short-Term Memory.
- RAN task: The Rapid Automatized Naming (RAN) task is a test of the speed and efficiency of naming digits. It is used to assess the speed of processing and the ability to quickly retrieve information from memory.
- Stroop: The Stroop test is a test of cognitive control that measures the ability to inhibit automatic responses. The test consists of three parts: a color naming task, a word reading task, and a color-word naming task.
- Flanker: The Flanker test is a test of cognitive control that measures the ability to inhibit irrelevant information. The test consists of a series of trials in which participants must respond to a central target while ignoring flanking distractors.
- PLAB test: The PLAB test is Pimsleur Language Aptitude Battery test. It is a test of language aptitude that is designed to measure an individual's ability to learn a foreign language.
- WikiVocab: The WikiVocab test is a test of vocabulary knowledge that is based on the Wikipedia corpus. It is designed to measure the breadth of an individual's vocabulary knowledge.
- Peabody Picture Vocabulary Test (PPVT): The PPVT is a test of receptive vocabulary that is designed to measure an individual's ability to understand and use words. It is widely used in clinical and educational settings to assess language development and cognitive abilities.
- Berg Card Sorting Test (BCST): The BCST is a test of cognitive flexibility that is designed to measure an individual's ability to adapt to changing rules and conditions. It is widely used in clinical and research settings to assess executive function and cognitive control.
git clone git@github.com:DiLi-Lab/MeRID-psychometric-tests.git
or
git clone https://github.com/DiLi-Lab/MeRID-psychometric-tests.git
Create an environment, e.g with miniconda.
Note: Please first check whether you have installed miniconda or anaconda on your computer. If not, please install miniconda or anaconda first. For more information, please refer to the miniconda documentation. If it is installed, please skip installing. Note: The steps of creating an environment is similar to the steps in the MultiplEYE wg1-experiment-implementation repository. For details, please refer to the guidelines in the wg1-experiment-implementation repository
- In the root directory of the repository, create a new environment with the following command:
conda create --name psychopy python=3.9
- Activate the environment:
conda activate psychopy
- Install the required packages:
pip install -r requirements.txt
Note: Mac user may encounter error saying "subprocess-exited-with-error" and "Could not find a local HDF5 installation". If you encounter this error, please run the following command first to install the HDF5 package before running the above command to install the required packages:
conda install -c anaconda hdf5
Then you can simply rerun the above command to install the required packages.
By default, the tests are in English. First, you need to download the language data for English in the MultiplEYE data repository. After downloading the data, unzip the data folder and put the folder languages/EN
in the root directory of the repository.
To run the tests in English, run the following command:
python run_merid_psychometric_tests.py
With this command, the tests will be run in the following settings which are defined in the config.yaml
file:
language: EN
full_language: English
country_code: X
lab_number: 1
random_seed: 123
font: Arial Unicode MS
It will run Lewandowsky WMC battery, RAN task, Stroop, Flanker, PLAB task, WikiVocab (under developing), Peabody, WCST sequentially, which are also defined in the config.yaml
file as True
:
wmc: True
ran: True
stroop_flanker: True
plab: True
peabody: True
wcst: True
The Lewandowsky WMC battery consists of four tasks: Memory Update, Operation Span, Sentence Span, and Spatial Short-Term Memory. By default, it will run all 4 tasks.
Note:
- Depends on your computer system, you may need to enable the audio input and output for the RAN task. If you encounter any issues with the audio input and output, please refer to the PsychoPy documentation.
- For Mac users, you may need to go to
System Preferences
->Security & Privacy
->Privacy
->Microphone
and enable your terminal or IDE to access the microphone. - For Windows users, you may need to go to
Settings
->Privacy
->Microphone
and enable your terminal or IDE to access the microphone. - For Linux users, you may need to go to
Settings
->Privacy
->Microphone
and enable your terminal or IDE to access the microphone.
- For Mac users, you may need to go to
- Depends on your computer system, you may need to enable the keyboard input. If you encounter any issues with the keyboard input, please refer to the PsychoPy documentation.
- For Mac users, you may need to go to
System Preferences
->Security & Privacy
->Privacy
->Input Monitoring
and add your terminal or IDE to the list. - For Windows users, you may need to go to
Settings
->Privacy
->Keyboard
and add your terminal or IDE to the list. - For Linux users, you may need to go to
Settings
->Privacy
->Keyboard
and add your terminal or IDE to the list.
- For Mac users, you may need to go to
Note: For more detailed instructions on what and how to translate, please refer to Section 6 in MultiplEYE Data Collection Guidelines. It contains the most up-to-date and official guideline for translating the tests.
- To run the tests in other languages, first go to the
languages/EN
folder. Copy theEN
folder and paste it in thelanguages
folder. Rename the copied folder to the desired language code, e.g.DE
for German. - Translate all the instructions and stimuli in the copied folder to the desired language.
- In the
instructions/
folder, for the xlsx instruction files, add a new column with the desired language code, e.g.DE
, and translate the instructions from theEN
column to the desired language. - Specifically, after translating the PLAB instruction, we suggestion you copy the texts in a slide or doc file and screenshot them since PLAB tasks take the form of images as some of its inputs. You can follow the screenshotting in the
EN/PLAB/
folder. - In the
instructions/
folder, for the WMC instruction which is a doc file, you need to translate the whole file and then screenshot the instruction according to the English version and put them in theDE/WMC/instructions
folder as png files. Name them exactly the same as the English version. - You need to translate the stimuli for WMC tasks in the
WMC/
folder, which are yaml files. - You don't need to translate anything for RAN tasks. This is why
RAN
folder is empty. - You have to translate the xlsx stimuli for Stroop and Flanker tasks in the
Stroop-Flanker/
folders, respectively. - You need to translate the xlsx stimuli for PLAB tasks in the
PLAB/
folder. - If you are using Peabody test in your language, you need to have the audio stimuli, image stimuli and instruction audios in the
Peabody/
folder, under subfoldersaudios_xx
,images_xx
andPeabody_instructions_audios_xx
, respectively. You also need to change the items and paths accordingly inppvt_practice.csv
andppvt_vocab.csv
files. - If you want a different language from English to be used in the GUI, you need to translate the
english.json
file in theui_data
folder, and save it aslanguage_name.json
, e.g.german.json
. Please make sure that the language name you are using matches the language full name in theconfig.yaml
file, but in lowercase.
- Rename the files in the copied folder to the desired language code so that instead of ending with
en
, they end with the desired language code, e.g.de
. - In the
config.yaml
file, change thelanguage
andfull_language
to the desired language code and the full language name, respectively. Also change thecountry_code
and thelab_number
to the desired values. For example, for German data collected in University of Zurich at DiLi lab, which is the 2nd lab collecting MultipLEYE data in Switzerland, the settings would be:
language: DE
full_language: German
country_code: CH
lab_number: 2
random_seed: 123
font: Arial Unicode MS
- If you want to run only some of the tests, change the corresponding values to
False
in theconfig.yaml
file. For example, if you only want to run the WMC battery and the PLAB test, the settings would be:
wmc: True
ran: False
stroop_flanker: False
plab: True
peabody: False
wcst: False
wiki_vocab: False
- Run the tests with the following command as for English:
python run_merid_psychometric_tests.py
- A GUI will pop up with the instructions for you to enter the Participant ID and Session ID. All the other information in the GUI will be automatically filled in based on the settings in the
config.yaml
file. You should double-check that they are correct and consistent. If everything is correct, click theStart
button to start the tests. - If run WMC battery, a second GUI will pop up asking you to select the sub-tasks to run. By default, all 4 tasks are selected. You can deselect the tasks that you don't want to run. Click the
Start
button to start the selected tasks. - After the tests are completed, the results will be saved in the
data
folder in the root directory of the repository. There will be two folders in it. For example, for the above settings:
- The
psychometric_tests_DE_CH_2
folder contains the data for the tests, under separate subfolders for each test. In each test subfolder, there will be a separate folder for each participant, named with the Participant ID, language code, country code, lab number and Session ID. The data is saved in csv files and the logs are saved in log files. For RAN task, there is a folder storing the recorded audios. - The
participant_configs_DE_CH_2
folder contains the participant configurations, which are saved in yaml files.
- When collecting data from each participant, please follow the MultiplEYE Experimenter Script - Eye-Tracking Session and MultiplEYE Experimenter Script - Psychometric Tests Session and please always check the Participant ID and Session ID before starting the tests.
- Upload the whole data folder as a zip file to the MeRID and MultipLEYE data repository for the corresponding lab.
├── .github <- Github Actions workflows
│
├── configs <- Main configs
│ ├── config <- Default config, should be fixed for each lab collecting each language data
│ └── experiment <- experiment caches
│
├── data <- Psychometric tests results
│
├── languages <- Instructions and stimuli for different languages
│
├── tasks <- Source code for the psychometric tests
│ ├── PLAB <- PLAB scripts
│ ├── RAN <- RAN scripts
│ ├── Stroop-Flanker <- Stroop and Flanker scripts
│ ├── WikiVocab <- WikiVocab scripts
│ ├── WMC <- WMC scripts
│ ├── Peabody <- Peabody scripts
│ └── WCST <- WCST scripts
│
├── run_merid_psychometric_tests.py <- Main script for running the psychometric tests
│
├── .gitignore <- List of files ignored by git
├── .project-root <- File for inferring the position of project root directory
├── requirements.txt <- File for installing python dependencies
└── README.md
Please contact multipleye@cl.uzh.ch for more information.