Ceci est le référentiel des ressources dans le papier CONLL 2020 "Qu'est-ce que vous essayez de TODO? Typing sémantique des processus d'événements". Ce référentiel contient le code source et les liens vers certains ensembles de données utilisés dans notre article.
Cet article étudie une nouvelle tâche de typage sémantique (motivée cognitive), le frappe de processus d'événements multi-axes , qui, étant donné un processus d'événement, tente de déduire des étiquettes de type de forme libre décrivant (i) le type d'action effectué par le processus et (ii) le type d'objet que le processus cherche à affecter. Cette tâche s'inspire des études informatiques et cognitives de la compréhension des événements, qui suggèrent que la compréhension des processus des événements est souvent dirigée par la reconnaissance des objectifs, des plans ou des intentions du ou des protagonistes. Nous développons un grand ensemble de données contenant plus de 60 000 processus d'événements, avec un typage ultra fin sur les axes de type action et d'objet avec des vocabulaires d'étiquettes très importantes (10 ^ 3∼10 ^ 4). Nous proposons ensuite un cadre d'apprentissage hybride, P2GT, qui aborde le problème de frappe difficile avec la supervision indirecte de Glosses1 et un cadre conjoint d'apprentissage sur le rang. Comme nos expériences l'indiquent, P2GT prend en charge l'identification de l'intention des processus, ainsi que le type sémantique fin de l'objet affecté. Il démontre également la capacité de gérer les cas à quelques tirs et la forte généralisation des processus hors du domaine

python 3.6
Transformers (Huggingface) version 2.11.0 (Important)
PyTorch with CUDA support
nltk 3.4.5
AllenNLP 1.0
./data contient le jeu de données de frappe du processus d'événement WikiHow contribué dans ce travail. Le même dossier contient également des gloses verbales et noms de WordNet, et l'ensemble de données SEMCOR utilisé pour WSD.
Le fichier brut de l'ensemble de données de typage du processus d'événement WikiHow est donné en tant que data_seq.tsv, où chaque ligne enregistre le contenu et tape les étiquettes d'un processus. Plus précisément, chaque ligne séparée par onglet contient une séquence de contenu sous-événement, et les deux dernières cellules sont les étiquettes d'action et d'objets.
Le fichier binaire est une instance enregistrée de l'objet Data.py dans les utils, qui a déjà lu les données de processus et les gloses d'étiquette, et a fourni les informations d'indexation nécessaires pour diviser (Random State = 777 devrait toujours donner le même division), le train et le test.
./Process arche plusieurs programmes de propriété de l'ensemble de données.
Le programme ./run_joint/jointsmrl_roberta_bias.py exécute l'expérience pour la formation et les tests avec une fraction de test de 10% exclue. Il doit s'exécuter avec le modèle suivant
python jointSSmrl_roberta_bias.py <skip_training> <alpha> <margin_1> <margin_2>
Par exemple:
CUDA_VISIBLE_DEVICES=4 python jointSSmrl_roberta_bias.py 0 1. 0.1 0.1
./run_joint/console_roberta_bias.py est une application de console où l'utilisateur peut saisir des processus d'événement et obtenir les informations de type multi-axe sur la vol. Exécutez simple ce programme, attendez qu'il charge un modèle pré-formé et saisissez un processus d'événement où les sous-événements sont séparés par «@». Par exemple, l'entrée suivante
read papers@attend conferences@go to seminars@write a thesis
recevrait des informations de type telles que
[('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)]
Lien vers les modèles complets pré-entraînés pour la démonstration de la console: https://drive.google.com/drive/folders/1b8pevvrnanl7r_wnyyt4ppsynroiloft?usp=sharing
Les utilisateurs peuvent également former le modèle sur l'ensemble de données complet du processus d'événement WikiHow en exécutant ./runjoint/train_full_roberta_bia.py
Une démonstration Web devrait s'exécuter sur 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"
}