Riconoscimento di entità denominate
Importante
Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.
A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).
- Vedere leinformazioni sullo spostamento di progetti di Machine Learning da ML Studio (versione classica) ad Azure Machine Learning.
- Altre informazioni sulle Azure Machine Learning.
La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.
Riconosce le entità denominate in una colonna di testo
Categoria: Analisi del testo
Nota
Si applica a: Machine Learning Studio (versione classica)
Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.
Panoramica del modulo
Questo articolo descrive come usare il modulo Riconoscimento entità denominata in Machine Learning Studio (versione classica) per identificare i nomi di elementi, ad esempio persone, aziende o posizioni in una colonna di testo.
Il riconoscimento delle entità denominate è un'area di ricerca importante per Machine Learning e per l'Elaborazione del linguaggio naturale (NLP, Natural Language Processing), poiché può essere usato per rispondere a molte domande del mondo reale, incluse le seguenti:
Un tweet include il nome di una persona? Il tweet fornisce anche la posizione attuale della persona?
Quali società sono citate in un articolo?
I prodotti specificati sono stati menzionati in reclami o recensioni?
Per ottenere un elenco di entità denominate, è necessario fornire come input un set di dati contenente una colonna di testo. Il Riconoscimento entità denominata modulo identificherà quindi tre tipi di entità: persone (PER), località (LOC) e organizzazioni (ORG).
Il modulo etichetta anche le sequenze in base alla posizione in cui sono state trovate queste parole, in modo da poter usare i termini in un'ulteriore analisi.
Ad esempio, la tabella seguente mostra una semplice frase di input e i termini e i valori generati dal modulo:
Testo di input | Output del modulo |
---|---|
"Boston is a great place to live" | 0,Boston,0,6,LOC |
L'output può essere interpretato come segue:
Il primo '0' indica che questa stringa è il primo input di articolo nel modulo.
Poiché un singolo articolo può avere più entità, l'inclusione del numero di riga dell'articolo nell'output è importante per le funzioni di mapping relative agli articoli.
Boston
è l'entità riconosciuta.L'oggetto
0
seguenteBoston
indica che l'entitàBoston
inizia dalla prima lettera della stringa di input. Gli indici sono in base zero.6
indica che la lunghezza dell'entitàBoston
è 6.LOC
indica che l'entitàBoston
è un luogo o una posizione. Altri tipi di entità denominati supportati sono persona (PER
) e organizzazione (ORG
).
Come configurare Riconoscimento entità denominata
Aggiungere il Riconoscimento entità denominata modulo all'esperimento in Studio (versione classica). È possibile trovare il modulo nella categoria Analisi del testo.
Nell'input denominato Story connettere un set di dati contenente il testo da analizzare.
La "storia" deve contenere il testo da cui estrarre le entità denominate.
La colonna usata come Story deve contenere più righe, in cui ogni riga è costituita da una stringa. la stringa può essere breve, ad esempio una frase, o lunga, come un articolo di notizie.
È possibile connettere qualsiasi set di dati contenente una colonna di testo. Tuttavia, se il set di dati di input contiene più colonne, usare Seleziona colonne nel set di dati per scegliere solo la colonna contenente il testo da analizzare
Nota
Il secondo input, Risorse personalizzate (ZIP), non è attualmente supportato.
In futuro, è possibile aggiungere file di risorse personalizzati qui, per identificare tipi di entità diversi.
Eseguire l'esperimento.
Risultati
Il modulo restituisce un set di dati contenente una riga per ogni entità riconosciuta, insieme a offset.
Poiché ogni riga di testo di input può contenere più entità denominate, un numero ID articolo viene generato e incluso automaticamente nell'output per identificare la riga di input che contiene l'entità denominata. L'ID articolo si basa sull'ordine naturale delle righe nel set di dati di input.
È possibile convertire questo set di dati di output in CSV per il download o salvarlo come set di dati per il nuovo utilizzo.
Usare il riconoscimento di entità denominate in un servizio Web
Se si pubblica un servizio Web da Machine Learning Studio (versione classica) e si vuole utilizzare il servizio Web usando C#, Python o un altro linguaggio, ad esempio R, è necessario implementare prima il codice del servizio fornito nella pagina della Guida del servizio Web.
Se il servizio Web fornisce più righe di output, l'URL del servizio Web aggiunto al codice C#, Python o R dovrà avere il suffisso scoremultirow
invece di score
.
Si supponga ad esempio di usare l'URL seguente per il servizio Web: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score
Per abilitare l'output su più righe, modificare l'URL in https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow
Per pubblicare questo servizio Web, è necessario aggiungere un modulo Execute R Script aggiuntivo dopo il modulo Riconoscimento entità denominata per trasformare l'output su più righe in un singolo delimitato da punti e virgola (;). Il consolidamento di più righe di output in una singola riga permette di restituire più entità per ogni riga di input.
Si supponga ad esempio di disporre di una frase di input con due entità denominate. Anziché restituire due righe per ogni riga di input, è possibile restituire una singola riga con più entità, separate da punti e virgola, come illustrato di seguito:
Testo di input | Output del servizio Web |
---|---|
Microsoft has two office locations in Boston. | 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,; |
L'esempio di codice seguente illustra come eseguire questa operazione:
# 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");
Esempio
Questo blog fornisce una spiegazione estesa del funzionamento del riconoscimento delle entità denominate, del relativo background e delle possibili applicazioni:
Vedere anche gli esperimenti di esempio seguenti nel Azure AI Gallery per dimostrazioni su come usare i metodi di classificazione del testo comunemente usati in Machine Learning:
Esempio di categorizzazione delle notizie: usa l'hashing delle funzionalità per classificare gli articoli in un elenco predefinito di categorie.
Esempio di aziende simili: usa il testo degli articoli di Wikipedia per classificare le aziende.
Passaggio 1 di classificazione del testo di 5: preparazione dei dati: in questa procedura dettagliata in cinque parti della classificazione del testo, il testo dei messaggi di Twitter viene usato per eseguire l'analisi del sentiment. Vengono illustrate anche alcune tecniche di pre-elaborazione del testo.
Note tecniche
Lingue supportate
Il modulo Named Entity Recognition supporta attualmente solo testo in lingua inglese. È in grado di rilevare nomi di organizzazioni, nomi personali e località nelle frasi in lingua inglese. Se si usa il modulo in altre lingue, è possibile che non venga visualizzato un errore, ma i risultati non sono ottimali come per il testo in inglese.
In futuro sarà possibile abilitare il supporto per lingue aggiuntive tramite l'integrazione dei componenti multilingue disponibili in Office Natural Language Toolkit.
Input previsti
Nome | Tipo | Descrizione |
---|---|---|
Storia | Tabella dati | Set di dati di input (DataTable) contenente la colonna di testo da analizzare. |
CustomResources | Zip | (Facoltativo) Un file in formato ZIP contenente risorse personalizzate aggiuntive. Questa opzione non è attualmente disponibile e viene fornita solo per compatibilità con le versioni successive. |
Output
Nome | Tipo | Descrizione |
---|---|---|
Entità | Tabella dati | Elenco di offset di caratteri ed entità |
Vedi anche
Analisi del testo
Hashing di funzioni
Punteggio vowpal wabbit 7-4 modello
Training del modello Vowpal Wabbit 7-4