Tag: Clasificación automática de documentos

Gracias al Machine Learning es posible realizar tareas de clasificación sobre un conjunto de datos. En el caso de la clasificación automática de documentos se utilizan técnicas de Inteligencia Artificial sobre un conjunto de elementos para ordenarlos por clases o categorías. Sin embargo, también se pueden utilizar estas técnicas para asignar un documento a una determinada clase o categoría.

Para llevar a cabo la clasificación automática de documentos primero hay que realizar una extracción de features (características) destinadas a ser informativos y no redundantes. Esto facilitará los pasos posteriores de machine learning en la clasificación automática de documentos. La extracción de características (features) se trata de un proceso de reducción y codificación, donde un conjunto inicial de variables sin procesar (ej. texto en un documento) se reduce a características más manejables para su procesamiento (ej. números) y que se describa con precisión el conjunto de datos original.

Existen diversas técnicas de extracción de features.

Técnica clásicas:

  • Term frequency – Inverse document frequency (TF IDF). Se trata una técnica muy utilizada en Machine Learning. para otorgar la relevancia de una palabra en un documento de una colección a través de una medida numérica. Esta medida numérica se utiliza para calificar la relevancia de una palabra dentro de un documento a partir de la frecuencia que aparece en el mismo. La idea en la que se basa esta técnica es que si una palabra aparece frecuentemente en el documento, debe ser importante y se le debe dar una puntuación alta. Sin embargo, si una palabra aparece frecuentemente en otros documentos, probablemente no sea un identificador único, y por tanto, se le debe asignar una puntuación más baja. Aquí, puedes consultar la fórmula matemática.

Nuevas técnicas basadas en Deep Learning:

  • Doc2vec. El objetivo principal de Doc2Vec es asociar documentos arbitrarios con etiquetas. Doc2vec es una extensión de word2vec que aprende a correlacionar etiquetas y palabras, en lugar de palabras con otras palabras. El primer paso es crear un vector que represente el «significado» de un documento para que luego se pueda utilizar como entrada a un algoritmo de aprendizaje automático supervisado y así asociar documentos con etiquetas.

Tras la extracción de features y en base a la información previa que se posea de los documentos a clasificar o categorizar, se podrán realizar diversas técnicas para la clasificación automática de documentos:

  • Clasificación supervisada. Cuando tenemos conocimiento del conjunto de documentos previamente clasificados de forma manual, ésto nos servirán para entrenar al sistema inteligente en la clasificación automática.
  • Clasificación no supervisada o clustering de documentos. Cuando no tenemos información a priori del conjunto de documentos ni de las categorías en las que deben estar clasificados.

Cuáles son las técnicas de clasificación automática de documentos más usadas

Según el tipo de clasificación, existen:

  • Técnicas de aprendizaje supervisado para clasificaciones supervisadas. Estas técnicas intentan reducir una función que partiendo de la colección de documentos (clasificación manual), tomando un documento de entrada sea capaz de predecir la clase o categoría a la que corresponde ese documento. En otras palabras, estas técnicas de clasificación supervisadas parten de un conjunto de documentos ya clasificados de forma manual (conjunto de entrenamiento) y se intenta asignar una clasificación a un segundo conjunto de documentos. Dependiendo del tipo de colección de documento o tipo de documentos a clasificar, se utilizarán unas técnicas u otras, desde algoritmos de clasificación bayesianos, arboles de decisiones, redes neuronales, …
  • Algoritmos de clustering para clasificaciones no supervisadas. Cuando no se disponen de un conjunto de documentos previamente clasificados, se opta por, a partir de las propiedades de los documentos, agruparlos (clustering) según sus semejanzas entre sí.

¿Qué herramienta puedes utilizar para clasificar tus archivos de forma automática?

En ITELLIGENT, hemos desarrollado una plataforma basada en Inteligencia Artificial (IA) que permite automatizar tareas relacionadas con gestión y clasificación de documentos, contenidos multimedia y archivos con otros formatos poco estructurados. Gracias a técnicas de IA y Procesamiento de Lenguaje Natural, esta plataforma permite extraer e indexar datos además de descubrir conocimiento y detectar oportunidades.

Se trata de la plataforma netContent y dispone de un acceso para que el cliente pueda realizar diversas gestiones tales como gestionar las reglas a aplicar, habilitar accesosa otros usaurios, supervisar documentos o tener acceso a dashboards con métricas del sistema, según las necesidades de cada empresa.

NetContent-dashboard-2019

Además, permite volcar el resultado de la gestión documental en los sistemas de gestión que utilices, ya sa Sharepoint, Thinkproject, etc. En resumen, gracias a esta plataforma se puede hacer lo siguiente:

  • Clasificación automática de documentos
  • Indexación de audios  de vídeos y/o podcasts
  • Obtención de texto procedentes de documentos escaneados (OCR)
  • Obtención de tags de imágenes
  • Extracción de textos y metadatos de documentos en distintos formatos
  • Indexación avanzada de textos e imágenes
  • Descubridor de conocimiento
  • Detección de oportunidades

netContent se adapta a las necesidades de cada cliente y posee otras funcionales tales como:

  • Early Warning System, para la detección temprana de oportunidades a partir de bots de búsqueda de oportunidades potenciales y su evaluación  utilizando técnicas de Inteligencia Artificial
  • La gestión documental de estas oportunidades detectadas y su vuelco en el sistema de gestión documental del cliente, si hubiere
  • Asimismo, esta gestión documental servirá para re-alimentar los modelos de Inteligencia Artificial del Early Warning System

Del procesamiento conjunto de la ciencia computacional y la lingüística aplicada, nace el Procesamiento de Lenguaje Natural (PLN o NLP en inglés), cuyo objetivo no es otro que el de hacer posible la compresión y procesamiento asistidos por ordenador de información expresada en lenguaje humano, o lo que es lo mismo, hacer posible la comunicación entre personas y máquinas.

Existen distintos programas que exhiben diferente grado del procesamiento inteligente del lenguaje. Por ejemplo, un buscador de documentos puede buscar simplemente los documentos que contienen la cadena de caracteres especificada por el usuario, sin importar que dicha cadena tenga o no un significado en un lenguaje o idioma. En este caso no sería una aplicación del PLN. Sin embargo, el mismo buscador podría buscar los documentos que comuniquen la idea especificada por el usuario, sin importar las letras que la comunican, y en este caso, sin duda, sería una excelente aplicación de PLN, ya que entendería la idea comunicada en la petición del usuario, la idea comunicada en cada uno de los documentos, y sería capaz de compararlas.

Por este motivo, para profundizar más en esta temática, os exponemos algunas tareas y aplicaciones del Procesamiento del Lenguaje Natural:

1.Speech To Text / Text To Speech

Speech to text o STT se basa en la conversión de audio a texto y se trata de una tarea para poner en valor los audios, que una vez convertidos en textos, pueden ser procesados con otras técnicas de PLN. Una vez procesado es posible devolver un audio utilizando la conversión de texto a audio (Text To Speech o TTS). Ambas tareas, STT y TTS, han cobrado mucha relevancia con los sistemas conversacionales con un alto nivel de calidad, como pueden ser los sistemas de Siri, Alexa, OK Google, Cortana, etc.

PLN speech to text itelligent

2.Preguntas y Respuestas (Questioning and Answering, Q&A)

Q&A es la tarea de responder preguntas a partir de información obtenidas de distintos recursos. Es una tarea importante para los sistemas de diálogo como los chatbots y para la mejora de los sistemas de búsqueda (Information Retrieval). Los nuevos sistemas de Deep Learning están permitiendo una mejora sustancial en esta tarea. En un proyecto realizado por ITELLIGENT sobre Turismo Inteligente, se desarrolló un sistema de Questioning and Answering entrenado con comentarios sobre recursos turísticos de Andalucía (hoteles, restaurantes, playas, museos,…) y que permitía localizar recursos turísticos a partir de muchas preguntas variadas.

Antes, mencionamos los sistemas de Information Retrieval, estos sistemas de búsqueda  fueron uno de los primeros sistemas de Procesamiento de Lenguaje Natural que se adoptaron de forma generalizada. Hay dos pasos fundamentales en un buscador:

  • Generación Índice Invertido. El índice invertido permite guardar para cada palabra los documentos en los que aparece, de forma que la búsqueda de los documentos que contienen una palabra sea muy rápida.
  • Ranking de documentos. Una vez localizado todos los documentos que contienen las palabras que buscamos es necesario decidir en qué orden mostrarlos (orden de relevancia), aquí Google introdujo una innovación con su técnica denominada PageRank.

3.Traducción Automática

La traducción automática, permite traducir un texto de un idioma a otro. Esta tarea cobró un importante impulso gracias a los corpus de textos traducidos entre dos idiomas (denominados “corpus paralelos”), facilitados por el parlamento de la Unión Europea. Frente a los primeros sistemas de los años 50s, actualmente la traducción automática es una tarea de Procesamiento de Lenguaje Natural que ha conseguido un alto nivel de calidad. Ejemplo de ello, aplicaciones como  iTranslate Converse para iOS o Microsoft Translator App.

ios traducir app

 

4.Extracción de Información (Information Extraction)

La extracción de información es la obtención de conjunto predefinido de campos de un texto en formato libre. Se puede ver como la generación de una base de datos a partir de documentos poco estructurados. Por ejemplo, obtener distintos datos de un PDF de sobre inspecciones de soldadura, extraer: nombre soldador, características de la soldadura, etc.

5.Clasificación de Documentos: cómo funciona

La tarea de clasificación de documentos (document classification) consiste en entrenar un sistema para que sea capaz de aprender a clasificar textos a partir de un conjunto de textos ya clasificados. En la mayoría de los casos estos sistemas suelen funcionar bastante bien, consiguiéndose calidades de clasificación (ej. accuracy) superiores al 95%. En un post anterior, explicábamos cómo funciona un clasificador automático de documentos utilizando técnicas de PLN y Machine Learning sobre un conjunto de elementos para ordenarlos por clases o categorías.