Text mining
Text mining | |
---|---|
⚐ brouillon | ☸ débutant |
⚒ 2014/12/07 | |
Voir aussi | |
Cet article est une ébauche à compléter. Une ébauche est une entrée ayant un contenu (très) maigre et qui a donc besoin d'un auteur.
Voir aussi:
Introduction
Selon Dominic Forest, consulté le 20/10/14), «La fouille de textes est la découverte (à l’aide d’outils informatiques) de nouvelles informations en extrayant différentes données provenant de plusieurs documents textuels. Un élément fondamental de ce processus réside dans les relations identifiées entre les informations extraites afin d’identifier de nouveaux faits ou de nouvelles hypothèses à explorer.» (Hearst, 2003, notre traduction)»
Le text mining est né d'une combinaison du "data mining", de l'analyse quantitative de textes, et du traitement automatique du langage.
Les applications principales sont (inspiré par Tellier):
- La recherche d'information (RI)
- Sert à identifier un sous-ensemble d'une collection de documents en fonction d'une requête. La recherche propose des documents potentiellement pertinents.
- Exemples:
- Moteurs de recherche de type Google
- Détection de plagiat.
- La classification de documents.
- Sert à classer des documents similaires
- Exemples:
- Tri de email (détection de SPAM)
- Fouille d'opinions (évaluations positives ou négatives d'un produit, service, etc.)
- Surveillance et détection de menaces (espionnage, etc.)
- Organisation de l'information (typologies, ontologies)
- Veille (nouveaux thèmes)
- L'annotation
- L'annotation en elle-même sert à préparer des analyses. Notamment l'annotation de type "part of speech" qui identifie la nature morpho-syntaxique de chaque élément (token).
- Exemples:
- Traduction automatique
- Identification de zone thématiques (souvent basés sur la phrase comme unité de texte)
- Extraction d'Information (EI)
- Sert à extraire l'information pertinente à partir d'un corpus connu. Notamment, extraire automatiquement des informations factuelles servant à remplir les champs d’un formulaire prédéfini. La recherche propose des faits potentiellement pertinents.
- Exemples:
- Veille d'information basée par exemple sur les ”who did what, where and when, and why”
- Bibliométrie (réseaux de citations)
Certains auteurs distinguent seulement entre recherche d'information et extraction d'information.
Une autre catégorisation importante distingue entre méthodes descriptives ou exploratoires et méthodes prédictives ou explicatives. Un méthode exploratoire sert à structurer des informations et une méthode prédictive sert à prédire des informations nouvelles à partir des informations existantes.
Finalement, ce qui nous intéresse ici, peut aussi être décrit et catégorisé selon une perspective de l'analyse de données textuelles (A.D.T.). «L'Analyse de Données Textuelles (A.D.T.) regroupe aujourd’hui de nombreuses méthodes, et de nombreux outils, qui visent à découvrir l'information «essentielle» contenue dans un texte. En s’intéressant plus particulièrement à la demande des chercheurs en Management Stratégique, quatre exemples sont présentés, tous issus du même laboratoire de recherche, des différentes approches de l’A.D.T. De quoi parle-t-on? C’est le domaine de l’analyse lexicale. Comment en parle-t-on? Il s’agit alors d’analyse linguistique. Comment structurer une pensée? C’est l’ambition de la cartographie cognitive. Et enfin comment interpréter un contenu? Il s’agit de l’assistance à l’analyse thématique.» (Fallery et Rodhain, 2007)
Notions de base
Il existe plusieurs grandes tactiques d'analyse et qui peuvent être combinées, par exemple:
- Des analyses lexicométriques (indices de lisibilité par exemple)
- Des analyses statistiques basés sur des listes de mots représentant un texte ou des segments de texte (sacs de mots)
- Des analyses basés sur une analyse linguistique préalable
Les données textuelles
On peut distinguer 3 grands types de textes:
- (1) Tableaux composés de de lignes et colonnes
- Il existe plusieurs types formats: texte où les champs (colonnes) sont séparés par un symbole spécifique (TAB, virgule, etc.), formats propriétaires comme Excel, structuration par balises XML, JSON, etc.
- (2) Textes libres
- Il s'agit d'un text brut sans formattage, souvent obtenu après un filtrage d'un document Web, Word, PDF, etc.
- (3) Documents semi-structurés
- Il existe tout une variété: pages web structurés (ou éléments de pages web comme tableaux, microformats), formats de syndication comme RSS, formats emails et similaire.
La fouille de texte s'intéresse principalement aux textes libres. Ces derniers peuvent aussi être annotés par des métadonnées.
Un texte libre peut être analysé de façons divers, par exemple en tant que séquence (nettoyée) de mots, séquence de mots étiquetés (lemmes, catégories sémantiques, etc.), phrases, etc.
La notion de token
Un token (élément en français) est une séquence de caractères compris entre deux séparateurs. Un séparateurs peut être un "blanc", une ponctuation, une parenthèse, etc. Beaucoup de procédures d'analyse nécessitent un segmentation (tokenisation) du texte comme un des premiers pas d'analyse.
Préparation d'un corpus pour des analyses statistiques "directes"
Avant de pouvoir utiliser des méthodes purement quantitatives de fouille de textes, il faut préparer les documents. En règle générale, on passe à travers les étapes suivantes (pas forcément dans cet ordre précis):
- On constitue le corpus
- On filtre des informations inutiles
- On transforme les documents
- On effectue des analyses et on interprète les résultats.
Voici les étapes et filtres les plus importants qu'on utilise pour préparer un ensemble de documents non-structurés. Selon le type d'analyse, on peut ignorer une étape pour des raisons pratiques (opérations pas nécessaires dans un contexte précis) ou théoriques (on ne veut pas filtrer cette information). Par exemple la racinisation n'est pas compatible avec la lemmatisation. Bien entendu, on peut ou doit adapter l'ordre de ces opérations.
Etape | Exemple de tâches | Commentaires |
---|---|---|
Extraire le corps du document |
|
|
Traduire en format texte brut (si nécessaire) |
|
La plupart des outils fournissent des procédures. Toutefois, le résultat n'est pas toujours optimal, notamment pour le PDF et certains types de pages HTML. |
Mettre tous les mots en minuscules |
| |
Enlever Les ponctuations |
|
|
Enlever les nombres |
|
|
Enlever les blancs en trop |
|
|
Remplacer des caractères |
|
|
Remplacer des mots |
|
|
Enlever les "stop words" |
|
|
Racinisation (Angl. Stemming) |
|
|
Lemmatisation |
|
|
Enlever d'autres mots |
|
Préparation d'un texte en passant par une analyse linguistique
Le processus de fouille de textes avec une méthode plus linguistique est assez similaire. Le nettoyage aura moins d'étapes mais à partir d'un texte brut propre, on a deux étapes qui sont techniquement plus difficiles.
Analyses "part-of-speech" |
|
|
---|---|---|
Extraction de termes |
| |
Classification de termes |
|
|
Stop words, racinisation et lemmatisation
Lire
- Racinisateur de Paice/Husk
- Lemmatisation et Racinisation en Français : Flexion, Lemme et Racine d’un mot par Benoît TROUVILLIEZ, 2010.
Les stop words
Puisque l'objectif du text mining est de trouver des documents semblables ou encore d'extraire des informatiques uniques à chaque document, on peut éliminer les token (mots, lemmes, etc.) qui vont pas influence un classement, une recherche d'information etc. Les stop words incluent surtout les mots vides (déterminants, prépositions, conjonctions, verbes auxiliares).
Selon le type d'analyse on va aussi éliminer les mots les plus fréquents (qui se retrouvent dans la plupart des documents) car elles ne permettent pas de discriminer entre les documents et aussi les mots les moins fréquents, car elles n'apportent que peu à l'analyse. Autrement dit on garde les mots représentatifs de chaque texte dans un corpus. Les seuls d'élimination de mots fréquents ou rares varient selon le type d'analyse. On les donne souvent comme paramètre à une analyse spécifique au lieu de le faire au niveau du nettoyage du corpus.
Si les mots sont étiquetés avec leur type ("part-of-speech"), on peut aussi sélectionner certains mots, par exemple seulement les verbes et les adjectifs.
La racinisation
La racinisation (ou stemming) et la lemmatisation consistent à réduire une liste de mots à une liste plus courte qui ne contient qu'une variante du même mot. Le premier algorithme connu et toujours populaire est le Porter Stemming Algorithm (1979). Les librairies de R, utilisent l'implémentation Snowball qui a adapté l'algorithme Porter à d'autres langues, dont le français.
La racine correspond à la partie du mot qui reste, une fois qu'on a tué son préfixe et son suffixe. Contrairement à un lemme, il ne s'agit pas forcément d'un "vrai" mot.
Exemples:
- recherche, chercher, cherches, cherchions, cherchait -> cherch
Il existe un indice de compression IC:
- IC = (M - R) / M
- M = nombre de mots uniques avant racinisation
- R = nombre de racines uniques après racinisation
La lemmatisation'
La lemmatisation cherche une forme canonique d'un mot. Le lemme est un mot de base, comme:
- un verbe à l'infinitif
- un adjectif, etc. au singulier masculin.
Exemples:
- cherches, cherchions -> chercher
- ai, as, a, eussions -> avoir
- belles, bel, beaux, beau -> beau
Les bases de données lexicographiques
Une base de données lexicographique ressemble un peu à un thésaurus:
- Les différents sens d'un mot (un mot peut en avoir plusieurs) sont reliés à d'autres mots. "Right" par exemple veut dire "juste", "à droite", etc.
- Les mots sont catégorisés (sujet, verb, etc.). Certains mots peuvent se trouver dans plusieurs. "right" par exemple est un sujet, un verb, un adjectif et un adverbe
- Les occurrences sont quantifiées et il y a des exemples
- Le tout existe aussi sous forme "machine readable"
WordNet
- Base de données populaire, originalement conçu à Princeton , avec beaucoup de dérivés.
Fréquence et poids de termes
- La fréquence de termes (term frequency, tf)
- la fréquence d'un terme iest basée sur l'importance proportionnelle d'un terme dans un document.
- Donc pour un termei dans un documentj: la "term frequency" tfi,j = fonction de (ti, dj)
- La mesure la plus simple calcule simplement le nombre d'occurrences des termes dans un document: tfi,j = frequencei,j. Comme cette information n'est pas comparable aux autre documents (qui n'auront pas la même taille) ou à d'autres corpus, on applique en règle générale une fonction de normalisation et/ou une fonction de pondération. Le logiciels d'analyse comme R font cela en une opération.
- Variante normalisée de la fréquence de termes
- On peut calculer tfi,j = frequencei,j / maxe freqj.
- Autrement dit frequence de termei = nombre d’occurrences du terme ti dans le documentj / nombre d’occurrences du terme le plus fréquent dans le document dj. Cela donnera un chiffre entre 0 (absent) et 1 (terme le plus fréquent)
- Variante normalisée de la fréquence de termes
- On peut calculer tfi,j = nombre d’occurrences du terme ti dans le documentj / nombre de termes dans le document
- La fréquence inverse (Inverse of document frequency, idf)
- Idf est une autre pondération globale, elle mesure la discrimination d'un terme dans le corpus. Cette mesure est basée sur l'idée qu'un terme qui apparaît souvent dans le corpus est moins important (pour la discrimination) qu'un terme moins fréquent. Autrement dit, les mots qui sont fréquents à la fois dans un document et le corpus en entier vont avoir une importance diminuée par rapport aux mots fréquents dans un document. (TP, Approche basée sur tf*idf)
- idfi = log 10 (N / dfi)
- N = nombre de documents dans le corpus
- dfi = nombre de documents contenant le terme ti
- Le poids d'un terme (termes pondérés)
- Le "poids" d'un terme peut être calculé de façon différente.
- Une méthode simple est TfIdf ou tf-idf (Salton). Il s'agit de la combinaison de term frequency et inverse of document frequency, autrement dit: la fréquence du terme dans un document pondéré par la fréquence du terme dans le corpus (Wikipedia, TF-IDF).
Les Matrices termes-documents
Les matrices termes-documents et documents termes résument les mots que l'on retrouve dans divers document d'un corpus.
Les matrices de fréquences
- Matrices documents-termes (Angl.
- Document Term Matrix, DTM)
- Chaque ligne d'une matrice DT représente un document, chaque colonne un terme (mot)
Alpha Beta Creux
doc1 2 1 ....
doc2 1
doc3 2
- Matrice termes-documents (Angl.
- Term Document Matrix, TDM)
- Chaque ligne d'une matrice TD représente un terme (mot), chaque colonne un document
doc1 doc2 doc3
Alpha 2 1 2
Beta 1 0 3
Creux 0 1 0
Alternativement, certaines techniques requièrent des matrices "binaires" (absence ou présence d'un terme), logarithmiques (diminuant le poids de mots fréquents), ou de normalisation.
La plupart des analyses exigent l'application d'une fonction de pondération et qui relativise le poids d'un terme par rapport au corpus. Exemples:
- TfIdf (Voir ci-dessus)
- On peut normaliser par rapport aux termes du document
- Gfldf , ou est le nombre total que le terme apparaît dans le corpus, et est le nombre de documents dans lesquelles le terme apparaît (Wikipedia).
Le part-of-speech tagging
Selon (Wikipédia, oct 20, 2014), l'étiquetage morpho-syntaxique (aussi appelé étiquetage grammatical, POS tagging (Angl.part-of-speech tagging)) est le processus qui consiste à associer aux mots d'un texte les informations grammaticales correspondantes comme la partie du discours, le genre, le nombre, etc. à l'aide d'un outil informatique.
Certains types d'analyses du text mining utilisent des techniques de la linguistique. Ils utilisent comme input non pas une liste de mots ou de termes, mais un texte annoté. Ces annotations comprennent:
- Informations "part-of-speech", c'est à dire la position d'un élément dans une phrase selon une convention linguistique.
- Informations "lemma"
Un outil populaire multi-langues et gratuit est le TreeTagger.
Indices lexicométriques
Un indice lexicométrique renseigne sur différentes "qualités" d'un texte, par exemple la lisibilité, la diversité, la complexité, etc.
La lisibilité
Selon Wikipedia, «Un test de lisibilité ou formule de lisibilité ou mesure de lisibilité est une analyse statistique de la lisibilité d'un texte, c'est-à-dire l'évaluation de « degré de difficulté éprouvé par un lecteur essayant de comprendre un texte1 ». Ce type d'analyse est généralement réalisée en comptant les syllabes, les mots, les phrases et par la comparaison de la fréquence des mots par rapport à d'autres textes.»
Il existe pleins d'indices pour la lisibilité, par exemple le paquet "KoRpus" contient plus que 25. Ces indices dépendent de la langue. Autrement dit, on peut pas reprendre un indicateur fait pour l'Anglais en français. On conseille la lecture du texte de DuBay pour avoir un bon survol de la littérature Anglo-saxonne, et le texte de Conquet et Richaudeau
Liste de quelques indices
La plupart des indicateurs mesurent une sorte de longeur relative de mots et de phrases. Les deux sont calibrés pour produire un indicateur qui correspond soit à un niveau d'écolage soit une échelle standardisée.
- Coleman Liau index (Coleman & Liau, 1975)
- Produit le niveau d'études nécessaire pour comprendre en text (Système US).
- Formule
CLI ) 0.0588*L - 0.296*S - 15.8
.L
est le nombre moyen de lettres par 100 mots,S
est le nombre moyen de phrases par 100 mots
- Flesch Kincaid Grade Level
- Produit le niveau d'études nécessaire pour comprendre en text (Système US). Donc par exemple, un score de 9.2 indique qu'il faut avoir un niveau d'écolage typique pour 14/15 ans.
- Formule:
0.39 * total mots / total phrases + 11.8 * total syllabes / total mots - 15.59
- Formule alternative (à vérifier):
168.095 + 0.532 * %_mots_concrets - 0.811 * syllabes_pour_100_mots
- Il existe une variante pour le français (L. Kandel et A. Moles) (à vérifier):
207 - 1,015(% mots concrets) - 0,736 * syllabes_pour_100_mots.
- ARI (Automated Readability Index) (Senter et al. 1967)
- Produit le niveau d'études nécessaire pour comprendre en text (Système US).
- Formule:
4.71 * charactères / mots + 0.5 mots / phrases - 21.43
- SMOG (McLaughlin, 1969)
- Cet indice "mesure simple de charabia" produit le niveau d'études nécessaire pour comprendre en text (Système US).
- Cet indice est populaire pour mesurer la lisiblité d'instructions dans le domaine de la santé
- Formule: Compter le nombre de phrases (au moins 30). Dans ces phrases, compter les mots qui ont plus que 3 syllabes. Calculer
score = 1.0429 SQRT (N_mots_polysyllabiques x 30 / N_phrases) + 3.1291
- Fomule alternative:
socre = 3.1291 + (1.043 * SQRT (((30 - N_phrases) * (N_mots_polysyllabiques / N_phrases)) + N_mots_polysyllabiques))
- Formule approximative: Compter le nombre de phrases dans 3 échantillons de 10 phrases. Caculer la racine du carré parfait le plus proche, ajouter 3.
- Dale-Chall
- Cet indice est basé sur l'idée qu'un texte est plus lisible s'il contient des mots connus. L'indice est basé sur une liste de 3000 mots
- Le score ne correspond pas aux grades US (5 = 6ème primaire, 8 = dernière année du secondaire II, 9 = premières années d'université, 10 = bachelor, 11 = master)
Indices avancés et spécialisés
On peut aussi s'intéresser à des questions plus particulières comme l'interaction entre la mémorisation et la compréhension ou encore l'impact de la motivation (contenu, présentation)
Outils de lisibilité
- Le paquet R KoRpus en contient plein, lire Tutoriel koRpus
- Il existe quelques outils en ligne, par exemple Analyseur de lisibilité (Translated LABS) ou Tests de lisibilité (Mancko)
- Tableau d'age pour les "grades US"
Age US Grade Suisse
6-7 1st 1
7-8 2nd 2
8-9 3rd 3
9-10 4th 4
10-11 5th 5
11-12 6th 6
12-13 7th 7
13-14 8th 8
14-15 9th 9
15-16 10th 1
16-17 11th 2
17-18 12th 3
18-19 4
Diversité lexicale
La diversité lexicale est un indicateur pour la "richesse" d'un texte. Selon Torruella & Capsada (2013), la richesse du vocabulaire dépend aussi du type de textes (la poésie est plus riche que les texte académique ou juridiques, mais le facteur le plus important est l'auteur.
«Lexical diversity (LD) refers to the range of different words used in a text, with a greater range indicating a higher diversity» (McCarthy & Jarvis, 2010).
Il existe plusieurs types d'indices, par exemple:
- Type-token Ratio (TTR)
- Mesure classique et simple, mais souvent critiquée car (entre autre) cet indicateur dépend de la longeur d'un texte (plus il est long, plus il baisse).
- Formule:
types / tokens * 100
.Types
=Nombre de mots différents,Tokens
=Nombre de mots. - Il existe plusieurs variantes de cet indice, par exemple le RTTR (Root type-token ratio),
RTTR = types / SQRT(tokens)
ou le CTTR (corrected type-token ratio)CTTR=types / SQRT (2 * tokens)
- D'autres variantes utilisent des calculs logarithmiques pour corriger l'effet longuer de texte (Herdan, Summer, Mass, Dugast, Tuldava). Le Mass semble être le meilleur:
Mass = ( log (tokens) - log (types) ) / log2 (tokens)
- MSSTR ou STTR
- Se calcule comme le TTR, mais évite le problème de la longeur du texte
- On prend les 1000 premiers, calcule le TTR, puis les 1000 suviants, calcule un nouveau TTR, etc. A la fin on calcule la moyenne.
- Moving Average Type Token Ratio (MATTR; Covington, 2007; Covington & McFall, 2010)
- Pareil que le MSSTR
- MTLD (Measure of Textual Lexical Diversity) (McCarthy & Jarvis, 2010).
- Utilise des ségments comme le MSSTR, mais utilise une ségmentation et calcul plus compliqué (à faire ...)
- «The MTLD method is based on the type-token ratio of a text, i.e. the ratio of the number of distinct words--or more generally text units--to the total number of units. Leaving aside the nasty details, the idea is to compute the average length of a sequence of contiguous text units maintaining a type-token ratio above a specified threshold, which is set to 0.72 by McCarthy and Jarvis (2010). They call such a sequence a 'factor' of the text.» (Aris Xanthos)
- Semble être un des meilleurs indices actuellement
- Hypergeometric Distribution (HD-D) (McCarthy PM, Jarvis, 2007)
- (à faire)
- VOCD-D
- (à faire)
- Yule's K
- (à faire)
- LDAT (Lexical Diversity Assessment Tool)
- (à faire)
- Outils: R / KoRpus (13 indices)
Complexité épistémique
La sophisticaiton ou complexité épistémique mesure la complexité d'un texte. Un indicateur peut mesurer par exemple l'avancement dans l'apprentissage.
Elle peut se mesurer avec un indicateur de diversité lexicale, mais il existe d'autre méthodes plus ciblées. Ces méthodes testent par exemple la proportion d'utilisation de mots sophistiqués.
Indices:
- Lexical frequency profile (LFP)
- LFP/Beyound 2000: Fréquence de mots qui ne se retrouvent pas dans la liste des 2000 mots les plus fréquents
Voici quelques liste de mosts:
- Academic Word list (AWL)
- Pourcentage de mots académique et spécifiques au domaine
- L'indexe le plus connu semble être celui de Coxhead (1998).
- «The Coxhead (1998) Academic Word List consists of 570 word families that are not in the most frequent 2,000 word families of English, but occur at a reasonably high frequency in academic texts of different disciplines. These words are typical of academic discourse, which references other authors and findings (e.g., assume, establish, conclude), and works with data and ideas (e.g., analyze, assess, category).» (Sun et al. 2008). Voir aussi [1]
Note: Le AWL semble etre compris dans un vocabulaire de base de 5000 mots, donc il n'est pas si académique.
- Le General Service List (GSL) (West, 1953)
- Peut etre utilisé pour mesurer le contraire du AWL, c-a-d l'utilisation d'un Anglais de base de 2000 mots.
- Le GSL est parfois divisé en K1 (1000 mots le plus populaires) et K2
- Le dictionnaire fondamental de G.Gougenheim
- 3500 (?) mots du français établi en 1958 et révisé en 1977
- Voir français fondamental (Wikipédia)
- Gougenheim 2.0
- 8874 mots
- home page avec téléchargement. Ce site de l'université de Savoie héberge d'autres dictionnaires.
- Billuroğlu-Neufeld-List (BNL)
- Cet indice distingue entre 6 bandes de "fréquences" avec un vocabulaire de 3000 mots, "one" est le plus simple, "six" le plus complexe.
- Voici un tableau tiré de Hancioğlu, Neufeld & Eldridge, (2008): «Breakdown of component constituents of the BNL,illustrating how the BNL bands approximate the natural vocabulary profile of English texts.»
BNL ranking | From K1 | From K2 | From AWL | Newly added | Subtotals |
One | 642 | 98 | 24 | 1 | 765 |
Two | 192 | 274 | 38 | 1 | 505 |
Three | 77 | 254 | 105 | 3 | 439 |
Four | 46 | 212 | 145 | 26 | 429 |
Five | 20 | 138 | 203 | 29 | 390 |
Six | 2 | 8 | 55 | 116 | 181 |
Subtotals | 979 | 984 | 570 | 176 | 2709 |
Similarité
Approche classique
L'approche classique simple définit deux documents comme similaires si les deux partagent des termes. Dans modèle, inventé par Salton (1971) (selon Clément Grimal et Gilles Bisson):
- Deux documents sont similaires s'ils contiennent des termes similaires
- Deux termes sont similaires s'ils apparaissent dans des documents similaires
Il existe plusieurs méthodes pour calculer cette similarité. Une méthode typique consiste à:
- Calculer le poids des termes des deux documents, organisés dans les matrices documents-termes. Chaque document sera donc représenté par un sac de mots (bag of "words") ou similaire (racines, lemmes, termes composé).
- On postule ensuite que l'ensemble de ces "mots" constituent les dimensions d'un espace vectoriel euclidien
- Ensuite, on calcule la distance entre les vecteurs représentant un document. Typiquement, on prend les cosinus
Cette méthode souffre du fait que les gens n'utilisent pas toujours les mêmes mots pour parler de la même chose. Ce problème est accentué lorsqu'on a des petites textes.
Exemple:
- Cette application est facile à utiliser.
- Ce logiciel est facile à utiliser.
On constate:
- Une relation de premier ordre entre application, facile et utiliser (ou entre logiciel, facile, utiliser)
- Une relation de 2ème ordre (détectable facilement par les humains) entre "application" et "logiciel". Détecter ce type de relation est nettement plus difficile et peut se faire avec des algorithmes comme LSA, X-SIM, et CTK. A ce sujet, voir Berry & Castellanos (2007).
Survol d'autres approches
Grimal et Bisson distinguent entre 5 mesures de similarité:
- Le cosinus
- X-Sim (avec ou sans k et p) [Hussain et al.(2010)]
- LSA (Latent Semantic Analysis) [Deerwester et al.(1990)]
- SNOS (Similarity in Non-Orthogonal Space) [Liu et al.(2004)]
- CTK (Commute Time Kernel) [Yen et al.(2009)
+Classification Ascendante Hiérarchique, avec l'indice de Ward
Le modèle LSI
Voir aussi Latent semantic analysis and indexing
Ce modèle part de l'idée que deux termes différents qui apparaissent dans des documents qui sont similaires (ont beaucoup de termes en commun) sont également similaires. Dans l'exemple ci-dessus, application est similaire à logiciel car les deux ont une co-occurence avec facile et utiliser.
Ce modèle était développé pour des corpus larges (par exemple des engins de recherche).
L'utilisation de LSI comprend plusieurs étapes:
- On commence par une matrice documents-termes (DTM)
- ... (à suivre)
La classification de documents
La classification sert à regrouper des documents dans un certain nombre de classes selon des critères de similarité.
Il existe (probablement) quatre grandes familles de méthodes
- la classification avec des techniques linguistiques
- La classification supervisée
- La classification non supervisée (automatique)
- La classification manuelle ou semi-manuelle (pas traitée ici)
Ensuite, on peut distinguer entre des approches de type
- "Topic modelling". La tâche consiste à classifier les contenus de documents en "sujets". Un sujet est défini comme une distribution probabiliste de mots par rapport à un vocabulaire donné.
- Analyses de type Reinert (méthode Alceste) qui tiennent compte du contexte où un mot apparaît et qui visent à identifier des "mondes lexicaux"
La classification supervisée
Ce type de méthodes compare un document à classer à un échantillon de documents représentatifs d'une classe de documents. Un premier travail consiste donc à classer manuellement des documents d'un corpus d'apprentissage, par exemple en définissant des termes discriminants qui peuvent identifier une catégorie. Le 2ème à tester la robustesse de la classification et le 3ème à l'utiliser. Ce principe peut se complexifier. Par exemple, on peut aussi calibrer le modèle d'apprentissage.
Les méthodes les plus simples sont "linéaires". A partir d'un corpus d'apprentissage, on crée une matrice de poids "termes par catégorie" à laquelle on compare le vecteur qui résume le nouveau document. Le vecteur de termes représentant le nouveau document est comparé à l'ensemble des vecteurs "catégorie" de la matrice de poids et le nouveau document est alors assigné à la classe la plus proche.
La classification non-supervisée
La classification automatique aussi appelée non-supervisée sert par exemple à obtenir une vue d'ensemble sur les sujets traités dans un corpus. Comme pour la classification supervisée, il faut choisir le corpus, définir une mesure de similarité entre documents et identifier un algorithme de classification (Grivel: 7).
Pour plus de détails sur la méthode, voir Clustering et classification hiérarchique en text mining. Le problème de telles approches est que parfois les catégories crées n'ont pas véritablement de sens en terme de thème par exemple, car elles sont des combinaisons abstraites de mots-clés. Pour remédier à cela on peut faire appel (en général après une analyse exploratoire non-supervisée) à des méthodes comme la catégorisation ou l'analyse de thématique "Topic modelling".
La catégorisation
A l'inverse de la classification où les catégories n'étaient pas connues par avance, la classification essaie de classer les documents du corpus dans un certain nombre de catégories prédéfinies. Elle peut se rapprocher d'une analyse de thématique "Topic modelling", mais, à l'inverse de ce dernier, elle ne permet pas l'attribution de plusieurs catégorie à un même document. Un exemple concret de catégorisation serait de différencier le emails de spam (pourriels) des emails légitimes.
Ces méthodes sont basées sur une phase d'apprentissage, où certains documents servent à établir une base contre laquelle les autres documents seront classés.
Catégorisation linéaire Rocchio
On classe un document dans la catégorie dont il est le plus proche du barycentre (selon la distance que l'on a choisie, voir plus haut la distance du cosinus).
Catégorisation par les k plus proches voisins
On classe un document dans la même catégorie que la majorité (pondérée) de ses k plus proches voisins (selon la distance que l'on a choisie, voir plus haut la distance du cosinus).
Pour plus d'informations, voir la page des Méthodes de classification en text mining
Sentiment Analysis
Citation de Pang and Lee (2008:Abstract) {{An important part of our information-gathering behavior has always been to find out what other people think. With the growing availability and popularity of opinion-rich resources such as online review sites and personal blogs, new opportunities and challenges arise as people can, and do, actively use information technologies to seek out and understand the opinions of others. [...] Opinion Mining and Sentiment Analysis covers techniques and approaches that promise to directly enable opinion-oriented information-seeking systems. }}
Selon Tang (2009), il existe plusieurs types d'analyses. Selon les auteurs les plus importants sont
- subjectivity classification: Distinguer des phrases qui contiennent une opinion (ou d'autres formes de subjectivité) des autres
- word sentiment classification: Assignation de positif/négatif ou encore d'une échelle (strong positive, positive, neutral, negative, strong negative) à des mots
- document sentiment classification:
- opinion extraction.
Applications "détection de sentiments" cités dans (Tang et al. 2009):
- Comparaison et revus de produits
- Résumé d'opinions sur un produit. Pour cela il faut identifier les caractéristiques (features) discutés, pour chacun il faut trouver des phrases qui donnent des opinions positives ou négatives, et finalement produire un résumé.
- Forage des raisons pour des opinions: Chercher les causes (argumentations)
On peut interpréter la notion de "produit" de façon assez large (d'un point de vue technique)
- Opinions sur des politiques, politiciens, etc.
- Opinions sur un sujet controversé
- Intentions de vote
La classification de la subjectivité d'un paragraphe est un sujet en soi mais relié à l'analyse de sentiments d'un document.
Classification de sentiment de mots
....
Sentiwordnet est un ajout au dictionnaire WordNet.
Liens
Général
- Fouille de textes (Wikipédia, ébauche en oct 2014)
- Analyse de données textuelles (Wikipédia)
Glossaires, bibliographies
- Glossaire pour la statistique textuelle, (Wiki du groupe Groupe d'Analyse des Données Textuelles - Format des données réunissant des chercheurs de la communauté des statistiques textuelles, ce wiki n'a pas été mis à jour depuis 2006)
- A propos des logiciels d’analyse textuelle pratiqués en France pour la recherche en sciences sociales (Bibliographie et liens commentés, quelques définitions), par Jacques Jenny, 2002
Tutoriels
- Tellier (non daté), I. Introduction à la fouille de textes, Policopié, Université de Paris 3, Sorbonne Nouvelle.
- Rozenknop, Besançon, R. Modèles en recherche d'information (slides)
- Utilisation de la fouille de textes et de l'extraction d’informations en Génomique et Bioinformatique. Transparents par Bernard Jacq, utiles pour comprendre qqs. concepts importants en recherche et extraction d'informations.
Exemples
- Le traitement des TICE dans les discours politiques et dans la presse par Lucie Loubère
- Utilise la méthode Reinert et le logiciel Iarmuteq.
Listes de logiciels
- Portal: Data mining and learning analytics tools
- Dirt Directory, text mining category. Probably the best source.
- Méthodes qualitatives informatisées
- Bookmarks for Corpus-based Linguists (David Lee), et surtout Software, Tools, Freq Lists, etc.
- Text Analysis Info. Overview on software that analyses texts and other sources of human communication
- LigPipe's competition
- TAPoR, text analysis portal
- Software (Cognitive Computation Group, University of Illinois)
- Text Mining at Wikipedia.
Organisations
- http://www.jadt.org/ JADT
- Atonet N'as pas l'air très actif.
Liens en Anglais
(à bouger un jour ...)
General
(websites, blogs, etc.)
- Quantifying memory. Includes tutorials for course about web scraping through R:
- Blog Onyme. Blog d'une société qui vend des solutions. Contient des articles d'intérêt général.
- Lexicometrica (Revue électronique open contents, parutions irrégulières.
Machine learning
- Webcast: How to Develop Language Annotations for Machine Learning Algorithms
- MATTER Annotation Development Process: Model, Annotate, Train, Test, Evaluate, and Revise your training corpus. ** James Pustejovsky, Amber Stubbs (2012). Natural Language Annotation for Machine Learning A Guide to Corpus-Building for Applications, O'Reilly, http://shop.oreilly.com/product/0636920020578.do
Topic modeling
- David Blaye's home page Includes an introduction to topic modelling.
Summarization of microblogs
Bibliographie
- Berry & Castellanos, Survey of Text Mining: Clustering, Classification, and Retrieval, Second Edition, 2007 online pdf
- Bisson, Gilles et Clément Grimal, Apprentissage multi-vue de co-similarités pour la classification, CAp, 2012. Paper, Slides
- Coleman, M.; and Liau, T. L. (1975); A computer readability formula designed for machine scoring, Journal of Applied Psychology, Vol. 60, pp. 283–284
- Contreras, A.; Garcia-alonso, R.; Echenique, M.; Daye-contreras, F. (1999). "The SOL Formulas for Converting SMOG Readability Scores Between Health Education Materials Written in Spanish, English, and French". Journal of Health Communication 4 (1): 21–29. http://dx.doi.org/10.1080/108107399127066. PMID 10977275.
- Coxhead, A. An Academic Word List ELI Occasional Publications No.18. $8.50, http://www.victoria.ac.nz/lals/resources/eli-publication
- Coxhead, A. (2006) Essentials of Teaching Academic Vocabulary Essentials of Teaching Academic English series. Boston: Heinle Cengage , ISBN 618230149
- Coxhead, A. (2000). A New Academic Word List. TESOL Quarterly, Vol. 34, No. 2 (Summer, 2000), pp. 213-238 http://www.jstor.org/stable/3587951
- Sun, Yanqing; Jianwei Zhang & Marlene Scardamalia (2008). Knowledge building and vocabulary growth over two years, Grades 3 and 4. Instructional Science. DOI:10.1007/s11251-008-9082-5
- Deerwester, S; S. T. Dumais, G. W. Furnas, Thomas, and R. Harshman. Indexing by latent semantic analysis. Journal of the American Society for Information Science, 41:391-407, 1990.
- Derobertmasure, Antoine (2013). Les logiciels d’analyse textuelle dans le cadre de la formation initiale d’enseignants : quelles utilisations ?, http://www.adjectif.net/spip/spip.php?article266
- Derobertmasure, A. et Demeuse, M. (2011). Utilisation conjointe de deux logiciels d’analyse de contenu dans le cadre de l’analyse de traces de réflexivité : éléments de comparaison. In Blais, J.-G. et Gilles, J.-L. (dir.) (2011). Évaluation des apprentissages et technologies de l’information et de la communication : Le futur est à notre portée (pp163-189). Québec : Les Presses de l’Université Laval.
- Derobertmasure, A ; & Robertson, J.E. (2013). Data analysis in the context of teacher training : code sequence analysis using QDA MINER. Quality and Quantity. http://link.springer.com/article/10.1007%2Fs11135-013-9890-9
- DuBay, W.H. (2004).The Principles of Readability.Costa Mesa: Impact Information. http://www.impact-information.com/impactinfo/readability02.pdf
- Duriau, V.J. & R. K. Reger (2004). Choice of text analysis software in organization research : insight from a Multi-dimensional Scaling (MDS) Analysis. In G. Purnelle, C. Fairon & A. Dister (Ed.), Le poids des mots : Actes de la 7e édition de Journées internationales d’Analyse statistique des Données Textuelles (pp. 382-390). Louvain, Belgique, Presses Universitaires de Louvain
- Fallery, B., Rodhain, F.(2007). Quatre approches pour l’analyse de données textuelles: lexicale, linguistique, cognitive, thématique. 16` eme Conférence Internationale de Management Stratégique, Montréa. PDF
- Fergadiotis, G., Wright, H. H., & West, T. M. (2013). Measuring Lexical Diversity in Narrative Discourse of People With Aphasia. American Journal of Speech-Language Pathology / American Speech-Language-Hearing Association, 22(2), 10.1044/1058–0360(2013/12–0083). doi:10.1044/1058-0360(2013/12-0083)
- Forest, D. et Grouin, C. (éditeurs) (2012). Expérimentations et évaluations en fouille de textes. Paris : Hermès.
- Grimal, Clément et Gilles Bisson, Amélioration de la co-similarité pour la classification de documents, CAP 2011, Paper, Slides
- Grivel, Luc. (2006). Outils de classification et de catégorisation pour la fouille de textes, Actes de SdC 2006 - Semaine de la Connaissance, http://www.irit.fr/SDC2006/cdrom/contributions/Grivel-isko-sdc.pdf
- Hancioğlu Nilgün; Steven Neufeld, John Eldridge, Through the looking glass and into the land of lexico-grammar, English for Specific Purposes, Volume 27, Issue 4, 2008, Pages 459-479, ISSN 0889-4906, http://dx.doi.org/10.1016/j.esp.2008.08.001.
- Havet, Isabelle, L'exploitation des données biographiques avec le logiciel Alceste
- Hussain, S. F., C. Grimal, and G. Bisson. An improved co-similarity measure for document clustering. In Proceedings of the 9th ICMLA, 2010.
- Ibekwe-Sanjuan, Fidelia, Fouille de textes: méthodes, outils et applications , Carnets de lecture n.13, 14, 0
- Jenny, J. (1997). "Méthodes et pratiques formalisées d'analyse de contenu et de discours dans la recherche sociologique française contemporaine. Etat des lieux et essai de classification. Bulletin de Méthodologie Sociologique (B.M.S.) 54 (March ): 64-112.
- Klein, H. (1997). Classification of text analysis software. Dans R. Klar & O. Opitz (Ed.), Classification and knowledge organisation (pp. 355-362). Berlin, Allemagne, Springer
- Lebart, L. & Salem, A. (1994). Statistique Textuelle, Dunod, 344 p. Epuisé, mais les chaptitres sont accessibles en PDF depuis http://lexicometrica.univ-paris3.fr/livre/st94/st94-tdm.html
- Lejeune, C. (2008). Au fil de l’inteprétation – L’apport des registres aux logiciels d’analyse qualitative. Swiss Journal of Sociology, 34 (3), 593-603
- Liu, N., B. Zhang, J. Yan, Q. Yang, S. Yan, Z. Chen, F. Bai, and W. ying Ma. Learning similarity measures in non-orthogonal space. In Proceedings of the 13th ACM CIKM, pages 334-341. ACM Press, 2004.
- McCarthy, P.M., & Jarvis, S. (2010). MTLD, vocd-D, and HD-D: A validation study of sophisticated approaches to lexical diversity assessment, Behavior Research Methods, 42(2): 381-392 Abstract/article
- McLaughlin, G. Harry (May 1969). "SMOG Grading — a New Readability Formula" (PDF). Journal of Reading 12 (8): 639–646. Retrieved 2008-09-20. PDF
- Pang,Bo & Lee,Lillian (2008). Opinion Mining and Sentiment Analysis. Foundations and Trends in Information Retrieval 2(1-2) 1-135. Abstract/Sale
- Popping, R. (1997). Computer programs for the analysis of texts and transcripts . In C. W. Roberts (Ed.), Text analysis for the social sciences : methods for drawing statistical Inferences From Texts and Transcripts (pp. 209-224). New-Jersey, Etats-Unis, Lawrence Erlbaum.
- Reinert, M. (1987). "Classification descendante hiérarchique et analyse lexicale par contexte : application au corpus des poésies d'Arthur Rimbaud. Bulletin de Méthodologie Sociologique 13 (janvier): 53 -90.
- Reinert, M. (1998). Quel objet pour une analyse statistique du discours ? Quelques réflexions à propos de la réponse Alceste. Proceedings of the 4th JADT (Journées d’Analyse des Données Textuelles) Université de Nice JADT.
- Senter, R.J.; Smith, E.A. (November 1967). "Automated Readability Index.". Wright-Patterson Air Force Base. p. iii. AMRL-TR-6620. "Automated Readability Index."
- Tang H, Tan S, Cheng X (2009) A survey on sentiment detection of reviews. Expert Syst Appl 36(7):10760–10773. doi:10.1016/j.eswa.2009.02.063
- Tesch, R. (1991). Introduction. Qual. Sociol. 14(3), 225–243
- Joan Torruella, Ramon Capsada, Lexical Statistics and Tipological Structures: A Measure of Lexical Richness, Procedia - Social and Behavioral Sciences, Volume 95, 25 October 2013, Pages 447-454, ISSN 1877-0428, http://dx.doi.org/10.1016/j.sbspro.2013.10.668.
- Tsytsarau, Mikalai & Palpanas, Themis, Survey on mining subjective data on the web, Data Mining and Knowledge Discovery, May 2012, Volume 24, Issue 3, pp 478-514, DOI: http://dx.doi.org/10.1007/s10618-011-0238-6
- West (1953). A General Service List of English words, Longman, Green & co, London.
- Weitzman E.A. & M. B. Miles (1995). Computer programs for qualitative data analysis. Thousand Oaks, États-Unis, Sage Publications.
- Yen, L.; F. Fouss, C. Decaestecker, P. Francq, and M. Saerens. Graph nodes clustering with the sigmoid commute-time kernel: A comparative study. Data Knowl. Eng., 68(3):338-361, 2009
Remerciements: Articles de Antoin Derobertmasure et al. utilisées pour extraire plusieurs références intéressantes.