El documento trata sobre los conceptos básicos de recuperación de información en la Web, incluyendo palabras clave, indexado, diferentes modelos como el booleano y vectorial, preprocesamiento de texto, evaluación con precisión y recall, y crawling de páginas Web.
5. Palabras clave
Las palabras clave (keywords) son átomos
linguisticos
Palabras
Partes de palabras (stems)
Frases
Se utilizan para caracterizar el contenido de
un documento
Dos perspectivas:
Cómo son usadas (consultas de usuario)
Cómo se asocian a documentos
5
6. Indexado
El indexado es el proceso por el cual un
vocabulario de palabras clave es asignado a
todos los documentos de un corpus.
Relación de mapeo que asocia cada documento
(doc) con un conjunto de palabras clave (kw)
El mapeo inverso captura, para cada palabra
clave, el objeto que describe
6
7. Indexado
Vista lógica (o representación) del documento
Texto completo.
Conjunto de palabras clave (o categorias)
asignadas por un ser humano.
Conjunto de palabras clave extraidas
automaticamente.
7
8. Modelos de recuperación de
información
El problema de la IR es determinar si un
documento es relevante o no y ordenar
aquellos que sean relevantes de acuerdo a su
grado de relevancia (ranking).
Los distintos métodos utilizados en la
representación de documentos y en el
cálculo de la relevancia dan lugar a distintos
modelos de IR.
8
9. Modelos de IR
Un modelo de IR es una cuadrupla [D, Q, F, R (qi,
dj)] donde:
D es un conjunto de representaciones de documentos
en la colección.
Q es un conjunto de representaciones de
necesidades de información de los usuarios o
consultas.
F es un marco de modelado de documentos,
consultas y sus relaciones.
R (qi, dj) es una función de ranking que asocia un
número real con una consulta y un documento. El
ranking define el orden en que el documento satisface
la consulta.
9
11. Modelo booleano
Ventajas
El concepto de conjuntos es intuitivo.
Consulta basadas en expresiones booleanas,
cuya semántica es precisa.
Desventajas
Criterio de decisión binario, sin escala de
relevancia 𝑊𝑖𝑗 ∈ 0,1 .
No es natural para un usuario expresar una
consulta como una expresión booleana.
11
12. Modelo vectorial
Intenta superar las limitaciones generadas por
el uso de pesos binarios, asignando pesos no
binarios a los términos en los documentos.
Permite la relevancia parcial:
Computa el grado de similaridad entre
documentos y consultas de forma gradual, y no
absoluta.
Permite ordenar documentos de acuerdo al grado
de relevancia.
12
13. Modelo vectorial
Un documento d y una consulta
q se representan como
vectores en un espacio de n
dimensiones, siendo n el
número de términos indexados
en la colección de documentos.
La similaridad entre
documentos y consultas se
evaluan comparando los
vectores que los representan.
13
15. Modelo vectorial
Permite coincidencia parcial (partial matching).
Se establece un umbral de relevancia para
decidir cuando mostrar un documento como
relevante.
El problema de obtener relevancia se reduce a
asignar pesos a los distintos términos.
15
21. Un ejemplo de recuperación
El espacio de un documento está definido por 3
términos:
hardware, software, users
vocabulario
Un conjunto de documentos definidos:
A1=(1, 0, 0) A2=(0,1,0) A3=(0,0,1)
A4=(1,1,0) A5=(1,0,1) A6=(0,1,1)
A7=(1,1,1) A8=(1,0,1) A9=(0,1,1)
Si la consulta es “hardware y software”
Cuáles documentos deberían devolverse?
21
24. Pre-procesamiento
Extracción de palabras
Eliminación de palabras vacias (stopwords)
Stemming
Cálculo de frecuencias y cálculo de pesos de
TF-IDF por palabra
24
26. Eliminación de palabras vacias
Muchas de las palabras en el lenguaje son
poco útiles en IR y Text Mining, se las
denomina stopwords
la, el, y, a, …
Tipicamente 400 a 500 palabras (en inglés).
Para una aplicación, se deberá construir una lista
particular.
26
27. Eliminación de palabras vacias
Por qué es necesario eliminar estas palabras?
Reducir el proceso de indexado y tamaño de
datos.
Las stopwords son 20-30% del total de palabras.
Mejorar la eficiencia y efectividad
Las stopwords no son útiles en las búsquedas.
Podrían confundir a los sistemas de IR.
27
28. Stemming (lematización)
Técnicas utilizadas para encontrar la raíz/lema
de una palabra:
user engineering
users engineer
used engineered
stem: use engineer
28
29. Stemming (lematización)
Beneficios
Mejorar la efectividad de IR y text mining
Encontrando palabras similares
Mejoramiento de recall
Reducir el tamaño del indice
Combinando palabras que tienen la misma raíz se
reduce el tamaño del indice en un 40-50%
29
30. Frecuencia y TF-IDF
Contar la cantidad de veces que una palabra
aparece en el documento
Utilizar la frecuencia relativa para indicar la
importancia de la palabra en el documento
Si una palabra aparece muchas veces en un
documento, el documento “probablemente trata” de
temas relacionados con la palabra.
Contar el número de documentos en la
colección que contiene la palabra.
Es posible calcular TF-IDF.
30
31. Frecuencia y TF-IDF
31
Es posible combinar las definiciones de frecuencia del
término y la frecuencia inversa del documento para
producir un peso compuesto por cada término en
cada documento.
El esquema de pesos TF-IDF asigna a un término un
peso en el documento dado por:
Donde:
tc(t, d) es la frecuencia de t en d.
max {tc(w, d)} frecuencia normalizada del término w más frecuente en D.
|D| corresponde al número de documentos en el corpus.
{d E D : t E d} número de documentos donde aparece el término t
32. Frecuencia y TF-IDF
32
Fórmula simplificada:
Ejemplo:
Considerar un documento que contiene 100 palabras
y la palabra casa aparece 3 veces, la palabra más
frecuente en el documento aparece 10 veces.
Siguiendo las formulas anteriores, la frecuencia
normalizada para casa es (3/10) = 0.3
Asumiendo que existen 50 mil documentos y casa
aparece en 50, entonces la frecuencia inversa del
documento es calculada como log (50000/ 50) = 3.
El peso TF-IDF es el producto de las cantidades
anteriores: 0.3 × 3 = 0.9
33. Frecuencia y TF-IDF
33
En otras palabras, asigna a un término un
peso en el documento que es:
Mayor cuando aparece muchas veces dentro de
una cantidad pequeña de documentos (dando así
un poder mayor de discriminación a esos
documentos).
Menor cuando el término aparece pocas veces
en un documento, o en muchos documentos
(ofreciendo una señal de pertinencia menos
relevante).
Más bajo cuando el término aparece en todos los
documentos.
34. Evaluación: Precision y Recall
Dada una consulta:
Son todos los documentos relevantes?
Retornó todos los documentos relevantes?
Medidas de rendimiento:
La primera pregunta es acerca de la precisión de
la búsqueda.
La segunda pregunta es acerca de la cobertura /
completitud de la búsqueda.
34
35. Evaluación: Precision y recall
Quedan definidas las dos medidas:
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑅
𝑀
; documentos relevantes recuperados / total de documentos relevantes
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑅
𝑁
; documentos relevantes recuperados / total de documentos
recuperados
M NR
Document
os
relevantes
Documento
s
recuperado
s
35
36. LSA: Análisis de semántica
latente
Propuesto por Landauer y Dumais (1997)
Método para extraer y representar el uso
contextual de términos
Se basa en la coincidencia de conceptos en
lugar de coincidencia de términos.
36
38. Motivación
Páginas Web
Miles de caracteres
Accesibles utilizando el protocolo HTTP
Pueden ser vistas utilizando un browser
Crawler
Para “traer” (fetch) una página a una
computadora donde pueda ser analizada.
38
39. Algoritmo básico de crawler
Corresponde a un
crawler secuencial.
Seeds puede ser
cualquier lista de
URLs
El orden de visitas
de las páginas es
determinado por la
estructura del
frontier
El criterio de stop
es cualquier
39
40. Recorrido
Bread first search
(búsqueda por
amplitud)
Implementado con cola
(FIFO)
Busca páginas entre
caminos cortos
Si comenzamos con
páginas “buenas” es
buena opción
Depth first search
(búsqueda por
profundidad)
Implementado con pila
(LIFO)
40
41. Problemas de implementación
No recuperar 2 veces la misma página
Mantener una tabla de páginas visitadas
Qué pasa si no se ha visitado pero está en la
frontera?
La frontera crece velozmente
Debería priorizar para grandes crawls
La recuperación debe ser robusta
Mecanismo de time-out
Determinar tipos de archivos para evitar
indeseables
A través de la extensión de archivos, pero no muy
confiable
Comandos “HEAD HTTP” para obtener el tipo de
contenido (MIME), genera solicitudes extras.
41
42. Más problemas…
Fetching
Obtener primero 10-100 kb por página
Evitar loops
Tratamiento de timeout, server not responding,
file not found, etc.
42
43. Parsing
HTML tiene una
estructura de árbol
DOM.
HTML real es
incorrecto desde el
punto de vista de
sintaxis estricto.
Herramientas que
pueden ayudar
(tidy.sourceforge.net)
Prestar atención a las
entidades HTML y
unicode en el texto.
43
44. Páginas estáticas vs. dinámicas
Se debe evaluar si es valioso eliminar páginas
dinámicas y utilizar solo estáticas.
Ejemplos
http://www.census.gov/cgi-bin/gazetteer
http://informatics.indiana.edu/research/colloquia.a
sp
http://www.amazon.com/exec/obidos/subst/home/
home.html/002-8332429-6490452
http://www.imdb.com/Name?Menczer,+Erico
http://www.imdb.com/name/nm0578801/
Cómo funcionan los buscadores?
44
45. URLs absolutas vs. relativas
Los crawlers deben traducir URLs relativas en
absolutas.
Es necesario obtener la URL Base desde el
header o Meta Tag.
Ejemplos:
Base: http://www.cnn.com/linkto/
Relative URL: intl.html
Absolute URL: http://www.cnn.com/linkto/intl.html
Relative URL: /US/
Absolute URL: http://www.cnn.com/US/
45
46. Canonización de URL
Todas las siguientes:
http://www.cnn.com/TECH
http://WWW.CNN.COM/TECH/
http://www.cnn.com:80/TECH/
http://www.cnn.com/bogus/../TECH/
Son equivalentes a la forma canónica:
http://www.cnn.com/TECH/
Para evitar duplicación, el crawler debe transformar
todas las URLs a la forma canónica.
Definición de la forma canónica es arbitraria, ej.:
Debería siempre incluir el puerto.
O incluir el puerto cuando no es 80.
46
47. Exclusión de robots
Verificar si el servidor prohibe inspeccionar un
URL normalizado.
Archivo robots.txt
Directorio raíz.
Especifica la lista de prefijos
de caminos que el crawler no
debería alcanzar
47
48. Exclusión de robots: Ejemplos
Todos los agentes
Sin restrincciones
Todos los agentes
No pueden acceder
a estas rutas…
Estos agentes
No pueden acceder
a estas rutas y
demorar las
búsquedas
48
49. Algunos temas éticos
Es mandatorio cumplir con las exclusiones de
los robots?
No, no es obligatorio, pero no cumplir puede
implicar bloqueo.
Encubrimiento (cloaking):
Presentar diferente contenido dependiendo el
agente.
Los motores de búsquedas pueden excluir de los
indices los sitios que hacen abusos de spam.
49
50. Algunos crawlers
Open source
Jobo: http://www.matuschek.net/jobo-menu
Nutch: http://www.nutch.org
y más: http://java-source.net/open-source/crawlers
HTML Parsers:
Tidy: tidy.sourceforge.net
Jtidy: jtidy.sourceforge.net
Java Mozilla Html Parser:
http://mozillaparser.sourceforge.net
Browsers Headless:
Crowbar: http://simile.mit.edu/wiki/Crowbar
50