L’analyse sémantique au sein de la santé

    L’analyse sémantique au sein de la santé
    Actu IA
    depositphotos_45125041-stock-photo-word-cloud-nlp

    Le contexte

    L’utilisation de données de santé est toujours un tabou en France. Les données personnelles, les données sensibles, la confidentialité de données, etc. sont autant de freins à l’exploitation des données. C’est pourquoi le secteur de la santé est à la traîne en France. Pourtant, les cas usages sont nombreux : une meilleure personnalisation des services, un meilleur suivi des patients, une meilleure prévention santé entre autres. Le secteur de la santé fait également face à des contraintes techniques puisqu’une grande partie de la valeur réside dans les données dites non-structurées tels que les images médicales, les dossiers patients ou les fiches utilisateurs, plus difficiles à exploiter par nature.

    Nous avons pu analyser des données de santé lors d’une de nos missions où il fallait mettre en valeur les données collectés par notre client. Nous vous expliquons dans cet article la démarche utilisée pour le traitement des données textuelles en démontrant la valeur ajoutée qu’elles peuvent apporter quand elles sont combinées aux données structurées tels que l’âge, le sexe, l’adresse postale, et d’autres données personnelles.

    À propos de type de données

    Nous remarquons principalement les deux types de données mentionnés précédemment. Pour mieux distinguer le type de données que l’on peut trouver dans les problèmes liés à la data science, nous définissons les données structurées comme étant celles qui font référence à toutes les variables doté d’un format défini. Cela comprend principalement les données contenues dans les bases relationnelles et organisées généralement sous un format tabulaire. D’autre part, il est possible de rencontrer des variables qui contiennent des informations n’ayant pas de format prédéfini : il s’agit de données non structurées.

    Nous décrivons ci-après le problème auquel nous avons été confrontés lors d’une de nos missions en utilisant uniquement des données structurées et où nous n’avons pas obtenu de bons résultats. C’est pour cela, que nous les avons combinées aux données non-structurées afin d’améliorer la performance de nos algorithmes.

    La mission

    La mission a été réalisée pour une entreprise du domaine de la santé. Le type de données collectées nous ont permis de définir un cas d’usage : la catégorisation des bénéficiaires à partir de résumés des appels enregistrés. En effet, les données textuelles nous ont permis d’améliorer dans un premier temps d’assigner une catégorie aux appelants. Ce processus aide notre partenaire à mieux connaître les appelants afin d’améliorer et de personnaliser ses services.

    L’objectif de ce cas d’usage est la classification des appels enregistrés. Pour cela, nous avon divisé la mission en deux étapes: la première étape comprend l’analyse sémantique des résumés des appels téléphoniques, et la deuxième étape comprend la classification des appels en utilisant les résultats de l’analyse sémantique précédente ainsi que les données structurées.

    Nous allons nous focaliser principalement sur le travail d’analyse sémantique qui a permis d’améliorer les performances des algorithmes.  Pour cela nous avons principalement défini le groupe lexical qui décrit de façon unique et précise chaque classe. Par exemple, pour une classe donnée, on trouvera tous les mots pouvant être rattachés à elle sans pour autant se retrouver dans les champs respectifs des autres classes. Par exemple, en ayant l’ensemble des mots table, lave-vaisselle, lit, commode, frigo, et four, on peut distinguer deux catégories : mobilier et électroménager même si ces mots peuvent être retrouvé dans le même contexte.

    Comment cela se fait-il ?

    Le traitement du langage naturel (NLP) est au coeur de notre méthodologie. En tant que sous-ensemble de l’intelligence artificielle (IA), il fait référence à la capacité d’une machine à tirer des informations pertinentes du langage humain. Les techniques de NLP nous permettent de mettre en place un ensemble d’opérations afin d’extraire les champs lexicaux et les topics dont les résumés des appels font référence.

    Notre analyse sémantique comprend 4 étapes qui seront décrites en prenant en compte l’extrait du texte suivant:

    ## [[5]] ##

    || DÉBUT || :

    Issu d’une famille de marchands parisiens.

    ============ CORPUS ============

    Il est heureux de s’associer à 21 ans avec une dizaine de camarades, dont la comédienne Madeleine Béjart, pour former la troupe de l’Illustre Théâtre qui, malgré la collaboration de dramaturges de renom, ne parvient pas à s’imposer à Paris.

    ****** END ******

    Nettoyage de texte

    Tout d’abord, il est nécessaire de nettoyer le texte pour enlever des signes de ponctuation, des chiffres, des symboles, des abréviations et des repères dans le document comme début et corpus qui sont utilisés pour donner un format au document. . En effet ces éléments n’ont pas de valeur ajoutée dans notre analyse. Voici un exemple des éléments enlevés:

    ## [[5]] ##

    || DÉBUT || :

    ============ CORPUS ============

    21 . ,

    ****** END ******

    Après le premier nettoyage, le texte ressemblera à ceci:

    Issu d’une famille de marchands parisiens

    Il est heureux de s’associer à ans avec une dizaine de camarades dont la comédienne Madeleine Béjart pour former la troupe de l’Illustre Théâtre qui malgré la collaboration de dramaturges de renom ne parvient pas à s’imposer à Paris

    Tokenization

    L’étape suivante consiste diviser le texte en leur plus petite unité grammaticale à savoir les mots: il s’agit d’un procédé appelé la tokenization. De manière générale, la Tokenization fait référence à la transformation d’une macro-structure en micro-structures ou tokens. Il est également possible de définir les tailles minimale et maximale des tokens afin d’inclure dans les analyses les groupes de mots les plus fréquents. Voici un exemple de la tokenization en utilisant des tokens unitaires:

    Issu d’une famille de marchands parisiens il est heureux de s’associer à ans avec une dizaine de camarades dont la comédienne Madeleine Béjart pour former la troupe de l’Illustre Théâtre qui, malgré la collaboration de dramaturges de renom ne parvient pas à s’imposer à Paris

    En appliquant la tokenization nous avons :

    « Issu », « d’ », « une », « famille », « de », « marchands », « parisiens », « Il », « est », « heureux », « de », « s’ »,  « associer », « à », … tokenization de tout le corpus … « la », « collaboration », « de », « dramaturges », « de », « renom », « ne », « parvient », « pas », « à », « s’ »,  « imposer », « à », « Paris »

    Stopwords

    La tokenization fournit la liste exhaustive de tous les mots contenus dans un texte. Cependant, tous les mots extraits ne sont pas utiles pour définir les groupes lexicaux.

    Certains mots même s’ils sont utilisés plus fréquemment ne rajoutent pas d’information dans le sens d’une phrase.  Prenons les textes suivants:

    Il est heureux de s’associer à 21 ans avec une dizaine de camarades

    Elles sont heureuses de s’associer à 21 ans avec une dizaine de camarades

    Je suis heureux de m’associer à 21 ans avec une dizaine de camarades

    Dans ces phrases nous pouvons noter que le fait de savoir qui est “heureux/heureuse” pour l’évènement (nous, elle ou moi) n’est pas une information capitale si le but est d’extraire une polarité générale du texte. Ceci nous conduit à la définition des Stopwords qui regroupent ainsi les mots dont l’absence dans une phrase ne porte pas atteinte à la compréhension de cette dernière. Ces mots sont principalement représentés par des prépositions et des pronoms. La conséquence directe est que la structure grammaticale est perdue, ce qui rend la lecture de ces phrases potentiellement complexes. En revanche, cela n’affecte l’analyse qui sera faite car, dans notre analyse, nous cherchons à extraire les groupe lexicaux représentatifs et exclusifs à chaque classe.

    Sélection de mots

    Dans cette phase, nous avons sélectionné les mots qui nous aident à identifier une classe de façon exclusive. Le texte suivant montre une liste des noms propres. Même si ces mots apparaissent le plus dans un texte, ils ne sont pas sélectionnés parce qu’ils ne donnent pas d’information sur les classes qui peuvent être pertinents pour notre étude.

    Madeleine, Béjar, … (cas trouvé dans l’exemple illustratif)

    Janvier, Juin, Septembre, … (d’autres cas qu’on pourrait trouver)

    Lundi, Vendredi, Samedi, … (d’autres cas qu’on pourrait trouver)

    Afin de vérifier la pertinence des mots, nous avons demandé la participation de notre partenaire d’un point de vue métier. Après le premier filtrage des mots, nous avons mis en place un processus itératif visant à affiner davantage la sélection des mots. Par exemple :

    Cela a permis d’affiner la taxonomie pour chaque classe et d’établir une base solide pour construire nos algorithmes.

    Définition des seuils

    Le résultat de l’analyse sémantique peut être maintenant utilisé comme données d’entrée pour l’entraînement d’un algorithme de prédiction. On a fait une étude du nombre minimal de mots-clés nécessaires pour calculer la probabilité d’appartenance à une classe.

    Nous avons utilisés les seuils de mots-clés pour augmenter la labellisation des appels de la base d’entraînement pour notre algorithme de prédiction qui est hors de scope de cet article.

    Résultats

    L’analyse sémantique nous a permis d’identifier des topics les plus récurrents dans les données fournies par notre partenaire. Le principal impact de cette analyse est au niveau métier où notre travail a permis de repérer +160% d’échantillons déjà existantes et qui n’avaient pas été identifiés auparavant. De plus, ce travail a permis au partenaire d’approfondir sa connaissance de ses bénéficiaires. La présence de certains mots doit pouvoir alerter le partenaire de certaines vulnérabilités exprimés lors des appels et l’aider à définir les solutions appropriées pour aider ses bénéficiaires.

    Nous avons aussi aidé à l’identification des forces et faiblesses du partenaire, ainsi que à la définition de la stratégie et les actions associées sur la détection des classes.

    Souhaitez-vous booster vos projets Data avec Axionable ? N’hésitez pas à nous contacter directement sur franck@axionable.com

     

    PARTAGER