{
  "id": 446897,
  "title": "Solution Write up For CommonLit - Evaluate Student Summaries",
  "content": "<p>Hi Everyone! I'm posting my solution here to share a slightly different approach I tried in the competition.</p>\n<h1>Competition Context</h1>\n<p>The context of this solution is the CommonLit - Evaluate Student Summaries competition:<br>\n<a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview\" target=\"_blank\">https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview</a></p>\n<p>The data of this competition can be found here:<br>\n<a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data\" target=\"_blank\">https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data</a></p>\n<h1>My Approach</h1>\n<p>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.</p>\n<p>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.</p>\n<p>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.</p>\n<p>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 <a href=\"https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect#Model-Function-Definition\" target=\"_blank\">https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect#Model-Function-Definition</a></p>\n<p>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.</p>\n<p><em>Validation</em><br>\nI validated my DeBERTa predictions using a random hold out validation set.<br>\nI used KFold CV for LGBM predictions.</p>\n<h1>Improvements</h1>\n<ol>\n<li>Use DeBERTa Large instead of Base</li>\n<li>Use CV ensemble for DeBERTa itself</li>\n<li>Made better validation set by separating by prompt and not randomly</li>\n<li>Could have tried making a dataset using ChatGPT</li>\n</ol>",
  "comments": [
    {
      "id": 2489735,
      "author_name": "C R Suthikshn Kumar",
      "author_url": "",
      "post_date": "2023-10-20T07:07:30.723000",
      "content": "<p>Congratulations. Thanks for sharing the details of the DeBERTa + LGBM  approach. </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 2481285,
      "author_name": "DL",
      "author_url": "",
      "post_date": "2023-10-14T02:27:14.337000",
      "content": "<p>congratulations for the first medal</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 2,
  "messages": [
    {
      "id": 2489735,
      "postDate": "2023-10-20T07:07:30.723Z",
      "content": "<p>Congratulations. Thanks for sharing the details of the DeBERTa + LGBM  approach. </p>",
      "rawMarkdown": "Congratulations. Thanks for sharing the details of the DeBERTa + LGBM  approach. ",
      "votes": 1
    },
    {
      "id": 2481285,
      "postDate": "2023-10-14T02:27:14.337Z",
      "content": "<p>congratulations for the first medal</p>",
      "rawMarkdown": "congratulations for the first medal"
    },
    {
      "id": 2480748,
      "postDate": "2023-10-13T14:26:09.330Z",
      "content": "<p>Hi Everyone! I'm posting my solution here to share a slightly different approach I tried in the competition.</p>\n<h1>Competition Context</h1>\n<p>The context of this solution is the CommonLit - Evaluate Student Summaries competition:<br>\n<a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview\" target=\"_blank\">https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview</a></p>\n<p>The data of this competition can be found here:<br>\n<a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data\" target=\"_blank\">https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data</a></p>\n<h1>My Approach</h1>\n<p>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.</p>\n<p>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.</p>\n<p>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.</p>\n<p>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 <a href=\"https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect#Model-Function-Definition\" target=\"_blank\">https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect#Model-Function-Definition</a></p>\n<p>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.</p>\n<p><em>Validation</em><br>\nI validated my DeBERTa predictions using a random hold out validation set.<br>\nI used KFold CV for LGBM predictions.</p>\n<h1>Improvements</h1>\n<ol>\n<li>Use DeBERTa Large instead of Base</li>\n<li>Use CV ensemble for DeBERTa itself</li>\n<li>Made better validation set by separating by prompt and not randomly</li>\n<li>Could have tried making a dataset using ChatGPT</li>\n</ol>",
      "rawMarkdown": "Hi Everyone! I'm posting my solution here to share a slightly different approach I tried in the competition.\n\n# Competition Context\nThe context of this solution is the CommonLit - Evaluate Student Summaries competition:\nhttps://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview\n\nThe data of this competition can be found here:\nhttps://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data\n\n# My Approach\n\nMy 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.\n\nThe 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.\n\nHowever, 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.\n\nLastly, 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\n\nMy 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.\n\n*Validation*\nI validated my DeBERTa predictions using a random hold out validation set.\nI used KFold CV for LGBM predictions.\n\n# Improvements\n\n1. Use DeBERTa Large instead of Base\n2. Use CV ensemble for DeBERTa itself\n3. Made better validation set by separating by prompt and not randomly\n4. Could have tried making a dataset using ChatGPT\n\n\n\n\n\n"
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T23:05:23Z",
  "competition_id": 53482,
  "competition_slug": "commonlit-evaluate-student-summaries",
  "team_id": 10678920,
  "solution_url": "/competitions/commonlit-evaluate-student-summaries/writeups/aaryam-sharma-solution-write-up-for-commonlit-eval"
}