This paper proposes an incremental method that can be used by an intelligent system to learn better descriptions of a thematic context. The method starts with a small number of terms selected from a simple description of the topic under analysis and uses this description as the initial search context. Using these terms, a set of queries are built and submitted to a search engine. New documents and terms are used to refine the learned vocabulary. Evaluations performed on a large number of topics indicate that the learned vocabulary is much more effective than the original one at the time of constructing queries to retrieve relevant material.
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Learning Better Context Characterizations: An Intelligent Information Retrieval Approach
1. Learning Better Context Characterizations: an Intelligent Information Retrieval Approach Carlos M Lorenzetti Ana G Maguitman [email_address] [email_address] Universidad Nacional del Sur Av. L.N. Alem 1253 Bahía Blanca - Argentina Grupo de Investigación en Recuperación de Información y Gestión del Conocimiento Laboratorio de Investigación y Desarrollo en Inteligencia Artificial CONICET AGENCIA
19. Topics Descriptors Topic: Java Virtual Machine Initial Context Term descriptive power in a topic of a document 0 jdk 0 jvm 0 province 0 island 0 coffee 3 programming 1 language 1 virtual 2 machine 4 java 0,014 0,032 0,040 0,040 0,055 0,064 0,089 0,124 0,158 0,385
20. Topics Discriminators Topic: Java Virtual Machine Initial Context Term discriminating power in a topic of a document 0 province 0 island 0 coffee 4 java 1 language 2 machine 3 programming 1 virtual 0 jdk 0 jvm 0,385 0,385 0,385 0,493 0,517 0,524 0,566 0,566 0,848 0,848
21. Proposed Algorithm Context w 1 w 2 w 3 w 4 w 5 w 6 w 7 w 8 w m-1 w m w m-2 w 9 . . . Roulette query 01 query 02 query 03 query n result 03 result 01 result 02 result n w 0,5 w 0,25 . . . w 0,1 1 2 m DESCRIPTORS DESCRIPTORS w 0,4 w 0,37 . . . w 0,01 1 2 m DISCRIMINATORS DISCRIMINATORS 1 2 4 3 Terms
22.
23.
24. Evaluation – Similarity Top/Computers/Open_Source/Software 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 120 140 160 180 iteration novelty-driven similarity [0.5866; 0.6073] 0.5970 best [0.0618; 0.0704] 0.0661 1 st 95% CI Mean N Maximum Average Minimum
25. Evaluation – Similarity Context update 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 120 140 160 180 iteration novelty-driven similarity [0.5866; 0.6073] 0.5970 best [0.0618; 0.0704] 0.0661 1 st 95% CI Mean N Maximum Average Minimum
26. Evaluation – Similarity Query formulation and retrieval process 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 120 140 160 180 iteration novelty-driven similarity [0.5866; 0.6073] 0.5970 best [0.0618; 0.0704] 0.0661 1 st 95% CI Mean N Maximum Average Minimum
30. Thank you! CONICET AGENCIA Laboratorio de Investigación y Desarrollo en Inteligencia Artificial lidia.cs.uns.edu.ar Universidad Nacional del Sur Bahía Blanca www.uns.edu.ar
Hinweis der Redaktion
Cuando realizamos una búsqueda, el éxito que obtenemos depende de la efectividad que tenga el método que utilizamos para identificar la información relevante , y por lo tanto, necesita descubrir qué tema nos interesa en ese momento. El primer problema que aparece es la AMBIGÜEDAD que tienen las palabras, como muestra este ejemplo. Si buscamos la palabra Java en un buscador obtendremos resultados que refieren al término dentro de distintos ámbitos.
Vemos la Isla de Java
y Java como lenguaje de programación .
Luego, cuando necesitemos información sobre algún término tendremos que enfrentarnos con este problema.
Por ejemplo si buscamos la palabra Java en Wikipedia, nos muestra 8 tópicos principales dentro de los cuales se puede usar la palabra.
Nosotros proponemos una base teórica para entender mejor el rol del CONTEXTO en la recuperación de información de la Web. Abordamos el problema de identificar los términos que son específicos al contexto que nos interesa, el hallazgo de fuentes de información relevantes y, la generación y refinación incremental de consultas que se envían a un buscador Web.
¿Cómo obtenemos este contexto, a partir del cual refinaremos las consultas? Existen muchas tareas que se realizan a través de una computadora que nos proveen de la suficiente información como para ayudar en la búsqueda dentro de la Web. Por ejemplo, cuando un usuario está editando un documento o leyendo un diario puede estar interesado en conocer más del tema. Entonces podemos incluir un recomendador que monitoree las actividades del usuario y en el momento en que este le solicita información (directamente o de forma automática), le devuelve documentos relevantes. Al capturar el contexto de este manera lo que obtenemos es un conjunto de palabras que deberán generalizarse a la noción de tópico o, tema de interés, y de esta forma podremos realizar la desambiguación de los términos que pertenezcan a más de un tópico.
La medida que se utiliza mas comunmente para cuantificar la importancia de un término es TF-IDF, que consta de dos partes, la primera, le dá más importancia a las palabras que aparecen con mucha frecuencia en un documento y el segundo compensa el resultado final quitándoles peso a aquellos términos que son frecuentes en todos los documentos del corpus. El principal problema que se presenta al tratar de aplicar este método a un dominio como el de la Web es que es imposible que conocamos la totalidad de los documentos. Por lo tanto, proponemos
Un método incremental basado en la noción de descriptores y discriminadores . Un descriptor es un término que aparece frecuentemente en documentos del mismo tópico y responde a la pregunta: ¿sobre qué trata este tema? Un discriminador es aquel que aparece solo en documentos del tópico. Y responde a la pregunta: ¿qué palabras utilizo para encontrar información similar?
Ahora vamos a mostrar un ejemplo simple en que se pueda apreciar el potencial de estos términos.
Por ejemplo, si tomamos el tópico: máquina virtual de java, podríamos tener en nuestro contexto las siguientes palabras:
Entonces, intuitivamente y de acuerdo a la definición que dimos, podemos decir que buenos descriptores serían palabras como java, máquina y virtual y,
buenos discriminadores serían: jvm y jdk
Ahora veamos cómo calculamos estos pesos con el método incremental a través de un ejemplo. Vemos aquí, un documento (representado en la primer columna) sobre el tópico que tomamos como contexto inicial y un conjunto de páginas que representan los resultados que un motor de búsqueda podría devolvernos a partir de él. Definimos una matriz H que en cada celda nos indica la cantidad de ocurrencias de un término en un documento. En ella tenemos 4 documentos, dos tratando sobre Java y Café y dos sobre Java como lenguaje.
Definimos el poder descriptivo de un término en un documento (como dijimos tomamos un documento del tópico Máquina virtual de java) con esta expresión y esos serían los valores que obtendríamos en el ejemplo. Vemos que los términos que no existen en el contexto inicial, obtienen un valor nulo.
También el poder discriminante de un término en un documento con esta otra expresión y vemos los resultados . Nuestro objetivo es aprender qué necesita el usuario, entonces en lugar de extraer los descriptores y discriminadores de un documento (el contexto del usuario) buscamos encontrar los descriptores y discriminadores del TÓPICO del contexto del usuario. Esto necesita un método incremental que identifique los documentos que son similares con el contexto del usuario. Por esto necesitamos:
El criterio de comparación entre documentos, y el que utilizamos se conoce como Similitud por Coseno. Los documentos pueden verse como conjuntos de palabras, entonces podemos crear un espacio de términos en donde cada documento sea un vector dentro de ese espacio. Luego podremos definir y calcular la similaridad entre dos documentos como el coseno del ángulo que forman los vectores en este espacio. Esta medida puede calcularse a partir de las ecuaciones que presentamos anteriormente. La similaridad por coseno es muy útil ya que con ella definimos la noción de tópico. Un tópico agrupa a aquellos documentos que tiene una similaridad por coseno muy alta.
Utilizando las nociones de descriptores y discriminadores de un documento y el criterio de comparación mencionado podemos definir la noción de poder descriptivo de un término en el tópico de un documento a través de esta ecuación. Vemos que ,como habíamos mencionado, java y máquina son buenos descriptores del tópico que estamos analizando.
También definimos la noción de discriminador de un término en el tópico de un documento a través de esta ecuación y observamos algo muy notable y es que términos como jvm y jdk que no pertenecían al documento inicial resultan ser muy buenos discriminadores del tópico, como habíamos dicho. Los métodos incrementales son muy útiles en los casos en los que contamos con muchas fuentes de información ya que la identificación incremental de los términos, quizás desconocidos de un tópico ayuda a encontrar material relevante dentro de grandes colecciones de documentos.
El algoritmo incremental que mostraremos utiliza las nociones de descriptores y discriminadores, por lo que las consultas las generará a partir de dos listas que nos indican el poder que tiene cada término como descriptor y como discriminador en el tópico del contexto del usuario. El algoritmo trabaja de la siguiente manera: tenemos el contexto del usuario, capturado como dijimos. A partir de él, tenemos un conjunto de términos que serán el punto de partida. Con estos términos generamos el primer conjunto de consultas que se enviarán a un motor de búsqueda. Con estos resultados vamos calculando los pesos que tienen los términos en ambas listas. El Paso 2 es iterativo de forma de contar con suficiente información sobre los términos y su relación con el contexto. Por último, luego de que el algoritmo evolucionó lo suficiente, se actualiza el contexto del usuario con el conocimiento adquirido y el proceso vuelve a comenzar hasta que se alcanza cierto criterio de convergencia.
Con esto terminamos la parte teórica, ahora mostraremos la implementación de un sistema que hace uso de los conceptos definidos
Para realizar la evaluación construímos un Índice local a partir de las páginas de algunos tópicos del directorio DMOZ. El índice se realizó a partir de todos los tópicos que cumplieron con algunas restricciones que se impusieron para asegurar la calidad del conjunto de prueba. Esa restricciones fueron: Páginas en lenguaje inglés Tópicos del 3er nivel de la jerarquía y todos sus subtópicos. Cada tópico tenía que tener al menos 100 páginas. Explicar precision, recall y documento relevante. Similitud entre los documentos recuperados y el contexto del usuario. Precisión de los resultados, que es la cantidad de documentos relevantes recuperados vs la totalidad de los recuperados Recall, que es la cantidad de documentos relevantes recuperados vs la cantidad de documentos relevantes que había en el corpus. Tomamos como contexto inicial la descripción que tiene DMOZ para cada tópico y consideramos que un documento era relevante si pertenecía al tópico o a un subtópico del contexto.
Lo que vemos es un gráfico que nos muestra la evolución de la Similitud de los resultados obtenidos a través de las iteraciones para un tópico que mostramos como ejemplo del comportamiento del algoritmo propuesto.
Podemos apreciar la evolución del algoritmo. Cada salto que se ve, es el momento en que se actualizó el contexto y es en donde se pueden apreciar las mejoras más significativas.
Las partes más planas son aquellas iteraciones en las que el algoritmo está formulando las consultas y recuperando los resultados. Podemos ver que nuestro algoritmos es significativamente mejor que el que tomamos como baseline y el cual genera consultas tomando términos del contexto del usuario.
En este caso vemos un gráfico de la precisión alcanzada por el algoritmo propuesto para TODOS los tópicos analizados, comparados con un algoritmo que tomamos como baseline y que genera las consultas tomando términos del contexto del usuario. Vemos que nuestro algoritmo mejora notablemente los resultados. Los puntos azules son tópicos en los que se observaron mejoras y los puntos rojos son aquellos tópicos en los que no se observan mejoras.
Finalmente vemos el Recall y también vemos mejoras.