Les travaux récents utilisent en grande majorité de l'apprentissage non supervisé pour apprendre les représentations de relations, comme c'est le cas avec les modèles adaptant Word2vec (Joshi et al., 2018; Chingacham & Paperno, 2018). Ces modèles sont en général transférés par la suite sur d'autres tâches, comme de l'inférence ou de l'annotation d'image par exemple. Des recherches récentes ont exploré différents modèles possibles pour entraîner des représentations de relations sémantiques, en cherchant à obtenir les meilleures performances possibles sur ces tâches de transfert. Les modèles de réseaux récurrents LSTM ou LSTM Bi-directionnel obtiennent par exemple de très bons résultats sur une grande variété de tâches. La difficulté réside dans le choix de l'objectif de ces modèles, afin de créer des vecteurs capturant le maximum d'information sur une unité de texte. De très bons résultats ont ainsi été obtenus en entraînant des réseaux de neurones complexes à faire de l'inférence de textes (Conneau et al., 2017), de la classification de relations du discours explicites (Nie et al., 2019) ou bien de la prédiction de marqueurs du discours (Sileo et al., 2019). Néanmoins, ces modèles complexes nécessitent d'immenses quantités de données, ainsi qu'une très importante puissance de calcul. Comme dans ces approches, nous cherchons à construire une représentation en utilisant une architecture neuronale, mais nous nous distinguons par la simplicité du modèle utilisé.

# 3 Approche

En général, les représentations sont construites pour un mot ou un fragment textuel comme une phrase ou pour un document entier. Notre approche consiste à construire une représentation pour une paire de mots non adjacents apparaissant dans une phrase : nous espérons ainsi construire une représentation de la relation qui lie les mots considérés. Cette représentation doit prendre en compte le contexte d'apparition de la paire de mots. Nous détaillerons dans le reste de cette section le modèle utilisé pour obtenir des représentations vectorielles de relations entre une paire de verbes. Ce modèle est adapté du travail de A. Chingacham (Chingacham & Paperno, 2018) sur les paires de noms.

## 3.1 Modèle Skip-gram original

Le modèle Skip-gram est un réseau de neurones à une couche cachée, entraîné à prédire le contexte dans une certaine fenêtre d'un mot donné. Considérons l'exemple ci-dessous, extrait du corpus anglais Ukwac (Ferraresi et al., 2013), avec une taille de fenêtre pour le contexte égale à 5.

**Exemple 1** Sensible guidelines will need to be established for holding case details at a regional level.

Dans ce modèle, la matrice de poids entre la couche d'entrée et la couche cachée évolue jusqu'à contenir des représentations vectorielles de chaque mot du vocabulaire. Le nombre de neurones dans la couche cachée donne la dimension des vecteurs mots finaux. Cet hyper-paramètre est généralement choisi entre 100 et 1000. La dernière couche du réseau utilise la fonction d'activation Softmax, pour calculer la probabilité qu'a un mot c d'apparaître dans le contexte du mot d'entrée w.

$$p(c|w) = \frac{\exp(v_c^T v_w)}{\sum_{c_i=1}^{V} \exp(v_{c_i}^T v_w)} \quad (1)$$
<figure><img src="image_62.png" /><figcaption>FIGURE 1 – Architecture du réseau utilisé pour générer des vecteurs paires</figcaption></figure>

Où $v_w$ et $v'_w$ sont respectivement les représentations vectorielles de $w$ en tant que mot cible et en tant que contexte.

Enfin, la rétro-propagation s'effectue classiquement en utilisant la fonction de coût de log-vraisemblance négative.

Néanmoins, on peut noter que le coût en calcul de l'équation 1 est très important, à cause de la somme au dénominateur, qui présente un terme pour chaque mot du vocabulaire. Étant donné que la taille du vocabulaire est généralement conséquente, une autre technique proposée par Mikolov et al. (2013b), appelée *negative sampling* est nécessaire pour entraîner un modèle avec des coûts de calculs plus raisonnables. Avec le *negative sampling*, le modèle ne doit plus calculer la probabilité $p(c|w)$, mais doit prédire si un mot peut apparaître dans le contexte du mot d'entrée. Pour entraîner le modèle, on lui présente donc des exemples "positifs" : des mots qui apparaissent bien dans le même contexte, et des exemples "négatifs" : des mots n'apparaissant pas dans le même contexte. On se retrouve avec un problème de régression logistique pour chaque mot du vocabulaire, ce qui est moins coûteux en terme de calcul.

## 3.2 Skip-gram pour les paires de mots

Notre but est de générer des représentations vectorielles de relations entre une paire de mots. Nous utilisons une adaptation du modèle Skip-gram classique, en l'appliquant à des paires de mots en entrée du réseau, à la place de mots seuls. Dans ce nouveau modèle, il faut redéfinir l'entrée du réseau, ainsi que la notion de contexte d'une paire de mots. Le modèle que nous utilisons a été pour la première fois implémenté par Chingacham & Paperno (2018) et appliqué aux paires de noms, tandis que nos travaux se concentrent uniquement sur les paires de verbes. En effet nous souhaitions utiliser ce modèle pour diverses tâches de transfert et estimer la pertinence des verbes pour ces tâches. Notre intérêt pour les verbes est dû au fait qu'une partie importante de l'information relationnelle entre deux syntagmes est portée par le verbe. Par exemple, dans la phrase "*Jean est tombé, Marie l'a poussé.*", la relation discursive (causale) entre les deux groupes verbaux est portée par la paire de verbe.

Dans notre modèle, l'entrée du réseau est un encodage *one-hot* d'une paire de mots. Nous avons choisi de ne considérer que le contexte apparaissant entre les deux mots de la paire dans un texte, afin de limiter la taille du vocabulaire du contexte. Néanmoins, de meilleurs résultats pourraient peut-être être obtenus en considérant également les mots apparaissant dans une fenêtre donnée autour de chaque verbe.
**Exemple 2** *Sensible guidelines will need to be established for holding case details at a regional level.*

Dans cet exemple, la paire (*will*, *established*) a pour contexte les mots en bleu. Il est important de noter que pour ce modèle, les mots adjacents ne forment pas une paire valide, car ils n'ont pas de contexte, comme la paire (*will*, *need*) dans notre exemple. À part ces redéfinitions, le modèle est exactement le même que le Skip-gram classique avec *negative sampling*.

Avec ce modèle, la fonction de coût est la suivante, où *k* est le nombre d'exemples négatifs, tirés suivant la distribution $P_n$ :

$$ \log \sigma(v_c^{'} \cdot v_{paire}) + \sum_{i=1}^{k} \mathbb{E}_{c_i \sim P_n} \left( \log \sigma(-v_{c_i}^{'} \cdot v_{paire}) \right) \quad (2) $$

## 3.3 Implémentation et construction des vecteurs paires

Le modèle complet décrit dans cet article se découpe en une série d'opérations, composé du traitement d'un important corpus de textes, de l'extraction des paires de verbes, de l'entraînement des représentations vectorielles de paires, puis de l'entraînement d'une matrice de mapping.

### 3.3.1 Données et pré-traitements

Nous avons utilisé le corpus de texte anglais Ukwac (Ferraresi et al., 2013), contenant 2 milliards de mots. Ce corpus se compose de contenu textuel de pages aspirées du web, et chaque mot est présenté avec sa catégorie grammaticale, ce qui facilite la recherche de verbes.

Avant d'extraire les paires de verbe, nous avons pré-traité le corpus pour enlever certaines informations inutiles pour notre tâche. À l'aide d'un script Python, nous avons transformé le corpus en un document présentant une phrase par ligne où chaque mot est suivi par son étiquette morpho-syntaxique.

**Exemple 3** *Portsmouth NP are VBP a DT reminder NN of IN how WRB football NN used VVS to TO be VB.*

Ensuite, pour chaque phrase, les verbes sont identifiés à l'aide de leur étiquette morpho-syntaxique, et les paires de verbes ainsi que les mots de contexte sont comptés. Par ailleurs, afin de réduire la taille du vocabulaire et ne conserver que les paires significatives, seules les paires apparaissant plus de 100 fois sur l'ensemble du corpus sont conservées. De cette manière, le compte final de paires de verbes valides atteint 150 000, et on compte 360 millions de triplets (*verbe1*, *verbe2*, *contexte*)

Enfin, les exemples d'entraînement positifs et négatifs sont générés pour le *negative sampling*. Nous avons choisi de générer 5 exemples négatifs pour chaque exemple positif.

### 3.3.2 Entraînement des vecteurs paires

Afin d'entraîner les représentations vectorielles de relations entre deux verbes, nous avons utilisé une adaptation du modèle Skip-gram, détaillée dans la section précédente. Après avoir testé différentes
dimensions de vecteur, comprises entre 50 et 1000, nous avons retenu une dimension de 400, afin d'avoir un bon compromis entre l'information capturée et les temps de calcul. Le modèle a été implémenté à l'aide de la librairie Pytorch. Il implémente une méthode de régularisation ainsi qu'une baisse graduelle du pas d'apprentissage, afin de limiter le sur-apprentissage et d'améliorer la convergence. Cet entraînement a permis de construire un vecteur pour toutes les paires de verbes apparaissant suffisamment souvent dans le corpus. Nous avons entraîné une matrice de mapping afin de construire un vecteur pour toutes les paires de verbes possibles, et ainsi améliorer la couverture des corpus d'évaluation.

### 3.3.3 Entraînement d'une matrice de mapping

La matrice de mapping est un réseau de neurones prenant en entrée la concaténation de deux vecteurs mots pré-entraînés, et donnant en sortie le vecteur relation entre les deux mots en entrée. L'objectif est de pouvoir obtenir un vecteur relation pour n'importe quelle paire de verbes pour lesquels nous disposons d'un vecteur mot pré-entraîné. Pour les entrées du neurones, nous avons utilisé des vecteurs mots pré-entraînés issus de Baroni et al. (2014).

La paire de vecteurs est passée dans un perceptron multi-couches, dont la couche de sortie est la représentation vectorielle de la relation entre les mots d'entrée. Nous avons déterminé empiriquement des valeurs pour les hyper-paramètres et l'architecture du réseau en faisant une évaluation du modèle sur un jeu de données de validation. Finalement nous avons retenu un réseau à une couche cachée, et la fonction d'activation tanh. Nous avons utilisé un pas d'apprentissage de 0.05 et une constante de L2-régularisation de 0.001. Avec cette matrice de mapping, nous pouvons construire un vecteur relation pour toute paire de vecteurs ayant un vecteur mot pré-entraîné.

# 4 Expériences

## 4.1 Données

Dans cette section, nous présenterons les corpus utilisés pour l'évaluation des représentations vectorielles de relations entre verbes. Nous présenterons également le corpus utilisé pour la tâche de prédiction de relations discursives.

Pour évaluer la qualité des vecteurs construits avec notre modèle, nous avons utilisé des corpus présentant des paires de mots et la relation correspondante. Nous avions besoin de corpus possédant suffisamment de paires verbe-verbe, donc nous avons utilisé ConceptNet (Speer & Havasi, 2012), un graphe sémantique construit à partir de sources telles que Wikipedia, regroupant des mots dans plus de 300 langues différentes. Dans ce graphe, chaque noeud représente un mot, et chaque arrête représente une relation lexicale. Nous avons extrait de ce corpus uniquement les relations entre deux verbes, ce qui a donné 11 types de relations différents. Nous n'avons pas considéré les paires de verbes ne présentant pas de relations. Nous avons également utilisé le corpus EACL (Nguyen et al., 2017), qui contient des paires de synonymes et d'antonymes, voir Table 1.

Nous avons également utilisé la Penn Discourse Treebank (PDTB) (Prasad et al., 2008), pour la tâche de prédiction de relations du discours. Il s'agit de textes découpés en unités de discours, appelées "arguments", liées par des relations. Notre objectif est d'extraire les verbes de chaque argument et de
<table><caption>TABLE 1 – Jeu de relations et exemples issus de la ressource ConceptNet et du corpus EACL, utilisés pour évaluer nos vecteurs relations</caption><thead><tr><td>Ressource</td><td>Type de la relation</td><td>Exemples</td></tr></thead><tbody><tr><td>ConceptNet5</td><td>RelatedTo</td><td>(eat, feed)</td></tr><tr><td>ConceptNet5</td><td>Synonym</td><td>(jump, leap)</td></tr><tr><td>ConceptNet5</td><td>MannerOf</td><td>(auction, sale)</td></tr><tr><td>ConceptNet5</td><td>FormOf</td><td>(slept, sleep)</td></tr><tr><td>ConceptNet5</td><td>Antonym</td><td>(run, walk)</td></tr><tr><td>ConceptNet5</td><td>SimilarTo</td><td>(compete, win)</td></tr><tr><td>ConceptNet5</td><td>HasContext</td><td>(leave, heading)</td></tr><tr><td>ConceptNet5</td><td>DistinctFrom</td><td>(accept, reject)</td></tr><tr><td>ConceptNet5</td><td>Entails</td><td>(run, move)</td></tr><tr><td>ConceptNet5</td><td>Causes</td><td>(exercise, sweat)</td></tr><tr><td>ConceptNet5</td><td>DerivedFrom</td><td>(paying, pay)</td></tr><tr><td>EACL</td><td>Synonym</td><td>(resurrect, revive)</td></tr><tr><td>EACL</td><td>Antonym</td><td>(love, hate)</td></tr></tbody></table>

prédire la relation entre les arguments à partir des différentes paires de verbes extraites. Le corpus présente 4 relations de niveau 1, et 16 relations de niveau 2. Ces relations peuvent être implicites en l'absence d'un connecteur discursif, et explicite si les arguments de la relation sont liés par un connecteur.

Le connecteur discursif (but, while, because...) étant porteur de beaucoup d'informations sur le type de relation, nous avons décidé de l'ajouter à notre modèle de vecteur relation. Pour représenter les connecteurs, nous avons assigné à chaque connecteur de la PDTB un index. De cette manière, nous avons pu représenter les connecteurs par des vecteurs one-hot de dimension 224, taille du vocabulaire des connecteurs. Par exemple, le connecteur if a pour index 85, sa représentation est donc un vecteur de 0, et un 1 à la 85ème position.

<table><caption>TABLE 2 – Jeu de relations pour les niveaux 1 et 2 dans la PDTB</caption><thead><tr><td>Classe (Niveau 1)</td><td>Type (Niveau 2)</td></tr></thead><tbody><tr><td>Comparison</td><td>Concession<br>Contrast<br>Pragmatic Concession<br>Pragmatic Contrast</td></tr><tr><td>Contingency</td><td>Cause<br>Condition<br>Pragmatic Cause<br>Pragmatic Condition</td></tr><tr><td>Expansion</td><td>Alternative<br>Conjunction<br>Exception<br>Instantiation<br>List<br>Restatement</td></tr><tr><td>Temporal</td><td>Asynchronous<br>Synchrony</td></tr></tbody></table>
## 4.2 Classification de relations

### 4.2.1 Modèle

Pour évaluer la qualité de notre modèle, nous avons donc utilisé un réseau de neurones réalisant une classification multi-classes prenant en entrée la représentation vectorielle d'une paire de verbes, et essayant de prédire la bonne relation. Les vecteurs en entrée on été construits grâce à la matrice de mapping détaillée en Section 3.3.3.

Nous utilisons un perceptron multi-couches avec une dernière couche Softmax pour réaliser la classification. Classiquement, nous utilisons la fonction de coût de log-vraisemblance à minimiser.

$$ - \sum_{y \in \text{train}} y \log y_{\text{prediction}} \qquad (3) $$

Pour le jeu de données PDTB, nous avons tokenisé les phrases avec la librairie Python NLTK, afin de pouvoir trouver et extraire les verbes. Il arrive que des arguments d'une relation contiennent plusieurs verbes. Dans ce cas, nous prenons le vecteur moyen de toutes les paires de verbes entre les arguments. Dans le cas où une relation ne peut pas être représentée par la matrice de mapping, en l'absence des vecteurs pré-entraînés nécessaires, alors nous testons si la paire lemmatisée peut avoir un vecteur par la matrice de mapping. Si ce n'est pas le cas, alors nous donnons à la relation un vecteur moyen, calculé en faisant la moyenne de tout les vecteurs construits par le modèle.

### 4.2.2 Hyper-paramètres

Pour entraîner le classifieur, nous avons utilisé la descente du gradient stochastique avec une taille de mini-batch de 8, ainsi qu'une régularisation avec norme L2 de constante 0.02, déterminée sur un jeu de données de validation. Par ailleurs, nous avons utilisé la répartition 60% de données à l'entraînement, 10% pour l'ensemble de validation et 30% pour l'ensemble de test. Le classifieur est entraîné sur 100 itérations, avec un pas d'apprentissage décroissant, fixé à 0.01 au départ. Plusieurs architectures de réseaux ont été testées pour la classification, et nous avons finalement gardé un réseau à une couche cachée, de même taille que la couche d'entrée, avec la fonction d'activation ReLU.

Nous avons également testé plusieurs dimensions pour les vecteurs relations, mais peu de différences ont été observées sur le jeu de données de développement. Nous avons finalement retenu une dimension 400, pour pouvoir se comparer au modèle utilisant uniquement la différence de deux vecteurs mots, car les vecteurs mots pré-entraînés dont nous disposions sont de dimension 400.

<table><tr><td>Dimension du vecteur</td><td>50</td><td>100</td><td>200</td><td>300</td><td>400</td><td>1000</td></tr><tr><td>Précision sur l'ensemble de validation</td><td>55.08</td><td>55.12</td><td>56.51</td><td>56.70</td><td>56.96</td><td>57.02</td></tr></table>

### 4.2.3 Lemmatisation des verbes

Une intuition au sujet des paires de verbes a été qu'il serait possible d'obtenir de meilleurs résultats en ne construisant que des vecteurs de paires de verbes lemmatisés, c'est à dire dans leur forme neutre. Ce choix a été motivé par le fait que les corpus utilisés présentent en majorité des paires de verbes
sous cette forme. Nous comparerons dans la section résultats les scores obtenus avec des verbes lemmatisés et non lemmatisés.

### 4.2.4 Exécution

Les unités de calcul nécessaires aux expériences présentées dans cet article, ainsi que l'espace de stockage pour les jeux de données, ont été fournis par Grid5000 (Balouek et al., 2013). L'implémentation est réalisée sur Pytorch, et le code est vectorisé le plus possible pour diminuer les temps d'exécution sur des GPUs.

## 5 Résultats

Dans cette section seront présentés les résultats de l'évaluation des représentations vectorielles de relations entre deux verbes sur les jeux de données ConceptNet et EACL. Nous donnerons également les résultats obtenus sur la tâche de prédiction des relations du discours sur la *Penn Discourse Treebank*.

### 5.1 Systèmes de référence

Pour évaluer la qualité de nos résultats, nous les comparerons, pour chaque jeu de données, au deux systèmes de référence suivants :

- La *random baseline*, score obtenu par un modèle prédisant au hasard.

- La *majority baseline*, score obtenu par un modèle prédisant toujours la classe majoritaire du jeu de données.

Les scores présentés sont les scores F1 obtenus sur les données de test. Nous comparerons trois modèles différents de représentation de relations :

- **SkipRel**: Le modèle entraîné par notre variante de Skip-gram pour les paires de verbes. Les vecteurs sont de dimension 400.

- **JustWord**: La différence des deux vecteurs mots de la paire de verbes. Ce modèle utilise des *word embeddings* pré-entraînés de Baroni et al. (2014), de dimension 400.

- **RelWord**: La concaténation des deux précédents modèles, résultant en un vecteur de dimension 800.

### 5.2 Évaluation sur ConceptNet et EACL

Les résultats détaillés de l'évaluation des vecteurs sur la ressource ConceptNet et le corpus EACL sont donnés dans le tableau 3. Nous avons observé que la couverture du jeu de données EACL était mauvaise (moins de 50% des paires de verbes avaient une représentation vectorielle), donc les expériences sur ce jeu de données ont été menées en utilisant la matrice de mapping entraînée pour améliorer la couverture. Par ailleurs, nous avons testé l'évaluation sur les données de ConceptNet avec et sans la matrice de mapping, afin d'observer le gain en performance apporté par les vecteurs construits par la matrice.
Comme expliqué dans la section 4.2.3, nous avons eu l'intuition que les résultats pourraient être améliorés sur la ressource ConceptNet et le corpus EACL en lemmatisant les paires de verbes. Pour cela nous avons lemmatisé les verbes extraits du corpus Ukwac à l'aide de la librairie Python NLTK. Les résultats de l'évaluation avec le modèle entraînés sur des paires de verbes lemmatisés sont également fournis ci-dessous.

<table><caption>TABLE 3 – Résultats de l'évaluation des vecteurs paires de verbes</caption><thead><tr><th rowspan="2">Ressource</th><th colspan="3">ConceptNet</th><th colspan="2">EACL</th></tr><tr><th>Sans mapping</th><th>Mapping</th><th>Lemmatisé</th><th>Mapping</th><th>Lemmatisé</th></tr></thead><tbody><tr><td>Modèle</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>JustWord</td><td>50.54</td><td>56.46</td><td>63.60</td><td><strong>87.32</strong></td><td><strong>86.85</strong></td></tr><tr><td>SkipRel</td><td>48.08</td><td>55.70</td><td>55.53</td><td>70.42</td><td>74.36</td></tr><tr><td>RelWord</td><td><strong>52.75</strong></td><td><strong>60.79</strong></td><td><strong>66.60</strong></td><td>86.88</td><td>85.97</td></tr><tr><td>RandomBaseline</td><td>9.09</td><td>9.09</td><td>9.09</td><td>50</td><td>50</td></tr><tr><td>MajorityBaseline</td><td>34.73</td><td>25.3</td><td>25.3</td><td>50.86</td><td>50.86</td></tr></tbody></table>

Premièrement, on voit sur ConceptNet que les modèles JustWord et SkipRel obtiennent des scores proches. Néanmoins on observe que le modèle RelWord obtient les meilleurs résultats. Cela signifie que les vecteurs relations que nous avons construits contiennent de l'information différente de l'information contenue par les vecteurs mots individuels. Deuxièmement, les résultats sont améliorés par l'utilisation de la matrice de mapping, car la couverture des données est meilleure. L'utilisation de la lemmatisation sur ConceptNet améliore de façon importante les résultats du modèle JustWord, mais ne semble pas avoir d'impact sur les résultats du modèle SkipRel. Bien que le modèle JustWord obtienne systématiquement de meilleurs scores que notre modèle SkipRel, la concaténation des deux modèles donne les meilleures performances sur ConceptNet, ce qui rend le modèle SkipRel intéressant. Enfin, notre modèle SkipRel donne des résultats très inférieurs à ceux du modèle JustWord sur la tâche de classification d'antonymes et de synonymes, bien que sur cette tâche la lemmatisation des verbes permet une amélioration du score.

En observant l'évolution de la fonction de coût lors de l'entraînement du classifieur sur les données EACL, on se rend compte que le modèle SkipRel fait du sur-apprentissage, ce qui impacte négativement les résultats.

## 5.3 Prédiction des relations du discours sur la Penn Discourse Treebank

Les scores atteints sur la tâche de prédiction de relations du discours sur les données de la *Penn Discourse Treebank* sont donnés dans le tableau 4.

On distingue les résultats obtenus par les modèles JustWord, SkipRel et RelWord. Dans le cas de relations explicites, c'est à dire les relations qui présentent un connecteur discursif, une représentation *one-hot* de dimension 224 de ce connecteur est concatenée au vecteur SkipRel.

L'évaluation est faite séparément sur les relations implicites et explicites, et nous avons par ailleurs réalisé séparément l'évaluation sur les relations de niveau 2, qui sont plus précises que les relations de niveau 1.

Nous comparons également nos résultats avec les résultats obtenus lors de la *Conll-Shared Task 2016* (Xue *et al.*, 2016).
<table><caption>TABLE 4 – Résultats de la tâche de prédiction de relations du discours</caption><thead><tr><th rowspan="2">Type de relation</th><th colspan="2">Implicite</th><th colspan="2">Explicite</th></tr><tr><th>Level 1</th><th>Level 2</th><th>Level 1</th><th>Level 2</th></tr></thead><tbody><tr><td>Modèle</td><td></td><td></td><td></td><td></td></tr><tr><td>JustWord</td><td>59.71</td><td>36.56</td><td>62.97</td><td>49.81</td></tr><tr><td>SkipRel + connecteur (si rel. explicite)</td><td>59.01</td><td>38.16</td><td>74.12</td><td>54.01</td></tr><tr><td>RelWord</td><td><strong>61.36</strong></td><td><strong>40.20</strong></td><td><strong>79.59</strong></td><td><strong>61.32</strong></td></tr><tr><td>RandomBaseline</td><td>25.0</td><td>6.67</td><td>25.0</td><td>6.67</td></tr><tr><td>MajorityBaseline</td><td>34.73</td><td>25.3</td><td>35.1</td><td>27.3</td></tr><tr><td>ConLL Shared Task 2016</td><td>-</td><td>40.80<sup>1</sup></td><td>-</td><td>78.56</td></tr></tbody></table>

On peut sur ce tableau observer l'apport important d'information venant du connecteur, puisque le modèle SkipRel obtient de bien meilleurs résultats sur la prédiction de relations explicites. À nouveau les vecteurs relations que nous avons entraînés semblent être complémentaires avec les *word embeddings* individuels de la paire, car RelWord obtient les meilleurs résultats sur cette tâche, quelque soit le type de relation. Au sujet de la répartition des types de relation sur l'ensemble de test, les relations explicites sont bien équilibrées, les relations de type *Comparison* étant les mieux représentées avec 75% des relations correctement classées dans cette catégorie. Pour les relations implicites, les relations *Temporal* sont sous-représentées, avec moins de 50 exemples, contre plus de 500 relations de type *Expansion*. Malgré tout, 20% des relations *Temporal* sont correctement classées, bien que la relation de type *Comparison* est à nouveau la mieux représentée avec 70% des relations correctement prédites. Nous sommes cependant encore loin des performances état de l'art sur la tâche (voir dernière ligne de 4), ce qui s'explique par le fait que nous ne prenons en compte qu'une partie de l'information disponible dans les arguments. Les scores sont cependant significativement au-dessus de la chance, démontrant que les représentation encodent des informations pertinentes.

Afin de visualiser la qualité de la concaténation des vecteurs relations et du vecteur de connecteur discursif, nous avons représenté ces vecteurs, de dimension 624, en 3D à l'aide d'une analyse en composantes principales (ACP), voir Figure 2. Les couleurs sont les labels des relations explicites de niveau 1. On observe que des groupes se forment, alors qu'une ACP uniquement sur les vecteurs connecteurs ou sur les vecteurs relations ne permet pas de distinguer de clusters. Les relations de type *Comparison* et *Expansion* se distinguent clairement, et les relations de type *Temporal* et *Contingency* se mélangent. Cela fait sens sémantiquement, car le type *Contingency* correspond aux relations causales, or on retrouve souvent une dimension temporelle dans les relations causales.

D'autre part, nous avons réalisé une réduction de dimension avec l'algorithme t-SNE sur les mêmes vecteurs, cette fois pour les relations de niveau 2 (fig. 3). Les couleurs représentent les labels des relations. À nouveau, des clusters se dessinent entre les types de relations les plus représentés, ce qui tend à démontrer que les représentations relationnelles construites sur les paires de verbes encodent une information pertinente pour la dimension rhétorique.

<footnote n="1">1. Score obtenu sur un jeu plus large de types de relations</footnote>
<figure><img src="image_63.png" /><figcaption>FIGURE 2 – ACP sur les vecteurs SkipRel + Connecteur pour les relations explicites de niveau 1</figcaption></figure>

<figure><img src="image_64.png" /><figcaption>FIGURE 3 – Résultat de l’algorithme t-SNE sur les vecteurs SkipRel + Connecteur pour les relations explicites de niveau 2</figcaption></figure>

# 6 Conclusion

Dans cet article, nous avons proposé une approche visant à construire une représentation distribuée, non pour des mots, mais pour des paires de mots dans le but d'encoder leur relation. Nous avons évalué ces représentations sur 2 tâches venant de 3 corpus : la prédiction de relations lexicales (antonymies, synonymies) et la classification de relations discursives (temporelles, causales...). Le modèle utilisé pour la construction de ces vecteurs relations est une variante de Skip-gram, et nos recherches se concentrent sur les paires de verbes. Les résultats montrent que ces vecteurs relations capturent une information différente des vecteurs mots classiques, ce qui rend la composition des deux représentations plus performante sur diverses tâches de transfert. L'évaluation sur la tâche de prédiction des relations du discours a révélé des résultats intéressants sur la façon dont les vecteurs de verbes et les connecteurs logiques se complètent. La visualisation à l'aide d'une analyse en composantes principales en 3 dimensions appuie cette observation. Néanmoins, notre modèle ne permet pas d'approcher les résultats obtenus par des modèles plus complexes, car l'information contenue dans les verbes d'une phrase n'est souvent pas suffisante pour en déduire l'articulation. Des modèles plus avancés capables de générer des représentations vectorielles de phrases entières pourraient compléter notre modèle en permettant la prise en compte de tous les mots de la phrase. La concaténation de ces deux modèles pourrait atteindre de bonnes performances sur la tâche de prédiction de relations du discours.
# Remerciements

Je remercie Denis Paperno et Chloé Braud qui ont encadré ce travail, pour leur disponibilité et les précieux conseils qu'ils m'ont fournis.

Nous remercions les relecteurs pour leurs commentaires pertinents.

# Références

BALOUEK D., CARPEN AMARIE A., CHARRIER G., DESPREZ F., JEANNOT E., JEANVOINE E., LÈBRE A., MARGERY D., NICLAUSSE N., NUSSBAUM L., RICHARD O., PÉREZ C., QUESNEL F., ROHR C. & SARZYNIEC L. (2013). Adding virtualization capabilities to the Grid'5000 testbed. In I. I. IVANOV, M. VAN SINDEREN, F. LEYMANN & T. SHAN, Éds., *Cloud Computing and Services Science*, volume 367 de *Communications in Computer and Information Science*, p. 3–20. Springer International Publishing. DOI: 10.1007/978-3-319-04519-1_1.

BARONI M., DINU G. & KRUSZEWSKI G. (2014). Don't count, predict! a systematic comparison of context-counting vs. context-predicting semantic vectors. volume 1, p. 238–247. DOI: 10.3115/v1/P14-1023.

BARONI M. & ZAMPARELLI R. (2010). Nouns are vectors, adjectives are matrices: Representing adjective-noun constructions in semantic space. p. 1183–1193.

BENGIO Y., DUCHARME R., VINCENT P. & JAUVIN C. (2006). *Neural Probabilistic Language Models*, volume 3, p. 137–186. DOI: 10.1007/3-540-33486-6_6.

BRAUD C. & DENIS P. (2016). Learning connective-based word representations for implicit discourse relation identification.

BULLINARIA J. & LEVY J. (2012). Extracting semantic representations from word co-occurrence statistics: Stop-lists, stemming, and svd. *Behavior research methods*, **44**, 890–907. DOI: 10.3758/s13428-011-0183-8.

CHINGACHAM A. & PAPERNO D. (2018). Generalizing representations of lexical semantic relations.

CONNEAU A., KIELA D., SCHWENK H., BARRAULT L. & BORDES A. (2017). Supervised learning of universal sentence representations from natural language inference data.

FERRARESI A., ZANCHETTA E., BARONI M. & BERNARDINI S. (2013). Introducing and evaluating ukwac, a very large web-derived corpus of english.

HARRIS Z. S. (1954). Distributional structure. *Word*, **10**(23), 146–162.

HILL F., CHO K. & KORHONEN A. (2016). Learning distributed representations of sentences from unlabelled data. In *Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies*, p. 1367–1377, San Diego, California: Association for Computational Linguistics. DOI: 10.18653/v1/N16-1162.

JAMEEL S., BOURAOUI Z. & SCHOCKAERT S. (2018). Unsupervised learning of distributional relation vectors.

JOSHI M., CHOI E. & LEVY O. (2018). pair2vec: Compositional word-pair embeddings for cross-sentence inference.
LENCI A. (2018). Distributional models of word meaning. *Annual Review of Linguistics*, **4**. DOI: 10.1146/annurev-linguistics-030514-125254.

MIKOLOV T., CHEN K., CORRADO G. & DEAN J. (2013a). Efficient estimation of word representations in vector space.

MIKOLOV T., SUTSKEVER I., CHEN K., CORRADO G. & DEAN J. (2013b). Distributed representations of words and phrases and their compositionality. *Advances in Neural Information Processing Systems*, **26**.

NGUYEN K. A., SCHULTE IM WALDE S. & VU T. (2017). Distinguishing antonyms and synonyms in a pattern-based neural network. DOI: 10.18653/v1/E17-1008.

NIE A., BENNETT E. & GOODMAN N. (2019). Dissent: Learning sentence representations from explicit discourse relations.

PAPERNO D., PHAM N. & BARONI M. (2014). A practical and linguistically-motivated approach to compositional distributional semantics. volume 1, p. 90–99. DOI: 10.3115/v1/P14-1009.

PENNINGTON J., SOCHER R. & MANNING C. (2014). Glove: Global vectors for word representation. In *Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP)*, p. 1532–1543, Doha, Qatar: Association for Computational Linguistics. DOI: 10.3115/v1/D14-1162.

PRASAD R., DINESH N., LEE A., MILTSAKAKI E., ROBALDO L., JOSHI A. & WEBBER B. (2008). The penn discourse treebank 2.0.

RITTER S., LONG C., PAPERNO D., BARONI M., BOTVINICK M. & GOLDBERG A. (2015). Leveraging preposition ambiguity to assess compositional distributional models of semantics. p. 199–204. DOI: 10.18653/v1/S15-1023.

SILEO D., VAN DE CRUYS T., PRADEL C. & MULLER P. (2019). Mining discourse markers for unsupervised sentence representation learning.

SPEER R. & HAVASI C. (2012). Representing general relational knowledge in conceptnet 5. *Proc. of LREC*, p. 3679–3686.

TURNEY P. D. & PANTEL P. (2010). From frequency to meaning: Vector space models of semantics. *Journal of Artificial Intelligence Research*, p. 141–188.

WESTON J., Bordes A., YAKHNENKO O. & Usunier N. (2013). Connecting language and knowledge bases with embedding models for relation extraction. In *Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing*, p. 1366–1371, Seattle, Washington, USA: Association for Computational Linguistics.

XUE N., NG H., PRADHAN S., RUTHERFORD A., WEBBER B., WANG C. & WANG H. (2016). Conll 2016 shared task on multilingual shallow discourse parsing. p. 1–19. DOI: 10.18653/v1/K16-2001.
# TTS voice corpus reduction for audio-book generation

Meysam Shamsi¹

(1) IRISA, CNRS, 22300 Lannion, France

meysam.shamsi@irisa.fr

## ABSTRACT

Nowadays, with emerging new voice corpora, voice corpus reduction in expressive TTS becomes more important. In this study a spitting greedy approach is investigated to remove utterances. In the first step by comparing five objective measures, the TTS global cost has been found as the best available metric for approximation of perceptual quality. The greedy algorithm employs this measure to evaluate the candidates in each step and the synthetic quality resulted by its solution. It turned out that reducing voice corpus size until a certain length (1 hour in our experiment) could not degrade the synthetic quality. By modifying the original greedy algorithm, its computation time is reduced to a reasonable duration. Two perceptual tests have been run to compare this greedy method and the random strategy for voice corpus reduction. They revealed that there is no superiority of using the proposed greedy approach for corpus reduction.

## RÉSUMÉ

### Réduction du corpus vocal pour la génération de livres audio par TTS

Aujourd'hui, avec l'émergence de nouveaux corpus vocaux, la réduction de voix pour la synthèse de parole TTS expressive devient plus importante. Dans cette étude, une approche de type glouton cracheur pour supprimer des phrases est étudiée. Dans la première étape, en comparant cinq mesures objectives, le coût global du TTS s'est révélé être la meilleure mesure disponible pour l'approximation de la qualité perceptuelle. L'algorithme glouton utilise cette mesure pour évaluer les candidats à chaque étape et la qualité synthétique résultant de la solution en construction. Il s'est avéré que réduire la taille du corpus vocal jusqu'à une certaine durée (1 heure dans notre expérience) ne dégradait pas la qualité synthétique. En modifiant l'algorithme glouton d'origine, il produit une solution en temps raisonnable. Deux tests de perception ont été effectués pour comparer cette méthode gloutonne et la stratégie aléatoire de réduction du corpus vocal. Ils ont révélé qu'il n'y a pas de supériorité dans l'utilisation du glouton proposé pour la réduction du corpus.

**KEYWORDS:** Text-to-speech, voice corpus, greedy algorithm, perceptual test.

**MOTS-CLÉS:** Synthèse vocale, corpus vocal, algorithme glouton, test de perception.

# 1 Introduction

In the Text-to-Speech (TTS) framework, the main reasons to design a small speech database via a corpus reduction approach are generally the database scalability, the recording or the labeling cost reduction, and the elimination of destructive data (Baljekar & Black, 2016).

Several studies could be found in the literature dealing with voice corpus optimization. The main

<figure><img src="image_65.png" /></figure>
purposes of these studies were the pruning of voice corpus in order to respect a parsimony constraint
or to extract a more neutral voice, assuming the elimination of expressive voice parts would improve
the naturalness of synthetic signals. The idea used by (Krul et al., 2007) was to remove the least
selected acoustic units to synthesize signals, using a unit-selection TTS system, for a domain specific
application in order to decrease the voice corpus size. This approach was compared with a greedy
strategy based on Kullback-Leibler divergence (KLD). The evaluations indicated better achievements
for the adaptive domain pruning method than for the KLD based one.

Some studies have been done in order to use voice data stemming from audio-books to provide
input for TTS systems. The main goal in this case is to improve naturalness of a neutral voice.
An outlier-removal approach has been introduced by (Braunschweiler & Buchholz, 2011; Cooper
et al., 2016). The outlier, supposed to involve less natural-sounding speech, has been found out as
hypo-articulated utterances and low mean f0 utterances in (Cooper et al., 2016). In (Braunschweiler &
Buchholz, 2011), it has been noticed that variety in a speech corpus degrades TTS quality in general
task. They discarded sentences based on acoustic features (extreme f0 patterns, too loud or barely
audible sentences) and linguistic features (non-neutral style sentences such as quotation, interjections,
utterances which start with lowercase, etc). Although TTS systems for a general task need neutral
voice corpus (Braunschweiler & Buchholz, 2011; Cooper et al., 2016), the audio-book generation
needs an expressive speech synthesis. Found data like available audio-books in the public domain
can contain some destructive parts if directly used to build a voice for TTS systems. The strategy
consisting on selecting a cleaner subset of speech data may result higher synthetic quality and helps
TTS unit selection engine to speed up. In (Baljekar & Black, 2016), two types of errors, misalignment
and annotation errors, which degrade TTS quality have been identified to be removed.

However the objectives of previous works were mainly the improvement of the naturalness of synthetic
signals, expressiveness plays also a crucial role in audio-book generation. The main aim of this study
is audio-book generation using a recorded voice of book reading. Although synthetic speech has less
quality than natural one, the audio-book generation could be less costly using a TTS system. Thus, the
voice corpus design problem considered here is defined as the script selection for recording in order to
use the resulting signals as voice to synthesize the rest of the book. This problem has been investigated
in previous studies (Shamsi et al., 2019, 2020) by taking into account the linguistic information. This
paper introduces a posterior strategy as a voice corpus reduction : the study is conducted directly from
a fully recorded audiobook, instead of its textual content. The voice is a subset of this audio-book and
its achievements is assessed by the quality of the synthetic vocalisation of a complementary part of the
book. This approach permits to save recording phases and to test several script selections. Moreover,
voice corpus reduction methods can profit from acoustic and linguistic information. Analyses of
selected voice sub-corpus achievement and content could be helpful for script design based on only
linguistic information before recording process in future works.

The original recorded voice is composed of high quality expressive signals which is spoken by a
professional speaker. As to offer an adequate expressiveness (from the perspective of later recording
phase), the corpus reduction is done at utterance level. Since the final product will be an audio-book
mixing natural speech utterances (which compose the voice) and synthesized speech signals, and a
bigger voice size generally provides a better synthesized speech quality, the goal of this study is to
find the best trade-off between the signal quality of the audio-book and the voice size.

This paper is organized as follows. First, section 2 describes the proposed greedy algorithm and
its heuristics to achieve voice corpus reduction. This algorithm needs to evaluate synthetic signals
and utterance candidates to remove without requiring human listeners and section 3 investigates an
objective measure for ranking candidates. At last, the evaluation results of the proposed algorithm, in comparison with a random method as baseline, are detailed in section 4.

## 2 Framework

In order to extract a reduced voice from the original voice corpus well-adapted to synthetically vocalize the content of the unselected sentences, two main requirements are needed : a practical heuristic for selecting a subset of the full corpus and an automatic evaluation method to assess the quality of synthetic signals by using the voice subcorpus. By considering the previous works (François & Boeffard, 2002; Espinosa et al., 2010; Barbot et al., 2015), it has been shown that the greedy algorithm selects portions of a corpus in reasonable time, close to the optimal ones.

The greedy algorithm (with spitting or agglomerative policy) is an iterative strategy and needs a score function to rank candidates. In each step of spitting (resp. agglomerative) greedy process, candidates with minimum (resp. maximum) *utility* are selected to be excluded from (resp. added to) the voice corpus under reduction (resp. construction). The *utility* score of each utterance represents the increasing gain of the richness in the voice corpus when this utterance is kept. This metric will be presented in section 3.

The objective is to extract *voice corpus* from a fully recorded audio-book to be used by TTS. This voice corpus selection should provide the highest synthetic quality for the rest of the book which is called *synthetic part*. The process, described in algorithm 1, is based on a spitting greedy approach and the initial voice corpus to reduce is the whole audio-book. A similar process has been implemented in (Espinosa et al., 2010) : the authors proposed to agglomeratively select utterances which causes the least synthetic quality degradation for a target set of utterances. In the case of our problem, the target set is the rest of the book and is modified by the reduction process.

<table><caption>**Algorithm 1:** Spitting greedy for audio-book generation</caption><tr><td>1</td><td>voice corpus = candidate set = all utterances;</td></tr><tr><td>2</td><td>synthetic part = ∅;</td></tr><tr><td>3</td><td>while the candidate set has at least one utterance do</td></tr><tr><td>4</td><td>for All U<sub>i</sub> utterance in the candidate set do</td></tr><tr><td>5</td><td>Remove U<sub>i</sub> from the voice corpus;</td></tr><tr><td>6</td><td>Synthesis the synthetic part by using the voice corpus;</td></tr><tr><td>7</td><td>if synthesizing of the synthetic part failed then</td></tr><tr><td>8</td><td>Lock U<sub>i</sub> and remove from the candidate set;</td></tr><tr><td>9</td><td>else</td></tr><tr><td>10</td><td>Compute the utility of the U<sub>i</sub> based on the quality degradation of synthetic part;</td></tr><tr><td>11</td><td>end</td></tr><tr><td>12</td><td>Add U<sub>i</sub> to the voice corpus;</td></tr><tr><td>13</td><td>end</td></tr><tr><td>14</td><td>Find U<sub>x</sub> with the minimum utility from the candidate set;</td></tr><tr><td>15</td><td>Remove U<sub>x</sub> from the voice corpus and the candidate set and add to synthetic part;</td></tr><tr><td>16</td><td>end</td></tr></table>

Some utterances in the audio-book contain unique units and a concatenative TTS system cannot find
these units in other utterances. These utterances are locked and should not be removed from voice
corpus. At each step, the remaining unlocked utterances in voice corpus compose the *candidate set*
for the next step. By removing utterances from voice corpus, a voice subset with a reduced size will
be achieved. The spitting greedy process is continued until the *candidate set* is empty.

For each reduction rate, the rest of the book should be synthesized and evaluated in terms of quality degradation. Indeed a small change inside voice corpus could change the synthetic quality of the synthetic part. But since synthesizing the whole synthetic part each time is computationally expensive, the synthetic signal of selected candidates in each step will be used as approximation of the overall quality degradation. The idea behind this proposition is that the small change of voice corpus by removing an utterance could be ignored and only the quality degradation of final audio-book because of replacing recorded voice of the utterance by its synthetic signal would be taken into account.

In the ideal scenario, in order to investigate the impact of TTS voice corpus reduction on synthetic quality, all combinations of sub-sets should be evaluated perceptually for a given reduction rate. But this is not possible within a reasonable time. In (Espinosa et al., 2010), the measure for ranking utterances and the evaluation of quality are the same (TTS costs). In this way, the quality evaluation process does not need additional computation (algorithm 1 by using the same score in line 10 and 14 follows this idea). This measure will be investigated in section 3. The selection algorithm and the computational problem of the proposed algorithm will be presented in section 4.

The optimization process starts with a full audio-book as a initial corpus. In this study, the initial
voice corpus contains 3339 utterances of a French expressive audio-book spoken by a male speaker.
The overall length of the speech corpus is 10h44. More information on the annotation process can be
found in (Boeffard et al., 2012). The IRISA TTS system (Alain et al., 2017), which is unit selection
based, uses voice subcorpus for synthesising.

3 Objective measure for selection

It is impossible to have all synthetic signals evaluated perceptually by listeners. Thus an automatic
measure is necessary for quality evaluation of synthetic utterances. This objective measure should be
a good approximation of perceptual evaluation. The correlation coefficient or the ranking correlation
coefficient could indicate the reliability of an objective measure.

The unit selection TTS costs is used in previous works (Chu & Peng, 2001; Toda et al., 2006; Krul et al., 2007; Espinosa et al., 2010) as the synthetic quality indicator. In this study, the usage of TTS global cost, which is a linear combination of concatenation and target cost, in unit selection TTS is evaluated as the objective measure of synthetic quality. Moreover this objective measure does not need any supplementary computation in the proposed greedy (the result of the line 6 in algorithm 1 can be used directly for line 10).

Beside TTS costs, we propose other objective measures for quality evaluation of synthetic signals.
Some measures such as PESQ (Rix et al., 2001) and Dynamic Time Warping (DTW) between two
signals need the reference signal. Basically they evaluate similarity between a test signal and its
reference. Three DTW based measures are proposed; a DTW between Mel-Frequency Cepstral
Coefficients (MFCC) features of the test signal and its natural pair, a DTW between Mel-Generalized
Cepstral Coefficients (MGC) features of the test signal and its natural pair, and a DTW between MGC
features of test signal which is synthesized signal using voice subcorpus and a reference signal which
is synthesized signal using the whole of voice corpus. The third DTW calculates the degradation quality of an synthetic test signal from the highest possible synthetic quality using the TTS.

## 3.1 Experimental setup

To investigate the correlation of these objective quality measures with perceptual quality, a listening test (DMOS) is designed. Six different sub-voice corpora of different sizes (75%, 50%, 25%, 10%, 5%, and 1% out of the initial audio-book) are selected randomly. In this experiment, the rest of the book will be synthesized and used for perceptual evaluation. The listeners are asked to evaluate 60 synthetic samples from each synthetic part corresponding to corpus size. By providing the natural voice of each synthetic signal, the quality degradation of synthetic signal are asked on a scale from 1 to 5 (5 means without quality degradation and 1 means the highest degradation).

## 3.2 Result

The perceptual test resulted in 850 evaluation scores by 17 listeners. A perceptual score is assigned to each sample by getting the average of its scores. Two ranking correlation coefficients (Spearman (Spearman, 1904) and Kendall tau (Kendall, 1948)) and Pearson correlation coefficient (Freedman et al., 2007) are computed between average perceptual score and objective scores of samples. The correlation coefficients between listener scores and 5 objective measures for all voice corpus sizes are compared in table 1.

<table><caption>TABLE 1: Correlation coefficients between objective measures and perceptual evaluation and their p-value.</caption><thead><tr><th>Objective measures</th><th>PESQ</th><th>DTW-MGC<br>(Natural ref)</th><th>DTW-MFCC<br>(Natural ref)</th><th>DTW-MGC<br>(Synthetic ref)</th><th>TTS<br>global cost</th></tr></thead><tbody><tr><td>Pearson C.C.</td><td>0.07(p&gt;0.2)</td><td>-0.41(p&lt;0.001)</td><td>-0.38(p&lt;0.001)</td><td>-0.40(p&lt;0.001)</td><td><strong>-0.66(p&lt;0.001)</strong></td></tr><tr><td>Spearman R.C.C.</td><td>0.08(p&gt;0.1)</td><td>-0.39(p&lt;0.001)</td><td>-0.39(p&lt;0.001)</td><td>-0.40(p&lt;0.001)</td><td><strong>-0.65(p&lt;0.001)</strong></td></tr><tr><td>Kendall tau R.C.C.</td><td>0.05(p&gt;0.1)</td><td>-0.28(p&lt;0.001)</td><td>-0.28(p&lt;0.001)</td><td>-0.28(p&lt;0.001)</td><td><strong>-0.48(p&lt;0.001)</strong></td></tr></tbody></table>

According to table 1, the TTS global cost has a stronger correlation with perceptual scores than PESQ or DTW on different acoustic features (MFCC, MGC).

While the reported correlation coefficients are calculated on synthetic signals with 6 voice corpus sizes, the mean of perceptual and objective scores on each voice corpus size could reveal more information. The impact of voice corpus length on synthetic quality (with perceptual and objective measures) is investigated. Figure 1 compares the perceptual and objective scores for synthetic utterances with different sub-corpus sizes. The horizontal axis indicates the size of voice subcorpus out of initial voice corpus which is selected randomly.

The increasing trend of MOS score and decreasing trend of TTS global cost for larger voice subcorpus confirm that the quality of synthetic signals will be improved with larger voice corpus. But the perceptual quality of synthetic signals with 25%, 50%, and 75% of the initial corpus (more than 1 hour) are not significantly different. It means that using more data for TTS voice corpus after a threshold would not improve significantly the speech quality.
<figure><img src="image_66.png" /><figcaption>FIGURE 1: The TTS global cost and perceptual score for different voice corpus sizes.</figcaption></figure>

In the remainder of this study, the TTS global cost will be used as an approximation of perceptual quality with the spitting greedy approach, which is evaluated in the next section.

# 4 Optimization strategy

In this section, a modified greedy process based on algorithm 1 will be compared with a random selection for voice corpus reduction in terms of synthetic quality.

## 4.1 Modified Greedy algorithm

The computational time of the algorithm 1 makes its use unfeasible for large voice corpora. Calling TTS for synthesizing *the synthetic part* and evaluating its quality are expensive. Consequently, we propose to do two modifications on the original algorithm in order to find a solution in a reasonable time. The first modification is removing bunch of utterances in each step instead of one utterance. And the second one is evaluating the utility of *the candidate set* (algorithm 1, line 10) based on the quality of the synthetic signal of a single utterance instead of the quality degradation of *the synthetic part*. In the following these proposition will be justified.

By analyzing the ranking list of utterances in consecutive steps of the algorithm, it has been observed that the ranking list of candidate utterances does not change a lot from one iteration to the next. Although a simple experiment has showed that this assumption is not completely true, considering the utility of utterances (for being in voice corpus) as a stable rank list helps to get rid of all computational problems. The normalized root-mean-square error (NRMSE) of the TTS global cost for corpus reduction from initial corpus to 70% of initial corpus was 0.012. It shows that, in a big corpus, following the initial ranking list makes the resulting sub-corpus slightly worse than following the original spitting greedy. It leads to a compromise between updating ranking list after each change, which is computationally expensive, and using initial ranking list, which gives a less efficient solution.
We propose to remove a bunch of utterances (100 utterances) based on the ranking list at each step of the spitting greedy. The ranking list is then updated after removing the bunch of utterances. This modification reduces the computational time.

In the second proposition, the computational time of the candidates list evaluation will be reduced. Indeed a change inside the corpus could have an effect on the whole of the synthetic part. It means that the synthetic part, which $U_i$ has been added to, should be evaluated for $U_i$'s utility in the candidate list. When the evaluation of synthetic part for each $U_i$ candidate is computationally expensive, we propose to consider the TTS global cost of synthesized $U_i$ as an inverse metric for utility. It helps to save synthesizing time of synthetic part for evaluating candidates. This idea changes the algorithm 1 by modifying the synthetic part to $U_i$ (line 10).

By applying these two modifications on the original greedy algorithm, the computational time will be reduced drastically. The number of utterances in each removal step has a linear relation with computational time. Based on our physical facilities, by removing a bunch of 100 utterances, the experiment will be finished in 2 days, which seems reasonable, and it gives a reduction steps of 3% (or 20 minutes) for voice corpus reduction. Although choosing smaller number of utterances in removal bunch improve the result, it costs computational time.

Comparing the original spitting greedy and modified spitting greedy on a small corpus (334 utterances) shows that the sub-corpus resulting from the proposed greedy synthesizes with higher TTS global cost in a shorter time. It is expected since the modified algorithm is not as efficient as the original one even if it helps to find a solution in a reasonable time.

## 4.2 Experimental setup

In order to compare perceptually the corpus reduction methods a *test section* (10% of the initial voice corpus) is extracted from the book. Although the main problem in our case is to synthesize the rest of the book, a synthetic part as *test section* would help to compare different methodologies for corpus design. It is assumed that the voice corpus, which is supposed to synthesize the rest of the book, has almost same performance on the *test section*. We assume that since the test part comes from the same book, the synthetic quality of this part can be generalized to the rest of the script. The *test section* is randomly selected as a continuous part with 334 utterances. The remaining part of the audio-book is named the *full corpus*. The *test section* has been synthesized by TTS using 100%, 70%, 40%, 15%, 7%, 3% of the *full corpus*. The voice corpus reduction is done based on the spitting greedy and a random strategy. The initial corpus is the same audio-book as what has been described in previous section (see the end of section 2).

In the following, the evaluation of proposed corpus reduction methods will be detailed. Two perceptual tests are designed to evaluate the quality of signals which are synthesized using resulting voice subcorpora. Based on the previous perceptual test results, the objective measure for ranking utterances in the spitting greedy is the TTS global cost. The first perceptual test is designed to investigate the impact of voice corpus reduction by modified greedy on synthesizing quality. The purpose of the second perceptual test is to compare the performance of proposed greedy and random strategy.
## 4.3 Synthetic quality degradation by greedy voice reduction

The greedy and random methods provide voice subcorpora with different length to synthesize test section. Since the IRISA TTS is unit selection-based, some of the utterances would failed to be synthesized specially in small voice corpus size. After removing these uncommon samples, 70 utterances has been selected randomly. In order to have samples with an acceptable duration, some utterances have been concatenated or cut. More precisely, if the length of selected synthetic signal is less than 4 seconds, the next utterance in script order is concatenated to it. The first 6 seconds of synthetic signals have been cut and used as listening samples. Samples from 6 voice corpus sizes and two corpus reduction methods are used to design a MUSHRA test (Recommendation, 2003). For each step of the perceptual test, the overall quality of 11 synthetic signals, which have been synthesized with different sub-voice corpora, have been evaluated on a scale from 1 to 10 (with one by one increment). Synthetic signals and corresponding natural voice, which have the same script, are available to listeners. The listeners are asked to do 10 steps of MUSHRA test after an introduction step. The estimated time for doing this test is 25 minutes.

This perceptual test has been done by 14 listeners which provides 1441 evaluation scores for synthetic signals. To investigate the impact of corpus size on synthetic signals, the average score for each size/method has been calculated. The figure 2 (left) shows that the average scores for all voice corpus are in a almost same level. It indicates, not only the quality of synthetic signals based on random and greedy strategy does not have significant difference, but also reducing the voice corpus size can not impact on resulted quality at least until 15% of corpus reduction rate. The listeners evaluated 20% of the signals with exact same values.

<figure><img src="image_67.png" /></figure>

<figure><img src="image_68.png" /><figcaption>FIGURE 2: The average MUSHRA scores for different voice corpus and size (left). The preference of listeners to assign higher score for signals in compare to others (right).</figcaption></figure>

According to listeners feedback, comparing 11 samples is not an easy task and they had been exhausted. This problem encourages us to estimate the preference of listeners as if they were asked to compare two signals. So the resulting scores from MUSHRA test are used to simulate an AB test. Concretely, each two signals are compared based on their perceptual score. The score values of two signals are converted to a simple comparison in order to simulate the preference of listeners and if the scores are equal, it would be assumed that the listeners does not have any preference. The result is shown on figure 2 (left). The numbers in the heatmap table indicate the preference percentage of
vertical labels against horizontal labels. Based on this figure, the preference of synthetic signals with small voice corpus (left-down) is lower than synthetic signals with large voice corpus (right-up). It confirms that voice corpus reduction decreases the TTS synthetic quality. By looking at cells in large corpus size (left-up), it can be observed that the preference numbers for corpus sizes larger than 15% are around 50. This observation confirms the hypothesis in section 3. It means after a certain voice corpus size the quality of synthetic signal would not be improved perceptually by increasing the voice corpus size.

Figure 2 does not show superiority of spitting greedy in comparison with random strategy. These is contrary to what we expected based on previous studies such as (Chevelu & Lolive, 2015). While it was reported by listeners that the MUSHRA test is not an easy task for this comparison, another perceptual test is proposed for comparing the performance of these two corpus reduction methods.

## 4.4 The performance of greedy strategy v.s. random selection

Based on listeners' feedback from previous perceptual test, some modifications have been done on listening samples preparation and the platform. While we use the same *test section* and reduction rates, the final listening signals are prepared in a different way. The utterances have been synthesized from the beginning until the first speech pause after 90 diphones. In this way, all samples for sizes/methods will have same content. The duration time of samples are between 5 to 10 seconds. Among 334 utterances of the *test section*, 70 samples have been selected for the listening test according to the highest acoustic distance (Chevelu et al., 2015). The acoustic distance is computed by calculating DTW on the MGC features of two signals. This selection method helps to focus on the most different samples.

An AB test has been prepared with 40 comparison steps. For each step, listeners are asked to give their preference in terms of overall quality between two synthetic signals. These signals have been synthesized by using different voice subcorpora but with same size. Voice subcorpora are a sub part of the *full corpus* selected by the random strategy or the proposed spitting greedy. The reference signal is not provided which lets listeners decide what is the best quality. We hope it makes the task easier. The estimated time for doing the whole test is 15 minutes.

The listening test has been done by 9 listeners. For each voice corpus size between 66 and 70 comparisons have been achieved. Out of 340 comparisons in total, 132 times random strategy has been preferred, 118 times greedy strategy, and 90 times listeners selected no preference. The figure 3 (left) shows the percentage of preference for corpus reduction methods in different voice corpus size.

The figure 3 (left) does not reveal any significant superiority of the modified greedy. Even the synthetic signals for 15% of full voice corpus with random strategy has been evaluated slightly better than modified greedy.

The TTS global costs of the AB test's samples is displayed in the figure 3 (right). This figure shows the synthetic quality of the listening test signals in terms of TTS costs. The TTS global cost given by random selection are not significantly different from those given by the proposed greedy. While the initial problem was synthesizing the rest of the book instead of test section, the rest of the book has been synthesized by extracted sub-corpus as TTS voice. A same trend as figure 3 is observed for rest of the book (synthetic part). It means that the listening test signals have same synthetic quality as the rest of the book.
<figure><img src="image_69.png" /><figcaption>FIGURE 3: The AB test result for different voice corpus size and the total preference of listeners for random and proposed greedy (left). The normalized TTS global cost of listening test samples (right).</figcaption></figure>

It could be concluded that the random reduction works as well as the proposed splitting greedy. The explanation could be the approximation level of the proposed method. It means that reducing the computational time costs a lot in terms of the efficiency of subset solution. Hence the performance of voice subcorpus resulted by proposed greedy becomes close to a random selection.

# 5 Conclusion

The computational time is the main challenge in voice corpus reduction by greedy algorithm. By modifying the original splitting greedy, its complexity has been reduced to a reasonable time. However this approximation level probably costs lower efficiency and makes the solutions closer to the random strategy.

In the first step, some objective measures like PESQ, DTW between synthetic signal and voice signal, and TTS global cost have been investigated. A perceptual listening test (DMOS) has been designed to evaluate the synthetic signals using different voice subcorpus sizes. A higher correlation between objective measures and perceptual quality confirmed that TTS global cost is the best available metric to estimate perceptual quality.

Hence the TTS global cost has been employed in greedy algorithm for ranking candidates in each reduction step. By modifying the original greedy algorithm, the computational time reduced to a reasonable time. Although these modifications cause some level of inefficiency. The proposed greedy has been compared with random strategy for different voice corpus sizes in a MUSHRA test. It has revealed that after a certain size of voice (1 hour of our audio-book), the voice corpus is big enough and the difference of synthetic signals because of voice corpus size can not be distinguished perceptually. Moreover it has not been observed any difference between random and proposed greedy. In order to evaluate the performance of the proposed greedy, an AB preference test has been run. The result of this listening test confirmed that listeners did not prefer the signals which are synthesized using voice subcorpus obtained with the proposed greedy.
# Acknowledgments

Thanks to Damien Lolive, Jonathan Chevelu, and Nelly Barbot for their appreciable help as supervisors. This study has been realized under the ANR (French National Research Agency) project SynPaFlex ANR-15-CE23-0015.

# References

ALAIN P., BARBOT N., CHEVELU J., LECORVE G., SIMON C. & TAHON M. (2017). The IRISA text-to-speech system for the blizzard challenge 2017. In *Blizzard Challenge workshop. International Speech Communication Association (ISCA)*, Stockholm, Sweden.

BALJEKAR P. & BLACK A. W. (2016). Utterance selection techniques for TTS systems using found speech. In *9th ISCA Workshop on Speech Synthesis (SSW9)*, p. 184–189, Sunnyvale, USA.

BARBOT N., BOEFFARD O., CHEVELU J. & DELHAY A. (2015). Large linguistic corpus reduction with SCP algorithms. *Computational Linguistics*, **41**(3), 355–383.

BOEFFARD O., CHARONNAT L., LE MAGUER S., LOLIVE D. & VIDAL G. (2012). Towards fully automatic annotation of audio books for tts. In *Eighth International Conference on Language Resources and Evaluation (LREC)*, p. 975–980, Istanbul, Turkey.

BRAUNSCHWEILER N. & BUCHHOLZ S. (2011). Automatic sentence selection from speech corpora including diverse speech for improved HMM-TTS synthesis quality. In *Twelfth Annual Conference of the International Speech Communication Association (InterSpeech)*, p. 1821–1824, Florence, Italy.

CHEVELU J. & LOLIVE D. (2015). Do not build your TTS training corpus randomly. In *Proceedings of the 23rd European Signal Processing Conference (EUSIPCO)*, p. 350–354, Nice, France : IEEE.

CHEVELU J., LOLIVE D., MAGUER S. L. & GUENNEC D. (2015). How to compare TTS systems : a new subjective evaluation methodology focused on differences. In *Sixteenth Annual Conference of the International Speech Communication Association (InterSpeech)*, p. 3481–3485, Dresden, Germany.

CHU M. & PENG H. (2001). An objective measure for estimating MOS of synthesized speech. In *Seventh European Conference on Speech Communication and Technology (EuroSpeech)*, p. 2087–2090, Aalborg, Denmark.

COOPER E., CHANG A., LEVITAN Y. & HIRSCHBERG J. (2016). Data selection and adaptation for naturalness in hmm-based speech synthesis. In *Seventeenth Annual Conference of the International Speech Communication Association (InterSpeech)*, p. 357–361, San Francisco, USA.

ESPINOSA D., WHITE M., FOSLER-LUSSIER E. & BREW C. (2010). Machine learning for text selection with expressive unit-selection voices. In *Eleventh Annual Conference of the International Speech Communication Association (InterSpeech)*, p. 1125–1128, Makuhari, Japan.

FRANÇOIS H. & BOEFFARD O. (2002). The greedy algorithm and its application to the construction of a continuous speech database. In *Third International Conference on Language Resources and Evaluation (LREC)*, volume 5, p. 1420–1426, Las Palmas, Spain.

FREEDMAN D., PISANI R. & PURVES R. (2007). Statistics (international student edition). *Pisani, R. Purves, 4th edn. WW Norton & Company, New York*.
KENDALL M. G. (1948). Rank correlation methods.

KRUL A., DAMNATI G., YVON F., BOIDIN C. & MOUDENC T. (2007). Approaches for adaptive database reduction for text-to-speech synthesis. In *Eighth Annual Conference of the International Speech Communication Association (InterSpeech)*, p. 2881–2884, Antwerp, Belgium.

RECOMMENDATION I. (2003). 1534-1 : Method for the subjective assessment of intermediate quality level of coding systems. *International Telecommunication Union*.

RIX A. W., BEERENDS J. G., HOLLIER M. P. & HEKSTRA A. P. (2001). Perceptual evaluation of speech quality (PESQ)-a new method for speech quality assessment of telephone networks and codecs. In *International Conference on Acoustics, Speech and Signal Processing (ICASSP)*, volume 2, p. 749–752, Salt Lake City, USA : IEEE.

SHAMSI M., CHEVELU J., LOLIVE D. & BARBOT N. (2020). Corpus design for expressive speech : impact of the utterance length. In *International Conference of Speech Prosody*.

SHAMSI M., LOLIVE D., BARBOT N. & CHEVELU J. (2019). Corpus design using convolutional auto-encoder embeddings for audio-book synthesis. In *Twentieth Annual Conference of the International Speech Communication Association (InterSpeech)*, p. 1531–1535, Graz, Austria.

SPEARMAN C. (1904). The proof and measurement of association between two things. *The American Journal of Psychology, 15*(1), 72–101.

TODA T., KAWAI H., TSUZAKI M. & SHIKANO K. (2006). An evaluation of cost functions sensitively capturing local degradation of naturalness for segment selection in concatenative speech synthesis. *Speech Communication, 48*(1), 45–56.
# Exploiter des modèles de langue pour évaluer des sorties de logiciels d'OCR pour des documents français du XVIIᵉ siècle

Jean-Baptiste Tanguy

CELLF, STIH, Sorbonne Université, 1 rue Victor Cousin, 75005, Paris, France

jean-baptiste.tanguy@sorbonne-universite.fr

## RÉSUMÉ

Pour comparer deux sorties de logiciels d'OCR, le *Character Error Rate* (ou, *CER*) est fréquemment utilisé. Moyennant l'existence d'une vérité de terrain de qualité pour certains documents du corpus, le *CER* calcule le taux d'erreur de ces pièces et permet ensuite de sélectionner le logiciel d'OCR le plus adapté. Toutefois, ces vérités de terrain sont très coûteuses à produire et peuvent freiner certaines études, même prospectives. Nous explorons l'exploitation des modèles de langue en agrégeant selon différentes méthodes les probabilités offertes par ceux-ci pour estimer la qualité d'une sortie d'OCR. L'indice de corrélation de Pearson est ici utilisé pour comprendre dans quelle mesure ces estimations issues de modèles de langue covariant avec le *CER*, mesure de référence.

## ABSTRACT

### Language Model Based Evaluation of OCR Software Output Qualities for 17th Century French Documents

In order to compare two OCR software outputs, the *Character Error Rate* (or, *CER*) is frequently used. When a quality ground truth exists for several documents, the *CER* calculates the error rate for these documents and therefore allows to choose the most suitable OCR software. However, these ground truths are extremely expensive and may slow down some studies. Hence, we are exploring the exploitation of language models by the aggregation (with several methods) of their probabilities in order to estimate OCR output qualities. The Pearson correlation is used to understand how these language model based estimations covary with the *CER*, reference metric.

**MOTS-CLÉS** : OCR, modèle de langue, évaluation, document historique, français pré-classique.

**KEYWORDS** : OCR, language model, evaluation, historical document, pre-classical French.

## 1 Introduction

Les campagnes de numérisation des collections patrimoniales s'installent à la frontière de deux en-
jeux relatifs aux documents historiques : leur pérennisation et leur accessibilité. La Bibliothèque
Nationale de France, qui a commencé la numérisation de ses fonds au début des années 1990 (avec
l'arrivée de Gallica en 1997 (Bermes, 2020)), et la Bibliothèque Mazarine, qui a engagé en 2014 la
numérisation de sa collection d'incunables et en 2015 celle de ses Mazarinades <fnref n="1" />, sont ici exemplaires.
Au-delà de la construction d'éditions web, la numérisation de telles collections rend possible leur ex-
ploitation automatique à grande échelle, moyennant une transcription de leur contenu textuel. Ceci

<figure><img src="image_70.png" /></figure>

<footnote n="1">1. Documents parus en France, lors de la Fronde (1648-1653).</footnote>
constitue un réel intérêt, tant pour la communauté savante que pour le grand public. Toutefois, deux problèmes majeurs se posent. D'une part, les logiciels de reconnaissance optique de caractères (ou OCR), s'ils offrent des transcriptions automatiques de qualité pour des documents contemporains gênérés électroniquement, sont nettement moins robustes face à des documents historiques. (Lejeune & Abiven, 2019), pour le « corpus » des Mazarinades, exposent un ensemble d'éléments rendant l'étude de ces documents historiques particulièrement complexe : variantes graphiques, abréviations, orthographe erratique mais aussi un « état inégal de conservation [des] imprimés souvent produits dans l'urgence et l'économie de moyens (papier et encre de mauvaise qualité, notamment) ». D'autre part, et s'agissant de processus automatisés, la connaissance de la qualité des sorties des logiciels d'OCR est primordiale. Néanmoins, l'évaluation d'outils d'OCR n'est pas stable d'un corpus à l'autre, car elle fait intervenir des corpus particulièrement hétérogènes (Springmann et al., 2014). Mesurer la qualité d'une sortie d'OCR nécessite alors, au moins pour un ensemble réduit de la collection à numériser et à océriser, une transcription manuelle et certaine à laquelle les sorties d'OCR seront comparées ; et ce, dès lors qu'une nouvelle collection est à océriser. Or cette transcription de référence, qu'on appelle vérité de terrain (Springmann et al., 2018), est coûteuse à constituer ce qui limite d'autant la quantité de données disponible pour l'évaluation. Ainsi, estimer la qualité des sorties de logiciels d'OCR sans vérité de terrain permettrait d'opter à moindre coût pour un logiciel d'OCR adapté. Il s'agit donc d'une démarche d'évaluation non supervisée.

Dans cet article, nous proposons i) d'apprendre des modèles de langue sur un corpus en français pré-classique (XVIIe siècle), ii) de parcourir des sorties de logiciels d'OCR par fenêtre glissante en récupérant les probabilités de chaque modèle de langue de rencontrer une telle séquence de caractères pour enfin iii) estimer la qualité de ces sorties d'OCR. Différentes méthodes d'agrégation des probabilités précitées sont proposées pour estimer la qualité globale des *pages* océrisées. L'étude des corrélations entre ces estimations et les *CER*<fnref n="2" /> (pour chaque page du corpus) permettra de valider ou réfuter la pertinence de ces estimateurs sur le corpus de l'étude.

Après l'exposition de plusieurs méthodologies d'estimation non supervisée de la qualité de sorties d'OCR (section 2), nous décrivons le cadre expérimental de notre étude, où le corpus, les modèles de langue et les méthodes d'agrégation de leurs probabilités sont décrits (section 3). Nous présenterons finalement les résultats de l'expérimentation en section 4.

## 2 Estimer la qualité de sorties de logiciels d'OCR

Pour évaluer des sorties d'OCR en échappant à la fastidieuse transcription des imprimés, plusieurs méthodes conduisent à la création de nouvelles mesures d'évaluation. Celles-ci sont comparées à des mesures de référence (le *CER* ou la précision), calculées grâce à des vérités de terrain, pour valider ou réfuter leur pertinence.

**Exploiter des ressources lexicales** (Springmann et al., 2016) proposent d'estimer la qualité d'une sortie d'OCR en exploitant la *lexicalité* de celle-ci. La *lexicalité* est calculée en faisant la moyenne, pour chaque *token* observé dans la sortie d'OCR, des distances de Levenshtein entre ces *tokens* et leur supposé équivalent moderne le plus proche (*supposé* car la relation entre deux formes de deux états différents d'une même langue n'est pas nécessairement bijective). Il est montré que cette *lexicalité*

<footnote n="2">2. Character Error Rate.</footnote>
est très clairement corrélée à la précision.

## Exploiter les valeurs de confiance des logiciels d'OCR
Une autre voie empruntée par (Springmann et al., 2016) est de mettre à profit les valeurs de confiance des logiciels d'OCR. Ceux-ci renvoient en effet une valeur correspondant à l'intensité de la confiance que le logiciel associe au caractère qu'il propose. Dans le cas d'une hésitation entre deux caractères proches (par exemple, *G* et *O*), le conflit est traduit par deux valeurs de confiance similaires et plus faibles que dans le cas d'une certitude pour un caractère en particulier. Les auteurs supposent que « la somme des valeurs de confiance associées aux caractères de sortie doit ainsi être corrélée avec la précision de la sortie d'OCR »<fnref n="3" /> et le vérifient très nettement.

## Exploiter les bounding boxes
Avant de proposer un ensemble de caractères, les logiciels d'OCR segmentent les images proposées à l'océrisation. Ces segmentations (en colonnes, en lignes, en mots ou encore en caractères) apparaissent pour (Gupta et al., 2015) comme de bons indicateurs pour estimer la qualité d'une sortie d'OCR. En effet, s'agissant d'un processus en cascade, si la segmentation fait défaut, l'océrisation en pâtira largement. En recueillant les informations graphiques associées aux objets résultant de la segmentation (les bounding boxes), les auteurs proposent d'apprendre un modèle de classification permettant de distinguer deux types de bounding boxes : les bounding boxes pertinentes (BBs) et les bounding boxes non pertinentes (noise BBs)<fnref n="4" />. Le calcul de cet estimateur se réalise ensuite en comptant la proportion des noise BBs. Il est conclu que cette proportion de noise BBs permet d'estimer de manière satisfaisante la qualité globale d'un document océrisé mais aussi d'en identifier les passages bruités.

## Exploiter les modèles de langue
Les modèles de langue, appris au grain mot, sont fréquemment utilisés en reconnaissance de la parole. (Chen et al., 1998) ont proposé d'utiliser les modèles de langue non pas pour corriger en post-traitement les sorties de reconnaissance d'un flux de parole mais pour estimer la qualité de cette sortie. La perplexité et ses dérivés (comme la log-perplexité) y apparaissent fortement corrélées au *word error rate* (le taux d'erreur mot, ou, WER) avec, pour le premier jeu de données de leur étude, une relation presque parfaitement linéaire. Néanmoins, pour l'évaluation de sorties d'OCR, les modèles de langue ne semblent pas avoir encore été testés.

## Utiliser des pseudo-vérités de terrain
(Ul-Hasan et al., 2016) proposent d'utiliser la sortie d'un logiciel d'OCR (en l'occurrence, Tesseract) comme une pseudo-vérité de terrain sur laquelle est appris un premier modèle. Si l'objectif de ce travail n'est pas d'estimer la qualité d'une sortie d'OCR, les auteurs se soucient du manque de transcriptions à disposition et atteignent avec ces pseudo-vérités de terrain des précisions de l'ordre de 95% sur des documents imprimés du XVIIᵉ siècle.

Comme (Chen et al., 1998), nous proposons d'utiliser des modèles de langue (mais appris au grain caractère) pour évaluer les sorties des logiciels d'OCR. Il s'agit de récupérer une probabilité pour chaque caractère (voir sous-section 3.4), d'agréger ces probabilités et d'observer, comme (Springmann et al., 2016), s'il existe une corrélation entre ces agrégations et la mesure de référence CER.

<footnote n="3">3. The sum of the confidences over all output characters should therefore correlate with the accuracy of the output.</footnote>

<footnote n="4">4. Par exemple, une bounding boxe pertinente encadre une ligne ou un mot alors qu'une bounding boxe non pertinente encadre deux lignes juxtaposées mais appartenant à deux colonnes différentes.</footnote>
# 3 Cadre expérimental

Dans cette section, nous décrivons le corpus de notre étude, la méthodologie et les logiciels d'écritsation, les modèles de langue appris et les mesures d'évaluation à comparer au CER.

## 3.1 Un corpus d'œuvres françaises du XVIIe siècle

<table><caption>TABLE 1 – Description des œuvres du corpus.</caption><thead><tr><td>Titre</td><td>Auteur</td><td>Date</td><td>Domaine</td><td>Nb pages</td><td>Nb lignes</td><td>Nb mots</td></tr></thead><tbody><tr><td>Oraisons funebres</td><td>Bossuet</td><td>1683</td><td>Théologie</td><td>27</td><td>770</td><td>4 128</td></tr><tr><td>La Pucelle...</td><td>Chapelain</td><td>1656</td><td>Poésie</td><td>28</td><td>753</td><td>4 735</td></tr><tr><td>Advis sur la peste</td><td>Ellain</td><td>1606</td><td>Science</td><td>22</td><td>618</td><td>3 168</td></tr><tr><td>Egalite des hommes et des femmes</td><td>Gournay</td><td>1622</td><td>Philosophie</td><td>31</td><td>825</td><td>4 284</td></tr><tr><td>La Maniere d'amolir les os...</td><td>Papin</td><td>1682</td><td>Science</td><td>23</td><td>548</td><td>2 230</td></tr><tr><td>Experiences Nouvelles...</td><td>Pascal</td><td>1647</td><td>Science</td><td>39</td><td>776</td><td>3 568</td></tr><tr><td>Introduction à la vie devote</td><td>Sales</td><td>1641</td><td>Théologie</td><td>25</td><td>618</td><td>3 915</td></tr><tr><td>Oeuvres completes (Tome II.)</td><td>Viau</td><td>1623</td><td>Poésie</td><td>33</td><td>852</td><td>4 055</td></tr></tbody></table>

<figure><img src="image_71.png" /><figcaption>FIGURE 1 – Numérisation de la page 15 des *Experiences Nouvelles touchant le vide*... de Pascal (1647) présentée avec sa transcription diplomatique.</figcaption></figure>

Rassemblé et transcrit par (Gabay, 2019), le corpus de travail est une sélection de certaines œuvres françaises du XVIIe siècle décrites dans la table 1. Notre corpus environ 6 000 lignes, 30 000 mots et 15 000 caractères. Un exemple de numérisation est proposé dans la figure 1.
<table><caption>TABLE 2 – Description des sous-corpus dédiés à i) l’apprentissage des modèles de langue et ii) l’océ- risation et l’évaluation de la qualité des sorties d’OCR.</caption><thead><tr><th colspan="4">i)</th><th colspan="4">ii)</th></tr><tr><th>Identifiant</th><th>Nb lignes</th><th>Nb mots</th><th>Nb caractères</th><th>Identifiant</th><th>Nb lignes</th><th>Nb mots</th><th>Nb caractères</th></tr></thead><tbody><tr><td>Bossuet-1683</td><td>27</td><td>770</td><td>4 128</td><td>Papin-1682</td><td>23</td><td>548</td><td>2 230</td></tr><tr><td>Chapelain-1656</td><td>28</td><td>753</td><td>4 735</td><td>Pascal-1647</td><td>39</td><td>776</td><td>3 568</td></tr><tr><td>Ellain-1606</td><td>22</td><td>618</td><td>3 168</td><td>Sales-1641</td><td>25</td><td>618</td><td>3 915</td></tr><tr><td>Gournay-1622</td><td>31</td><td>825</td><td>4 284</td><td>Viau-1623</td><td>33</td><td>852</td><td>4 055</td></tr></tbody></table>

Les variétés thématique et diachronique du corpus ainsi que les transcriptions diplomatiques de grande qualité permettent de le considérer non seulement comme un premier laboratoire privilégié pour l’étude de l’OCR mais aussi comme représentant de cet état de langue. Ainsi les œuvres de Bos- suet, Chapelain, Ellain et Gournay et les œuvres de Papin, Pascal, Sales et Viau constituent-elles deux sous-corpus : les transcriptions des premières permettant l’apprentissage des modèles de langues et les images et les transcriptions des secondes l’application des logiciels d’OCR et la mesure du CER respectivement (voir la table 2).

## 3.2 Océrisation

Le corpus dédié à l'océrisation est composé de 120 pages numérisées, toutes avec une résolution de 400dpi. Afin de réaliser l'océrisation de ces images, deux logiciels ont été utilisés :

— Kraken, version 2.0.8⁵ (voir (Kiessling, 2019));

— Tesseract, version 0.3.3⁶ (voir (Smith, 2007)).

**Pré-traitement des images** Pour appliquer ses modèles de reconnaissance de caractères, Kraken prend en entrée des *lignes* binarisées (un pixel ne peut être que blanc ou noir) alors que Tesseract peut admettre des pages entières en nuances de gris ou même en couleurs. Dans un souci d’unité, et puisque Kraken est plus restrictif que Tesseract, toutes les images ont été segmentées et binarisées en utilisant les modules dédiés de Kraken. Ceci constitue un biais au regard des performances de Tesseract ; néanmoins, et selon notre hypothèse, le taux d’erreur devrait évoluer dans le même sens que les métriques d’estimation de l’étude.

**Application des modèles** L’objectif étant d’observer dans quelle mesure les modèles de langue peuvent être de bons indicateurs de la qualité d’une sortie d’OCR, l’utilisation de plusieurs modèles, adaptés ou non aux documents de l’étude, apparaît primordiale. Pour ce faire, les modèles de Kraken (anglais contemporain) et de Tesseract (français contemporain) ont été appliqués aux lignes segmentées et binarisées ainsi qu’un modèle Kraken appris sur ces mêmes données<fnref n="7" />. On dispose alors *a priori* de deux modèles non adaptés aux documents de l’étude<fnref n="8" /> et d’un modèle suradapté à ces documents (puisqu’appris sur ceux-ci). L’hypothèse que nous faisons est que l’agrégation des proba-

<footnote n="5">5. http://kraken.re/ et https://pypi.org/project/kraken/</footnote>

<footnote n="6">6. https://pypi.org/project/pytesseract/</footnote>

<footnote n="7">7. https://github.com/e-ditiones/OCR17</footnote>

<footnote n="8">8. Par exemple, le <f> ne fait pas partie du vocabulaire des modèles de Kraken (anglais) et de Tesseract (français).</footnote>
bilités offertes par les modèles de langue sur les sorties des modèles de Kraken et de Tesseract sera plus faible que sur les sorties du modèle Kraken appris sur ces mêmes données.

<table><caption>TABLE 3 – Sorties des trois modèles d'OCR pour la 15ᵉ page des *Experiences Nouvelles* touchant le vide... de Pascal (1647). De gauche à droite : modèle Kraken (anglais), modèle Tesseract (français) et modèle Kraken (français du XVIIᵉ siècle).</caption><thead><tr><th>Lignes Kraken</th><th>CER</th><th>Lignes Tesseract</th><th>CER</th><th>Lignes Kraken 17</th><th>CER</th></tr></thead><tbody><tr><td>plus longue iambe n'attire</td><td>100,0 %</td><td>plus Jongue iambe n'attire</td><td>100,0 %</td><td>plus longue iambe n'attire</td><td>100,0 %</td></tr><tr><td>point lcau de la plus cour-<br>te, ny par confequent celle du</td><td>3,8 %</td><td>point l'eau de la plus cour-<br>te, ny par confequent celle du</td><td>7,6 %</td><td>point l'eau de la plus cour-</td><td>0 %</td></tr><tr><td>vaifeau oi elle ef : contre le</td><td>7,4 %</td><td>vaifeau où elle et : contre le</td><td>3,7 %</td><td>vaifeau ou elle elt : contre le</td><td>0 %</td></tr><tr><td>fentiment de tous les Philofo-<br>phes artifans : maislcau de-</td><td>3,4 %</td><td>fentiment de tous les Philofo-<br>phes & artifans : mais l'eau de-</td><td>3,4 %</td><td>fentiment de tous les Philofo-</td><td>0 %</td></tr><tr><td>fcend de toutes lcs dcuxiam-<br>bes dans les dcux vaiffeaux,<br>iufques a la mefme hauteur</td><td>16,6 %</td><td>fcend de toutes les deuxiam-<br>bes dans les deux vaiffeaux,<br>iufques à la mefme hauteur</td><td>10 %</td><td>fcend de toutes les deux iam-</td><td>6,6 %</td></tr><tr><td>que dans le tuyau preccdent,<br>en comptant la hautcur dec-<br>puis la surface deleau de cha-<br>cun des vaiffcaux; Mais ayant</td><td>6,8 %</td><td>que dans le tuyau precedent,<br>en comptant la hauteur de-<br>puis la surface de l'eau de cha-<br>cun des vaiffeaux; Maisayant</td><td>6,8 %</td><td>que dans le tuyau precedent,<br>en comptant la hauteur de-</td><td>0 %</td></tr><tr><td>inclin lc fiphon au deffous<br>dc la hautcur dcnuiron trcn-<br>te- vn picds, lapluslongue</td><td>14,8 %</td><td>incliné le fiphon au deffous<br>de la hauteur d'enuiron tren-<br>te- & vn picds, la plus longue</td><td>7,4 %</td><td>de la hauteur d'enuiron tren-</td><td>0 %</td></tr><tr><td>iambe attirclcau qui eft dans<br>le vaifeau de la plus courte;<br>quand on le rehaufe au</td><td>14,2 %</td><td>jambe attire l'eau qui eft dans<br>le vaifeau de la plus courtc;<br>& quand on le rehaufle au</td><td>7,1 %</td><td>de la hauteur d'enuiron tren-</td><td>0 %</td></tr><tr><td>A iii</td><td>11,1 %</td><td></td><td>7,4 %</td><td>de la hauteur d'enuiron tren-</td><td>0 %</td></tr><tr><td></td><td>11,5 %</td><td></td><td>7,6 %</td><td>iufques à la mefme hauteur</td><td>3,8 %</td></tr><tr><td></td><td>3,7 %</td><td></td><td>0 %</td><td>que dans le tuyau precedent,</td><td>0 %</td></tr><tr><td></td><td>13,6 %</td><td></td><td>4,5 %</td><td>en comptant la hauteur de-</td><td>0 %</td></tr><tr><td></td><td>12,9 %</td><td></td><td>6,4 %</td><td>puis la surface de l'eau de cha-</td><td>0 %</td></tr><tr><td></td><td>10,7 %</td><td></td><td>10,7 %</td><td>cun des vaiffeaux; Mais ayant</td><td>0 %</td></tr><tr><td></td><td>17,8 %</td><td></td><td>10,7 %</td><td>incliné le fiphon au deffous</td><td>3,7 %</td></tr><tr><td></td><td>17,8 %</td><td></td><td>3,5 %</td><td>de la hauteur d'enuiron tren-</td><td>0 %</td></tr><tr><td></td><td>11,5 %</td><td></td><td>3,8 %</td><td>te & vn pieds, la plus longue</td><td>0 %</td></tr><tr><td></td><td>16,1 %</td><td></td><td>9,6 %</td><td>iambe attire l'eau qui eft dans</td><td>0 %</td></tr><tr><td></td><td>6,8 %</td><td></td><td>10,3 %</td><td>e vaifeau de la plus courte;</td><td>3,4 %</td></tr><tr><td></td><td>8,6 %</td><td></td><td>8,6 %</td><td>& quand on le rehauffe au</td><td>0 %</td></tr><tr><td></td><td>16,6 %</td><td>À ill</td><td>66,6 %</td><td>A iii</td><td>16,6 %</td></tr></tbody></table>

La table 3 présente un exemple d'utilisation des trois modèles d'OCR sélectionnés. Les lignes affichées sont les sorties des modèles et les CER ont été calculés face à la référence (présentée dans la figure 1).

## 3.3 Apprentissage des modèles de langue

Deux types de modèles de langue (au grain caractère) ont été appris sur le sous-corpus dédié (voir la table 2) qui compte 121 caractères différents :

- des modèles de langue à probabilités conditionnelles, appris comme la probabilité d'observer un caractère sachant une séquence de caractères (un historique);

- des modèles de langue appris par des réseaux de neurones (LSTM et biLSTM).

Le premier type de modèles constitue une *baseline* puisque ces modèles sont simplement construits en comptant, par fenêtre glissante sur le corpus d'apprentissage, le nombre d'occurrences du caractère suivant la séquence de caractères contenue dans la fenêtre glissante. Ces occurrences absolues sont ensuite divisées par la somme des occurrences de tous les caractères suivants cette séquence et sont utilisées comme des probabilités, puisque contenues dans l'intervalle [0; 1].

Les modèles de langue LSTM et biLSTM ont été choisis pour confronter aux modèles de la *baseline* des modèles appris par réseaux de neurones, en l'occurrence des réseaux de neurones récurrents. Ces modèles ont été appris en utilisant les modèles séquentiels de la librairie Python *keras*. Un mapping du vocabulaire est d'abord réalisé en prétraitement<fnref n="9" />. Les réseaux LSTM et biLSTM contiennent tous une couche *LSTM* et aux réseaux biLSTM est ajoutée une couche *Bidirectional*; l'hypothèse étant ici

<footnote n="9">9. À chaque élément du vocabulaire (entendu comme l'ensemble des caractères différents) est associé un entier dans une table.</footnote>
que i) tout caractère ne peut suivre tout autre caractère et que ii) tout caractère ne peut être précédé de tout autre caractère. Enfin, la fonction softmax est utilisée comme fonction d'activation. Ces modèles de langue ont été appris sur des séquences de n caractères, pour n variant de 2 à 10 et le nombre d'époques pour chaque apprentissage est 100. Finalement, on dispose donc de 3*9 = 27 modèles de langue pour tester l'estimation de la qualité des sorties des logiciels d'OCR. Le nombre de caractères dans le vocabulaire de ces modèles de langue est de 121.

## 3.4 Métriques d'estimation

### 3.4.1 Préambules

**Calcul du CER** Le CER est calculé entre une suite de caractères de référence et une suite à tester comme la somme des insertions, délétions et substitutions divisée par le nombre total de caractères de la chaîne de référence. Il peut être supérieur à 1 si le nombre d'insertions est particulièrement élevé.

**Probabilités des modèles de langue** Les modèles de langue permettent de disposer de la probabilité qu'un caractère donné suive une certaine séquence de caractères. Si une sortie de logiciel d'OCR est parcourue par une fenêtre glissante à partir de laquelle est renvoyée une séquence de caractères et le caractère suivant cette séquence, pour une sortie d'OCR on dispose d'une suite d'au plus C - n probabilités, avec C le nombre total de caractères et n la taille de la fenêtre glissante en caractères. Au plus car il est possible que certains caractères fournis par le modèle d'OCR n'aient pas été rencontrés dans le corpus d'apprentissage du modèle de langue<fnref n="10" />.

On cherche donc à agréger ces probabilités, pour chaque document du corpus océrisé, dans l'objectif que ces agrégats soient corrélés au CER qu'on peut calculer grâce aux transcriptions. Il s'agit de calculer d'autres métriques ne nécessitant pas de vérité de terrain (à partir des probabilités fournies par les modèles de langue) et de valider ou réfuter la pertinence de leur estimation de la qualité d'une sortie d'OCR face à une métrique de référence, le CER.

### 3.4.2 Agrégations des probabilités des modèles de langue

**La somme des probabilités** Une première métrique peut être la somme des probabilités renvoyées par les modèles de langue. Sous réserve que les modèles de langue sont bien des distributions de probabilités, la somme des probabilités d'une suite de caractères correspondant à du texte est de 1 alors qu'elle ne peut l'être dans le cas contraire. Ainsi, pour une sortie d'OCR, on a :

$$S = \sum_{i=n+1}^{C-n} P_{LM}(c_i|h_{n,i})$$

Avec P<sub>LM</sub> la probabilité renvoyée par un modèle de langue LM, n la taille de la fenêtre glissante en caractères, C le nombre total de caractères de la sortie d'OCR, c<sub>i</sub> le i<sup>e</sup> caractère de la sortie d'OCR et h<sub>n,i</sub> l'historique de n caractères du caractère c<sub>i</sub>.

<footnote n="10">10. Par exemple, Kraken (anglais) et Tesseract (français), appris sur des documents contemporains, ont dans leur vocabulaire le symbole € et peuvent le proposer dans leur océrisation. Pour un modèle de langue appris sur des données textuelles françaises du XVII<sup>e</sup> siècle, ce symbole n'existe pas.</footnote>
**Le produit des probabilités** Le produit des probabilités peut aussi constituer une autre métrique d'estimation. Il rend compte de la probabilité d'une suite de caractères selon l'hypothèse, ici réducitrice, de l'indépendance. Il est défini comme :

$$Pr = \prod_{i=n+1}^{C-n} P_{LM}(c_i|h_{n,i})$$

**La perplexité** Plus couramment utilisée pour juger de la qualité d'un modèle de langue, la perplexité est la probabilité inverse de la sortie d'OCR normalisée par son nombre de caractères. Puisqu'elle mesure la distance entre la fonction de probabilité et les données de l'ensemble de test, elle semble pertinente à tester comme métrique d'estimation. Elle est définie comme :

$$PP = \frac{1}{(\prod_{i=n+1}^{C-n} P_{LM}(c_i|h_{n,i}))^{\frac{1}{C-n}}}$$

**La log-perplexité** Enfin, la log-perplexité peut aussi constituer une métrique d'estimation; (Chen et al., 1998) montrent qu'elle aussi est corrélée au WER dans le domaine de la reconnaissance de la parole.

### 3.4.3 Échelles de calcul des agrégations

Les agrégations des probabilités précitées peuvent être calculées à plusieurs échelles : celle de l'œuvre, de la page, de la ligne ou encore du mot. Puisque la perplexité PP est calculée comme l'inverse d'une racine n-ième, elle tend vers 1 à mesure que le nombre total de caractères $C-n$ grandit. Plus le nombre de caractères sur lesquels elle est calculée grandit, moins elle est informative. Les estimateurs de qualité d'océrisation des pages sont donc calculés comme la moyenne des agrégations des probabilités calculées à l'échelle du mot<fnref n="11" />.

Notons que réaliser une moyenne constitue un biais important. Les données textuelles issues d'OCR n'ont pas une qualité homogène pour une même œuvre ou une même page; la moyenne efface ces disparités pourtant essentielles à soulever. D'autre part, certains mots comportent trop peu de caractères pour que le modèle de langue puisse leur calculer une probabilité. Certains passages sont ignorés et la moyenne ne le traduit pas.

## 4 Expérimentations et résultats

Pour calculer les métriques d'estimation de la qualité de l'OCR sur une page du corpus, on calcule ces métriques pour chaque mot de la page et on en fait la moyenne. Afin de confirmer ou réfuter l'intérêt de ces métriques, un calcul de corrélation Pearson<fnref n="12" /> est réalisé avec le CER. Si une ou

<footnote n="11">11. La tokenisation est réalisée par une simple segmentation par l'espace des chaînes de caractères.</footnote>

<footnote n="12">12. En tant que normalisation des covariances, le coefficient de corrélation exprime à quel point deux variables sont liées. Ce coefficient étant une normalisation, il appartient à l'intervalle [-1; 1]; les corrélations positives indiquent que les deux variables évoluent dans le même sens et les corrélations négatives qu'elles évoluent dans un sens opposé. Plus une corrélation est proche de 1 ou -1, plus le lien entre les deux variables est fort; au contraire, plus la corrélation est proche de 0, plus ce lien se dissipe.</footnote>
plusieurs métriques est corrélée-s significativement au *CER*, on peut conclure que l'apprentissage d'un modèle de langue sur des données du français du XVIIᵉ siècle et l'utilisation de ses probabilités pour estimer la qualité d'une sortie d'OCR sur des documents de la même période sont justifiés.

## 4.1 Préambule à l'analyse des corrélations

<table><caption>TABLE 4 – Variations et signes des corrélations avec le *CER* des métriques d'estimation pour un nombre d'erreurs qui augmente.</caption><thead><tr><th>Métriques</th><th>Variations</th><th>Signes des corrélations avec le CER</th></tr></thead><tbody><tr><td>CER</td><td>↗</td><td></td></tr><tr><td>S</td><td>↘</td><td>-</td></tr><tr><td>Pr</td><td>↘</td><td>-</td></tr><tr><td>Pr<sup>1</sup>/<sub>C-n</sub></td><td>↘</td><td>-</td></tr><tr><td>PP = <sup>1</sup>/<sub>P<sub>r</sub><sup>1</sup>/<sub>C-n</sub></sub></td><td>↗</td><td>+</td></tr><tr><td>log (PP)</td><td>↗</td><td>+</td></tr></tbody></table>

La table 4 expose la variation des métriques d'estimation et le signe de leur corrélation avec le *CER* pour un nombre d'erreurs d'océrisation qui augmente. L'hypothèse est que les modèles de langue fournissent des probabilités (voir le paragraphe 3.4.1) plus élevées face à une sortie d'OCR sans erreur (du texte) et des probabilités plus faibles face à une sortie d'OCR avec erreurs (du non-texte). Ainsi, pour valider les métriques comme estimateurs pertinents, les corrélations entre le *CER* et la somme et le produit des probabilités doivent être négatives alors qu'elles doivent être positives entre le *CER* et la perplexité et la log-perplexité.

## 4.2 Corrélations entre le *CER* et les métriques d'estimation

Le sous-corpus dédié à l'OCR est composé de 118 pages. On peut donc, pour les sorties des trois modèles d'OCR utilisés et pour les trois types de modèles de langue, calculer les métriques d'estimation et le *CER*, et ce pour chaque page du corpus.

<table><caption>OCR : Kraken (français contemporain). ML : probabilités conditionnelles.</caption><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>-0,063</td><td>0,496</td><td>0,111</td><td>0,226</td><td>-0,016</td><td>0,862</td><td>-0,013</td><td>0,884</td></tr><tr><td>n=3</td><td>-0,098</td><td>0,287</td><td>0,073</td><td>0,426</td><td>0,005</td><td>0,955</td><td>0,021</td><td>0,820</td></tr><tr><td>n=4</td><td>-0,073</td><td>0,428</td><td>-0,043</td><td>0,642</td><td>-0,010</td><td>0,913</td><td>-0,014</td><td>0,879</td></tr><tr><td>n=5</td><td>-0,137</td><td>0,135</td><td>-0,043</td><td>0,638</td><td>-0,015</td><td>0,868</td><td>-0,026</td><td>0,780</td></tr><tr><td>n=6</td><td>-0,093</td><td>0,314</td><td>0,000</td><td>0,996</td><td>0,067</td><td>0,466</td><td>0,059</td><td>0,522</td></tr><tr><td>n=7</td><td>-0,035</td><td>0,708</td><td>-0,032</td><td>0,728</td><td>0,130</td><td>0,157</td><td>0,117</td><td>0,205</td></tr><tr><td>n=8</td><td>-0,064</td><td>0,485</td><td>-0,074</td><td>0,420</td><td>0,043</td><td>0,643</td><td>0,054</td><td>0,560</td></tr><tr><td>n=9</td><td>-0,057</td><td>0,538</td><td>-0,012</td><td>0,898</td><td>0,018</td><td>0,846</td><td>0,021</td><td>0,821</td></tr><tr><td>n=10</td><td>-0,046</td><td>0,615</td><td>-0,023</td><td>0,806</td><td>0,024</td><td>0,794</td><td>0,026</td><td>0,780</td></tr></tbody></table>

<table><caption>OCR : Tesseract (anglais contemporain). ML : probabilités conditionnelles.</caption><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>-0,004</td><td>0,968</td><td>0,158</td><td><b>0,086</b></td><td>0,113</td><td>0,221</td><td>0,006</td><td>0,952</td></tr></tbody></table>
<table><tbody><tr><td>n=3</td><td>-0,130</td><td>0,156</td><td>0,009</td><td>0,920</td><td>-0,003</td><td>0,976</td><td>0,056</td><td>0,540</td></tr><tr><td>n=4</td><td>-0,124</td><td>0,178</td><td>-0,005</td><td>0,960</td><td>0,016</td><td>0,866</td><td>0,060</td><td>0,518</td></tr><tr><td>n=5</td><td>-0,158</td><td><strong>0,084</strong></td><td>-0,070</td><td>0,449</td><td>0,134</td><td>0,143</td><td>0,158</td><td><strong>0,085</strong></td></tr><tr><td>n=6</td><td>-0,138</td><td>0,133</td><td>-0,054</td><td>0,556</td><td>0,180</td><td><strong>0,049</strong></td><td>0,188</td><td><strong>0,040</strong></td></tr><tr><td>n=7</td><td>-0,100</td><td>0,278</td><td>-0,027</td><td>0,773</td><td>0,093</td><td>0,313</td><td>0,084</td><td>0,359</td></tr><tr><td>n=8</td><td>-0,055</td><td>0,547</td><td>-0,008</td><td>0,930</td><td>-0,006</td><td>0,949</td><td>-0,008</td><td>0,928</td></tr><tr><td>n=9</td><td>-0,054</td><td>0,554</td><td>-0,083</td><td>0,366</td><td>0,096</td><td>0,299</td><td>0,095</td><td>0,300</td></tr><tr><td>n=10</td><td>-0,024</td><td>0,796</td><td>-0,212</td><td><strong>0,020</strong></td><td>0,228</td><td><strong>0,012</strong></td><td>0,187</td><td><strong>0,041</strong></td></tr></tbody></table>

OCR: Kraken (français XVIIᵉ). ML: probabilités conditionnelles.

<table><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>-0,052</td><td>0,572</td><td>0,129</td><td>0,162</td><td>0,238</td><td><strong>0,009</strong></td><td>0,040</td><td>0,663</td></tr><tr><td>n=3</td><td>-0,080</td><td>0,384</td><td>0,087</td><td>0,343</td><td>-0,003</td><td>0,970</td><td>0,030</td><td>0,742</td></tr><tr><td>n=4</td><td>-0,041</td><td>0,654</td><td>-0,010</td><td>0,916</td><td>0,012</td><td>0,894</td><td>0,031</td><td>0,739</td></tr><tr><td>n=5</td><td>-0,111</td><td>0,225</td><td>-0,072</td><td>0,437</td><td>0,039</td><td>0,670</td><td>0,069</td><td>0,452</td></tr><tr><td>n=6</td><td>-0,135</td><td>0,142</td><td>-0,055</td><td>0,551</td><td>0,138</td><td>0,133</td><td>0,143</td><td>0,120</td></tr><tr><td>n=7</td><td>-0,086</td><td>0,348</td><td>-0,030</td><td>0,746</td><td>0,063</td><td>0,496</td><td>0,075</td><td>0,414</td></tr><tr><td>n=8</td><td>-0,096</td><td>0,296</td><td>-0,030</td><td>0,743</td><td>-0,045</td><td>0,622</td><td>-0,045</td><td>0,625</td></tr><tr><td>n=9</td><td>-0,052</td><td>0,574</td><td>-0,017</td><td>0,857</td><td>-0,015</td><td>0,874</td><td>-0,029</td><td>0,757</td></tr><tr><td>n=10</td><td>-0,021</td><td>0,817</td><td>-0,039</td><td>0,669</td><td>0,121</td><td>0,189</td><td>0,097</td><td>0,291</td></tr></tbody></table>

OCR: Kraken (français contemporain). ML: LSTM.

<table><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>-0,059</td><td>0,520</td><td>0,094</td><td>0,305</td><td>0,046</td><td>0,615</td><td>0,000</td><td>0,999</td></tr><tr><td>n=3</td><td>-0,078</td><td>0,395</td><td>0,078</td><td>0,397</td><td>-0,031</td><td>0,739</td><td>-0,011</td><td>0,902</td></tr><tr><td>n=4</td><td>-0,094</td><td>0,306</td><td>-0,070</td><td>0,446</td><td>0,113</td><td>0,221</td><td>-0,111</td><td>0,227</td></tr><tr><td>n=5</td><td>-0,108</td><td>0,240</td><td>-0,048</td><td>0,600</td><td>-0,061</td><td>0,511</td><td>-0,077</td><td>0,404</td></tr><tr><td>n=6</td><td>-0,039</td><td>0,675</td><td>0,184</td><td>0,045</td><td>0,055</td><td>0,552</td><td>-0,092</td><td>0,320</td></tr><tr><td>n=7</td><td>0,198</td><td><strong>0,030</strong></td><td>-0,049</td><td>0,595</td><td>-0,051</td><td>0,578</td><td>0,035</td><td>0,702</td></tr><tr><td>n=8</td><td>-0,034</td><td>0,709</td><td>0,026</td><td>0,781</td><td>-0,017</td><td>0,854</td><td>0,058</td><td>0,530</td></tr><tr><td>n=9</td><td>-0,055</td><td>0,549</td><td>-0,016</td><td>0,860</td><td>-0,062</td><td>0,499</td><td>0,076</td><td>0,407</td></tr><tr><td>n=10</td><td>0,063</td><td>0,492</td><td>-0,036</td><td>0,695</td><td>-0,055</td><td>0,550</td><td>-0,061</td><td>0,506</td></tr></tbody></table>

OCR: Tesseract (anglais contemporain). ML: LSTM.

<table><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>-0,010</td><td>0,911</td><td>0,138</td><td>0,131</td><td>-0,032</td><td>0,730</td><td>-0,081</td><td>0,377</td></tr><tr><td>n=3</td><td>-0,132</td><td>0,151</td><td>-0,046</td><td>0,621</td><td>-0,004</td><td>0,962</td><td>0,133</td><td>0,148</td></tr><tr><td>n=4</td><td>-0,085</td><td>0,354</td><td>-0,053</td><td>0,567</td><td>0,003</td><td>0,972</td><td>-0,009</td><td>0,926</td></tr><tr><td>n=5</td><td>-0,096</td><td>0,298</td><td>-0,080</td><td>0,383</td><td>-0,022</td><td>0,808</td><td>0,053</td><td>0,568</td></tr><tr><td>n=6</td><td>-0,107</td><td>0,245</td><td>0,034</td><td>0,716</td><td>-0,010</td><td>0,915</td><td>-0,038</td><td>0,683</td></tr><tr><td>n=7</td><td>-0,116</td><td>0,208</td><td>-0,079</td><td>0,390</td><td>0,106</td><td>0,250</td><td>0,007</td><td>0,938</td></tr><tr><td>n=8</td><td>0,043</td><td>0,640</td><td>-0,026</td><td>0,776</td><td>-0,034</td><td>0,711</td><td>-0,025</td><td>0,788</td></tr><tr><td>n=9</td><td>-0,044</td><td>0,636</td><td>0,024</td><td>0,791</td><td>-0,032</td><td>0,732</td><td>0,029</td><td>0,756</td></tr><tr><td>n=10</td><td>-0,025</td><td>0,788</td><td>-0,072</td><td>0,432</td><td>0,012</td><td>0,895</td><td>0,073</td><td>0,426</td></tr></tbody></table>

OCR: Kraken (français XVIIᵉ). ML: LSTM.

<table><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>-0,055</td><td>0,552</td><td>0,168</td><td><strong>0,066</strong></td><td>-0,006</td><td>0,944</td><td>-0,049</td><td>0,596</td></tr><tr><td>n=3</td><td>-0,065</td><td>0,482</td><td>0,114</td><td>0,215</td><td>-0,023</td><td>0,804</td><td>-0,062</td><td>0,503</td></tr><tr><td>n=4</td><td>-0,058</td><td>0,526</td><td>-0,030</td><td>0,741</td><td>-0,026</td><td>0,777</td><td>-0,024</td><td>0,793</td></tr><tr><td>n=5</td><td>-0,069</td><td>0,455</td><td>-0,052</td><td>0,576</td><td>-0,012</td><td>0,898</td><td>-0,005</td><td>0,953</td></tr><tr><td>n=6</td><td>-0,083</td><td>0,366</td><td>0,045</td><td>0,623</td><td>-0,008</td><td>0,930</td><td>0,017</td><td>0,856</td></tr><tr><td>n=7</td><td>-0,067</td><td>0,465</td><td>-0,049</td><td>0,595</td><td>-0,027</td><td>0,773</td><td>-0,056</td><td>0,541</td></tr><tr><td>n=8</td><td>-0,104</td><td>0,258</td><td>-0,041</td><td>0,653</td><td>-0,030</td><td>0,745</td><td>-0,029</td><td>0,751</td></tr><tr><td>n=9</td><td>-0,023</td><td>0,805</td><td>-0,036</td><td>0,697</td><td>-0,022</td><td>0,809</td><td>-0,034</td><td>0,710</td></tr><tr><td>n=10</td><td>0,181</td><td><strong>0,048</strong></td><td>-0,059</td><td>0,520</td><td>-0,006</td><td>0,947</td><td>-0,012</td><td>0,898</td></tr></tbody></table>

OCR: Kraken (français contemporain). ML: LSTM.

<table><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>-0,042</td><td>0,645</td><td>0,115</td><td>0,213</td><td>-0,040</td><td>0,661</td><td>-0,043</td><td>0,641</td></tr><tr><td>n=3</td><td>-0,098</td><td>0,289</td><td>0,160</td><td><strong>0,081</strong></td><td>-0,096</td><td>0,295</td><td>-0,077</td><td>0,404</td></tr><tr><td>n=4</td><td>-0,091</td><td>0,320</td><td>-0,087</td><td>0,346</td><td>0,085</td><td>0,357</td><td>-0,126</td><td>0,170</td></tr></tbody></table>
<table><tr><td>n=5</td><td>-0,019</td><td>0,837</td><td>-0,085</td><td>0,354</td><td>-0,049</td><td>0,595</td><td>-0,013</td><td>0,891</td></tr><tr><td>n=6</td><td>-0,076</td><td>0,411</td><td>0,131</td><td>0,154</td><td>-0,040</td><td>0,662</td><td>-0,087</td><td>0,345</td></tr><tr><td>n=7</td><td>0,010</td><td>0,914</td><td>-0,105</td><td>0,255</td><td>-0,058</td><td>0,529</td><td>0,009</td><td>0,925</td></tr><tr><td>n=8</td><td>-0,053</td><td>0,564</td><td>-0,085</td><td>0,357</td><td>0,623</td><td><b>0,001</b></td><td>0,053</td><td>0,563</td></tr><tr><td>n=9</td><td>-0,070</td><td>0,446</td><td>-0,060</td><td>0,517</td><td>-0,024</td><td>0,794</td><td>-0,054</td><td>0,560</td></tr><tr><td>n=10</td><td>0,084</td><td>0,361</td><td>-0,028</td><td>0,758</td><td>-0,033</td><td>0,722</td><td>-0,059</td><td>0,521</td></tr></table>

OCR : Tesseract (anglais contemporain). ML : biLSTM.

<table><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>0,013</td><td>0,886</td><td>0,184</td><td><b>0,044</b></td><td>0,000</td><td>1,000</td><td>-0,117</td><td>0,203</td></tr><tr><td>n=3</td><td>-0,137</td><td>0,137</td><td>-0,022</td><td>0,816</td><td>0,117</td><td>0,203</td><td>0,157</td><td><b>0,087</b></td></tr><tr><td>n=4</td><td>-0,040</td><td>0,663</td><td>0,011</td><td>0,909</td><td>-0,025</td><td>0,788</td><td>-0,051</td><td>0,577</td></tr><tr><td>n=5</td><td>-0,079</td><td>0,389</td><td>-0,055</td><td>0,547</td><td>-0,006</td><td>0,946</td><td>0,023</td><td>0,800</td></tr><tr><td>n=6</td><td>-0,058</td><td>0,530</td><td>-0,012</td><td>0,893</td><td>-0,045</td><td>0,627</td><td>-0,098</td><td>0,287</td></tr><tr><td>n=7</td><td>-0,064</td><td>0,485</td><td>-0,013</td><td>0,885</td><td>-0,007</td><td>0,943</td><td>-0,093</td><td>0,314</td></tr><tr><td>n=8</td><td>0,036</td><td>0,696</td><td>-0,023</td><td>0,801</td><td>0,051</td><td>0,580</td><td>-0,036</td><td>0,694</td></tr><tr><td>n=9</td><td>-0,053</td><td>0,566</td><td>-0,033</td><td>0,724</td><td>0,007</td><td>0,936</td><td>0,050</td><td>0,586</td></tr><tr><td>n=10</td><td>-0,029</td><td>0,754</td><td>-0,029</td><td>0,756</td><td>-0,024</td><td>0,797</td><td>0,027</td><td>0,773</td></tr></tbody></table>

OCR : Kraken (français XVIIe). ML : biLSTM.

<table><caption>TABLE 5 – Corrélations et *p-values* calculées entre les métriques d'estimation et le *CER*.</caption><thead><tr><th rowspan="2"></th><th colspan="2">S</th><th colspan="2">Pr</th><th colspan="2">PP</th><th colspan="2">log(PP)</th></tr><tr><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th><th>corrélation</th><th>p-value</th></tr></thead><tbody><tr><td>n=2</td><td>-0,061</td><td>0,508</td><td>0,146</td><td>0,113</td><td>0,002</td><td>0,985</td><td>-0,060</td><td>0,513</td></tr><tr><td>n=3</td><td>-0,075</td><td>0,413</td><td>0,101</td><td>0,273</td><td>-0,026</td><td>0,779</td><td>-0,111</td><td>0,228</td></tr><tr><td>n=4</td><td>-0,048</td><td>0,601</td><td>-0,045</td><td>0,622</td><td>-0,011</td><td>0,909</td><td>-0,078</td><td>0,396</td></tr><tr><td>n=5</td><td>-0,040</td><td>0,661</td><td>-0,106</td><td>0,250</td><td>-0,038</td><td>0,681</td><td>-0,014</td><td>0,878</td></tr><tr><td>n=6</td><td>-0,045</td><td>0,622</td><td>-0,010</td><td>0,917</td><td>-0,048</td><td>0,605</td><td>-0,041</td><td>0,660</td></tr><tr><td>n=7</td><td>-0,106</td><td>0,251</td><td>0,064</td><td>0,489</td><td>-0,005</td><td>0,955</td><td>-0,021</td><td>0,823</td></tr><tr><td>n=8</td><td>-0,086</td><td>0,350</td><td>-0,057</td><td>0,539</td><td>0,022</td><td>0,815</td><td>-0,076</td><td>0,410</td></tr><tr><td>n=9</td><td>-0,017</td><td>0,855</td><td>-0,033</td><td>0,721</td><td>-0,007</td><td>0,940</td><td>0,011</td><td>0,908</td></tr><tr><td>n=10</td><td>0,202</td><td><b>0,027</b></td><td>-0,025</td><td>0,786</td><td>-0,027</td><td>0,767</td><td>0,012</td><td>0,898</td></tr></tbody></table>

La table 5 montre les corrélations et les *p-values* calculées entre les métriques d'estimation et les *CER*. Une corrélation n'est toutefois significative que si la *p-value* est inférieure à un seuil, ceci traduisant que la relation de corrélation a peu de chances d'être due au hasard; il s'agit d'un test de corrélation. Nous choisissons ici le seuil de 0, 1 qui rend compte d'une faible présomption contre l'hypothèse nulle. Les résultats de la table 5 montre des *p-values* presque toutes supérieures à ce seuil, ce qui signifie que s'il y a corrélation, elle n'est pas significative. Ces résultats semblent donc réfuter l'hypothèse initiale selon laquelle les probabilités des modèles de langue auraient pu être agrégées pour se substituer à un *CER* exigeant une vérité de terrain.

## 4.3 Les modèles de langue sont-ils inadaptés ?

<table><caption>TABLE 6 – Moyennes des perplexités des modèles de langue sur le sous-corpus de test.</caption><thead><tr><th></th><th>ML probabilités conditionnelles</th><th>ML LSTM</th><th>ML biLSTM</th></tr></thead><tbody><tr><td>n=2</td><td>90</td><td>14721</td><td>257646757092</td></tr><tr><td>n=3</td><td>126</td><td>1010690</td><td>235913940342</td></tr><tr><td>n=4</td><td>426</td><td>318251055</td><td>221055920422</td></tr><tr><td>n=5</td><td>1091</td><td>723946838</td><td>211044617070</td></tr><tr><td>n=6</td><td>1978</td><td>690749546</td><td>204520506752</td></tr><tr><td>n=7</td><td>2801</td><td>669397958</td><td>200184237186</td></tr><tr><td>n=8</td><td>3510</td><td>655634987</td><td>1161841181775</td></tr><tr><td>n=9</td><td>3940</td><td>647905538</td><td>13807745026062</td></tr><tr><td>n=10</td><td>4205</td><td>643364471</td><td>14481238375005</td></tr></tbody></table>

Les résultats précédents suggèrent que i) soit les modèles de langue sont de mauvaise qualité, ii)
soit le corpus de l'étude présente des spécificités particulières ou iii) soit les deux raisons précitées concourent à cette impasse.

Les modèles de langue ont été appris sur les œuvres de Bossuet, Chapelin, Ellain et Gournay. On peut donc les évaluer en calculant leur perplexité sur le sous-corpus des œuvres de Papin, Pascal, Sales et Viau. La table 6 présente les moyennes des perplexités des modèles de langue de l'étude calculées sur les vérités de terrain. Les modèles de langue LSTM et biLSTM présentent des perplexités aberrantes (ils sont non adaptés à la tâche) alors que seuls les modèles de langue à probabilités conditionnelles, pour $n \in [2; 4]$, présentent une meilleure qualité. Nous concluons donc que la mauvaise qualité des modèles de langue explique la non corrélation entre les estimateurs et le CER.

# 5 Conclusion

La mauvaise qualité des modèles de langue ne permet pas de valider ou réfuter notre hypothèse, selon laquelle agréger les probabilités des modèles de langue permettrait d'estimer la qualité d'une sortie d'OCR. Pour en faire l'expérience, il s'agirait de renouveler ces tests avec un ensemble plus vaste de transcriptions d'imprimés du XVIIe siècle. Nous cherchions à proposer une alternative au manque de vérités de terrain mais nous constatons qu'un ensemble de 108 pages (16 315 mots) est insuffisant. Si cela ne contredit pas l'éventuelle pertinence des estimateurs envisagés, un ensemble conséquent de données textuelles en français du XVIIe siècle reste nécessaire au bon apprentissage des modèles langue. Nous rassemblerons donc plus de données textuelles en français du XVIIe siècle pour reconduire l'expérience avec des modèles de langue de meilleure qualité.

Les programmes, en Python 3, sont mis à disposition sur : https://github.com/jbtanguy/RECITAL2020.

# Remerciements

Ce travail n'aurait pas été possible sans l'aide de Simon Gabay, Gaël Lejeune et Alice Millour.

# Références

BERG-KIRKPATRICK T. & KLEIN D. (2014). Improved Typesetting Models for Historical OCR. In K. TOUTANOVA & H. WU, Éds., *Actes de 52nd Annual Meeting of the Association for Computational Linguistics (Volume 2 : Short Papers)*, volume 2, p. 118–123, Baltimore, Maryland, États-Unis : Association for Computational Linguistics. Anthologie ACL : P14-2020.

BERMES E. (2020). *Le numérique en bibliothèque : naissance d'un patrimoine : l'exemple de la Bibliothèque nationale de France (1997-2019)*. Thèse de doctorat, Paris, Ecole nationale des chartes.

BREUEL T. M., UL-HASAN A., AL-AZAWI M. A. & SHAFAIT F. (2013). High-performance OCR for printed English and Fraktur using LSTM networks. In *Actes de 12th International Conference on Document Analysis and Recognition, ICDAR'13*, p. 683–687, Washington, DC, États-Unis : IEEE Computer Society.
CHEN S. F., BEEFERMAN D. & ROSENFELD R. (1998). Evaluation metrics for language models. In *Actes de DARPA Broadcast News Transcription and Understanding Workshop*, p. 275–280, Lansdowne, Virginia, États-Unis : Carnegie Mellon University.

GABAY S. (2019). OCRising 17th French prints. https://editiones.hypotheses.org/1958.

GUPTA A., GUTIERREZ-OSUNA R., CHRISTY M., CAPITANU B., AUVIL L., GRUMBACH L., FURUTA R. & MANDELL L. (2015). Automatic assessment of OCR quality in historical documents. In *Actes de Twenty-Ninth AAAI Conference on Artificial Intelligence*, p. 1735–1741, Austin, Texas, États-Unis.

KIESSLING B. (2019). Kraken-an universal text recognizer for the humanities. In ADHO, Éd., *Actes de Digital Humanities Conference 2019 - DH2019*, Utrecht, Pays-Bas.

LEJEUNE G. & ABIVEN K. (2019). Analyse automatique de documents anciens : tirer parti d'un corpus incomplet, hétérogène et bruité. *Information Retrieval, Document and Semantic Web*, **19**(1).

SMITH R. (2007). An overview of the Tesseract OCR engine. In *Actes de Ninth International Conference on Document Analysis and Recognition (ICDAR 2007)*, volume 2, p. 629–633, Parana, Brésil : IEEE.

SPRINGMANN U., FINK F. & SCHULZ K. U. (2016). Automatic quality evaluation and (semi-) automatic improvement of OCR models for historical printings. arXiv preprint : 1606.05157.

SPRINGMANN U. & LÜDELING A. (2016). OCR of historical printings with an application to building diachronic corpora : A case study using the RIDGES herbal corpus. arXiv preprint : 1608.02153.

SPRINGMANN U., NAJOCK D., MORGENROTH H., SCHMID H., GOTSCHAREK A. & FINK F. (2014). OCR of historical printings of Latin texts : problems, prospects, progress. In *Actes de First International Conference on Digital Access to Textual Cultural Heritage (DATeCH'14)*, p. 71–75, New York, NY, États-Unis : Association for Computing Machinery.

SPRINGMANN U., REUL C., DIPPER S. & BAITER J. (2018). Ground Truth for training OCR engines on historical documents in German Fraktur and Early Modern Latin. arXiv preprint : 1809.05501.

UL-HASAN A., BUKHARI S. S. & DENGEL A. (2016). Ocroract : A sequence learning ocr system trained on isolated characters. In *Actes de 12th IAPR Workshop on Document Analysis Systems (DAS)*, p. 174–179, Santorini, Grèce : IEEE.

VAMVAKAS G., GATOS B., STAMATOPOULOS N. & PERANTONIS S. J. (2008). A complete optical character recognition methodology for historical documents. In *Actes de Eighth IAPR International Workshop on Document Analysis Systems*, p. 525–532, Nara, Japon : IEEE.

WICK C., REUL C. & PUPPE F. (2018). Comparison of OCR Accuracy on Early Printed Books using the Open Source Engines Calamari and OCRopus. *ACM/IEEE Joint Conference on Digital Libraries 2018 (JCDL 2018)*, **33**(1), 79–96.
<figure><img src="image_72.png" /></figure>