Partager

CasFin

  Logo_ATILF_2023


Présentation de la cascade CasFin

La segmentation en phrases est une étape courante de prétraitement des données. Cependant, les systèmes existants ne prennent généralement pas en compte l'imbrication de phrases entre elles et nous retournent des résultats insatisfaisants, provoquant des ruptures de relations syntaxiques entre éléments lexicaux, principalement dans le cas des phrases comportant des guillemets.

Il nous est alors apparu que la notion de phrases secondaires incluses dans une phrase principale manquait pour obtenir un résultat convenable. Bien sûr, les phrases imbriquées étant globalement très minoritaires, cette question affecte peu les résultats globaux de ces outils sur un corpus donné.

Regardons ci-dessous les résultats de segmentation en phrases donnés par la cascade CasEN développée au Lifat pour la reconnaissance d'entités nommées.

Prenons un exemple issu du corpus distribué par Unitex (Le tour du monde en 80 jours, de Jules Verne) :

Certains gentlemen osaient dire : " Hé ! hé ! pourquoi pas, après tout ? On a vu des choses plus extraordinaires ! "
CasEN segmente cette phrase en cinq segments :

  1. <s>Certains gentlemen osaient dire :</s>
  2. "
  3. <s>Hé ! hé ! pourquoi pas, après tout ?</s>
  4. <s>On a vu des choses plus extraordinaires !</s>
  5. "

En fait, on attend plutôt une segmentation en une seule phrase principale :

<s>Certains gentlemen osaient dire [leur avis]</s>
Avec deux phrases secondaires du discours rapporté, argument du verbe dire :

  1. <s>Hé ! hé ! pourquoi pas, après tout ?</s>
  2. <s>On a vu des choses plus extraordinaires !</s>

Nous avons alors décidé de créer une cascade dédiée à la segmentation en phrases en prenant en compte les phrases imbriquées.

La cascade de graphes CasEN, créée pour la reconnaissance des entités nommées, commence par une prise en compte des balises XML et une segmentation en phrases, fortement inspirée du graphe proposé dans la distribution d'Unitex. Nous en avons extrait les graphes concernés et nous les avons placés dans une nouvelle cascade, nommée CasFin. La cascade ainsi réalisée marquait les débuts et fins de phrase, mais sans tenir compte des inclusions. Deux problèmes principaux se posaient : l'étude du contexte du caractère deux-points et les textes entre guillemets, parenthèses ou crochets.
 


Quelques exemples de comparaison entre CasEN et CasFin

Dans CasEN, le caractère deux-points, suivi d'un mot commençant par une majuscule, est considéré comme une fin de phrase. Or il s'agit parfois simplement du complément de la phrase de départ, ce qui interdit la segmentation à cet endroit. Par exemple, dans notre corpus :

Je le sais, monsieur Fogg, répondit la jeune femme, et je vous demanderai à mon tour : Me pardonnerez-vous de vous avoir suivi, et - qui sait ? - d'avoir peut-être, en vous retardant, contribué à votre ruine ?
La segmentation de cette citation obtenue par CasEN est la suivante :
<s>Je le sais, monsieur Fogg, répondit la jeune femme, et je vous demanderai à mon tour :</s> <s>Me pardonnerez-vous de vous avoir suivi, et - qui sait ? - d'avoir peut-être, en vous retardant, contribué à votre ruine ?</s>
La segmentation obtenue avec CasFin enlève la coupure de phrase après le caractère deux-points :
<s>Je le sais, monsieur Fogg, répondit la jeune femme, et je vous demanderai à mon tour : <s>Me pardonnerez-vous de vous avoir suivi, et - qui sait ? - d'avoir peut-être, en vous retardant, contribué à votre ruine ?</s></s>

Prenons un autre exemple, dans lequel l'adverbe puis introduit un complément et ne peut ici constituer une phrase à lui tout seul :

Puis : " A vous de couper, monsieur ", ajouta-t-il en présentant les cartes à Thomas Flanagan.
La segmentation de cette citation obtenue par CasEN est la suivante :
<s>Puis :</s> " <s>A vous de couper, monsieur ", ajouta-t-il en présentant les cartes à Thomas Flanagan.</s>
Alors que la segmentation obtenue avec CasFin enlève à nouveau la coupure de phrase après le caractère deux-points :
<s>Puis : " <s>A vous de couper, monsieur</s> ", ajouta-t-il en présentant les cartes à Thomas Flanagan.</s>


Téléchargement

Il est recommandé de mettre à jour Unitex. Il faut obligatoirement travailler avec la version stable 3.2 ou une version ultérieure. Depuis la version 3.2, Unitex permet une utilisation efficace des scripts utilisant des programmes Unitex (voir le chapitre 13 du manuel).

Pour télécharger CasFin, il faut accepter les termes de la licence LGPL-LR, dont le texte est rappelé sur ce site.

Le téléchargement ci-dessous contient cinq fichiers (ainsi que des exemples permettant des tests) :

  • CasEN_CasFIN_lingpkg.zip : Un package linguistique contenant l'ensemble des fichiers nécessaires à CasEN et à CasFin (un grand nombre de graphes étant communs, il nous a paru plus simple de ne pas les distinguer). Ce fichier est un fichier .zip, mais ne doit pas être dézippé. Il est commun à tous les systèmes d'exploitation.
  • multiLancementDeCasFIN_texte_brut.bat : Un script, à adapter à son ordinateur, pour traiter tous les fichiers d'un dossier. Tous ces fichiers doivent être des fichiers texte.
  • multiLancementDeCasFIN_texte_XML.bat : Un script, à adapter à son ordinateur, pour traiter tous les fichiers d'un dossier. Tous ces fichiers doivent être des fichiers XML.
  • lancementDeCasFIN_texte_brut.bat : Un script, à adapter à son ordinateur, pour traiter un fichier texte.
  • lancementDeCasFIN_texte_XML.bat : Un script, à adapter à son ordinateur, pour traiter un fichier XML.

Le script multiLancementDeCasFIN_texte_brut.bat contient la ligne ci-dessous :

"C:\Program Files (x86)\Unitex-GramLab\App\UnitexToolLogger.exe" { BatchRunScript -i .\OrigineCasFIN -e -o .\ResultatsCasFIN -t1 .\CasEN_CasFIN_lingpkg.zip -f -s script\CasFIN_texte_brut.uniscript }

C:\Program Files (x86)\Unitex-GramLab\App\UnitexToolLogger.exe est l'adresse complète du chemin menant au programme UnitexToolLogger (à modifier si besoin).

Remarque : l'option -e supprime l'extension d'origine. L'option -t1 précise qu'un seul cœur est utilisé et peut être remplacée par -t2, -t3... si le nombre de fichiers à traiter est important et si l'ordinateur possède plusieurs cœurs. Ces scripts sont des scripts Windows à adapter pour les autres systèmes d'exploitation (Mac, Unix...).

Le script multiLancementDeCasFIN_texte_XML.bat est identique au précédent, à part le nom du script Unitex à lancer. Ce script cache l'entête XML depuis la première balise (<?xml>, <TEI> ou autre) jusqu'à la balise <text> ou la balise <body>, puis de la balise </text> ou la balise </body> jusqu'à la dernière balise en fin de fichier.

Les scripts lancementDeCasFIN_texte_brut.bat et lancementDeCasFIN_texte_XML.bat sont identiques aux deux précédents, mais ne lancent CasFin que sur un seul fichier. Ils sont en mode verbose (-v).

Cliquez ici : Télécharger CasFin_fr.1.1 (version du 11 mars 2024).


Utilisation (et modification possible) de CasFin via l'interface d'Unitex

Il est possible d'adapter les cascades CasFin en utilisant l'interface d'Unitex. Pour cela, il faut installer Unitex, le lancer au moins une fois pour choisir votre répertoire personnel. Ensuite, il faut ouvrir le fichier CasEN_CasFIN_lingpkg.zip, puis le dossier resource et fusionner le dossier French qui s'y trouve avec le dossier French de votre répertoire personnel. Les fichiers seront placés directement dans les bons dossiers (CasSys et Graphs).

Cette fusion ajoute dans votre répertoire French l'ensemble de notre travail concerant CasEN et CasFin.

Remarque : les chemins indiqués dans les trois fichiers de cascade sont à la mode Windows, c'est-à-dire qu'ils comportent des antislashs. Les utilisateurs d'un autre système d'exploitation (par exemple, un Mac), auront peut-être à remplacer les antislashs par des slashs.

Avant de débuter la cascade, il faut lancer le preprocessing avec le graphe CasFinParagraphe.grf en mode Merge, avec aucun graphe en mode Replace et en appliquant les dictionnaires par défaut (Apply All default Dictionaries).

Hybridation de CasEN et CasFin

Le téléchargement ci-dessus contient aussi quatre scripts qui permettent le découpage en phrases, y compris imbriquées, proposé par CasFin et la reconnaissance d'entités nommées, proposée par CasEN. Ce sont, d'une part, les scripts lancementDeCasENCasFIN_texte_brut.bat et lancementDeCasENCasFIN_texte_XML.bat, et, d'autre part, les scripts multilancementDeCasENCasFIN_texte_brut.bat et multilancementDeCasENCasFIN_texte_XML.bat. Le résultat de ces scripts est au format TEI.

Tutoriels

Des tutoriels pour la prise en main d'Unitex et de CasSys sont disponibles sur ce site.

Pour nous citer

Ollinger S., Maurel D. (2024). Segmentation en phrases : ouvrez les guillemets sans perdre le fil. JADT


Pour nous contacter

Toute question, remarque ou signalement de bogue peut être envoyé à casen Arobase univ-tours Point fr.