Tensorflow:如何在词汇功能列中输入数据?

时间:2018-08-14 17:44:09

标签: pandas tensorflow vocabulary

我目前正在处理基于文本输入的分类问题,我的主要问题是:

我正确的假设是,我可以将完整的句子解析为一个字符串到词汇列中,还是需要将句子拆分成单词-像 list

我的数据看起来像这样:

    A    B    text
1   ..   ..   My first example text
2   ..   ..   My second example text

(除了我的文本输入功能外,还有一些其他分类信息-但在这种情况下它们不相关)

我的代码基本上是这样的:

// data import and data preparation

categorical_voc = tf.feature_column.categorical_column_with_vocabulary_list(key="text", vocabulary_list=vocabulary_list)

embedding_initializer = tf.random_uniform_initializer(-1.0, 1.0)

embed_column_dim = math.ceil(len(vocabulary_list) ** 0.25)
embed_column = tf.feature_column.embedding_column(
    categorical_column=categorical_voc,
    dimension=embed_column_dim,
    initializer=embedding_initializer,
    trainable=True)

estimator = tf.estimator.DNNClassifier(
    optimizer=optimizer,
    feature_columns=feature_columns,
    hidden_units=hidden_units,
    activation_fn=activation_fn,
    dropout=dropout,
    n_classes=target_size,
    label_vocabulary=target_list,
    config=config)

train_input_fn = tf.estimator.inputs.pandas_input_fn(
    x=train_data,
    y=train_target,
    batch_size=batch_size,
    num_epochs=1,
    shuffle=True)

estimator.train(input_fn=train_input_fn)

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

对于那些在解决词汇列中如何处理句子方面存在相同问题的人。

到目前为止,我的结论是我必须在词汇表列中填充字符串数组。唯一的问题是pandas_input_fn()不支持一系列列表。这就是为什么我回到自定义输入功能的原因!