# idl_15 Similarité entre documents - représentation vectorielle
:::info
Objectif : calculer un taux de similarité entre deux documents
:::
- “À quel point ces deux textes se ressemblent-ils ?”
- “À quel point parlent-ils de la même chose ?”
- “À quel point décrivent-ils des objets semblables ?”









:question: Votre opinion sur ces systèmes ?


















### La similarité de Jaccard
Intersection over Union :

([source](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/))
Exemple :
texte 1 = ”Lundi j’ai cours de bases de données, mardi de programmation, jeudi de sémantique : je n’ai plus le temps pour faire du sport.”
texte 2 = “Qu’est-ce que la programmation ? La programmation est une discipline qui demande temps concentration et vigilance.”
texte 3 = ”Le karaté est un art martial qui demande respect discipline concentration et connaissance de soi.”

- plus les textes ont des mots en commun, plus l'union est faible et l'intersection importante.
similarite Jaccard(texte 1, texte 2) = $2/28$ = 0.07
similarite Jaccard(texte 1, texte 3) = $1/33$ = 0.03
similarite Jaccard(texte 2, texte 3) = $6/20$ = 0.30
:question: Quelles sont les limites de cette méthode ?
:::spoiler
2 limites principales :
- sensibilité à la taille des documents (deux petits documents peuvent avoir une distance très faible)
- ne prend pas en compte la fréquence des mots eux-mêmes dans un document : 2 documents qui ont 1 mot en commun auront la même distance que ce mot apparaîsse 1 fois dans chaque document ou 100 fois
:::

Représentation vectorielle









## TF/IDF
Hypothèses linguistiques sous-jacentes :
- Tous les mots n’ont pas la même importance dans un texte (plus un mot est fréquent plus il est important ?)
- Les mots les moins fréquents à l’échelle du corpus sont plus discriminants.
TF : Term Frequency (d'autant plus élevé que le terme est fréquent)
IDF : Inverse Document Frequency (d'autant plus élevé que le terme est présent dans *peu de textes*)
ex : classer des personnalités par biographies
- quels sont les mots qui vont avoir un TF fort ?
- quels sont les mots qui vont avoir un IDF faible ?
Exemple :
“0 = Simple example with Cats and Mouse ”
“1 = Another simple example with dogs and cats ”
”2 = Another simple example with mouse and cheese ”
Pour chaque phrase, on calcule TF et IDF **pour l’ensemble des mots du corpus**
⇒ on obtient des vecteurs ==de même taille== pour tous les documents (ici, des phrases)
