Este es el repositorio de los recursos en el documento de Conll 2020 "¿Qué estás intentando? Tiping semántico de procesos de eventos". Este repositorio contiene el código fuente y los enlaces a algunos conjuntos de datos utilizados en nuestro documento.
Este artículo estudia una nueva tarea de tipificación semántica (motivada cognitivamente), la tipificación del proceso de eventos múltiples , que, dado un proceso de evento, intenta inferir etiquetas de tipo de forma libre que describen (i) el tipo de acción realizada por el proceso y (ii) el tipo de objeto que el proceso busca afectar. Esta tarea está inspirada en estudios computacionales y cognitivos de comprensión de eventos, que sugieren que la comprensión de los procesos de eventos a menudo se dirige al reconocer los objetivos, planes o intenciones de los protagonistas. Desarrollamos un gran conjunto de datos que contiene más de 60k procesos de eventos, con tipificación de grano ultra fino en los ejes de acción y tipo de objeto con vocabularios de etiqueta muy grandes (10^3∼10^4). Luego proponemos un marco de aprendizaje híbrido, P2GT, que aborda el problema de tipificación desafiante con la supervisión indirecta de Glosses1 y un marco conjunto de aprendizaje hasta el rango. Como indican nuestros experimentos, P2GT admite la identificación de la intención de los procesos, así como el buen tipo semántico del objeto afectado. También demuestra la capacidad de manejar casos de pocos disparos y una fuerte generalización en procesos fuera de dominio

python 3.6
Transformers (Huggingface) version 2.11.0 (Important)
PyTorch with CUDA support
nltk 3.4.5
AllenNLP 1.0
./Data contiene el conjunto de datos de tipificación del proceso de eventos wikihow contribuido en este trabajo. La misma carpeta también contiene brillos verbales y sustantivos de WordNet, y el conjunto de datos SEMCOR utilizado para WSD.
El archivo sin procesar del conjunto de datos de tipificación de procesos de eventos wikihow se proporciona como data_seq.tsv, donde cada fila registra las etiquetas de contenido y tipos de un proceso. Específicamente, cada fila separada de pestaña contiene una secuencia de contenidos subeventados, y las dos últimas células son las etiquetas de acción y objetos.
El archivo binario es una instancia guardada del objeto data.py en Utils, que ya ha leído los datos del proceso y los glosas de etiquetas, y proporciona la información de indexación necesaria para dividir (estado aleatorio = 777 siempre debe dar la misma división), tren y prueba.
./process archiva varios programas para el proposión del conjunto de datos.
El programa ./run_joint/jointssmrl_roberta_bias.py ejecuta el experimento para el entrenamiento y las pruebas con la división de prueba del 10% excluida. Debe ejecutarse con el siguiente patrón
python jointSSmrl_roberta_bias.py <skip_training> <alpha> <margin_1> <margin_2>
Por ejemplo:
CUDA_VISIBLE_DEVICES=4 python jointSSmrl_roberta_bias.py 0 1. 0.1 0.1
./run_joint/console_roberta_bias.py es una aplicación de consola donde el usuario puede escribir procesos de eventos y obtener la información de tipo de eje múltiple en la-tela. Simple Ejecute este programa, espere hasta que cargue un modelo previamente capacitado y escriba un proceso de evento donde los subeventos estén separados por '@'. Por ejemplo, la siguiente entrada
read papers@attend conferences@go to seminars@write a thesis
recibiría información de tipo como
[('get', 0.6021211743354797), ('retain', 0.6217673718929291), ('absorb', 0.6397878527641296), ('pass', 0.6577234268188477), ('submit', 0.6673179864883423), ('present', 0.6688072383403778)]
[('doctorate', 0.5141586363315582), ('psychology', 0.5413682460784912), ('genetic', 0.5501004457473755), ('science', 0.5507515966892242), ('determinism', 0.5621879994869232), ('grade', 0.5723227560520172)]
Enlace a los modelos completos previamente entrenados para la demostración de la consola: https://drive.google.com/drive/folders/1b8pevvrnanl7r_wnyyt4ppsynroiloft?usp=sharing
Los usuarios también pueden entrenar el modelo en el conjunto de datos de proceso de evento WikiHow completo ejecutando ./runjoint/train_full_roberta_bias.py
Se debe ejecutar una demostración web en https://cogcomp.seas.upenn.edu/page/demo_view/step 
Bibtex:
@inproceedings{chen-etal-2020-what,
title = {``{W}hat {A}re {Y}ou {T}rying {T}o {D}o?'' {S}emantic {T}yping of {E}vent {P}rocesses},
author = "Chen, Muhao and Zhang, Hongming and Wang, Haoyu and Roth, Dan",
booktitle = "Proceedings of the 24th Conference on Computational Natural Language Learning (CoNLL)",
year = "2020",
publisher = "Association for Computational Linguistics"
}