¿Cómo se pueden usar las redes neuronales recurrentes para predecir el género a partir de los nombres de pila?

Esto se ha hecho mucho: tómese el tiempo para buscar en Google algunas palabras clave y verá que hay varias soluciones existentes.

En mi opinión, en realidad no es un problema tan interesante de resolver como parece, por un par de razones:

  1. No existe una regla con respecto al género y los nombres: y muchos nombres (particularmente formas abreviadas de nombres) son neutrales al género.
  2. Hay bases de datos exhaustivas sobre si un nombre es típicamente masculino / femenino / ambos, lo cual es excelente para proporcionarle datos de entrenamiento, pero en realidad no hay tantos nombres: por lo que su modelo también puede memorizar los datos de entrenamiento y buscar la respuesta cuando quieras.

Podría tener una puñalada en este problema con un LSTM. Tendría que pensar un poco cuidadosamente sobre sus etiquetas, por la primera razón que mencioné anteriormente, un resultado simple 0 = masculino, 1 = femenino (logístico) puede ser demasiado simple: quizás sería mejor tratar el problema como un problema múltiple problema de clasificación de etiquetas (su red tendría dos salidas que no son excluyentes: probabilidad de ser un nombre masculino “aceptable” y probabilidad de ser un nombre femenino “aceptable”).

¡Este es un pequeño experimento interesante para probar!
Aquí hay un posible enfoque:

  1. Codifique caracteres como k vectores tridimensionales calientes. Por ejemplo, para inglés, k = 26, ignorando cualquier carácter especial.
  2. La capa de entrada tendrá k unidades lineales con una unidad alimentada con 1 y el resto alimentada con 0 s. El 1 corresponderá al carácter actual que se ingresa como parte de la secuencia de caracteres.
  3. La capa oculta, por supuesto, tiene unidades recurrentes (como lo exige la pregunta).
  4. La capa de salida será una capa softmax con dos unidades (una para hombre y otra para mujer). En otras palabras, la salida objetivo es un vector caliente de 2 dimensiones.
  5. Se puede usar la replicación de destino, de modo que, después de cada carácter de entrada, la salida de destino sea el único vector activo correspondiente al género real.
  6. La función de pérdida puede ser entropía cruzada.

El enfoque anterior supone una configuración supervisada, por lo que se requieren muchos nombres y géneros correspondientes para capacitar a la red.