Le traitement des langues naturelles et de l’information
Le traitement des langues naturelles (T ALN) est un champ multidisciplinaire qui regroupe la linguistique, l’informatique, la logique, les mathématiques et la philosophie du langage et du raisonnement [1]. Chaque société humaine a au moins une langue. Actuellement, on peut compter plus de 6 000 langues parlées [2], quoique beaucoup de langues sont en voie de disparition, faute de locuteurs. Bien que le vocabulaire puisse être acquis continuellement, toute personne normale est capable de tenir une conversation courante dans sa langue maternelle, et ce, vers l’âge de cinq ans, avant la maîtrise du raisonnement. Les langues naturelles sont les langues humaines utilisées couramment; elles sont, en quelque sorte, des créations collectives spontanées auxquelles on ne peut attribuer de date de naissance précise. Elles s’opposent principalement aux langues formelles ou langues artificielles que sont notamment les langages de programmation informatiques ou la logique mathématique. Parmi les langues naturelles se trouvent également les créations linguistiques intentionnelles comme l’espéranto ou le volapuk, qui sont des langues internationales ou autres signes qui sont dédiés à être utilisés pour la communication. L’objet des sciences du langage est l’étude scientifique des langues naturelles. Les linguistes essaient de suivre les fonctionnements et universaux communs de ces langues ainsi que les structures qu’ elles partagent.
Ces linguistes ne sont pas nécessairement multilingues; ils cherchent à comprendre les règles qui régissent les langues, plutôt qu’à multiplier les connaissances qu’ ils ont de certaines d’entre elles [3]. L’ informatique joue un rôle de plus en plus important, à travers le domaine du traitement automatique du langage naturel (TA LN) dans la linguistique. L’ informatique ne se limite pas à la simple utilisation d’ordinateurs et de programmes. Le TALN est en fait l’héritier d’une longue tradition mathématique et logique de modélisation du calcul. On peut dire aussi que les fondements de l’ informatique sont doubles: coder les données en 0 et 1 des éléments discrets et coder les traitements par des algorithmes. C’est de cette manière qu ‘ il est possible de s’approcher du traitement automatique du langage. Introduire une démarche informatique dans un domaine fait appel aux mêmes questions: Quelles sont les données pertinentes de ce domaine? Quels sont les traitements pertinents de ce domaine? Comment les coder? [3] Pour maîtriser une langue, nous sommes invités à manipuler, nécessairement, de nombreuses données, et à mettre en oeuvre de nombreux traitements. Les linguistes les ont progressivement mis à jour et caractérisés, alors que les informaticiens ont progressivement contribué à les modéliser. Ces interactions font l’ objet de la naissance du TALN [3] . L’ informatique apporte non seulement une perspective nouvelle pour la démocratisation et le développement de la communication linguistique par l’outil informatique, ce qui a eu pour conséquence une multiplication exponentielle des corpus linguistiques, mais elle apporte aussi des outils de traitement et de gestion de masses de données qui sont incomparablement supérieurs à ceux que peut développer un humain. De ces apports, les sciences du langage peuvent et doivent dorénavant profiter de l’ informatique pour conduire leurs recherches et descriptions linguistiques.
Avantages et limites de KNlME
Le système Knime est une plateforme d’analyse de données qui permet à l’utilisateur de construire un flot de traitement de données et de comparer et de modifier des algorithmes de fouille de données ou de classification. Il dispose d’une interface utilisateur graphique pour combiner les noeuds. Les collections de noeuds sont connues comme des extensions. KNIME est basé sur Eclipse, la plateforme libre et Java [13]. Au départ, il y avait très peu de noeuds de chimie pour une utilisation avec KNIME. Cependant l’addition d’ un nouveau menu de programmation Java, beaucoup de noeuds ont été ajoutés. KNIME utilise une méthodologie de flux de travail, selon laquelle, lorsque la tâche 1 est terminée, les données sont transmises au large à la tâche 2, laquelle est terminée avant que les données soient remises à la tâche 3 et ainsi de suite [14]. Le traitement table par table de KNlME offre des avantages : les multiples itérations sur les mêmes données (important pour de nombreuses données sur les algorithmes d’extraction), la capacité de toujours afficher les résultats intermédiaires sur les connexions entre les noeuds, même après que le flux de travail a été exécuté, et la capacité de redémarrer le flux de travail à tout noeud intermédiaire. La pénalité consiste cependant en la nécessité de stocker les données quelque part, mais il est plus facile à mettre en cache les données à la fin de chaque tâche.
Dans un pipeline de données, une cache de toutes les données peut être ajoutée en tant que composant « finir ici et reprendre ». Enfin, même si KNIME est libre et moins cher, il est moins facile à utiliser. Par exemple, l’ outil KNIME Analytics Platform est libre et gratuit avec la possibilité d’acquérir des extensions selon le besoin. Cependant, la facilité d’utilisation est un critère subjectif, et la familiarité avec un autre système peut avoir une incidence sur elle [14]. KNIME Server ajoute les fonctionnalités complètes basées sur le serveur, y compris l’exécution à distance et prévue des flux de modélisation, un référentiel du flux de travail, des données partagées dans un référentiel géré, méta-noeuds partagés ou les flux de travail pour la réutilisation de composants, et l’accès au navigateur Web. L’interface du navigateur expose des flux de travail pour les utilisateurs qui peuvent entrer les paramètres définis pour un flux de travail et ainsi obtenir un résultat affiché dans le navigateur [13].
Avantages et limites de Pipeline Pilot
Pipeline Pilot est une plateforme qui permet aux utilisateurs de composer graphiquement des protocoles, en utilisant de différentes composantes configurables pour des opérations telles que la récupération de données, la manipulation, le filtrage informatique, et l’affichage. Donc, ce système permet la création scientifique graphique pour optimiser le processus de l’innovation en recherche, augmenter l’efficacité opérationnelle et de réduire les coûts à la fois pour la recherche et pour les technologies de l’information. Il permet également d’automatiser l’analyse scientifique des données, afin de donner la possibilité aux utilisateurs dans toute l’entreprise d’explorer, de visualiser et de présenter les résultats de recherche [15]. Java fait partie de la base de Pipeline Pilot et les programmeurs peuvent créer de nouveaux composants avec les composants API de Java ou de développer de nouvelles applications clientes, à l’encontre de SDK de Java.
En outre, Pipeline Pilot dispose de son propre langage de script (pour les non-programmeurs); par ailleurs, il a beaucoup plus de technologie chimio-informatique intégrée et le script est plus concis. Pipeline, comme Pipeline Pilot, se caractérise par une méthodologie de flux de travail où la tâche 1 est terminée sur le composant 1 et les données sont transmises à la tâche 2. La tâche 1 peut alors commencer sur le composant suivant. Cette transmission explique l’existence des flux de données de la tâche 1 vers la tâche 2. Le processus peut évoluer sans impact sur la mémoire, et l’efficacité est acquise si une opération en aval peut être commencée sur certains enregistrements pendant qu’ une opération en amont travaille toujours sur les autres. Dans certains marchés, ils ne font pas concurrences aux autres logiciels; Pipeline Pilot n’est pas conçu pour les applications non scientifiques; il a plutôt un rôle distinct à jouer au sein du portfolio de logiciels de Accelrys.
Enfin, les utilisateurs disent que Pipeline Pilot est très cher mais facile à utiliser. Cet outil offre aux spécialistes de la flexibilité, car des algorithmes ont été implémentés et déployés comme des composants dans l’environnement de forage de données où les scientifiques ont été capables d’avoir une grande flexibilité chimique dans la définition de leurs propres flux de travail. Ces flux de travail permettent l’implémentation rapide de tâches complexes et l’automatisation de leurs exécutions. Les composants d’analyse de Pipeline Pilot peuvent être couplés avec des algorithmes faits maison ou d’autres algorithmes provenant de vendeurs tiers pour permettre de multiples possibilités quant à l’ implémentation de tâches dans des protocoles [16]. Initialement, Pipeline Pilot a été utilisé principalement dans le domaine de la chimio-informatique. Il est maintenant utilisé dans d’autres domaines scientifiques comme le séquençage de prochaine génération (NOS) et l’imagerie. Aussi, grâce à la possibilité de l’évolution, Pipeline Pilot peut être utilisé pour les déploiements de masse de données provenant de ces domaines, ce qui est pratique pour les entreprises qui souhaitent l’utiliser. L’un des avantages de Pipeline Pilot est d’offrir plusieurs options de sauvegarde et d’ enregistrement de données. Cependant, la sauvegarde présente quelques désavantages, comme dans certains exemples d’applications avec une masse de données et surtout lors de l’ utilisation d’ un outil de sauvegarde intégrable dans Pipeline Pilot [15]. Par ailleurs, l’ outil Ftrees Writer, qui n’agit pas dans le domaine de traitement de texte, mais celui de molécules, permet d’écrire un jeu de données de molécules aux FTrees spéciales dans un format de fichier de base de données Pipeline Pilot. Alternativement, il est possible de stocker les molécules avec le descripteur de Feature Tree utilisant l’éditeur de cache Cache Writer ou au format SD molécule en utilisant l’éditeur de SD ‘SD Writer’ . Nous pouvons voir les avantages et les inconvénients de chaque format énumérés dans le tableau ci-dessous:
|
Table des matières
Résumé
Remerciements
Table des matières
Liste des figures
Liste des tableaux
Liste des abréviations, des sigles et des acronymes
Chapitre 1 INTRODUCTION
Chapitre 2 ÉTAT DE L’ ART
2.1 Introduction
2.2 Le traitement des langues naturelles et de l’information
2.2.1 L’analyse linguistique et le TALN
2.2.2 L’application et le TALN
2.3 Les systèmes experts
2.3.1 Définition
2.3.2 L’architecture des systèmes experts
2.4 L’étude des plateformes existantes
2.4.1 Avantages et limites de D2K!f2K
2.4.2 Avantages et limites de GATE
2.4.3 Avantages et limites de WEKA
2.4.4 Avantages et limites de KNIME
2.4.5 Avantages et limites de Pipeline Pilot
2.4.6 Les limites communes des plateformes étudiées
2.5 Les paradigmes de programmation
2.5.1 Programmation orientée objet
2.5.2 Programmation orientée aspect
2.5.3 Programmation fonctionnelle
2.6 Les langages de programmation pour l’ interface utilisateur
2.6.1 Le langage XAML
2.6.2 Le langage CLR
2.7 Conclusion
Chapitre 3 CONCEPTS ET OUTILS FONCTIONNELS
3.1 Introduction
3.2 La logique combinatoire
3.2.1 Le Combinateur d’effacement K
3.2.2 Le combinateur de distribution S
3.2.3 Le combinateur identité 1
3.2.4 Le combinateur de composition B
3.2.5 Le combinateur de duplication W
3.2.6 Le combinateur de coordination <1>
3.2.7 Le combinateur de distribution \jf
3.2.8 Le combinateur de changement de type C*
3.2.9 Le combinateur de permutation C
3.2.10 Les combinateurs complexes
3.2.11 Puissance d’un combinateur:
3.2.12 Combinateurs à distance :
3.3 Les grammaires applicatives et cognitives
3.3.1 Les grammaires catégorielles
3.3.2 Le calcul de Lambek
3.3.3 La grammaire applicative universelle de Shaumyan (GAU) :
3.3.4 La grammaire catégorielle combinatoire applicative
3.4 Conclusion
Chapitre 4 DELA THÉORIE VERS L’APPLICATION
4.1 Introduction
4.2 Le modèle formel pour le traitement des langues naturelles et de l’information
4.2.1 Présentation du modèle
4.2.2 Les modules
4.2.3 Chaîne de traitement
4.2.4 Types
4.2.5 Contraintes d’agencement
4.3 Rapprochement applicatif de la théorie
4.3.1 Les chaînes de traitement et le principe applicatif
4.3 .2 Rapprochement des règles de la GCCA
4.4 Cas possibles d’agencement de plusieurs modules
4.4.1 Agencement en série
4.4.2 Agencements en parallèle
4.4.3 Agencements variés
4.5 De la théorie vers l’applicatif par les algorithmes
4.5.1 Algorithme du caractère exécutable d’un module
4.5.2 Algorithme de traitement de modules: AlgorithmeTM
4.5.3 Algorithme de traitement la chaîne de modules AlgorithmeTC
4.6 Étude de cas
4.7 Conclusion
Chapitre 5 IMPLÉMENTATION ET EXPÉRIMENTATIONS
5.1 Introduction
5.2 Architecture du système
5.3 Implémentation
5.3. t Outils et langages choisis pour l’implémentation
5.3.2 Choix et représentation des modules
5.3.3 Les interfaces
5.3.4 Exemple de construction
5.3.5 L’ordre d’exécution
5.3.6 L’enregistrement des étapes de traitement
5.4 Expérimentations
5.4. t Cas reconnus avec succès
5.4.2 Cas reconnus qui n’auraient pas dus être reconnus: surgénération
5.4.3 Cas non reconnus avec succès
5.4.4 Cas non reconnus qui auraient dû être reconnus: sous-génération
5.5 Conclusion
Chapitre 6 CONCLUSION ET PERSPECTIVES
Annexe A : Expérimentations enregistrées
Annexe B : Guide d’utilisateur
Annexe C : Language F#
Bibliographie
Télécharger le rapport complet