vendredi 28 septembre 2007

graphe sémantique



ou comment découvrir automatiquement le sens de mots en les visualisant sur un graphe sémantique ...








Qu'est ce que la sémantique ?

C'est à la fois simple à comprendre et compliqué à manipuler
La sémantique c'est le sens, c'est ce qu'on appelle aussi parfois le « fond » par opposition à la forme. Par exemple si je compare les mots « voiture » et « véhicule » d'un point de vue sémantique ce sont des mots relativement proche par leur sens. Je peux en général remplacer le mot voiture par le mot véhicule, cela ne changera pas le sens du discourt. La sémantique est naturelle et facile pour un humain, par contre un ordinateur est incapable de voir la proximité de sens entre ces deux mots, sauf bien sûr si on lui a donné cette information. Spécifier une base de donnée sémantique est extrêmement coûteux et complexe car il faut détailler et expliquer le sens de chaque mots utilisé ainsi que ses rapports avec tous les autres. C'est une des raisons pour lesquelles le fameux «web sémantique » peine à se diffuser.

Ce qui est expliqué ici n'a évidement pas pour but de concurrencer le projet de web sémantique, mais montre qu'il est possible d'accéder de manière indirecte à la sémantique des mots. Cela se fait grâce au calcul d'une distance sémantique entre mots (voir cet article pour plus de détail ). Cette distance, assez simple à calculer en pratique, permet alors de comparer sémantiquement des textes. Notez que cela ne veux pas dire que l'ordinateur comprend réellement le sens du texte, mais il est capable de les comparer et de mesurer leur similitudes ou différences sémantique. Ainsi connaissant une base de mots si on est capable de placer un mot nouveau par rapport à cette base, on peut alors en avoir une compréhension intuitive. C'est ce que l'on va faire ici.

Distance sémantique et représentation
L'article précédemment cité nous donne donc la possibilité de calculer une distance sémantique entre n'importe quelle paire de mots grâce à quelques requête sur un moteur de recherche sur internet. On obtient alors une valeur numérique pour toute paires de mots pour une liste donnée. On va considérer cette valeur comme une distance. On peut alors essayer de placer les mots sur un plan de manière à respecter au mieux les distances sémantique calculées. C'est ce qui est fait ici :
 
voilà comment on peut interpréter ce schéma :
  • on voit que en haut à gauche se situe les écoles d'ingénieurs (formation scientifique/technique)
    (esiea, efrei, estaca, esme)
  • en haut à droite il y a les écoles de commerce.
    (hec, edhec, isc)
  • en bas à droite il y a les grandes écoles publiques (polytechnique, ena, sciences po')
  • On peut noter aussi que polytechnique est plus proche du groupe d 'écoles d'ingénieur qu'il ne l'est des écoles de commerce. De même science po' et l'ena sont plus proche des écoles de commerce que des écoles d'ingénieur.
Cette organisation à été produite entièrement automatiquement. Les distances sémantiques entre les mots ont été calculées à partir de recherches sur internet. Trouver les coordonnées des emplacement de chaque mots satisfaisant les distances sémantiques est une opération compliqué. On est d'ailleurs pas du tout assuré qu'il existe un agencement des mots dans le plan permettant de respecter les distances sémantique... Une solution approchée consiste à représenter les distances entre les mots comme des ressorts. Pour cela on crée un simulateur et on laisse les lois de la physique trouver une solution approchée des positions.

Cette production, quoique 100% automatique, est pourtant sémantiquement tout à fait valide. Notez les regrouppement d'écoles par thèmes (ingénieurie scientifique et technique, commerce, gestion, et grandes écoles publiques).

Supposons maintenant que je connaisse tout ou presque des écoles précédemment citée mais qu'on me parle d'une école dont le sigle est isg dont je ne connais absolument rien. Je vais tout simplement l'ajouter au graphe suivant et laisser faire le programme...
Voici ce qu'on obtient :
 
On voit alors que l'isg se rapproche des écoles de commerce donc « non-scientifique ». S'agissant d'un école de gestion, les positions relative des mots nous permettent de nous faire une idée, de manière automatique, du thème de cette école.