Publications /
Policy Brief
Dans un monde de plus en plus digitalisé, la collecte et le traitement de la donnée numérique provenant du web et des objets connectés s’imposent comme une activité de première importance dans les centres de recherche et autres think tanks. Avec le langage Python nous avons développé un outil de veille économique qui permet d’analyser les publications des chercheurs en économie affiliés aux institutions africaines. Cet outil met en jeu des algorithmes de Machine Learning, en particulier des techniques de Traitement du Langage Naturel. Les jeux de données mis en jeu émanent de la plateforme Research Papers in Economics, et ce à travers le web scraping.
Introduction
Dans le discours qu’il a adressé aux participants au « German-Swedish Tech Forum 2018 » [1], Joe Kaeser, ancien PDG de Siemens, a déclaré que « Les données sont le pétrole du 21ème siècle, de l’or pour certains, la matière première sur laquelle nos économies, sociétés et démocraties, sont de plus en plus construites ». Cette affirmation nous renseigne sur la valeur de la donnée aux yeux des décideurs, notamment chez les géants de la haute technologie. Certes, pour eux, la donnée ou l’information est une source de pouvoir. Cependant, on est de plus en plus conscients que le pouvoir n'appartient plus à celui qui détient l'information brute, mais plutôt à celui qui la traite et l'exploite.
Dans ce papier, l’accent sera mis sur la donnée « digitale », qui se présente sous différentes formes :
-
les données numériques, à la base de toutes les séries temporelles comme les indices boursiers, les prix des matières premières ou les indicateurs socio-économiques d’un pays ;
-
les données textuelles : comprenant toute chaîne de caractères alphanumériques, de caractères spéciaux, ou de symboles mathématiques. On les observe quasiment dans toutes les pages web, dont le nombre des indexées dépasse actuellement les 4,4 milliards [2] ;
-
l’image : l’échographie, le scanner et l’IRM sont irremplaçables en médecine, alors que les images satellites sont devenues indispensables pour tout État, dans les domaines de la défense, l’agriculture ou la météorologie ;
-
la vidéo : outre les chaînes de télévision, le volume des données vidéos sur le web est gigantesque notons que sur YouTube seulement, 500 heures de vidéos - en moyenne - sont mises en ligne chaque minute ;
-
la voix : on cite les chaînes de radio, tout le contenu audio sur le web, ainsi que toutes les communications téléphoniques (ou VoIP) dans le monde entier.
Parmi les catégories qui viennent d’être énumérés, le traitement et l’exploitation des données textuelles sur le web, en utilisant les techniques les plus avancées du Traitement du Langage Naturel - ou Natural Language Processing (NLP) - demeurent des activités pivot chez les pionniers de la High-Tech dont Google. Ce dernier, à lui seul, a traité 259,1 milliards de requêtes entre le 1/6/2022 et le 31/8/2022, soit une moyenne de 32600 requêtes traitées chaque seconde [3]. Ceci justifie le nombre des travaux de recherche que les experts en Machine Learning et Deep Learning de Google ont publiés en rapport avec le NLP (Natural Language Processing). À ce jour, on compte environ 900 publications scientifiques publiées par Google dans cette discipline [4].
Par ailleurs, le NLP a permis à des centres de recherche privés et aussi à des gouvernements, de mener des études socio-économiques de pointe. À travers les données des réseaux sociaux, Twitter et Facebook, en particulier, certaines analyses ont permis de prédire, entre autres, les résultats des élections présidentielles [5] ou la perception d’une politique fiscale par les citoyens [6]. En rapport avec des sujets plus sensibles, RAND Corporation constate que « dans ces projets NLP, les experts passent la majeure partie de leur temps à travailler sur des sujets liés à la Défense nationale, à l’Intelligence nationale, la Sécurité internationale ou à la Sécurité intérieure » [7]. Dans le domaine des sciences économiques, Isaiah Hull, Senior économiste, a présenté dans [8] les différents projets NLP qu’il dirige à la Banque centrale suédoise pour répondre à un nombre de questions macroéconomiques.
Le présent Policy Brief est une note méthodologique, à travers laquelle nous exposons les aspects techniques d’un outil de « Veille économique », développé dans le cadre des travaux de recherche en Data Science, au Policy Center for the New South. L’objectif est de mettre en exergue les grands axes de la recherche en économie dans les pays du Sud, notamment en Afrique, ainsi que leur évolution dans le temps. Étant conscient que l’Afrique est la dernière frontière économique du monde, ce constat nous pousse à nous intéresser à des questions de croissance et de développement qui méritent une attention particulière, et qui sont liées à la conception et l’implémentation des politiques économiques adaptées au contexte local dans le continent. Par conséquent, une recherche scientifique ‘’customisée’’ est indispensable pour croiser empiriquement la connaissance d’ailleurs avec les faits sur le sol africain et permettre d’éclairer les décideurs dans leurs choix politiques et stratégiques.
À travers ce travail, on se propose de répondre à la question suivante : qui fait quoi en Afrique ? Des études, dont [9], [10] et [11], ont abordé cette question en considérant plusieurs branches de la Science et en se focalisant sur des statistiques descriptives issues de différentes bases de données. La particularité de ce projet réside dans l’application des techniques du NLP aux données émanant de RePEc [12]. Cette note sera suivie d’une série de notes d’analyse des différents résultats concernant l’Afrique, qu’on publiera à une fréquence donnée.
1 - Source et types de données
Les données collectées et traitées dans ce projet émanent de Research Papers in Economics (RePEc). Cette librairie électronique, développée en 1997 par l’économiste allemand Thomas Krichel, est un projet collaboratif, gérée par une équipe de bénévoles localisés dans 103 pays. Il s’agit d’un portail qui permet l’accès gratuit à plus de 4 millions de travaux de recherche en économie dont des chapitres, des livres, des articles de presse et des logiciels.
Figure 1 : Évolution du nombre des publications sur RePEc en milliers
RePEc succéda à WoPEc, une librairie développée par NetEc Group en 1996, et qui faisait partie d’une série de librairies électroniques financées par les Conseils de Financement de l'Enseignement Supérieur au Royaume-Uni. Ainsi, Krichel a opté, à travers RePEc, pour un dépôt décentralisé, dont la gestion et la maintenance par des bénévoles assureront l’autonomie et la gratuité du contenu.
Nombreux sont les types d’informations que l’on peut obtenir à travers RePEc. Outre celles relatives aux publications et à leurs auteurs, d’autres rubriques fournissent des classements aussi bien des auteurs que des établissements.
Dans le cadre de ce projet, l’intérêt sera porté sur les données relatives aux publications et sur celles des auteurs :
Figure 2 : Informations relatives à chaque publication fournies par RePEc
Figure 3: Informations relatives à chaque auteur fournies par RePEc
Quelques remarques :
Les résultats qui découlent de cette étude concernent le domaine de définition que nous avons considéré. Il s’agit de l’ensemble des auteurs et chercheurs en économie, ayant un compte et des publications sur RePEc (C). On parle donc d’un échantillon de la population des économistes ayant publié des articles de presse, des livres, des chapitres ou des logiciels (B) ou, plus généralement, toute personne qui compte des publications en économie (A).
Figure 4: Population cible du projet de veille RePEc
2 - Méthodologie
Le processus établi dans ce projet s’effectue en trois phases : la collecte, le traitement des données et la visualisation des résultats qui en découlent. Les codes qui réalisent toutes ces tâches sont développés en « Python ».
Figure 5 : Étapes du processus de traitement des données RePEc
2.1 - Collecte des données
On distingue différentes méthodes pour collecter les données à partir du web. Certaines sont accessibles directement à partir d’un lien de téléchargement comme les datasets de la Banque mondiale (BM), d’autres sont téléchargeables à travers des API (Application Programming Interface) comme yfinance qui permet de télécharger des données financières en temps réel depuis Yahoo Finance et Twitter API qui sert à collecter les données Twitter en streaming. Dans certains cas, comme les tableaux de Worldometers ou les articles de Wikipedia, on procède différemment, et ce à travers le « Web Scraping » (ou Grattage Web). Une méthode qui permet d’accéder au contenu HTML de la page ou des pages à scraper. Le Web Scraping consiste à développer un logiciel (ou un robot) à travers lequel on automatise le contrôle quasi total du navigateur et, par conséquent, l’accès, le rafraichissement et la fermeture d’une ou de plusieurs pages web, ainsi que l’extraction ou l’insertion du contenu.
Parmi les modules du Web Scraping, compatibles avec Python, Beautiful Soup [13], Scrapy [14] et Selenium [15] restent les plus utilisés. Ce dernier est le module que nous avons choisi pour réaliser ce processus, selon le schéma qui apparait dans a figure 6. La collecte des données commence par un scraping de la page des auteurs [ https://ideas.repec.org/i/eall. html ], de laquelle on tire les noms ainsi que les liens des profils respectifs des pages des auteurs. À partir de ces liens, le programme que nous avons développé « scrape » la page de chaque auteur, en extrait son affiliation et enregistre les titres, les liens, ainsi que l’année de publication de chacun de ses travaux de recherche.
Une partie du programme décompose l’affiliation de chaque auteur en plusieurs entrées, dont chacune inclut le nom de l’organisme, le pays et le continent.
La dernière étape de la collecte consiste à enregistrer, à partir des liens des publications, les résumés, les mots-clés, la classification JEL (Journal of Economic Literature) ainsi que la classification NEP (New Economics Papers).
Figure 6: Processus de collecte des données relatives aux publications et aux auteurs
2.2 - Traitement des données
2.2.1 - Détection des doublons
Afin d’exploiter les données de RePEc, on commence par l’élimination des doublons. Pour ce faire, on raisonne sur l’unicité du titre d’un article scientifique dans la littérature.
A) Normalisation de l’écriture
Un premier traitement consiste à mettre tout le texte en minuscule et à éliminer tous les caractères spéciaux (ou non-alphanumériques). Dans les échantillons que nous avons prélevés, cette opération a permis de repérer des doublons qui représentent plus de 26 % de l’échantillon.
Figure 7: Exemple de doublons qu’on détecte avec la normalisation de l’écriture et la suppression des caractères spéciaux
B) Distance de Levenshtein
Suite au premier nettoyage, on effectue une deuxième opération en utilisant un ratio, fonction de la distance de Levenshtein entre deux titres.
La distance de Levenshtein est une distance mathématique entre deux textes. Elle porte le nom du mathématicien russe Vladimir Levenshtein, qui l’a proposée en 1965. Celle-ci est égale au nombre minimum d’opérations qu’il faut effectuer pour transformer une chaîne de caractères (A) en une autre (B). Dans cette étude, on se sert du ratio suivant pour repérer d’autres doublons :
Il varie entre 0 et 1 comme suit :
Plus les deux textes se ressemblent plus R est proche de 1 et vice versa. Il vaut 1 quand A et B sont identiques et 0 lorsqu’ils n’ont aucun caractère en commun.
Figure 8 : Exemple de doublons qu’on détecte en utilisant la distance de Levenshtein
Pour les deux titres ci-dessus, R est proche de 0.99.
En fixant un seuil de 0.95, on parvient à détecter d’autres doublons dans l’échantillon que nous avons prélevé.
2.2.2 - Codes JEL et codes NEP
Les codes JEL et les codes NEP sont deux systèmes de classification des publications en économie. Le premier a été créé par l’American Economic Association (AEA) et réfère au « Journal of Economic Literature ». Les codes JEL sont répartis selon une arborescence en trois niveaux :
* Les catégories principales sont au premier niveau et sont représentées par les codes : A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, Y et Z
* Prenons par exemple le code D qui représente le thème « Microéconomie ». Sous ce code une publication peut être incluse dans les sous-thèmes suivants :
-
D0 – généralités ;
-
D1 - comportement des ménages et économie familiale ;
-
D2 - production et organisation ;
-
D3 – distribution ;
-
D4 - structure du marché et formation des prix ;
-
D5 - équilibre général et déséquilibre ;
-
D6 - économie du bien-être ;
-
D7 - analyse de la prise de décision collective ; D8 – information, connaissance et incertitude ; D9 - choix intertemporel et croissance
* Pour une classification plus fine, la sous-catégorie D4, par exemple, comprend les sous-classes suivantes :
-
D40 – Généralités ;
-
D41 - Concurrence parfaite ;
-
D42 – Monopole ;
-
D43 - Oligopole et autres formes de marchés imparfaits ;
-
D44 – Enchères ;
-
D45 - Rationnement ; émission de licences ;
-
D46 - Théorie de la valeur ;
-
D49 – Autres.
Le NEP (New Economics Papers) est un système de classification établi par la plateforme RePEc et lui est intrinsèque [16].
Dans ce projet, on se sert des deux systèmes pour tirer des statistiques qui décrivent les grandes tendances de la recherche d’un ensemble de chercheurs ainsi que les thématiques les moins abordées dans leurs écrits. Cet ensemble est préalablement défini dans un espace géo-temporel (dans un pays ou un continent quelconque ou sur une plage temporelle bien déterminée), ou délimité par d’autres critères comme l’affiliation d’un chercheur à un organisme donné.
2.2.3 - NLP et données textuelles
Dans ce projet, les données textuelles que nous avons traitées se regroupent sous trois variables :
- le titre ;
- les mots-clés ;
- le résumé.
Comme nous l’avons vu dans (A), le titre nous a permis de nettoyer les doublons et d’éviter, ainsi, la redondance de l’information et d’assurer l’unicité de chaque valeur (publication).
Pour dégager de l’information de chaque publication, une première piste est envisageable ; elle consiste à exploiter les résumés. Cependant, le coût computationnel de cette option devient très grand lorsque la taille de l’échantillon est grande, ainsi, on choisit une alternative moins onéreuse dans laquelle on traite uniquement l'information contenue dans les titres et les mots-clés. Nous avons opté pour ce choix car le titre et les mots-clés englobent les idées principales ainsi que les noms des théories et des régions abordées dans une étude, et les présentent en un minimum de caractères.
A) L’algorithme BERT
Dans certains cas, où les mots-clés ne sont pas mentionnés dans une publication, on recourt à l’algorithme BERT et on l’applique au résumé pour les en extraire.
BERT réfère à « Bidirectional Encoder Representations from Transformers ». Il s’agit d’un algorithme de deep learning utilisé en NLP et qui a été développé par Google en 2018 [17]. Celui-ci annonce en 2019 qu’il a commencé à l’utiliser pour traiter les requêtes de ses utilisateurs et comprendre leurs besoins. Entrainé avec un échantillon de 800 millions de mots extraits de livres et un autre échantillon de 2,5 milliards de mots issus d’articles Wikipedia, il permet de réaliser plusieurs tâches de traitement du langage naturel dont le résumé d’un texte et l’extraction des mots-clés. BERT est également utilisé pour l’analyse de sentiments, dans les chatbots et pour prédire et compléter la phrase d’un utilisateur.
Figure 9 : Construction du texte à traiter à partir des titres, des mots-clés et en appliquant l’algorithme BERT à certains résumés
B) NLTK et Word Cloud
• Stopwords
Le schéma ci-dessus explique le processus réalisé pour obtenir le texte qui sera traité, et ce à l’aide des fonctions fournies par les librairies NLTK et Word Cloud.
NLTK ou Natural Language Toolkit [18] est une suite de programmes, développés en 2001 sous le langage python par Steven Bird, Edward Loper et Ewan Klein au Département d’Informatique à l’Université de Pennsylvanie, aux États-Unis. Parmi les nombreuses fonctions proposées par NLTK on se sert de l’ensemble stopwords qui regroupe un grand nombre de mots dans différentes langues, à éliminer du texte, afin de pouvoir l’analyser.
En anglais, par exemple, stopwords contient 179 mots dont : them, what, whom, this, that, were, been, have, does, with, into, from, down, over, then, once, here, when, et both. En outre, et selon le contexte, on alimente cet ensemble par d’autres mots, des caractères spéciaux et des mots de langues étrangères, et ce en vue d’aboutir à un meilleur nettoyage du texte.
• Lemmatizing et Stemming
Le lemmatizing et le stemming sont deux fonctionnalités que les chatbots et les moteurs de recherche utilisent pour analyser un texte. Ce sont deux méthodes de normalisation d’écriture. Le lemmatizing conserve un mot ou le transforme en un autre de la même famille (un mot qui existe), tandis qu’il y a différents stemmers (notamment en anglais) et qui ramènent le mot à une racine qui peut ne pas exister dans le dictionnaire.
Tableau 1 : Exemples de Lemmatizing et de Stemming appliqués à des mots de même famille
Ces deux opérations permettent d’estimer la fréquence pas d’un « mot » mais d’un « sens » dans un texte. Parmi les projets NLP, qui utilisent indéniablement le lemmatizing, le stemming ou les deux, on trouve la classification des articles de presse en différentes catégories : Économie, Sport, Politique, Art, ... etc. Notons que dans d’autres situations, le stemming et le lemmatizing nous permettent de réaliser d’autres tâches et d’appliquer de manière plus performante d’autres algorithmes comme le TF-IDF.
2.3 - Visualisation
La dernière étape dans ce projet est la visualisation des résultats à l’aide des graphiques, dont le plus important est le nuage de mot.
Pour présenter des statistiques descriptives ou des séries temporelles ou même des réseaux, une panoplie de graphiques est proposée par les fameuses librairies : Matplotlib [19], Seaborn [20] ou plotly [21] (Plotly permet de générer des graphiques dynamiques à implémenter dans des applications web).
Pour créer des nuages de mots, on utilise la librairie wordcloud [22] développée par Andreas Mueller, data scientist et chercheur à Microsoft. Cette librairie traite le texte, le décortique et le décompose en mots ou en expressions de plus d’un mot qu’elle présente dans un nuage de mots en différents couleurs et tailles. Un processus permet d’optimiser la répartition de l’espace pour présenter ces mots selon des critères bien définis et sans qu’ils ne se chevauchent les uns les autres. Ce nuage sert d’indicateur pour les tendances lourdes et les signaux faibles dans notre outil de veille économique.
Conclusion
Dans ce papier, nous avons présenté les aspects techniques du projet de Veille économique à travers lequel il serait possible de suivre les grandes tendances qui caractérisent la recherche en économie dans un pays, un continent, un organisme, ou dans les écrits d’un groupe de chercheurs, défini par certains critères. Notons qu’un intérêt particulier a été porté aux chercheurs, notamment africains, et affiliés à des centres de recherche localisés en Afrique. Le processus de collecte des données sur la plateforme RePEc à travers le web scraping a été développé dans 2.2.1. Ensuite, nous avons mis en relief les différents opérations et algorithmes de Machine Learning et de Traitement du Langage Naturel que nous avons implémentés sous le langage python, et ce en vue de nettoyer, traiter et analyser le jeu de données que nous avons collectées. Nous avons également présenté les différentes options à notre disposition pour visualiser et exposer les outputs du projet. Des notes semestrielles ou annuelles incluront les résultats qui découleront de ce projet. Reste à souligner que les systèmes de veille scientifique sont adoptés par des pionniers de la recherche scientifique et de l’industrie, notamment en biologie, sécurité et marketing.
Références
-
[1] Joe Kaeser, “Technology, Society, and the Digital Transformation”, German-Swedish Tech Forum 2018 (Stockholm)
-
[2] https://www.worldwidewebsize.com - Université de Tilburg, Pays-Bas.
-
[3] https://www.similarweb.com/fr/website/google.com
-
[4] https://research.google/pubs/?area=natural-language-processing
-
[5] M. -H. Tsai, et al., (2019), "A Machine Learning Based Strategy for Election Result Prediction," International Conference on Computational Science and Computational Intelligence (CSCI), Las Vegas, NV, USA, 2019, pp. 1408-1410, doi: 10.1109/ CSCI49370.2019.00263.
-
[6] Anitha, S. & Radha, V., 2020. Opinion Mining Based on Tax Tweets Using Deep Learning Neural Network (DNN). AEGAEUM Journal, pp. 73-80.
-
[7] Schirmer, P. et Al. (2021), "Natural Language Processing: Security- and Defense- Related Lessons Learned". Santa Monica, CA: RAND Corporation, 2021.
-
[8] Isaiah Hull, Riksbanken - NLP Webinar, 24 Nov 2021
-
[9] Sooryamoorthy, R, The production of science in Africa: an analysis of publications in the science disciplines, 2000–2015. Scientometrics 115, 317–349 (2018). https://doi.org/10.1007/s11192-018-2675-0
-
[10] Pouris, A. & Pouris, A, The state of science and technology in Africa (2000–2004): A scientometric assessment. Scientometrics 79, 297–309 (2009). https://doi. org/10.1007/s11192-009-0419-x
-
[11] Sooryamoorthy, Radhamany, et al. "Science in Africa: Contemporary Trends in Research." Journal of Scientometric Research 10.3 (2021): 366-372.
-
[12] RePEc : Research Papers in Economics - http://repec.org
-
[13] Beautiful Soup - https://beautiful-soup-4.readthedocs.io
-
[14] Scrapy - https://scrapy.org
-
[15] Selenium - https://www.selenium.dev
-
[16] NEP : New Economics Papers - http://nep.repec.org
-
[17] Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.
-
[18] NLTK, Natural Language Toolkit - https://www.nltk.org
-
[19] Matplotlib - https://matplotlib.org
-
[20] Seaborn - https://seaborn.pydata.org
-
[21] Plotly - https://plotly.com
-
[22] Wordcloud - http://amueller.github.io/word_cloud