9 conceptos clave para entender el Natural Language Processing
16 de Octubre de 2017
El procesamiento de lenguaje natural, más conocido como Natural Language Processing o NLP, permite la extracción automática de información expresada en lenguaje humano. Se utiliza en clasificación de textos, traducción automática, análisis de opiniones o chatbots, entre otras múltiples aplicaciones.
Al hablar de Natural Language Processing se combinan términos provenientes de la lingüística, la estadística y la computación. Esa variada terminología puede causar confusión cuando uno se aproxima por vez primera al NLP. Con esta lista de 9 conceptos clave pretendemos aclarar esa confusión, explicando de forma sencilla algunos de los términos que más se repiten cuando se habla de procesamiento de lenguaje natural.
En esta lista explicamos de forma sencilla algunos de los términos que más se repiten cuando se habla de procesamiento de lenguaje natural.
Named Entity Recognition (NER)
Es el proceso de identificar en un texto categorías predefinidas, tales como nombres de personas, lugares, cantidades monetarias, organizaciones…
Pensemos, por ejemplo, en una solución de Natural Language Processing que clasifique las actas de las reuniones de nuestra empresa. Antes de analizar otras cuestiones más complejas en esos documentos, el sistema debe identificar automáticamente los participantes o las fechas de celebración.
Lematización
Consiste en reconocer la raíz de una palabra y sus correspondientes formas flexionadas.
Por ejemplo, si queremos clasificar textos sobre limpieza, el sistema debe tener también en cuenta el verbo limpiar o el nombre plural limpiezas.
Parts-of-speech (POS) Tagging
Se denomina con este término el proceso de etiquetado gramatical. En concreto, el POS Tagging consiste en identificar a qué categoría (nombre, adjetivo, verbo…) pertenece cada palabra de un texto.
Los sistemas más avanzados tienen en cuenta que un mismo término puede cambiar de categoría gramatical en función de su contexto. La palabra dado, por ejemplo, puede ser funcionar como verbo (forma del verbo dar) o como nombre (pieza cúbica usada en los juegos de azar).
Palabras vacías
Las palabras vacías, en inglés conocidas como stop words, son aquellas que aportan menos significado. Entrarían en esta categoría, por ejemplo, los artículos, las preposiciones o los pronombres.
Si queremos clasificar automáticamente los documentos de nuestra empresa en función del departamento al que pertenecen, palabras como la, el o en se repiten continuamente sin ofrecer ninguna pista sobre el contenido del documento. Por esa razón, estas palabras vacías son las que primero se eliminan al procesar la información.
Bolsa de palabras
El método de bag of words, o modelo bow, se utiliza para representar el número de veces que se repite cada palabra en un texto. Este sistema ignora el orden o la categoría gramatical de los términos y se centra en su frecuencia.
Word Sense Disambiguation
Una misma palabra puede tener diferentes significados. El proceso de desambiguación, en inglés Word Sense Disambiguation o WSD, consiste en distinguir estos posibles significados e identificar cuál es correcto en un determinado contexto. A través del análisis de las relaciones semánticas entre términos, un sistema de NLP es capaz de distinguir si la palabra capital hace referencia a una ciudad a una suma de dinero.
Análisis de sentimiento
A través del análisis de sentimiento (o sentiment analysis) se identifica la información subjetiva de un texto. Se emplea normalmente para clasificar los textos en positivos, negativos o neutros.
El análisis de sentimiento es comumente aplicado en campos como el Marketing o Antención al cliente. Uno de sus usos más habituales es el de monitorizar las opiniones de los clientes expresadas en internet.
Latent semantic analysis (LSA)
Esta técnica consiste en identificar patrones en las relaciones de los conceptos contenidos en un documento.
Se basa en la premisa de que las palabras usadas en un mismo contexto tienden a tener significados similares y para su cálculo se utiliza la técnica matemática de descomposición de valores singulares (Singular Value Decomposition o SVD).
Modelo LDA (Latent Dirichlet Allocation)
Se basa en el principio de que cada texto es una mezcla de diferentes temas (o topics) y de que cada palabra es atribuible a unos de esos temas.
Se trata de un método generativo, en el cual los temas se infieren automáticamente a través del análisis de las palabras.