Dela via


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.

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 att Boston entiteten börjar Boston från den första bokstaven i indatasträngen. Index är nollbaserade.

  • 6 innebär att längden på entiteten Boston är 6.

  • LOC innebär att entiteten Boston ä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

  1. Lägg till Igenkänning av namngiven entitet-modulen i experimentet i Studio (klassisk). Du hittar modulen i Textanalys kategori.

  2. 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.

  3. 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:

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