Reconhecimento de Entidades Nomeadas
Importante
O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.
A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).
- Consulte informações sobre projetos de machine learning em movimento de ML Studio (clássico) para Azure Machine Learning.
- Saiba mais sobre Azure Machine Learning.
A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.
Reconhece entidades nomeadas numa coluna de texto
Categoria: Análise de Texto
Nota
Aplica-se a: Machine Learning Studio (clássico) apenas
Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.
Visão geral do módulo
Este artigo descreve como usar o módulo de Reconhecimento de Entidades Nomeadas em Machine Learning Studio (clássico), para identificar os nomes das coisas, tais como pessoas, empresas ou localizações numa coluna de texto.
O reconhecimento de entidades nomeadas é uma área importante de investigação em machine learning e processamento de linguagem natural (NLP), porque pode ser usado para responder a muitas questões do mundo real, tais como:
Um tweet contém o nome de uma pessoa? O tweet também fornece a sua localização atual?
Que empresas foram mencionadas num artigo de notícias?
Foram mencionados produtos especificados em reclamações ou revisões?
Para obter uma lista de entidades nomeadas, fornece um conjunto de dados como entrada que contém uma coluna de texto. O módulo de Reconhecimento de Entidades Nomeadas identificará então três tipos de entidades: pessoas (PER), localizações (LOC) e organizações (ORG).
O módulo também rotula as sequências por onde estas palavras foram encontradas, para que possa usar os termos em análise mais aprofundada.
Por exemplo, a tabela a seguir mostra uma simples frase de entrada e os termos e valores gerados pelo módulo:
Texto de entrada | Saída do módulo |
---|---|
"Boston é um ótimo lugar para se viver." | 0,Boston,0,6,LOC |
A saída pode ser interpretada da seguinte forma:
O primeiro '0' significa que esta corda é a primeira entrada de artigo para o módulo.
Porque um único artigo pode ter várias entidades, incluindo o número da linha de artigo na saída é importante para mapear funcionalidades de artigos.
Boston
é a entidade reconhecida.O
0
que se segueBoston
significa que a entidadeBoston
parte da primeira letra da cadeia de entrada. Os índices são baseados em zero.6
significa que o comprimento da entidadeBoston
é de 6.LOC
significa que a entidadeBoston
é um lugar, ou localização. Outros tipos de entidades com nome suportado são pessoa (PER
) e organização (ORG
).
Como configurar o reconhecimento de entidades nomeadas
Adicione o módulo de Reconhecimento de Entidades Nomeado à sua experiência em Studio (clássico). Pode encontrar o módulo na categoria Text Analytics .
Na entrada chamada Story, ligue um conjunto de dados contendo o texto para analisar.
A "história" deve conter o texto a partir do qual extrair entidades nomeadas.
A coluna usada como Story deve conter várias linhas, onde cada linha é composta por uma corda. a corda pode ser curta, como uma frase, ou longo, como um artigo de notícias.
Pode ligar qualquer conjunto de dados que contenha uma coluna de texto. No entanto, se o conjunto de dados de entrada contiver várias colunas, utilize Colunas Selecionadas no Conjunto de Dados para escolher apenas a coluna que contém o texto que pretende analisar
Nota
A segunda entrada, Recursos Personalizados (Zip), não é suportada neste momento.
No futuro, pode adicionar ficheiros de recursos personalizados aqui, para identificar diferentes tipos de entidades.
Execute a experimentação.
Resultados
O módulo produz um conjunto de dados contendo uma linha para cada entidade que foi reconhecida, juntamente com as compensações.
Como cada linha de texto de entrada pode conter várias entidades nomeadas, um número de ID de artigo é automaticamente gerado e incluído na saída, para identificar a linha de entrada que continha a entidade nomeada. O ID do artigo baseia-se na ordem natural das linhas no conjunto de dados de entrada.
Pode converter este conjunto de dados de saída em CSV para download ou guardá-lo como um conjunto de dados para reutilização.
Utilizar o reconhecimento de entidades nomeadas num serviço web
Se publicar um serviço web a partir de Machine Learning Studio (clássico) e quiser consumir o serviço web utilizando C#, Python ou outra língua como R, deve primeiro implementar o código de serviço fornecido na página de ajuda do serviço web.
Se o seu serviço web fornecer várias linhas de saída, o URL do serviço web que adiciona ao seu código C#, Python ou R deverá ter o sufixo scoremultirow
em vez de score
.
Por exemplo, assuma que utiliza o seguinte URL para o seu serviço web: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score
Para permitir a saída de várias linhas, altere o URL para https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow
Para publicar este serviço web, deve adicionar um módulo executular adicional de Script após o módulo de Reconhecimento de Entidades Nomeadas , para transformar a saída multi-linha numa única delimitada com pontos -;) .. A razão para consolidar as múltiplas linhas de saída numa única linha é devolver várias entidades por linha de entrada.
Por exemplo, vamos supor que tem uma sentença de entrada com duas entidades nomeadas. Em vez de devolver duas linhas para cada linha de entrada, pode retornar uma única linha com várias entidades, separadas por pontos-e-cólons, como mostrado aqui:
Texto de entrada | Saída do Serviço Web |
---|---|
A Microsoft tem duas localizações de escritórios em Boston. | 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,; |
A seguinte amostra de código demonstra como fazê-lo:
# 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");
Exemplos
Este blog fornece uma explicação alargada de como o reconhecimento de entidades nomeadas funciona, o seu passado e possíveis aplicações:
Consulte também as seguintes experiências de amostra na Galeria Azure AI para demonstrações de como utilizar métodos de classificação de texto comumente utilizados na aprendizagem automática:
Amostra de categorização de notícias: Utiliza hashing de recurso para classificar artigos numa lista de categorias predefinida.
Amostra de empresas similares: Utiliza o texto dos artigos da Wikipédia para categorizar empresas.
Passo de classificação de texto 1 de 5: Preparação de dados: Nesta passagem de cinco partes da classificação de texto, o texto das mensagens do Twitter é usado para realizar análise de sentimento. Uma variedade de técnicas de pré-processamento de texto também são demonstradas.
Notas técnicas
Suporte de idiomas
Atualmente, o módulo de Reconhecimento de Entidades Nomeadas suporta apenas texto em inglês. Pode detetar nomes de organizações, nomes pessoais e locais em frases inglesas. Se utilizar o módulo noutras línguas, pode não ter um erro, mas os resultados não são tão bons como para o texto em inglês.
No futuro, o suporte a línguas adicionais pode ser ativado através da integração dos componentes multilingues fornecidos no Office Kit de Ferramentas de Linguagem Natural.
Entradas esperadas
Nome | Tipo | Description |
---|---|---|
História | Tabela de Dados | Um conjunto de dados de entrada (DataTable) que contém a coluna de texto que pretende analisar. |
Recursos personalizados | Zip | (Opcional) Um ficheiro em formato ZIP que contém recursos personalizados adicionais. Esta opção não está disponível atualmente e está prevista apenas para compatibilidade a prazo. |
Saídas
Nome | Tipo | Description |
---|---|---|
Entidades | Tabela de Dados | Uma lista de compensações de caracteres e entidades |
Ver também
Análise de Texto
Hashing de Funcionalidade
Pontuação Vowpal Wabbit 7-4 Modelo
Modelo Wabbit 7-4 do comboio