Cómo se puede usar word2vec para identificar palabras invisibles y relacionarlas con datos ya entrenados

11

Estaba trabajando en el modelo gensim de word2vec y lo encontré realmente interesante. Estoy interesado en encontrar cómo una palabra desconocida / invisible cuando se verifica con el modelo podrá obtener términos similares del modelo entrenado.

es posible? ¿Se puede ajustar word2vec para esto? O el cuerpo de entrenamiento necesita tener todas las palabras de las cuales quiero encontrar similitud.

gaurus
fuente

Respuestas:

9

Cada algoritmo que trata con datos de texto tiene un vocabulario. En el caso de word2vec, el vocabulario se compone de todas las palabras en el corpus de entrada, o al menos las que están por encima del umbral de frecuencia mínima.

Los algoritmos tienden a ignorar las palabras que están fuera de su vocabulario. Sin embargo, hay formas de replantear su problema de manera tal que esencialmente no hay palabras fuera del vocabulario.

Recuerde que las palabras son simplemente "tokens" en word2vec. Podrían ser ngrams o podrían ser letras. Una forma de definir su vocabulario es decir que cada palabra que aparece al menos X veces está en su vocabulario. Luego, las "sílabas" más comunes (ngramas de letras) se agregan a su vocabulario. Luego agrega letras individuales a su vocabulario.

De esta manera, puede definir cualquier palabra como

  1. Una palabra en tu vocabulario
  2. Un conjunto de sílabas en tu vocabulario.
  3. Un conjunto combinado de letras y sílabas en tu vocabulario
jamesmf
fuente
3

word2vec trata las palabras como átomos. Para obtener vectores significativos para palabras desconocidas, debes

  • cambiar lo que son estos átomos, por ejemplo, cambiar a la letra n-gramas como en la respuesta de jamesmf, o
  • use un modelo diferente que vea explícitamente lo que está dentro de sus palabras, por ejemplo, el modelo CWE en https://github.com/Leonard-Xu/CWE es fácil de usar.
Joachim Wagner
fuente
1
github.com/facebookresearch/fastText parece funcionar bien
Joachim Wagner
sí, lo intenté pero no funciona bien con tareas como la segmentación morfológica.
gaurus
2

El corpus de entrenamiento necesita tener todas las palabras de las cuales quieres encontrar similitud.

Franck Dernoncourt
fuente
0

La palabra2Vec y FastText fallan si la palabra no está en el vocabulario. Lanza un error. Da una lista de puntuación para palabras relacionadas Pero una palabra invisible no estará en el vocabulario, ¿no es así? Entonces, ¿cómo resuelve el problema invisible de la palabra?

Sam
fuente