TM.B - Matrice Documents Termes
TM.B - Matrice Documents Termes
1. Représentation « bag-of-words »
2. Réduction de la dimensionnalité
3. Pondération
5. N-grammes
6. Bibliographique
N° V1 V2 V3 …
1 1. Que mettre en colonnes
2 ? (V1, V2,…) ?
3 2. Quelles valeurs mettre
4 dans le tableau ?
5
Termes
Documents
Document imaging databases can get huge most save images permanently store baby
1 1 1 1 1 1 0 0 0 0 0 0
2 1 1 0 0 0 1 1 1 1 0 0
3 1 1 0 0 0 0 0 1 0 1 1
4 3 3 0 0 0 0 0 3 0 3 0
Document imaging databases can get huge most save images permanently store baby
1 1 1 1 1 1 0 0 0 0 0 0
2 1 1 0 0 0 1 1 1 1 0 0
3 1 1 0 0 0 0 0 1 0 1 1
4 3 3 0 0 0 0 0 3 0 3 0
• Les descripteurs (colonnes) sont exprimés dans les mêmes unités. Il n’y a pas
de normalisation ou de standardisation des variables à effectuer.
• Certains termes sont présents dans peu de documents. Ou certains
documents sont composés de peu de termes. De très nombreuses valeurs
sont nulles.
• Mais les descripteurs sont issus des termes présents dans le corpus, une
colonne composée exclusivement de la valeur 0 ne peut pas exister (sauf
pondération TF-IDF)
• Il n’y a jamais de données manquantes (N/A). Un terme est forcément soit
absent, soit présent dans un document.
Document imaging databases can get huge most save images permanently store baby
1 1 1 1 1 1 0 0 0 0 0 0
2 1 1 0 0 0 1 1 1 1 0 0
3 1 1 0 0 0 0 0 1 0 1 1
4 3 3 0 0 0 0 0 3 0 3 0
Problème
RÉDUCTION DE LA
DIMENSIONNALITÉ
1. Imaging databases can get huge. 1. image databases can get huge
2. Most imaging databases save images permanently. 2. most image databases store image permanently
3. Imaging databases store images baby. 3. image databases store image baby
4. Imaging databases store images. Imaging databases 4. image databases store image image databases
store images. Imaging databases store images. store image image databases store image
expenses\nrelated to the acquisitions in the middle of the current\nquarter of seven licensees of Sealy Inc, as well as
82 pct of\nthe outstanding capital stock of Sealy.\n Because of these acquisitions, it said, first quarter sales\nwill be
substantially higher than last year's 67.1 mln dlrs.\n Noting that it typically reports first quarter results in\nlate
march, said the report is likely to be issued in early\nApril this year.\n It said the delay is due to administrative
considerations,\nincluding conducting appraisals, in connection with the\nacquisitions.\n Reuter
first quarter of fiscal the company said any decline would be due to expenses related to the acquisitions in the middle
of the current quarter of seven licensees of sealy inc as well as pct of the outstanding capital stock of sealy because
of these acquisitions it said first quarter sales will be substantially higher than last years mln dlrs noting that it typically
reports first quarter results in late march said the report is likely to be issued in early april this year it said the delay is
due to administrative considerations including conducting appraisals in connection with the acquisitions reuter
Un exemple sous R:
> adist("totor",c("toto","tata","tutu","tonton","tantine"))
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 3 2 5
Un mot vide est un mot communément utilisé dans une langue, non porteur de sens
dans un document (ex. préposition, pronoms, etc.). Formellement, sa fréquence
d’apparition est la même dans tous les documents. De fait, les mots vides ne permettent
pas de discriminer les documents (de distinguer les documents les uns des autres), ils
sont inutilisables en text mining tel que nous le concevons (catégorisation, recherche
d’information, etc.) (Wikipédia).
ohio mattress co said its first quarter ending february profits may be below the mln dlrs or cts a share earned in the
Texte nettoyé
first quarter of fiscal the company said any decline would be due to expenses related to the acquisitions in the middle
of the current quarter of seven licensees of sealy inc as well as pct of the outstanding capital stock of sealy because
of these acquisitions it said first quarter sales will be substantially higher than last years mln dlrs noting that it typically
reports first quarter results in late march said the report is likely to be issued in early april this year it said the delay is
due to administrative considerations including conducting appraisals in connection with the acquisitions reuter
125 termes
Texte après retrait des
stopwords en anglais
ohio mattress co said first quarter ending february profits may mln dlrs cts share earned first quarter fiscal company
said decline due expenses related acquisitions middle current quarter seven licensees sealy inc well pct outstanding
capital stock sealy acquisitions said first quarter sales will substantially higher last years mln dlrs noting typically
reports first quarter results late march said report likely issued early april year said delay due administrative
considerations including conducting appraisals connection acquisitions reuter
76 termes
125−76
= 39.2% des termes ont été retirés.
125
Les « stop word » sont en très grande partie composée de mots qui n’ont
pas de sens en eux-mêmes, mais qui sont utilisés dans la construction des
phrases (ex. prépositions, pronoms, verbes auxiliaires, articles). Ils sont
caractéristiques d’une langue et peuvent être utilisés pour les identifier.
Algorithme
Entrée : document, liste des mots vides pour plusieurs langues
Sortie : la langue identifiée
Pour chaque langue :
Compter les occurrences des mots vides de la langue dans le document
La langue identifiée est celle pour laquelle le nombre de correspondance
est le plus élevé
Attention, si la taille de la liste des mots vides est différente d’une langue à
l’autre, il faut en tenir compte.
Il existe d’autres approches pour la détection de la langue, dont celles basées sur un
apprentissage à partir de suites de caractères caractéristiques (n-grams, cf. plus loin).
R.R. – Université Lyon 2 16
Lemmatisation (lemmatization)
La lemmatisation consiste à analyser les termes de manière à identifier sa forme
canonique (lemme), qui existe réellement. L’idée est de réduire les différentes
formes (pluriel, féminin, conjugaison, etc.) en une seule.
Ex. am, are, is be Ainsi, la phrase « the boy’s cars are different colors »
car, cars, car’s, cars’ car devient « the boy car be differ color ».
Le stemming consiste à réduire un mot à sa racine (stem), qui peut ne pas exister.
L’algorithme de Porter est un des plus connus pour la langue anglaise. Il applique
une succession de règles (mécaniques) pour réduire la longueur des mots c.-à-d.
supprimer la fin des mots (voir Wikipédia ; Page de Martin Porter).
ohio mattress co said first quarter ending february profits may ohio mattress co said first quarter end februari profit may mln dlrs
mln dlrs cts share earned first quarter fiscal company said cts share earn first quarter fiscal compani said declin due expens
decline due expenses related acquisitions middle current relat acquisit middl current quarter seven license seali inc well pct
quarter seven licensees sealy inc well pct outstanding capital outstand capit stock seali acquisit said first quarter sale will
stock sealy acquisitions said first quarter sales will substantially substanti higher last year mln dlrs note typic report first quarter
higher last years mln dlrs noting typically reports first quarter result late march said report like issu earli april year said delay due
results late march said report likely issued early april year said administr consider includ conduct apprais connect acquisit reuter
delay due administrative considerations including conducting
Après stemming : 477 caractères
appraisals connection acquisitions reuter
• Le stemming est un traitement final, qui n’autorise plus de post-traitements sur les mots
• Le stemming peut conduire à des regroupements erronés (ex. marmite, marmaille marm)
• des solutions pour la langue française (ex. Carry), mais sont peu diffusées (∄ pour R ou Python)
Document imag databas can get huge save perman store babi
1 1 1 1 1 1 0 0 0 0
2 2 1 0 0 0 1 1 0 0
3 2 1 0 0 0 0 0 1 1
4 6 3 0 0 0 0 0 1 0
Fréquence trop élevée (termes présents dans presque tous les documents) :
permet peut-être de cerner le domaine, mais ne permet pas de différencier les
documents (ex. databases, image).
50 50
40 40
30 30
20 20
10 10
0 0
year
reuter
pct
acquir
offer
worker
yuear
wrather
wrest
will
complet
total
compani
william
withdraw
mln
yen
said
corp
agre
buy
wood
world
dlrs
inc
share
whole
manag
wnx
wrong
woodco
stock
work
wtc
zealand
common
wtcs
withdrawn
yesterday
zurichbas
Il ne reste plus que 430 termes si on les retirait
R.R. – Université Lyon 2 21
Chaque document est représenté par un vecteur : feature vector
PONDÉRATION
1. image databases can get huge Document databases huge image permanently store
2. most image databases store image permanently 1 1 1 1 0 0
3. image databases store image baby 2 1 0 1 1 1
4. image databases store image image databases 3 1 0 1 0 1
4 1 0 1 0 1
store image image databases store image
Avantages
• Simplicité
• Forme de « lissage » de l’information en donnant la même importance à tous les termes
• Adaptée à certaines techniques (ex. règles d’association) et mesures de distance (ex. Jaccard)
Ex. de règle d’association : Si databases & store Alors image (support : 0.75 ; confiance : 1.0)
Inconvénients
• Une partie de l’information n’est pas captée (perte d’information), dont pourrait tirer profit
certaines catégories de techniques statistiques
• Pourquoi donner la même importance à tous les termes ?
R.R. – Université Lyon 2 23
Fréquence des termes (TF : Term frequency) – 𝑓𝑡,𝑑
1. image databases can get huge Document databases huge image permanently store
2. most image databases store image permanently 1 1 1 1 0 0
3. image databases store image baby 2 1 0 2 1 1
4. image databases store image image databases 3 1 0 2 0 1
4 3 0 6 0 3
store image image databases store image
Avantages
• On capte plus d’information, la répétition d’un terme dans le document est prise en compte
• Des techniques savent prendre en compte ce type d’information (calcul matriciel)
Inconvénients
• Les écarts entre documents sont exagérés (ex. si on utilise une distance euclidienne)
• On ne tient pas compte de la prévalence des termes dans l’ensemble des documents (cf. IDF)
Normalisation 0 si f t ,d 0
1 1.00 1.00 1.00 0.00 0.00
tf (t , d ) 2 1.00 0.00 1.30 1.00 1.00
Normalisation
f t ,d 1 0.33 0.33 0.33 0.00 0.00
tf (t , d )
f
2 0.20 0.00 0.40 0.20 0.20
simple t ', d 3 0.25 0.00 0.50 0.00 0.25
t' 4 0.25 0.00 0.50 0.00 0.25
On pondère la fréquence par le nombre de termes présents dans le
document (une autre manière de tenir compte de la longueur)
Un terme présent dans presque tout le corpus (D) influe peu quand il apparaît dans
un document. A l’inverse, un terme rare apparaissant dans un document doit
retenir notre attention. L’IDF mesure l’importance d’un terme dans un corpus.
Le filtrage sur les fréquences permet d’éviter l’influence exagérée des termes très rares.
tfidf (t , d , D) tf (t , d ) idf (t , D)
Le TF-IDF d’un terme dans un Le terme apparaît beaucoup Il se fait rare par ailleurs.
document est élevé quand : dans le document.
f t,d N
Remarque : Dans le package ‘tm’, par défaut nous avons : tfidf (t , d , D) log 2
ft ',d
t 'd
nt
R.R. – Université Lyon 2 27
MESURER LES SIMILARITÉS
Un indice de similarité
Non-négativité s (u , v) 0 u , v est toujours positif.
d (u , v) 0 u v
Une distance est aussi une Avec une propriété
d (u , v) d (v, u ) supplémentaire :
mesure de dissimilarité d (u , v) d (u , z ) d (v, z ) l’inégalité triangulaire
z
u
Indice de u v
s (u , v )
Tanimoto u v u v
N-GRAMMES
Quel intérêt ?
• C’est une manière d’effectuer une racinisation (stemming) très simplement
• L’approche est indépendante de la langue… mais l’interprétation des résultats n’est pas
toujours évidente
En pratique
• Elle donne d’excellents résultats dans les applications, par exemple dans la détection
des spams, des plagiats,…
• L’approche peut s’étendre à des domaines où une tokenisation naturelle n’est pas
possible et/ou trop limitée (ex. séquence ADN, description des protéines à l’aide des
acides aminés, etc.)
Ouvrages
Weiss S., Indurkhya N., Zhang T., Damerau F., « Text Mining – Predictive
methods for analyzing unstructured information », Springer, 2005.
Feldman R., Sanger J., « The text mining handbook – Advanced approcahes
in analyzing unstructuerd data », Cambridge University Press, 2008.
Ignatow G., Mihalcea R., « Text mining – A guidebook for the social
science », Sage Publications, 2016.
Coelho L.P., Richert W., « Building Machine Learning Systems With Python »,
2nd Edition, Packt Publising, 2015.