¿Son los modelos de n-gramas, la codificación de uno en caliente y word2vec diferentes tipos de representaciones de palabras y vectores de palabras?

Si.

Si bien todas las técnicas enumeradas codifican el texto numéricamente como vectores, lo hacen de diferentes maneras:

  • Codificación One-Hot:
    En este enfoque, cada elemento en el vector corresponde a una palabra única ( token) en el vocabulario del corpus. Entonces, si el token en un índice particular existe en el documento, ese elemento se marca como 1. De lo contrario, es 0. Esto es esencialmente una bolsa de palabras booleana.
    Parece una elección extraña de codificación, pero se usa con cierta frecuencia. ¿Por qué? Las codificaciones de frecuencia más comunes siguen una [Distribución Zipfian] () que falla para los modelos que esperan características distribuidas normalmente. En tales casos, la codificación en caliente es superior. También es una buena entrada para funciones que requieren un rango de entrada particular ( por ejemplo , funciones de activación de la red neuronal).
  • Modelos de N-gram:
    En general, esta es una codificación vectorial que tiene en cuenta secuencias de tokens. En este caso, N se refiere a un número fijo de caracteres o palabras a tener en cuenta.
    Aunque esto puede ser una codificación específica, a menudo se usa como parte de una implementación de modelo específico. Por ejemplo, el Kneser-Ney Smoothed 5-Gram calcula las probabilidades de secuencias de palabras usando una técnica de suavizado Kneser-Ney usando secuencias de longitud 5.
  • word2vec
    word2vec es un algoritmo que comprende dos modelos: bolsa continua de palabras ( CBOW ) o modelos de salto de gramo ( SG ). Las incrustaciones se crean a través de una red neuronal de dos capas, donde el modelo ( CBOW o SG ) corresponde a la tarea de predicción. Para CBOW , el objetivo es predecir una palabra dado su contexto (aquí el contexto se refiere a alguna ventana de palabras). Para SG , el objetivo es predecir el contexto dado a la palabra . El resultado final del modelo solo es importante por razones de entrenamiento; Una vez que el entrenamiento ha convergido, el vector de salida se ignora. En realidad, es la codificación en la capa oculta la que se utiliza como representación vectorial del texto.

Esa fue una descripción general de alto nivel, ¡así que espero que haya sido útil!

Aquí hay otros métodos interesantes que vale la pena explorar:

  • fastText: facebookresearch / fastText
  • Modelos de tema: Modelo de tema – Wikipedia
  • doc2vec : https://cs.stanford.edu/~quocle/…
  • CoVe: https://github.com/salesforce/cove
  • Guante: https://nlp.stanford.edu/projects/glove/