Word2Vec - 如何存储和检索有关每个语料库实例的额外信息?

Word2Vec - How can I store and retrieve extra information regarding each instance of corpus?

我需要将 Word2Vec 与我的 CNN 模型结合起来。为此,我需要为每个句子保留一个标志(二进制标志就足够了),因为我的语料库有两种类型(a.k.a. 目标 类)的句子。所以,我需要在创建后检索每个向量的这个标志。我如何在 Word2Vec 的输入语句中存储和检索这些信息,因为我需要它们来训练我的深度神经网络?

p.s。我正在使用 Gensim 实现 Word2Vec.

p.s。我的语料库有 6,925 个句子,Word2Vec 产生 5,260 个向量。

编辑:关于我的语料库的更多细节(按要求):

语料库结构如下:

  1. 句子(标签:positive)--一个Python列表

    • Feature-A: 字符串
    • Feature-B: 字符串
    • Feature-C: 字符串
  2. 句子(标签:negative)--一个Python列表

    • Feature-A: 字符串
    • Feature-B: 字符串
    • Feature-C: 字符串

然后所有的句子都作为输入给Word2Vec.

word2vec = Word2Vec(all_sentences, min_count=1)

我将向我的 CNN 提供提取的特征(在本例中为 vocabulary)和句子的 targets。所以,我也需要这些句子的标签。

因为 Word2Vec 模型不保留单个训练文本的任何表示,所以这完全是您在自己的 Python 代码中的事情。

这似乎不是很多数据。 (对于典型的 Word2Vec 目的来说,只有 5,260 个单词的最终词汇表是相当小的。)

除非每个文本(又名 'sentence')很长,否则您甚至可以只使用 Python 字典,其中每个键是句子的完整字符串,值是您的标志。

但是,如果您的源数据每个文本都有一些其他唯一标识符——比如唯一的数据库键,甚至是规范表示中的 line/row 数字——您应该使用该标识符作为键代替。

事实上,如果您的 6,925 个文本有一个规范的来源排序,您可以只拥有一个包含 6,925 个元素的列表 flags,按顺序排列,其中每个元素都是您的标志。当您需要从位置 n 了解文本的状态时,只需查看 flags[n]

(要提出更具体的建议,您需要添加有关数据原始来源的更多详细信息,确切地说 when/why 您需要稍后检查这个额外的 属性 .)