Word2Vec para reconocimiento de entidad con nombre

25

Estoy buscando usar la implementación word2vec de google para construir un sistema de reconocimiento de entidad con nombre. He oído que las redes neuronales recursivas con propagación hacia atrás a través de la estructura son adecuadas para tareas de reconocimiento de entidades con nombre, pero no he podido encontrar una implementación decente o un tutorial decente para ese tipo de modelo. Debido a que estoy trabajando con un corpus atípico, las herramientas NER estándar en NLTK y similares han funcionado muy mal, y parece que tendré que entrenar mi propio sistema.

En resumen, ¿qué recursos están disponibles para este tipo de problema? ¿Existe una implementación de red neuronal recursiva estándar disponible?

Madison May
fuente
¿Has intentado entrenar al NER de Stanford en tu corpus? Hay un tutorial aquí .
Emre
No lo he hecho, debería intentarlo para ver cómo le va.
Madison mayo
Sin embargo, me gustaría usar las funciones de word2vec o similares, ya que tengo acceso a un conjunto de datos etiquetado relativamente pequeño y necesito aprovechar al máximo los datos no etiquetados que tengo a mano.
Madison mayo

Respuestas:

7

Dos artículos recientes utilizan una arquitectura de aprendizaje profundo llamada CharWNN para abordar este problema. CharWNN se usó por primera vez para obtener resultados de vanguardia (sin características artesanales) en el etiquetado de Parte de discurso (POS) en un corpus inglés.

El segundo artículo del mismo autor usa la misma arquitectura (o similar) para predecir si una palabra pertenece a 10 clases de Entidades Nombradas, con aparentes resultados de última generación.

shark8me
fuente
Interesante. Gracias por compartir esto. Me pregunto por qué no probaron este enfoque en corpus en inglés.
MaticDiba
3

Pruebe http://deeplearning4j.org/word2vec.html . Esto tiene una implementación de Word2Vec utilizada en lugar de Bag of Words para NER y otras tareas de PNL.

el método de arcilla
fuente
1
No he tenido problemas para encontrar implementaciones de word2vec, pero no he podido encontrar una red recursiva que funcione.
Madison May
El enlace ya no está activo, si es posible comparta amablemente el nuevo enlace de trabajo
Amandeep
1

Aquí hay algunas ideas sobre cómo usar vectores de palabras para NER, que adopta un enfoque centrado en word2vec sin supervisión.

  1. Dado un conjunto de vectores de palabras (ya sea algo que haya entrenado o algo comercial como GoogleNews-vectors-negative300.bin), descubra grupos en el espacio vectorial. Estos grupos son básicamente sus definiciones para varios conceptos sin nombre.
  2. Con una supervisión mínima, puede asignar / convertir los grupos sin nombre para que coincidan con el conocimiento humano, creando así conceptos con nombre basados ​​en los vectores de palabras conocidas y conceptos sin nombre. Por ejemplo, un método findCluster(['joy', 'surprise', 'disgust', 'trust', 'fear', 'sadness', 'anger', 'anticipation'])puede devolver una lista que contiene cientos de palabras relacionadas principalmente con la emoción. Si nombra esta lista 'emoción', entonces tiene un concepto llamado 'emoción' definido en función del espacio vectorial.
  3. También puede hacer matemática vectorial para encontrar el concepto intermedio entre dos dados. Por ejemplo, la matemática vectorial podría decirle que cuando se le dan dos palabras 'sorpresa' y 'asco', se encuentran las siguientes: consternación, asombro, desilusión, asombro, desconcierto, exasperación, incredulidad, conmoción, etc. Esto permite usted para construir una relación entre conceptos.
  4. Puede repetir lo anterior para crear varios tipos de concuptos con nombre, como: días laborables, todas las emociones, emociones felices, vehículos, etc.
  5. Una vez que haya creado capas de conceptos con nombre, puede entrenar a un RNN en un corpus de texto que se ha aumentado con los conceptos con nombre, por lo que 'saltos de zorro marrón' también es '{color} {animal} {acción}' etc. De esta manera, el RNN debería poder aprender algo de gramática rudimentaria sin supervisión.
  6. Si ha desarrollado una gramática suficientemente poderosa a partir de lo anterior, entonces debería poder aplicarla a algunas de sus tareas NER.
Kaihu Chen
fuente