{
  "id": 287940,
  "title": "28th Place Solution(Contains additional reading material)",
  "content": "<p>Congratulations to the winners in the medal place! Also, thanks for everyone contributing to this competition!</p>\n<p>Then, I'm happy that I get my second silver medal in this cometition which is my first time to participate a multilingual  languge competition (maybe I have some chance to get a gold one 😆). My effective solution almost come from new translated data, ensembling method and diversity model with different trained data.</p>\n<ul>\n<li>translated data :<br>\n<a href=\"https://www.kaggle.com/vanle73/nq-translated-data\" target=\"_blank\">https://www.kaggle.com/vanle73/nq-translated-data</a><br>\nIt contains two version data with different number samples. I translated with Google API before I truncated the span keeping the maxium length less than 5000.</li>\n<li>ensembling method</li>\n</ul>\n<ol>\n<li><p>logits average (like almost everyone do)</p></li>\n<li><p>logits sum vote:<br>\nThis method is designed for different pretrained model with different tokenizer. I choose the top 3 different predicted answers for a single sample, keeping span score, then sum all span score from different model, finally get the top 1 ranking answer as the final result.     </p>\n<p>The two methods have the similar socre in private /publie LB.</p></li>\n</ol>\n<ul>\n<li>diversity model with different trained data<br>\nAt the beginning, I regard this competition as a weakly supervised problem, So I try to denoise the data using HardEm algorithm iteratively, it actually have a obvious improvement relative to just using origin data, but still below the baseline. Then I try to do neg-samlping to filter some samples, it still have some improvement, but a low score. Then I found this competition is a \"data competition\" after I add xquad/mlqa data. <br>\nSo I just translated the similar data ---NQ which I joined last two years. It actually bring more benefit. My finally ensembling method also contain all model mentioned above because of diversity.</li>\n</ul>\n<p>Besides, I also tried some other methods, having not get a better result. beacure I have not my own training GPU and not do enough experiment, my teammates does😨. So I list it for your reference hoping helpful:</p>\n<ul>\n<li><p>Pretained model :<br>\n<a href=\"https://indicnlp.ai4bharat.org/indic-bert/\" target=\"_blank\">indic-bert</a><br>\n<a href=\"https://huggingface.co/mrm8488/HindiBERTa\" target=\"_blank\">hindiBert</a><br>\n<a href=\"https://huggingface.co/flax-community/roberta-hindi\" target=\"_blank\">roberta-hindi</a><br>\n<a href=\"https://github.com/microsoft/unilm/tree/master/infoxlm\" target=\"_blank\">info-xlm</a><br>\n<a href=\"https://github.com/CZWin32768/XLM-Align\" target=\"_blank\">xlm-align</a></p></li>\n<li><p>Different model structure:<br>\n<a href=\"https://github.com/yuwfan/FILTER\" target=\"_blank\">FILTER</a><br>\nVECO: Variable and Flexible Cross-lingual Pre-training for Language Understanding and Generation</p></li>\n<li><p>Ensembleing:<br>\n<a href=\"https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/reports/default/15848021.pdf\" target=\"_blank\">BERT for Question Answering on SQuAD 2.0</a><br>\n<a href=\"https://www.linkedin.com/pulse/stacking-ensemble-squad20-mohamed-el-geish/\" target=\"_blank\">Gestalt: a Stacking Ensemble for SQuAD2.0</a><br>\n<a href=\"https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/reports/default/15775971.pdf\" target=\"_blank\">Applying Ensembling Methods to BERT to Boost Model Performance</a><br>\n<a href=\"https://aclanthology.org/2021.dialdoc-1.9.pdf\" target=\"_blank\">Ensemble ALBERT and RoBERTa for Span Prediction in Question Answering</a></p></li>\n<li><p>offline translated model:<br>\nHi2en:<br>\n<a href=\"https://huggingface.co/Helsinki-NLP/opus-mt-hi-en\" target=\"_blank\">https://huggingface.co/Helsinki-NLP/opus-mt-hi-en</a><br>\nEn2hi:<br>\n<a href=\"https://huggingface.co/Helsinki-NLP/opus-mt-en-hi\" target=\"_blank\">https://huggingface.co/Helsinki-NLP/opus-mt-en-hi</a><br>\nTmail2en:<br>\n<a href=\"https://huggingface.co/Helsinki-NLP/opus-mt-dra-en\" target=\"_blank\">https://huggingface.co/Helsinki-NLP/opus-mt-dra-en</a><br>\nEn2tmail:<br>\n<a href=\"https://huggingface.co/Helsinki-NLP/opus-mt-en-dra\" target=\"_blank\">https://huggingface.co/Helsinki-NLP/opus-mt-en-dra</a><br>\n&nbsp;mBART-50:<br>\n<a href=\"https://huggingface.co/facebook/mbart-large-50\" target=\"_blank\">https://huggingface.co/facebook/mbart-large-50</a></p></li>\n<li><p>weakly supervised method:<br>\nMML&amp; HardEM:<br>\nA Discrete Hard EM Approach for Weakly Supervised Question Answering<br>\n<a href=\"https://doi.org/10.18653/v1/D19-1284\" target=\"_blank\">https://doi.org/10.18653/v1/D19-1284</a>. <br>\nMutual Information Maximization Approach:<br>\nA Mutual Information Maximization Approach for the Spurious Solution Problem in Weakly Supervised Question Answering<br>\n<a href=\"https://arxiv.org/abs/2106.07174\" target=\"_blank\">https://arxiv.org/abs/2106.07174</a></p></li>\n</ul>\n<p>Finally,  thank  <a href=\"https://www.kaggle.com/thedrcat\" target=\"_blank\">@thedrcat</a>  <a href=\"https://www.kaggle.com/abhishek\" target=\"_blank\">@abhishek</a> <a href=\"https://www.kaggle.com/nbroad\" target=\"_blank\">@nbroad</a>  for your notebooks( Extremely agonizing text tokenizing processing🙄 ! ).</p>\n<p>Update:</p>\n<p>Score vote maybe a better ensembling method in this competition for private LB! My best submissions also come from it but I havn't choosed them😂<br>\n<a href=\"https://postimg.cc/Y4qWR1PC\" target=\"_blank\"><img src=\"https://i.postimg.cc/xdL305yM/Wechat-IMG1495.png\" alt=\"Wechat-IMG1495.png\"></a></p>",
  "comments": [
    {
      "id": 1584935,
      "author_name": "Mintwater",
      "author_url": "",
      "post_date": "2021-11-16T21:56:26.207000",
      "content": "<p>Amazing job! Big congrats!</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1585010,
          "author_name": "van73",
          "author_url": "",
          "post_date": "2021-11-17T01:47:04.510000",
          "content": "<p>Thanks!  <br>\nCongratulations too！</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1584476,
      "author_name": "Ayush Singh",
      "author_url": "",
      "post_date": "2021-11-16T15:01:25.040000",
      "content": "<p>Well written and nice solution .. congrats </p>",
      "votes": 1,
      "replies": [
        {
          "id": 1584611,
          "author_name": "van73",
          "author_url": "",
          "post_date": "2021-11-16T16:19:01.213000",
          "content": "<p>Thanks for your comment!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "comment_count": 4,
  "messages": [
    {
      "id": 1583719,
      "postDate": "2021-11-16T02:54:51.777Z",
      "content": "<p>Congratulations to the winners in the medal place! Also, thanks for everyone contributing to this competition!</p>\n<p>Then, I'm happy that I get my second silver medal in this cometition which is my first time to participate a multilingual  languge competition (maybe I have some chance to get a gold one 😆). My effective solution almost come from new translated data, ensembling method and diversity model with different trained data.</p>\n<ul>\n<li>translated data :<br>\n<a href=\"https://www.kaggle.com/vanle73/nq-translated-data\" target=\"_blank\">https://www.kaggle.com/vanle73/nq-translated-data</a><br>\nIt contains two version data with different number samples. I translated with Google API before I truncated the span keeping the maxium length less than 5000.</li>\n<li>ensembling method</li>\n</ul>\n<ol>\n<li><p>logits average (like almost everyone do)</p></li>\n<li><p>logits sum vote:<br>\nThis method is designed for different pretrained model with different tokenizer. I choose the top 3 different predicted answers for a single sample, keeping span score, then sum all span score from different model, finally get the top 1 ranking answer as the final result.     </p>\n<p>The two methods have the similar socre in private /publie LB.</p></li>\n</ol>\n<ul>\n<li>diversity model with different trained data<br>\nAt the beginning, I regard this competition as a weakly supervised problem, So I try to denoise the data using HardEm algorithm iteratively, it actually have a obvious improvement relative to just using origin data, but still below the baseline. Then I try to do neg-samlping to filter some samples, it still have some improvement, but a low score. Then I found this competition is a \"data competition\" after I add xquad/mlqa data. <br>\nSo I just translated the similar data ---NQ which I joined last two years. It actually bring more benefit. My finally ensembling method also contain all model mentioned above because of diversity.</li>\n</ul>\n<p>Besides, I also tried some other methods, having not get a better result. beacure I have not my own training GPU and not do enough experiment, my teammates does😨. So I list it for your reference hoping helpful:</p>\n<ul>\n<li><p>Pretained model :<br>\n<a href=\"https://indicnlp.ai4bharat.org/indic-bert/\" target=\"_blank\">indic-bert</a><br>\n<a href=\"https://huggingface.co/mrm8488/HindiBERTa\" target=\"_blank\">hindiBert</a><br>\n<a href=\"https://huggingface.co/flax-community/roberta-hindi\" target=\"_blank\">roberta-hindi</a><br>\n<a href=\"https://github.com/microsoft/unilm/tree/master/infoxlm\" target=\"_blank\">info-xlm</a><br>\n<a href=\"https://github.com/CZWin32768/XLM-Align\" target=\"_blank\">xlm-align</a></p></li>\n<li><p>Different model structure:<br>\n<a href=\"https://github.com/yuwfan/FILTER\" target=\"_blank\">FILTER</a><br>\nVECO: Variable and Flexible Cross-lingual Pre-training for Language Understanding and Generation</p></li>\n<li><p>Ensembleing:<br>\n<a href=\"https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/reports/default/15848021.pdf\" target=\"_blank\">BERT for Question Answering on SQuAD 2.0</a><br>\n<a href=\"https://www.linkedin.com/pulse/stacking-ensemble-squad20-mohamed-el-geish/\" target=\"_blank\">Gestalt: a Stacking Ensemble for SQuAD2.0</a><br>\n<a href=\"https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/reports/default/15775971.pdf\" target=\"_blank\">Applying Ensembling Methods to BERT to Boost Model Performance</a><br>\n<a href=\"https://aclanthology.org/2021.dialdoc-1.9.pdf\" target=\"_blank\">Ensemble ALBERT and RoBERTa for Span Prediction in Question Answering</a></p></li>\n<li><p>offline translated model:<br>\nHi2en:<br>\n<a href=\"https://huggingface.co/Helsinki-NLP/opus-mt-hi-en\" target=\"_blank\">https://huggingface.co/Helsinki-NLP/opus-mt-hi-en</a><br>\nEn2hi:<br>\n<a href=\"https://huggingface.co/Helsinki-NLP/opus-mt-en-hi\" target=\"_blank\">https://huggingface.co/Helsinki-NLP/opus-mt-en-hi</a><br>\nTmail2en:<br>\n<a href=\"https://huggingface.co/Helsinki-NLP/opus-mt-dra-en\" target=\"_blank\">https://huggingface.co/Helsinki-NLP/opus-mt-dra-en</a><br>\nEn2tmail:<br>\n<a href=\"https://huggingface.co/Helsinki-NLP/opus-mt-en-dra\" target=\"_blank\">https://huggingface.co/Helsinki-NLP/opus-mt-en-dra</a><br>\n&nbsp;mBART-50:<br>\n<a href=\"https://huggingface.co/facebook/mbart-large-50\" target=\"_blank\">https://huggingface.co/facebook/mbart-large-50</a></p></li>\n<li><p>weakly supervised method:<br>\nMML&amp; HardEM:<br>\nA Discrete Hard EM Approach for Weakly Supervised Question Answering<br>\n<a href=\"https://doi.org/10.18653/v1/D19-1284\" target=\"_blank\">https://doi.org/10.18653/v1/D19-1284</a>. <br>\nMutual Information Maximization Approach:<br>\nA Mutual Information Maximization Approach for the Spurious Solution Problem in Weakly Supervised Question Answering<br>\n<a href=\"https://arxiv.org/abs/2106.07174\" target=\"_blank\">https://arxiv.org/abs/2106.07174</a></p></li>\n</ul>\n<p>Finally,  thank  <a href=\"https://www.kaggle.com/thedrcat\" target=\"_blank\">@thedrcat</a>  <a href=\"https://www.kaggle.com/abhishek\" target=\"_blank\">@abhishek</a> <a href=\"https://www.kaggle.com/nbroad\" target=\"_blank\">@nbroad</a>  for your notebooks( Extremely agonizing text tokenizing processing🙄 ! ).</p>\n<p>Update:</p>\n<p>Score vote maybe a better ensembling method in this competition for private LB! My best submissions also come from it but I havn't choosed them😂<br>\n<a href=\"https://postimg.cc/Y4qWR1PC\" target=\"_blank\"><img src=\"https://i.postimg.cc/xdL305yM/Wechat-IMG1495.png\" alt=\"Wechat-IMG1495.png\"></a></p>",
      "rawMarkdown": "Congratulations to the winners in the medal place! Also, thanks for everyone contributing to this competition!\n\nThen, I'm happy that I get my second silver medal in this cometition which is my first time to participate a multilingual  languge competition (maybe I have some chance to get a gold one 😆). My effective solution almost come from new translated data, ensembling method and diversity model with different trained data.\n\n- translated data :\n[https://www.kaggle.com/vanle73/nq-translated-data](https://www.kaggle.com/vanle73/nq-translated-data)\nIt contains two version data with different number samples. I translated with Google API before I truncated the span keeping the maxium length less than 5000.\n- ensembling method\n1. logits average (like almost everyone do)\n1. logits sum vote:\n    This method is designed for different pretrained model with different tokenizer. I choose the top 3 different predicted answers for a single sample, keeping span score, then sum all span score from different model, finally get the top 1 ranking answer as the final result.     \n  \n    The two methods have the similar socre in private /publie LB.\n\n- diversity model with different trained data\nAt the beginning, I regard this competition as a weakly supervised problem, So I try to denoise the data using HardEm algorithm iteratively, it actually have a obvious improvement relative to just using origin data, but still below the baseline. Then I try to do neg-samlping to filter some samples, it still have some improvement, but a low score. Then I found this competition is a \"data competition\" after I add xquad/mlqa data. \nSo I just translated the similar data ---NQ which I joined last two years. It actually bring more benefit. My finally ensembling method also contain all model mentioned above because of diversity.\n\nBesides, I also tried some other methods, having not get a better result. beacure I have not my own training GPU and not do enough experiment, my teammates does😨. So I list it for your reference hoping helpful:\n\n- Pretained model :\n[indic-bert](https://indicnlp.ai4bharat.org/indic-bert/)\n[hindiBert](https://huggingface.co/mrm8488/HindiBERTa)\n[roberta-hindi](https://huggingface.co/flax-community/roberta-hindi)\n[info-xlm](https://github.com/microsoft/unilm/tree/master/infoxlm)\n[xlm-align](https://github.com/CZWin32768/XLM-Align)\n\n- Different model structure:\n[FILTER](https://github.com/yuwfan/FILTER)\nVECO: Variable and Flexible Cross-lingual Pre-training for Language Understanding and Generation\n\n- Ensembleing:\n[BERT for Question Answering on SQuAD 2.0](https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/reports/default/15848021.pdf)\n[Gestalt: a Stacking Ensemble for SQuAD2.0](https://www.linkedin.com/pulse/stacking-ensemble-squad20-mohamed-el-geish/)\n[Applying Ensembling Methods to BERT to Boost Model Performance](https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/reports/default/15775971.pdf)\n[Ensemble ALBERT and RoBERTa for Span Prediction in Question Answering](https://aclanthology.org/2021.dialdoc-1.9.pdf)\n\n- offline translated model:\nHi2en:\nhttps://huggingface.co/Helsinki-NLP/opus-mt-hi-en\nEn2hi:\nhttps://huggingface.co/Helsinki-NLP/opus-mt-en-hi\nTmail2en:\nhttps://huggingface.co/Helsinki-NLP/opus-mt-dra-en\nEn2tmail:\nhttps://huggingface.co/Helsinki-NLP/opus-mt-en-dra\n mBART-50:\nhttps://huggingface.co/facebook/mbart-large-50\n\n- weakly supervised method:\nMML& HardEM:\n    A Discrete Hard EM Approach for Weakly Supervised Question Answering\n    https://doi.org/10.18653/v1/D19-1284. \nMutual Information Maximization Approach:\n    A Mutual Information Maximization Approach for the Spurious Solution Problem in Weakly Supervised Question Answering\n    https://arxiv.org/abs/2106.07174\n\nFinally,  thank  @thedrcat  @abhishek @nbroad  for your notebooks( Extremely agonizing text tokenizing processing🙄 ! ).\n\nUpdate:\n\nScore vote maybe a better ensembling method in this competition for private LB! My best submissions also come from it but I havn't choosed them😂\n[![Wechat-IMG1495.png](https://i.postimg.cc/xdL305yM/Wechat-IMG1495.png)](https://postimg.cc/Y4qWR1PC)",
      "votes": 10
    },
    {
      "id": 1584935,
      "postDate": "2021-11-16T21:56:26.207Z",
      "content": "<p>Amazing job! Big congrats!</p>",
      "rawMarkdown": "Amazing job! Big congrats!",
      "votes": 1,
      "replies": [
        {
          "id": 1585010,
          "postDate": "2021-11-17T01:47:04.510Z",
          "content": "<p>Thanks!  <br>\nCongratulations too！</p>",
          "rawMarkdown": "Thanks!  \nCongratulations too！"
        }
      ]
    },
    {
      "id": 1584476,
      "postDate": "2021-11-16T15:01:25.040Z",
      "content": "<p>Well written and nice solution .. congrats </p>",
      "rawMarkdown": "Well written and nice solution .. congrats ",
      "votes": 1,
      "replies": [
        {
          "id": 1584611,
          "postDate": "2021-11-16T16:19:01.213Z",
          "content": "<p>Thanks for your comment!</p>",
          "rawMarkdown": "Thanks for your comment!"
        }
      ]
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T16:21:22Z",
  "competition_id": 30060,
  "competition_slug": "chaii-hindi-and-tamil-question-answering",
  "team_id": 7344551,
  "solution_url": "/competitions/chaii-hindi-and-tamil-question-answering/writeups/nlp-f3-28th-place-solution-contains-additional-rea"
}