• Aucun résultat trouvé

Apprentissage par transfert avec BERT pour la géolocalisation des Tweets

N/A
N/A
Protected

Academic year: 2021

Partager "Apprentissage par transfert avec BERT pour la géolocalisation des Tweets"

Copied!
13
0
0

Texte intégral

(1)

HAL Id: hal-03166986

https://hal.archives-ouvertes.fr/hal-03166986

Submitted on 11 Mar 2021

HAL

is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire

HAL, est

destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

géolocalisation des Tweets

Romain Harang, Davide Buscaldi

To cite this version:

Romain Harang, Davide Buscaldi. Apprentissage par transfert avec BERT pour la géolocalisation des

Tweets. Atelier Deep Learning pour le traitement automatique des langues, EGC 2021, Jan 2021,

Montpellier, France. �hal-03166986�

(2)

géolocalisation des Tweets

Romain Harang, Davide Buscaldi∗∗

École Polytechnique romain.harang@polytechnique.edu

∗∗LIPN, Université Sorbonne Paris Nord davide.buscaldi@lipn.univ-paris13.fr

Résumé. Dans cet article, nous proposons et testons différentes mé- thodes d’apprentissage par transfert pour la géolocalisation des Tweets qui sont basées sur l’un des modèles de langage neuronal les plus récents, BERT. Dans notre dispositif expérimental, les informations utilisées pour déduire la position associée à un tweet donné proviennent exclusivement de son texte. Dans un tel scénario, un modèle de langage peut être utile pour identifier les mentions de lieux. Nos expériences montrent que les approches basées sur des modèles linguistiques préformés peuvent être utilisées efficacement pour cette tâche, en particulier dans une configura- tion en deux étapes dans laquelle elles sont utilisées pour déduire d’abord le pays puis la ville à laquelle un tweet fait référence.

1 Introduction

Les réseaux neuronaux profonds ont largement affecté le domaine du traitement automatique des langues (TAL) au cours des dernières années. En particulier, les mo- dèles de langage neuronaux ont permis une amélioration importante des résultats dans diverses tâches de TAL telles que la classification de textes, l’analyse des sentiments, le résumé automatique, les systèmes question-réponse et la génération de langage, entre autres. Depuis 2016, de nouveaux modèles plus performants ont été proposés s’ap- puyant sur des transformeurs, BERT par Google en 2018 Devlin et al. (2018), GPT-2 par OpenAi en 2019 Radford et al. (2019), entre autres.

La géolocalisation de textes, qui consiste à attribuer les coordonnées géographiques les plus pertinentes d’un message en se basant exclusivement sur le contenu du message, présente certains aspects qui en font l’une des tâches pouvant bénéficier des modèles de langage neuronaux. En particulier, ces modèles peuvent être capables de saisir les différentes façons dont les gens donnent des indices sur le lieu dont ils discutent ou sur l’endroit où ils se trouvent. À notre connaissance, personne n’a encore essayé d’ap- pliquer les modèles de langage neuronaux à la géolocalisation de texte en utilisant les techniques d’apprentissage par transfert. Les approches existantes dans l’état de l’art utilisent les réseaux de neurones, comme Rahimi et al. (2017), qui utilise un réseau de neurones classique avec une couche cachée, ou Thomas et Hennig (2017) qui a proposé

(3)

une architecture fondée sur des réseaux de neurones récurrents (LSTM). Toutefois, ces méthodes n’exploitent pas de modèles de langage, mais elles sont utilisés pour créer un modèle de classification à partir de leur corpus d’entraînement uniquement.

Parmi les différents types de textes qui peuvent être utilisés comme cible pour la géolocalisation, les tweets représentent sans doute la source la plus populaire. La géolocalisation des tweets peut être particulièrement utile dans le contexte de situations de danger ou catastrophes naturelles (Castillo (2016)), où les gens peuvent utiliser les médias sociaux pour avertir des dangers potentiels ou pour appeler à l’aide. En sachant que seulement entre 1 et 2% des tweets sont généralement géolocalisés avec des coordonnées exactes (Han et al. (2016)) par les utilisateurs, il est important de pouvoir déduire une position uniquement à partir du contenu du texte. Cette tâche spécifique a été au centre du défi W-NUT 2016 (Han et al. (2016)). Le jeu de données produit pour ce défi constitue aujourd’hui la collection de test de référence pour les travaux les plus récents en matière de géolocalisation des tweet.

Le défi W-NUT proposait deux versions du problème : dans un cas, on avait le droit d’utiliser des meta-données (par exemple le profil d’utilisateur), dans le deuxième, il fallait utiliser exclusivement le contenu des tweets. Dans notre cas, nous nous intéres- sons uniquement à l’utilisation du contenu et pas aux métadonnées, où l’utilisation d’un modèle de langage serait inutile ou de toute façon peu adaptée. Un problème ma- jeur avec le fait de travailler exclusivement avec les contenus des tweets consiste dans le fait que certains tweets ne fournissent aucune information concernant leur origine géographique, comme le montrent les exemples de la Figure 1.

Fig. 1: Exemples de deux tweets dans la collection W-NUT : un tweet qui ne donne pas d’indices sur la position de l’utilisateur (gauche) et un tweet qui indique clairement la position (droite).

Dans la suite de ce travail, nous présenterons différents modèles d’apprentissage par transfert qui utilisent BERT comme modèle de langage pre-entraîné. À notre connais- sance, c’est la première fois que ce genre de modèles sont appliqués au problème de la géolocalisation des tweets.

2 Présentation du jeu de données

Le jeu de données le plus important pour ce qui concerne la géolocalisation de textes est celui fourni par le challenge W-NUT de Han et al. (2016). Celui-ci contient 12.827.165 tweets annotés avec latitude, longitude, ville et pays. Ces tweets sont répartis sur 174 pays et 3.362 villes. Pour analyser la distribution des lieux dans la collection,

(4)

nous avons calculé leur log-répartitionRl(v) = log10Pf req(v)

x∈Vf req(x), où V et l’ensemble des villes dans la collection etf req(v) indique le nombre de tweets annotés avec la ville v.

Fig. 2: Répartition des villes dans le dataset W-NUT, ordonnées par fréquence (gauche : total, droite : les 100 villes les plus fréquentes).

On constate en Figure 2 qu’il existe une assez forte différence entre la répartition des villes, ce qui induira un biais vers les lieux le plus cités dans les annotations. Cela est aussi valable au niveau des pays, comme on peut constater en Figure 3 :

Fig. 3: Répartition des pays, calculé selon les mêmes critères que pour la Figure 2.

2.1 Préparation des données d’entraînement

Un des objectifs de notre travail de recherche consiste à vérifier l’efficacité des modèles de langage pré-calculés pour la tâche de géolocalisation. Pour cette raison, nous ne travaillons pas avec les méta-données des tweets, qui n’ont aucun bénéfice d’être traités avec des modèles de langage, mais uniquement avec le texte brut. En ne s’intéressant qu’au texte brut, la façon la plus simple de gérer les données qui serviront

(5)

à la prédiction est de sélectionner le texte puis s’en servir comme entrée au modèle. Par ailleurs, comme exposé antérieurement, nous avons observé qu’une part non négligeable bien que labelisée consistera de tweets dont le contenu n’a aucune corrélation avec leur label. C’est pour cette raison que nous considérons nécessaire l’utilisation d’un algorithme qui permet d’augmenter substantiellement la part de tweets informatifs dans le training set. Pour cela, nous utilisons une implémentation du modèle de BERT pour l’extraction et la classification des entités nommées, entrainé sur la tâche CoNLL- 2003 (Sang et Meulder (2003)), qui permet de reconnaitre des entités de type LOC (lieux), ORG (organisations) et PER (personnes) dans un texte. Ce modèle permet d’atteindre un score F1 agrégé de 0.92 sur le set de test de CoNLL-2003.

Ce modèle est appliqué sur chaque tweet, et si la mention LOC apparait au moins une fois, alors on peut assumer qu’un lieu est évoqué, donc le tweet est considéré comme géolocalisable. Évidemment, cette approche reste assez naïve mais nous permet de réduire la taille du set en ne gardant que des tweets susceptibles d’être localisés. On obtient donc 1628932 tweets après cette étape. En Figure 4 on peut observer que la répartition des villes dans cet ensemble réduit subit des variations, mais suit la même tendance que dans le jeu de données complet.

Fig. 4: Comparaison de la répartition des villes sur le dataset réduit. Les villes sont ordonnées comme dans la figure 2. En orange, la valeur obtenue pour la même ville sur le dataset réduit.

Pour ce qui concerne l’annotation des données, le dataset W-NUT offre deux pos- sibilités pour pouvoir identifier la localisation de chaque tweet : d’un côté, les coor- données géographique exactes (latitude et longitude), de l’autre un label avec la ville.

C’est évident que annotations différentes demandent des approches différentes, dans le premier cas plus proche d’une régression où on essaie d’apprendre une fonction f(texte) = (lat, lon), dans le deuxième une classification où le nombre de classes cor- respond au nombre de villes distinctes dans notre dataset d’entraînement.

Il est intéressant de noter que le nombre élevé (plus de 3000) de labels à déterminer est un obstacle aux bonnes performances du modèle. La solution adopté pour résoudre ce problème consiste à filtrer le set d’entraînement pour ne garder que lesnplus impor- tantes villes. En ayant constaté (figure 2) que nos données sont fortement concentrées

(6)

dans les 100 premières villes, cela laisse à penser qu’avec unnchoisi judicieusement on pourrait recouvrir une large partie du set avec un nombre bien inférieur de labels.

Fig. 5: En ne sélectionnant que les 500 premières villes, on conserve 80.5% du dataset Pour la validation des modèles, nous utiliseront le set de test entier du W-NUT contenant 5000 tweets sans effectuer aucune opération de sélection des tweets, pour pouvoir nous comparer avec les résultats antérieurs.

3 Modèles de géolocalisation

Dans cette section nous allons détailler les modèles basées sur BERT que nous avons testés sur le jeu de données décrit dans la section antérieure.

3.1 Modèle basique utilisant l’architecture BERT

La façon la plus immédiate d’utiliser le modèle de BERT pour la classification est de se servir d’un modèle pré-entraîné (par Google ou OpenAI par exemple) pour transformer le texte du tweet dans un tenseur qui est ensuite utilisé comme entrée du modèle BERT. La sortie de BERT est donc relié de manière dense à une couche de neurons de taille n= nombre de villes. Celle ci est donc la couche de sortie, sur laquelle on calcule une loss de type Cross-Entropy. La prédiction consiste à prendre la position de valeur maximale sur la couche de sortie. Pour mettre en place et entraîner un tel modèle nous avons utilisé PyTorch ainsi que Nvidia-APEX (pour l’optimisation du calcul du gradient) sur une machine disposant d’un GPU Nvidia GeForce 1080 TI (11 Go de VRAM). Le temps nécessaire pour entraîner le modèle sur les 1.6 millions de Tweets une fois (epoch) est d’environ 6 heures.

(7)

Fig. 6: Illustration du fonctionnement du modèle de base

3.2 Modèles avec des couches additionnelles

Ma (2019) a testé l’intérêt de complexifier la sortie du modèle de BERT avec des couches non-linéaires, récurrentes et des LSTM pour une tâche de classification sur des tweets. Son travail suggère qu’il serait bénéfique pour les performances du modèle d’ajouter un certain nombre de couches intermédiaires entre la sortie de BERT et la sortie du modèle. Pour cette raison nous avons implémenté des modèles avec 1, 2, 3 couches intermédiaires et activations non-linéaires (ReLU) afin de tester des éventuels améliorations des performances.

Fig. 7: Illustration des modifications sur la partie du modèle à entraîner

3.3 Modèle en cascade

En étudiant la nature des données traités, nous avons constaté qu’il est possible d’exploiter les subdivisions administratives pour grouper les labels dans des sur- et sous- catégories, pour avoir plusieurs niveau de prédiction. De cette manière, c’est possible de prédire une label de sur-catégorie qui nous permet de restreindre le choix de label de

(8)

sous-catégorie. Cette approche a déjà été étudiée de manière théorique par Gupta et al.

(2014) dans le cas général de classification avec un grand nombre de classes, donnant des résultats satisfaisants. Nous avons donc conçu un modèle qui est composé d’abord d’un modèle prédisant le pays puis une série des modèles, spécifiques à chaque pays, pour déterminer la ville. Évidemment, ce genre de partition des données à l’inconvénient de propager les erreurs entre les modèles : toute mauvaise prédiction sur le premier niveau mène à une mauvaise prédiction finale.

Fig. 8: Architecture du modèle “pays" pour prédire un pays à partir du texte des tweets.

Fig. 9: Architecture du modèle en cascade complet.

(9)

3.4 Modèle de régression latitude/longitude

La façon la plus directe d’adapter notre méthode pour déterminer la latitude/longitude d’un tweet consiste à remplacer la dernière couche ànsorties par une couche à 2 sorties.

On mesure donc l’erreur entre ces deux sorties et le vecteur label latitude/longitude selon le critère MSE (minimum square error). Cette approche ne prends malheureu- sement pas en compte le caractère cyclique de la longitude, en effet la distance entre 178 et -179 est de 3, or notre méthode donnerait 357. Pour contourner ce pro- blème nous utiliserons 3 sorties au lieu de 2, elles seront : (sin(lat), cos(lon), sin(lon)), cela demande également d’adapter le set d’entraînement sur lequel on va prendre (sin(lat), cos(lon), sin(lon)) comme labels.

Fig. 10: Illustration du modèle de régression pour estimation de latitude et longitude à partir du texte.

Malheureusement, nous avons rapidement vérifié que l’utilisation de ce modèle donne des résultats bien inférieurs à ceux obtenu dans le cas de la classification. C’est évident que les données ne sont pas distribuées uniformément à la surface du globe, au contraire il existe un biais très important vers les villes les plus peuplées et là où les habitants ont une culture téchnologique assez importante. Nous avons finalement choisi d’écarter ce modèle de notre évaluation.

4 Résultats

4.1 Baselines

En tant que baselines nous utilisons deux modèles, l’un naïf afin de valider l’utilité de nos modèles suivants et l’autre basé sur la méthode de Rahimi et al. (2016), utilisant des LSTM (Hochreiter et Schmidhuber (1997)), développé spécifiquement pour la tâche W-NUT 2016, donc entrainé sur le même set de données. Pour établir notre première baseline nous allons utiliser une simple régression logistique en prenant pour entrée le sac de n-grammes de chaque tweet. Pour être plus précis, en pré-processing sont sélectionnés tous les n-grammes pour 3≤n≤6 , par la suite on prend comme features tous les n-grammes dont la population est supérieur à 100 sur l’échantillon considéré (ce qui en sélectionne environ 1700), on effectue pour finir une régression logistique sur

(10)

eux. C’est un modèle qui prend en compte le texte du tweet mais sans l’apport des réseaux neuronaux profond.

Tout d’abord on peut évaluer les prédictions offertes par nos baselines, selon les mésures standard de précision et rappel, le score F1 étant une moyenne harmonique des deux :

precision rappel F1 score

micro average 0.06 0.06 0.06

macro average 0.03 0.02 0.02

weighted average 0.19 0.06 0.07

Tab. 1: Résultats du baseline avec sac de n-grammes et régression logistique.

Le micro-average est le résultat obtenu en calculant la moyenne des mesures sur chaque ville. Macro-average est le résultat obtenu en calculant la moyenne globale des mesures. Finalement la weighted-average est obtenue comme une micro-average mais avec un poids proportionnel à la fréquence de la ville dans le dataset. Quand on s’intéresse à l’état de l’art, les résultats montrent l’avantage de l’utilisation des réseaux neuronales récurrents, avec un score F1 qui est trois fois supérieur au baseline :

precision rappel f1 score

micro average 0.2 0.12 0.14

macro average 0.07 0.04 0.05

weighted average 0.34 0.25 0.24

Tab. 2: Résultats du modèle LSTM de Rahimi et al. (2016).

4.2 Modèles BERT

En faisant un entraînement complet (deux itérations au total) on obtient les résul- tats de notre modèle de base.

precision recall f1 score

micro average 0.1 0.07 0.07

macro average 0.03 0.02 0.02

weighted average 0.25 0.18 0.16 Tab. 3: Résultats du modèle simple

Si l’on s’intéresse en particulier au score F1 weighted, on constate une amélioration 2 fois supérieure aux valeurs obtenues sur notre baseline mais toujours assez loin des performances de l’état de l’art. Ajouter des couches non-linéaires supplémentaires ne donne pas d’améliorations significatives par rapport au modèle de base :

(11)

precision recall f1 score

modèle simple 0.1 0.07 0.07

modèle une couche 0.1 0.11 0.08

modèle deux couches 0.1 0.09 0.07

Tab. 4: Comparaison du modèle simple avec le modèle avec couches supplémentaires (micro-average).

4.3 Modèle en cascade

Pour mettre en place le modèle présenté en Section 3.3, nous sélectionnons les 10 pays les plus importants en termes de nombre de tweets, et créons une onzième catégorie “autre". Par conséquence, nous avons 12 modèles que l’on entraîne en faisant deux passages sur les données chacun.

precision recall f1 score

micro average 0.17 0.11 0.12

macro average 0.06 0.04 0.04

weighted average 0.31 0.22 0.21 Tab. 5: Résultats du modèle 2 couches

4.4 Comparaisons détaillée des résultats

Jusqu’à maintenant nous ne sommes intéressés qu’aux résultats agrégés, nous allons donc comparer ville par ville les variations entre notre modèle et le modèle LSTM. Pour ce faire nous allons calculer les F1-scores pour les 100 villes les plus représentées dans le set de test pour avoir des résultats analysables.

On peut donc constater en Figure 11 que les deux modèles ont des comportements similaires. Cependant, notre modèle semble être pour certaines villes soit légèrement moins performant soit significativement moins performants. Nous vérifions donc les valeurs numériques de cette courbe pour les 10 premières villes afin d’avoir une idée plus précise de ces différences :

Istanbul Jakarta Rio de Janeiro As Salimiyah Lagos

modèle cascade 0.51 0.15 0.19 0.84 0.24

modèle LSTM 0.48 0.14 0.22 0.83 0.18

Los Angeles London Kuala Lumpur Izmir Sao Paulo

modèle cascade 0.11 0.24 0.31 0.57 0.15

modèle LSTM 0.11 0.17 0.34 0.65 0.18

Tab. 6: Résultats par villes individuelles sur les 10 plus importantes villes pour notre modèle et l’état de l’art

(12)

Fig. 11: Comparaison du score F1 pour les 100 villes les plus fréquentes du dataset.

En bleu le modèle LSTM, en orange notre modèle.

On constate donc que concernant les 10 plus importantes villes notre modèle ob- tient en réalité de meilleurs résultats ou des résultats équivalents sauf peut-être pour Izmir en Turquie. Notre hypothèse pour expliquer ces différences est liée au type de modèle BERT choisi pour nos expériences (M-BERT), qui pourrait pénaliser les cas dans lesquels le tweet a été composé dans des langues autres que l’anglais. Les écarts sont cependant parfois bien plus significatifs par exemple pour Accra la capitale de Ghana, 0.35 de F1 score pour le modèle LSTM, et 0 pour le notre, alors qu’il s’agit de la 52ième ville. Ce problème est sans doute du au fait que le Ghana n’a pas été retenu entre les modèles pays et donc on applique le modèle “autre" au lieu de celui spécifique au pays.

5 Conclusion

Nous avons donc pu mettre en place un modèle fonctionnel qui répond à la ques- tion de la détermination de la ville d’origine d’un tweet en utilisant une technique de transfer learning. Les résultats bien qu’inférieurs à ceux escomptés sont encourageants.

Pour améliorer les résultats, plusieurs pistes sont possibles : par exemple, l’utilisation d’un modèle de langage différent (GPT-2, XLM), ou l’amélioration de la méthode en cascade, par exemple en introduisant des modèles intermédiaires, en combinant un mo- dèle pays avec des modèles régionaux (particulièrement utiles pour des grands pays comme les EEUU). Il faudra aussi réviser l’utilité de la régression en coordonnées pour une localisation fine, par exemple comme modèle pour localiser un tweet dans une ville.

Des résultats avec des méthodes knowledge-based existent déjà (Di Rocco et al. (2020)) et pourraient servir comme comparaison.

(13)

Références

Castillo, C. (2016). Big crisis data : social media in disasters and time-critical situa- tions. Cambridge University Press.

Devlin, J., M.-W. Chang, K. Lee, et K. Toutanova (2018). Bert : Pre-training of deep bidirectional transformers for language understanding.

Di Rocco, L., F. Dassereto, M. Bertolotto, D. Buscaldi, B. Catania, et G. Guerrini (2020). Sherloc : a knowledge-driven algorithm for geolocating microblog messages at sub-city level. International Journal of Geographical Information Science, 1–32.

Gupta, M. R., S. Bengio, et J. Weston (2014). Training highly multiclass classifiers.

The Journal of Machine Learning Research 15(1), 1461–1492.

Han, B., A. Rahimi, L. Derczynski, et T. Baldwin (2016). Twitter geolocation prediction shared task of the 2016 workshop on noisy user-generated text. InProceedings of the 2nd Workshop on Noisy User-generated Text (WNUT), pp. 213–217.

Hochreiter, S. et J. Schmidhuber (1997). Long short-term memory. Neural computa- tion 9(8), 1735–1780.

Ma, G. (2019). Tweets classification with bert in the field of disaster management.

Technical report, Stanford University.

Radford, A., J. Wu, R. Child, D. Luan, D. Amodei, et I. Sutskever (2019). Language models are unsupervised multitask learners. OpenAI Blog 1(8), 9.

Rahimi, A., T. Cohn, et T. Baldwin (2016). pigeo : A python geotagging tool. In Proceedings of ACL-2016 System Demonstrations, pp. 127–132.

Rahimi, A., T. Cohn, et T. Baldwin (2017). A neural model for user geolocation and lexical dialectology. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 2 : Short Papers), pp. 209–216.

Sang, E. F. T. K. et F. D. Meulder (2003). Introduction to the conll-2003 shared task : Language-independent named entity recognition.

Thomas, P. et L. Hennig (2017). Twitter geolocation prediction using neural networks.

In International Conference of the German Society for Computational Linguistics and Language Technology, pp. 248–255. Springer.

Summary

In this paper we propose and test various transfer learning methods for the geoloca- tion of Tweets that are based on one of the most recent neural language models, BERT.

In our experimental setup, the information used to deduce the position associated to a given tweet comes exclusively from its text. In such a scenario, a language model can be useful to identify mention of places. Our experiments show that approaches based on pre-trained language models can be effectively used for this task, in particular in a two-step configuration in which they are used to infer first the country and then the city to which a tweet is referring.

Références

Documents relatifs

(1) Use multiple folds over train data to get a robuster model (2) Increase complexity of the classifier with several layers (3) Use BERT Large as a foundation instead of BERT base

We used pre-trained bi-directional encoder representations using transformers (BERT) and multilingual- BERT for hate speech and offensive content detection for English, German,

In particu- lar, we decided to use the data released for the SENTIPOLC (SENTIment Polarity Classifi- cation) shared task (Barbieri et al., 2016) carried out at EVALITA 2016 (Basile

FACT (Factuality Analysis and Classification Task) is a task to classify events in Span- ish texts (from Spanish and Uruguayan newspaper), according to their factuality status..

porcherie, nous avons examiné à l’abattoir un lot d’animaux comparables. Ces observations sont exposées et analysées dans la présente étude... D’autre part le

[r]

Bert would say, “Do you think all the fish are on the other side of the river?” I would arrive at the river with some beautiful flies that I had tied.. Bursting with pride, I

* Example base sur Baptiste Wicht, <b>"Implémentation du pattern MVC"</b>, * 24 Avril 2007 (derniere visite le 29 Janvier 2009)}. *