CasFin
Une page plus récente se trouve sur le site Ortolang.
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) :
- <s>Certains gentlemen osaient dire :</s>
- "
- <s>Hé ! hé ! pourquoi pas, après tout ?</s>
- <s>On a vu des choses plus extraordinaires !</s>
- "
En fait, on attend plutôt une segmentation en une seule phrase principale :
- <s>Hé ! hé ! pourquoi pas, après tout ?</s>
- <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 :
Prenons un autre exemple, dans lequel l'adverbe puis introduit un complément et ne peut ici constituer une phrase à lui tout seul :
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 }
où 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.