# Solution Write up For CommonLit - Evaluate Student Summaries

Hi Everyone! I'm posting my solution here to share a slightly different approach I tried in the competition.
Competition Context
The context of this solution is the CommonLit - Evaluate Student Summaries competition:
[https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview](https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview)
The data of this competition can be found here:
[https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data](https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data)
My Approach
My approach was very similar to the DeBERTa + LGBM approach in this competition, however, I added a few details such as using 2 different DeBERTa backbones to parse the summary text and the prompt text separately, and 2 extra heads which then computed both the target values.
The idea for this approach was that I wanted to give more flexibility to the model by fine-tuning two different backbones entirely as there may be very different writing styles that require different processing.
However, it is also quite reasonable to assume that passing the prompt text and the summary can give a better feature vector that combines knowledge from both, and this may be better in fact, as seen in many top solutions.
Lastly, using the wording and content predictions from the double DeBERTa model, I pass it into an LGBM ensemble along with the n-gram features as computed in
[https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect#Model-Function-Definition](https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect#Model-Function-Definition)
My goal was to not try and overfit the model because the summaries and prompts in the hidden test dataset could have been very different from the train dataset.
Validation
I validated my DeBERTa predictions using a random hold out validation set.
I used KFold CV for LGBM predictions.
Improvements
Use DeBERTa Large instead of Base
Use CV ensemble for DeBERTa itself
Made better validation set by separating by prompt and not randomly
Could have tried making a dataset using ChatGPT