Qu’est-ce que le clustering en TAL ?

Le partitionnement de données (ou data clustering en anglais) est une méthode statistique d'analyse des données.

Elle vise à diviser un ensemble de données en différents « paquets » homogènes : c’est-à-dire que les données de chaque sous-ensemble partagent des caractéristiques communes.

Le Clustering est utilisé dans des domaines variés :

  • La Bio-Informatique pour identifier des gènes ressemblants,
  • Le marketing pour segmenter la clientèle afin d’établir des études de marché
  • Le traitement de l’image pour la reconnaissance d’objets
  • Le Traitement Automatique des Langues (TAL) pour la classification de documents

Inbenta a conçu son propre moteur de recherche sémantique dont le but est de renvoyer une réponse pertinente (issue d’une base de connaissances) à une requête. Le système, pour maximiser sa performance, doit comporter une base de connaissances actualisée et en adéquation avec les besoins des utilisateurs. Des analyses sémantiques sont donc nécessaires pour déceler, parmi les milliers de questions posées chaque mois, quelles sont les thématiques récurrentes à intégrer dans la base. Ces analyses, si elles sont effectuées manuellement, sont très chronophages. C’est pourquoi Inbenta s’est doté d’un cluster sémantique lui permettant de regrouper automatiquement les requêtes qui abordent la même thématique.

On parle ici de clustering non supervisé car on ne connaît pas à priori les « classes » (ici les thématiques) dans lesquelles on rangera les différents éléments (c’est-à-dire les requêtes).

Quelles sont les principes du clustering non supervisé ?

A l’aide d’analyses statistiques, le clustering cherche à exploiter les régularités numériques des données (comme le nombre d’apparitions d’un mot-clé dans un texte, les mots qui sont souvent à proximité l’un de l’autre, les mots spécifiques à un texte ou question, etc.) pour déterminer des groupes homogènes. Ainsi, on va tenter de mesurer la similarité entre les différents éléments afin de regrouper ceux qui se ressemblent. Le but est, d’une part, de maximiser la ressemblance au sein des classes, c’est à-dire de regrouper des éléments qui sont les plus ressemblants possibles, et d’autre part, d’avoir des classes aussi distinctes les unes des autres que possible.

Le clustering de données textuelles se cantonne généralement au niveau du mot ou du caractère, négligeant les spécificités du langage. En effet, si on n’utilise aucune connaissance linguistique, que faire des expressions polylexicales telles que « pomme de terre » ? De même, comment tenir compte de la ressemblance sémantique entre « auto » et « véhicule », qui ne présentent aucune ressemblance au niveau des mots et des caractères ?

Pour traiter ces spécificités liées au langage, il faut injecter des connaissances sur le langage dans le système, mais ceci nécessite de disposer d’une ressource décrivant le langage exploitable par une machine.

Or, la valeur ajoutée d’Inbenta est justement son lexique qui décrit les relations sémantiques entre les mots. Nous souhaitions donc intégrer les connaissances stockées dans cette ressource au cœur du fonctionnement du cluster.

C’est pourquoi nous avons décidé d’allier la puissance des méthodes statistiques aux connaissances linguistiques stockées dans notre lexique.  Ainsi, nous avons développé un cluster sémantique hybride.

Comment fonctionne notre cluster hybride ?

Clustering et TAL

 

Notre cluster prend en entrée une liste de questions utilisateurs. Il effectue un pré-traitement linguistique des questions : correction orthographique, lemmatisation, expansion par les synonymes et autres relations sémantiques. Puis, il effectue un calcul d’affinité entre les paires de questions utilisateurs ainsi transformées . Ensuite, l’algorithme k-means est appliqué pour aboutir à un découpage en K clusters (K étant le nombre de clusters préalablement définis).

Ci-dessous un exemple de cluster de questions obtenu en sortie. Il s’agit d’un cluster intitulé « crédit auto maaf » :

 

Clusters et clustering : qu'est ce que c'est ?

 

On constate que notre cluster est capable, grâce aux informations contenues dans le lexique, de rapprocher « voiture », « automobile » et « auto » ainsi que « prêt » et « crédit »

Notre cluster est dit « hybride » car il combine un algorithme de clustering classique (k-means) avec les informations linguistiques du lexique. Concrètement, le lexique permet de tenir compte des relations sémantiques entre les mots des questions. Cela nous permet d’identifier la ressemblance entre ces questions, aussi bien au niveau de la forme que du sens. C’est pourquoi on parle de cluster « sémantique ».

Linguistique et analyse automatique du langage : le saviez-vous ?

L’utilisation de connaissances linguistiques dans des travaux d’analyse automatique du langage n’a pas toujours coulé de source.

Lorsqu’IBM a commencé à travailler sur le langage naturel, le chercheur Fred Jelinek aurait déclaré que le départ des linguistes coïncidait toujours avec une amélioration du système de reconnaissance vocale : «  anytime a linguist leaves the group the recognition rate goes up ».

Le cluster sémantique hybride d’Inbenta illustre l’intérêt d’une approche collaborative entre statisticiens et linguistes !

 

 

Inbenta est un leader dans les technologies innovantes de recherche pour les entreprises. Nous mettons en oeuvre les dernières avancées en termes de traitement automatique du langage afin d’améliorer la qualité de service pour les entreprises et leurs clients au travers par exemple de chatbots et d’autres solutions selfcare.

Vous voulez en savoir plus sur le fonctionnement de la recherche sémantique d’Inbenta ?

LIRE L’ARTICLE DÉTAILLÉ

Inbenta Team
by Inbenta Team