web content mining - information retrieval

50
WEB MINING Recuperación de Información Web Content Mining Juan Azcurra

Upload: juan-azcurra

Post on 23-Jan-2018

116 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Web Content Mining - Information Retrieval

WEB MININGRecuperación de InformaciónWeb Content MiningJuan Azcurra

Page 2: Web Content Mining - Information Retrieval

Conceptos básicos

Recuperación de información2

Page 3: Web Content Mining - Information Retrieval

Sistema de Recuperación de

Información (IR)3

Page 4: Web Content Mining - Information Retrieval

Sistema de Recuperación de

Información (IR)4

Page 5: Web Content Mining - Information Retrieval

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

Page 6: Web Content Mining - Information Retrieval

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

Page 7: Web Content Mining - Information Retrieval

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

Page 8: Web Content Mining - Information Retrieval

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

Page 9: Web Content Mining - Information Retrieval

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

Page 10: Web Content Mining - Information Retrieval

Modelo booleano

Basado en:

Teoría de conjuntos.

Algebra de Boole.

10

Page 11: Web Content Mining - Information Retrieval

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

Page 12: Web Content Mining - Information Retrieval

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

Page 13: Web Content Mining - Information Retrieval

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

Page 14: Web Content Mining - Information Retrieval

Modelo vectorial

Similaridad por coseno.

14

Page 15: Web Content Mining - Information Retrieval

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

Page 16: Web Content Mining - Information Retrieval

Modelo vectorial

Ejemplo de modelo vectorial utilizando el

método TF-IDF:

16

Page 17: Web Content Mining - Information Retrieval

Modelo vectorial17

Page 18: Web Content Mining - Information Retrieval

Modelo vectorial18

Page 19: Web Content Mining - Information Retrieval

Dualidad entre términos y

documentos19

Page 20: Web Content Mining - Information Retrieval

Dualidad entre términos y

documentos20

Page 21: Web Content Mining - Information Retrieval

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

Page 22: Web Content Mining - Information Retrieval

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

Page 23: Web Content Mining - Information Retrieval

Preprocesamiento de texto23

Page 24: Web Content Mining - Information Retrieval

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

Page 25: Web Content Mining - Information Retrieval

Extracción de palabras

Tokenización

Por expresiones regulares, caracteres, etc.

25

Page 26: Web Content Mining - Information Retrieval

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

Page 27: Web Content Mining - Information Retrieval

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

Page 28: Web Content Mining - Information Retrieval

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

Page 29: Web Content Mining - Information Retrieval

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

Page 30: Web Content Mining - Information Retrieval

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

Page 31: Web Content Mining - Information Retrieval

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

Page 32: Web Content Mining - Information Retrieval

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

Page 33: Web Content Mining - Information Retrieval

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.

Page 34: Web Content Mining - Information Retrieval

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

Page 35: Web Content Mining - Information Retrieval

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

Page 36: Web Content Mining - Information Retrieval

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

Page 37: Web Content Mining - Information Retrieval

Web Crawling37

Page 38: Web Content Mining - Information Retrieval

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

Page 39: Web Content Mining - Information Retrieval

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

Page 40: Web Content Mining - Information Retrieval

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

Page 41: Web Content Mining - Information Retrieval

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

Page 42: Web Content Mining - Information Retrieval

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

Page 43: Web Content Mining - Information Retrieval

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

Page 44: Web Content Mining - Information Retrieval

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

Page 45: Web Content Mining - Information Retrieval

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

Page 46: Web Content Mining - Information Retrieval

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

Page 47: Web Content Mining - Information Retrieval

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

Page 48: Web Content Mining - Information Retrieval

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

Page 49: Web Content Mining - Information Retrieval

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

Page 50: Web Content Mining - Information Retrieval

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