Una matriz de documento-término es una matriz matemática que describe la frecuencia de los términos que aparecen en cada documento de una colección. En una matriz de documento-término, las filas corresponden a los documentos de la colección y las columnas a los términos. Esta matriz es una instancia específica de una matriz de documento-característica , donde las "características" pueden referirse a otras propiedades de un documento además de los términos. [1] También es común encontrar la matriz transpuesta, o matriz de término-documento , donde los documentos son las columnas y los términos son las filas. Son útiles en el campo del procesamiento del lenguaje natural y el análisis de texto computacional. [2]
Si bien el valor de las celdas es comúnmente el recuento bruto de un término determinado, existen varios esquemas para ponderar los recuentos brutos, como la normalización de filas (es decir, frecuencia relativa/proporciones) y tf-idf .
Los términos suelen ser palabras individuales separadas por espacios en blanco o signos de puntuación a ambos lados (también conocidos como unigramas). En este caso, también se denomina representación de "bolsa de palabras", ya que se conserva el número de palabras individuales, pero no el orden de las palabras en el documento.
Al crear un conjunto de datos de términos que aparecen en un corpus de documentos , la matriz de documentos y términos contiene filas correspondientes a los documentos y columnas correspondientes a los términos. Cada celda ij , entonces, es la cantidad de veces que aparece la palabra j en el documento i . Como tal, cada fila es un vector de recuentos de términos que representa el contenido del documento correspondiente a esa fila. Por ejemplo, si uno tiene los siguientes dos documentos (cortos):
entonces la matriz documento-término sería:
que muestra qué documentos contienen qué términos y cuántas veces aparecen. Tenga en cuenta que, a diferencia de representar un documento como una simple lista de recuento de tokens, la matriz de documento-término incluye todos los términos del corpus (es decir, el vocabulario del corpus), por lo que hay recuentos de cero para los términos del corpus que no aparecen también en un documento específico. Por este motivo, las matrices de documento-término suelen almacenarse en un formato de matriz dispersa.
Como resultado de la distribución de tokens en forma de ley de potencia en casi todos los corpus (ver la ley de Zipf ), es común ponderar los recuentos. Esto puede ser tan simple como dividir los recuentos por el número total de tokens en un documento (llamado frecuencia relativa o proporciones), dividir por la frecuencia máxima en cada documento (llamado prop max), o tomar el logaritmo de frecuencias (llamado log count). Si uno desea ponderar las palabras más exclusivas de un documento individual en comparación con el corpus en su conjunto, es común usar tf-idf , que divide la frecuencia del término por la frecuencia del documento del término.
La matriz de documentos y términos surgió en los primeros años de la informatización del texto. La creciente capacidad de almacenamiento de documentos creó el problema de recuperar un documento determinado de manera eficiente. Si bien antes el trabajo de clasificación e indexación se realizaba a mano, los investigadores exploraron la posibilidad de hacerlo automáticamente utilizando información sobre la frecuencia de las palabras.
Una de las primeras matrices de términos de documentos publicadas fue en el artículo de Harold Borko de 1962 "La construcción de un sistema de clasificación derivado matemáticamente con base empírica" (página 282, véase también su artículo de 1965 [3] ). Borko hace referencia a dos programas informáticos, "FEAT", que significaba "Frecuencia de cada término permitido", escrito por John C. Olney de la System Development Corporation y el Descriptor Word Index Program, escrito por Eileen Stone, también de la System Development Corporation:
Una vez seleccionados los documentos que formarían la biblioteca experimental, el siguiente paso consistió en introducir en el ordenador todo el texto para su procesamiento. El programa utilizado para este análisis fue FEAT (Frecuencia de cada término permitido). Fue escrito por John C. Olney, de la System Development Corporation, y está diseñado para realizar recuentos de frecuencia y resumen de palabras individuales y de pares de palabras. El resultado de este programa es una lista alfabética, por frecuencia de aparición, de todos los tipos de palabras que aparecieron en el texto. Ciertas palabras funcionales, como and, the, at, a, etc., se colocaron en una tabla de "lista de palabras prohibidas", y la frecuencia de estas palabras se registró en una lista separada... Se escribió un programa informático especial, llamado Descriptor Word Index Program, para proporcionar esta información y preparar una matriz de términos de documento en un formato adecuado para su introducción en el Factor Analysis Program. El programa Descriptor Word Index fue preparado por Eileen Stone, de la System Development Corporation. [4]
Poco después, Gerard Salton publicó en 1963 "Algunos modelos jerárquicos para la recuperación automática de documentos", que también incluía una representación visual de una matriz de términos y documentos. [5] Salton estaba en la Universidad de Harvard en ese momento y su trabajo contaba con el apoyo de los Laboratorios de Investigación de la Fuerza Aérea de Cambridge y Sylvania Electric Products, Inc. En este artículo, Salton presenta la matriz de términos y documentos comparándola con un tipo de matriz de términos y contextos que se utiliza para medir las similitudes entre palabras:
Si se desea generar asociaciones de documentos o grupos de documentos en lugar de asociaciones de palabras, se pueden utilizar los mismos procedimientos con ligeras modificaciones. En lugar de empezar con una matriz de palabras-oraciones C ,... ahora es conveniente construir una matriz de palabras-documentos F, que incluya la frecuencia de aparición de la palabra W i en el Documento D j ... Las similitudes entre documentos se pueden calcular ahora como antes comparando pares de filas y obteniendo coeficientes de similitud basados en la frecuencia de coocurrencias de las palabras de contenido incluidas en el documento dado. Este procedimiento produce una matriz de similitud de documentos-documentos que a su vez se puede utilizar para la generación de grupos de documentos... [5]
Además de Borko y Salton, en 1964, FW Lancaster publicó una revisión exhaustiva de la indexación y recuperación automáticas. Si bien el trabajo se publicó mientras trabajaba en Herner and Company en Washington DC, el artículo se escribió mientras estaba "empleado en un trabajo de investigación en Aslib, en el Proyecto Aslib Cranfield". [6] Lancaster atribuye a Borko la creación de la matriz de documentos y términos:
Harold Borko, de la System Development Corporation, ha llevado esta operación un poco más allá. Se elige un grupo significativo de palabras clave del vocabulario de una colección experimental. Se organizan en una matriz de documento/término para mostrar la frecuencia de aparición de cada término en cada documento... A continuación, se calcula un coeficiente de correlación para cada par de palabras, basándose en su coocurrencia en el conjunto de documentos. La matriz término/término resultante... se analiza factorialmente y se aíslan una serie de factores. Estos factores, cuando se interpretan y nombran sobre la base de los términos con cargas altas que aparecen en cada uno de los factores, se convierten en las clases de una clasificación empírica. Los términos con cargas altas en cada factor son las palabras clave o predictores de las categorías.
Un punto de vista sobre la matriz es que cada fila representa un documento. En el modelo semántico vectorial , que normalmente es el que se utiliza para calcular una matriz documento-término, el objetivo es representar el tema de un documento por la frecuencia de términos semánticamente significativos. Los términos son unidades semánticas de los documentos. A menudo se supone, para las lenguas indoeuropeas , que los sustantivos, verbos y adjetivos son las categorías más significativas , y que las palabras de esas categorías deben mantenerse como términos. Agregar la colocación como términos mejora la calidad de los vectores, especialmente al calcular similitudes entre documentos.
El análisis semántico latente (LSA, que realiza la descomposición de valores singulares en la matriz de términos y documentos) puede mejorar los resultados de búsqueda al desambiguar las palabras polisémicas y buscar sinónimos de la consulta. Sin embargo, la búsqueda en el espacio continuo de alta dimensión es mucho más lenta que la búsqueda en la estructura de datos trie estándar de los motores de búsqueda.
El análisis multivariado de la matriz de documentos y términos puede revelar temas del corpus. En concreto, se puede utilizar el análisis semántico latente y la agrupación de datos y, más recientemente, se ha comprobado que el análisis semántico latente probabilístico con su generalización Asignación de Dirichlet latente y factorización de matriz no negativa funcionan bien para esta tarea.