Igenkänning av namngiven enhet
Viktigt
Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.
Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.
- Se information om hur du flyttar maskininlärningsprojekt från ML Studio (klassisk) till Azure Machine Learning.
- Läs mer om Azure Machine Learning.
Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.
Identifierar namngivna entiteter i en textkolumn
Kategori: Textanalys
Anteckning
Gäller endast för: Machine Learning Studio (klassisk)
Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.
Modulöversikt
Den här artikeln beskriver hur du använder Igenkänning av namngiven entitet-modulen i Machine Learning Studio (klassisk) för att identifiera namn på saker, till exempel personer, företag eller platser i en kolumn med text.
Igenkänning av namngivna entiteter är ett viktigt forskningsområde inom maskininlärning och bearbetning av naturligt språk (NLP), eftersom det kan användas för att besvara många verkliga frågor, till exempel:
Innehåller en tweet namnet på en person? Anger tweeten också hans aktuella plats?
Vilka företag nämndes i en nyhetsartikel?
Nämndes angivna produkter i klagomål eller granskningar?
Om du vill hämta en lista över namngivna entiteter anger du en datauppsättning som indata som innehåller en textkolumn. Modulen Igenkänning av namngiven entitet identifierar sedan tre typer av entiteter: personer (PER), platser (LOC) och organisationer (ORG).
Modulen etiketterar även sekvenserna efter var orden hittades, så att du kan använda termerna i ytterligare analys.
I följande tabell visas till exempel en enkel indata mening och de termer och värden som genereras av modulen:
Indatatext | Utdata för modulen |
---|---|
"Boston är en bra plats att bo på." | 0,Boston,0,6,LOC |
Utdata kan tolkas på följande sätt:
Det första "0" innebär att den här strängen är den första artikelindata för modulen.
Eftersom en enskild artikel kan ha flera entiteter, inklusive artikelradnumret i utdata, är det viktigt att mappa funktioner till artiklar.
Boston
är den identifierade entiteten.Följande
0
innebär attBoston
entiteten börjarBoston
från den första bokstaven i indatasträngen. Index är nollbaserade.6
innebär att längden på entitetenBoston
är 6.LOC
innebär att entitetenBoston
är en plats eller plats. Andra namngivna entitetstyper som stöds är person (PER
) och organisation (ORG
).
Så här konfigurerar du Igenkänning av namngiven entitet
Lägg till Igenkänning av namngiven entitet-modulen i experimentet i Studio (klassisk). Du hittar modulen i Textanalys kategori.
I indata med namnet Story ansluter du en datauppsättning som innehåller texten som ska analyseras.
"Berättelsen" ska innehålla den text som namngivna entiteter ska extraheras från.
Kolumnen som används som Story ska innehålla flera rader, där varje rad består av en sträng. strängen kan vara kort, till exempel en mening eller lång, som en nyhetsartikel.
Du kan ansluta valfri datamängd som innehåller en textkolumn. Men om indatauppsättningen innehåller flera kolumner använder du Välj kolumner i datauppsättning för att välja den kolumn som innehåller den text som du vill analysera
Anteckning
Det andra indata , Anpassade resurser (ZIP) stöds inte just nu.
I framtiden kan du lägga till anpassade resursfiler här för att identifiera olika entitetstyper.
Kör experimentet.
Resultat
Modulen matar ut en datauppsättning som innehåller en rad för varje entitet som identifierades, tillsammans med förskjutningarna.
Eftersom varje rad i indatatexten kan innehålla flera namngivna entiteter genereras ett artikel-ID-nummer automatiskt och inkluderas i utdata för att identifiera den indatarad som innehöll den namngivna entiteten. Artikel-ID:t baseras på den naturliga ordningen för raderna i indatauppsättningen.
Du kan konvertera den här utdatauppsättningen till CSV för nedladdning eller spara den som en datauppsättning för återanvändning.
Använda igenkänning av namngiven entitet i en webbtjänst
Om du publicerar en webbtjänst från Machine Learning Studio (klassisk) och vill använda webbtjänsten med hjälp av C#, Python eller något annat språk som R, måste du först implementera tjänstkoden på hjälpsidan för webbtjänsten.
Om webbtjänsten tillhandahåller flera rader med utdata ska URL:en för webbtjänsten som du lägger till i C#-, Python- eller R-koden ha suffixet scoremultirow
i stället för score
.
Anta till exempel att du använder följande URL för webbtjänsten: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score
Om du vill aktivera flerradsutdata ändrar du URL:en till https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow
Om du vill publicera den här webbtjänsten bör du lägga till ytterligare en Execute R Script-modul efter Igenkänning av namngiven entitet-modulen för att transformera utdata med flera rader till en enda avgränsad med semikolon (;). Anledningen till att konsolidera flera rader med utdata till en enda rad är att returnera flera entiteter per indatarad.
Anta till exempel att du har en indata mening med två namngivna entiteter. I stället för att returnera två rader för varje rad med indata kan du returnera en enskild rad med flera entiteter, avgränsade med semikolon som du ser här:
Indatatext | Utdata från webbtjänsten |
---|---|
Microsoft har två kontor i Boston. | 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,; |
Följande kodexempel visar hur du gör detta:
# 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");
Exempel
Den här bloggen innehåller en utökad förklaring av hur namngiven entitetsigenkänning fungerar, dess bakgrund och möjliga program:
Se även följande exempelexperiment i Azure AI Gallery demonstrationer av hur du använder textklassificeringsmetoder som ofta används i maskininlärning:
Exempel på nyhetskategorisering: Använder funktionshashar för att klassificera artiklar i en fördefinierad lista över kategorier.
Exempel på liknande företag: Använder texten i Wikipedia-artiklar för att kategorisera företag.
Textklassificering steg 1 av 5: Förberedelse av data: I den här femdels genomgången av textklassificering används text från Twitter-meddelanden för att utföra attitydanalys. En mängd olika tekniker för förbearbetning av text demonstreras också.
Teknisk information
Stöd för språk
För närvarande stöder modulen Igenkänning av namngiven entitet endast engelsk text. Den kan identifiera organisationsnamn, personliga namn och platser i engelska meningar. Om du använder modulen på andra språk får du kanske inget felmeddelande, men resultatet är inte lika bra som för engelsk text.
I framtiden kan stöd för ytterligare språk aktiveras genom att integrera de flerspråkiga komponenter som finns i Office Natural Language Toolkit.
Förväntade indata
Namn | Typ | Description |
---|---|---|
Historien | Datatabell | En indatauppsättning (DataTable) som innehåller textkolumnen som du vill analysera. |
CustomResources | Zip | (Valfritt) En fil i ZIP-format som innehåller ytterligare anpassade resurser. Det här alternativet är inte tillgängligt för närvarande och är endast tillgängligt för framåtkompatibilitet. |
Utdata
Namn | Typ | Description |
---|---|---|
Entiteter | Datatabell | En lista över teckenförskjutningar och entiteter |
Se även
Textanalys
Funktions-hash
Poäng för Vowpal Wabbit 7–4-modell
Träna Vowpal Wabbit 7-4-modell