{
  "id": 326013,
  "title": "I think deep learning is not suitable for this problem",
  "url": "/competitions/AI4Code/discussion/326013",
  "author_name": "WOOSUNG YOON",
  "post_date": "2022-05-19T17:32:04.045000",
  "votes": 1,
  "comment_count": 7,
  "views": 0,
  "content": "<p>Actually, I can't understand this problem as a beginner.</p>\n<p>I believe that the deep learning is kind of probabilistic model.<br>\nIn this problem, how can we induce deep learning models to find relation mapping, <br>\nnot clusters?</p>\n<p>The given data is not independent. </p>\n<p>If the data are not independent, </p>\n<ul>\n<li>The model will look for some cluster that minimizes the loss function rather than looking for a mapping between the data. And it may lead overfitting on training dataset.</li>\n<li>Also, this problem will be sensitive on the choice of the optimizer, there is a high possibility of overfitting to a specific cluster.</li>\n</ul>\n<p>I have no idea how to apply deep learning in this problem,<br>\nIt seems important to organize the training data well.</p>",
  "messages": [
    {
      "id": 1797623,
      "postDate": "2022-05-22T07:33:23.707Z",
      "content": "<p>I think deep learning will still work. However this comp will require some heavy text processing which is a breeze of fresh air, I'm tired of feeding BERT raw data and hoping it will figure everything out by itself.</p>",
      "rawMarkdown": "I think deep learning will still work. However this comp will require some heavy text processing which is a breeze of fresh air, I'm tired of feeding BERT raw data and hoping it will figure everything out by itself.",
      "votes": 5,
      "replies": [
        {
          "id": 1797738,
          "postDate": "2022-05-22T09:54:39.380Z",
          "content": "<p>it seems you found an efficient way. I am still struggling to break 0.79 in CV. This point makes this comp more outstanding and more interesting than other NLP comps, IMO. </p>",
          "rawMarkdown": "it seems you found an efficient way. I am still struggling to break 0.79 in CV. This point makes this comp more outstanding and more interesting than other NLP comps, IMO. "
        },
        {
          "id": 1797741,
          "postDate": "2022-05-22T09:57:37.690Z",
          "content": "<p>I agree.. Coleridge was interesting in this regard and this one too.</p>",
          "rawMarkdown": "I agree.. Coleridge was interesting in this regard and this one too."
        }
      ]
    },
    {
      "id": 1795523,
      "postDate": "2022-05-19T21:18:56.053Z",
      "content": "<p>I think it is a deep learning problem, otherwise, I don't see any other ways to create features and make inference for unseen notebooks. It is true that the data is not independent given each cell, but it is independent given notebooks. By comparison, I think it is similar to the longitudinal data type. Most of the current public notebooks ignore this information but still have good results. It is a deep learning problem, but data needs to be organized well, I believe.</p>",
      "rawMarkdown": "I think it is a deep learning problem, otherwise, I don't see any other ways to create features and make inference for unseen notebooks. It is true that the data is not independent given each cell, but it is independent given notebooks. By comparison, I think it is similar to the longitudinal data type. Most of the current public notebooks ignore this information but still have good results. It is a deep learning problem, but data needs to be organized well, I believe.",
      "votes": 3
    },
    {
      "id": 1795362,
      "postDate": "2022-05-19T17:32:04.047Z",
      "content": "<p>Actually, I can't understand this problem as a beginner.</p>\n<p>I believe that the deep learning is kind of probabilistic model.<br>\nIn this problem, how can we induce deep learning models to find relation mapping, <br>\nnot clusters?</p>\n<p>The given data is not independent. </p>\n<p>If the data are not independent, </p>\n<ul>\n<li>The model will look for some cluster that minimizes the loss function rather than looking for a mapping between the data. And it may lead overfitting on training dataset.</li>\n<li>Also, this problem will be sensitive on the choice of the optimizer, there is a high possibility of overfitting to a specific cluster.</li>\n</ul>\n<p>I have no idea how to apply deep learning in this problem,<br>\nIt seems important to organize the training data well.</p>",
      "rawMarkdown": "Actually, I can't understand this problem as a beginner.\n\nI believe that the deep learning is kind of probabilistic model.\nIn this problem, how can we induce deep learning models to find relation mapping, \nnot clusters?\n\nThe given data is not independent. \n\nIf the data are not independent, \n- The model will look for some cluster that minimizes the loss function rather than looking for a mapping between the data. And it may lead overfitting on training dataset.\n- Also, this problem will be sensitive on the choice of the optimizer, there is a high possibility of overfitting to a specific cluster.\n\nI have no idea how to apply deep learning in this problem,\nIt seems important to organize the training data well.",
      "votes": 1
    },
    {
      "id": 1796611,
      "postDate": "2022-05-21T01:37:18.480Z",
      "content": "<p>Before thinking about deep learning vs non-deep learning, I think it is useful to ask, \"how can we use machine learning to solve this problem?\"</p>\n<p>The example notebook that Google provided (<a href=\"https://www.kaggle.com/code/ryanholbrook/getting-started-with-ai4code\" target=\"_blank\">here</a>) creates a regression task. For each cell in our (shuffled) notebook, we try to predict the rank of that cell given features of the cell (mainly the text). We then sort the cells by our predicted rank. The idea is that certain text tends to appear at the beginning of a notebook (like \"Introduction\") and certain text at the end (like \"in Conclusion\"). That's probably a good notebook to start with.</p>\n<p>Another approach would be to create a pairwise dataset of (cell, other_cell_in_notebook, label) where <em>label == 1</em> if the other cell directly follows the first cell, else 0. This lets us train a classification model like p(cell A follows cell B) given the text of both cells.</p>\n<p>Either of these approaches can use deep learning methods <em>or</em> other machine learning algorithms.</p>",
      "rawMarkdown": "Before thinking about deep learning vs non-deep learning, I think it is useful to ask, \"how can we use machine learning to solve this problem?\"\n\nThe example notebook that Google provided ([here](https://www.kaggle.com/code/ryanholbrook/getting-started-with-ai4code)) creates a regression task. For each cell in our (shuffled) notebook, we try to predict the rank of that cell given features of the cell (mainly the text). We then sort the cells by our predicted rank. The idea is that certain text tends to appear at the beginning of a notebook (like \"Introduction\") and certain text at the end (like \"in Conclusion\"). That's probably a good notebook to start with.\n\nAnother approach would be to create a pairwise dataset of (cell, other_cell_in_notebook, label) where *label == 1* if the other cell directly follows the first cell, else 0. This lets us train a classification model like p(cell A follows cell B) given the text of both cells.\n\nEither of these approaches can use deep learning methods *or* other machine learning algorithms.",
      "votes": 1
    },
    {
      "id": 1797948,
      "postDate": "2022-05-22T15:02:26.807Z",
      "content": "<p>I think the <a href=\"https://en.wikipedia.org/wiki/Learning_to_rank\" target=\"_blank\"><strong>ranking</strong> task</a> will help to <strong>partially</strong> solve this problem. And this problem can be solved by different methods (including using DL)</p>",
      "rawMarkdown": "I think the [**ranking** task](https://en.wikipedia.org/wiki/Learning_to_rank) will help to **partially** solve this problem. And this problem can be solved by different methods (including using DL)"
    },
    {
      "id": 1796371,
      "postDate": "2022-05-20T18:51:19.310Z",
      "content": "<p>I think it is a DL problem, though I didn't understand what the baseline did, It seemed that he only use the ordered markdown to do a regression task, which means he train the network to learn something like: sentence that contain \"Preprocessing\" or \"import dependence\" word should have the higher possibility to get a higher score(or smaller number) to be the very front of all markdown, and something like \"Post processing\" may get bigger number when sorting the markdown. But I don't it a \"right way\", and don't think it would work, but it actually work not bad.<br>\nI think the \"RIGHT WAY\"(or what Google want us to do) is to extract the relationship between \"code\" cell and \"markdown\" cell, make them be pairs of data, and use the code cell (ordered all the time) to judge the right markdown order.</p>",
      "rawMarkdown": "I think it is a DL problem, though I didn't understand what the baseline did, It seemed that he only use the ordered markdown to do a regression task, which means he train the network to learn something like: sentence that contain \"Preprocessing\" or \"import dependence\" word should have the higher possibility to get a higher score(or smaller number) to be the very front of all markdown, and something like \"Post processing\" may get bigger number when sorting the markdown. But I don't it a \"right way\", and don't think it would work, but it actually work not bad.\nI think the \"RIGHT WAY\"(or what Google want us to do) is to extract the relationship between \"code\" cell and \"markdown\" cell, make them be pairs of data, and use the code cell (ordered all the time) to judge the right markdown order.",
      "votes": 1,
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 1797623,
      "author_name": "Khoi Nguyen",
      "author_url": "",
      "post_date": "2022-05-22T07:33:23.707000",
      "content": "<p>I think deep learning will still work. However this comp will require some heavy text processing which is a breeze of fresh air, I'm tired of feeding BERT raw data and hoping it will figure everything out by itself.</p>",
      "votes": 5,
      "replies": [
        {
          "id": 1797738,
          "author_name": "Minh Tri Phan",
          "author_url": "",
          "post_date": "2022-05-22T09:54:39.380000",
          "content": "<p>it seems you found an efficient way. I am still struggling to break 0.79 in CV. This point makes this comp more outstanding and more interesting than other NLP comps, IMO. </p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1797741,
          "author_name": "Hannes Öhler",
          "author_url": "",
          "post_date": "2022-05-22T09:57:37.690000",
          "content": "<p>I agree.. Coleridge was interesting in this regard and this one too.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1795523,
      "author_name": "Minh Tri Phan",
      "author_url": "",
      "post_date": "2022-05-19T21:18:56.053000",
      "content": "<p>I think it is a deep learning problem, otherwise, I don't see any other ways to create features and make inference for unseen notebooks. It is true that the data is not independent given each cell, but it is independent given notebooks. By comparison, I think it is similar to the longitudinal data type. Most of the current public notebooks ignore this information but still have good results. It is a deep learning problem, but data needs to be organized well, I believe.</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 1796611,
      "author_name": "dricciar",
      "author_url": "",
      "post_date": "2022-05-21T01:37:18.480000",
      "content": "<p>Before thinking about deep learning vs non-deep learning, I think it is useful to ask, \"how can we use machine learning to solve this problem?\"</p>\n<p>The example notebook that Google provided (<a href=\"https://www.kaggle.com/code/ryanholbrook/getting-started-with-ai4code\" target=\"_blank\">here</a>) creates a regression task. For each cell in our (shuffled) notebook, we try to predict the rank of that cell given features of the cell (mainly the text). We then sort the cells by our predicted rank. The idea is that certain text tends to appear at the beginning of a notebook (like \"Introduction\") and certain text at the end (like \"in Conclusion\"). That's probably a good notebook to start with.</p>\n<p>Another approach would be to create a pairwise dataset of (cell, other_cell_in_notebook, label) where <em>label == 1</em> if the other cell directly follows the first cell, else 0. This lets us train a classification model like p(cell A follows cell B) given the text of both cells.</p>\n<p>Either of these approaches can use deep learning methods <em>or</em> other machine learning algorithms.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1797948,
      "author_name": "Pavel Orlov",
      "author_url": "",
      "post_date": "2022-05-22T15:02:26.807000",
      "content": "<p>I think the <a href=\"https://en.wikipedia.org/wiki/Learning_to_rank\" target=\"_blank\"><strong>ranking</strong> task</a> will help to <strong>partially</strong> solve this problem. And this problem can be solved by different methods (including using DL)</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 1796371,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-05-20T18:51:19.310000",
      "content": "<p>I think it is a DL problem, though I didn't understand what the baseline did, It seemed that he only use the ordered markdown to do a regression task, which means he train the network to learn something like: sentence that contain \"Preprocessing\" or \"import dependence\" word should have the higher possibility to get a higher score(or smaller number) to be the very front of all markdown, and something like \"Post processing\" may get bigger number when sorting the markdown. But I don't it a \"right way\", and don't think it would work, but it actually work not bad.<br>\nI think the \"RIGHT WAY\"(or what Google want us to do) is to extract the relationship between \"code\" cell and \"markdown\" cell, make them be pairs of data, and use the code cell (ordered all the time) to judge the right markdown order.</p>",
      "votes": 1,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1797623": "I think deep learning will still work. However this comp will require some heavy text processing which is a breeze of fresh air, I'm tired of feeding BERT raw data and hoping it will figure everything out by itself.",
    "1795523": "I think it is a deep learning problem, otherwise, I don't see any other ways to create features and make inference for unseen notebooks. It is true that the data is not independent given each cell, but it is independent given notebooks. By comparison, I think it is similar to the longitudinal data type. Most of the current public notebooks ignore this information but still have good results. It is a deep learning problem, but data needs to be organized well, I believe.",
    "1795362": "Actually, I can't understand this problem as a beginner.\n\nI believe that the deep learning is kind of probabilistic model.\nIn this problem, how can we induce deep learning models to find relation mapping, \nnot clusters?\n\nThe given data is not independent. \n\nIf the data are not independent, \n- The model will look for some cluster that minimizes the loss function rather than looking for a mapping between the data. And it may lead overfitting on training dataset.\n- Also, this problem will be sensitive on the choice of the optimizer, there is a high possibility of overfitting to a specific cluster.\n\nI have no idea how to apply deep learning in this problem,\nIt seems important to organize the training data well.",
    "1796611": "Before thinking about deep learning vs non-deep learning, I think it is useful to ask, \"how can we use machine learning to solve this problem?\"\n\nThe example notebook that Google provided ([here](https://www.kaggle.com/code/ryanholbrook/getting-started-with-ai4code)) creates a regression task. For each cell in our (shuffled) notebook, we try to predict the rank of that cell given features of the cell (mainly the text). We then sort the cells by our predicted rank. The idea is that certain text tends to appear at the beginning of a notebook (like \"Introduction\") and certain text at the end (like \"in Conclusion\"). That's probably a good notebook to start with.\n\nAnother approach would be to create a pairwise dataset of (cell, other_cell_in_notebook, label) where *label == 1* if the other cell directly follows the first cell, else 0. This lets us train a classification model like p(cell A follows cell B) given the text of both cells.\n\nEither of these approaches can use deep learning methods *or* other machine learning algorithms.",
    "1797948": "I think the [**ranking** task](https://en.wikipedia.org/wiki/Learning_to_rank) will help to **partially** solve this problem. And this problem can be solved by different methods (including using DL)",
    "1796371": "I think it is a DL problem, though I didn't understand what the baseline did, It seemed that he only use the ordered markdown to do a regression task, which means he train the network to learn something like: sentence that contain \"Preprocessing\" or \"import dependence\" word should have the higher possibility to get a higher score(or smaller number) to be the very front of all markdown, and something like \"Post processing\" may get bigger number when sorting the markdown. But I don't it a \"right way\", and don't think it would work, but it actually work not bad.\nI think the \"RIGHT WAY\"(or what Google want us to do) is to extract the relationship between \"code\" cell and \"markdown\" cell, make them be pairs of data, and use the code cell (ordered all the time) to judge the right markdown order."
  }
}