Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Education and Culture Executive Agency (EACEA). Neither the European Union nor EACEA can be held responsible for them.

Tips

Use Machine Learning based prediction models to evaluate what question is simpler/complex

The idea of using machine learning-based prediction models to evaluate the complexity of a question involves training a model to classify questions into different levels of complexity. This can be done by providing the model with a dataset of questions labeled with their corresponding complexity levels and using that data to train a classification model.
Here's an example workflow for building such a model:
1. Dataset Creation: Start by creating a dataset of questions, where each question is labeled with a complexity level. The complexity level can be subjective and defined based on your specific requirements. For example, you could categorize questions as "simple," "medium," or "complex."
2. Feature Extraction: Extract relevant features from the questions that can be used to train the model. These features can include the length of the question, the presence of specific keywords, syntactic features, or any other relevant information that may indicate the complexity level.
3. Model Training: Use the labeled dataset and the extracted features to train a machine learning model. Popular models for text classification tasks include support vector machines (SVM ), random forests, or even deep learning models such as recurrent neural networks (RNNs ) or transformers. The choice of model depends on the size and complexity of your dataset.
4. Evaluation: Evaluate the performance of your trained model using appropriate evaluation metrics such as accuracy, precision, recall, or F1 score. This step helps you understand how well your model can predict the complexity level of unseen questions.
5. Prediction: Once the model is trained and evaluated, you can use it to predict the complexity level of new, unseen questions. The model takes a question as input and assigns a complexity label based on what it has learned from the training data.
It's important to note that building an effective model for question complexity classification requires a well-curated dataset with accurately labeled questions. Gathering and labeling a dataset can be a time-consuming and subjective process.

Example:
One example could be the use of the Stack Exchange Data Dump: The Stack Exchange network provides a publicly available data dump of questions and answers from various domains. This dataset can be useful for building a question complexity classification model. Data dump can be found at https://archive.org/details/stackexchange and one can use the pretrained networks (Large Language Models ) available at, e. g., https://huggingface.co/ to construct the classifiers.

Reference:
[1] Rithish, H., Deepak, G., Santhanavijayan, A. (2021 ). Automated Assessment of Question Quality on Online Community Forums. In: Motahhir, S., Bossoufi, B. (eds ) Digital Technologies and Applications. ICDTA 2021. Lecture Notes in Networks and Systems, vol 211. Springer, Cham. https://doi.org/10.1007/978-3-030-73882-2_72
[2] Sheard, Judy, et al. "How difficult are exams?! framework for assessing the complexity of introductory programming exams." Australasian Computing Education Conference, 2013.

Author of the tip:
Giulia Cademartori
University of Genoa