【问题标题】:Word2vec: add external word to every contextWord2vec:将外部单词添加到每个上下文
【发布时间】:2017-06-30 17:43:42
【问题描述】:

我正在寻找一个简单的“hack”来实现以下想法:我希望在每个单词的上下文中人为地出现一个特定的单词(基本目标是尝试使用 word2vec 进行有监督的句子分类)。

最好举个例子:

假设我有句子:"The dog is in the garden",窗口为 1。

所以我们会得到以下的(目标,上下文):

(dog, The), (dog, is), (is, dog), (is, in), etc.

但我想为 word2vec 算法提供的信息是:

(dog, The), (dog, is), **(dog, W)**, (is, dog), (is, in), **(is, W)**, etc.,

好像我的单词 W 是在每个单词的上下文中一样。

其中 W 是我选择的词,不在现有词汇表中。

在 R 或 python 中有一种简单的方法吗?

【问题讨论】:

  • 这里有类似于“上下文丰富”的东西吗? aclweb.org/anthology/R/R15/R15-1029.pdf
  • 是的,非常感谢您的链接!基本上我的想法似乎是他们“丰富的上下文”的一个特例。现在我想知道我是否真的必须卷起袖子自己编写代码......

标签: nlp word2vec


【解决方案1】:

我想你有句子列表和每个句子的标签列表:

sentences = [
    ["The", "dog", "is", "in", "the", "garden"],
    ["The", "dog", "is", "not", "in", "the", "garden"],
]

然后你创建了单词-上下文对:

word_context = [("dog", "The"), ("dog", "is"), ("is", "dog"), ("is", "in") ...]

现在,如果每个句子都有一个标签,您可以将标签添加到所有单词的上下文中:

labels = [
    "W1",
    "W2",
]

word_labels = [
    (word, label)
    for sent, label in zip(sentences, labels)
    for word in sent
]

word_context += word_labels

除非你想保持单词-上下文对的顺序!

【讨论】:

  • 这确实是我想要对句子进行的初步步骤,然后再将它们提供给 skip-gram 算法。您是否知道可以将这些元组作为输入(而不仅仅是原始句子)的实现?
  • 这个例子? katrinerk.com/courses/…
  • 啊哈现在我明白你的问题了!抱歉,我认为您应该对其进行编码。我发给你的链接不是 word2vec。这是如何创建这些单词对的示例。我不知道。也许有一种方法可以在 Gensim 中使用单词对进行训练。
  • 你是对的。一般来说,我对 nlp 还是很陌生,但似乎 gensim 确实将令牌作为输入。会深入研究。非常感谢!
【解决方案2】:

看看“段落向量”算法——在 Python gensim 中实现为 Doc2Vec 类。在其中,每个文本示例都会获得一个额外的伪词,该伪词基本上会浮动在整个示例之上,为每个类似 skip-gram(在段落向量中称为 PV-DBOW)或类似 CBOW(在段落向量中称为 PV-DM)训练做出贡献-语境。

还可以查看 Facebook 的“FastText”论文和图书馆。它本质上是 word2vec 在两个不同方向上的扩展:

首先,它可以选择学习子词片段(字符 n-gram)的向量,以便未来的未知词可以从其子词中获得粗略的猜测向量。

其次,它可以选择在向量训练期间不仅尝试预测附近的单词,还可以预测包含文本示例(句子)的已知分类标签。因此,学习到的词向量可能更好地用于其他未来句子的后续分类。

【讨论】:

  • 感谢您的建议!我认为 gensim 的实现可能是我正在寻找的,特别是如果我可以为多个段落重复使用相同的标签(你知道这是否可能吗?)。我来看看 FastText。
  • 是的,您可以重复使用标签(在 Doc2Vec 训练时称为“标签”),或者给每个文本一个唯一的标签,然后训练一个分类器来学习从这些标签向量到标签的映射.
猜你喜欢
  • 1970-01-01
  • 2017-09-21
  • 2015-10-20
  • 1970-01-01
  • 2022-01-05
  • 2010-09-20
  • 2017-01-21
  • 2013-05-19
  • 2023-03-05
相关资源
最近更新 更多