Classification des langues et progrès de l’informatique

En faisant une revue de la littérature pour la rédaction d’un manuscrit sur le modèle de l’arbre et les méthodes phylogénétiques, je suis tombé sur le travail pionnier d’Isidore Dyen sur les méthodes quantitatives de classification des langues.

En 1965, Dyen produit une classification lexicostatistique des langues austronésiennes. Pour cela il utilise des listes lexicales de 150 à 200 concepts de base dans 352 langues différentes et, après avoir déterminé manuellement quels mots sont cognats, il calcule le pourcentage de mots cognats entre chaque paire de langue.

Ce qui a attiré mon attention, c’est l’indication que le calcul a été réalisé sur un IBM 704, l’un des ordinateurs les plus rapides de l’époque, et que le calcul a pris 16 heures au total!

Je me suis alors demandé par curiosité: combien de temps faudrait-il à un ordinateur moderne pour exécuter la même tâche?

Un IBM 704

Un IBM 704

On ne dispose pas des données originelles de Dyen (1965), mais on peut facilement simuler des données similaires (il ne s’agit pas de faire un calcul précis mais d’obtenir un ordre de grandeur). Il suffit de créer une matrice multi-états avec 200 colonnes et 352 lignes remplies de manière aléatoire par des chiffres entre, par exemple, 1 et 20, représentant les classes de cognats pour chaque concept.

Quelques lignes de code R suffisent pour générer les données, calculer la distance lexicostatistique entre chaque paire de langue, et appliquer un algorithme de classification comme UPGMA.

library(tictoc)
library(phangorn)
tic()
n_char <- 200
n_st <- 20
n_lg <- 352
mt <- matrix(
  rep(sample.int(n_st, n_char, replace = TRUE), n_lg),
  ncol = n_char,
  dimnames = list(paste0("L", 1:n_lg), paste0("C", 1:n_char))
  )
dt <- as.phyDat(mt, type = "USER", levels = 1:n_st, names = colnames(mt))
dst <- dist.hamming(dt)
tr <- upgma(dst)
toc()
0.032 sec elapsed

Le tout prend moins d’un dixième de seconde!

Il ne faut toutefois pas oublier que les données de Dyen (1965) étaient sur cartes perforées, et que le lecteur de l’IBM 704 lisait 150 cartes par minute. Avec une carte pour chaque mot de chaque langue, cela fait plus de 70000 cartes, soit presque 8h rien que pour lire les cartes.

La différence est néanmoins considérable.

Depuis une vingtaine d’années, les méthodes phylogénétiques bayésiennes se sont largement imposées pour classifier les langues et étudier leur évolution (Greenhill, Heggarty & Gray 2020). Le désavantage de ces méthodes est qu’elles demandent un temps de calcul très important. Le moindre petit jeu de données demande des heures de calcul sur un ordinateur courant, et il est en fait souvent nécessaire de mobiliser une ferme de calcul pendant plusieurs jours. Nul doute que cela joue à retarder l’adoption de ces méthodes auprès de la plupart des linguistes. On peut espérer néanmoins que, comme dans le cas de Dyen, le temps de calcul se réduira avec le temps.

Références

Dyen, Isidore. 1965. A lexicostatistical classification of the Austronesian languages. Baltimore: Waverly Press.

Greenhill, Simon J., Paul Heggarty & Russell D. Gray. 2020. Bayesian phylolinguistics. In Richard D. Janda, Brian D. Joseph & Barbara S. Vance (éd.), The handbook of historical linguistics, vol. 2, 226‑253. Hoboken: Wiley. https://doi.org/10.1002/9781118732168.ch11.



Citer ce billet
Thomas Pellard (2023, 17 mai). Classification des langues et progrès de l’informatique. Cipanglossia. Consulté le 16 avril 2024, à l’adresse https://doi.org/10.58079/mtu0

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.