Reconnaissance d’entité nommée
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.
- Consultez les informations sur le déplacement des projets de machine learning de ML Studio (classique) à Azure Machine Learning.
- En savoir plus sur Azure Machine Learning.
La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.
Reconnaît les entités nommées dans une colonne de 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 reconnaissance d’entités nommées dans Machine Learning Studio (classic) pour identifier les noms des éléments, tels que les personnes, les sociétés ou les emplacements dans une colonne de texte.
La reconnaissance d'entité nommée est un domaine de recherche important de l'apprentissage automatique et du traitement du langage naturel (NLP), car elle permet de répondre à plusieurs questions du monde réel, telles que :
Un tweet contient-il le nom d'une personne ? Le tweet fournit-il également son emplacement actuel ?
Quelles entreprises sont mentionnées dans un article ?
Les produits mentionnés dans des plaintes ou des revues ont-ils été spécifiés ?
Pour obtenir une liste d'entités nommées, vous fournissez comme entrée un jeu de données contenant une colonne de texte. Le module de reconnaissance d’entité nommée identifie alors trois types d’entités : personnes (par), emplacements (LOC) et organisations (org).
Le module étiquette également les séquences en fonction de l’endroit où ces mots ont été trouvés, afin que vous puissiez utiliser les termes pour une analyse plus poussée.
Par exemple, le tableau suivant montre une phrase d'entrée simple et les termes et valeurs générés par le module :
Entrer du texte | Sortie de module |
---|---|
« Boston est une ville agréable pour y vivre. » | 0,Boston,0,6,LOC |
La sortie peut être interprétée comme suit :
Le premier « 0 » signifie que cette chaîne est le premier article d'entrée pour le module.
Comme un seul article peut avoir plusieurs entités, le numéro de ligne d'article dans la sortie est également important pour mapper les fonctionnalités aux articles.
Boston
est l’entité reconnue.Le
0
qui suitBoston
signifie que l’entitéBoston
démarre à partir de la première lettre de la chaîne d’entrée. Les index sont de base zéro.6
signifie que la longueur de l’entitéBoston
est 6.LOC
signifie que l’entitéBoston
est un lieu ou un emplacement. Les autres types d’entités nommés pris en charge sont person (PER
) et Organization (ORG
).
Comment configurer la reconnaissance d’entités nommées
Ajoutez le module de reconnaissance d’entité nommé à votre expérience dans Studio (Classic). vous pouvez trouver le module dans la catégorie Analyse de texte .
Sur l’entrée nommée Story, connectez un jeu de données contenant le texte à analyser.
« Story » doit contenir le texte à partir duquel extraire les entités nommées.
La colonne utilisée comme récit doit contenir plusieurs lignes, où chaque ligne se compose d’une chaîne. la chaîne peut être abrégée, comme une phrase, ou longue, comme un article d’actualité.
Vous pouvez connecter n’importe quel jeu de données qui contient une colonne de texte. Toutefois, si le jeu de données d’entrée contient plusieurs colonnes, utilisez l' option Sélectionner des colonnes dans le jeu de données pour choisir uniquement la colonne qui contient le texte que vous souhaitez analyser.
Notes
La deuxième entrée, ressources personnalisées (zip), n’est pas prise en charge pour l’instant.
À l’avenir, vous pouvez ajouter des fichiers de ressources personnalisés ici pour identifier les différents types d’entités.
Exécutez l’expérience.
Résultats
Le module génère un jeu de données contenant une ligne pour chaque entité qui a été reconnue, ainsi que les décalages.
Étant donné que chaque ligne de texte d’entrée peut contenir plusieurs entités nommées, un numéro d’ID d’article est automatiquement généré et inclus dans la sortie, afin d’identifier la ligne d’entrée qui contenait l’entité nommée. L’ID d’article est basé sur l’ordre naturel des lignes dans le jeu de données d’entrée.
Vous pouvez convertir ce jeu de données de sortie au format CSV pour le télécharger ou l’enregistrer en tant que jeu de données en vue d’une réutilisation.
Utiliser la reconnaissance d’entités nommées dans un service Web
si vous publiez un service web à partir de Machine Learning Studio (classic) et que vous souhaitez utiliser le service web à l’aide de C#, Python ou un autre langage tel que R, vous devez d’abord implémenter le code de service fourni sur la page d’aide du service web.
Si votre service web propose plusieurs lignes de sortie, l'URL du service web que vous ajoutez à votre code C#, Python ou R doit avoir le suffixe scoremultirow
au lieu de score
.
Par exemple, supposons que vous utilisez l’URL suivante pour votre service Web : https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score
Pour activer la sortie à plusieurs lignes, modifiez l’URL en https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow
Pour publier ce service Web, vous devez ajouter un module exécuter le script R supplémentaire après le module de reconnaissance d’entités nommées , afin de transformer la sortie à plusieurs lignes en une seule délimitée par des points-virgules (;). La raison de la consolidation des lignes de sortie en une seule ligne est de renvoyer plusieurs entités par ligne d'entrée.
Par exemple, supposons que vous avez une phrase d'entrée avec deux entités nommées. Plutôt que de renvoyer deux lignes pour chaque ligne d'entrée, vous pouvez renvoyer une seule ligne avec plusieurs entités, séparées par des points-virgules, comme illustré ici :
Texte d'entrée | Sortie du service web |
---|---|
Microsoft a deux sites à Boston. | 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,; |
L'exemple de code suivant montre comment procéder :
# Map 1-based optional input ports to variables
d <- maml.mapInputPort(1) # class: data.frame
y=length(d) ##size of cols
x=dim(d)[1] ##size of rows
longd=matrix("NA",nrow=1,ncol=x*(y+1))
for (i in 1:x)
{
for (j in 1:y)
{
longd[1,j+(i-1)*(y+1)]=toString(d[i,j])
}
longd[1,j+(i-1)*(y+1)+1]=c(";")
}
final_output=as.data.frame(longd)
# Select data.frame to be sent to the output Dataset port
maml.mapOutputPort("final_output");
Exemples
Ce blog fournit une explication détaillée du fonctionnement de la reconnaissance d’entités nommées, de son arrière-plan et des applications possibles :
Consultez également les exemples d’expériences suivants dans le Azure ai Gallery pour obtenir des démonstrations de l’utilisation des méthodes de classification de texte couramment utilisées dans machine learning :
Exemple de catégorisation des actualités: utilise le hachage des fonctionnalités pour classifier les articles dans une liste prédéfinie de catégories.
Exemple de sociétés similaires: utilise le texte des articles Wikipédia pour catégoriser les sociétés.
Étape de classification de texte 1 sur 5 : préparation des données: dans cette procédure pas à pas en cinq parties de la classification de texte, le texte des messages Twitter est utilisé pour effectuer une analyse des sentiments. Différentes techniques de pré-traitement de texte sont également présentées.
Notes techniques
Support multilingue
Actuellement, le module Reconnaissance d'entité nommée prend en charge uniquement du texte en anglais. Il peut détecter des noms d'organisation, de personnes et d'emplacements dans des phrases en anglais. Si vous utilisez le module sur d’autres langues, vous risquez de ne pas obtenir d’erreur, mais les résultats ne sont pas aussi bons que pour le texte anglais.
La prise en charge d'autres langues pourra être activée en intégrant les composants multilingues fournis dans la boîte à outils Office Natural Language Toolkit.
Entrées attendues
Nom | Type | Description |
---|---|---|
Histoire | Table de données | Jeu de données d'entrée (DataTable) qui contient la colonne de texte que vous souhaitez analyser. |
CustomResources | Zip | (Facultatif) Fichier au format ZIP qui contient des ressources personnalisées supplémentaires. Cette option, non disponible, est fournie pour une compatibilité ascendante uniquement. |
Sorties
Nom | Type | Description |
---|---|---|
Entités | Table de données | Liste de décalages de caractères et d'entités |
Voir aussi
Analyse de texte
Hachage des caractéristiques
Scorer le modèle Vowpal Wabbit 7-4
Entraîner le modèle Vowpal Wabbit 7-4