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?
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.
OpenEdition vous propose de citer ce billet de la manière suivante :
Thomas Pellard (17 mai 2023). Classification des langues et progrès de l’informatique. Cipanglossia. Consulté le 4 décembre 2024 à l’adresse https://doi.org/10.58079/mtu0