Investigación algorítmica

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Jacqueline Chávez Cuzcano
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
IBD Clase 7.
Procesamiento de cadenas
Unidad de competencia II Estadística descriptiva:
Unidad de competencia II Estadística descriptiva:
Coincidencia de imagen a través de cadena de triángulos
MATRIZ DE CHEQUEO DE PARIDAD
Introducción a los Números Fraccionarios
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
INTELIGENCIA ARTIFICIAL
Investigación de Operaciones II
TEORÍA DE LA DECISIÓN BAJO INCERTIDUMBRE
MÓDULO DE BÚSQUEDA DE PERSONAS DENTRO DE UNA BASE DE DATOS DE ROSTROS
La minimización de los costes
CONSTRUCCIÓN DEL MARCO TEÓRICO
Introducción a los protocolos de enrutamiento dinámico
Investigación Algorítmica
Sistema de Detección de Plagio Plagiatest-T. Integrantes Grupo 4 Lizzett Seminario Huamaní César Ríos Gárate Carolina Balbín Ávalos
Algoritmos Aleatorizados
Reducción de datos Por Elizabeth León.
DETERMINANTES DE UNA MATRIZ
Diseño de software para la simulación y solución de redes como estrategia para dominar las materias de circuitos eléctricos” M.C. Carlos Rodríguez Pérez.
Investigación en acción
EL ESTADO DEL ARTE Hace referencia al nivel más alto de desarrollo conseguido en un momento determinado sobre cualquier aparato, técnica o campo científico.
SUCESIONES Y PROGRESIONES.
MATRICES Concepto Se llama matriz de orden m x n a todo conjunto de elementos aij dispuestos en m líneas horizontales (filas) y n verticales (columnas)
Algoritmos de ordenación
Cadenas de Caracteres y Emparejamiento de Patrones
Juan Pablo Vásquez Ralf Wilke 18 de Diciembre 2008.
Antiplagium. Integrantes  Piere Cordero  Patricia Natividad  Gustavo Barrenechea  Renzo Gómez  Kim Alvarado.
OpenOffice Calc CURSO OpenOffice Calc.
Investigación algorítmica Grupo Plagiatest-T. Integrantes Grupo 4 Lizzett Seminario Huamaní César Ríos Gárate Carolina Balbín Ávalos.
Especificación de Consultas M
Estructura de Datos y Algoritmos

Clase 10: Estructuras de datos y arreglos.
Estructura de Datos II Equipo 4 Equipo 7 Acosta Montiel Miguel A.
GRUPO DE INVESTIGACION EN CONTROL INDUSTRIAL
Mt. Martín Moreyra Navarrete.
JUAN SEBASTIAN OROZCO. En este grupo encontramos englobadas todas las opciones que necesitaremos para dar forma al texto de nuestro documento. Partes.
Administración de Memoria
Reconocimiento y resolución de ecuaciones impresas Luis Fernández Pérez Marco Antonio Formoso Trigo.
Material de apoyo Unidad 4 Estructura de datos
APLICACIONES DE LA LINGÜÍSTICA COMPUTACIONAL (I)
FUNCIONES TIPOS DE FUNCIONES CategoríaFuncionSgnificado MatemáticaSumaSuma un rango de valores EstadisticaPromedioPromedia un rango de valores EstadisticaContarCuenta.
Seguridad y encriptación
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
CARPLATE Reconocimiento del marco de la matrícula de un coche
Multiplicación de matrices
Teoría de Trafico en Redes
Eliminación de ruido y Tratamiento de partes alargadas en imágenes digitales.
Aprendizaje No Supervisado y Redes de Kohonen
Indexación M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción
INTRODUCCIÒN MICROSOFT WORD 1 eencasts/shared/player_776x600.aspx?scre enCast=wd07_overview.
Microsoft OFFICE Word MBA. Lida Loor Macías.
Introducción a la Optimización de Consultas. Francisco Moreno.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Introducción a los TADs
Pixelación de imágenes avanzada usando el algoritmo slic

ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
HIDROFOR ZONIFICACIÓN DE ESTÁNDARES Y PARÁMETROS EDAFOCLIMÁTICOS PARA LA CONSERVACIÓN Y PROTECCIÓN DE SUELOS Y AGUAS INCLUIDOS EN LA LEY REGIONES.
EL TEXTO EXPOSITIVO El texto expositivo es un texto en el cual se presenta información sobre un determinado tema. No se pretende transmitir una opinión.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
OPERADORES CINEMÁTICOS Roger Miranda Colorado
Transcripción de la presentación:

Investigación algorítmica Grupo Plagiatest-T Investigación algorítmica

Integrantes Grupo 4 Carolina Balbín Ávalos 20050373 Sheyla Díaz Muguruza 20057079 César Ríos Gárate 20050373 Lizzett Nataly Seminario 20037185 Víctor Chávez Lazarte 20062038

Introducción Descripción del problema Facilidad de acceso a la información Apropiación de ideas ajenas Dificultad para detectar plagio

Introducción Objetivo Presentación de los algoritmos investigados Elaborar un Software que permita detectar similitudes de textos entre diferentes documentos de manera que nos permita determinar el nivel de plagio existente en el documento analizado. Presentación de los algoritmos investigados Frente a esta problemática se presentan los algoritmos de Secuencias Maximales, Winnowing y Espacios Vectoriales. Todos ellos presentan una Etapa preprocesamiento y la ejecución propia del Algoritmo.

Algoritmo 1: Secuencias Maximales Algoritmo capaz de encontrar patrones que se repiten en una colección determinada de textos. Un patrón es una secuencia de elementos que se repiten. Utiliza dos parámetros: β: Umbral de frecuencia n: Capacidad de salto

¿Cómo se aplica al problema? Preprocesamiento: Para cada palabra en el documento a procesar se crea un nodo en el cual se almacena el identificador de la palabra y 2 arreglos; el primero de ellos almacenará una lista con las posiciones en las cuales se encuentra la palabra en el documento y el segundo almacenará una lista con punteros a los nodos de las palabras en las posiciones siguientes a la analizada.

¿Cómo se aplica al problema? Algoritmo: Se recorren paralelamente la lista de nodos de los documentos a comparar de modo que se detecten secuencias comunes, se considerarán las secuencias encontradas cuyo tamaño supere al umbral de frecuencia definido. Adicionalmente al hallar la secuencia en cada caso, se tendrá en consideración el umbral de salto, el cual representa la tolerancia que se tiene al realizar la comparación y por ende la búsqueda de las secuencias comunes.

¿Cómo se aplica al problema?

Secuencias Maximales VENTAJAS DESVENTAJAS Este algoritmo nos permite realizar la comparación entre varios documentos. La clasificación y longitud de las secuencias maximales nos ayudan a emitir un porcentaje de plagio. Si en un texto que ha sido copiado se invierten el orden de un conjunto de palabras el algoritmo usado no los reconocerá como plagio ya que no cumplirá con el orden de la secuencia.

Secuencias Maximales – mejoras

Algoritmo 2: Winnowing El algoritmo presentado es capaz de detectar similitudes entre documentos a nivel de fragmentos. Un aspecto importante es establecer el criterio de selección de estos fragmentos. Ejemplo: por párrafos o por oraciones.

¿Cómo se aplica al problema? Preprocesamiento: A cada fragmento del documento se le aplica una función Hash, la cual nos dará un identificador único por cada uno de ellos. Se escogen los valores hash más significativos del documento. A los valores hash escogidos en el paso anterior se les almacena mediante una lista inversa, la cual nos dará las posiciones en las cuales se repite el mismo fragmento dentro del documento.

¿Cómo se aplica al problema? Cada fracaso supone un capítulo más en la historia de nuestra vida y una lección que nos ayuda a crecer. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Cada fracaso constituye un capítulo más en nuestra vida y una lección que nos ayuda a madurar y a crecer. Aprende de ellos, y sigue. Por los fracasos no te dejes desanimar. Documento1 Documento2

¿Cómo se aplica al problema? Paso 1 : Seleccionamos los fragmentos Cada fracaso es un capítulo en la historia de nuestra vida. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Cada fracaso constituye un capítulo más en nuestra vida y una lección para madurar. Aprende de ellos, y sigue. Por los fracasos no te dejes desanimar. Documento1 Documento2

¿Cómo se aplica al problema? Paso 2 : Por cada fragmento eliminamos los signos de puntuación, artículos, preposiciones, mayúsculas y acentos. Cada fracaso es un capítulo en la historia de nuestra vida. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Cada fracaso constituye un capítulo más en nuestra vida y una lección para madurar. Aprende de ellos, y sigue. Por los fracasos no te dejes desanimar. Documento1 Documento2

¿Cómo se aplica al problema? Paso 3 : Ordenamos las palabras alfabéticamente dentro de cada fragmento. cada fracaso es un capitulo historia de nuestra vida no te dejes desanimar fracasos aprende ellos y sigue adelante cada capitulo es fracaso historia nuestra vida un dejes desanimar fracasos no te adelante aprende ellos sigue y Doc1 cada capitulo constituye fracaso lección madurar mas nuestra un una vida y aprende ellos sigue y dejes desanimar fracasos no te cada fracaso constituye un capitulo mas nuestra vida y una lección madurar aprende ellos y sigue fracasos no te dejes desanimar Doc2

¿Cómo se aplica al problema? Paso 4 : Aplicamos la función hash a cada fragmento previamente ordenado y obtenemos un identificador por cada uno de ellos 17 20 35 cada capitulo es fracaso historia nuestra vida un dejes desanimar fracasos no te adelante aprende ellos sigue y Doc1 = cada capitulo constituye fracaso lección madurar mas nuestra un una vida y aprende ellos sigue y dejes desanimar fracasos no te 13 87 20 Doc2

¿Cómo se aplica al problema? Paso 5 : Escoger los valores hash más significativos de cada documento y para esto tener en cuenta el tamaño de la ventana. En el ejemplo, la ventana tendrá valor de 4. 20 35 18 76 98 23 20 43 19… 18 32 20 76 91 22 5 19 24 … W=4 17 20 35 18 20 35 18 76 35 18 76 98 18 76 98 23 76 98 23 20 98 23 20 43 23 20 43 19 Más significativos: 17 18 20 19 W=4 18 32 20 76 32 20 76 91 20 76 91 22 76 91 22 5 22 5 19 22 5 19 24 Más significativos: 18 20 5 Documento1 Documento2

Winnowing - FingerPrint VENTAJAS DESVENTAJAS La principal virtud de este algoritmo es la sencillez de su implementación. La detección se realiza de forma rápida. Para la comparación no sería necesario almacenar todo el documento ya que lo que se compara son los identificadores obtenidos en el preprocesamiento. Si en un texto se cambian u omiten algunas de las palabras dentro de cada fragmento el algoritmo no lo detectará como plagio ya que para cada uno de los fragmentos seleccionados la función hash dará un valor diferente.

Winnowing - Mejoras Se puede almacenar el tamaño de los fragmentos antes de ser convertidos con la función hash para obtener un mejor alcance del porcentaje de similitud al final de la comparación. Se puede ordenar las palabras dentro de los fragmentos antes de que se les aplique la función hash, con esto el algoritmo considerará los casos en que se modifique el orden de las palabras.

Algoritmo 3: Modelo del Espacio Vectorial – Similitud entre vectores Este algoritmo usa como base la teoría concerniente a los espacios vectoriales para encontrar similitudes entre los fragmentos de los documentos analizados. En este caso utilizaremos como criterio de comparación la fórmula de la función coseno para dos vectores.

Algoritmo 3: Modelo del Espacio Vectorial – Similitud entre vectores Preprocesamiento: El algoritmo arma una matriz para cada documento en la cual cada fila representa un vector en la que cada componente representa la frecuencia con la que esa palabra se repite en el fragmento escogido.

¿Cómo se aplica al problema? Ejemplo:

¿Cómo se aplica al problema? Algoritmo: Se contrasta fila por fila en cada par de matrices (las cuales representan a cada par de documentos) de modo que para cada par de vectores representados en dichas filas se aplica la fórmula del coseno para dos vectores. Con este resultado usamos el criterio de que si el valor obtenido mediante la formula es cercano a uno podemos considerar que se tratan de fragmentos similares en caso contrario no lo serán. Usando la cantidad de fragmentos similares podemos determinar el porcentaje de similitud total entre los documento comparados.

¿Cómo se aplica al problema? Ejemplo:

Modelo del Espacio Vectorial VENTAJAS DESVENTAJAS Si en el documento se cambian las posiciones de las palabras este algoritmo podrá detectar el plagio ya que se basa en la obtención de la frecuencia de aparición de cada palabra y no en la posición en que aparece. Con este algoritmo no es posible poder reconocer exactamente los fragmentos en los cuales se incurrió en plagio, ya que este solo almacena la cantidad de veces que se repite cada palabra.

Modelo del Espacio Vectorial Cada fracaso supone un capítulo más en la historia de nuestra vida y una lección que nos ayuda a crecer. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Cada fracaso constituye un capítulo más en nuestra vida y una lección que nos ayuda a madurar y a crecer. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Documento1 Documento2

Modelo del Espacio Vectorial Paso 1 : Fragmentamos el documento. Cada fracaso es un capítulo en la historia de nuestra vida. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Cada fracaso constituye un capítulo en nuestra vida y una lección. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Documento1 Documento2

Modelo del Espacio Vectorial Paso 2 : Almacenamos los términos de la partición en una matriz Cada fracaso es un capítulo en la historia de nuestra vida constituye y una lección Doc1 Doc2 Cada columna representa un término Cada fila es una partición de cada documento Cada fracaso es un capítulo en la historia de nuestra vida. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Cada fracaso constituye un capítulo en nuestra vida y una lección. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Doc2 Doc1

Modelo del Espacio Vectorial Paso 3 : Almacenamos los términos de la partición en una matriz Cada fracaso es un capítulo en la historia de nuestra vida constituye y una lección 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 Frag1 Frag2 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 Cada fracaso es un capítulo en la historia de nuestra vida. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Cada fracaso constituye un capítulo en nuestra vida y una lección. No te dejes desanimar por los fracasos. Aprende de ellos, y sigue adelante. Documento2 Documento1

Modelo del Espacio Vectorial Paso 4 : Aplicamos la función del Coseno Equivale al producto escalar de dos vectores de documentos (1 y 2) y luego se procede a dividirlo por el producto de la raíz cuadrada del sumatorio de los componentes del vector 1 con la raíz cuadrada del sumatorio de los componentes del vector 2.

Modelo del Espacio Vectorial

Conclusiones De los algoritmos presentados como alternativas a la búsqueda de similitudes de texto (elementos de diferentes documentos) podemos concluir que

Referencias: