Búsqueda de incrustación de columnas de características
He estado trabajando con los conjuntos de datos y las columnas de características en tensorflow (https://developers.googleblog.com/2017/11/introducing-tensorflow-feature-columns.html) Veo que tienen características categóricas y una forma de crear características incrustadas a partir de características categóricas. Pero cuando trabajamos en tareas nlp, ¿cómo creamos una búsqueda de incrustación única?
Por ejemplo: considere la tarea de clasificación de texto. Cada punto de datos tendría muchas columnas textuales, pero no serían categorías separadas. ¿Cómo creamos y usamos una búsqueda de incrustación única para todas estas columnas?
A continuación se muestra un ejemplo de cómo estoy usando actualmente las funciones de incrustación. Estoy creando una característica categórica para cada columna y la uso para crear incrustaciones. El problema sería que las incrustaciones para la misma palabra podrían ser diferentes para diferentes columnas.
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]