我一直在使用 tensorflow 中的数据集和 feature_columns(https://developers.googleblog.com/2017/11/introducing-tensorflow-feature-columns.html)。我看到它们具有分类特征和一种从分类特征创建嵌入特征的方法。但是在处理 nlp 任务时,我们如何创建单个嵌入查找?
例如:考虑文本分类任务。每个数据点都会有很多文本列,但它们不会是单独的类别。我们如何为所有这些列创建和使用单个嵌入查找?
下面是我当前如何使用嵌入功能的示例。我正在为每一列构建一个分类特征,并使用它来创建嵌入。问题在于,不同列的相同单词的嵌入可能不同。
def create_embedding_features(key, vocab_list=None, embedding_size=20):
cat_feature = \
tf.feature_column.categorical_column_with_vocabulary_list(
key=key,
vocabulary_list = vocab_list
)
embedding_feature = tf.feature_column.embedding_column(
categorical_column = cat_feature,
dimension = embedding_size
)
return embedding_feature
le_features_embd = [create_embedding_features(f, vocab_list=vocab_list)
for f in feature_keys]