Es una forma conveniente de incrustar documentos de texto en TensorFlow.
Al utilizar el método tf.nn.embedding_lookup () , se espera que alimente su red con lotes de índices (por ejemplo, un lote podría ser [[1, 2, 4, 2, 8], [6, 3, 9, 2, 8], [2, 19, 34, 3, 7, 18]]. Esto significa que la primera muestra (documento) contiene los tokens número 1, 2, 4, 2, 8 (ordenados).
En este caso, tiene tantos elementos en su índice como tokens en todo su corpus de documentos. El tamaño de su matriz de incrustación es (número de tokens en vocabulario * dimensión de incrustación). La dimensión de incrustación es un hiperparámetro que debe definir. Al alimentar a su red con lotes de índices, cada índice recuperará la fila de la matriz de incrustación correspondiente al token relevante. Cuando se trabaja con PNL y aprendizaje profundo, es habitual tener un “tamaño normalizado” para sus documentos, es decir, cada documento en un lote se truncará o rellenará para tener el mismo tamaño. La función embedding_lookup recuperará la fila relevante de la matriz de incrustación (generalmente, esta matriz se inicializa aleatoriamente con variables aleatorias gaussianas o con incrustaciones de Word2Vec, por ejemplo).
- ¿Cuál es la diferencia entre agrupar sin PCA y agrupar con PCA?
- ¿Dónde puedo obtener un conjunto de datos de notas de suicidio para fines de aprendizaje automático?
- ¿Qué es el condicionamiento en el aprendizaje seq2seq?
- Optimización matemática: ¿Por qué el método de descenso más pronunciado usando el descenso de gradiente típico tiene problemas con la función de Rosenbrock?
- ¿Cuál es la importancia del lenguaje de programación Erlang para el aprendizaje automático?
Aquí hay un pequeño borrador explicativo:
Cada índice se asigna a su incrustación, es decir, a la fila correspondiente de la matriz de incrustación. Tenga en cuenta que esta matriz de inclusión se puede entrenar o se fija a su valor inicial.
Además, la representación en el borrador es útil para redes neuronales convolucionales. Una representación secuencial como [[[0.32, 0.48, …, 1.2], […], […]], [[0.32, 0.48, …, 1.2], […], […]], [[…] , […], […]]] puede ser más adecuado para redes neuronales recurrentes y también es posible con embedding_lookup.