Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... •...

23
03/04/2014 1 Representación de Documentos y Cálculo de Similaridad Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas Conceptos: Stoplisting y Stemming Cuando se realiza el parsing de una pagina Web para extraer las nuevas URL De la pagina, es de gran ayuda el remover palabras comúnmente utilizadas en el lenguaje, estas palabras se les conoce como palabras de paro (stopwords) . Por ejemplo en el lenguaje ingles se encuentran las palabras "it"y "can". Este proceso de remover stopwordsdel texto es llamado stoplisting. El sistema Dialog1 reconoce no mas de diez palabras ("an", "and", "by", "for", "from", "of", "the", "to" y "with") como stopwords. El proceso llamado stemming normaliza las palabras combinando una serie de palabras morfológicamente similares por una simple tomando su raíz. Por ejemplo "connect", "connected" y "connection" son reducidas a "connect". 2

Transcript of Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... •...

Page 1: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

1

Representación de Documentosy

Cálculo de Similaridad

Laboratorio de Tecnologías de InformaciónCINVESTAV - Tamaulipas

Conceptos: Stoplisting y Stemming

• Cuando se realiza el parsing de una pagina Web para extraer las nuevas URL

• De la pagina, es de gran ayuda el remover palabras comúnmente utilizadas en el lenguaje, estas palabras se les conoce como palabras de paro (stopwords) . – Por ejemplo en el lenguaje ingles se encuentran las palabras "it" y

"can". – Este proceso de remover stopwords del texto es llamado stoplisting.– El sistema Dialog1 reconoce no mas de diez palabras ("an", "and", "by",

"for", "from", "of", "the", "to" y "with") como stopwords.

• El proceso llamado stemming normaliza las palabras combinando una serie de palabras morfológicamente similares por una simple tomando su raíz. – Por ejemplo "connect", "connected" y "connection" son reducidas a

"connect".

2

Page 2: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

2

Cobertura

• La cobertura (recall) es la fracción de paginas relevantes que son descargadas del total de paginas relevantes que se encuentran disponibles en la web de ese tema.

3

Web∪ �� ��

33 docrelevantes

31 docdescargados

8 doc

Cobertura =

Cobertura = = 0.242

�� ∩�� ��

8 33

• Un conjunto de documentos respuesta (documentos descargados) �� ⊆ �

• Un conjunto de documentos relevantes ��seleccionados manualmente de la colección completa de documentos ��⊆ ��

Medidas para la cobertura

• El calculo de la cobertura para la Web es difcil, algunos autores como Pant de manera indirecta proporcionan algunos indicadores para estimar la cobertura

• Objetivo de cobertura. Un conjunto de URL relevantes previamente conocidas son divididas en dos conjuntos separados el conjunto objetivo (sets-targets) y el conjunto semillas. El crawler es iniciado con las paginas semillas y la cobertura del objetivo es calculada. La precisión del conjunto objetivo es usada como una estimación de la precisión de las paginas relevantes.

4

Page 3: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

3

Similaridad

• Un crawler dirigido por tema debe de mantenerse cerca del tema que se esta evaluando, para lograr esto se utilizan algunas medidas de similaridad:

– Modelo Espacio Vectorial

– Similaridad del coseno

– Similaridad de Jackard

5

Robustez

• Las semillas URL son divididas en dos conjuntos deparados.

• Cada conjunto es usado para inicializar una instancia del mismo crawler.

• El traslape en las paginas descargadas empezando desde los dos conjuntos separados es medida.

• Un gran traslape es interpretado como robustez del crawler en la cobertura de una porción relevante de la web.

• Esta robustez es independiente de la importancia de las paginas.

6

Page 4: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

4

Recuperación de Información

• Information Retrieval – IR

– La ciencia de búsqueda para documentos, para información dentro de los documentos, y para metadatos acerca de los documentos, así como también para búsquedas en bases de datos relacionales y en WWW

– Ejemplos: Google, Yahoo

– Técnica de búsqueda en documentos palabras clave (keywords)

7

Recuperación de Información

• El primer paso de un sistema de IR es traer los documentos de la Web mediante un crawler

• Después de que el crawler trae los documentos y les aplica algunas etapas de preprocesanmiento(remover etiquetas, stopwords, stemming, etc)

• La colección de palabras que restan del documento después del preprocesamientopueden ser consideradas como una representación formal del documento.

• Se le denominan términos (terms) a la colección las palabras resultantes.

8

Page 5: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

5

Representación de Documentos

• La forma más simple de usar un término como una característica en la representación de un documento es verificar si el término aparece o no en el documento.

• Así el término es considerado como un Atributo Booleano, a esta representación se le denomina Booleana

9

Representación Booleana

• Una forma de implementar esta representación es utilizar un "índice invertido"

• La idea de este método es simple. Utilizar los términos que aparecen en el documento como llaves de acceso.

• La forma más simple de un índice invertido es una matriz de términos-documentos.

• Esta matriz contiene en cada celda valores booleanos.

• Un valor de 1 indica que el término aparece en el documento y un valor de 0 lo contrario.

10

Page 6: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

6

Representación Booleana

• Por ejemplo, si tuviéramos los siguientes documentos:

• D1: el río Danubio pasa por Viena, su color es azul

• D2: el caudal de un río asciende en Invierno

• D3: el río Rhin y el río Danubio tienen mucho caudal

• D4: si un río es navegable, es porque tiene mucho caudal

11

Tabla 1 Matriz Booleana de términos de documentos

• Suponiendo que se realizo el stemming

• Y que se eliminaron los verbos y las preposiciones ("el", "pasa", "por", etc. ), presentes en los distintos documentos.

• Nota: Se ignoraron algunas palabras para este ejemplo por el bien de la presentaciónConsultas:

1. Dame los documentos que contienen la palabra rio2. Dame los documentos que contienen las palabras viena, danubio y rhin3. Dame los documentos que tienen las palabras rio y danubio consecutivas

rio danubio viena color azul caudal invierno rhin navegable

D1 1 1 1 1 1 0 0 0 0

D2 1 0 0 0 0 1 1 0 0

D3 1 1 0 0 0 1 0 1 0

D4 1 0 0 0 0 1 0 0 1

Representación Booleana• Para poder resolver la consulta no. 3 es necesario incluir la

posición de la palabra en el documento • De tal forma que la consulta 3 (Dame los documentos que

tienen las palabras rio y danubio consecutivas)• Regresaría los documentos D1 y D3, en el cual tenemos juntas

las palabras rio y danubio en las posiciones 1,2 y 3,4 respectivamente

• Esta representación si bien es sencilla de implementar, tiene dos problemas asociados:– La eficiencia al crear la estructura para implementar el índice– La eficiencia al actualizar el índice

12

Tabla 2 Matriz de términos-documentos con la posición de los términos

rio danubio viena color azul caudal invierno rhin navegable

D1 1 2 3 4 5 0 0 0 0

D2 2 0 0 0 0 1 3 0 0

D3 1,3 4 0 0 0 5 0 2 0

D4 1 0 0 0 0 3 0 0 2

Page 7: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

7

Modelo Espacio Vectorial

• Otra forma de representar los documentos es utilizar el modelo espacio vectorial propuesto por Salton.

• Este modelo permite representar los documentos con una estructura para poder realizar tareas de filtrado, recuperación, indexación y calcular aquellas características o términos que aparecen en un documento llamados parámetros ( features, attributeso variables en diferentes contextos).

• Seleccionar estos parámetros es el proceso de mapear los datos originales a una manera mas efectiva

13

Modelo Espacio Vectorial

• Existen 3 formas básicas para esta representación:

– Booleana

– Frecuencia de Términos (TF)

– Frecuencia de Términos – Frecuencia Inversa del documento (TF-IDF)

14

Page 8: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

8

Modelo Espacio Vectorial

• Por ejemplo, si asumimos que tenemos ndocumentos d1, d2,…dn, y m términos t1, t2,…tm.

• Denotamos nij como el número de veces que un término ti aparece en el documento dj.

• En una representación booleana, el documento dj, es representado como un

vector:� � � �� � …� �� donde:

15

Modelo Espacio Vectorial

• � � ��0���� � 01���� � 1• Por ejemplo, en si tuviéramos los términos de la tabla

2: rio, danubio, viena, color, azul, caudal, invierno, rhiny navegable

• El documento D4 que contiene las palabras rio, caudal y navegable es representado con el vector booleano:– d6� 100001001�

• Esta representación es simple, pero no soporta ranking de documentos.

16

Page 9: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

9

Modelo Espacio Vectorial

• En el enfoque Frecuencia de Términos(TF), las

coordenadas del vector del documento dj es

representado como una función de conteo de

términos, usualmente normalizada con la

longitud del documento.

• Para cada término ti y y cada documento dj , la

medida TF(ti,dj) es calculada.

17

Modelo Espacio Vectorial

• Si tomamos en cuenta el número de veces que aparecen las palabras en el documento, para un conteo de términos, podemos obtener:

18

Tabla 3 Matriz de frecuencia de términos de documentos

rio danubio viena color azul caudal invierno rhin navegable

D1 1 1 1 1 1 0 0 0 0

D2 1 0 0 0 0 1 1 0 0

D3 2 1 0 0 0 1 0 1 0

D4 1 0 0 0 0 1 0 0 1

Page 10: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

10

Modelo Espacio Vectorial

• Otros autores sugieren la normalización de la frecuencia de aparición

• Usando la suma del conteo de términos sobre todos los términos en el documento:

• �� �� , � � �0���� � 0� !∑ �#!$#%& ���� ' 1• Usando el máximo del conteo de términos sobre todos los

términos en el documento

• �� �� , � � �0���� � 0� !�()#�#! ���� ' 119

Modelo Espacio Vectorial

• Por ejemplo, usando la suma del conteo de términos sobre todos los términos en el documento:

• D1: rio danubio viena color azul = 5 terminos• La palabra rio aparece 1 vez en 5 términos: 1/5 =

0.2

20

rio danubio viena color azul caudal invierno rhin navegable

D1 0.2 0.2 0.2 0.2 0.2 0 0 0 0

D2 0.33 0 0 0 0 0.33 0.33 0 0

D3 0.4 0.2 0 0 0 0.2 0 0.2 0

D4 0.33 0 0 0 0 0.33 0 0 0.33

Tabla 3 Matriz de frecuencia de términos de documentos normalizada

Page 11: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

11

Modelo Espacio Vectorial

• La idea básica de la frecuencia inversa del documento (IDF) es reducir las coordenadas para algunos ejes correspondientes a los términos que aparecen en el documento.

• Por cada término �� la medida IDF es calculada en proporción a los documentos donde

aparece �� con respecto al número total de documentos.

21

Modelo Espacio Vectorial

• Sea � � ⋃ �� � la colección de documentos y D�� el conjunto de documentos donde aparece el término ��

• Esto es: �+� � � ,�� ' 0• Por ejemplo:

– Dj = {D1, D2, D3, D4}– �� = caudal – �+� � �2, �4

• Así Como TF, IDF también se puede calcular de varias formas:

– Tomando una simple fracción / /0

– Utilizando la función log: 1�� �� � log10 5� donde:

– N es el número de documentos de la colección– �� es la cantidad de documentos donde aparece el término ��

22

Page 12: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

12

Modelo Espacio Vectorial

• En la representación TF-IDF cada coordenada en el vector del documento es calculado como el producto de los sus componentes TF e IDF

• � � � �� �� , � 61����)• El valor d, representa el peso de un término para

el conjunto de documentos• Así, el peso de un término en un documento

aumenta si este aparece más a menudo en un documento y disminuye si aparece más a menudo en todos los demás documentos.

23

Modelo Espacio Vectorial• Idf (rio) = Log (4/4) = log (1) = 0 (en 4 documentos rio aparece 4 veces)• Idf (danubio) = Log (4/2) = log(2) = 0.301 (en 4 documentos danubio aparece 2)• Idf (viena) = Log (4/1) = log(4) = 0.602• Idf (color) = Log (4/1) = log(4) = 0.602• Idf (azul) = Log (4/1) = log(4) = 0.602• Idf (caudal) = Log (4/3) = log(1.33) = 0.124• Idf (invierno) = Log (4/1) = log(4) = 0.602• Idf (rhin) = Log (4/1) = log(4) = 0.602• Idf (navegable) = Log (4/1) = log(4) = 0.602

Multiplicando los factores ifd por los valores tf de la tabla anterior se obtiene por ejemplo:

• � � � �� �� , � 61����) = D1 TF(danubio,D1) x IDF(danubio) = 0.2 * 0.301 = 0.0602

24

rio danubio Viena color azul caudal invierno rhin navegable

D1 0 0.0602 0.1204 0.1204 0.1204 0 0 0 0

D2 0 0 0 0 0 0.04122 0.19867 0 0

D3 0 0.0602 0 0 0 0.02498 0 0.1204 0

D4 0 0 0 0 0 0.04122 0 0 0.19867

Tabla 3 Matriz de términos TF-IDF normalizada

Page 13: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

13

Modelo Espacio Vectorial

• El modelo espacio vectorial es muy utilizado para representar documentos con el fin de utilizar una función de similaridad

• Algunas de las funciones que utilizan la representación espacio vectorial son:

– Similaridad del coseno

– Similaridad de Jaccard

25

Similaridad del Coseno

• La similaridad del coseno es una medida que se utiliza para saber que tan cercanos se encuentran los documentos que obtiene un sistema de IR con los términos que estamos buscando.

• En esta medida, las consultas y documentos son representados por vectores TF-IDF y la medida de similaridad es calculada usando las propiedades de las métricas del modelo espacio vectorial.

26

Page 14: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

14

Similaridad del Coseno

• Cuando los vectores se encuentran normalizados, esta medida es equivalente al producto punto de dos vectores, definido por:

• El objetivo es calcular la similitud entre la pregunta (que se convertiría en el vector pregunta, expresado en función de la aparición de los n términos en la expresión de búsqueda) y los m vectores de documentos almacenados.

• Los más similares serían aquellos que deberían colocarse en los primeros lugares de la respuesta.

• ¿Cómo se calcula esta similitud? Disponemos de varias fórmulas que nos permiten realizar este cálculo, la más conocida es la Función del Coseno, que equivale a calcular el producto escalar de dos vectores de documentos (A y B) y dividirlo por la raíz cuadrada de la sumatoria de los componentes del vector A multiplicada por la raíz cuadrada del sumatorio de los componentes del vector B.

27

Similaridad del Coseno

• De tal forma que si el coseno es igual a 0, significa que los vectores son totalmente diferentes, y en caso de que sea igual a 1, son completamente iguales.

• Una formula que se puede utilizar para el calculo de la similaridad del coseno es:

• ��7�89:��; � cos>� � ?⋅A? A

• B�7 C, D � ∑ ? )A �E %&∑ ? FE %& ) ∑ A FE %&

• Donde A y B son los vectores a los que se desea calcular la similaridad, y n es el número de elementos del vector

28

Page 15: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

15

Similaridad del Coseno

• Por ejemplo si realizamos la consulta:• Dame los documentos que contienen las palabras viena, danubio y

rhin.• En este caso, tenemos un vector

– q=(0,1(danubio),1(viena),0,0,0,0,1(rhin),0)

• El vector TF, normalizado tomando los 3 términos del documento es:– q = (0,0.33,0.33,0,0,0,0,0.33,0)

• Escalando el vector q, con IDF, obtenemos: – Idf (danubio) = 0.301 (en 4 documentos danubio aparece 2)– Idf (viena) = = 0.602– Idf (rhin) = 0.602– q= (0,0.1003,0.2006,0,0,0,0,0.2006,0)

29

Similaridad del Coseno

• Calculando el producto punto entre el vector q y el vector del documento D1

30

Q D1 Q ° D1 Q² D1²

0.0000 0 0 x 0 0 x 0 0 x 0

0.1003 0.060206 0.1003 x 0.60602 0.1003 x 0.1003 0.06026 x 0.06026

0.2007 0.120412 0.2007 x 0.120412 0.2007 x 0.2007 0.120412 x 0.120412

0.0000 0.120412 0 x 0.120412 0 x 0 0.120412 x 0.120412

0.0000 0.120412 0 x 0.120412 0 x 0 0.120412 x 0.120412

0.0000 0 0 x 0 0 x 0 0 x 0

0.0000 0 0 x 0 0 x 0 0 x 0

0.2007 0 0.2007 x 0 0.2007 x 0.2007 0.2007 x 0.2007

0.0000 0 0 x 0 0 x 0 0 x 0

GH°�1� GH²� G�1²�Coseno = ∑ K°/�

∑ KF) ∑ /�F�

• q= (0,0.0933,0.19866,0,0,0,0,0.19866,0

• D1 = (0,0.0602,0.1204,0.1204,0.1204,0,0,0,0)

Page 16: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

16

Similaridad del Coseno

• Calculando el producto punto entre el vector q y el vector del documento D1

31

Q D1 Q ° D1 Q² D1²

0.0000 0 0 0 0

0.1003 0.060206 0.00604067 0.01006678 0.00362476

0.2007 0.120412 0.02416267 0.04026711 0.01449905

0.0000 0.120412 0 0 0.01449905

0.0000 0.120412 0 0 0.01449905

0.0000 0 0 0 0

0.0000 0 0 0 0

0.2007 0 0 0.04026711 0

0.0000 0 0 0 0

0.03020334 0.090601 0.04712191

Cos = 0.03020334

0.090601 x 0.04712191)�0.46225016

• q= (0,0.0933,0.19866,0,0,0,0,0.19866,0

• D1 = (0,0.0602,0.1204,0.1204,0.1204,0,0,0,0)

Similaridad del Coseno

• Calculando la similaridad de la consulta: • Q=(danubio, viena y rhin) con todos los documentos:• D1: el río Danubio pasa por Viena, su color es azul• D2: el caudal de un río asciende en Invierno• D3: el río Rhin y el río Danubio tienen mucho caudal• D4: si un río es navegable, es porque tiene mucho caudal

32

rio danubio Viena color azul caudal invierno rhin navegable Similaridadq x Dn

D1 0 0.0602 0.1204 0.1204 0.1204 0 0 0 0 0.46225016

D2 0 0 0 0 0 0.04092 0.19866 0 0 0

D3 0 0.0602 0 0 0 0.0248 0 0.1204 0 0.73283928

D4 0 0 0 0 0 0.04092 0 0 0.19866 0

Tabla 3 Matriz de términos TF-IDF normalizada incluyendo similaridad

Page 17: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

17

Similaridad del Coseno

33

W Q Q Q x D1 Q x D2 Q x D3 Q x D4

rio 0 0.0000 0 0 0 0

danubio 1 0.1003 0.00604067 0 0.00604067 0

Viena 1 0.2007 0.02416267 0 0 0

color 0 0.0000 0 0 0 0

azul 1 0.2007 0.02416267 0 0 0

caudal 0 0.0000 0 0 0 0

invierno 0 0.0000 0 0 0 0

rhin 0 0.0000 0 0 0 0

navegable 0 0.0000 0 0 0 0

Similaridad 0.83205029 0 0.14656786 0

• Calculando la similaridad de la consulta: • Q=(danubio, viena, azul) con todos los documentos:• D1: el río Danubio pasa por Viena, su color es azul• D2: el caudal de un río asciende en Invierno• D3: el río Rhin y el río Danubio tienen mucho caudal• D4: si un río es navegable, es porque tiene mucho caudal

Similaridad de Jaccard

• Existe una alternativa a la similaridad del coseno llamada Similaridad de Jaccard.

• Esta medida toma todos los términos que aparecen en los documentos pero en una representación booleana.

• La idea es considerar solamente aquellas coordenadas que no son cero.

• Este enfoque usa el coeficiente Jaccard que generalmente está definido como el porcentaje c coordenadas no cero que son diferentes en los dos vectores.

34

Page 18: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

18

Similaridad de Jaccard

• En este caso, la similaridad entre dos vectores de documentos booleanos está definida como la proporción de coordenadas que tienen un valor de 1 en ambos vectores.

• Como cada 1 en la representación vectorial representa un término que aparece en el documento, el coeficiente Jaccard puede calcularse utilizando una formula del coeficiente Jaccard definida por conjuntos

35

Similaridad de Jaccard

• Sea d el conjunto de términos que aparecen en el documento denotado por T(d).

• Entonces, la similaridad entre dos documentos (��, ��), está definida por:

– ��7 ��, �� � L M& ∩LMF�L M& ∪LMF�• ��7 ��, �� tiene algunas propiedades que son importantes en el

contexto de similaridad en búsquedas.

• Por ejemplo, la similaridad alcanza el valor máximo de 1 si los dos documentos son idénticos.

• Esta similaridad es simétrica (por ejemplo ��7 ��, �� ���7 ��, �� �• El cálculo del coeficiente Jaccard es simple, pero con una gran

colección de documentos puede conducir a búsquedas ineficientes.

36

Page 19: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

19

Similaridad de Jaccard

• La idea es crear una lista pares de documentos similares ordenados por la similaridad de los documentos en cada par.

• Entones los k documentos mas similares dado un documento d, son aquellos que sean par con d en los primeros k pares de la lista.

• Teóricamente el número de pares de documentos es n(n-1)/2 para n documentos.

37

Similaridad de Jaccard

• Existen dos heurísticas simples que pueden reducir drásticamente el número de pares candidatos:

– Los términos frecuentes que aparecen en muchos documentos son eliminados porque pueden causar aproximaciones a documentos que parecen similares

– Solo los documentos que comparten al menos un término son usados para formar un par

38

Page 20: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

20

Similaridad de Jaccard

• Utilizando la tabla de representación booleana anterior:

1. Por cada término, crear un subconjunto de documentos que incluyen ese término. Eliminando los términos que aparezcan únicamente en un documento (y no se pueden crear pares)

39

rio danubio viena color azul caudal invierno rhin navegable

D1 1 1 1 1 1 0 0 0 0

D2 1 0 0 0 0 1 1 0 0

D3 1 1 0 0 0 1 0 1 0

D4 1 0 0 0 0 1 0 0 1

Similaridad de Jaccard

• Así, al final nos quedamos con los siguientes subconjuntos:– [(rio,{1,2,3,4}), (danubio,{1,3}), (caudal,{2,3,4})]

– Se puede decidir eliminar río, debido a que tiene una alta frecuencia de aparición, pero para este caso se dejará.

40

rio danubio viena color azul caudal invierno rhin navegable

D1 1 1 1 1 1 0 0 0 0

D2 1 0 0 0 0 1 1 0 0

D3 1 1 0 0 0 1 0 1 0

D4 1 0 0 0 0 1 0 0 1

Page 21: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

21

Similaridad de Jaccard

2. Crear los pares de documentos para cada conjunto en el elemento 1.

– [(rio,{1,2,3,4}), (danubio,{1,3}), (caudal,{2,3,4})]

– [(1,2)/1,(1,3)/2,(1,4)/1,(2,3)/2,(2,4)/2,(3,4)/2]

3. Calcular la similaridad entre los documentos en cada par y ordenar la lista de pares de acuerdo a la similaridad con la siguiente formula:

41

rio danubio caudal

D1 1 1 0

D2 1 0 1

D3 1 1 1

D4 1 0 1

Similaridad de Jaccard

• N � (OPQR( donde:

– a = número de elementos que aparecen en ambos documentos– b = número de elementos del vector 1– c = número de elementos del vector 2

• Por ejemplo:– Sim (1,2)/1– D1: el río Danubio pasa por Viena, su color es azul = 10 = b– D2: el caudal de un río asciende en Invierno = 8 = c– a = 1– b = 10– c = 8

– N � ��SPTR� � 0.059

42

Page 22: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

22

Similaridad de Jaccard

• Al final los cálculos quedan de la siguiente forma:• [(2,3)/0.133, (2,4)/0.125 ,(1,3)/0.118, (3,4)/0.118, (1,2)/0.059,

(1,4)/0.053]

• Por ejemplo, para encontrar los documentos que se asemejen más al documento 2, se recorre la lista de izquierda a derecha y se obtienen el número de ocurrencias.

• Obteniendo: 3 y 4– D1: el río Danubio pasa por Viena, su color es azul– D2: el caudal de un río asciende en Invierno– D3: el río Rhin y el río Danubio tienen mucho caudal– D4: si un río es navegable, es porque tiene mucho caudal

43

Arquitectura de un motor de búsqueda

44

Web Crawler

Repositorio de Páginas Indexador

Motor de consultas

Índices

Rankeador

Usuario

Consulta

Páginas Rankeadas

Page 23: Conceptos: Stoplistingy Stemmingvjsosa/clases/sd/Representacion... · denomina Booleana 9 ... • La forma más simple de un índice invertido es una matriz de términos-documentos.

03/04/2014

23

Arquitectura de un motor de búsqueda

45

Arquitectura de un motor de búsqueda

46