SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
Memoria Práctica 3




                Grupo 2 OA
Algoritmo utilizado:

      El criterio seguido par el agrupamiento de noticias una vez leídas las
indicaciones que nos proponen es la siguiente:

      Antes de aplicar nuestro algoritmo filtramos el título y primer párrafo con el
fichero de palabras vacías, es decir, quitándolas estas del enunciado.

       Nos hemos dado cuenta que en las noticias al procesar la etiqueta
MW/LEX/LEM viene una codificación de caracteres que marca el atributo PAR
empezando cuando es un signo de puntuación con F, usamos esta atributo para no
tener en cuenta los signos en el texto del título y el primer párrafo para nuestro
algoritmo, tampoco usamos la fecha de la noticia por no ser un dato característico del
contenido de esta.

      Una vez hechas estas operaciones pasamos a aplicar nuestro algoritmo:

  Empezamos por hacer un filtrado con SAX de todas las noticias quedándonos con
el título y el primer párrafo de todas las noticias, que a su vez las introducimos en un
array creado a propósito para el procesamiento de estas.

       La primera posición de dicho array, es decir, la primera noticia la consideramos
independientemente de cuál sea, la primera del primer grupo de noticias y la damos
por válida porque esta es la que trataremos como base para la comparación con el
resto de noticias.

      El método de comparación es el siguiente cogemos primero el título y luego el
primer párrafo y se compara con la segunda noticia si las palabras que coinciden
superan el 70% de estas o la similitud de estas esta entorno a este porcentaje la
agrupamos en el grupo de la primera, si no creamos otro grupo, una vez terminado el
proceso de la segunda noticia hacemos lo mismo con la tercera esta vez si se han
creado dos grupos se compara con la primera, si cumple los requisitos se agrupa en el
grupo 1, si no la comparamos con la segunda, si esta vez cumple los requisitos la
agrupamos con la segunda, si no coincide con ningunas de las dos creamos otro
grupo.

      El resultado de procesar todas las noticias con este método termina con la
última noticia que está en la posición final del array, en este momento tenemos
grupos con varias noticias y grupos con solo una noticia por lo que repasamos estas y
como consecuencia de nuestro algoritmo, son noticias que no cumplen con las
condiciones prefijadas de similitud con ninguna de las anteriores, todas estas las
agrupamos en un grupo que denominamos cajón de sastre, este es el último grupo
creado, es decir, el que tenga la numeración mas alta.
El primer resultado obtenido una vez ejecutado el algoritmo, nos salían muchos
grupos entorno a 24 y de estos, muchos con una sola noticia.

      Modificamos en una segunda versión, desechando los títulos, porque las
palabras clave que resultaban de este, no influían en el resultado del filtrado de una
manera aceptable, por lo que nos quedamos con las palabras clave del primer párrafo
para aplicar el algoritmo, modificamos el porcentaje de similitud a un 50%, además
nos quedamos con los lugares, nombres propios que aparecen en el texto, etc.

       El resultado con estos nuevos criterios es óptimo según el contenido de las
noticias y su agrupamiento siendo este punto el que íbamos buscando.

Para el desarrollo de este algoritmo hemos utilizado todas las herramientas propuestas
de la práctica:

   • Fichero spanishStoplist.txt de palabras vacías.
   • Se han procesado los 38 documentos con noticias para el agrupamiento de estas
     según el tipo de contenido buscando preferiblemente textos distintos para una
     misma noticia con un proceso automatizado.
   • Librería Simmetrics para medir la similitud de ortográfica entre cadenas de
     caracteres.

            El programa se ha resuelto con varias clases dentro de un entorno JAVA:

                1. LeerPalabras.java
                   Lectura de fichero de palabras vacías para guardarlas y
                   compararlas.

                2. MyHandler.java
                   Manejador de eventos SAX para extraer la información de los
                   documentos propuestos.

                3. Noticia.java
                   Clase que contiene la información que se extrae de cada noticia.

                4. Transformador.java
                   A partir del fichero de salida .xml y con la lectura del directorio
                   XSLT donde está el fichero.xsl genera el fichero .HTML.

                5. Main.java
                   Clase principal que agrupa de una manera automática las noticias
                   que se encuentran en el directorio de noticias, de un formato
                   determinado a un fichero XML y un fichero HTML,
                   organizándolas por contenido en grupos similares de noticias
                   numerando los grupos.
NOTA:

      Hemos tenido especial cuidado de comentar el código fuente convenientemente,
explicando detalladamente los métodos seguidos en cada clase y lo que hacen cada uno
de estos.

Más contenido relacionado

Destacado

Universidad de cartago2
Universidad de cartago2Universidad de cartago2
Universidad de cartago2
Maria Pino
 
La meva primera presentació
La meva primera presentacióLa meva primera presentació
La meva primera presentació
feijooanna
 
Régimen de preservación de patrimonios culturales - Senado - 18 de junio de 2003
Régimen de preservación de patrimonios culturales - Senado - 18 de junio de 2003Régimen de preservación de patrimonios culturales - Senado - 18 de junio de 2003
Régimen de preservación de patrimonios culturales - Senado - 18 de junio de 2003
estebandelcampo
 
Alexandre herculano a cruz mutilada
Alexandre herculano   a cruz mutiladaAlexandre herculano   a cruz mutilada
Alexandre herculano a cruz mutilada
Tulipa Zoá
 
Practica 1.1
Practica  1.1Practica  1.1
Practica 1.1
anc_or_m2
 
redeseducacionlorena
redeseducacionlorenaredeseducacionlorena
redeseducacionlorena
emacs4
 
Invitation SparkUs #1
Invitation SparkUs #1Invitation SparkUs #1
Invitation SparkUs #1
ChaireMIS
 
Organisation of time
Organisation of timeOrganisation of time
Organisation of time
Dom Boorman
 
Semana 4 trabajo final.
Semana 4 trabajo final.Semana 4 trabajo final.
Semana 4 trabajo final.
Rosamer81
 
Presentación tópicos lit
Presentación tópicos litPresentación tópicos lit
Presentación tópicos lit
Arabier
 
Discrepancia del diseño instruccional con la practica educativa2012
Discrepancia del diseño instruccional con la practica educativa2012Discrepancia del diseño instruccional con la practica educativa2012
Discrepancia del diseño instruccional con la practica educativa2012
Paty Cazares
 

Destacado (19)

Universidad de cartago2
Universidad de cartago2Universidad de cartago2
Universidad de cartago2
 
La meva primera presentació
La meva primera presentacióLa meva primera presentació
La meva primera presentació
 
Evolución de la web. 1.0 hacia 5.0
Evolución de la web. 1.0 hacia 5.0Evolución de la web. 1.0 hacia 5.0
Evolución de la web. 1.0 hacia 5.0
 
Prueba
PruebaPrueba
Prueba
 
DISEÑO DE PROYECTOS_102058_620
DISEÑO DE PROYECTOS_102058_620DISEÑO DE PROYECTOS_102058_620
DISEÑO DE PROYECTOS_102058_620
 
Poema unico
Poema unicoPoema unico
Poema unico
 
Régimen de preservación de patrimonios culturales - Senado - 18 de junio de 2003
Régimen de preservación de patrimonios culturales - Senado - 18 de junio de 2003Régimen de preservación de patrimonios culturales - Senado - 18 de junio de 2003
Régimen de preservación de patrimonios culturales - Senado - 18 de junio de 2003
 
Alexandre herculano a cruz mutilada
Alexandre herculano   a cruz mutiladaAlexandre herculano   a cruz mutilada
Alexandre herculano a cruz mutilada
 
Tarea4 portafolio de presentacion-rea
Tarea4 portafolio de presentacion-reaTarea4 portafolio de presentacion-rea
Tarea4 portafolio de presentacion-rea
 
Practica 1.1
Practica  1.1Practica  1.1
Practica 1.1
 
Kubus øvelse 2
Kubus øvelse 2Kubus øvelse 2
Kubus øvelse 2
 
redeseducacionlorena
redeseducacionlorenaredeseducacionlorena
redeseducacionlorena
 
Invitation SparkUs #1
Invitation SparkUs #1Invitation SparkUs #1
Invitation SparkUs #1
 
Organisation of time
Organisation of timeOrganisation of time
Organisation of time
 
SPICE MODEL of TK8P25DA (Professional+BDP Model) in SPICE PARK
SPICE MODEL of TK8P25DA (Professional+BDP Model) in SPICE PARKSPICE MODEL of TK8P25DA (Professional+BDP Model) in SPICE PARK
SPICE MODEL of TK8P25DA (Professional+BDP Model) in SPICE PARK
 
La televisió
La televisióLa televisió
La televisió
 
Semana 4 trabajo final.
Semana 4 trabajo final.Semana 4 trabajo final.
Semana 4 trabajo final.
 
Presentación tópicos lit
Presentación tópicos litPresentación tópicos lit
Presentación tópicos lit
 
Discrepancia del diseño instruccional con la practica educativa2012
Discrepancia del diseño instruccional con la practica educativa2012Discrepancia del diseño instruccional con la practica educativa2012
Discrepancia del diseño instruccional con la practica educativa2012
 

Similar a Memoria

Integracion i reports_con_netbeans
Integracion i reports_con_netbeansIntegracion i reports_con_netbeans
Integracion i reports_con_netbeans
Dada3311
 
Tutorial programa de_concordancias
Tutorial programa de_concordanciasTutorial programa de_concordancias
Tutorial programa de_concordancias
Encarna MesaBetancor
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
Kai Exo
 
Algoritmos y programas super manual de algoritmia
Algoritmos y programas   super manual de algoritmiaAlgoritmos y programas   super manual de algoritmia
Algoritmos y programas super manual de algoritmia
Esteban Bedoya
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
luisortiz
 

Similar a Memoria (20)

A1 python 3
A1 python 3A1 python 3
A1 python 3
 
SAX (con PHP)
SAX (con PHP)SAX (con PHP)
SAX (con PHP)
 
Programacion_Gambas.docx
Programacion_Gambas.docxProgramacion_Gambas.docx
Programacion_Gambas.docx
 
Integracion i reports_con_netbeans
Integracion i reports_con_netbeansIntegracion i reports_con_netbeans
Integracion i reports_con_netbeans
 
Int prog matlab
Int prog matlabInt prog matlab
Int prog matlab
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
Metodos de busqueda y operadores boleanos
Metodos de busqueda y  operadores  boleanosMetodos de busqueda y  operadores  boleanos
Metodos de busqueda y operadores boleanos
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Métodos en Java-Con ejemplos
Métodos en Java-Con ejemplosMétodos en Java-Con ejemplos
Métodos en Java-Con ejemplos
 
Tutorial programa de_concordancias
Tutorial programa de_concordanciasTutorial programa de_concordancias
Tutorial programa de_concordancias
 
Proposal for extending new Linked Data rules for the Semantic Web
Proposal for extending new Linked Data rules for the Semantic WebProposal for extending new Linked Data rules for the Semantic Web
Proposal for extending new Linked Data rules for the Semantic Web
 
Hola mundorafaelnavarroprieto
Hola mundorafaelnavarroprietoHola mundorafaelnavarroprieto
Hola mundorafaelnavarroprieto
 
Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladores
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Informe analisis de algoritmos (mitad de cuadrado)
Informe analisis de algoritmos (mitad de cuadrado)Informe analisis de algoritmos (mitad de cuadrado)
Informe analisis de algoritmos (mitad de cuadrado)
 
Algoritmos y programas super manual de algoritmia
Algoritmos y programas   super manual de algoritmiaAlgoritmos y programas   super manual de algoritmia
Algoritmos y programas super manual de algoritmia
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 

Memoria

  • 1. Memoria Práctica 3 Grupo 2 OA
  • 2. Algoritmo utilizado: El criterio seguido par el agrupamiento de noticias una vez leídas las indicaciones que nos proponen es la siguiente: Antes de aplicar nuestro algoritmo filtramos el título y primer párrafo con el fichero de palabras vacías, es decir, quitándolas estas del enunciado. Nos hemos dado cuenta que en las noticias al procesar la etiqueta MW/LEX/LEM viene una codificación de caracteres que marca el atributo PAR empezando cuando es un signo de puntuación con F, usamos esta atributo para no tener en cuenta los signos en el texto del título y el primer párrafo para nuestro algoritmo, tampoco usamos la fecha de la noticia por no ser un dato característico del contenido de esta. Una vez hechas estas operaciones pasamos a aplicar nuestro algoritmo: Empezamos por hacer un filtrado con SAX de todas las noticias quedándonos con el título y el primer párrafo de todas las noticias, que a su vez las introducimos en un array creado a propósito para el procesamiento de estas. La primera posición de dicho array, es decir, la primera noticia la consideramos independientemente de cuál sea, la primera del primer grupo de noticias y la damos por válida porque esta es la que trataremos como base para la comparación con el resto de noticias. El método de comparación es el siguiente cogemos primero el título y luego el primer párrafo y se compara con la segunda noticia si las palabras que coinciden superan el 70% de estas o la similitud de estas esta entorno a este porcentaje la agrupamos en el grupo de la primera, si no creamos otro grupo, una vez terminado el proceso de la segunda noticia hacemos lo mismo con la tercera esta vez si se han creado dos grupos se compara con la primera, si cumple los requisitos se agrupa en el grupo 1, si no la comparamos con la segunda, si esta vez cumple los requisitos la agrupamos con la segunda, si no coincide con ningunas de las dos creamos otro grupo. El resultado de procesar todas las noticias con este método termina con la última noticia que está en la posición final del array, en este momento tenemos grupos con varias noticias y grupos con solo una noticia por lo que repasamos estas y como consecuencia de nuestro algoritmo, son noticias que no cumplen con las condiciones prefijadas de similitud con ninguna de las anteriores, todas estas las agrupamos en un grupo que denominamos cajón de sastre, este es el último grupo creado, es decir, el que tenga la numeración mas alta.
  • 3. El primer resultado obtenido una vez ejecutado el algoritmo, nos salían muchos grupos entorno a 24 y de estos, muchos con una sola noticia. Modificamos en una segunda versión, desechando los títulos, porque las palabras clave que resultaban de este, no influían en el resultado del filtrado de una manera aceptable, por lo que nos quedamos con las palabras clave del primer párrafo para aplicar el algoritmo, modificamos el porcentaje de similitud a un 50%, además nos quedamos con los lugares, nombres propios que aparecen en el texto, etc. El resultado con estos nuevos criterios es óptimo según el contenido de las noticias y su agrupamiento siendo este punto el que íbamos buscando. Para el desarrollo de este algoritmo hemos utilizado todas las herramientas propuestas de la práctica: • Fichero spanishStoplist.txt de palabras vacías. • Se han procesado los 38 documentos con noticias para el agrupamiento de estas según el tipo de contenido buscando preferiblemente textos distintos para una misma noticia con un proceso automatizado. • Librería Simmetrics para medir la similitud de ortográfica entre cadenas de caracteres. El programa se ha resuelto con varias clases dentro de un entorno JAVA: 1. LeerPalabras.java Lectura de fichero de palabras vacías para guardarlas y compararlas. 2. MyHandler.java Manejador de eventos SAX para extraer la información de los documentos propuestos. 3. Noticia.java Clase que contiene la información que se extrae de cada noticia. 4. Transformador.java A partir del fichero de salida .xml y con la lectura del directorio XSLT donde está el fichero.xsl genera el fichero .HTML. 5. Main.java Clase principal que agrupa de una manera automática las noticias que se encuentran en el directorio de noticias, de un formato determinado a un fichero XML y un fichero HTML, organizándolas por contenido en grupos similares de noticias numerando los grupos.
  • 4. NOTA: Hemos tenido especial cuidado de comentar el código fuente convenientemente, explicando detalladamente los métodos seguidos en cada clase y lo que hacen cada uno de estos.