Skip to main content

Detector de Tokens

El detector de tokens es un modelo de lenguaje natural especializado, diseñado para identificar y extraer fragmentos específicos de información, llamados tokens, de una oración. Se utiliza para detectar datos estructurados como identificadores, nombres, fechas o códigos incrustados en texto de lenguaje natural.

A diferencia de un clasificador, que categoriza oraciones completas, el detector de tokens se centra en marcar y etiquetar subsecciones de una oración. Esto es especialmente útil para aplicaciones que necesitan extraer valores de las solicitudes del usuario, como identificadores de documentos o referencias.

Cómo funciona el detector de tokens

El Detector de Tokens se entrena con oraciones etiquetadas donde los tokens de interés están claramente marcados con un formato especial. Cada token detectado se encierra en las etiquetas <START:label> y <END>. Estas indican tanto los límites del token como el tipo de información que se extrae. En concreto, estas etiquetas (<START:label> y <END>) enseñan al sistema a reconocer estructuras y valores similares en texto nuevo e inédito.

Ejemplos:

I am searching for the document with id <START:docId> 12356897 </START:docId>, please send it to me.
All employees are encouraged to find doc with id <START:docid> 0023 <END> on the HR portal.
Interested faculty and graduate students can find document with id <START:docid> 1250 <END>. Please open file titled <START:filename> launch_brief.txt <END>.
The revised pipeline is presented in the document <START:filename> ingestion_workflow_diagram_v2.pdf <END>.
To explore the many benefits of developing a consistent reading habit, see the document called <START:filename> reading-benefits.txt <END>.  Please, retrieve any documents about <START:expression> 1250 <END> paper .
Locate the finance policy document containing <START:expression> "card*" <END> usage rules and restrictions.
I need you to find all compliance documentation that specifies <START:expression> dev* <END> for our legal counsel.

Como se muestra arriba, el detector utiliza ejemplos etiquetados donde los tokens están etiquetados explícitamente. Por lo tanto, aprende a reconocer estos tipos de tokens basándose en:

  • Posición de la palabra
  • Forma de la palabra (números, mayúsculas, etc.)
  • Contexto del token

Detección de Tokens

Cuando se envía una oración al modelo, este primero la divide en tokens (normalmente palabras o signos de puntuación) mediante un tokenizador específico del lenguaje. Este paso es esencial para el reconocimiento preciso de los límites de los tokens. El modelo entrenado escanea la oración tokenizada e identifica los grupos de palabras que coinciden con los patrones aprendidos. Cada grupo se devuelve junto con:

  • La etiqueta del token (p. ej., docid)
  • El valor (p. ej., 12356897)
  • Una puntuación de confianza

Clasificador

El clasificador es un componente del lenguaje natural que asigna una categoría a un texto determinado en función de su contenido. En este sistema, el clasificador se entrena utilizando pares de datos de ejemplo, donde cada par contiene una etiqueta de categoría y una oración de ejemplo que termina con un espacio seguido de un punto ( .). Esto permite al clasificador aprender patrones y palabras clave que se asocian comúnmente con intenciones o comandos específicos.

Cómo funciona el clasificador

El clasificador se entrena con ejemplos etiquetados, donde cada línea incluye una categoría y una oración que la refleja. Esto genera un modelo que posteriormente puede comparar nuevas entradas con lo aprendido.
Para entrenar el modelo, el sistema espera un archivo CSV con una sola columna. Cada línea de esta columna debe seguir un formato muy específico:

<categoría><TAB><texto que termina con un espacio seguido de un punto>. 

Ejemplos:

SEARCHDOC    Find any files about budget .
SEARCHDOC    Locate docs about paper .
SEARCHDOC    Retrieve documents matching "news" .
GETDOC    Can you get doc with ID 1233587 .
GETDOC    I need to access file with id 29679 .
GETDOC    Show doc with id 299 .
SEARCHFILE    File called "mywork.docx" .
SEARCHFILE    Get document called invoice.pdf .
SEARCHFILE    Open doc titled booklet.txt .

Descripción general de la configuración del clasificador

Esta sección describe los campos de configuración clave del modelo de clasificador utilizado en el sistema de PLN. Estos ajustes definen el comportamiento del clasificador durante el entrenamiento y su interpretación de la entrada del usuario.

Propiedades

La pestaña Propiedades de la interfaz del clasificador contiene los ajustes de configuración principales que definen el comportamiento del clasificador durante el entrenamiento y la inferencia. Estos parámetros influyen en el procesamiento del texto de entrada, la extracción de características y la aplicación de las reglas específicas del idioma. La correcta configuración de estos campos garantiza una clasificación precisa y eficiente.

classifier_properties_specs
 

  • Cutoff: valor umbral utilizado durante el entrenamiento para filtrar características de baja probabilidad. Un valor bajo significa que se utilizan más características; un valor alto hace que el modelo sea más estricto.
  • Ngram Min: tamaño mínimo de n-gramas (secuencias de palabras) a considerar durante el entrenamiento (p. ej., 2 = bigramas).
  • Ngram Max: tamaño máximo de n-gramas a incluir durante el entrenamiento (p. ej., 4 = secuencias de hasta 4 palabras).
  • Idioma: idioma del conjunto de datos de entrenamiento (p. ej., inglés). Esto ayuda al sistema a cargar las palabras vacías y las reglas de procesamiento adecuadas.

Embedder

Los modelos de la clase Embedder permiten la asignación de documentos completos a vectores de longitud fija, lo que posibilita su representación en un espacio vectorial continuo. Esto facilita la comparación y manipulación eficiente de datos textuales en el procesamiento del lenguaje natural (PLN), como las búsquedas semánticas.

Cómo funciona el Embedder

La transformación del contenido de un documento en un vector se realiza mediante el algoritmo Doc2Vec. Este manual no es el lugar adecuado para tratar los detalles de esta técnica, pero puede encontrar mucha literatura sobre el tema.

En pocas palabras, Doc2Vec utiliza una red neuronal específica para crear una representación numérica de un documento (el vector) que, por lo general, se almacenará en un Vector Store. Los documentos similares se representarán mediante dos vectores diferentes pero adyacentes en el espacio vectorial multidimensional.

El Embedder se entrena utilizando párrafos de texto escritos en lenguaje natural, cada párrafo termina con un punto seguido de una línea en blanco:

Ejemplo:

She quickly dropped it all into a bin, closed it with its wooden
lid, and carried everything out. She had hardly turned her back
before Gregor came out again from under the couch and stretched
himself.

This was how Gregor received his food each day now, once in the
morning while his parents and the maid were still asleep, and the
second time after everyone had eaten their meal at midday as his
parents would sleep for a little while then as well, and Gregor's
sister would send the maid away on some errand. Gregor's father and
mother certainly did not want him to starve either, but perhaps it
would have been more than they could stand to have any more
experience of his feeding than being told about it, and perhaps his
sister wanted to spare them what distress she could as they were
indeed suffering enough.

Resumen de la configuración del incrustador

Esta sección describe los campos de configuración clave del modelo embedder. Estos ajustes definen cómo se comporta el embedder durante el entrenamiento y cómo interpreta la entrada del usuario.

Propiedades

La pestaña Propiedades de la interfaz del embedder contiene los ajustes de configuración principales que definen el comportamiento del embedder durante el entrenamiento y la incrustación. Estos parámetros influyen en el procesamiento del texto de entrada.

classifier_properties_specs

  • Semilla: valor utilizado para la generación de números aleatorios
  • Trabajadores: número de subprocesos utilizados para el entrenamiento
  • Tamaño de la ventana: tamaño de la ventana utilizada por el algoritmo Doc2Vec
  • Tamaño del vector: número de elementos en cada vector; debe ser mayor que 300
  • Frecuencia mínima de palabras: las palabras que aparezcan con un número menor a este número se descartarán
  • Máximo de fragmentos: cada documento se subdivide en fragmentos de tokens; aquí se especifica el número máximo de fragmentos admitidos
  • Tamaño del fragmento: número objetivo de tokens en un solo fragmento
  • Mín. Tamaño del fragmento: cantidad mínima de tokens y caracteres en un solo fragmento
  • Alfa: tasa de aprendizaje inicial (el tamaño de las actualizaciones de peso en un modelo de aprendizaje automático durante el entrenamiento); el valor predeterminado es 0,025
  • Alfa min.: la tasa de aprendizaje disminuirá linealmente hasta alcanzar el alfa mínimo en todas las épocas de inferencia; el valor predeterminado es 0,0001

Inteligencia Artificial

La Inteligencia Artificial o simplemente IA, podría definirse como una tecnología que permite a las máquinas simular el aprendizaje, la comprensión, la resolución de problemas, la toma de decisiones, la creatividad y la autonomía humanas.

Más allá de esta introducción, no existe una definición única y simple de Inteligencia Artificial porque las herramientas de IA son capaces de realizar tareas en circunstancias variables e impredecibles sin una supervisión humana significativa y pueden aprender de la experiencia y mejorar el rendimiento cuando se exponen a conjuntos de datos.

LogicalDOC contiene un motor de IA de propósito general con el que podrás resolver incluso problemas no estrictamente relacionados con la gestión documental, pero con la ventaja de poder beneficiarte de todo el potencial de un Sistema de Gestión Documental para gestionar grandes volúmenes de datos necesarios para el entrenamiento.

Modelos

Los modelos de IA son programas que implementan un algoritmo diseñado para resolver un problema de la misma manera que lo haría un cerebro humano, también puedes verlos como cerebros artificiales que permiten que los sistemas aprendan de los datos y realicen tareas como análisis, predicción y generación de contenido.

Al momento de escribir este artículo, LogicalDOC proporciona este conjunto de modelos:

  • Red neuronal: útil para predecir la categoría o naturaleza de un objeto a partir de datos de entrada.
  • Clasificador: utiliza el procesamiento del lenguaje natural (PLN) para catalogar un texto escrito de forma natural.
  • Detector de tokens: utiliza el procesamiento del lenguaje natural (PLN) para extraer tokens de un texto escrito de forma natural

Conozca más sobre los modelos 

Samplers

Los modelos no pueden hacer nada sin haber sido entrenados: como los niños, deben aprender de la experiencia para “entender” cómo resolver un problema determinado.

En IA, esta experiencia se construye a través de un proceso llamado entrenamiento que básicamente presenta al modelo un enorme conjunto de datos de ejemplos. El tamaño y la calidad del conjunto de datos, afectan la capacidad del modelo para identificar patrones en los datos y, por lo tanto, para comprender el problema.

Los samplers son aquellos objetos encargados de recuperar los datos utilizados en el entrenamiento de los modelos.

Conozca más sobre los samplers 

Samplers

Un muestreador es un objeto que se utiliza para recuperar y preparar un conjunto de datos para el entrenamiento de un modelo.

Los samplers se gestionan en Administración > Inteligencia Artificial > Modelos > Samplers

Samplers
 

Puedes contar con diferentes tipos de samplers con diferentes configuraciones:

SamplerDescripciónAjustes
CSV

Lee el contenido de un archivo CSV extrayendo todas las filas como una matriz de cadenas. El formato esperado para cada recurso es el siguiente:

5.1,3.5,1.4,.2,"Setosa"
7,3.2,4.7,1.4,"Versicolor"
6.2,3.4,5.4,2.3,"Virginica"

Este ejemplo producirá tres filas de 5 elementos cada una:

5.1, 3.5, 1.4, .2, Setosa
7, 3.2, 4.7, 1.4, Versicolor
6.2, 3.4, 5.4, 2.3, Virginica
  • Delimitador: El carácter utilizado como delimitador de campo.
  • Cita: El carácter utilizado para encerrar el valor de un campo.
  • Documento: el documento CSV que contiene los datos.
Párrafo

Extrae párrafos, interpretados como bloques de texto separados por líneas en blanco. El formato esperado para cada recurso es el siguiente:

A colleague of mine told me that the document 12356897 contains very important information, so I want to get it. Understood, but are you registered as LogicalDOC's user? If you are a user, just access the interface and then execute a search by document id = 12356897.

Where can I locate a specific file? I was not able to find what I was looking for. Ok, just enter LogicalDOC and search for document with ID -96668429, it is very easy. Sure! Easy and quick, many thanks for your hint.

El ejemplo anterior producirá dos párrafos.

  • Documento: el documento CSV que contiene los datos.
MetadatosExtraer muestras de una lista de documentos. De forma predeterminada, los atributos de documento extendidos se consideran características, por lo que todos los documentos en la carpeta referenciada deben compartir el mismo esquema de atributos. Con la automatización, también puedes extraer cualquier dato de cada documento.
  • Carpeta: La carpeta que contiene los documentos que se van a procesar.
  • Categoría: El nombre del atributo extendido que contiene la categoría, opcional.
  • Características: una lista ordenada y separada por comas de nombres de atributos extendidos que se utilizan para almacenar valores de características.
  • Automatización: un script de automatización utilizado para extraer una muestra de un documento fuente, accesible a través de la clave de diccionario $document.
CadenaRecoge muestras extraídas de una colección de otros muestreadores.
  • Cadena: lista ordenada de samplers