Promediar dos vectores de Word2vec para obtener una representación unificada para una sola palabra

8

He estado trabajando en datos entrenados para el algoritmo Word2vec. Como necesitamos que las palabras permanezcan como originales, no las escribimos en minúsculas en la fase de preprocesamiento. Por lo tanto, hay palabras con diferentes variaciones (por ejemplo, "Tierra" y "tierra").

La única forma en que puedo pensar es tomar el promedio de vectores para "Tierra" y "tierra" para crear un solo vector para representar la palabra. (Dado que las dimensiones del vector de características son similares)

¿Es este un método "aceptable"? Si no es así, ¿cuál podría ser una buena manera de manejar este problema?

Nota: Bajar todas las palabras en el preprocesamiento no es una opción por ahora.

Editar: la información sobre si las dimensiones de las características son verdaderamente lineales también sería útil.

Edición 2: Combina ambas respuestas patapouf_aiy yazhidio los mejores resultados. ¿Cómo se combinan estos? El promedio ponderado mejoró los resultados, pero poner las frecuencias de las palabras a través de una función sigmoidea escalada dio los mejores resultados, porque usar las frecuencias de las palabras de manera lineal les da más importancia de la que tienen.

ozgur
fuente

Respuestas:

1

Simplemente promediarlos podría no ser bueno porque eso supondría que tienen el mismo peso, y ese probablemente no sea el caso si la versión en mayúscula y no en mayúsculas aparece con frecuencias muy diferentes en sus datos de entrenamiento.

Una mejora incremental sería promediarlos proporcionalmente a su frecuencia en el corpus. Digamos que la Tierra aparece 159 veces y la Tierra 1239 veces hace algo como:

v (Tierra y tierra) = 159 / (159 + 1239) * v (Tierra) + 1239 / (159 + 1239) * v (tierra).

Se supone que los vectores codifican semánticamente linealmente, por lo que esto debería darle una aproximación razonable.

patapouf_ai
fuente
1
Esta es la solución que ya hemos elegido. También podría aceptar la respuesta.
ozgur
0

Las palabras "Tierra" y "tierra" pueden tener el mismo significado, pero según el algoritmo word2vec, deriva la información semántica de la posición de las palabras.

Así, comúnmente, "Tierra" aparecerá con mayor frecuencia al comienzo de la oración como sujeto y "tierra" aparecerá principalmente en la forma de objeto al final. Entonces, las palabras adyacentes más cercanas pueden diferir, pero en general ambas oraciones pueden contener palabras como "contaminación, clima, agua, países".

En conclusión, supongo que con un tamaño de ventana más grande, parece preservar la misma información semántica con pequeños cambios en los que la "Tierra" tendrá cierta información del sujeto y la "tierra" tendrá información del objeto. Por lo tanto, el promedio no afectará mucho y parece ser un posible caso. Pero con un tamaño de ventana más bajo, hay una alta probabilidad de que pueda tener diferentes significados.

yazhi
fuente
Bueno, el tamaño de BoW es 5. ¿Qué número considera un tamaño de ventana apropiado para que el promedio funcione?
ozgur
el tamaño de la ventana de 5 significa, en total, considera 10 palabras y una oración común en inglés podría escribirse en 10 palabras. Eso me suena bien.
Yazhi