Tengo poca curiosidad por saber por qué coseno? Después de pensar un poco, pensé en experimentar con coseno y jaccard. Los resultados se pueden ver en [1]
La mayoría de las veces cuando implementamos algoritmos, es fundamental entender cuándo usar qué. Que yo sepa y entiendo, el uso de Cosine aquí es una matanza excesiva porque
- La longitud del texto que estamos comparando es inferior a 140 caracteres.
- La noción de usar coseno será general debido a la computación de los vectores.
- Además, usar el modelo word2vec no será útil porque son más adecuados para textos más grandes.
Con base en los resultados en [1], se observa que en lugar de mirar el coseno. Un modelo de jaccard será suficiente para el problema en cuestión y funciona bastante bien. Si no funciona, puede agregar más
- ¿Cómo funcionan los vectores de párrafo frente a codificadores automáticos variacionales?
- ¿Cuáles son algunos problemas de aprendizaje automático que están más allá del poder de scikit-learn para resolver?
- ¿Qué algoritmos (aprendizaje automático y aprendizaje profundo) funcionan con un pequeño conjunto de datos, sin sobreajustarlo?
- ¿Cuál es la mejor arquitectura de red neuronal para procesar video?
- ¿Qué algoritmo de aprendizaje automático se debe usar para eliminar palabras innecesarias en una consulta de búsqueda realizada para recuperar datos de un texto grande?
- Semántica usando búsquedas basadas en diccionario
- Eliminar palabras de detención
- Limpiar el texto
Y, mejorar los resultados.
Referencias
[1] manjunath-s / datascience-experiment
[2] ¿Qué es doc2vec?
[3] PNL 05: de Word2vec a Doc2vec: un ejemplo simple con Gensim