Lsi

365 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
365
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
7
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Lsi

  1. 1. Documents textuels et ingénierie linguistique
  2. 2. Thème du cours● Montrer des techniques informatiques pour trouver, classer, extraire linformation dans des masses de données textuelles● Combiner des techniques « classiques » avec des techniques de lingénierie linguistique● Applications: – recherche de documents (ex. google) – filtrage et classification de documents (ex. antispam) – extraction dinformation (ex. qui est le president colombien ?) – résumé automatique, traduction, ...
  3. 3. Cours pluridisciplinaire● mathématique et informatique : – algorithmique, – formalismes, – probabilités, ...● linguistique : – ressources (dictionnaires, grammaires) – annotation, ...
  4. 4. Organisation● Cours complémentaire de celui dEric Laporte (ingénierie linguistique par la linguistique)● notre cours: vision applicative avec approches hybrides● 6h de cours● 8h de TD/TP● Projet: antispammer ?
  5. 5. INTRODUCTION GENERALE
  6. 6. Constat de départ● Augmentation exponentielle du nombre de documentselectroniques textuels disponibles – pages web (internet) – courriels, SMS – documents dentreprises, ...●Documents en général non structurés=> pas moyen dobtenir des informations de manière simple
  7. 7. Solutions● Solutions: – Indexer les documents – Classer les documents – Structurer les documents – ...● travail manuel vs. automatique
  8. 8. Approche purement informatique (1)● on ne sintéresse quà la forme graphique – un texte = une séquence de mots ou un sac de mots – mot = une séquence de lettres● technique basique – répertorier les mots, les compter – répertorier leurs contextes gauche et droite, compter – utiliser des formules de la théorie de linformation, pour mettre en relation ● les mots et les documents ● les documents entre eux ● les mots entre eux
  9. 9. Approche purement informatique (2)● Avantages : – simplicité dimplémentation – rapidité dexécution● Limitations : – est-ce quon est capable daller très loin, si on cherche des informations précises ?● Opérations sur les documents : – indexation [ok] – classification [ok] – structuration [quelle précision ??]
  10. 10. Ingénierie linguistique (1)● construire ou utiliser des processus informatiques pour déterminer les informations linguistiques dans un texte : – informations grammaticales (ex. catégorie: nom, verbe, etc.) – informations morphologiques (ex. le genre et le nombre dun nom, le temps dun verbe) – informations syntaxiques (ex. regroupement de mots, determiner le sujet, le verbe, les complements) – informations sémantiques (déterminer le sens) ...
  11. 11. Ingénierie linguistique (2)● Avantage dune combinaison avec outils classiques: – meilleure connaissance du texte – donc potentielle meilleure exploitation informatique du texte – extraction dinformations (plus) précises● Limitations: – temps dexécution – outils existants pas toujours performants – difficulté à mettre en oeuvre – ressources linguistiques nécessaires parfois limitées
  12. 12. Plan du cours● 3 cours de 2h (=> 6h)● Description d applications – recherche de documents (indexation) – classification de documents – extraction dinformation● Implantations réelles en TD – 3 TD/TP pour manipuler les notions vues en cours – projet: antispammer – 1 TD/TP de suivi de projet
  13. 13. Quelques termes de linguistique● phrase : M. Dupond a mangé 12 pommes dans les bois. Cest chouette !● token : M,., Dupond, a, mangé, 12● forme fléchie : a, mangé, pommes, les● forme canonique (lemme): avoir, manger, pomme, le● racine : av, mang, pomm
  14. 14. Quelques termes de linguistique● catégorie grammaticale : les => déterminant, mangé => verbe● synonyme : beau, joli; agression, attaque, violence● dérivé : agression => agresser, agresseur● hyperonyme : animal <= oiseau
  15. 15. Quelques termes de linguistique● constituant syntaxique simple (chunk) – constituant verbal (CV) : mangent, na pas mangé – constituant nominal (CN) : 12 pommes – constituant nominal prépositionnel (CNP): dans les bois [M. Dupond CN] [a mangé CV] [12 pommes CN] [dans les bois CP] sujet verbe cpt objet cpt cirscontanciel● tête du constituant a mangé => mangé 12 pommes => pommes
  16. 16. Quelques traitements linguistiques● segmentation – en phrases: découper un texte en phrases – en tokens: découper un texte en tokens● étiquetage morphosyntaxique assigner une catégorie grammaticale aux mots du texte (+ autres informations: genre, nombre)● analyse syntaxique superficielle (chunking) regrouper les mots en consituants simples et extraire leur tête
  17. 17. Quelques traitements linguistiques● analyse syntaxique : déterminer les constituants syntaxiques et leurs fonctions syntaxiques dans la phrase
  18. 18. Références principales du cours● Ruslan Mitkov, The Oxford Handbook of Computational Linguistics, Oxford University Press, 2003● divers cours sur le web
  19. 19. RECHERCHE DOCUMENTAIREET REPRESENTATION DES TEXTES
  20. 20. Objectif● Objectif Etant donnée une requête, le système doit renvoyer une liste de documents textuels, triée par ordre de pertinence par rapport à la requête● Types de documents – spécialisés, avec des meta-données (mini-structure) [ex. bibliothèque] – hétérogènes, non structurés [ex. web] – etc.
  21. 21. plan● Partie I: Techniques de recherche documentaire● Partie II: Indexation et pré-traitements linguistiques● Partie III: « pré- traitement » de la requête
  22. 22. Partie ITechniques de recherche documentaire
  23. 23. Processus général● Processus « offline » : – pré-traitement des textes – construction de lindex et de la représentation des textes● Processus « on-line » – préfiltrage des documents – calcul de la pertinence de chacun de ces documents par rapport à la requête (si possible) – tri des documents dans lordre décroissant de pertinence (si possible)
  24. 24. Systèmes booléens (1)● Les requêtes : mots-clés reliés par des opérateurs logiques booléens (ex. AND, OR, NOT) (automobile OU vehicule OU voiture) AND NOT Renault● Souvent utilisés sur les sites commerciaux
  25. 25. Systèmes booléens (2)● Avantage: – sémantique précise (représentation booléenne) – efficacité computationnelle● Limitations: – décisions binaires (pas de réponse graduée) – pas toujours évident pour un utilisateur de traduire ses besoins sous la forme dune requête avec opérateurs booléens
  26. 26. Systèmes avec représentation par espaces vectoriels● document ou requête est une séquence de mots● représentation sous la forme dun vecteur● chaque élément du vecteur est un réel qui correspond au poids dun mot donné dans le document ou la requete● calcul du poids dun mot basé sur les fréquences doccurrence
  27. 27. Exemple Documents : (1) Les enfants aiment les voitures bleues et les voitures rouges. (2) Les voitures bleues sont mieux vendues que les rouges. les enfants aiment voitures bleues et rouges sont mieux vendues que(1) 3 1 1 2 1 1 1 0 0 0 0(2) les enfants aiment voitures bleues et rouges sont mieux vendues que 2 1 0 1 1 0 1 1 1 1 1 ici: composante= fréquence dans le document
  28. 28. Systèmes avec représentation par espaces vectoriels (2) pertinence et cosinus● Le cosinus permet de calculer langle entre deux vecteurs, soit comparer leur direction;● Comme documents et requêtes sont des vecteurs, on peut calculer leur proximité par leur cosinus● La valeur du cosinus est normée (entre 0 et 1, car les composantes sont positives) – si le cosinus tend vers 1 => les deux documents sont proches – si le cosinus tend vers 0 => les deux documents sont éloignés
  29. 29. Exemple ● Requête = enfants voitures les enfants aiment voitures bleues et rouges 0 1 0 1 0 0 0 ● Document les enfants aiment voitures bleues et rouges 3 1 1 2 1 1 1 ● Cosinus: 0∗31∗10∗11∗20∗10∗10∗1p  document , requete= =0.5  0 1 0 1 0 0 0 ∗3 1 1 2 1 1 1  2 2 2 2 2 2 2 2 2 2 2 2 2 2
  30. 30. Systèmes avec représentation par espaces vectoriels (3)● la pertinence dune requête par rapport à un document nest pas binaire (ex. cosinus entre vecteurs)● Amélioration de la précision de la réponse du système● Simplicité et popularité du modèle
  31. 31. Partie IIIndexation
  32. 32. Difficulté● indexation de tous les mots => pas toujours très intéressant: ● perte de précision ; ● besoin de beaucoup de mémoire● solution : indexer les mots-clés/termes (les mots importants) destextes● Problème: comment déterminer limportance dun mot dans untexte ?
  33. 33. Exemple (meilleure précision)● Requête = enfants voitures les enfants aiment voitures bleues et rouges 0 1 0 1 0 0 0● Document les enfants aiment voitures bleues et rouges 3 5 1 10 1 1 1 ● Cosinus: 1∗50∗11∗100∗10∗1p  document , requete= =0.94  1 0 1 0 0 ∗ 5 1 10 1 1 2 2 2 2 2 2 2 2 2 2
  34. 34. Exemple (moins de mémoire)● D1:Luc aime les champignons.● D2: Les champignons sont très dangereux.● Index: Luc => D1; aime=> D1; les => D1; Les => D2; champignons=> D1,D2; sont=>D2; très=>D2; dangereux=>D2;
  35. 35. Exemple (moins de mémoire)● D1: Luc aime les champignons.● D2: Les champignons sont très dangereux.● Index allégé: luc => D1; aime=> D1; champignons=> D1,D2; sont=>D2; dangereux=>D2;
  36. 36. Pré-traitements simples exemples● segmentation des textes en mots● les mots indexés sont mis en minuscule Les => les● les lettres accentuées sont transformées en lettres non accentuées très => tres
  37. 37. Pondération par TF-IDF● Idée: – la fréquence dun terme dans un document peut donner une idée de son importance, mais – les termes qui apparaissent dans beaucoup de documents ne sont pas très utiles pour discriminer la pertinence ou la non- pertinence dun document
  38. 38. Pondération par TF-IDF (2)● calcul du poids p(i,j) du terme i dans le document j basé sur la mesure TF-IDF● Formule: – tf(i,j) = fréquence dapparition du terme i dans le document j – df(i) = nombre de documents contenant i – N = nombre de documents N pi , j=tf i , j∗log df i
  39. 39. Pondération par TF-IDF (4) Exemple N pi , j=tf i , j∗log df i● N = 100● un mot très fréquent dans un texte (ex. 10 occurences), mais présent dans beaucoup de documents (ex. 80 textes) p = 1.0● un mot peu fréquent dans un texte (ex. 2 occurences), mais présent dans peu de textes (ex. 5) p = 6.0
  40. 40. Pondération par TF-IDF (6)● Avantage: – facile à implémenter – marche assez bien (pour langlais notamment) – dautres mesures similaires● Limitation – basé uniquement sur des fréquences => ça a forcément des ratés – pas toujours efficace pour toutes les langues (langues très fléchies par exemple)
  41. 41. Prétraitements linguistiques mots pleins vs. mots grammaticaux● mots pleins: – adjectifs, noms, verbes – portent la quasi-totalité du sens● mots grammaticaux: – déterminants, pronoms, conjonctions, ... – ont moins dimpact pour déterminer de quoi parle un texte
  42. 42. Prétraitements linguistiques mots pleins vs. mots grammaticaux (2)● Conséquence: – les mots grammaticaux sont souvent supprimés de la représentation du texte et de lindex => la taille des représentations diminue, donc lefficacité augmente● Deux méthodes: – filtrage par liste de « stopwords » (ex. mots grammaticaux, mots très fréquents) – filtrage après application dun étiqueteur morphosyntaxique
  43. 43. Filtrage par liste de « stopwords »● Utiliser une liste de mots grammaticaux: le, la, les, un, une, des, ... et, ou, donc, or, ...● Tout mot de cette liste ne sera pas indexé quand il apparaitra dans un texte
  44. 44. Filtrage par liste de « stopwords » (2)● Limitation: ne traite pas l ambiguité selon le contexte, certains mots ont des sens différents la (note de musique) or (métal)
  45. 45. Filtrage après etiquetage morphosyntaxique● Etiquetage morphosyntaxique: Elle_PRO a_V également_ADV fait_V savoir_V lundi_ADV qu_CONJ elle_PRO ne_ADV nommerait_V pas_ADV de_PREP Premier_A ministre_N par_PREP intérim_N dans_PREP les_DET quatre_DET ou_CONJ cinq_DET prochains_A jours_N.● Puis filtrage des mots grammaticaux a_V fait_V savoir_V nommerait_V Premier_A ministre_N intérim_N prochains_A jours_N.
  46. 46. Regroupement morphologique des mots par racinisation et lemmatisation● priver, privent, priva forment un même groupe morphologique● et pourquoi pas: privation● Solutions: – racinisation ● raciniseurs traditionnels (Porter): + efficace, - précis ● raciniseur plus linguistique: - efficace, + précis – lemmatisation
  47. 47. Problème de la racinisation● sur-racinisation il y a des groupes morphologiques différents qui ont la même racine (=> bruit) instituteur, institutrice, institution => institut● sous-racinisation il y a des mots dun même groupe morphologique qui ont des racines différentes (=> silence) acquire, acquiring, acquired => acquir acquisition => acquis
  48. 48. lemmatisation-? pas de mots dérivés dans le même groupe morphologique active, activa, activons => activer activations, activation => activation+ pas de groupes différents qui ont le même lemme instituteurs; institutrice => instituteur institution, institutions => institution
  49. 49. Repérage dexpressions multi-mots● Les mots composés – filtrage: ● à peine.ADV ● un grand nombre de.DET ● à proximité de.PREP – plus de précision que les mots pris séparement ● maison blanche ● fil rouge
  50. 50. Repérage dexpressions multi-mots (2)● les constituants simples => extraction de la tête lemmatisée a beaucoup surpris_CV => surprendre les agressions successives_CN => agression● entités nommées : Jacques Chirac, Fédération Française de Football
  51. 51. Repérage dexpressions multi-mots (3)● les collocations: séquences de mots qui ont tendance à apparaître ensemble, pas forcément des constituants simples réaliser un souhait; construire un barrage● reconnaissance de variations dune même expression multi-mot malignancy in orbital tumours = malignant tumours● On donne un poids plus grand aux expressions multi-mots par rapport au poids de leurs constituants : poids (m1 m2) > poids(m1) + poids(m2)
  52. 52. ExempleDocument:Les jeunes aiment payer avec leur carte bleue.Prétraitement:jeune;aimer;payer;carte;carte bleue jeune aimer payer carte carte bleue 5 1 3 5 10
  53. 53. Problèmes des prétraitements linguistiques● précision des outils linguistiques pas toujours au rendez-vous● efficacité: plus linformation linguistique est précise, plus cest coûteux en temps Exemple: lanalyse profonde dune phrase dune vingtaine de mots prend au moins 1s.
  54. 54. Lacunes de lindexation basée sur les termes● polysémie: on retrouve des documents non pertinents (bruit) peine (SENTIMENT, JUSTICE, ...)● synonymie: on ignore des documents pertinents (silence) claque = gifle
  55. 55. Solution Indexation basée sur des concepts abstraits● Indexation basée sur des concepts abstraits pour rechercher une correspondance de concepts et non de termes● un concept abstrait est défini par plusieurs termes (permet de gérer la synonymie)● un terme peut exprimer plusieurs concepts abstraits (permet de gérer la polysémie)
  56. 56. Indexation Sémantique Latente● Idée de base : il existe une sémantique sous-jacente à une collection de textes● Méthode : projection de la représentation dun document basée sur les termes en une représentation basée sur des concepts abstraits● Difficulté : dégager des concepts à partir déléments plus primitifs (les mots)● Technique : utiliser la décomposition dune matrice en élements singuliers (SVD)
  57. 57. Indexation Sémantique Latente (2)● Soit M matrice termes-documents de dimension m x d● M(i,j) est le poids du mot i dans le document j● colonne = espace vectoriel dun document● Objectif: réduire lespace de représentation – obtenir une projection de lespace vectoriel dun document (par termes) dans un espace conceptuel de dimension k (par concepts) avec k petit => obtenir une matrice Vk de dimension d x k représentant tous les documents dans lespace conceptuel
  58. 58. Indexation Sémantique Latente (3) Décomposition en valeurs singulières● Décomposition en valeurs singulières (SVD): T M =U .  .V● M : matrice termes-documents de dimension m x d● U : matrice de dimension m x d● : matrice diagonale de dimension d x d avec  > j pour i < j i● VT : matrice de dimension d x d
  59. 59. Indexation Sémantique Latente (4) Décomposition en valeurs singulières● Décomposition en valeurs singulières (SVD):  VT M = U mxd mxd dxd dxd
  60. 60. Indexation Sémantique Latente (6) Réduction de lespace k V kT Mk = Uk mxd mxk kxk kxd● Mk : matrice « termes-documents » approchée de M● Uk : matrice « termes-concepts » de dimension m x k● Vk : matrice « documents-concepts » de dimension d x k
  61. 61. Indexation Sémantique Latente (7)● La nouvelle matrice est Vk : représentation des documents dans lespace vectoriel conceptuel de dimension k.● Pour comparer les documents avec la requête, il sagit maintenant de projeter la requête dans lespace conceptuel réduit à k, par la formule : T −1 q k =q U k  k
  62. 62. Indexation Sémantique Latente (8)● Avantage: – méthode purement mathématique – réduction de lespace – augmentation de la précision● Limites: – pré-traitements lourds – traitement plus important de la requête (projection de la requête dans lespace conceptuel)
  63. 63. Pre-traitement des requêtes
  64. 64. Traitements linguistiques● On effectue une partie des pré-traitements linguistiques effectués lors de lindexation : – repérage des mots – racinisation ou lemmatisation – repérage des expressions multi-mots● Exemple: – enfants voitures => enfant;voiture – culture pomme de terre => culture;pomme;terre;pomme de terre
  65. 65. Expansion automatique de la requête● Il est possible détendre les requêtes avec les synomymes des mots de la requête (utilisation de dictionnaires de synonymes) agression ville => agression, agressivité, violence agglomération;bourg; commune;village;ville● Mais cela donne des résultats pas toujours très bons
  66. 66. Expansion automatique de la requête (2) Problèmes● ambiguité de sens: peine (JUSTICE ou SENTIMENT ou ...) peine = châtiment, peine, punition, sanction peine = abattement, affliction, ennui, peine, tristesse peine = difficulté,labeur● Solution: lever lambiguité au moyen des autres mots de la requête qui donnent un petit contexte Solution limitée car elle dépend de la taille de la requête
  67. 67. Expansion automatique de la requête (3) Problèmes● Deux synonymes ont le plus souvent des petites différences de sens Exemple: ville ; agglomération ; bourg ; village● Deux synonymes ne semploient pas toujours dans le même contexte
  68. 68. Expansion semi-automatique de la requête● Quand elle est trop générale, la requête a besoin dêtre raffinée● Une solution : le système fournit aux utilisateurs des propositions de termes à rajouter à la requête – à laide dun historique de requêtes – à laide dune base de termes indiquant les meilleurs cooccurrents (pre-calculée) [cf. cours suivants]
  69. 69. Prochain cours● un TP : manipulation pratique des notions vues en cours – pré-traitement non-linguistique de textes – pré-traitement linguistique de textes – calcul de la pertinence dun document textuel par rapport à une requête

×