En el procesamiento del lenguaje natural y la recuperación de información , el análisis semántico explícito ( ESA ) es una representación vectorial de texto (palabras individuales o documentos completos) que utiliza un corpus de documentos como base de conocimiento . Específicamente, en ESA, una palabra se representa como un vector de columna en la matriz tf-idf del corpus de texto y un documento (cadena de palabras) se representa como el centroide de los vectores que representan sus palabras. Por lo general, el corpus de texto es Wikipedia en inglés , aunque se han utilizado otros corpus, incluido el Open Directory Project . [1]
El ESA fue diseñado por Evgeniy Gabrilovich y Shaul Markovitch como un medio para mejorar la categorización de textos [2] y ha sido utilizado por este par de investigadores para calcular lo que ellos denominan " relación semántica " por medio de la similitud de cosenos entre los vectores antes mencionados, interpretados colectivamente como un espacio de "conceptos explícitamente definidos y descritos por humanos", donde los artículos de Wikipedia (o entradas de ODP, o de otro modo títulos de documentos en el corpus de la base de conocimiento) se equiparan con conceptos. El nombre "análisis semántico explícito" contrasta con el análisis semántico latente (LSA), porque el uso de una base de conocimiento permite asignar etiquetas legibles por humanos a los conceptos que componen el espacio vectorial. [1] [3]
Para realizar la variante básica de ESA, se parte de una colección de textos, por ejemplo, todos los artículos de Wikipedia; supongamos que el número de documentos en la colección es N. Todos estos se convierten en " bolsas de palabras ", es decir, histogramas de frecuencia de términos, almacenados en un índice invertido . Usando este índice invertido, se puede encontrar para cualquier palabra el conjunto de artículos de Wikipedia que contienen esa palabra; en el vocabulario de Egozi, Markovitch y Gabrilovitch, "cada palabra que aparece en el corpus de Wikipedia puede verse como el desencadenante de cada uno de los conceptos a los que apunta en el índice invertido". [1]
El resultado del índice invertido para una consulta de una sola palabra es una lista de documentos indexados (artículos de Wikipedia), a cada uno de los cuales se le asigna una puntuación según la frecuencia con la que aparece la palabra en cuestión en ellos (ponderada por el número total de palabras del documento). Matemáticamente, esta lista es un vector N -dimensional de puntuaciones de documentos de palabras, donde un documento que no contiene la palabra de consulta tiene una puntuación de cero. Para calcular la relación de dos palabras, se comparan los vectores (por ejemplo, u y v ) calculando la similitud del coseno,
y esto proporciona una estimación numérica de la relación semántica de las palabras. El esquema se extiende desde palabras individuales a textos de múltiples palabras simplemente sumando los vectores de todas las palabras del texto. [3]
La ESA, como la postularon originalmente Gabrilovich y Markovitch, opera bajo el supuesto de que la base de conocimiento contiene conceptos tópicamente ortogonales . Sin embargo, Anderka y Stein demostraron posteriormente que la ESA también mejora el rendimiento de los sistemas de recuperación de información cuando no se basa en Wikipedia, sino en el corpus de artículos de noticias de Reuters , que no satisface la propiedad de ortogonalidad; en sus experimentos, Anderka y Stein utilizaron historias de noticias como "conceptos". [4] Para explicar esta observación, se han demostrado vínculos entre la ESA y el modelo de espacio vectorial generalizado . [5] Gabrilovich y Markovitch respondieron a Anderka y Stein señalando que su resultado experimental se logró utilizando "una única aplicación de la ESA (similitud de texto)" y "solo una única colección de prueba extremadamente pequeña y homogénea de 50 documentos de noticias". [1]
Los autores consideran que la ESA es una medida de relación semántica (en contraposición a la similitud semántica ). En los conjuntos de datos utilizados para evaluar la relación de las palabras, la ESA supera a otros algoritmos, incluidas las medidas de similitud semántica de WordNet y el modelo de lenguaje de red neuronal de salto de gramática ( Word2vec ). [6]
La ESA se utiliza en paquetes de software comerciales para calcular la relación entre documentos. [7] A veces se utilizan restricciones específicas del dominio en el modelo ESA para proporcionar una correspondencia de documentos más sólida. [8]
El análisis semántico explícito entre idiomas (CL-ESA) es una generalización multilingüe del ESA. [9] El CL-ESA aprovecha una colección de referencias multilingües alineada con documentos (por ejemplo, Wikipedia) para representar un documento como un vector de conceptos independiente del idioma. La relación entre dos documentos en idiomas diferentes se evalúa mediante la similitud de cosenos entre las representaciones vectoriales correspondientes.