Metáfora china
Tarea compartida de CCL 2018: reconocimiento de metáforas chinas y análisis de sentimientos
Descripción de la tarea
- Detalles de la misión: http://ir.dlut.edu.cn/news/detail/508
- Actualización: la subtarea 1 es una tarea de dos categorías. Solo necesita identificar si es una metáfora verbal.
- Hora: Fecha límite a las 9.30 horas. Cada equipo puede enviar resultados el 9 de septiembre, 16 de septiembre, 23 de septiembre y 30 de septiembre, a partir de las 10:00 p. m. todos los domingos, cada equipo solo puede enviar resultados tres veces por semana y de acuerdo con los últimos resultados enviados calcular el; categoría. Se anunciará en el sitio web (http://ir.dlut.edu.cn/) antes de las 5:00 pm los días 10, 17, 24 de septiembre y 1 de octubre.
- Datos de capacitación: http://ir.dlut.edu.cn/File/Download?cid=3 "Datos de evaluación del análisis de sentimientos y reconocimiento de metáforas chinas de CCL 2018"
- Datos de prueba (sin etiquetar): http://ir.dlut.edu.cn/File/Download?cid=3 "Datos de prueba de análisis de sentimiento y reconocimiento de metáforas chinas de CCL 2018"
- Recordatorio: De acuerdo con los requisitos del organizador, este conjunto de datos solo se puede utilizar para esta tarea de evaluación. Para otros usos, comuníquese con el organizador.
Estructura de repositorio
- /Corpus: almacena el corpus de metáforas chinas de Penn StateUCMC (aún no utilizado)
- /data: datos de entrenamiento y prueba
- /dicts: los diccionarios relacionales de las dos subtareas, así como el vocabulario
- /memo: actas de la reunión
- /model_structure: Diagrama de estructura del modelo nn
- /artículo: literatura relacionada
- /pretrained_emb: incrustación de palabras previamente entrenadas descargada de Internet (basada en wikipedia), filtrada
- /src: código
- /resultados: Resultados de la evaluación del modelo y etiquetas de prueba generadas
- /models: debe crear esta ruta usted mismo. A continuación se muestran dos subrutas: /verb y /emo, que se utilizan para almacenar los modelos entrenados.
- /envío: archivos de resultados enviados, almacenados por fecha
Estructura del código
- Código central:
- conf.py: establece varios parámetros
- multi_cgru_keras.py: estructura del modelo
- train.py: entrena el modelo en el 90% de los datos de entrenamiento
- eva_model.py: evalúa el rendimiento del modelo en el 10% de los datos de entrenamiento
- generate_test_labels.py: predice etiquetas en el conjunto de prueba
- Código auxiliar:
- split_data.py: divide el conjunto de entrenamiento en 90% (para entrenamiento) y 10% (para evaluar el rendimiento del modelo)
- back_translate.py: utilice la API de Google Translate para agregar datos de entrenamiento
- convert_data.py: convierte datos de xml a txt y convierte etiquetas numéricas en etiquetas de texto fáciles de entender
- data_provider.py: lee datos y prepárate para el entrenamiento
- filter_wordemb.py: filtra vectores de palabras previamente entrenados en función de los datos de entrenamiento y prueba, conservando solo las palabras que aparecen en los datos (los vectores de palabras wiki actuales se han filtrado)
Cómo ejecutar código
- Establecer parámetros relevantes en conf.py
- Ejecute train.py para entrenar el modelo.
- Ejecute eva_model.py para evaluar el rendimiento del modelo
- Según los resultados de la evaluación en el tercer paso, seleccione el modelo con mejor rendimiento y use generate_test_labels para generar etiquetas de datos de prueba.
Hecho
- Línea de base de NN: según CGRU, el mejor rendimiento (precisión) es aproximadamente el 70 % para la tarea 1 y aproximadamente el 39 % para la tarea 2.
- Comparación: Línea de base de la mayoría, tarea 2 37 %
- Comparación: línea de base ingenua basada en léxico emocional, sin aprendizaje automático, tarea 2 51 %
- Basado en NN Bseline, pruebe las siguientes funciones:
- Optimizar la capa de incrustación
- Utilice la incrustación previamente entrenada para reemplazar la incrustación aprendida por el propio modelo. El mejor rendimiento de la tarea 2 es aproximadamente del 50%.
- Empalme de vectores de palabras: combinado con la reducción del parámetro suave, tarea 2 macro f - 39,6%
- Traducción hacia atrás
- Google Translate 6 idiomas, probó varios métodos de filtrado, task2 tiene el mejor rendimiento de alrededor del 53%
- Otras estructuras modelo
- Utilice directamente la incrustación como funciones de clasificación
- LSTM+totalmente conectado: tarea 2 macro f - 40%
- Un pequeño análisis de errores:
- Se observó que el sobreajuste era grave, por lo que intenté ajustar l2 ( ↑), abandono ( ↑), suave (↓), pero no se encontraron grandes cambios. Al mismo tiempo, se encontró que el rendimiento del mismo modelo. era inestable (la diferencia entre múltiples ejecuciones de task2 podía alcanzar el 10%)
- Algunos de los casos malos son oraciones con transiciones (por ejemplo, contienen palabras como "cómo no pudo ser", "no puede", "desde", etc.)
- Se encontró que algunas de las anotaciones en los datos eran cuestionables.
- Obtenga el corpus de metáforas chinas de Penn State, que se puede utilizar para la incrustación de palabras de autoformación
- Corpus de entrenamiento complementario: utilice otro corpus en inglés para traducirlo nuevamente para complementar el corpus de entrenamiento.
- Ajustar parámetros
Lista de tareas pendientes
- Pruebe más funciones basadas en la línea base de NN:
- Continuar optimizando la capa de incrustación
- Utilice otras incrustaciones previamente entrenadas: por ejemplo, incrustaciones entrenadas en el corpus de metáforas de Penn State, incrustaciones ELMo, etc.
- Añade el vocabulario emocional a nn:
- Incrustar etiquetas: el método existente solo se utiliza para etiquetas con relaciones progresivas (muy neg, neg, neutral, pos, muy pos)
- subcategoría de verbos y sustantivos
- relación de dependencia
- Al observar los datos, examine el papel de las palabras funcionales en las dos subtareas y luego decida qué información sobre las palabras funcionales agregar al modelo. Palabras funcionales: ¿Qué tipo de información es útil?
- Pruebe otras estructuras modelo:
- (Consulte el artículo 'La línea de base necesita más atención: sobre modelos simples basados en la incrustación de palabras y mecanismos de agrupación asociados')
- Utilice Transformer como codificador de oraciones (consulte el artículo 'La atención es todo lo que necesita')
Recursos
- Corpus de metáforas chinas de Penn State (http://www.personal.psu.edu/xxl13/download.html)
- Biblioteca de ontología de vocabulario de emociones de la Universidad Tecnológica de Dalian (http://ir.dlut.edu.cn/EmotionOntologyDownload)
Organizador
Laboratorio de investigación de recuperación de información de la Universidad Tecnológica de Dalian