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.
Diseño de la Aplicación
FRONT-END
DAEMON
XML-RPC
PARSER
WEB
ARCHIVOS
XML-RPC
Aplicaciones Distribuidas. Conectar Aplicaciones que pueden estar implementadas
en distintos lenguajes, y que se ejecutan en diversos sistemas operativos.
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
Interfaz Web
Organización de Archivos
feedsfeeds
newsnews
tagstags
feeds
indexindex
datadata datavdatav
feeds
indexindex
datadata datavdatav
feeds
indexindex
datadata datavdatav
feeds
indexindex
datadata datavdatav
news
datadata
indexindex
1.datatag1.datatag
indexindexindexindex
1.index1.index
datadatadatadata
1.data1.data1.datatag1.datatag
1.datatag1.datatag1.datatag1.datatag
news
datadata
indexindex
1.datatag1.datatag
indexindexindexindex
1.index1.index
datadatadatadata
1.data1.data1.datatag1.datatag
1.datatag1.datatag1.datatag1.datatag
news
datadata
indexindex
1.datatag1.datatag
indexindexindexindex
1.index1.index
datadatadatadata
1.data1.data1.datatag1.datatag
1.datatag1.datatag1.datatag1.datatag
news
datadata
indexindex
1.datatag1.datatag
indexindexindexindex
1.index1.index
datadatadatadata
1.data1.data1.datatag1.datatag
1.datatag1.datatag1.datatag1.datatag
tags
N.indexN.indexindexindex
indexindexindexindex
indexindexindexindex
1.index1.index
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.
Filtro BayesianoFiltro Bayesiano
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
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.
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.
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.