Solución:
Tiene una buena razón para preferir 0.0-1.0 (aunque muchos algoritmos de aprendizaje deberían funcionar bien con un rango de -1.0 a 1.0). Su cambio de escala norm_sim de -1.0 a 1.0 a 0.0 a 1.0 está bien, si su único propósito es obtener rangos de 0.0-1.0 … pero, por supuesto, el valor resultante ya no es una verdadera similitud de coseno.
No importará necesariamente que los valores ya no sean ángulos reales de rango completo. (Si el algoritmo necesita ángulos reales, funcionaría con -1.0 a 1.0).
Usar el valor absoluto sin signo sería una mala idea, ya que cambiaría el orden de rango de las similitudes, moviendo algunos resultados que son “nativamente” muy diferentes hacia arriba.
Se ha trabajado para restringir los vectores de palabras para que solo tengan valores no negativos en las dimensiones, y el beneficio habitual es que es más probable que las dimensiones resultantes se puedan interpretar individualmente. (Consulte, por ejemplo, https://cs.cmu.edu/~bmurphy/NNSE/). Sin embargo, gensim no admite esta variante y solo intentarlo podría revelar si sería mejor para un proyecto en particular.
Además, hay otra investigación que sugiere que los vectores de palabras habituales pueden no estar ‘equilibrados’ alrededor del origen (por lo que verá menos similitudes de coseno negativas de lo que se esperaría de puntos en una hiperesfera aleatoria), y que cambiarlos para ser más equilibrado normalmente los mejorará para otras tareas. Ver: https://arxiv.org/abs/1702.01417v2