Reconocimiento de entidad con nombre
Usa la herramienta Reconocimiento de entidad con nombre para identificar entidades, como personas, lugares y cosas, en un texto. La herramienta aprovecha las capacidades de reconocimiento de entidades con nombre en el paquete spaCy . Puedes utilizar el conjunto predefinido de entidades o tus propias entidades personalizadas.
Se requiere Alteryx Intelligence Suite
Esta herramienta forma parte de Alteryx Intelligence Suite . Alteryx Intelligence Suite requiere una licencia independiente y un instalador de complemento para Designer. Después de instalar Alteryx Designer, instala Alteryx Intelligence Suite e inicia la prueba gratuita .
Idiomas compatibles
La herramienta Reconocimiento de entidad con nombre funciona con los idiomas inglés, francés, alemán, italiano, portugués y español.
Componentes de la herramienta
La herramienta Reconocimiento de entidad con nombre tiene cuatro anclas.
Ancla de entrada D : conecta los datos de texto con las entidades que deseas identificar.
Ancla de entrada E (opcional): conecta los datos con las entidades personalizadas que deseas identificar. Estos datos deben incluir los nombres de las entidades personalizadas y las etiquetas que deseas utilizar para entrenar el modelo.
Ancla de salida D : genera nuevas columnas de datos que muestran información sobre las entidades de los datos.
Ancla de salida M : genera un objeto de modelo en las herramientas posteriores para utilizarlo con datos nuevos. El objeto de modelo es compatible con la herramienta Predecir .
Configurar el modelo predeterminado
Configurar la herramienta
Arrastra la herramienta en el lienzo.
Conecta el ancla de entrada D a los datos de texto con las entidades que deseas identificar.
Selecciona el idioma de los datos de texto.
Selecciona la columna con texto .
Ejecuta el flujo de trabajo.
Lista de entidades en inglés predeterminada
PERSON: gente ficticia y no ficticia.
NORP: nacionalidad, religión o grupo político.
FAC: instalaciones, como edificios, aeropuertos, autopistas y puentes.
ORG: organizaciones, como empresas, agencias e instituciones.
GPE: entidades geográficas, como países, ciudades y estados.
LOC: ubicaciones que no son entidades geográficas, como cordilleras, masas de agua y continentes.
PRODUCT: productos, como vehículos y alimentos. No incluye los servicios.
EVENT: eventos, como huracanes con nombre, guerras y eventos deportivos.
WORK_OF_ART: obras de arte, como libros, canciones y películas.
LAW: documentos con nombre convertidos en leyes.
LANGUAGE: idiomas con nombre.
DATE: entidad de fecha.
TIME: entidad de tiempo, menos de un día.
PERCENT: porcentaje, incluidos “%” y la palabra “porcentaje”.
MONEY: valor monetario, incluye la unidad.
QUANTITY: medidas, como altura, peso y distancia.
ORDINAL: entidades ordinales, como primera, segunda y tercera.
CARDINAL: números que no entran en otra categoría numérica.
Puedes encontrar las listas de entidades predeterminadas para los otros idiomas en la documentación de spaCy.
Configurar el modelo personalizado
Si deseas utilizar tus propias entidades personalizadas para entrenar el modelo, selecciona Entrenar con nuevas entidades . El contenido de fuente debe incluir al menos 20 casos de cada entidad personalizada. Conecta las entidades personalizadas en el ancla de entrada E .
Formato de lista de entidades personalizadas
Puedes utilizar la herramienta Entrada de texto para pasar tus propias entidades personalizadas al ancla de entrada E . La herramienta utiliza la lista de entidades para entrenar un nuevo modelo. El formato de la lista de entidades es el siguiente con algunos ejemplos:
Entidad | Etiqueta |
---|---|
Riesling | UVA |
Sauvignon blanc | UVA |
Pinot noir | UVA |
Syrah | UVA |
Cabernet sauvignon | UVA |
Configurar la herramienta
Arrastra la herramienta en el lienzo.
Conecta el ancla de entrada D a los datos de texto con las entidades que deseas identificar.
Conecta el ancla de entrada E a la lista de entidades personalizadas.
Selecciona el idioma de los datos de texto conectados al ancla de entrada D .
Selecciona la columna con texto de los datos de texto conectados al ancla de entrada D .
Selecciona Entrenar con nuevas entidades .
Selecciona la columna con entidades de la lista de entidades personalizadas conectada al ancla de entrada E .
Selecciona la columna con etiquetas de la lista de entidades personalizadas conectada al ancla de entrada E .
Selecciona la casilla si deseas que el modelo distinga entre mayúsculas y minúsculas .
(Opcional) Configura la sección Entrenar el modelo . Consulta la siguiente sección para obtener más información.
Ejecuta el flujo de trabajo.
Entrenar el modelo
Una época es un único paso (hacia delante o atrás) de todos los datos de un conjunto de entrenamiento a través de una red neuronal. Las épocas están relacionadas con las iteraciones, pero no son lo mismo. Una iteración es un paso único de todos los datos de un lote de un conjunto de entrenamiento.
Aumentar la cantidad de épocas permite que el modelo aprenda con el conjunto de entrenamiento durante más tiempo. Sin embargo, esto también aumenta el costo computacional.
Puedes aumentar la cantidad de épocas para ayudar a disminuir los errores en el modelo. Sin embargo, en algún momento, la cantidad de reducción de errores podría no justificar el gasto computacional adicional. Además, aumentar demasiado la cantidad de épocas puede generar problemas de sobreajuste, mientras no usar suficientes épocas puede provocar problemas de subajuste.
De forma predeterminada, la herramienta utiliza 10 épocas.
La detención anticipada es un método que indica cuándo un método iterativo de aprendizaje automático, como la red neuronal convencional que se utiliza en la herramienta Reconocimiento de entidad con nombre, deja de aprender. La herramienta Reconocimiento de entidad con nombre utiliza F1 como métrica para la detención anticipada.
La detención anticipada es útil cuando tu modelo tiene problemas de sobreajuste. El sobreajuste se produce cuando tu modelo aprende mediante la memorización de respuestas, en lugar de la identificación de patrones subyacentes en tus datos. También puedes utilizar la detención anticipada para evitar que el algoritmo pase por épocas innecesarias.
Utiliza la detención anticipada si te preocupa que tu modelo pueda sobreajustar tus datos o que las épocas adicionales no mejoren tu modelo.
De forma predeterminada, la herramienta utiliza la detención anticipada.
Un lote es un subconjunto del conjunto de datos de entrenamiento.
Disminuir el tamaño del lote permite escalonar la cantidad de datos que pasan por una red neuronal en un momento determinado. Esto permite entrenar los modelos sin ocupar tanta memoria como si se pasaran todos los datos por una red neuronal a la vez. A veces, el procesamiento por lotes puede agilizar el entrenamiento. Sin embargo, dividir los datos en lotes también podría aumentar los errores en el modelo.
Separa tus datos en lotes cuando tu máquina no pueda procesar todos los datos a la vez, o si quieres disminuir el tiempo de entrenamiento.
De forma predeterminada, la herramienta utiliza un tamaño de lote de 32.
Salida
El ancla de salida D agrega dos columnas a la salida:
entities: esta columna contiene una salida JSON con una lista de descripciones y etiquetas de entidades.
entity: entidad encontrada por el modelo.
label: la etiqueta de la entidad.
character_index: el índice del primer carácter de la palabra en el cuerpo del texto. El índice comienza en 0.
word_index: el índice de la palabra en el cuerpo del texto. El índice comienza en 0.
entity_length: longitud del carácter de la entidad.
entity_diagram: esta columna contiene el texto con entidades etiquetadas y es visible con la herramienta Examinar .
El ancla de salida M contiene un objeto de modelo. Puedes guardar el objeto de modelo y utilizarlo para datos nuevos con la herramienta Predecir.
Cómo analizar la salida JSON
Para transformar la salida JSON en datos tabulares, utiliza una combinación de las herramientas Análisis JSON , Texto a columnas y Tabulación cruzada en este flujo de ejemplo:
Pasa la salida de la herramienta Reconocimiento de entidad con nombre a la entrada de la herramienta Análisis JSON.
Selecciona la columna de entidades en Campo JSON .
Selecciona Emitir valores como salida a un solo campo de cadena .
Pasa la salida de la herramienta Análisis JSON a la entrada Texto a columnas.
Selecciona la columna Nombre JSON en Columna para dividir y establece los Delimitadores en un punto ( . ).
Selecciona Dividir en columnas y establece el Número de columnas en 3 .
Pasa la salida de la herramienta Texto a columnas a la entrada de la herramienta Tabulación cruzada.
Configuración de la herramienta Tabulación cruzada:
Agrupar datos por estos valores : selecciona el nombre de la columna que contiene los datos de texto originales y la segunda columna de nombre JSON dividida (de manera predeterminada es JSON_Name2 ).
Cambiar encabezados de columnas : selecciona la tercera columna de nombre JSON dividida (de manera predeterminada es JSON_Name3 ).
Valores para columnas nuevas : Selecciona JSON_ValueString .
Método para agregar valores : selecciona Concatenar .
Ejecuta el flujo de trabajo. Ahora, la salida de la herramienta Tabulación cruzada contiene la forma tabular de la salida de la herramienta Reconocimiento de entidad con nombre.
Preguntas frecuentes
El algoritmo prioriza la lista personalizada.
De forma predeterminada, la herramienta Reconocimiento de entidad con nombre no puede reconocer a Michael Jordan y Air Jordan como la misma persona de inmediato. Sin embargo, puedes entrenar un nuevo modelo para que lo haga introduciendo una entidad personalizada y una lista de etiquetas. Nota: La herramienta Reconocimiento de entidad con nombre no no sustituye a buscar y reemplazar. Es posible que el algoritmo elija otros apodos para Michael Jordan basados en asociaciones en los datos de origen.
No, la herramienta Reconocimiento de entidad con nombre solo admite el idioma especificado. Por ejemplo, si defines el idioma en inglés, la herramienta solo buscará el texto en inglés dentro de los datos de origen. Si los datos de origen contienen texto en otros idiomas compatibles con la herramienta (por ejemplo, texto en francés), puedes crear otro proceso con otra herramienta Reconocimiento de entidad con nombre para el texto en francés y unir los resultados al final.