Reconocimiento de entidades con nombre
Reconoce entidades con nombre en una columna de texto.
Categoría: Text Analytics
Nota
Se aplica a: machine learning Studio (clásico)
Este contenido solo pertenece a Studio (clásico). Se han agregado módulos similares de arrastrar y colocar al diseñador de Azure Machine Learning. Obtenga más información en este artículo comparativa de las dos versiones.
Información general sobre el módulo
En este artículo se describe cómo usar el módulo de reconocimiento de entidades con nombre en Azure machine learning Studio (clásico) para identificar los nombres de las cosas, como personas, compañías 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 han especificado productos mencionados 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 módulo reconocimiento de entidades con nombre identificará tres tipos de entidades: personas (por), ubicaciones (LOC) y organizaciones (org).
El módulo también etiqueta las secuencias por el lugar donde se encontraron estas palabras, por lo que puede usar los términos en un análisis más exhaustivo.
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
siguienteBoston
significa que la entidadBoston
comienza en la primera letra de la cadena de entrada. Los índices son de base cero.6
significa que la longitud de la entidadBoston
es 6.LOC
significa que la entidadBoston
es un lugar o una ubicación. Otros tipos de entidad con nombre admitidos son person (PER
) y Organization (ORG
).
Configuración del reconocimiento de entidades con nombre
Agregue el módulo reconocimiento de entidades con nombre al experimento en Studio (clásico). Puede encontrar el módulo en la categoría Text Analytics .
En la entrada denominada Story, conecte un conjunto de datos que contenga el texto que se va a analizar.
El "caso" debe contener el texto del que se van a extraer las entidades con nombre.
La columna utilizada como historia debe contener varias filas, donde cada fila está formada por una cadena. la cadena puede ser corta, como una oración, o largo, como un artículo de noticias.
Puede conectar cualquier conjunto de DataSet 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
En este momento no se admite la segunda entrada, recursos personalizados (zip).
En el futuro, puede Agregar archivos de recursos personalizados aquí para identificar distintos tipos de entidad.
Ejecute el experimento.
Results
El módulo genera un conjunto de resultados que contiene una fila para cada entidad reconocida, junto con los desplazamientos.
Dado que cada fila de texto de entrada puede contener varias entidades con nombre, se genera automáticamente un número de identificador de artículo y se incluye en la salida para identificar la fila de entrada que contenía la entidad con nombre. El identificador de artículo se basa en el orden natural de las filas del conjunto de datos de entrada.
Puede convertir este conjunto de información de salida en CSV para descargarlo o guardarlo como un conjunto de resultados para reutilizarlo.
Uso del reconocimiento de entidades con nombre en un servicio Web
Si publica un servicio web desde Azure 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, supongamos 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 sola 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
Este blog proporciona una explicación amplia de cómo funciona el reconocimiento de entidades con nombre, su fondo y las aplicaciones posibles:
Consulte también los experimentos de ejemplo siguientes en el Azure AI Gallery para obtener demostraciones de cómo usar los métodos de clasificación de texto que se usan habitualmente en aprendizaje automático:
Ejemplo de categorización de noticias: usa hash de características para clasificar los artículos en una lista predefinida de categorías.
Ejemplo de compañías similares: usa el texto de los artículos de Wikipedia para clasificar las empresas.
Texto: clasificación paso 1 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 el análisis de opiniones. 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 reciba ningún 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 |
Vea también
Text Analytics
Hash de características
Puntuar Vowpal Wabbit modelo 7-4
Entrenar el modelo 7-4 de Vowpal Wabbit