Partager via


Pré-traiter le texte

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Effectue des opérations de nettoyage sur du texte

catégorie : Analyse de texte

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Vue d’ensemble du module

cet article explique comment utiliser le module de texte de prétraitement dans Machine Learning Studio (classic) pour nettoyer et simplifier le texte. En prétraitement du texte, vous pouvez créer plus facilement des fonctionnalités significatives à partir du texte.

Par exemple, le module PreProcess Text prend en charge ces opérations courantes sur le texte :

  • Suppression des mots vides
  • Utilisation d’expressions régulières pour rechercher et remplacer des chaînes cibles spécifiques
  • Lemmatisation, qui convertit plusieurs mots connexes en une seule forme canonique
  • Filtrage sur des parties spécifiques de la parole
  • Normalisation de casse
  • Suppression de certaines classes de caractères, comme les nombres, les caractères spéciaux et des séquences de caractères répétés comme « aaaa »
  • Identification et suppression des adresses e-mail et URL

Vous pouvez choisir les options de nettoyage à utiliser et éventuellement spécifier une liste personnalisée de mots vides.

Le module prend actuellement en charge six langues : anglais, espagnol, français, néerlandais, allemand et italien.

Comment configurer le prétraitement de texte

  1. Ajoutez le module PreProcess Text à votre expérience dans Studio (Classic). Ce module se trouve sous Analyse de texte.

  2. Connectez un jeu de données qui comprend au moins une colonne contenant du texte.

  3. Si le texte que vous Prétraitez se trouve dans la même langue, sélectionnez la langue dans la liste déroulante langue . Avec cette option, le texte est prétraité à l’aide de règles linguistiques spécifiques à la langue sélectionnée.

  4. Pour prétraiter du texte qui peut contenir plusieurs langues, choisissez la colonne contient l’option Language.

    Utilisez ensuite la propriété de colonne langue de culture pour choisir une colonne dans le DataSet qui indique la langue utilisée dans chaque ligne. La colonne doit contenir un identificateur de langue standard, tel que « anglais » ou en .

    Sur la base de cet identificateur, le module applique les ressources linguistiques appropriées pour traiter le texte.

    Si votre jeu de données ne contient pas de tels identificateurs, utilisez le module de langage de détection pour analyser la langue à l’avance et générer un identificateur.

    Conseil

    Une erreur est générée si une langue non prise en charge est incluse. Pour plus d’informations, consultez la section Notes techniques .

  5. Supprimer par partie de la reconnaissance vocale: sélectionnez cette option si vous souhaitez appliquer une analyse de la parole. Vous pouvez ensuite utiliser les balises de synthèse vocale pour supprimer certaines classes de mots.

    • Supprimer les noms: sélectionnez cette option pour supprimer les noms.
    • Supprimer les adjectifs: sélectionnez cette option pour supprimer les adjectifs.
    • Supprimer les verbes: sélectionnez cette option pour supprimer les verbes.

    Pour plus d’informations sur la méthode d’identification du composant de reconnaissance vocale utilisée, consultez la section Notes techniques .

  6. Colonne de texte à nettoyer: sélectionnez la ou les colonnes que vous souhaitez prétraiter.

  7. Supprimer les mots vides : Sélectionnez cette option si vous voulez appliquer une liste prédéfinie de mots vides à la colonne de texte. La suppression des mots vides est effectuée avant tout autre processus.

    Les listes mot vide sont dépendantes de la langue et personnalisables ; Pour plus d’informations, consultez la section Notes techniques .

  8. Lemmatisation : Sélectionnez cette option si vous voulez que les mots soient représentés sous leur forme canonique. Cette option s’avère utile pour réduire le nombre d’occurrences uniques des jetons de texte autrement similaires.

    Le processus lemmatisation dépend fortement de la langue. Pour plus d’informations, consultez la section Notes techniques .

  9. Détecter les phrases : Sélectionnez cette option si vous voulez que le module insère une marque de limite de phrase lors de l’exécution de l’analyse.

    Ce module utilise une série de trois barres verticales ||| pour représenter la ponctuation de fin de phrase.

  10. Si vous le souhaitez, vous pouvez effectuer des opérations de recherche et de remplacement personnalisées à l’aide d’expressions régulières.

    • Expression régulière personnalisée: définissez le texte que vous recherchez.
    • Chaîne de remplacement personnalisée : Définissez une valeur de remplacement unique.
  11. Normaliser la casse en minuscules : Sélectionnez cette option si vous voulez convertir les caractères majuscules ASCII en minuscules.

    Si les caractères ne sont pas normalisés, le même mot en lettres majuscules et minuscules est considéré comme deux mots différents : par exemple, AM est le même que am .

  12. Si vous le souhaitez, vous pouvez supprimer les types de caractères ou séquences de caractères suivants du texte de sortie traité :

    • Supprimer les chiffres : Sélectionnez cette option pour supprimer tous les caractères numériques de la langue spécifiée.

    L’identification de ce qui constitue un nombre dépend du domaine et de la langue. Si les caractères numériques font partie intégrante d’un mot connu, ils ne peuvent pas être supprimés.

    • Supprimer les caractères spéciaux: utilisez cette option pour remplacer tous les caractères spéciaux non alphanumériques par le caractère de barre verticale | .

      Pour plus d’informations sur les caractères spéciaux, consultez la section Notes techniques .

    • Supprimer les caractères en double: sélectionnez cette option pour supprimer toutes les séquences qui répètent des caractères. Par exemple, une séquence comme « aaaaa » sera supprimée.

    • Supprimer les adresses e-mail : Sélectionnez cette option pour supprimer toutes les séquences au format <string>@<string>.

    • Supprimer les URL: sélectionnez cette option pour supprimer une séquence qui comprend les préfixes d’URL suivants :

      • http, https
      • ftp
      • www
  13. Développer les contractions verbales : Cette option s’applique uniquement aux langues qui utilisent les contractions verbales. Actuellement, il s’agit de l’anglais uniquement.

    Par exemple, en sélectionnant cette option, vous pouvez remplacer la locution « wouldn’t stay there » par « would not stay there ».

  14. Normaliser les barres obliques inverses en barres obliques : Sélectionnez cette option pour mapper toutes les instances de \\ en /.

  15. Fractionner les jetons sur les caractères spéciaux : Sélectionnez cette option si vous voulez couper des mots sur des caractères comme &, -, etc.

    Par exemple, la chaîne MS-WORD est divisée en deux jetons, MS et WORD .

Exemples

Les exemples suivants de la Azure ai Gallery illustrent l’utilisation du module de texte de prétraitement :

Notes techniques

Cette section fournit des informations supplémentaires sur la technologie de prétraitement de texte sous-jacente et sur la manière de spécifier des ressources de texte personnalisées.

Langues prises en charge

actuellement Machine Learning prend en charge le prétraitement de texte dans les langues suivantes :

  • Néerlandais
  • Anglais
  • Français
  • Allemand
  • Italien
  • Espagnol

D’autres langues sont prévues. consultez le blog Microsoft Machine Learning pour les annonces.

Lemmatisation

Lemmatisation est le processus d’identification d’une forme canonique unique pour représenter plusieurs jetons de mots.

les bibliothèques de traitement en langage naturel incluses dans Machine Learning Studio (classic) combinent plusieurs opérations linguistiques suivantes pour fournir lemmatisation :

  • Séparation des phrases: dans le texte libre utilisé pour l’analyse des sentiments et d’autres analyses de texte, les phrases sont souvent exécutées ou la ponctuation est peut-être manquante. Les textes d’entrée peuvent constituer un segment de texte arbitrairement long, allant d’un tweet ou d’un fragment à un paragraphe complet, voire un document.

    Les outils de langage naturel utilisés par Studio (Classic) effectuent la séparation des phrases dans le cadre de l’analyse lexicale sous-jacente. Toutefois, les phrases ne sont pas séparées dans la sortie. Si vous le souhaitez, vous pouvez spécifier qu’une limite de phrase soit marquée pour faciliter le traitement et l’analyse du texte.

  • Création de jetons: les règles qui déterminent les limites des mots dépendent du langage et peuvent être complexes même dans les langues qui utilisent des espaces entre les mots.

    Certaines langues (comme le chinois ou le japonais) n’utilisent pas d’espace blanc entre les mots et la séparation des mots nécessite une analyse morphologique.

    Par conséquent, les méthodes de création de jetons et les règles utilisées dans ce module fournissent des résultats différents d’un langage à l’autre. Ces règles de création de jetons sont déterminées par les bibliothèques d’analyse de texte fournies par Microsoft Research pour chaque langue prise en charge et ne peuvent pas être personnalisées.

  • Identification par synthèse vocale: dans n’importe quelle séquence de mots, il peut être difficile d’identifier en calcul la partie exacte de la parole pour chaque mot. Même une phrase apparemment simple telle que « l’heure d’un peu comme une flèche » peut avoir plusieurs douzaines d’analyse (un exemple célèbre). Les parties de la parole sont également très différentes selon la morphologie des différentes langues.

    dans Machine Learning, un modèle de désambiguïsation est utilisé pour choisir la partie la plus probable de la parole, étant donné le contexte de la phrase actuelle. Les informations de synthèse vocale sont utilisées pour filtrer les mots utilisés comme fonctionnalités et faciliter l’extraction d’expressions clés. Toutefois, la sortie de ce module n’inclut pas explicitement les balises POS et ne peut donc pas être utilisée pour générer du texte balisé par POS.

  • Formulaire de génération de dictionnaire: un mot peut avoir plusieurs lemmas, ou formulaires de dictionnaire, qui proviennent d’une analyse différente. Par exemple, la génération de mots en anglais a deux possibles lemmas : la génération si le mot est un nom (« le plus grand bâtiment » ) ou si le mot est un verbe (« il s’agit de la construction d’une maison »). dans Machine Learning, seul le dictionnaire le plus probable unique est généré.

Exemple de sortie lemmatisation

Source Lemmatisés avec conversion de casse
Il est responsable de la natation Je parle
Il va faire un couloir Je suis en déplacement
La natation est idéale pour la construction musculaire l’nage est parfait pour la construction musculaire
Il crée un bâtiment Je crée une build
Nous créons tous des bâtiments Nous sommes tous en bâtiment

Notes

Les modèles de langage utilisés pour générer le formulaire de dictionnaire ont été formés et testés par rapport à un large éventail de textes techniques et techniques, et sont utilisés dans de nombreux autres produits Microsoft qui requièrent des API en langage naturel. Toutefois, le langage naturel est intrinsèquement ambigu et une précision de 100% sur l’ensemble du vocabulaire n’est pas possible. Par exemple, lemmatisation peut être affecté par d’autres parties de la parole ou en fonction de la façon dont la phrase est analysée.

Si vous avez besoin d’effectuer un pré-traitement supplémentaire ou d’effectuer une analyse linguistique à l’aide d’un vocabulaire spécialisé ou dépendant du domaine, nous vous recommandons d’utiliser des outils NLP personnalisables, tels que ceux disponibles dans Python et R.

Caractères spéciaux

Les caractères spéciaux sont définis en tant que caractères uniques qui ne peuvent pas être identifiés comme une autre partie de la parole et peuvent inclure des signes de ponctuation : deux-points, des points-virgules, etc.

Mots vides

Un mot « STOP » (ou mot vide) est un mot qui est souvent supprimé des index, car il est courant et fournit peu de valeur pour la récupération des informations, même s’il peut être linguistiquement significatif.

Par exemple, de nombreux langages font une distinction sémantique entre les articles finis et indéfinis (« le bâtiment » et « un bâtiment »), mais pour la Machine Learning et la récupération des informations, les informations ne sont parfois pas pertinentes. Par conséquent, vous pouvez décider d’ignorer ces mots.

l’environnement Machine Learning comprend les listes des mots vides les plus courantes pour chacune des langues prises en charge.

Language Nombre de mots vides Exemples
Néerlandais 49 aan, AF, Al
Anglais 312 a, à propos de, ci-dessus
Français 154 de, des, d', la
Allemand 602 a, AB, aber
Italien 135 a, Adesso, IA
Espagnol 368 ésa, ésta, éste

À des fins pratiques, un fichier compressé contenant les mots vides par défaut pour toutes les langues actuelles a été mis à disposition dans le stockage Azure : Stopwords.zip.

Comment modifier la liste mot vide

Nous pensons que de nombreux utilisateurs souhaitent créer leurs propres listes mot vide, ou modifier les termes inclus dans la liste par défaut. l’expérience suivante dans le Cortana Intelligence Gallery montre comment vous pouvez personnaliser une liste de mots vides.

Si vous modifiez la liste ou créez votre propre liste de mots vides, observez les conditions requises suivantes :

  • Le fichier doit contenir une seule colonne de texte. Vous pouvez obtenir l’erreur suivante si une colonne supplémentaire est présente : « le modèle de sélection de colonne d’erreur de texte prétraité «colonne de texte à nettoyer » devrait fournir 1 colonne (s) sélectionnée (s) dans le jeu de données d’entrée, mais 2 colonnes sont réellement fournies. (Erreur 0022)»

    Dans ce cas, recherchez les espaces, les tabulations ou les colonnes masquées présents dans le fichier à partir duquel la liste mot vide a été importée à l’origine. Selon la façon dont le fichier a été préparé, les tabulations ou les virgules incluses dans le texte peuvent également créer plusieurs colonnes.

    Lorsque vous recevez cette erreur, examinez le fichier source ou utilisez le module Sélectionner des colonnes dans le jeu de données pour choisir une seule colonne à passer au module texte de prétraitement .

  • Chaque ligne ne peut contenir qu’un seul mot. Dans le cadre de l’analyse du fichier, les mots sont déterminés par l’insertion d’espaces.

  • La liste mot vide ne peut pas être vide.

Ordre des opérations

Dans ce module, vous pouvez appliquer plusieurs opérations à du texte. Toutefois, l’ordre dans lequel ces opérations sont appliquées ne peut pas être modifié. Cela peut affecter les résultats attendus.

Par exemple, si vous appliquez lemmatisation à du texte et que vous utilisez également la suppression mot vide, tous les mots sont convertis dans leurs formulaires Lemma avant l’application de la liste mot vide. Par conséquent, si votre texte contient un mot qui ne figure pas dans la liste mot vide, mais que son Lemma figure dans la liste mot vide, le mot est supprimé.

Veillez à tester les termes cibles à l’avance pour garantir les résultats corrects.

Langues non prises en charge

si votre colonne de texte comprend des langues non prises en charge par Machine Learning, nous vous recommandons d’utiliser uniquement les options qui ne nécessitent pas de traitement dépendant du langage. Cela peut aider à éviter des résultats étranges.

En outre, si vous utilisez la colonneoption qui contient la langue, vous devez vous assurer qu’aucune langue non prise en charge n’est incluse dans le texte traité. Si une langue non prise en charge ou son identificateur est présent dans le jeu de données, l’erreur d’exécution suivante est générée :

« Erreur de texte de prétraitement (0039) : spécifiez une langue prise en charge. »

Pour éviter de faire échouer la totalité de l’expérience, car une langue non prise en charge a été détectée, utilisez le module fractionner les données et spécifiez une expression régulière pour diviser le jeu de données en langages pris en charge et non pris en charge.

Par exemple, l’expression régulière suivante fractionne le DataSet en fonction de la langue détectée pour la colonne Sentence :

\"Sentence Language" Dutch|English|French|Italian|Spanish

Si vous avez une colonne qui contient l’identificateur de langue ou si vous avez généré une telle colonne, vous pouvez utiliser une expression régulière telle que la suivante pour filtrer sur la colonne d’identificateur :

\"Sentence Iso6391 Name" nl|en|fr|it|es

Entrées attendues

Nom Type Description
Dataset Table de données Données d’entrée
Mots vides Table de données Liste personnalisée facultative de mots vides à supprimer

Paramètres du module

Nom Type Plage Facultatif Default Description
Supprimer les URL Booléen True

False
Obligatoire true Supprimer les URL
Langage Langage Anglais

Espagnol

Français

Néerlandais

Allemand

Italien
Obligatoire Anglais Sélectionner la langue à prétraiter
Colonne de texte à nettoyer Sélection de colonnes Obligatoire StringFeature Sélectionnez la colonne de texte à nettoyer
Expression régulière personnalisée String Facultatif Spécifier l’expression régulière personnalisée
Chaîne de remplacement personnalisée String Facultatif Spécifier la chaîne de remplacement personnalisée pour l’expression régulière personnalisée
Supprimer les mots vides Boolean Obligatoire true Supprimer les mots vides
Lemmatisation Boolean Obligatoire true Utiliser lemmatisation
Supprimer par partie de la reconnaissance vocale Type true false true

false
Obligatoire False Indiquez si l’analyse de la parole doit être utilisée pour identifier et supprimer certaines classes Word
Supprimer les noms Booléen S’applique lorsque l’option Filtrer par partie de la reconnaissance vocale est sélectionnée true Supprimer les noms
Supprimer les adjectifs Booléen S’applique lorsque l’option Filtrer par partie de la reconnaissance vocale est sélectionnée true Supprimer les adjectifs
Supprimer les verbes Booléen S’applique lorsque l’option Filtrer par partie de la reconnaissance vocale est sélectionnée true Supprimer les verbes
Détecter les phrases Boolean Obligatoire true Détecter les phrases en ajoutant une marque de fin de phrase \ "| | | \ "qui peut être utilisé par le module d’extraction de fonctionnalités n-Gram
Normaliser la casse en minuscules Boolean Obligatoire true Normaliser la casse en minuscules
Supprimer les nombres Boolean Obligatoire true Supprimer les nombres
Supprimer les caractères spéciaux Boolean Obligatoire true Supprimer les caractères spéciaux non alphanumériques et les remplacer par le caractère « | \ »
Supprimer les caractères en double Boolean Obligatoire true Supprimer les caractères en double
Supprimer les adresses de messagerie Boolean Obligatoire true Supprimer les adresses de messagerie

Sorties

Nom Type Description
Jeu de données de résultats Table de données Jeu de données de résultats

Exceptions

Exception Description
Erreur 0003 Une exception se produit si une ou plusieurs entrées ont la valeur Null ou sont vides.
Erreur 0030 Une exception se produit lorsqu'il n'est pas possible de télécharger un fichier.
Erreur 0048 Une exception se produit quand il n'est pas possible d'ouvrir un fichier.
Erreur 0049 Une exception se produit quand il n'est pas possible d'analyser un fichier.

pour obtenir la liste des erreurs spécifiques aux modules Studio (classiques), consultez Machine Learning codes d’erreur.

pour obtenir la liste des exceptions d’api, consultez Machine Learning les Codes d’erreur de l' api REST.

Voir aussi

Analyse de texte

Liste alphabétique des modules