En el aprendizaje profundo, ¿cómo convertir una oración o documento en un vector binario (flujo de 0 y 1)?

No conozco ningún trabajo similar a este. Hubo un documento sobre el uso del peso binario en redes neuronales, pero no estoy seguro de si es aplicable a su tarea. ¿Puedo preguntarte por qué quieres hacerlo?

Si está construyendo entradas a una red neuronal, el método más aceptado es word2vec. Entonces la pregunta es si esos vectores pueden ser binarios.

En general, puede, es decir, realizar un paso de entrenamiento normal y, después de cada actualización, redondear esos vectores a 1 y 0. Sin embargo, el rendimiento no será bueno.

La razón es que, generalmente, cada elemento en el vector representa cuán fuerte es cierta característica de la palabra. Suponga que el i-ésimo valor del vector representa la cantidad de pelaje, por lo que podría ser 0 para “pez”, 0.2 para “hombre” y “5” para gato. Redondear esos a binario significa que solo puede representar si la palabra tiene ciertas características. De nuevo en términos de pelaje, podría convertirse en 0 para “pez” y “humano”, 1 para “gato”. Aquí tiene una brevedad inherente: no puede reflejar la sutil diferencia entre las palabras. Simplemente trate de describir la diferencia entre “teléfono” y “tableta” enumerando lo que uno tiene y el otro no (luego use el mismo conjunto de características para describir “bueno” y “bonito”).

Por lo tanto, si va a implementarlo, intente configurar la longitud del vector muy grande, de modo que al menos tenga suficiente capacidad para codificar varias características.