Word2Vec vs. Sentence2Vec vs. Doc2Vec


18

Recientemente me encontré con los términos Word2Vec , Sentence2Vec y Doc2Vec y me confundí un poco porque soy nuevo en la semántica de vectores. ¿Puede alguien explicar las diferencias en estos métodos en palabras simples? ¿Cuáles son las tareas más adecuadas para cada método?

Respuestas:


22

Bueno, los nombres son bastante sencillos y deberían darle una idea clara de las representaciones vectoriales.

El algoritmo de Word2Vec crea una representación semántica distribuida de palabras. Hay dos enfoques principales para la capacitación, la Bolsa distribuida de palabras y el modelo de salto de gramo. Uno implica predecir las palabras de contexto usando una palabra central, mientras que el otro implica predecir la palabra usando las palabras de contexto. Puedes leer sobre ello con mucho detalle en el artículo de Mikolov .

La misma idea puede extenderse a oraciones y documentos completos donde, en lugar de aprender representaciones de características para palabras, la aprende para oraciones o documentos. Sin embargo, para tener una idea general de un SentenceToVec, piense en él como un promedio matemático de las representaciones de vectores de palabras de todas las palabras en la oración. Puede obtener una muy buena aproximación simplemente promediando y sin entrenar ningún SentenceToVec pero, por supuesto, tiene sus limitaciones.

Doc2Vec extiende la idea de SentenceToVec o más bien Word2Vec porque las oraciones también se pueden considerar como documentos. La idea del entrenamiento sigue siendo similar. Puede leer el documento Doc2Vec de Mikolov para obtener más detalles.

Al llegar a las aplicaciones, dependería de la tarea. Un Word2Vec captura efectivamente las relaciones semánticas entre las palabras, por lo tanto, puede usarse para calcular las similitudes de palabras o alimentarse como características para diversas tareas de PNL, como el análisis de sentimientos, etc. Sin embargo, las palabras solo pueden capturar tanto, hay veces que necesita relaciones entre oraciones y documentos y no solo palabras. Por ejemplo, si está tratando de averiguar si dos preguntas de desbordamiento de pila son duplicadas entre sí.

Una simple búsqueda en Google lo llevará a una serie de aplicaciones de estos algoritmos.


¿Cuál es la diferencia entre promediar vectores de palabras y usar doc2vec, entonces? ¿Doc2vec explica el entorno de una palabra en la oración mientras construye el vector (mientras que word2vec no)?
John Strood

1
Doc2Vec aprende un vector inicializado al azar para el documento junto con las palabras (el documento podría ser una oración). El promedio manual de vectores de palabras no funciona con la misma capacidad porque no puede aprender de todo el documento. Recientemente vectores paragrama han sido extremadamente utilizar mientras se trabaja con similitud de documentos, etc.
Himanshu Rai
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.