Extracción de términos, transformación

Se aplica a:SQL Server SSIS Integration Runtime en Azure Data Factory

La transformación "Extracción de términos" extrae términos del texto de una columna de entrada de la transformación y, a continuación, escribe esos términos en una columna de salida de la transformación. La transformación funciona solo con texto en inglés y utiliza únicamente su propio diccionario en inglés e información lingüística sobre el idioma inglés.

Puede usar la transformación Extracción de términos para detectar el contenido de un conjunto de datos. Por ejemplo, el texto que contiene mensajes de correo electrónico puede proporcionar información útil sobre productos, de manera que puede usar la transformación Extracción de términos para extraer los temas de discusión en los mensajes, como una manera de analizar dicha información.

Tipos de datos y términos extraídos

La transformación «Extracción de términos» puede extraer solo sustantivos, solo frases nominales, o bien tanto sustantivos como frases nominales. Un nombre es un solo sustantivo, una frase se compone de por lo menos dos palabras, de las cuales una es un sustantivo y la otra es un sustantivo o adjetivo. Por ejemplo, si la transformación usa la opción de solo nombres, extrae términos como bicycle y landscape. Si la transformación usa la opción de frase, extrae términos como new blue bicycle, bicycle helmety boxed bicycles.

Los artículos y pronombres no se extraen. Por ejemplo, la transformación Extracción de términos extrae el término bicycle (bicicleta) del texto the bicycle(la bicicleta), my bicycle(mi bicicleta) y that bicycle(esa bicicleta).

La transformación Extracción de términos genera una puntuación para cada término que extrae. La puntuación puede ser un valor TFIDF o simplemente la frecuencia, que es la cantidad de veces en que aparece el término normalizado en la entrada. En cualquier caso, un número real mayor que cero representa la puntuación. Por ejemplo, la puntuación TFIDF podría tener el valor 0,5 y la frecuencia sería un valor como 1,0 o 2,0.

La salida de la transformación Extracción de términos solo incluye dos columnas. Una columna contiene los términos extraídos y la otra columna contiene la puntuación. Los nombres predeterminados de las columnas son Term y Score. Debido a que la columna de texto de la entrada puede contener varios términos, la salida de transformación Extracción de términos normalmente tiene más filas que la entrada.

Si los términos extraídos se escriben en una tabla, otras transformaciones de búsqueda, como las transformaciones Búsqueda de términos, Búsqueda aproximada y Búsqueda, pueden utilizarlos.

La transformación Extracción de términos solo funciona con texto en una columna que tenga el tipo de datos DT_WSTR o DT_NTEXT. Si una columna contiene texto, pero no tiene uno de estos tipos de datos, se puede usar la transformación Conversión de datos para agregar una columna con el tipo de datos DT_WSTR o DT_NTEXT al flujo de datos y copiar los valores de columnas en la nueva columna. La salida de la transformación Conversión de datos puede utilizarse después como entrada para la transformación Extracción de términos. Para más información, consulte Data Conversion Transformation.

Términos de exclusión

Opcionalmente, la transformación Extracción de términos puede hacer referencia a una columna en una tabla que contiene términos de exclusión, lo que significa términos que la transformación debe omitir cuando extrae términos de un conjunto de datos. Esto resulta útil cuando un conjunto de términos ya ha sido identificado como insignificante en una actividad o un segmento en concreto, normalmente porque el término aparece con tanta frecuencia que resulta una palabra vacía. Por ejemplo, al extraer términos de un conjunto de datos que contiene información de asistencia al cliente sobre una marca de automóviles concreta, el nombre de la marca se puede excluir porque se menciona con demasiada frecuencia como para que resulte significativo. Por tanto, los valores en la lista de exclusión deben ser personalizados para el conjunto de datos con el que está trabajando.

Al agregar un término a la lista de exclusión, se excluyen también todos los términos (palabras o frases) que contienen el término. Por ejemplo, si la lista de exclusión incluye la palabra única data(datos), también se excluyen todos los términos que contienen esta palabra, como data(datos), data mining(minería de datos), data integrity(integridad de datos) y data validation (validación de datos). Si solamente desea excluir los términos compuestos que contienen la palabra data(datos), debe agregar explícitamente estos términos compuestos a la lista de exclusión. Por ejemplo, si desea extraer incidencias de data(datos), pero excluir data validation(validación de datos), debe agregar data validation a la lista de exclusión y asegurarse de que data (datos) se ha quitado de la lista de exclusión.

La tabla de referencia debe ser una tabla en una base de datos de SQL Server o de Access. La transformación Extracción de términos usa una conexión OLE DB independiente para conectarse a la tabla de referencia. Para más información, consulte OLE DB Administrador de conexiones.

La transformación Extracción de términos trabaja en un modo de almacenamiento previo en caché completo. En tiempo de ejecución, la transformación Extracción de términos lee los términos de exclusión de la tabla de referencia y los almacena en su memoria privada antes de procesar cualquier fila de entrada de la transformación.

Extracción de términos del texto

Para extraer términos del texto, la transformación Extracción de términos realiza las siguientes tareas.

Identificador de palabras

En primer lugar, la transformación de extracción de términos identifica palabras realizando las siguientes tareas:

  • Separar texto en palabras usando espacios, saltos de línea y otros terminadores de palabras del idioma inglés. Por ejemplo, signos de puntuación como ? y : son caracteres de separación de palabras.

  • Conservar palabras conectadas por guiones o caracteres de subrayado. Por ejemplo, las palabras copy-protected y read-only se leen como una sola palabra.

  • Mantener intactas las siglas que contienen puntos. Por ejemplo, A.B.C. Company se acorta como ABC y Company.

  • Dividir palabras por caracteres especiales. Por ejemplo, la palabra date/time se extrae como date y time, (bicycle) como bicycley C# se trata como C. Los caracteres especiales se descartan y no se pueden lexicalizar.

  • Reconocer cuándo los caracteres especiales, como el apóstrofo, no deben dividir palabras. Por ejemplo, la palabra bicycle's no se divide en dos palabras y produce el término único bicycle (nombre).

  • Dividir expresiones temporales, expresiones monetarias, direcciones de correo electrónico y direcciones postales. Por ejemplo, la fecha January 31, 2004 (31 de enero de 2004) se separa en tres tokens January, 31y 2004.

Palabras etiquetadas

En segundo lugar, la transformación «Extracción de términos» etiqueta las palabras como una de las siguientes categorías gramaticales:

  • Un nombre en su forma singular. Por ejemplo, bicycle (bicicleta) y potato(patata).

  • Un nombre en su forma plural. Por ejemplo, bicycles (bicicletas) y potatoes(patatas). Todos los sustantivos en plural que no se lematizan se someten a un proceso de stemming.

  • Un nombre propio en su forma singular. Por ejemplo, April y Peter.

  • Un nombre propio en su forma plural. Por ejemplo, Aprils y Peters. Para que un nombre propio esté sujeto a lematización, debe formar parte del léxico interno, que se limita a palabras estándar del inglés.

  • Un adjetivo. Por ejemplo, blue(azul).

  • Un adjetivo comparativo que compara dos cosas. Por ejemplo, higher y taller.

  • Un adjetivo superlativo que identifica una cosa que tiene una calidad por encima o por debajo del nivel de por lo menos otras dos. Por ejemplo, highest y tallest(el más alto).

  • Un número. Por ejemplo, 62 y 2004.

Las palabras que no son una de estas partes de la oración se descartan. Por ejemplo, se descartan los verbos y pronombres.

Nota:

El etiquetado de las partes de la oración se basa en un modelo estadístico y es posible que no sea completamente exacto.

Si la transformación de extracción de términos se configura para extraer solo sustantivos, solo se extraen las palabras etiquetadas como formas singulares o plurales de sustantivos y nombres propios.

Si la transformación de extracción de términos está configurada para extraer solo sintagmas nominales, las palabras etiquetadas como sustantivos, nombres propios, adjetivos y números pueden combinarse para formar un sintagma nominal, pero este debe incluir al menos una palabra etiquetada como la forma singular o plural de un sustantivo o de un nombre propio. Por ejemplo, la frase highest mountain combina una palabra etiquetada como adjetivo superlativo (highest) y una palabra etiquetada como nombre (mountain).

Si la Extracción de términos se configura para extraer nombres y frases, se aplican tanto las reglas para nombres como las reglas para frases. Por ejemplo, la transformación extrae bicycle (bicicleta) y beautiful blue bicycle (bella bicicleta azul) del texto many beautiful blue bicycles(muchas bellas bicicletas azules).

Nota:

Los términos extraídos siguen sujetos a los límites de longitud máxima de términos y al umbral de frecuencia que usa la transformación.

Palabras lematizadas

La transformación de extracción de términos también reduce los sustantivos a su raíz para extraer únicamente la forma singular de un sustantivo. Por ejemplo, la transformación extrae man de men, mouse de mice y bicycle de bicycles. La transformación usa su diccionario para lematizar nombres. Los gerundios se tratan como nombres si están en el diccionario.

La transformación Extracción de términos reduce las palabras a su forma de diccionario, como se muestra en estos ejemplos, utilizando el diccionario interno de la transformación Extracción de términos.

  • Eliminar la s de los sustantivos. Por ejemplo, bicycles (bicicletas) pasa a ser bycicle.

  • Quitar es de los sustantivos. Por ejemplo, stories (historias) pasa a ser story.

  • Recuperar la forma singular de los nombres irregulares del diccionario. Por ejemplo, geese se convierte en goose.

Palabras normalizadas

La transformación de extracción de términos normaliza los términos que están en mayúscula únicamente por su posición en una oración y utiliza en su lugar su forma en minúsculas. Por ejemplo, en las frases Los perros persiguen gatos y Los senderos de montaña son escarpados, Perros y montaña se normalizarían a perro y montaña.

La transformación Extracción de términos normaliza las palabras de manera tal que las versiones con mayúsculas y sin mayúsculas de las palabras no se tratan como términos diferentes. Por ejemplo, en el texto You see many bicycles in Seattle (Se ven muchas bicicletas en Seattle) y Bicycles are blue(Las bicicletas son azules) , bicycles y Bicycles se reconocen como el mismo término y la transformación solo conserva bicycle. Los nombres propios y las palabras que no se encuentran enumeradas en el diccionario interno no se normalizan.

Normalización sensible a mayúsculas y minúsculas

La transformación «Extracción de términos» se puede configurar para considerar las palabras en minúsculas y en mayúsculas ya sea como términos distintos o como variantes diferentes del mismo término.

  • Si la transformación está configurada para distinguir entre mayúsculas y minúsculas, los términos Method y method se extraen como dos términos distintos. Las palabras con mayúsculas que no son la primera palabra en una oración nunca se normalizan y se etiquetan como nombres propios.

  • Si la transformación se configura para no reconocer las diferencias de mayúsculas y minúsculas, los términos Method y method se reconocen como variantes de un único término. La lista de términos extraídos puede incluir Method o method, en función de la palabra que aparezca en primer lugar en el conjunto de datos de entrada. Si Method aparece con mayúsculas solo porque es la primera palabra en una oración, se extrae en su forma normalizada.

Límites de palabras y oraciones

La transformación de extracción de términos separa el texto en oraciones utilizando los siguientes caracteres como delimitadores de frase:

  • Caracteres de salto de línea ASCII 0x0d (retorno de carro) y 0x0a (avance de línea). Para usar este carácter como límite de oración, debe haber dos o más caracteres de salto de línea en una fila.

  • Guiones (-). Para usar este carácter como límite de oración, el carácter situado a la izquierda o a la derecha del guión no puede ser una letra.

  • Carácter de subrayado (_). Para usar este carácter como límite de oración, el carácter situado a la izquierda o a la derecha del guión no puede ser una letra.

  • Todos los caracteres Unicode que son menores o iguales que 0x19, o mayores o iguales que 0x7b.

  • Combinaciones de números, signos de puntuación y caracteres alfabéticos. Por ejemplo, A23B#99 devuelve el término A23B.

  • Los caracteres %, @, &, $, #, *, :, ;, ., , , !, ?, <, >, +, =, ^, ~, |, \, /, (, ), [, ], {, }, " y '.

    Nota:

    Las siglas que incluyen uno o más puntos (.) no se separan en varias frases.

La transformación de extracción de términos separa entonces la frase en palabras utilizando los siguientes delimitadores de palabras:

  • Espacio

  • Pestaña

  • ASCII 0x0d (retorno de carro)

  • ASCII 0x0a (salto de línea)

    Nota:

    Si se usa un apóstrofo en una palabra que es una contracción, como we're o it's, la palabra se divide en el apóstrofo. De lo contrario, las letras que aparecen después del apóstrofo se eliminan. Por ejemplo, we're se divide en we y 're, y bicycle's se reduce a bicycle.

Configuración de la transformación de extracción de términos

La transformación Extracción de texto usa algoritmos internos y modelos estadísticos para generar sus resultados. Es posible que tenga que ejecutar la transformación Extracción de términos varias veces y examinar los resultados para configurar la transformación con el fin de generar el tipo de resultados que funciona para la solución de minería de texto.

La transformación Extracción de términos tiene una entrada normal, una salida y una salida de error.

Puede establecer propiedades a través del Diseñador de SSIS o mediante programación.

Para obtener más información acerca de las propiedades que puede establecer a través del cuadro de diálogo Editor avanzado o mediante programación, haga clic en uno de los temas siguientes:

Para más información sobre cómo establecer propiedades, vea Establecer las propiedades de un componente de flujo de datos.

Editor de transformación Extracción de términos (pestaña Extracción de términos)

Use la pestaña Extracción de términos del cuadro de diálogo Editor de transformación Extracción de términos para especificar la columna de texto que contiene el texto que se extraerá.

Opciones

Columnas de entrada disponibles
Con las casillas, seleccione la única columna de texto que se utilizará para la extracción de términos.

Término
Proporcione un nombre para la columna de salida que contendrá los términos extraídos.

Puntuación
Proporcione un nombre para la columna de salida que contendrá la puntuación de cada término extraído.

Configurar la salida de errores
Use el cuadro de diálogo Configurar la salida de errores para especificar las opciones de control de errores para las filas que provocan errores.

Editor de transformación de extracción de términos (pestaña de exclusión)

Use la pestaña Exclusión del cuadro de diálogo Editor de transformación Extracción de términos para establecer una conexión con una tabla de exclusión y especificar las columnas que contienen términos de exclusión.

Opciones

Utilizar términos de exclusión
Esta opción indica si se excluirán términos específicos durante la extracción de términos mediante la especificación de una columna que contiene los términos de exclusión. Si desea excluir términos, debe especificar las siguientes propiedades del origen:

Administrador de conexiones OLE DB
Permite seleccionar un administrador de conexiones OLE DB o crear una conexión haciendo clic en Nueva.

Nuevo
Crea una conexión a una base de datos mediante el cuadro de diálogo Configurar el administrador de conexiones OLE DB .

Tabla o vista
Permite seleccionar la tabla o vista que contiene los términos de exclusión.

Columna
Permite seleccionar la columna de la tabla o vista que contiene los términos de exclusión.

Configurar la salida de errores
Use el cuadro de diálogo Configurar la salida de errores para especificar las opciones de control de errores para las filas que provocan errores.

Editor de transformación de extracción de términos (pestaña Avanzado)

Use la pestaña Avanzadas del cuadro de diálogo Editor de transformación Extracción de términos para especificar las propiedades de la extracción, tales como la frecuencia, la longitud y si deben extraerse palabras o frases.

Opciones

Nombre
Especifica que la transformación extrae únicamente nombres individuales.

Sintagma nominal
Especifica que la transformación extrae únicamente sintagmas nominales.

Sustantivo y sintagma nominal
Especifica que la transformación extrae tanto sustantivos como sintagmas nominales.

Frecuencia
Especifica que la puntuación está determinada por la frecuencia del término.

TFIDF
Especifique que la puntuación es el valor TFIDF del término. El valor TFIDF es el producto de la frecuencia del término y la frecuencia inversa del documento, y se define como sigue: TFIDF de un término T = (frecuencia de T) * log( (número de filas de la entrada) / (número de filas que contienen T) )

Umbral de frecuencia
Permite especificar el número de veces que una palabra o frase debe aparecer antes de extraerla. El valor predeterminado es 2.

Longitud máxima del término
Permite especificar la longitud máxima de una frase en palabras. Esta opción afecta únicamente a los sintagmas nominales. El valor predeterminado es 12.

Utilizar extracción de términos con distinción de mayúsculas y minúsculas
Especifique si la extracción distingue entre mayúsculas y minúsculas. El valor predeterminado es False.

Configurar la salida de errores
Use el cuadro de diálogo Configurar la salida de errores para especificar las opciones de control de errores para las filas que provocan errores.