0

应用 TF-IDF 并将每个文档转换为 1*2000(特征),所以我的文档总数为 10824,稀疏矩阵为 10824 * 2000,相关标签的形状为 10824 * 35(35 个标签中的每个 0 或 1 个)

谁能帮助我,如何将它们存储到 TFRecordDataset(特征和标签)中?

在此处输入图像描述

4

1 回答 1

1

您可以使用tensorflow.Example proto来存储特征和标签。对于一个具体示例,文档应如下所示:

features: {
  feature: {
    key  : "features"
    value: {
      bytes_list: {
        value: ["this", "is", "an", "example", "of", "your", "features"]
      }
    }
  }
  feature: {
    key  : "labels"
    value: {
      bytes_list: {
        # Assume "news" and "sports" are two of your 35 labels.
        value: ["news", "sports"]
      }
    }
  }
}

(如果您已经将字符串转换为整数 (ID),则可以使用int64_list代替,bytes_list并且以后不需要使用词汇文件。)

现在你的整个数据集是一个TFRecordDataset原型tensorflow.Example。您可以使用tf.datasetAPI来读取和解析,如下所示:

d = tf.data.TFRecordDataset(FLAGS.input_file)
d = d.map(parser_fn)

你只需要写一个parser_fnusing tf.parse_example。您的feature_spec遗嘱如下所示:

feature_spec = {
  "token":  tf.VarLenFeature(tf.string),
  "labels": tf.VarLenFeature(tf.string),
}

由于特征和标签的稀疏性质,您可能需要使用分类词汇列或嵌入列在Estimator. 有关更多详细信息,请参阅https://www.tensorflow.org/guide/feature_columns

于 2018-09-15T01:31:19.447 回答