{
  "id": 15299,
  "title": "2nd place solution",
  "content": "<p>Hi guys,</p>\n\n<p>First, thanks to the Kaggle team, kagglers and CrowdFlower for such great competition.</p>\n\n<p>We have prepared our code and put it on github: </p>\n\n<p><a href=\"https://github.com/geffy/kaggle-crowdflower\">https://github.com/geffy/kaggle-crowdflower</a></p>\n\n<p>For the approach, please find details in './description.pdf'</p>\n\n<p>Best,</p>\n\n<p>Mikhail, Stanislav, Dmitry</p>",
  "comments": [
    {
      "id": 85729,
      "author_name": "utility",
      "author_url": "",
      "post_date": "2015-07-16T22:41:30.840000",
      "content": "<p>[quote=Triskelion;85725]</p>\n\n<p>Wow, you actually used normalized compression distance with LZMA. Very nice work! Can you tell a little about how you generated it? I </p>\n\n<p>[/quote]\nIt was pretty straight-forward. Denote:</p>\n\n<p>q - length of compressed query (in bytes)</p>\n\n<p>t - length of compressed title</p>\n\n<p>qt - length of compressed query+title (concatenation of byte representations!)</p>\n\n<p>tq - length of compressed title+query</p>\n\n<p>Distance between query and respective title is (min(qt,tq)-min(q,t))/max(q,t)</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 85728,
      "author_name": "Mikhail Trofimov",
      "author_url": "",
      "post_date": "2015-07-16T22:41:16.830000",
      "content": "<p>Yes, it is in utility.py.</p>\n\n<p>Sorry, my bad -- forgot to push this file. =)\nNow it should be ok.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 85725,
      "author_name": "Triskelion",
      "author_url": "",
      "post_date": "2015-07-16T22:30:19.260000",
      "content": "<p>Wow, you actually used normalized compression distance with LZMA. Very nice work! Can you tell a little about how you generated it? I do not see it in the code. Is it defined in utility.py?</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 249445,
      "author_name": "",
      "author_url": "",
      "post_date": "2017-11-28T13:33:26.800000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 4,
  "messages": [
    {
      "id": 85724,
      "postDate": "2015-07-16T22:25:47.987Z",
      "content": "<p>Hi guys,</p>\n\n<p>First, thanks to the Kaggle team, kagglers and CrowdFlower for such great competition.</p>\n\n<p>We have prepared our code and put it on github: </p>\n\n<p><a href=\"https://github.com/geffy/kaggle-crowdflower\">https://github.com/geffy/kaggle-crowdflower</a></p>\n\n<p>For the approach, please find details in './description.pdf'</p>\n\n<p>Best,</p>\n\n<p>Mikhail, Stanislav, Dmitry</p>",
      "rawMarkdown": "Hi guys,\r\n\r\nFirst, thanks to the Kaggle team, kagglers and CrowdFlower for such great competition.\r\n\r\nWe have prepared our code and put it on github: \r\n\r\nhttps://github.com/geffy/kaggle-crowdflower\r\n\r\nFor the approach, please find details in './description.pdf'\r\n\r\n\r\nBest,\r\n\r\nMikhail, Stanislav, Dmitry\r\n\r\n",
      "votes": 11
    },
    {
      "id": 85729,
      "postDate": "2015-07-16T22:41:30.840Z",
      "content": "<p>[quote=Triskelion;85725]</p>\n\n<p>Wow, you actually used normalized compression distance with LZMA. Very nice work! Can you tell a little about how you generated it? I </p>\n\n<p>[/quote]\nIt was pretty straight-forward. Denote:</p>\n\n<p>q - length of compressed query (in bytes)</p>\n\n<p>t - length of compressed title</p>\n\n<p>qt - length of compressed query+title (concatenation of byte representations!)</p>\n\n<p>tq - length of compressed title+query</p>\n\n<p>Distance between query and respective title is (min(qt,tq)-min(q,t))/max(q,t)</p>",
      "rawMarkdown": "[quote=Triskelion;85725]\r\n\r\nWow, you actually used normalized compression distance with LZMA. Very nice work! Can you tell a little about how you generated it? I \r\n\r\n[/quote]\r\nIt was pretty straight-forward. Denote:\r\n\r\nq - length of compressed query (in bytes)\r\n\r\nt - length of compressed title\r\n\r\nqt - length of compressed query+title (concatenation of byte representations!)\r\n\r\ntq - length of compressed title+query\r\n\r\nDistance between query and respective title is (min(qt,tq)-min(q,t))/max(q,t)",
      "votes": 3
    },
    {
      "id": 85728,
      "postDate": "2015-07-16T22:41:16.830Z",
      "content": "<p>Yes, it is in utility.py.</p>\n\n<p>Sorry, my bad -- forgot to push this file. =)\nNow it should be ok.</p>",
      "rawMarkdown": "Yes, it is in utility.py.\r\n\r\nSorry, my bad -- forgot to push this file. =)\r\nNow it should be ok.",
      "votes": 1
    },
    {
      "id": 85725,
      "postDate": "2015-07-16T22:30:19.260Z",
      "content": "<p>Wow, you actually used normalized compression distance with LZMA. Very nice work! Can you tell a little about how you generated it? I do not see it in the code. Is it defined in utility.py?</p>",
      "rawMarkdown": "Wow, you actually used normalized compression distance with LZMA. Very nice work! Can you tell a little about how you generated it? I do not see it in the code. Is it defined in utility.py?",
      "votes": 1
    },
    {
      "id": 249445,
      "postDate": "2017-11-28T13:33:26.800Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T20:59:32Z",
  "competition_id": 4407,
  "competition_slug": "crowdflower-search-relevance",
  "team_id": 191179,
  "solution_url": "/competitions/crowdflower-search-relevance/writeups/mikhail-stanislav-dmitry-2nd-place-solution"
}