75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel...

22
75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Transcript of 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel...

Page 1: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

75.06 Org. de Datos

FeedReader

Integrantes:Andrés Castaño (84538) Diego Costa (78189 )Nahuel González (82868)Ignacio Marambio Catán (82694)

Page 2: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Temas de la Presentación

1. Diseño de la Aplicación2. XML-RPC3. Parser RSS4. Interfaz Web5. Organización de Archivos6. Filtro Bayesiano7. Stop Words8. Reclasificación Automática9. Prueba de Ejecución.

Page 3: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Diseño de la Aplicación

FRONT-END

DAEMON

XML-RPC

PARSER

WEB

ARCHIVOS

Page 4: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

XML-RPC

Aplicaciones Distribuidas. Conectar Aplicaciones que pueden estar implementadas

en distintos lenguajes, y que se ejecutan en diversos sistemas operativos.

Page 5: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Parser: Arquitectura de Plug-InsParser: Arquitectura de Plug-Ins

DAEMONDAEMON

RaptorRaptor

Plug-InPlug-In

Ventajas:Ventajas:

•Elegir entre distintos Parsers (C/C++/Python).•Actualizar el Parser, sin detener el servicio.

UniversalUniversalFeedFeed

ParserParser

Page 6: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Interfaz Web

Page 7: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Organización de Archivos

feedsfeeds

newsnews

tagstags

Page 8: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

feeds

indexindex

datadata datavdatav

Page 9: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

feeds

indexindex

datadata datavdatav

Page 10: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

feeds

indexindex

datadata datavdatav

Page 11: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

feeds

indexindex

datadata datavdatav

Page 12: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

news

datadata

indexindex

1.datatag1.datatag

indexindexindexindex

1.index1.index

datadatadatadata

1.data1.data1.datatag1.datatag

1.datatag1.datatag1.datatag1.datatag

Page 13: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

news

datadata

indexindex

1.datatag1.datatag

indexindexindexindex

1.index1.index

datadatadatadata

1.data1.data1.datatag1.datatag

1.datatag1.datatag1.datatag1.datatag

Page 14: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

news

datadata

indexindex

1.datatag1.datatag

indexindexindexindex

1.index1.index

datadatadatadata

1.data1.data1.datatag1.datatag

1.datatag1.datatag1.datatag1.datatag

Page 15: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

news

datadata

indexindex

1.datatag1.datatag

indexindexindexindex

1.index1.index

datadatadatadata

1.data1.data1.datatag1.datatag

1.datatag1.datatag1.datatag1.datatag

Page 16: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

tags

N.indexN.indexindexindex

indexindexindexindex

indexindexindexindex

1.index1.index

Page 17: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Reorganización de Archivos

Consiste en la eliminación de archivos y registros innecesarios.

Se realiza a pedido del usuario por medio de una señal al proceso.

Page 18: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Filtro BayesianoFiltro Bayesiano

Page 19: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Filtro Bayesiano: Filtro Bayesiano: Serialización

Los datos del filtro se guardan en dos archivos por separado, uno de categorías y palabras (comprimido con front coding) y otro que guarda las frecuencias en forma de array.

En ambos se incluye un encabezado que indica el checksum y la correcta finalización y el id de la serialización, para asegurarse que no se levantará un par de archivos inválidos

Page 20: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Filtro BayesianoFiltro Bayesiano: Performance.

Tiempo estimado para entrenar el filtro con 100.000 palabras nunca vistas, con 32 categorías: ~1.5 seg.

Tiempo estimado para agregar una categoría: ~0.25 seg. Tiempo estimado para eliminar una categoría: ~0.2 seg.

Tiempo estimado para entrenar o clasificar una noticia de 100000 palabras, sin palabras desconocidas

y 32 categorías : ~0.2 seg.

Page 21: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Stop Words

Palabras que aparecen en casi todas las noticias, por lo no que brindan información sobre a que categorías pertenecen.

Estas palabras se eliminan de la noticias, con lo que se obtiene una mejor clasificación.

Se genera dinámicamente un archivo de stop words que luego es importado por el daemon.

Page 22: 75.06 Org. de Datos FeedReader Integrantes: Andrés Castaño (84538) Diego Costa (78189 ) Nahuel González (82868) Ignacio Marambio Catán (82694)

Reclasificación Automática

El Daemon toma bloques de noticias e intenta reclasificarlas por cada iteración.

La cantidad de noticias y el tiempo entre iteraciones es parametrizable.