Estoy tratando de incrustar aproximadamente 60 millones de frases en un espacio vectorial , luego calcular la similitud de coseno entre ellas. He estado usando sklearn's CountVectorizer
con una función de tokenizador personalizada que produce unigramas y bigrams. Resulta que para obtener representaciones significativas, tengo que permitir un gran número de columnas, lineales en el número de filas. Esto conduce a matrices increíblemente dispersas y está matando el rendimiento. No sería tan malo si hubiera solo alrededor de 10,000 columnas, lo que creo que es bastante razonable para la inserción de palabras.
Estoy pensando en tratar de usar Google word2vec
porque estoy bastante seguro de que produce incrustaciones mucho más bajas y más densas. Pero antes de eso, ¿hay otras incrustaciones que puedan justificar un vistazo al principio? El requisito clave sería poder escalar alrededor de 60 millones de frases (filas).
Soy bastante nuevo en el campo de las incrustaciones de palabras, por lo que cualquier consejo sería útil.
También debo agregar que ya estoy usando la descomposición de valores singulares para mejorar el rendimiento.