{
  "id": 665696,
  "title": "[EDA] Critical Finding: Train-Test Transliteration Convention Mismatch",
  "url": "/competitions/deep-past-initiative-machine-translation/discussion/665696",
  "author_name": "",
  "post_date": "2026-01-03T08:22:17.395758100Z",
  "votes": 9,
  "comment_count": 10,
  "views": 0,
  "content": "<p>Hi everyone,\nI discovered a significant domain shift between the train and test sets that may explain why models plateau around 31-32 points. I'd like to share my findings and hear your thoughts.</p>\n<p>Vocabulary Coverage: Only 57.1% (27 out of 63 test tokens are OOV)\nThe test set uses a COMPLETELY DIFFERENT transliteration system\nCritical characters š, ḫ, ṣ, ṭ appear 28,654 times in train but 0 times in test\nTest set has a unique character „ (German quotation mark) not in train</p>\n<ol>\n<li><p>THE CORE PROBLEM: Different Transliteration Systems\nCharacter Usage Comparison:\nš (shin): Train = 20,354× | Test = 0× ⚠️\nḫ (het): Train = 4,552× | Test = 0× ⚠️\nṣ (tsade): Train = 2,533× | Test = 0× ⚠️\nṭ (tet): Train = 1,215× | Test = 0× ⚠️\n„ (quote): Train = 0× | Test = 6× ⚠️</p></li>\n<li><p>CHARACTER SUBSTITUTION PATTERN\nTest → Train (Frequency) - Meaning\naa → ša (6,291×) - \"of/that\"\nau-mì → šu-mì (193×) - \"name\"\nmup-pu-um → ṭup-pu-um (116×) - \"tablet\"\naé-bi„-lá → šé-bi-la (41×) - \"send\"\nqí-bi„-ma → qí-bí-ma (18×) - \"speak\"\nKey Pattern: š → a, ṭ → m in the test set</p></li>\n<li><p>VOCABULARY STATISTICS\nTrain vocabulary: 11,471 unique tokens\nTest vocabulary: 63 unique tokens\nOverlap: 36 tokens (57.1%)\nOOV: 27 tokens (42.9%)</p></li>\n<li><p>TEXT LENGTH\nTrain Mean: 426.5 chars\nTest Mean: 168.8 chars (~40% of train length)</p></li>\n<li><p>POTENTIAL SOLUTIONS</p></li>\n</ol>\n<p>Preprocessing: Normalize test set to train conventions\nData Augmentation: Add character substitution noise (š↔a, ṭ↔m)\nTrain with both transliteration conventions</p>\n<p>QUESTIONS</p>\n<p>Is this intentional to test robustness?\nHas anyone found the source for text_id: 332fda50?</p>\n<p>Would love to hear your thoughts! 🙏</p>",
  "messages": [
    {
      "id": "3385399",
      "postDate": "01/03/2026 08:22:17",
      "content": "<p>Hi everyone,\nI discovered a significant domain shift between the train and test sets that may explain why models plateau around 31-32 points. I'd like to share my findings and hear your thoughts.</p>\n<p>Vocabulary Coverage: Only 57.1% (27 out of 63 test tokens are OOV)\nThe test set uses a COMPLETELY DIFFERENT transliteration system\nCritical characters š, ḫ, ṣ, ṭ appear 28,654 times in train but 0 times in test\nTest set has a unique character „ (German quotation mark) not in train</p>\n<ol>\n<li><p>THE CORE PROBLEM: Different Transliteration Systems\nCharacter Usage Comparison:\nš (shin): Train = 20,354× | Test = 0× ⚠️\nḫ (het): Train = 4,552× | Test = 0× ⚠️\nṣ (tsade): Train = 2,533× | Test = 0× ⚠️\nṭ (tet): Train = 1,215× | Test = 0× ⚠️\n„ (quote): Train = 0× | Test = 6× ⚠️</p></li>\n<li><p>CHARACTER SUBSTITUTION PATTERN\nTest → Train (Frequency) - Meaning\naa → ša (6,291×) - \"of/that\"\nau-mì → šu-mì (193×) - \"name\"\nmup-pu-um → ṭup-pu-um (116×) - \"tablet\"\naé-bi„-lá → šé-bi-la (41×) - \"send\"\nqí-bi„-ma → qí-bí-ma (18×) - \"speak\"\nKey Pattern: š → a, ṭ → m in the test set</p></li>\n<li><p>VOCABULARY STATISTICS\nTrain vocabulary: 11,471 unique tokens\nTest vocabulary: 63 unique tokens\nOverlap: 36 tokens (57.1%)\nOOV: 27 tokens (42.9%)</p></li>\n<li><p>TEXT LENGTH\nTrain Mean: 426.5 chars\nTest Mean: 168.8 chars (~40% of train length)</p></li>\n<li><p>POTENTIAL SOLUTIONS</p></li>\n</ol>\n<p>Preprocessing: Normalize test set to train conventions\nData Augmentation: Add character substitution noise (š↔a, ṭ↔m)\nTrain with both transliteration conventions</p>\n<p>QUESTIONS</p>\n<p>Is this intentional to test robustness?\nHas anyone found the source for text_id: 332fda50?</p>\n<p>Would love to hear your thoughts! 🙏</p>",
      "rawMarkdown": "Hi everyone,\nI discovered a significant domain shift between the train and test sets that may explain why models plateau around 31-32 points. I'd like to share my findings and hear your thoughts.\n\nVocabulary Coverage: Only 57.1% (27 out of 63 test tokens are OOV)\nThe test set uses a COMPLETELY DIFFERENT transliteration system\nCritical characters š, ḫ, ṣ, ṭ appear 28,654 times in train but 0 times in test\nTest set has a unique character „ (German quotation mark) not in train\n\n1. THE CORE PROBLEM: Different Transliteration Systems\nCharacter Usage Comparison:\nš (shin): Train = 20,354× | Test = 0× ⚠️\nḫ (het): Train = 4,552× | Test = 0× ⚠️\nṣ (tsade): Train = 2,533× | Test = 0× ⚠️\nṭ (tet): Train = 1,215× | Test = 0× ⚠️\n„ (quote): Train = 0× | Test = 6× ⚠️\n\n2. CHARACTER SUBSTITUTION PATTERN\nTest → Train (Frequency) - Meaning\naa → ša (6,291×) - \"of/that\"\nau-mì → šu-mì (193×) - \"name\"\nmup-pu-um → ṭup-pu-um (116×) - \"tablet\"\naé-bi„-lá → šé-bi-la (41×) - \"send\"\nqí-bi„-ma → qí-bí-ma (18×) - \"speak\"\nKey Pattern: š → a, ṭ → m in the test set\n\n3. VOCABULARY STATISTICS\nTrain vocabulary: 11,471 unique tokens\nTest vocabulary: 63 unique tokens\nOverlap: 36 tokens (57.1%)\nOOV: 27 tokens (42.9%)\n\n4. TEXT LENGTH\nTrain Mean: 426.5 chars\nTest Mean: 168.8 chars (~40% of train length)\n\n5. POTENTIAL SOLUTIONS\n\nPreprocessing: Normalize test set to train conventions\nData Augmentation: Add character substitution noise (š↔a, ṭ↔m)\nTrain with both transliteration conventions\n\nQUESTIONS\n\nIs this intentional to test robustness?\nHas anyone found the source for text_id: 332fda50?\n\nWould love to hear your thoughts! 🙏",
      "votes": null
    },
    {
      "id": "3385405",
      "postDate": "01/03/2026 08:45:13",
      "content": "<blockquote>\n  <p>Please note that this is a <a href=\"https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/overview/code-requirements\" target=\"_blank\">Code Competition</a>. The data in <code>test.csv</code> is only dummy data to help you author your solutions. When your submission is scored, this example test data will be replaced with the full test set.</p>\n</blockquote>\n<p>So the test.csv you analyzed is just placeholder data for debugging purposes — it's not the actual hidden test set used for scoring.</p>\n<p>The host has confirmed in multiple discussion threads that the hidden test set follows the same formatting conventions as described in the Dataset Instructions, including normalized gaps (, ), proper subscript handling, and Unicode fractions.</p>\n<p>See <a href=\"https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/664411\" target=\"_blank\">this thread</a> for the host's confirmation.</p>",
      "rawMarkdown": ">Please note that this is a [Code Competition](https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/overview/code-requirements). The data in `test.csv` is only dummy data to help you author your solutions. When your submission is scored, this example test data will be replaced with the full test set.\n\nSo the test.csv you analyzed is just placeholder data for debugging purposes — it's not the actual hidden test set used for scoring.\n\nThe host has confirmed in multiple discussion threads that the hidden test set follows the same formatting conventions as described in the Dataset Instructions, including normalized gaps (<gap>, <big_gap>), proper subscript handling, and Unicode fractions.\n\nSee [this thread](https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/664411) for the host's confirmation.",
      "votes": null
    },
    {
      "id": "3385431",
      "postDate": "01/03/2026 09:31:23",
      "content": "<p><a href=\"https://www.kaggle.com/deeppast\" target=\"_blank\">@deeppast</a> <a href=\"https://www.kaggle.com/ryanholbrook\" target=\"_blank\">@ryanholbrook</a>?</p>\n<p>The <code>test.csv</code> does look like it has broken transliterations. Would be good to hear from the Hosts to make sure if the issue is true only for the <code>test.csv</code> and not for the hidden test as well.</p>\n<p>Considering the length differences, aside from what <a href=\"https://www.kaggle.com/daylighth\" target=\"_blank\">@daylighth</a> posted about <code>&lt;gap&gt;/&lt;big_gap&gt;</code> normalization, it's worth comparing the data to the \"Sentences_Oare_FirstWord_LinNum.csv\" as they are split into smaller chunks, similar to how the hidden test looks like.</p>",
      "rawMarkdown": "deeppast @ryanholbrook?\n\nThe `test.csv` does look like it has broken transliterations. Would be good to hear from the Hosts to make sure if the issue is true only for the `test.csv` and not for the hidden test as well.\n\nConsidering the length differences, aside from what @daylighth posted about `<gap>/<big_gap>` normalization, it's worth comparing the data to the \"Sentences_Oare_FirstWord_LinNum.csv\" as they are split into smaller chunks, similar to how the hidden test looks like.",
      "votes": null
    },
    {
      "id": "3385467",
      "postDate": "01/03/2026 11:14:41",
      "content": "<p>你的发现完全是对的，但是我把所有test出现可能是问题的 a „ mup    替换后，其实没有得到任何增加，至于test的答案应该是train里的3e87aad8-cd8c-4f8d-96e9-c68e062d4a1a，而且你可以发现，在Overview里，主办方给的submission答案，就是这个，lol</p>",
      "rawMarkdown": "你的发现完全是对的，但是我把所有test出现可能是问题的 a „ mup    替换后，其实没有得到任何增加，至于test的答案应该是train里的3e87aad8-cd8c-4f8d-96e9-c68e062d4a1a，而且你可以发现，在Overview里，主办方给的submission答案，就是这个，lol",
      "votes": null
    },
    {
      "id": "3385650",
      "postDate": "01/03/2026 16:53:42",
      "content": "<p>OK, thank you for your reply. However, after conducting some post-processing on the training data, I discovered that certain post-processing techniques could improve the score during validation, but the same character processing had a negative impact on the test set. This might require the official to release the actual dictionary.</p>",
      "rawMarkdown": "OK, thank you for your reply. However, after conducting some post-processing on the training data, I discovered that certain post-processing techniques could improve the score during validation, but the same character processing had a negative impact on the test set. This might require the official to release the actual dictionary.",
      "votes": null
    },
    {
      "id": "3385652",
      "postDate": "01/03/2026 16:54:59",
      "content": "<p>OK, thank you for your reply. After the gap was handled according to the official procedure, the score actually dropped. Has this happened to me alone, or is it a common occurrence?</p>",
      "rawMarkdown": "OK, thank you for your reply. After the gap was handled according to the official procedure, the score actually dropped. Has this happened to me alone, or is it a common occurrence?",
      "votes": null
    },
    {
      "id": "3385653",
      "postDate": "01/03/2026 16:55:57",
      "content": "<p>我觉得train和真正的test很有可能也有较大的分布偏差。并且不仅仅局限在官方所说的句子长度问题</p>\n<p>I think there is also likely to be a significant distributional deviation in the train and the actual test sets. And this problem is not limited to the sentence length issue as stated by the official.</p>",
      "rawMarkdown": "我觉得train和真正的test很有可能也有较大的分布偏差。并且不仅仅局限在官方所说的句子长度问题\n\nI think there is also likely to be a significant distributional deviation in the train and the actual test sets. And this problem is not limited to the sentence length issue as stated by the official.",
      "votes": null
    },
    {
      "id": "3385673",
      "postDate": "01/03/2026 17:26:15",
      "content": "<p>The characters seen in the test set were released in another discussion. </p>",
      "rawMarkdown": "The characters seen in the test set were released in another discussion.",
      "votes": null
    },
    {
      "id": "3385696",
      "postDate": "01/03/2026 18:10:25",
      "content": "<p>Thanks. But where did you get the test set for analysis? test.csv is only a dummy file with no real information so I was wondering how did you analyze the test set…</p>",
      "rawMarkdown": "Thanks. But where did you get the test set for analysis? test.csv is only a dummy file with no real information so I was wondering how did you analyze the test set...",
      "votes": null
    },
    {
      "id": "3385700",
      "postDate": "01/03/2026 18:15:58",
      "content": "<p>Not you alone. I’ve worked through it.. 95% of my score is from my preprocessing pipeline.</p>",
      "rawMarkdown": "Not you alone. I’ve worked through it.. 95% of my score is from my preprocessing pipeline.",
      "votes": null
    },
    {
      "id": "3385918",
      "postDate": "01/04/2026 08:43:59",
      "content": "<p>About #1, here is the list of official transliteration characters provided by host here:\n<a href=\"https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200\" target=\"_blank\">https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200</a></p>\n<p>š (shin), ṣ (tsade), ṭ (tet) are available in test set.\nḫ and Ḫ are available in train.csv and missing in test set.</p>\n<pre><code>new_transliteration_list = [\n    '-', 'a', 'A', 'i', 'I', 'u', 'U', 'm', 'M', 'š', 'Š', 'n', 'N', 'b', 'B', \n    'r', 'R', 't', 'T', 'l', 'L', 'k', 'K', 'G', 'g', 'í', 'Í', 'D', 'd', 'Ù', \n    'ù', 'á', 'Á', '.', 'ú', 'Ú', 'p', 'P', 'e', 'E', 'h', 'H', 'q', 'Q', '1', \n    'ṣ', 'Ṣ', 'é', 'É', '&lt;', '&gt;', 'à', 'À', '4', 'z', 'Z', 's', 'S', 'ì', 'Ì', \n    '5', '_', '2', '0', '½', 'w', 'W', '3', '{', '}', 'ṭ', 'Ṭ', '6', '⅓', '8', \n    '⅔', '7', 'è', 'È', '⅚', '9', '¼', '!', '+', '⅙', 'ı', '…', 'ş', 'İ', ':'\n]\n</code></pre>\n<pre><code>Standard Alpha    a, A, b, B, e, E...\nSpecial Transliteration    š, Š, ṣ, Ṣ, ṭ, Ṭ, ı, ş, İ\nAccented Vowels    í, Í, Ù, ù, á, Á, ú, Ú, é, É, à, À, ì, Ì, è, È\nNumbers &amp; Fractions    0-9, ½, ⅓, ⅔, ⅚, ¼, ⅙\nPunctuation &amp; Symbols    -, ., &lt;, &gt;, _, {, }, !, +, …, :\n</code></pre>",
      "rawMarkdown": "About #1, here is the list of official transliteration characters provided by host here:\nhttps://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200\n\nš (shin), ṣ (tsade), ṭ (tet) are available in test set.\nḫ and Ḫ are available in train.csv and missing in test set.\n\n```python\nnew_transliteration_list = [\n    '-', 'a', 'A', 'i', 'I', 'u', 'U', 'm', 'M', 'š', 'Š', 'n', 'N', 'b', 'B', \n    'r', 'R', 't', 'T', 'l', 'L', 'k', 'K', 'G', 'g', 'í', 'Í', 'D', 'd', 'Ù', \n    'ù', 'á', 'Á', '.', 'ú', 'Ú', 'p', 'P', 'e', 'E', 'h', 'H', 'q', 'Q', '1', \n    'ṣ', 'Ṣ', 'é', 'É', '<', '>', 'à', 'À', '4', 'z', 'Z', 's', 'S', 'ì', 'Ì', \n    '5', '_', '2', '0', '½', 'w', 'W', '3', '{', '}', 'ṭ', 'Ṭ', '6', '⅓', '8', \n    '⅔', '7', 'è', 'È', '⅚', '9', '¼', '!', '+', '⅙', 'ı', '…', 'ş', 'İ', ':'\n]\n```\n\n```python\nStandard Alpha\ta, A, b, B, e, E...\nSpecial Transliteration\tš, Š, ṣ, Ṣ, ṭ, Ṭ, ı, ş, İ\nAccented Vowels\tí, Í, Ù, ù, á, Á, ú, Ú, é, É, à, À, ì, Ì, è, È\nNumbers & Fractions\t0-9, ½, ⅓, ⅔, ⅚, ¼, ⅙\nPunctuation & Symbols\t-, ., <, >, _, {, }, !, +, …, :\n```",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3385405,
      "author_name": "daylighth",
      "author_url": "",
      "post_date": "01/03/2026 08:45:13",
      "content": "<blockquote>\n  <p>Please note that this is a <a href=\"https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/overview/code-requirements\" target=\"_blank\">Code Competition</a>. The data in <code>test.csv</code> is only dummy data to help you author your solutions. When your submission is scored, this example test data will be replaced with the full test set.</p>\n</blockquote>\n<p>So the test.csv you analyzed is just placeholder data for debugging purposes — it's not the actual hidden test set used for scoring.</p>\n<p>The host has confirmed in multiple discussion threads that the hidden test set follows the same formatting conventions as described in the Dataset Instructions, including normalized gaps (, ), proper subscript handling, and Unicode fractions.</p>\n<p>See <a href=\"https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/664411\" target=\"_blank\">this thread</a> for the host's confirmation.</p>",
      "votes": null,
      "replies": [
        {
          "id": 3385652,
          "author_name": "ruichardliu",
          "author_url": "",
          "post_date": "01/03/2026 16:54:59",
          "content": "<p>OK, thank you for your reply. After the gap was handled according to the official procedure, the score actually dropped. Has this happened to me alone, or is it a common occurrence?</p>",
          "votes": null,
          "replies": [
            {
              "id": 3385700,
              "author_name": "jackvd",
              "author_url": "",
              "post_date": "01/03/2026 18:15:58",
              "content": "<p>Not you alone. I’ve worked through it.. 95% of my score is from my preprocessing pipeline.</p>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3385431,
      "author_name": "angantyr",
      "author_url": "",
      "post_date": "01/03/2026 09:31:23",
      "content": "<p><a href=\"https://www.kaggle.com/deeppast\" target=\"_blank\">@deeppast</a> <a href=\"https://www.kaggle.com/ryanholbrook\" target=\"_blank\">@ryanholbrook</a>?</p>\n<p>The <code>test.csv</code> does look like it has broken transliterations. Would be good to hear from the Hosts to make sure if the issue is true only for the <code>test.csv</code> and not for the hidden test as well.</p>\n<p>Considering the length differences, aside from what <a href=\"https://www.kaggle.com/daylighth\" target=\"_blank\">@daylighth</a> posted about <code>&lt;gap&gt;/&lt;big_gap&gt;</code> normalization, it's worth comparing the data to the \"Sentences_Oare_FirstWord_LinNum.csv\" as they are split into smaller chunks, similar to how the hidden test looks like.</p>",
      "votes": null,
      "replies": [
        {
          "id": 3385650,
          "author_name": "ruichardliu",
          "author_url": "",
          "post_date": "01/03/2026 16:53:42",
          "content": "<p>OK, thank you for your reply. However, after conducting some post-processing on the training data, I discovered that certain post-processing techniques could improve the score during validation, but the same character processing had a negative impact on the test set. This might require the official to release the actual dictionary.</p>",
          "votes": null,
          "replies": [
            {
              "id": 3385673,
              "author_name": "jackvd",
              "author_url": "",
              "post_date": "01/03/2026 17:26:15",
              "content": "<p>The characters seen in the test set were released in another discussion. </p>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3385467,
      "author_name": "qifeihhh666",
      "author_url": "",
      "post_date": "01/03/2026 11:14:41",
      "content": "<p>你的发现完全是对的，但是我把所有test出现可能是问题的 a „ mup    替换后，其实没有得到任何增加，至于test的答案应该是train里的3e87aad8-cd8c-4f8d-96e9-c68e062d4a1a，而且你可以发现，在Overview里，主办方给的submission答案，就是这个，lol</p>",
      "votes": null,
      "replies": [
        {
          "id": 3385653,
          "author_name": "ruichardliu",
          "author_url": "",
          "post_date": "01/03/2026 16:55:57",
          "content": "<p>我觉得train和真正的test很有可能也有较大的分布偏差。并且不仅仅局限在官方所说的句子长度问题</p>\n<p>I think there is also likely to be a significant distributional deviation in the train and the actual test sets. And this problem is not limited to the sentence length issue as stated by the official.</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 3385696,
      "author_name": "honganzhu",
      "author_url": "",
      "post_date": "01/03/2026 18:10:25",
      "content": "<p>Thanks. But where did you get the test set for analysis? test.csv is only a dummy file with no real information so I was wondering how did you analyze the test set…</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 3385918,
      "author_name": "mpware",
      "author_url": "",
      "post_date": "01/04/2026 08:43:59",
      "content": "<p>About #1, here is the list of official transliteration characters provided by host here:\n<a href=\"https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200\" target=\"_blank\">https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200</a></p>\n<p>š (shin), ṣ (tsade), ṭ (tet) are available in test set.\nḫ and Ḫ are available in train.csv and missing in test set.</p>\n<pre><code>new_transliteration_list = [\n    '-', 'a', 'A', 'i', 'I', 'u', 'U', 'm', 'M', 'š', 'Š', 'n', 'N', 'b', 'B', \n    'r', 'R', 't', 'T', 'l', 'L', 'k', 'K', 'G', 'g', 'í', 'Í', 'D', 'd', 'Ù', \n    'ù', 'á', 'Á', '.', 'ú', 'Ú', 'p', 'P', 'e', 'E', 'h', 'H', 'q', 'Q', '1', \n    'ṣ', 'Ṣ', 'é', 'É', '&lt;', '&gt;', 'à', 'À', '4', 'z', 'Z', 's', 'S', 'ì', 'Ì', \n    '5', '_', '2', '0', '½', 'w', 'W', '3', '{', '}', 'ṭ', 'Ṭ', '6', '⅓', '8', \n    '⅔', '7', 'è', 'È', '⅚', '9', '¼', '!', '+', '⅙', 'ı', '…', 'ş', 'İ', ':'\n]\n</code></pre>\n<pre><code>Standard Alpha    a, A, b, B, e, E...\nSpecial Transliteration    š, Š, ṣ, Ṣ, ṭ, Ṭ, ı, ş, İ\nAccented Vowels    í, Í, Ù, ù, á, Á, ú, Ú, é, É, à, À, ì, Ì, è, È\nNumbers &amp; Fractions    0-9, ½, ⅓, ⅔, ⅚, ¼, ⅙\nPunctuation &amp; Symbols    -, ., &lt;, &gt;, _, {, }, !, +, …, :\n</code></pre>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "3385399": "Hi everyone,\nI discovered a significant domain shift between the train and test sets that may explain why models plateau around 31-32 points. I'd like to share my findings and hear your thoughts.\n\nVocabulary Coverage: Only 57.1% (27 out of 63 test tokens are OOV)\nThe test set uses a COMPLETELY DIFFERENT transliteration system\nCritical characters š, ḫ, ṣ, ṭ appear 28,654 times in train but 0 times in test\nTest set has a unique character „ (German quotation mark) not in train\n\n1. THE CORE PROBLEM: Different Transliteration Systems\nCharacter Usage Comparison:\nš (shin): Train = 20,354× | Test = 0× ⚠️\nḫ (het): Train = 4,552× | Test = 0× ⚠️\nṣ (tsade): Train = 2,533× | Test = 0× ⚠️\nṭ (tet): Train = 1,215× | Test = 0× ⚠️\n„ (quote): Train = 0× | Test = 6× ⚠️\n\n2. CHARACTER SUBSTITUTION PATTERN\nTest → Train (Frequency) - Meaning\naa → ša (6,291×) - \"of/that\"\nau-mì → šu-mì (193×) - \"name\"\nmup-pu-um → ṭup-pu-um (116×) - \"tablet\"\naé-bi„-lá → šé-bi-la (41×) - \"send\"\nqí-bi„-ma → qí-bí-ma (18×) - \"speak\"\nKey Pattern: š → a, ṭ → m in the test set\n\n3. VOCABULARY STATISTICS\nTrain vocabulary: 11,471 unique tokens\nTest vocabulary: 63 unique tokens\nOverlap: 36 tokens (57.1%)\nOOV: 27 tokens (42.9%)\n\n4. TEXT LENGTH\nTrain Mean: 426.5 chars\nTest Mean: 168.8 chars (~40% of train length)\n\n5. POTENTIAL SOLUTIONS\n\nPreprocessing: Normalize test set to train conventions\nData Augmentation: Add character substitution noise (š↔a, ṭ↔m)\nTrain with both transliteration conventions\n\nQUESTIONS\n\nIs this intentional to test robustness?\nHas anyone found the source for text_id: 332fda50?\n\nWould love to hear your thoughts! 🙏",
    "3385405": ">Please note that this is a [Code Competition](https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/overview/code-requirements). The data in `test.csv` is only dummy data to help you author your solutions. When your submission is scored, this example test data will be replaced with the full test set.\n\nSo the test.csv you analyzed is just placeholder data for debugging purposes — it's not the actual hidden test set used for scoring.\n\nThe host has confirmed in multiple discussion threads that the hidden test set follows the same formatting conventions as described in the Dataset Instructions, including normalized gaps (<gap>, <big_gap>), proper subscript handling, and Unicode fractions.\n\nSee [this thread](https://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/664411) for the host's confirmation.",
    "3385431": "deeppast @ryanholbrook?\n\nThe `test.csv` does look like it has broken transliterations. Would be good to hear from the Hosts to make sure if the issue is true only for the `test.csv` and not for the hidden test as well.\n\nConsidering the length differences, aside from what @daylighth posted about `<gap>/<big_gap>` normalization, it's worth comparing the data to the \"Sentences_Oare_FirstWord_LinNum.csv\" as they are split into smaller chunks, similar to how the hidden test looks like.",
    "3385467": "你的发现完全是对的，但是我把所有test出现可能是问题的 a „ mup    替换后，其实没有得到任何增加，至于test的答案应该是train里的3e87aad8-cd8c-4f8d-96e9-c68e062d4a1a，而且你可以发现，在Overview里，主办方给的submission答案，就是这个，lol",
    "3385650": "OK, thank you for your reply. However, after conducting some post-processing on the training data, I discovered that certain post-processing techniques could improve the score during validation, but the same character processing had a negative impact on the test set. This might require the official to release the actual dictionary.",
    "3385652": "OK, thank you for your reply. After the gap was handled according to the official procedure, the score actually dropped. Has this happened to me alone, or is it a common occurrence?",
    "3385653": "我觉得train和真正的test很有可能也有较大的分布偏差。并且不仅仅局限在官方所说的句子长度问题\n\nI think there is also likely to be a significant distributional deviation in the train and the actual test sets. And this problem is not limited to the sentence length issue as stated by the official.",
    "3385673": "The characters seen in the test set were released in another discussion.",
    "3385696": "Thanks. But where did you get the test set for analysis? test.csv is only a dummy file with no real information so I was wondering how did you analyze the test set...",
    "3385700": "Not you alone. I’ve worked through it.. 95% of my score is from my preprocessing pipeline.",
    "3385918": "About #1, here is the list of official transliteration characters provided by host here:\nhttps://www.kaggle.com/competitions/deep-past-initiative-machine-translation/discussion/665209#3384200\n\nš (shin), ṣ (tsade), ṭ (tet) are available in test set.\nḫ and Ḫ are available in train.csv and missing in test set.\n\n```python\nnew_transliteration_list = [\n    '-', 'a', 'A', 'i', 'I', 'u', 'U', 'm', 'M', 'š', 'Š', 'n', 'N', 'b', 'B', \n    'r', 'R', 't', 'T', 'l', 'L', 'k', 'K', 'G', 'g', 'í', 'Í', 'D', 'd', 'Ù', \n    'ù', 'á', 'Á', '.', 'ú', 'Ú', 'p', 'P', 'e', 'E', 'h', 'H', 'q', 'Q', '1', \n    'ṣ', 'Ṣ', 'é', 'É', '<', '>', 'à', 'À', '4', 'z', 'Z', 's', 'S', 'ì', 'Ì', \n    '5', '_', '2', '0', '½', 'w', 'W', '3', '{', '}', 'ṭ', 'Ṭ', '6', '⅓', '8', \n    '⅔', '7', 'è', 'È', '⅚', '9', '¼', '!', '+', '⅙', 'ı', '…', 'ş', 'İ', ':'\n]\n```\n\n```python\nStandard Alpha\ta, A, b, B, e, E...\nSpecial Transliteration\tš, Š, ṣ, Ṣ, ṭ, Ṭ, ı, ş, İ\nAccented Vowels\tí, Í, Ù, ù, á, Á, ú, Ú, é, É, à, À, ì, Ì, è, È\nNumbers & Fractions\t0-9, ½, ⅓, ⅔, ⅚, ¼, ⅙\nPunctuation & Symbols\t-, ., <, >, _, {, }, !, +, …, :\n```"
  },
  "source": "meta"
}