CasANER

LIFAT université de Tunislaboratoire Miracl, Sfax, Tunisie


Présentation de CasANER

Suite à une fructueuse collaboration entre les laboratoires Lifat et Miracl (de Sfax, Tunisie), collaboration entre, d'une part, Denis Maurel et Nathalie Friburger et, d'autre part, Kais Haddar, une codirection de thèse a été mise en place entre l'université de Tours et celle de Tunis El Manar. L'étudiante concernée, aujourd'hui docteur, Fatma Ben Mesmia Chaabouni, a réalisé un système de reconnaissance des entités nommées en langue arabe, basé sur les mêmes principes que le système CasEN développé au Lifat.

La reconnaissance des entités nommées par la cascade d'analyse CasANER utilise des ressources lexicales et des descriptions locales de motifs, des transducteurs qui agissent sur le texte par des insertions, remplacements ou suppressions. Ces actions peuvent éventuellement être itératives. Elles peuvent aussi se faire "à la volée" sur un texte particulier en fonction des résultats des transducteurs précédents. La plateforme Unitex permet une écriture et une maintenance faciles de ces transducteurs en les présentant à l'utilisateur sous forme de graphes. Le principe d'une cascade est de pouvoir utiliser dans les descriptions suivantes les motifs déjà détectés ou, au contraire, d'éviter un étiquetage non souhaité pour un motif déjà reconnu.


Un exemple de balisage avec CasANER

En lançant la cascade d’analyse de CasANER (CasANER.csc), la phrase suivante, extraite du corpus distribué par Unitex (Hayy ibn Yaqdhan.txt) :

 

   

فمنهم من بت الحكم وجزم القضية بأن حي بن يقظان من جملة من تكون في تلك البقعة

 

va être transformée successivement par :

  • Le graphe « PersName » qui identifie les noms de personne ;
  • Le graphe « PersNameFiltering » qui identifie les noms de personne non reconnus par le graphe précédent ;

pour donner (Hayy ibn Yaqdhan_csc.raw) :

 

   

فمنهم من بت الحكم وجزم القضية بأن {\{حي\,\.forename\}\{ بن يقظان\,\.surname\},.persName} من جملة من تكون في تلك البقعة

 

Ce format permet l’affichage de la concordance après l’application de la cascade d’analyse, mais n’est un peu lisible. Pour cela, un autre fichier résultat est disponible dans un format XML-CasSys (Hayy ibn Yaqdhan_csc.txt) :

 

   

فمنهم من بت الحكم وجزم القضية بأن <csc> <form> <csc> <form> حي </form> <code>forename </code> </csc> <csc> <form> بن يقظان </form> <code>surname </code> </csc> </form> <code>persName </code> </csc> من تكون في تلك البقعة من جملة

 

Si la sortie XML-CasSys ne correspond pas au balisage souhaité (ce qui est le cas en général), le fichier _csc.txt peut être ouvert sous Unitex pour le passage d’une deuxième cascade. Ainsi, CasANER (comme CasEN) est en fait composé de deux cascades, une cascade d’analyse et une cascade de synthèse.

Pour notre exemple, et pour la synthèse TEI (NormalizationTEI.csc), le résultat de cette deuxième cascade est :

 

   

فمنهم من بت الحكم وجزم القضية بأن <persName> <forename> حي </forename> <surname> بن يقظان </surname></persName> من جملة من تكون في تلك البقعة

 

qui sera la sortie effective de CasANER.


Téléchargement de CasANER

Il est recommandé de mettre à jour Unitex. Il faut obligatoirement travailler avec la version stable 3.2 ou une version ultérieure. Pour installer CasANER, décompressez le fichier téléchargé dans votre répertoire personnel Unitex). Les fichiers seront placés directement dans les bon dossiers (Arabic, CasSys, Dela et Graphs).

Le téléchargement ci-dessous contient :

  • Deux fichiers cascade (.csc) à placer dans le dossier Cassys. Ces fichiers contiennent le chemin (à partir du dossier Graphs) et l’ordre de passage des graphes (cascade d’analyse et cascade de synthèse, version TEI).
  • Les graphes des deux cascades à placer dans un dossier CasANER du répertoire Graphs. Celui-ci est divisé en deux sous-dossiers, respectivement : Graphs\CasANER\CasANER_analyse et Graphs\CasANER\CasANER_synthese.
  • Un graphe de prétraitement (DeleteLinkRelatedToWikipediaArticles.grf) est proposée pour les articles extraits à partir de Wikipédia afin d’éliminer les liens internes. Il se place dans le dossier Preprocessing\Replace\CasANER

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

Cliquez ici : Télécharger CasANER.1.1 (version du 9 mars 2020).

Avant de débuter la cascade, Il faut effectuer obligatoirement le preprocessing avec la segmentation du texte en phrases, en sélectionant le graphe Sentence.grf disponible sous Unitex, dans le dossier : Arabic\Graphs\Preprocessing\Sentence.

Il faut ensuite appliquer les ressources lexicales (menu Text/Apply lexical resources) en sélectionnant en même temps :

  • À droite, les huit premiers dictionnaires de la distribution d'Unitex :
    • 5noms.bin
    • 5noms_d.bin
    • adv.bin
    • adv_d.bin
    • DELAF_N.bin
    • DELAF_N_d.bin
    • DELAF_V.bin
    • DELAF_V_d.bin
  • À gauche, tous les dictionnaires de la distribution de CasANER :
    • AdjectifArabe.bin
    • commonNoun.bin
    • Direction.bin
    • JourDate.bin
    • LastName.bin
    • Moisdate.bin
    • Particules.bin
    • prenoms.bin
    • Preposition.bin
    • Pronoms.bin
    • Season.bin
    • Toponym.bin

Remarque : si on utilise uniquement CasANER, le bouton SetDefault de ce même menu Text/Apply lexical resources permet d'enregistrer ces deux listes comme dictionnaires par défaut. Ces dictionnaires pourront alors être lancés par le preprocessing.

Enfin, pour traiter l’agglutination, il faut ajouter dans l’onglet Morphological-mode dictionaries du menu Info/Preferences for Arabic les dictionnaires suivants :

  • AdjectifArabe.bin
  • commonNoun.bin
  • Particules.bin
  • prenoms.bin
  • Toponym.bin

Tutoriels

Téléchargement des scripts CasANER

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 les scripts CasANER, 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 trois fichiers :

  • CasANER_lingpkg.zip : Un package linguistique contenant l'ensemble des fichiers nécessaires à CasANER. Ce fichier est un fichier.zip, mais ne doit pas être dézippé.
  • lancementDeCasANER.bat : Un script, à adapter à son ordinateur, pour traiter un fichier.
  • multiLancementDeCasANER.bat : Un script, à adapter à son ordinateur, pour traiter tous les fichiers d'un dossier.

Le script lancementDeCasANER.bat pour traiter un fichier contient la ligne suivante :

 

"C:\Program Files (x86)\Unitex-GramLab\App\UnitexToolLogger.exe" { SelectOutput --output=off } { InstallLingResourcePackage -p C:\Documents\ScriptsCasANER\CasANER_lingpkg.zip -x $:UnitexPkgResource -v } { RunScript -v -a INPUT_FILE_1=C:\Documents\ScriptsCasANER\Essai\Hayy-ibn-Yaqdhan.txt -a CORPUS_WORK_DIR=$:UnitexPkgWork -a PACKAGE_DIR=$:UnitexPkgResource -a OUTPUT_FILE_1=C:\Documents\ScriptsCasANER\Essai\Hayy-ibn-Yaqdhan_result.txt $:UnitexPkgResource\script\CasANER.uniscript } { InstallLingResourcePackage -p C:\Documents\ScriptsCasANER\CasANER_lingpkg.zip -x $:UnitexPkgResource -u -v }

 

où sont notées avec l'adresse complète quatre informations à modifier:

  • Le chemin menant au programme UnitexToolLogger : C:\Program Files (x86)\Unitex-GramLab\App\UnitexToolLogger.exe
  • Le chemin menant au package linguistique CasANER_lingpkg.zip : C:\Documents\ScriptsCasANER\CasANER_lingpkg.zip
  • Le chemin et le nom du fichier à analyser : Hayy-ibn-Yaqdhan.txt : C:\Documents\ScriptsCasANER\Essai\Hayy-ibn-Yaqdhan.txt
  • Le chemin et le nom du fichier résultat : Hayy-ibn-Yaqdhan_result.txt : C:\Documents\ScriptsCasANER\Essai\Hayy-ibn-Yaqdhan_result.txt

Le script multiLancementDeCasANER.bat pour traiter tous les fichiers d'un dossier contient la ligne ci-dessous :

 

"C:\Program Files (x86)\Unitex-GramLab\App\UnitexToolLogger.exe" { BatchRunScript -e -i C:\Documents\ScriptsCasANER\DossierOrigine -o C:\Documents\ScriptsCasANER\DossierResultats -t2 C:\Documents\ScriptsCasANER\CasANER_lingpkg.zip -f -s script\CasANER.uniscript }

 

où sont notées avec l'adresse complète cinq informations à modifier:

  • Le chemin menant au programme UnitexToolLogger : C:\Program Files (x86)\Unitex-GramLab\App\UnitexToolLogger.exe
  • Le chemin et le nom du dossier contenant les fichiers à analyser : C:\Documents\ScriptsCasANER\DossierOrigine
  • Le chemin et le nom du dossier contenant les fichiers résultat : C:\Documents\ScriptsCasANER\DossierResultats
  • Le nombre de coeurs utilisés : argument -t, ici, pour un cœur, -t1 (pour deux cœurs, -t2, etc.)
  • Le chemin et le nom du package linguistique CasANER_lingpkg.zip : C:\Documents\ScriptsCasANER\CasANER_lingpkg.zip

Les deux scripts proposés, lancementDeCasANER.bat et multiLancementDeCasANER.bat, sont des scripts Windows. Il est possible de les remplacer par des scripts identiques sur une autre plateforme. Et de les partager sur cette page ensuite !

Cliquez ici : Télécharger Scripts_CasANER.1.1 (version du 9 mars 2020).

Pour nous citer

Ben Mesmia F., Haddar K., Friburger N., Maurel D. (2017). CasANER: Arabic Named Entity Recognition Tool. In: Shaalan K., Hassanien A., Tolba F. (eds) Intelligent Natural Language Processing: Trends and Applications. Studies in Computational Intelligence, vol 740. Springer, Cham, 173-198.


Pour nous contacter

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