View
21
Download
1
Category
Preview:
Citation preview
Estudio comparativo de los API’s de búsqueda de
Google, Yahoo y Bing para el desarrollo de aplicaciones
anti plagio de textos en documentos.
Director: Cesar VillacisCodirector: Marco Vergara
Autor: Jorge Cárdenas
Agenda• Introducción• Objetivos• Alcance• Herramientas• Metodologías• Estudio comparativo de los API’s de búsqueda• Prototipo de software final• Conclusiones• Recomendaciones
Introducción
• Web 2.0.• Sitios web con copyright.• Aplicaciones de detección de plagio en universidades y
empresas.• Licencias Creative Commons.• Uso de los API’s de búsqueda en la detección de plagio.
Breve introducción
• Proliferación de plagio de documentos debido al internet.• Componentes de las aplicaciones anti plagio.• API’s de búsqueda como componentes en aplicaciones
anti plagio.• Estudio comparativo de los API’s de búsqueda.
Planteamiento del problema
Introducción
• Realidad del intento de controlar el plagio en instituciones y universidades.
• Motivo del estudio comparativo de los API’s de búsqueda.
• Como obtener el mejor API de búsqueda para el desarrollo de aplicaciones anti plagio.
• Un prototipo de software final para validar el estudio.
Justificación
• El API de búsqueda de Google es el mejor API para el desarrollo de aplicaciones anti plagio de textos en documentos.
Hipótesis de trabajo
ObjetivosObjetivo General• Realizar un estudio comparativo de los API’s de búsqueda
de Google, Yahoo y Bing para el desarrollo de aplicaciones anti plagio de textos en documentos con un prototipo de software para validarlo.
ObjetivosObjetivos específicos
Analizar la arquitectura, funcionamiento y los fundamentos teóricos aplicados al desarrollo de aplicaciones anti plagio de textos en documentos.
Estudiar los conceptos teóricos acerca de XML, JSON, el protocolo TCP y HTTP para consumir API’s de búsqueda.
Investigar las principales características y funcionalidades de los API’s de búsqueda de Google, Yahoo y Bing.
ObjetivosObjetivos específicos
Definir los criterios comparativos teóricos basados en la documentación de los API’s de búsqueda y los criterios comparativos prácticos basados en el diseño y las pruebas de funcionalidad del prototipo básico de software.
Realizar un cuadro comparativo teórico y uno práctico basados en los criterios comparativos respectivamente definidos.
ObjetivosObjetivos específicos
Determinar el API más adecuado para su uso en el diseño e implementación de un prototipo de software final de una aplicación anti plagio de textos en documentos basados en los resultados del estudio.
Aplicar la metodología Scrum, XP con UML más el patrón de diseño MVC, para desarrollar los prototipos de software básico y final de una aplicación anti plagio de textos en documentos.
Utilizar la tecnología ASP.NET MVC 3 con el lenguaje de programación C#, para desarrollar el prototipo de software final de una aplicación anti plagio de textos en documentos.
Alcance
Estudio de las aplicaciones anti
plagio de textos en documentos,
funcionamiento y técnicas
Investigación de los API’s de búsqueda de Google, Yahoo y Bing
Análisis comparativo contempla dos
cuadros
Implementación de un prototipo de
software básico y uno final
Metodología del estudio
Alcance
Metodologías para el
desarrollo del prototipo
Tecnologías de los prototipos
Limitaciones de los
prototipos
Utilización de UML
Implementación y pruebas del
prototipo
HerramientasVersionOne
Windows Forms
ASP.NET MVC 3
Power Designer 16
Visual Studio 2010 Express
Notepad++
SQL Server 2008 Express y Management Studio
Internet Explorer 9
IIS 7
Windows 7
Metodologías
Scrum• Utilización en el proyecto• Definición• Fundamentos• Documentos• Definición de Sprint• Beneficios
XP• Utilización en el proyecto• Definición• Valores• Características• Actividades• Fases• Ventajas y Desventajas
Lenguaje de modelado
UML• Utilización en el proyecto• Definición• Aplicaciones• Modelado
Scrum, XP con UMLScrum
• Planificación del proyecto
XP
• Desarrollo de software
UML
• Diseño y modelado de los prototipos
Estudio comparativo de los API’s de búsqueda
Conceptos Útiles
Web 2.0
API
RESTful
HTTP
TCP
XMLJSON
ASP.NET MVC
3
Razor Engine
OAuth
Diff
Estudio comparativo de los API’s de búsqueda
Google Search
API
Custom Search
API
JSON/Atom
Custom Search
API
Estudio comparativo de los API’s de búsqueda
Google Custom Search API
Panel de control
Definición
Creación del
motor de búsqued
a
Estudio comparativo de los API’s de búsqueda
JSON/Atom
Custom Search
API
Función
Requisitos previos
Características
PreciosOperaciones del API
Formato de datos
Estilo de llamadas
Estudio comparativo de los API’s de búsqueda
Yahoo BOSS API
Definición
Características
PreciosTipos de
invocación al API
Tipos de servicios
Estudio comparativo de los API’s de búsqueda
Bing Search
API
Búsqueda personaliza
da
Características
Utilización
Tipos de Fuentes
Estudio comparativo de los API’s de búsqueda
Ventajas• Tiempos de
respuesta• Falsos positivos• Formatos• Tipos fuente• Numero de
resultados• Estándares
Desventajas• Resúmenes cortos• Costo• Cantidad de
caracteres• Crawler• Peticiones limitadas
Criterios de comparación teórica basados en la
documentación de los API’s y experiencia de terceros
Criterio Ponderación
Tipos de documentos de búsqueda 30
Resumen extenso 30
Fecha de última actualización del
sitio
20
Madurez del API 20
Tipos de formatos de respuesta 20
Tipos de fuentes de búsqueda 30
Criterios de comparación teórica basados en la
documentación de los API’s y experiencia de terceros
Criterio Ponderación
Número máximo de resultados por
pagina
20
Filtrado de pornografía 20
Lenguajes que soporta 30
Implementación de OpenSearch 20
Autorización OAuth 20
Sitios preferenciales de búsqueda 30
Criterios de comparación teórica basados en la
documentación de los API’s y experiencia de terceros
Criterio Ponderación
Restringir sitios de búsqueda 20
Resumen libre de HTML 30
Filtrado de duplicados 30
Costo de las peticiones 30
Configuración del API 10
Monetización 10
Criterios de comparación teórica basados en la
documentación de los API’s y experiencia de terceros
Criterio Ponderación
Tipos de fuentes de búsqueda simultáneos
20
Número aproximado de aplicaciones
utilizando el API
10
Número de aplicaciones anti plagio
utilizando el API o directamente el
motor de búsqueda
20
Total 470
Generación del cuadro comparativo teórico
ponderado• Ponderación para los criterios teóricos
Ponderación/
Valor
Descripción
0-10 Poco relevante
11-20 Relevante
21-30 Muy relevante
Generación del cuadro comparativo teórico
ponderado• Peso para el detalle de los criterios teóricos
Peso/Valor Descripción
0 Nada útil
1 Poco útil
2 Útil
3 o + Muy útil
Generación del cuadro comparativo teórico
ponderado• Valores obtenidos
Criterio Google Yahoo Bing
Tipos de documentos de
búsqueda
25/30 28/30 30/30
Resumen extenso 10/30 30/30 10/30
Fecha de última actualización
del sitio
0/20 20/20 20/20
Madurez del API 10/20 20/20 20/20
Tipos de formatos de respuesta 20/20 20/20 20/20
Tipos de fuentes de búsqueda 5/30 30/30 25/30
Generación del cuadro comparativo teórico
ponderado• Valores obtenidos
Criterio Google Yahoo Bing
Número máximo de resultados
por pagina
10/20 20/20 20/20
Filtrado de pornografía 20/20 20/20 20/20
Lenguajes que soporta 30/30 20/30 30/30
Implementación de OpenSearch 20/20 20/20 20/20
Autorización OAuth 20/20 20/20 0/20
Sitios preferenciales de búsqueda 30/30 0/30 0/30
Generación del cuadro comparativo teórico
ponderado• Valores obtenidos
Criterio GoogleYaho
oBing
Restringir sitios de
búsqueda
20/20 20/20 0/20
Resumen libre de HTML 30/30 30/30 30/30
Filtrado de duplicados 30/30 0/30 0/30
Costo de las peticiones 20/30 0/30 30/30
Configuración del API 10/10 10/10 10/10
Monetización 10/10 10/10 10/10
Generación del cuadro comparativo teórico
ponderado• Valores obtenidos
Criterio Google Yahoo Bing
Tipos de fuentes de búsqueda
simultáneos
0/20 20/20 20/20
Número aproximado de
aplicaciones utilizando el API
10/10 10/10 5/10
Número de aplicaciones anti
plagio utilizando el API o
directamente el motor de
búsqueda
20/20 20/20 10/20
Generación del cuadro comparativo teórico
ponderado• Resultados obtenidos
Cálculo Google Yahoo Bing
Total 350/470 368/470 330/470
Total API / 100 74,47 78,30 70,21
Criterios de comparación práctica
basados en el diseño y pruebas
funcionales del prototipo.
Criterio Ponderación
Tiempo promedio de espera en el API de
búsqueda utilizando un documento de 2
párrafos en la primera ejecución
30
Tiempo promedio de espera en el API de
búsqueda utilizando un documento de 2
párrafos ejecutando 3 veces seguidas el
análisis comenzando desde la segunda
ejecución
30
Criterios de comparación práctica
basados en el diseño y pruebas
funcionales del prototipo.Criterio Ponderación
Tiempo promedio de espera en el API de
búsqueda utilizando un documento de 5
párrafos en la primera ejecución
30
Tiempo promedio de espera en el API de
búsqueda utilizando un documento de 5
párrafos ejecutando 3 veces seguidas el
análisis comenzando desde la segunda
ejecución
30
Criterios de comparación práctica
basados en el diseño y pruebas
funcionales del prototipo.
Criterio Ponderación
Tiempo necesario para el desarrollo
del consumo del API de búsqueda
25
Similitud de los sitios consultados
mediante el API vs los de la web del
proveedor del API
50
Criterios de comparación práctica
basados en el diseño y pruebas
funcionales del prototipo.
Criterio Ponderación
Tiempo de espera para obtener los
resultados del análisis de plagio en un
documento con 2 párrafos
30
Tiempo de espera para obtener los
resultados del análisis de plagio en un
documento con 5 párrafos
50
Total 275
Generación del cuadro comparativo práctico
ponderado
• Ponderación para los criterios prácticos
Ponderación/
Valor
Descripción
1-25 Relevante
26-50 Muy relevante
Generación del cuadro comparativo práctico
ponderado• Valores obtenidos
Criterio Google Yahoo Bing
Tiempo promedio de espera en el API
de búsqueda utilizando un documento
de 2 párrafos en la primera ejecución
10/30 20/30 20/30
Tiempo promedio de espera en el API
de búsqueda utilizando un documento
de 2 párrafos ejecutando 3 veces
seguidas el análisis comenzando desde
la segunda ejecución
20/30 10/30 20/30
Generación del cuadro comparativo práctico
ponderado• Valores obtenidos
Criterio GoogleYaho
oBing
Tiempo promedio de espera en el API de
búsqueda utilizando un documento de 5
párrafos en la primera ejecución
20/30 10/30 20/30
Tiempo promedio de espera en el API de
búsqueda utilizando un documento de 5
párrafos ejecutando 3 veces seguidas el
análisis comenzando desde la segunda
ejecución
30/30 20/30 30/30
Generación del cuadro comparativo práctico
ponderado• Valores obtenidos
CriterioGoogl
e
Yaho
o
Bin
g
Tiempo necesario para el desarrollo
del consumo del API de búsqueda
15/25 5/25 15/25
Similitud de los sitios consultados
mediante el API vs los de la web del
proveedor del API
50/50 25/50 0/50
Generación del cuadro comparativo práctico
ponderado• Valores obtenidos
CriterioGoogl
e
Yaho
o
Bin
g
Tiempo de espera para obtener los
resultados del análisis de plagio en
un documento con 2 párrafos
10/30 30/30 20/30
Tiempo de espera para obtener los
resultados del análisis de plagio en
un documento con 5 párrafos
50/50 30/50 10/50
Generación del cuadro comparativo práctico
ponderado• Resultados obtenidos
Cálculo Google Yahoo Bing
Total 205/275 150/275 135/275
Total API / 100 74,54 54,54 49,09
Sprint resultados del estudio comparativo
• Pesos del estudio comparativo teórico y práctico
Estudio Peso en
porcentaje
Comparativo teórico 40%
Comparativo
práctico
60%
Total 100%
Sprint resultados del estudio comparativo
• Resultados del estudio comparativo teórico y práctico
Estudio/API 100% Googl
e
Yahoo Bing
Comparativo teórico 74,47 78,30 70,21
Comparativo práctico 74,54 54,54 49,09
Sprint resultados del estudio comparativo
• Resultados del estudio comparativo teórico y práctico aplicando el peso respectivo con la formula y la fórmula
Estudio/API
100%
Google Yahoo Bing
Comparativo
teórico
29,79/40 31,32/4
0
28,08/40
Comparativo
práctico
44,72/60 32,72/6
0
29,45/60
Total 74,51/10
0
64,05/1
00
57,54/10
0
Presentación del prototipo
básico de software
Presentación del prototipo
final de software
Conclusiones y Recomendaciones
Conclusiones
Las aplicaciones anti plagio de textos en documentos tienen una arquitectura definida en 2 componentes elementales: Fuente de comparación ya se mediante la implementación de un crawler para obtener fuentes de internet o base de datos documental; y el analizador de similitudes en textos.
XML y JSON son los formatos más utilizados en servicios web REST y en los API’s de búsqueda, son sencillos de leer y escribir y ocupan poco ancho de banda.
Cada API de búsqueda tiene sus particularidades por ejemplo: Yahoo y Bing pueden buscar en distintas fuentes o servicios como web, imágenes, blogs noticias; mientras que Google es más preciso en los resultados que devuelve y posee un filtro para quitar duplicados.
Conclusiones y Recomendaciones
Conclusiones
El API de Google es el mejor API para el desarrollo de aplicaciones anti plagio de textos en documentos en el ámbito práctico principalmente por sus tiempos de respuesta y porque los sitios devueltos por el API son muy aproximados a la fuente real.El API de Yahoo es el mejor API para el desarrollo de aplicaciones anti plagio de textos en documentos en el ámbito teórico ya que tiene más opciones de personalización para la búsqueda, como también más tipos de fuentes en donde buscar. Imágenes, Blogs, entre otros.El API de Bing a pesar de ser el que menores tiempos de respuesta genera y además la única gratuita, este devuelve resultados poco o nada relacionados a la fuente real, haciendo que el algoritmo de diff se demore más.
Conclusiones y Recomendaciones
Conclusiones
El mejor API para el desarrollo de aplicaciones anti plagio de textos en documentos basados en el estudio comparativo teórico y práctico es el de Google llamado Google Custom Search API Json/Atom.
El algoritmo diff tiene incidencia directa en el rendimiento del aplicativo.
Conclusiones y Recomendaciones
Recomendaciones Utilizar un API de búsqueda para que un Crawler
no busque en toda la Internet por fuentes de comparación.Usar JSON como formato para consumir los API’s de búsqueda ahorra más ancho de banda que XML y es más sencillo de analizar.
El API de Google es una versión Labs por lo cual no se debería considerar como opción para uso en un ambiente en producción por ahora.
El API de Bing es una versión gratuita momentáneamente por lo cual se debería considerar un costo por su uso si se planteara utilizar en un ambiente de producción.
Conclusiones y Recomendaciones
Recomendaciones Para mejorar el rendimiento de la aplicación se
podría implementar un algoritmo diff más eficiente.
Se podría implementar una versión de detección de plagio de imágenes utilizando el tipo de fuente Imagen de los API de búsqueda de Yahoo o Bing.Se podría verificar plagio en documentos en otros idiomas mediante la utilización de las opciones de personalización de la búsqueda de los API’s.Usar software para la gestión de la metodología Scrum para mayor control del proyecto.
Muchas gracias por su
atención.
Recommended