Reconhecimento de Entidade Nomeada
Importante
O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.
A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).
- Confira informações sobre como mover projetos de machine learning do ML Studio (clássico) para o Azure Machine Learning.
- Saiba mais sobre o Azure Machine Learning.
A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.
Reconhece entidades nomeadas em uma coluna de texto
categoria: Análise de Texto
Observação
aplica-se a: somente Machine Learning Studio (clássico)
Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.
Visão geral do módulo
este artigo descreve como usar o módulo de reconhecimento de entidade nomeada no Machine Learning Studio (clássico), para identificar os nomes das coisas, como pessoas, empresas ou locais em uma coluna de texto.
Reconhecimento de entidade nomeada é uma área importante de pesquisa no aprendizado de máquina e em processamento de linguagem natural (PLN), pois ela pode ser usada para responder várias perguntas do mundo real, como:
Um tweet contém o nome de uma pessoa? O tweet também fornece seu local atual?
Quais empresas foram mencionadas em um artigo de notícias?
Foram especificados produtos mencionados em reclamações ou análises?
Para obter uma lista de entidades nomeadas, você pode fornecer um conjunto de dados como uma entrada que contém uma coluna de texto. O módulo de reconhecimento de entidade nomeada identificará três tipos de entidades: pessoas (por), locais (loc) e organizações (org).
O módulo também rotula as sequências de onde essas palavras foram encontradas, para que você possa usar os termos em análise posterior.
Por exemplo, a tabela a seguir mostra uma frase simples de entrada e os termos e valores gerados pelo módulo:
Texto de entrada | Saída do módulo |
---|---|
“Boston é um ótimo lugar para morar”. | 0, Boston, 0,6, LOC |
A saída pode ser interpretada da seguinte maneira:
O primeiro “0” significa que essa cadeia de caracteres é o primeiro artigo de entrada para o módulo.
Como um único artigo pode ter várias entidades, inclusive o número de linha do artigo na saída, é importante para mapeamento de recursos em artigos.
Boston
é a entidade reconhecida.O
0
que segueBoston
significa que a entidadeBoston
começa na primeira letra da cadeia de caracteres de entrada. Os índices são baseados em zero.6
significa que o comprimento da entidadeBoston
é 6.LOC
significa que a entidadeBoston
é um local ou local. Outros tipos de entidade nomeado com suporte são Person (PER
) e Organization (ORG
).
Como configurar o reconhecimento de entidade nomeada
Adicione o módulo de reconhecimento de entidade nomeada ao seu experimento no estúdio (clássico). você pode encontrar o módulo na categoria Análise de Texto .
Na entrada chamada história, conecte um conjunto de dados que contém o texto a ser analisado.
A "história" deve conter o texto do qual extrair entidades nomeadas.
A coluna usada como história deve conter várias linhas, em que cada linha consiste em uma cadeia de caracteres. a cadeia de caracteres pode ser curta, como uma frase, ou longa, como um artigo de notícias.
Você pode conectar qualquer conjunto de qualquer DataSet que contenha uma coluna de texto. No entanto, se o conjunto de dados de entrada contiver várias colunas, use selecionar colunas no DataSet para escolher apenas a coluna que contém o texto que você deseja analisar
Observação
A segunda entrada, recursos personalizados (zip), não tem suporte no momento.
No futuro, você pode adicionar arquivos de recursos personalizados aqui, para identificar tipos de entidade diferentes.
Execute o experimento.
Resultados
O módulo gera um conjunto de resultados que contém uma linha para cada entidade reconhecida, junto com os deslocamentos.
Como cada linha de texto de entrada pode conter várias entidades nomeadas, um número de ID de artigo é gerado automaticamente e incluído na saída, para identificar a linha de entrada que continha a entidade nomeada. A ID do artigo é baseada na ordem natural das linhas no conjunto de dados de entrada.
Você pode converter esse conjunto de resultados de saída em CSV para baixá-lo ou salvá-lo como um conjunto de um para reutilização.
Usar o reconhecimento de entidade nomeada em um serviço Web
se você publicar um serviço web do Machine Learning Studio (clássico) e quiser consumir o serviço web usando C#, Python ou outra linguagem, como R, primeiro você deve implementar o código de serviço fornecido na página de ajuda do serviço web.
Se o serviço Web fornecer várias linhas de saída, a URL do serviço Web que você adiciona ao C#, Python ou código R deverá ter o sufixo scoremultirow
em vez de score
.
Por exemplo, suponha que você use a seguinte URL para seu serviço Web: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score
Para habilitar a saída de várias linhas, altere a URL para https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow
Para publicar esse serviço Web, você deve adicionar um módulo Executar script R adicional após o módulo reconhecimento de entidade nomeada , para transformar a saída de várias linhas em um único delimitado por ponto e vírgula (;). O motivo para a consolidação de várias linhas de saída em uma única linha é retornar várias entidades por linha de entrada.
Por exemplo, vamos supor que você tem uma sentença de entrada com duas entidades nomeadas. Em vez de retornar duas linhas para cada linha de entrada, você pode retornar linhas simples com várias entidades, separadas por ponto e vírgula, como mostrado aqui:
Texto de entrada | Saída do serviço Web |
---|---|
A Microsoft tem dois escritórios em Boston. | 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,; |
O seguinte exemplo de código demonstra como fazer isso:
# 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 estendida de como o reconhecimento de entidade nomeada funciona, seu plano de fundo e aplicativos possíveis:
Além disso, consulte os seguintes experimentos de exemplo na Galeria de ia do Azure para ver demonstrações de como usar métodos de classificação de texto comumente usados no aprendizado de máquina:
Exemplo de categorização de notícias: usa o hash de recurso para classificar artigos em uma lista predefinida de categorias.
Exemplo de empresas semelhantes: usa o texto dos artigos da Wikipédia para categorizar empresas.
Etapa de classificação de texto 1 de 5: preparação de dados: nesta explicação sobre a classificação de texto em cinco partes, o texto das mensagens do Twitter é usado para executar a análise de sentimentos. Uma variedade de técnicas de pré-processamento de texto também são demonstradas.
Observações técnicas
Suporte ao idioma
Atualmente, o módulo Reconhecimento de Entidade Nomeada suporta apenas texto em inglês. Ele pode detectar nomes de organizações, nomes e locais em frases em inglês. Se você usar o módulo em outros idiomas, talvez não receba um erro, mas os resultados não são tão bons quanto para texto em inglês.
No futuro, o suporte para idiomas adicionais podem ser habilitados, integrando os componentes multilíngues fornecidos no Kit de ferramentas de linguagem natural no escritório.
Entradas esperadas
Nome | Tipo | Descrição |
---|---|---|
História | Tabela de Dados | Um conjunto de dados de entrada (DataTable) que contém a coluna de texto que você deseja analisar. |
CustomResources | Zip | (Opcional) Um arquivo em formato ZIP que contém recursos personalizados adicionais. Essa opção não está disponível atualmente e é fornecida somente para compatibilidade com versões posteriores. |
Saídas
Nome | Tipo | Descrição |
---|---|---|
Entidades | Tabela de Dados | Uma lista de entidades e deslocamentos de caracteres |
Confira também
Análise de Texto
Hash de Recursos
Pontuar o modelo Vowpal Wabbit 7-4
Treinar o modelo Vowpal Wabbit 7-4