Herkenning van benoemde entiteiten
Belangrijk
De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.
Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.
- Zie informatie over het verplaatsen machine learning van ML Studio (klassiek) naar Azure Machine Learning.
- Meer informatie over Azure Machine Learning.
De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.
Herkent benoemde entiteiten in een tekstkolom
Categorie: Text Analytics
Notitie
Van toepassing op: Machine Learning Studio (klassiek)
Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.
Moduleoverzicht
In dit artikel wordt beschreven hoe u de Herkenning van benoemde entiteiten-module in Machine Learning Studio (klassiek) gebruikt om de namen van zaken, zoals mensen, bedrijven of locaties in een tekstkolom, te identificeren.
Herkenning van benoemde entiteiten is een belangrijk onderzoeksgebied op het gebied van machine learning en natuurlijke taalverwerking (NLP), omdat deze kan worden gebruikt om veel echte vragen te beantwoorden, zoals:
Bevat een tweet de naam van een persoon? Geeft de tweet ook zijn huidige locatie op?
Welke bedrijven zijn genoemd in een nieuwsartikel?
Zijn opgegeven producten vermeld in klachten of beoordelingen?
Als u een lijst met benoemde entiteiten wilt op halen, geeft u een gegevensset op als invoer die een tekstkolom bevat. De Herkenning van benoemde entiteiten module identificeert vervolgens drie typen entiteiten: personen (PER), locaties (LOC) en organisaties (ORG).
De module labelt ook de reeksen op de plaats waar deze woorden zijn gevonden, zodat u de termen in verdere analyse kunt gebruiken.
In de volgende tabel ziet u bijvoorbeeld een eenvoudige invoerzin en de termen en waarden die door de module worden gegenereerd:
Invoertekst | Module-uitvoer |
---|---|
"Boston is een fantastische plek om te wonen." | 0,Boston,0,6,LOC |
De uitvoer kan als volgt worden geïnterpreteerd:
De eerste '0' betekent dat deze tekenreeks de eerste artikelinvoer voor de module is.
Omdat één artikel meerdere entiteiten kan hebben, met inbegrip van het rijnummer van het artikel in de uitvoer, is belangrijk voor het toewijzen van functies aan artikelen.
Boston
is de herkende entiteit.De
0
die volgt, betekentBoston
dat de entiteit begintBoston
met de eerste letter van de invoerreeks. Indexen zijn op nul gebaseerd.6
betekent dat de lengte van de entiteitBoston
6 is.LOC
betekent dat de entiteitBoston
een plaats of locatie is. Andere ondersteunde entiteitstypen zijn persoon (PER
) en organisatie (ORG
).
Een Herkenning van benoemde entiteiten
Voeg de Herkenning van benoemde entiteiten-module toe aan uw experiment in Studio (klassiek). U vindt de module in de Text Analytics categorie.
Koppel op de invoer met de naam Story een gegevensset met de tekst die moet worden geanalyseerd.
Het 'verhaal' moet de tekst bevatten waaruit benoemde entiteiten moeten worden geëxtrahed.
De kolom die als Verhaal wordt gebruikt , moet meerdere rijen bevatten, waarbij elke rij uit een tekenreeks bestaat. de tekenreeks kan kort zijn, zoals een zin of lang, zoals een nieuwsartikel.
U kunt elke gegevensset verbinden die een tekstkolom bevat. Als de invoergegevensset echter meerdere kolommen bevat, gebruikt u Kolommen in gegevensset selecteren om alleen de kolom te kiezen die de tekst bevat die u wilt analyseren
Notitie
De tweede invoer, Aangepaste resources (zip) wordt op dit moment niet ondersteund.
In de toekomst kunt u hier aangepaste resourcebestanden toevoegen om verschillende entiteitstypen te identificeren.
Voer het experiment uit.
Resultaten
De module geeft een gegevensset weer met een rij voor elke entiteit die is herkend, samen met de offsets.
Omdat elke rij met invoertekst meerdere benoemde entiteiten kan bevatten, wordt automatisch een artikel-id-nummer gegenereerd en opgenomen in de uitvoer om de invoerrij te identificeren die de benoemde entiteit bevat. De artikel-id is gebaseerd op de natuurlijke volgorde van de rijen in de invoerset.
U kunt deze uitvoerset converteren naar CSV om deze te downloaden of op te slaan als een gegevensset voor opnieuw gebruik.
Herkenning van benoemde entiteiten gebruiken in een webservice
Als u een webservice publiceert vanuit Machine Learning Studio (klassiek) en de webservice wilt gebruiken met C#, Python of een andere taal, zoals R, moet u eerst de servicecode implementeren die is opgegeven op de Help-pagina van de webservice.
Als uw webservice meerdere rijen uitvoer biedt, moet de URL van de webservice die u aan uw C#-, Python- of R-code toevoegt, het achtervoegsel hebben scoremultirow
in plaats van score
.
Stel dat u de volgende URL gebruikt voor uw webservice: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score
Als u uitvoer met meerdere rijen wilt inschakelen, wijzigt u de URL in https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow
Als u deze webservice wilt publiceren, moet u na de Herkenning van benoemde entiteiten-module een extra module R-script uitvoeren toevoegen om de uitvoer met meerdere rijen te transformeren in één met puntpunt(;). De reden voor het consolideren van de meerdere rijen met uitvoer in één rij is om meerdere entiteiten per invoerrij te retourneren.
Stel dat u een invoerzin met twee benoemde entiteiten hebt. In plaats van twee rijen voor elke rij invoer te retourneren, kunt u één rijen met meerdere entiteiten retourneren, gescheiden door puntmatjes, zoals hier wordt weergegeven:
Invoertekst | Uitvoer van webservice |
---|---|
Microsoft heeft twee kantoorlocaties in Boston. | 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,; |
Het volgende codevoorbeeld laat zien hoe u dit doet:
# 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");
Voorbeelden
In dit blog vindt u uitgebreide uitleg over hoe herkenning van benoemde entiteiten werkt, wat de achtergrond en mogelijke toepassingen zijn:
Zie ook de volgende voorbeeldexperimenten in de Azure AI Gallery voor demonstraties van het gebruik van tekstclassificatiemethoden die vaak worden gebruikt in machine learning:
Voorbeeld van nieuwscategorisatie: maakt gebruik van functie-hashing om artikelen te classificeren in een vooraf gedefinieerde lijst met categorieën.
Voorbeeld van vergelijkbare bedrijven: gebruikt de tekst van Wikipedia-artikelen om bedrijven te categoriseren.
Tekstclassificatie, stap 1 van 5: gegevensvoorbereiding: In dit vijfdelige overzicht van tekstclassificatie wordt tekst van Twitter-berichten gebruikt om sentimentanalyse uit te voeren. Er worden ook verschillende voorverwerkingstechnieken voor tekst gedemonstreerd.
Technische opmerkingen
Taalondersteuning
Momenteel ondersteunt de Herkenning van benoemde entiteiten alleen Engelse tekst. Het kan organisatienamen, persoonlijke namen en locaties in Engelse zinnen detecteren. Als u de module in andere talen gebruikt, krijgt u mogelijk geen foutmelding, maar de resultaten zijn niet zo goed als voor Engelse tekst.
In de toekomst kan ondersteuning voor aanvullende talen worden ingeschakeld door de meertalige onderdelen te integreren die zijn opgegeven in de Office natural language Toolkit.
Verwachte invoer
Naam | Type | Description |
---|---|---|
Verhaal | Gegevenstabel | Een invoergegevensset (DataTable) die de tekstkolom bevat die u wilt analyseren. |
CustomResources | Zip | (Optioneel) Een bestand in ZIP-indeling dat aanvullende aangepaste resources bevat. Deze optie is momenteel niet beschikbaar en is alleen beschikbaar voor compatibiliteit met forwards. |
Uitvoerwaarden
Naam | Type | Beschrijving |
---|---|---|
Entiteiten | Gegevenstabel | Een lijst met teken offsets en entiteiten |
Zie ook
Tekstanalyse
Functie-hashing
Vowpal Wabbit 7-4-model scoren
Vowpal Wabbit 7-4-model trainen