Les expressions régulières dans Fonology

Une introduction au expressions régulières pour la transcription phonémique du français

R
regex
CRSH
SSHRC
Auteur·rice

Matéo Lévesque

Date de publication

9 mars 2026

AstuceLe rôle des statistiques lexicales et post-lexicales dans l’acquisition d’une langue seconde

Comment identifier les patrons phonologiques d’une langue à partir de données écrites?

Nous voyons du texte partout, ce qui peut laisser croire que la collecte de données n’a jamais été aussi simple. Le problème réside dans le décalage bien connue entre les lettres (graphèmes) et les sons (phonèmes) : il est impossible de comprendre pleinement les systèmes phonologiques en se contentant d’examiner la distribution des lettres dans un corpus donné. Ainsi, pour identifier les patrons phonologiques, il faut d’abord convertir les graphèmes en phonèmes.

Cette série est consacrée à un projet financé par le CRSH (subvention no 141280) qui examine comment les statistiques lexicales peuvent être exploitées afin de générer une base de comparaison avec des données expérimentales. Une partie de ce projet implique le développement d’outils de conversion graphème-phonème (il est en effet très difficile d’analyser les patrons phonologiques dans des données écrites sans accès à une transcription phonétique). La bibliothèque R Fonology est directement liée à ce projet et couvre le portugais, le français, l’italien et l’espagnol. Matéo Levesque a travaillé sur des scripts de conversion graphème-phonème pour le français. Les articles de cette série s’inscrivent dans les efforts de mobilisation des connaissances du projet.

Qu’est-ce qu’est une expression régulière?

Les expressions régulières (ou regex) sont utilisés en informatique pour valider le format d’une chaîne de caractères ou pour trouver une suite précise de chiffre, de lettres ou de symboles dans du texte. On les utilise souvent pour vérifier qu’une adresse courriel a le bon format ou pour s’assurer de la robustesse d’un mot de passe. Elles peuvent aussi être particulièrement utiles pour le nettoyage de données ou pour supprimer ou remplacer certains mots d’un texte.

Pour Fonology, nous avons utilisé les expressions régulières affin de faciliter la transcription phonémique en établissant un ensemble de généralisations orthographiques que nous pouvions cibler avec les regex, puis les remplacer par les phonèmes correspondants. On parle ici de la conversion graphème-phonème, cruciale pour l’analyse phonologique des données textuelles.

Le projet

Le but du projet est de rendre accessible la compilation de bases de données grâce auxquelles il serait possible d’émettre des hypothèses concernant les grammaires phonologiques de locuteurs natifs ou non natifs. Le problème est que plusieurs bases de données en ligne ne sont pas codées pour l’analyse phonologique. L’extension Fonology vise donc à remédier à ce problème en permettant de transformer un corpus textuel en base de données codée phonologiquement. Ici, nous nous concentrons sur le français, mais Fonology couvre également le portugais, l’espagnol et l’italien.

Pourquoi utiliser les expressions régulières dans un projet comme celui-ci?

Comme mentionné plus haut, les expressions régulières sont un excellent outil pour remplacer des suites précise de caractères dans un texte. On peut envisager appliquer ce type de remplacement dans le cadre de la transcription phonémique. On peut cibler des caractères qui représentent toujours le même son et les changer par les symboles API appropriés.

Par exemple, des caractères comme « é », « oi » ou « rr », sont toujours transcrit respectivement par les symboles /e/, /wa/ et /ʁ/ (en français). Toutefois, dans certains cas, les caractères ciblés ne se transcrivent pas toujours par les même symboles. C’est le cas de « ch », qui peut être transcrit comme /ʃ/ ou /k/, et parfois même /tʃ/. C’est ici que les expressions régulières sont particulièrement puissantes.

En effet, grâce au regex, on peut spécifier que les « ch » suivis de « r » ou « l » (dans des mots comme « chrome », « chronologie » ou « chlore ») doivent être remplacés par /k/, tandis que les autres occurrences de « ch » doivent être remplacées par /ʃ/. Puis, à l’aide de quelques autres généralisations, on arrive à produire une transcription d’une précision satisfaisante.

Cette méthode permet d’appliquer rapidement ce genre règles de transcription, contrairement à des approches comme l’apprentissage automatique, qui nécessite une grande quantité de données transcrites pour qu’un modèle puisse apprendre efficacement. Une telle approche serait contre-productive dans le cadre de notre projet, puisque nous tentons justement de compiler des données phonologiques. Ça explique donc pourquoi nous avons choisi cette méthode.

Ensuite ?

Ceci n’est qu’une brève introduction au concept des expressions régulières. Dans les deux prochains articles, nous verrons :

  1. Comment les expressions régulières ont été utilisées dans Fonology
  2. Quelles sont les difficultés et les limites des expressions régulières dans la transcription phonémique

Liens utiles


Regular expressions and the Fonology package

AstuceThe role of lexical and post-lexical statistics in second language acquisition

How can we map phonological patterns in a language using written data?

We see text everywhere, so it’s reasonable to assume that gathering data has never been easier. The problem is the well-known mismatch between letters (graphemes) and sounds (phonemes): we cannot fully understand phonological systems by simply examining how letters are distributed in a given corpus. Thus, to map phonological patterns, we first need to convert graphemes into phonemes.

This series is dedicated to a SSHRC-funded project (grant no. 141280) examining how lexical statistics can be explored to generate a baseline for comparison with experimental data. Part of this project involves the development of grapheme-phoneme conversion tools — it is very difficult to examine phonological patterns in written data without access to phonetic transcription. The Fonology package is directly connected to this project, covering Portuguese, French, Italian, and Spanish. Matéo Levesque worked on grapheme-phoneme conversion scripts for French. These posts are part of the project’s knowledge mobilization efforts.

What are regular expressions?

Regular Expressions (or regex) are used in information technology to validate the format of a character string or to find a specific sequence of letters, numbers or symbols in some text. They are mostly used to verify that an email address respects the right format or to check the strength of a password. They can also be particularly useful for cleaning data or to delete or replace certain words in a text. For Fonology, we used regular expressions to help with grapheme to phoneme (G2P) transcription by establishing a set of orthographic generalisations that we could target with regex, then replace with the appropriate phonemes.

The project

The goal of this project is to simplify the process of compiling databases that allow us to propose hypotheses concerning native and non-native phonological grammars. The problem is that many databases online are not coded for phonological variables. The Fonology library helps with this problem by allowing us to transform textual data into phonologically coded databases. Here, we focus specifically on French, but Fonology covers Portuguese, Spanish and Italian.

Why use regular expressions for this type of project?

As mentioned previously, regular expressions are an excellent tool for replacing precise character strings in a text. Based on that, we can imagine applying this kind of replacement to phonological transcription. We can target characters that consistently represent the same sounds and change them to their corresponding IPA symbols. For example, characters such as “é”, “oi” or “rr” can be transcribed as /e/, /wa/ and /ʁ/ in French.

However, in certain cases we find that the mapping isn’t one-to-one. A targeted string may correspond to different IPA symbols. Take “ch”, it can correspond to /ʃ/ or /k/, and sometimes even to /tʃ/. This is where regex are particularly powerful.

With regex, we can specify that all instances of “ch” followed by “r” or “l” (as in “chrome”, “chronologie” or “chlore”) must be replaced by /k/, while all other occurrences of “ch” need to be replaced by /ʃ/. After further generalizations, we achieve a transcription script with satisfactory precision.

This method allows us to apply transcription rules faster than methods such as machine learning, which require a large amount of transcribed data to learn efficiently. Such an approach would be unproductive in our project, since we try to compile phonological data without relying on prior training data. This is why we chose this method.

What’s next?

This is only a brief introduction to the concept of regular expressions. In the next two articles, we will see:

  1. How regular expressions were used in Fonology?
  2. The difficulties and limitations of regex in grapheme-to-phoneme transcription?

Copyright © Guilherme Duarte Garcia