Teaching - PIAD/PING


PIAD/PING : Projet de M1/M2 dans la filière IAD

Analyse de sentiments et linguistique

Description générale du projet

Ressources

Données

Les données disponibles sont nombreuses, des revues de films, de produits sur les sites de e-commerces, des bières et même des revues sur des médecins, des avocats et d'autres choses. Il suffit de chercher.

Nous nous limiterons à des problèmes binaires: d'un coté les revues positives, de l'autre les négatives. Toutes les revues ambiguës sont éliminées de l'apprentissage.

Pour commencer, je vous fournirai des jeux de données lors du premier RDV.

Chargement, Analyse préliminaire des données

La première étape consiste à charger les données textuelles et à les traiter:

  • D'abord avec le logiciel fourni sur ce site
  • puis avec les outils NLP de Stanford

Vous donnerez des éléments d'analyse: répartition, fréquence et nombre de mots, répartition des noms, verbes adjectifs en fonction des classes, taille des phrases...

Modèles de classification

La classification statistique sera effectuée avec LibSVM . Le but est ensuite d'extraire des motifs de type:

  • J'aime bien <<NOM>>

Il faut inventer des stratégies plus ou moins guidées pour trouver les motifs caractéristiques des différentes classes de données

Comparaison de modèles

Le but est de comparer le fonctionnement des modèles statistiques et linguistiques

Mise en valeur des résultats

Prototype 1 + baselines

Pour l'instant, pas de spécialisation en langue (usage de bases francophones ou anglophones)

Baseline

Construction des sacs de mots pour la base documentaire

  • Weka
  • utilisation de Mallet (mc Callum)
  • Soft dispo sur ce site
  • Construction à la main (séparation des mots et construction de la table de hachage)

Obtention des premiers résultats

  • classification binaire (suppression des documents 3 étoiles)
  • utilisation de libSVM ou libLinear (pour aller plus vite)

Modèles linguistiques

Idée: trouver des motifs caractéristiques d'une expression positive ou négative

Problème plus l'expression est complexe, moins elle apparait dans les documents... Or les bonnes règles sont assez fréquentes et discriminantes.

Proposition:

  • Analyse POS des documents
  • Recherche de motifs complexe (>= 3-grams)
  • Comme la combinatoire est trop grande, focalisation sur les motifs contenant des mots de sentiments extraits avec SVM
  • Chercher les permutations entre un mot et son POS qui:
    • maximise le nombre d'apparition du motif
    • conserve un bon pouvoir discriminant

Mise en valeur des résultats

  • Proposer des spécifications pour décrire les motifs
  • Construire quelques motifs à la main
  • Tester la détection/mise en valeur sur une URL