我目前正在处理基于文本输入的分类问题,我的主要问题是:
我正确的假设是,我可以将完整的句子解析为一个字符串到词汇列中,还是需要将句子拆分成单词-像 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)
感谢您的帮助:)
答案 0 :(得分:0)
对于那些在解决词汇列中如何处理句子方面存在相同问题的人。
到目前为止,我的结论是我必须在词汇表列中填充字符串数组。唯一的问题是pandas_input_fn()不支持一系列列表。这就是为什么我回到自定义输入功能的原因!