Détecter et mesurer des rimes
On vous explique comment on a réussi à créer un algorithme pour mesurer les rimes dans un texte de rap
2022-07-30
Les rimes sont indispensables à un texte marquant, tant dans son sens que dans ses sonorités. On a dévelopé un algorithme simple pour tenter de les mesurer et de déterminer les rimes les plus fréquentes qui façonnent le Rap FR.
Un peu de contexte
Déjà c’est quoi une rime ? Sans nul doute un outil indispensable à l’écriture d’un texte de RAP, qui met la troisième lettre de cet acronyme à l’honneur.
Une rime est une répétition de sons semblables (le plus souvent identiques) dans les syllabes finales de deux ou plusieurs mots.
- Wikipedia
Cette technique est utilisée en poésie, en chanson, donc bien évidemment en rap, mais aussi au théâtre ou en rhétorique. On dit souvent que les rimes renforcent la “structure métrique” pour l’auditeur, c'est-à-dire l’impression de rythme. Par leur caractère esthétique, elles permettent de donner un plus grand impact au sens des mots.
En rap, elles traduisent en partie la “technicité” d’un rappeur. Simples, suffisantes, riches ou multisyllabiques, il n’y a pas vraiment de limite si ce n’est l’imagination du lyriciste. On peut faire rimer (presque) tout et n’importe quoi, pour peu qu’on aime jouer sur les temps, sur les sens, sur les tons, sur la prononciation.
Aujourd’hui les artistes redoublent d’originalité tant dans le choix des mots que dans leur manière de les placer et de les faire rimer. Les techniques de construction des rimes évoluent : on voit apparaître de nouveaux schémas, de nouvelles tendances lexicales, qui viennent systématiquement redéfinir les codes.
J'écris ma vie, j'connais que c’thème, j'ai rien de custom (Ouais)
J'ai pas de costume, j'm'habille chez Lacoste homme
- Lesram, Wesh Enfoiré
C'est pas du rap hardcore, j'me prends pas pour un rockeur
J'vais à la muscu' pour le corps, j'vais à la mosquée pour le cœur
- Alpha Wann, LE PIÈGE
Ils pensaient me connaitre mais ne savent pas qu'j'ai un petit cœur
Rempli d'une grande haine, je bois un peu d'liqueur, j'deviens belliqueux
- Caballero, Grunt #49
Représentation phonétique
Concentrons-nous sur notre objectif : détecter et mesurer une rime avec un algorithme. Pour commencer, nous avons représenté des lyrics dans un format qu’on a tous déjà croisé un jour : l’alphabet phonétique (IPA pour International Phonetic Alphabet). Ça ressemble à ça :
Libérez tous mes copains
→ libeʀe tu me kopɛ̃
Il permet de transformer n’importe quel texte ou fragment de texte en code phonétique basé sur la prononciation sonore du langage de base (ici du français).
Mais alors, maintenant, on fait quoi avec ça ? Cette représentation a un gros avantage que l'alphabet français n’a pas (du tout) : Chaque lettre est définie phonétiquement, indépendamment des autres lettres qui l’entourent.
Fini les lettres muettes, fini les voyelles ou les consonnes qui changent de prononciation en fonction des lettres qui les entourent (comme par exemple h, ch, eau, on…). Ouf, on peut traiter chaque lettre une par une et être sûr de son aspect sonore.
Enfin, puisqu’on veut faire comprendre tout ça à un ordinateur, il reste une étape… Un ordinateur ne sait pas directement lire, il a toujours besoin qu’on lui donne des chiffres, plus précisément des listes de chiffres appelés “vecteurs”.
Ça parait assez compliqué à réaliser, mais heureusement des laboratoires de linguistique ont déjà fait le travail pour nous. Chaque lettre peut être traduite en une liste d’une vingtaine de caractéristiques liées à sa prononciation. Il y a par exemple une caractéristique nasale (venant du nez), une coronale (de la langue), une labiale (des lèvres), etc.
Inutile de rentrer dans les détails. Retenons juste que ces caractéristiques nous informent sur la manière d’articuler et de prononcer la lettre phonétique.
Comparaison de rimes
On rentre maintenant dans le vif du sujet. Maintenant qu’on sait représenter phonétiquement des bouts de textes, on peut les comparer.
Est-ce que “katana” rime avec “ananas” ?
Est-ce que “katana” rime avec “continu” ?
Prenons ce dernier exemple avec "katana" et "continu". En alphabet phonétique, leur représentation est la suivante :
katana → katana
continu → kɔ̃tiny
On peut distinguer plusieurs familles et sous-familles de lettres phonétiques, mais il y en a 2 principales qui nous intéressent particulièrement et que vous connaissez forcément : les voyelles et les consonnes.
Les voyelles possèdent une caractéristique intéressante : elles sont “syllabiques”. C'est-à-dire que l'apparition d’une voyelle dans un mot est un marqueur de syllabe. Identifier les voyelles permet donc de découper les mots en syllabes, la matière première des rimes.
On peut maintenant aligner les syllabes des mots et comparer leurs syllabes unes à unes.
Chaque syllabe est donc composée de plusieurs lettres phonétiques : une voyelle (obligatoire) et quelques consonnes (parfois même aucune). Comme on l’a dit plus haut, chaque lettre peut être transformée en vecteur pour être mesurée par nos ordinateurs. Il suffit maintenant de choisir ce qu’on veut mesurer.
Les consonnes et les voyelles sont très différentes en termes de sonorité. Pour mesurer à quel point un mot ou groupe de mot rime avec un autre, nous avons eu une idée simple : séparer la mesure en deux, une mesure pour les consonnes et une pour les voyelles. Pour chaque syllabe, on va mesurer à quel point les consonnes riment, et à quel point les voyelles riment, indépendamment, et générer donc deux scores distincts.
On peut ensuite manipuler les scores syllabe par syllabe. On peut vérifier qu'une zone rime (par exemple la fin), ou bien vérifier si l'entièreté du mot rime en faisant la moyenne des scores. Pour "continu" et "katana", les scores moyens sont les suivants :
score de consonne : 100%
score de voyelles : 33%
Et d’ailleurs ça fonctionne plutôt bien avec notre exemple, puisqu’il s’agit d’une rime parfaite au niveau des consonnes (100% de similarité), et pourtant pauvre en terme de voyelle (33%)...
Ca y est ! On peut maintenant mesurer les rimes automatiquement, en distinguant les rimes de consonnes des rimes de voyelles.
Après l'effort, le réconfort
Grâce à cet algo, on a extrait les rimes les plus utilisées pour rimer avec 300 mots très répandus dans le Rap FR. A toi de trouver les mots associés ! Petit indice : pour simplifier le jeu, on ne s'intéresse qu'aux mots de 2 syllabes qui ont au moins une dernière syllabe en commun avec le mot ciblé... Récolte un max de point et fini premier de notre classement ! Ça se passe par ici