{
  "id": 294516,
  "title": "word2vec for multi-word objects?",
  "url": "/competitions/cs5785-fall-2021-final/discussion/294516",
  "author_name": "",
  "post_date": "2021-12-11T04:33:10.376212Z",
  "votes": 3,
  "comment_count": 2,
  "views": 0,
  "content": "<p>I was testing embedding the tags - just the objects by the way, not the groups. I noticed that many of the tags were multiple words. For example, \"stop sign\" and \"dining table.\"  These weren't found in the index. Is that just a limitation of word2vec? Does anyone have a way of getting around this?</p>",
  "messages": [
    {
      "id": "1614426",
      "postDate": "12/11/2021 04:33:10",
      "content": "<p>I was testing embedding the tags - just the objects by the way, not the groups. I noticed that many of the tags were multiple words. For example, \"stop sign\" and \"dining table.\"  These weren't found in the index. Is that just a limitation of word2vec? Does anyone have a way of getting around this?</p>",
      "rawMarkdown": "I was testing embedding the tags - just the objects by the way, not the groups. I noticed that many of the tags were multiple words. For example, \"stop sign\" and \"dining table.\"  These weren't found in the index. Is that just a limitation of word2vec? Does anyone have a way of getting around this?",
      "votes": null
    },
    {
      "id": "1615079",
      "postDate": "12/11/2021 19:28:37",
      "content": "<p>Maybe you could just handle the tags like a short statement in that case. Or alternatively you could get the embeddings for each individual word and then average them in some way. I've done some averaging to get new embeddings (albeit not on the tags specifically) and it can work fairly well. The only issue here is that in the case of something like \"stop sign\" I don't know if the average of the two words would actually produce a result that makes any sense. Instead I would probably try to apply w2v to just the two word \"sentence\" of the tag.</p>",
      "rawMarkdown": "Maybe you could just handle the tags like a short statement in that case. Or alternatively you could get the embeddings for each individual word and then average them in some way. I've done some averaging to get new embeddings (albeit not on the tags specifically) and it can work fairly well. The only issue here is that in the case of something like \"stop sign\" I don't know if the average of the two words would actually produce a result that makes any sense. Instead I would probably try to apply w2v to just the two word \"sentence\" of the tag.",
      "votes": null
    },
    {
      "id": "1617168",
      "postDate": "12/13/2021 22:46:19",
      "content": "<p>I tried taking just one word out of the tags that contain two words, which are (this is an exhaustive list):<br>\n'dining table', 'traffic light', 'baseball bat', 'baseball glove', 'stop sign', 'wine glass', 'potted plant', 'sports ball', 'fire hydrant', 'teddy bear', 'cell phone', 'tennis racket', 'parking meter', 'hot dog', 'hair drier'.<br>\nI guess you could try averaging the word vectors for the two words together, but when I tried that myself I found that taking just one word tended to do better than the averaging.</p>",
      "rawMarkdown": "I tried taking just one word out of the tags that contain two words, which are (this is an exhaustive list):\n'dining table', 'traffic light', 'baseball bat', 'baseball glove', 'stop sign', 'wine glass', 'potted plant', 'sports ball', 'fire hydrant', 'teddy bear', 'cell phone', 'tennis racket', 'parking meter', 'hot dog', 'hair drier'.\nI guess you could try averaging the word vectors for the two words together, but when I tried that myself I found that taking just one word tended to do better than the averaging.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1615079,
      "author_name": "epickens",
      "author_url": "",
      "post_date": "12/11/2021 19:28:37",
      "content": "<p>Maybe you could just handle the tags like a short statement in that case. Or alternatively you could get the embeddings for each individual word and then average them in some way. I've done some averaging to get new embeddings (albeit not on the tags specifically) and it can work fairly well. The only issue here is that in the case of something like \"stop sign\" I don't know if the average of the two words would actually produce a result that makes any sense. Instead I would probably try to apply w2v to just the two word \"sentence\" of the tag.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 1617168,
      "author_name": "jacquelynpeng",
      "author_url": "",
      "post_date": "12/13/2021 22:46:19",
      "content": "<p>I tried taking just one word out of the tags that contain two words, which are (this is an exhaustive list):<br>\n'dining table', 'traffic light', 'baseball bat', 'baseball glove', 'stop sign', 'wine glass', 'potted plant', 'sports ball', 'fire hydrant', 'teddy bear', 'cell phone', 'tennis racket', 'parking meter', 'hot dog', 'hair drier'.<br>\nI guess you could try averaging the word vectors for the two words together, but when I tried that myself I found that taking just one word tended to do better than the averaging.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1614426": "I was testing embedding the tags - just the objects by the way, not the groups. I noticed that many of the tags were multiple words. For example, \"stop sign\" and \"dining table.\"  These weren't found in the index. Is that just a limitation of word2vec? Does anyone have a way of getting around this?",
    "1615079": "Maybe you could just handle the tags like a short statement in that case. Or alternatively you could get the embeddings for each individual word and then average them in some way. I've done some averaging to get new embeddings (albeit not on the tags specifically) and it can work fairly well. The only issue here is that in the case of something like \"stop sign\" I don't know if the average of the two words would actually produce a result that makes any sense. Instead I would probably try to apply w2v to just the two word \"sentence\" of the tag.",
    "1617168": "I tried taking just one word out of the tags that contain two words, which are (this is an exhaustive list):\n'dining table', 'traffic light', 'baseball bat', 'baseball glove', 'stop sign', 'wine glass', 'potted plant', 'sports ball', 'fire hydrant', 'teddy bear', 'cell phone', 'tennis racket', 'parking meter', 'hot dog', 'hair drier'.\nI guess you could try averaging the word vectors for the two words together, but when I tried that myself I found that taking just one word tended to do better than the averaging."
  },
  "source": "meta"
}