Share via


Reconocimiento de entidades con nombre

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

Reconoce entidades con nombre en una columna de texto.

Categoría: Text Analytics

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Reconocimiento de entidades con nombre en Machine Learning Studio (clásico) para identificar los nombres de cosas, como personas, empresas o ubicaciones en una columna de texto.

El reconocimiento de entidades con nombre es un área importante de la investigación en el aprendizaje automático de máquinas y en el procesamiento de lenguaje natural (NLP) porque se puede utilizar para responder a muchas preguntas del mundo real, tales como:

  • ¿Contiene un tweet el nombre de una persona? ¿El tweet también proporciona su ubicación actual?

  • ¿Qué empresas se mencionaron en un artículo de noticias?

  • ¿Se mencionaron productos especificados en quejas o revisiones?

Para obtener una lista de entidades con nombre, debe proporcionar un conjunto de datos como entrada que contiene una columna de texto. El Reconocimiento de entidades con nombre identificará tres tipos de entidades: personas (PER), ubicaciones (LOC) y organizaciones (ORG).

El módulo también etiqueta las secuencias por donde se encontraron estas palabras, de modo que pueda usar los términos en un análisis posterior.

Por ejemplo, la siguiente tabla muestra una sencilla oración de entrada y los términos y valores generados por el módulo:

Texto de entrada Salida del módulo
"Boston es un excelente lugar para vivir." 0,Boston,0,6,LOC

La salida se puede interpretar como sigue:

  • El primer ‘0’ significa que esta cadena es la primera entrada del artículo para el módulo.

    Como un solo artículo puede tener varias entidades, es importante incluir el número de fila del artículo en la salida para asignar características a los artículos.

  • Boston es la entidad reconocida.

  • El 0 siguiente significa que Boston la entidad comienza Boston desde la primera letra de la cadena de entrada. Los índices son de base cero.

  • 6 significa que la longitud de la entidad Boston es 6.

  • LOC significa que la entidad Boston es un lugar o una ubicación. Otros tipos de entidad con nombre admitidos son persona (PER) y organización (ORG).

Configuración de Reconocimiento de entidades con nombre

  1. Agregue el Reconocimiento de entidades con nombre al experimento en Studio (clásico). Puede encontrar el módulo en la Text Analytics de trabajo.

  2. En la entrada denominada Story, conecte un conjunto de datos que contenga el texto que se analizará.

    El "caso" debe contener el texto del que se extraerán las entidades con nombre.

    La columna usada como Story debe contener varias filas, donde cada fila consta de una cadena. la cadena puede ser corta, como una oración, o larga, como un artículo de noticias.

    Puede conectar cualquier conjunto de datos que contenga una columna de texto. Sin embargo, si el conjunto de datos de entrada contiene varias columnas, use Seleccionar columnas en el conjunto de datos para elegir solo la columna que contiene el texto que desea analizar.

    Nota:

    La segunda entrada, Recursos personalizados (Zip), no se admite en este momento.

    En el futuro, puede agregar archivos de recursos personalizados aquí para identificar diferentes tipos de entidad.

  3. Ejecute el experimento.

Results

El módulo genera un conjunto de datos que contiene una fila para cada entidad que se ha reconocido, junto con los desplazamientos.

Dado que cada fila de texto de entrada puede contener varias entidades con nombre, se genera e incluye automáticamente un número de identificador de artículo en la salida para identificar la fila de entrada que contenía la entidad con nombre. El identificador del artículo se basa en el orden natural de las filas del conjunto de datos de entrada.

Puede convertir este conjunto de datos de salida en CSV para descargarlo o guardarlo como un conjunto de datos para volver a usarlo.

Uso del reconocimiento de entidades con nombre en un servicio web

Si publica un servicio web desde Machine Learning Studio (clásico) y desea consumir el servicio web mediante C#, Python u otro lenguaje como R, primero debe implementar el código de servicio proporcionado en la página de ayuda del servicio web.

Si el servicio web proporciona varias filas de salida, la dirección URL del servicio web que agregue al código de C#, Python o R debería tener el sufijo scoremultirow en lugar de score.

Por ejemplo, suponga que usa la siguiente dirección URL para el servicio web: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score

Para habilitar la salida de varias filas, cambie la dirección URL a . https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow

Para publicar este servicio web, debe agregar un módulo Ejecutar script R adicional después del módulo Reconocimiento de entidades con nombre para transformar la salida de varias filas en una única delimitada con punto y coma (;). La razón para consolidar las múltiples filas de la salida en una sola fila es devolver varias entidades por fila de entrada.

Por ejemplo, supongamos que tiene una oración de entrada con dos entidades con nombre. En lugar de devolver dos filas por cada fila de entrada, puede devolver una sola fila con varias entidades, separadas por puntos y coma tal y como se muestra aquí:

Texto de entrada Salida del servicio web
Microsoft tiene dos ubicaciones de oficinas en Boston. 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,;

El ejemplo de código siguiente muestra cómo hacerlo:

# 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");  

Ejemplos

En este blog se proporciona una explicación ampliada de cómo funciona el reconocimiento de entidades con nombre, su fondo y las posibles aplicaciones:

Consulte también los siguientes experimentos de ejemplo en el Azure AI Gallery para obtener demostraciones sobre cómo usar métodos de clasificación de texto que se usan habitualmente en el aprendizaje automático:

  • Ejemplo de categorización de noticias: usa el hash de características para clasificar artículos en una lista predefinida de categorías.

  • Ejemplo de compañías similares: usa el texto de artículos de Wikipedia para clasificar las empresas.

  • Paso 1 de la clasificación de texto de 5: Preparación de datos: en este tutorial de cinco partes de clasificación de texto, el texto de los mensajes de Twitter se usa para realizar análisis de sentimiento. También se muestra una variedad de técnicas de procesamiento previo de texto.

Notas técnicas

Compatibilidad con idiomas

Actualmente, el módulo Reconocimiento de entidades con nombre solo admite texto en inglés. Puede detectar los nombres de organización, nombres de personas y ubicaciones en oraciones en inglés. Si usa el módulo en otros idiomas, es posible que no obtenga un error, pero los resultados no son tan buenos como para el texto en inglés.

En el futuro, se puede habilitar la compatibilidad con otros idiomas mediante la integración de los componentes multilingües proporcionados en el kit de herramientas de lenguaje natural de Office.

Entradas esperadas

Nombre Tipo Descripción
Argumento Tabla de datos Un conjunto de datos de entrada (tabla de datos) que contiene la columna de texto que desea analizar.
CustomResources Zip (Opcional) Un archivo en formato ZIP que contiene recursos personalizados adicionales.

Esta opción no está disponible actualmente y solamente se proporciona para futura compatibilidad.

Salidas

Nombre Tipo Descripción
Entidades Tabla de datos Una lista de desplazamientos de caracteres y entidades

Consulte también

Text Analytics
Hash de características
Puntuación del modelo 7-4 de Vowpal Wabbit
Entrenar el modelo 7-4 de Vowpal Wabbit