web content mining - information retrieval
TRANSCRIPT
WEB MININGRecuperación de InformaciónWeb Content MiningJuan Azcurra
Conceptos básicos
Recuperación de información2
Sistema de Recuperación de
Información (IR)3
Sistema de Recuperación de
Información (IR)4
Palabras clave
Las palabras clave (keywords) son átomoslinguisticos
Palabras
Partes de palabras (stems)
Frases
Se utilizan para caracterizar el contenido deun documento
Dos perspectivas:
Cómo son usadas (consultas de usuario)
Cómo se asocian a documentos
5
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
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
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
Modelos de IR
Un modelo de IR es una cuadrupla [D, Q, F, R (qi,dj)] donde:
D es un conjunto de representaciones de documentosen la colección.
Q es un conjunto de representaciones denecesidades de información de los usuarios oconsultas.
F es un marco de modelado de documentos,consultas y sus relaciones.
R (qi, dj) es una función de ranking que asocia unnúmero real con una consulta y un documento. Elranking define el orden en que el documento satisfacela consulta.
9
Modelo booleano
Basado en:
Teoría de conjuntos.
Algebra de Boole.
10
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
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
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
Modelo vectorial
Similaridad por coseno.
14
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
Modelo vectorial
Ejemplo de modelo vectorial utilizando el
método TF-IDF:
16
Modelo vectorial17
Modelo vectorial18
Dualidad entre términos y
documentos19
Dualidad entre términos y
documentos20
Un ejemplo de recuperación
El espacio de un documento está definido por 3té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
Un ejemplo de recuperación
(cont.)
Utilizando el método booleano:
Los documentos A4 y A7 (“AND”)
A1, A2, A4, A5, A6, A7, A8, A9 (“OR”)
Similaridad por coseno:
q=(1,1,0)
S(q, A1)=0.71, S(q, A2)=0.71, S(q,A3)=0
S(q, A4)=1, S(q, A5)=0.5, S(q, A6)=0.5
S(q, A7)=0.82, S(q, A8)=0.5, S(q,A9)=0.5
Documentos retornados (por ranking): {A4, A7, A1, A2, A5, A6, A8, A9}
22
Preprocesamiento de texto23
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
Extracción de palabras
Tokenización
Por expresiones regulares, caracteres, etc.
25
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
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
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
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
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
Frecuencia y TF-IDF31
Es posible combinar las definiciones de frecuencia deltérmino y la frecuencia inversa del documento paraproducir un peso compuesto por cada término encada documento.
El esquema de pesos TF-IDF asigna a un término unpeso 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
Frecuencia y TF-IDF32
Fórmula simplificada:
Ejemplo: Considerar un documento que contiene 100 palabras
y la palabra casa aparece 3 veces, la palabra másfrecuente en el documento aparece 10 veces.
Siguiendo las formulas anteriores, la frecuencianormalizada para casa es (3/10) = 0.3
Asumiendo que existen 50 mil documentos y casaaparece en 50, entonces la frecuencia inversa deldocumento es calculada como log (50000/ 50) = 3.
El peso TF-IDF es el producto de las cantidadesanteriores: 0.3 × 3 = 0.9
Frecuencia y TF-IDF33
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.
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
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
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
Web Crawling37
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
Algoritmo básico de crawler
Corresponde a un crawler secuencial.
Seeds puede sercualquier lista de URLs
El orden de visitasde las páginas esdeterminado por la estructura del frontier
El criterio de stop es cualquier
39
Recorrido
Bread first search (búsqueda poramplitud) Implementado con cola
(FIFO)
Busca páginas entre caminos cortos
Si comenzamos con páginas “buenas” esbuena opción
Depth first search (búsqueda porprofundidad) Implementado con pila
(LIFO)
“Alejarse” (perdido en el ciberespacio)
40
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 lafrontera?
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 evitarindeseables A través de la extensión de archivos, pero no muy
confiable
Comandos “HEAD HTTP” para obtener el tipo decontenido (MIME), genera solicitudes extras.
41
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
Parsing
HTML tiene unaestructura de árbolDOM.
HTML real esincorrecto desde el punto de vista de sintaxis estricto.
Herramientas quepueden ayudar(tidy.sourceforge.net)
Prestar atención a lasentidades HTML y unicode en el texto.
43
Páginas estáticas vs. dinámicas
Se debe evaluar si es valioso eliminar páginasdinámicas y utilizar solo estáticas.
Ejemplos
http://www.census.gov/cgi-bin/gazetteer
http://informatics.indiana.edu/research/colloquia.asp
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
URLs absolutas vs. relativas
Los crawlers deben traducir URLs relativas enabsolutas.
Es necesario obtener la URL Base desde elheader 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
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 transformartodas 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
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
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
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
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