Teaching - TAL

Page principale de l'UE


Traitement Automatique de la Langue

Tutoriel CoreNLP (Stanford)

Installation

Récupération des bibliothèques:

Attention >300Mo avec les modèles, il faut travailler sur clé USB ou sur le /tmp des machines sinon vos quotas vont être dépassés (utiliser enregistrer sous, ne pas passer par votre compte.

Attention (2) nécessite JAVA 8 pour fonctionner

JAVA

Utilisation des outils dans une IDE (eclipse ou netbeans). Le tutoriel suivant est plutôt orienté eclipse.

  • Créer un répertoire de travail dans /tmp
  • Ouvrir l'IDE en donnant comme chemin le repertoire précédent
  • Créer un projet: File -> new -> Java Project ATTENTION à la configuration
    • Cliquer sur Configure JRE
    • Search... Choisir un répertoire: /usr/lib/jvm/jdk1.8...
    • Valider, cocher la nouvelle JRE, cocher Use default JRE dans le panneau de création du projet
  • Ajouter la bibliothèque pour accéder aux fonctions
    • clic droit sur le projet
    • Build Path -> manage build path
    • Libraries -> add external jar -> selection tous les jar

Premiers pas

  • Récupérer le fichier StanfordCoreNlpDemo.java dans le répertoire téléchargé
  • Exécuter le code
  • Le texte à analyser est dans un objet Annotation
    • il est divisé en phrase, puis en token

Le but de ces premiers pas est de comprendre les outils disponibles dans le package:

  • Tokenization (évidemment)
  • POS tagging
  • Analyse morpho-syntaxique
  • Coréférence

Proposer quelques exemples de phrases, comprendre le découpage en phrases puis token, analyser les résultats des différentes analyses.

Analyse de sentiments

  • Pour utiliser le code + modèle inclus:
 java -cp "*" -mx5g edu.stanford.nlp.sentiment.SentimentPipeline -stdin
  • Pour intégrer le module dans un code JAVA: lien
  • [Optionel] Pour apprendre un modèle: http://nlp.stanford.edu/sentiment/code.html
  • De manière générale, il suffit de décompresser le jar source et de récupérer les chaines de traitement existantes

Analyse de corpus

Comment utiliser les outils sur les corpus précédemment étudiés?

  1. Importer les corpus en JAVA et travailler sous l'IDE
  2. Utiliser un wrapper python pour utiliser les fonctions CoreNLP depuis python.

Idées d'analyses

  • Ajouter des traitements sur les corpus précédemment utilisés et étudier l'impact sur les performances:
    • Enlever les entités nommées
    • Supprimer certains POS (nom...)
    • Lemmatiser les mots
    • Se focaliser sur certaines portions de phrases
  • Utiliser une API dédiée à twitter (https://dev.twitter.com/overview/api/twitter-libraries), en python ou en JAVA, et appliquer les traitement vus précédemment sur des tweets.