Extracción de información a partir de recursos
Transcripción
Extracción de información a partir de recursos
Depart ament d’Enginyeria I nformàtica i Matemàtiques Extracción de información a partir de recursos web semi-estructurados TITULACIÓ: Ingeniería Técnica en informática de gestión AUTORES: Aitor Micaelo. DIRECTORES: David Sánchez, Montserrat Batet. FECHA: 06 / 2009. ÍNDICE 1.Introducción .............................................................................................. 4 1.1. Minería de datos..................................................................................................... 4 1.2. La web como fuente de información ..................................................................... 5 1.3. Motivación del proyecto ........................................................................................ 8 1.4. Objetivos del proyecto ........................................................................................... 8 1.5. Estructura del documento ...................................................................................... 9 2. Descripción de la tecnología utilizada en el proyecto ........................ 10 2.1. Extracción del texto de una página web .............................................................. 10 2.1.1 Extracción ...................................................................................................... 11 2.1.2 Transformación .............................................................................................. 11 2.1.3 Utilidad en el proyecto ................................................................................... 12 2.2. Procesamiento del Lenguaje Natural ................................................................... 12 2.2.1.OpenNLP ........................................................................................................ 13 2.2.1.1. Utilidad en el proyecto ........................................................................... 16 2.3. Buscadores ........................................................................................................... 16 2.3.1. Utilidad en el proyecto .................................................................................. 17 2.4. Tecnología web .................................................................................................... 17 2.4.1.Servidores Web............................................................................................... 18 2.4.2.JavaServer Pages(JSP) .................................................................................. 18 2.4.3. Utilidad en el proyecto .................................................................................. 19 3. Sistema.................................................................................................... 20 3.1. Repositorios web.................................................................................................. 20 3.1.1. Peekyou ......................................................................................................... 21 3.1.2. Ebay............................................................................................................... 24 3.1.3. Allmovie......................................................................................................... 26 3.1.4. Allgame ......................................................................................................... 29 3.1.5. Allmusic ......................................................................................................... 31 3.2. Diseño e implementación del algoritmo de extracción de datos.......................... 33 3.2.1. Análisis Web .................................................................................................. 35 3.2.2. Análisis y selección de sintagmas ................................................................. 38 3.2.3. Análisis y selección de sintagmas ................................................................. 40 3.2.4. Fichero de resultados .................................................................................... 44 3.3. Implementación.................................................................................................... 45 3.3.1. Clases ........................................................................................................... 45 3.3.2. . Parámetros introducidos ............................................................................. 45 3.3.3. Resultados de la búsqueda ............................................................................ 46 3.3.4. . Resultados del análisis ................................................................................ 46 3.4. Diseño e implementación de la aplicación web ................................................... 46 3.5. Manual de Usuario ............................................................................................... 48 2 4. Juego de pruebas ................................................................................... 52 4.1. Prueba 1 ............................................................................................................... 53 4.2. Prueba 2 ............................................................................................................... 57 4.3. Prueba 3 ............................................................................................................... 59 4.4. Prueba 4 ............................................................................................................... 63 4.5. Prueba 5 ............................................................................................................... 67 4.6. Prueba 6 ............................................................................................................... 69 4.7. Prueba 7 ............................................................................................................... 73 4.8. Prueba 8 ............................................................................................................... 76 4.9. Prueba 9 ............................................................................................................... 80 4.10. Prueba 10 ........................................................................................................... 85 4.11. Prueba 11 ........................................................................................................... 88 5. Conclusiones y trabajo futuro .............................................................. 93 3 1. Introducción En los últimos años, la denominada sociedad de la información, ha permitido la generación de una gran cantidad de información lo cual ha producido un crecimiento exponencial de los datos en Internet, organizaciones, empresas, etc. Debido a la gran cantidad de datos involucrados, resulta imposible procesarlos manualmente o de forma directa. Es por esto que se requiere de un proceso previo para interpretarla. La minería de datos surgió como una solución a entornos que trabajan con gran cantidad de datos. 1.1. Minería de datos La minería de datos es un proceso analítico diseñado para explotar grandes volúmenes de datos con el objetivo de descubrir patrones y modelos de comportamiento a partir de datos de observación. Agrupa un conjunto de técnicas y algoritmos inteligentes de procesamiento de datos, que permiten extraer una conclusión, un conocimiento concreto o un resultado específico a partir de un conjunto de datos, así como clasificarlos, agruparlos o generar perfiles. Ejemplos de esto sería que a partir de un conjunto de observaciones asociadas a un paciente, poder definir el tipo de enfermedad que podría padecer o, más relacionado con los temas del proyecto, clasificar usuarios o productos según su afinidad, generar perfiles a partir de descripciones personales como por ejemplo encuestas, etc. El proceso de la minería de datos se puede dividir en varias fases [1]: - Filtrado de datos: El formato de los datos contenidos en la base de datos nunca es el idóneo, por ello, mediante procesado se filtran los datos según necesidades se obtienen la totalidad de datos o se reduce el número de datos posibles. - Selección de variables: Aún después de haberlos procesado, normalmente se tiene una enorme cantidad de datos y es necesario seleccionar determinadas características útiles en el problema con el objetivo de reducir el volumen de datos. - Extracción del conocimiento: mediante técnicas de minería de datos se obtiene un modelo de conocimiento, que representa patrones de comportamientos observados en los valores de las variables del problema o relaciones de asociación entre las variables. - Interpretación y evaluación: Una vez obtenido el modelo, se tiene que comprobar que las conclusiones que se obtienen son lo suficientemente satisfactorias. 4 Tradicionalmente, las técnicas de minería de datos se aplicaban sobre información contenida en almacenes de datos locales y sólo sobre datos de tipo numéricos. No obstante, actualmente está cobrando una importancia cada vez mayor la minería de datos desestructurados como es la información contenida en ficheros de texto (text mining), en Internet (web mining), etc. Web mining es el proceso de recuperación, extracción y análisis de información de documentos y servicios en la Web [2]. La web mining se puede definir 3 variantes: - - Minería de contenido de la web (Web Content Mining): Su objetivo es la obtención de datos e identificación de patrones relativos a los contenidos web y la búsqueda se realiza sobre estos mismos datos [2]. En esto se centra el PFC, concretamente, el proceso de extracción y tratamiento de la información previa a aplicar el algoritmo concreto. Minería de estructura de la web (Web Structure Mining): Se centra en la estructura de los hiperlinks de la web. Minería de uso de la web (Web Usage Mining): Intenta dar sentido a los datos de uso que dan los usuarios a dichas páginas web [2]. 1.2. La web como fuente de información Los servicios de información y documentación accesible mediante internet, vía Web están aumentando de una forma exponencial, ya que al ser la Web un mecanismo accesible desde cualquier lugar del mundo, es más fácil compartir y utilizar esa información. Uno de los motivos del crecimiento de la Web como fuente de información es debido a la web Social o Web 2.0. La web social está diseñada hacia el uso del usuario final ya que está orientada a la interacción y a las redes humanas. Algunos Ejemplos de Web social son: Wikipedia, Blogs o Flickr. El crecimiento exponencial de la Web puede observarse en el número de recursos indexados por un buscador Web como Google [3]. En el año 1998 ya tenía indexadas 26 millones de páginas y en el año 2000 llegó a la cantidad de de mil millones de páginas indexadas. Recientemente, hasta los ingenieros de búsqueda de Google se pararon a pensar sobre el tamaño de la web en nuestro tiempo, ya que al intentar hacer la última comprobación de la indexación llegaron a la cifra de 1 billón de páginas indexadas [4]. Todos estos factores han generado un creciente interés por el Web mining. Pese a la gran cantidad de información contenida en la web, el problema básico de la utilización de la web como repositorio de información es la falta de estructura 5 semántica, ya que no existe un método para poder interpretar el contenido de la mayoría de información contenida en la mayoría de webs. La causa de esto es que la información está expresada en lenguaje natural, orientada a la comprensión por parte del usuario final, en vez de a su tratamiento automático por parte de un sistema informático. Como resultado, una de la principales dificultades del Web mining viene determinada por la extracción, tratamiento y filtrado de la información contenida en la páginas web. Pese a que el tratamiento e interpretación semántica de texto expresado en lenguaje natural es una línea de investigación en desarrollo actualmente, existen ciertos repositorios web que incorporan una estructura regular a nivel de representación que puede explotarse para interpretar y extraer dicha información. Así, las webs pueden clasificarse en desestructuradas y semi-estructuradas: - Desestructuradas: Toda la información que contiene la web está en lenguaje natural. Estas son las más difíciles de procesar, para poder “entender” su contenido sería necesario algún tipo de conocimiento previo (diccionarios, etc.). - Semi-Estructuradas: Los datos contenidos en la web son de 2 tipos: o Con Estructura regular: Los datos están contenidos en estructuras, como por ejemplo tablas y esto facilita su interpretación. o Lenguaje natural: común con las web desestructuradas. Un ejemplo de página semi-estructuradas la podemos encontrar en ebay [5]. En ebay la parte estructurada sería la información referente a los productos, básicamente, está dividida en una serie de ítems comunes para todos los productos, como por ejemplo, el precio del ítem (price) o el lugar de se envía el articulo (Ships to) (ver Figura 1). En cambio, la descripción de producto está expresada en lenguaje natural (ver Figura 2) 6 Figura 1. Datos estructurados de ebay. La información estructurada se puede extraer a partir de un proceso de “parseado” de la página web. Básicamente, una vez conocida la estructura, es posible identificar y recuperar estos datos con una gran precisión. Para ello es necesario modelar la estructura de esos datos en base a una serie de reglas de extracción. El contenido puramente textual supone un reto mucho mayor ya que su comprensión e interpretación resultan muy complicadas para una aplicación informática. Este es uno de los problemas más complejos a que se enfrenta la Inteligencia Artificial debido a la complejidad del lenguaje humano y a los problemas relacionados al significado de palabras, frases y textos en su conjunto. Figura 2. Ejemplo de lenguaje Natural de ebay 7 1.3. Motivación del proyecto Con el fin de facilitar la explotación de la información contenida en la Web mediante algoritmos de minería de datos, en este proyecto se pretende atacar el problema relativo a la extracción y filtrado de información. Teniendo en cuenta la dificultades introducidas a las que se enfrente el Web mining, nosotros nos centraremos en el “parseado” y procesado de recursos web semiestructurados. La aplicación diseñada, intentará explotar la regularidad estructural de las páginas web semiestructuradas para extraer la información de recursos web que pueda servir como input para aplicar algoritmos de data mining sobre cantidades masivas de datos. Además de los datos puramente estructurados (como el precio de un artículo en Ebay), también se procesará, filtrará y extraerá parte del contenido textual, con el fin de ofrecer una mejor descripción del producto o entidad al que hace referencia la página web. Es proceso será totalmente automático y desinformado, por lo que podrá aplicarse a todo tipo de dominios sin requerir la intervención del usuario. Con el fin de demostrar la utilidad del sistema diseñado, este se aplicará sobre repositorios de contenidos semiestructurados de naturaleza heterogénea, cubriendo repositorios de productos (como ebay [5]), biografías (como peekyou [6]) o descripción y sinopsis de elementos de ocio como películas (allmovies [7]), juegos (allgames [8]) o música (allmusic [9]). 1.4. Objetivos del proyecto El objetivo principal de este proyecto es diseñar una aplicación capaz de obtener y analizar los datos de repositorios web semiestructurados. A continuación se enumeraran detalladamente los objetivos que se pretenden conseguir con este proyecto: - Buscar repositorios web con contenido semi-estructurado sobre los que sea posible realizar operaciones de parseo de forma on-line con el fin de obtener información. - Analizar la estructura de esos repositorios para ver el tipo de información que podemos obtener y qué reglas de extracción habrá de diseñar. Se hará hincapié en el hecho de que las páginas contengan una parte puramente estructurada (ej. tablas) y otra de texto libre. - Analizar varias herramientas de parseado y procesado del contenido web para intentar buscar uno que nos sea útil. - Analizar herramientas de procesamiento del lenguaje natural, que nos permita analizar morfológica y sintácticamente el texto. 8 1.5. - Diseñar un proceso de filtraje del contenido textual, de forma que nos permita extraer y filtrar aquellas partes del texto que resulten más informativas. - Diseñar un sistema que explote estas herramientas y proporcione representaciones en forma de tabla de contenido tanto estructurado como textual de recursos web. - Implementarlo en forma de aplicación web, de forma que permita gestiona la extracción de datos de forma remota en la cual podamos ver en estado actual y final de la aplicación. - Los resultados extraídos se representará en forma archivos de forma de clave valor que puedan utilizarse como input para aplicar en un futuro herramientas de análisis de datos (Data-mining). - Realizar pruebas y análisis extensivos de los resultados obtenidos sobre los diferentes repositorios seleccionados para realizar la aplicación. Estructura del documento En este documento se explica en detalle todos los procesos realizados para conseguir los objetivos mencionados. En el documento se introducen inicialmente aquellos conceptos y tecnologías básicas para poder explicar después la solución diseñada. En el capítulo 2 se explica detalladamente todas las tecnologías utilizadas para la creación de la aplicación y cuál es la utilidad de estas tecnologías. El capitulo 3 es el más importante de la documentación y se explica detalladamente cómo se ha diseñado e implementado la aplicación. En él se van explicando desde los repositorios de información utilizados, hasta la arquitectura básica del sistema y cómo se han aplicado las tecnologías presentadas durante la implementación del sistema. En el capítulo 4 se presentará el juego de pruebas. Contendrá 11 pruebas que mostrarán el correcto funcionamiento de toda la aplicación y los potenciales resultados que se pueden obtener. Y finalmente, en el capítulo 5 contendrá las diferentes conclusiones obtenidas del proyecto. En el que se explicará la opinión personal del programa, posibles mejoras y los trabajos futuros. 9 2. Descripción de la tecnología utilizada en el proyecto En este capítulo se hace referencia a las tecnologías y herramientas utilizada en la realización del proyecto. Desde el punto de vista de la implementación y teniendo en cuenta los objetivos introducidos en la sección anterior, el proyecto se divide en 2 partes: - Implementación de métodos de extracción y análisis del texto de las páginas web semiestructuradas. Diseño e implementación de una interfaz que permita interactuar remotamente con el sistema. La primera parte, que es la más importante, se encarga de parsear las webs semiestructuradas, obtener la información estructurada y/o semi-estructurada que contengan dichas webs, analizar y filtrar el texto en lenguaje natural y guardar la información resultante en un archivo de texto en formato clave-valor para en el futuro facilitar su procesado con algoritmos de minería de datos. La implementación de la aplicación se ha realizado en Java [10], es un lenguaje orientado a objetos desarrollado por Sun Microsystems[11] a principios de los años 90 ,está en alza desde hace unos años y además contiene infinidad de librerías de para la extracción de datos de la web. Adicionalmente se ha usador el editor Eclipse [12], como entorno de trabajo. A continuación se detallan las herramientas más importantes empleadas en el proyecto y se justifica su utilidad a la hora de implementar el sistema diseñado. 2.1. Extracción del texto de una página web Para realizar el parseo de la web será necesario utilizar una de las varias aplicaciones gratuitas que existen para realizar esta operación. Las páginas web contienen una gran cantidad de información relativa a la visualización de contenidos. Puesto que a nosotros sólo nos interesa ese contenido, utilizaremos una herramienta capaz de extraerlo. La herramienta utilizada para poder extraer esta información es HTMLParser [13] y está incluida en sourceforge [14]. HTMLParser es una librería de java que se utiliza para analizar HTML a tiempo real. Normalmente usado para la transformación o extracción de texto HTML, y contiene filtros, visitors, etiquetas propias y JavaBeans fácil de utilizar. Es rápido robusto y está bien testeado y contiene un diseño muy simple [13]. Las 2 utilidades fundamentales son la extracción y la transformación. 10 HTMLParser utiliza habitualmente htmllexer.jar y htmlparser.jar. El htmllexer.jar proporciona acceso a bajo nivel a strings genéricos, comenta y etiqueta nodos de una página de forma lineal, plana y secuencial. El htmlparser.jar, contiene el htmllecer.jar, proporciona acceso a una página con una secuencia de etiquetas diferenciadas que contienen nodos con strings comentarios y otras etiquetas. El parser intenta nivelar etiquetas de obertura con etiquetas de cierre para presentas la estructura de la página, mientras que el lexter simplemente separa nodos. Si nuestra aplicación sólo requiere un modesto conocimiento estructural de la página y trata básicamente con nodos individuales y aislados, deberíamos considerar la utilización del lexter. Pero si nuestra aplicación requiere conocimiento del conjunto de la estructura de nuestra página, por ejemplo el procesamiento de tablas, probablemente será necesario usar el parser. El HTMLParser se divide en 2 partes la extracción y la transformación. 2.1.1. Extracción La extracción cubre todos los programas de recuperación de información que no sirven para conservar la página fuente. Se utiliza para [13]: - Extracción de texto, para utilizarlo, por ejemplo, como una entrada de bases de datos de motores de búsqueda de textos - Extracción de links, para moverse a trabes de las páginas web o conseguir direcciones de e-mail. - Screen scraping, per a entrada de dates programadas de páginas web. - Extracción de recursos, recogiendo imágenes y sonidos. - Comprobación de links para asegurarse que son validos. - Control de site, comprobando diferencias de páginas más allá de diferencias simplistas. Hay varias facilidades en el código base de HTMLParser para ayudar con la extracción, incluyendo filtros, visitors y JavaBeans. 2.1.2. Transformación La transformación incluye el procesamiento donde la entrada y la salida son páginas HTML. Unos ejemplos son [13]: - Reescritura de URL, modificando algunos o todos los links de una página. Captura de site, moviendo contenido de la web al disco local. Censura, eliminando palabras y frases de ofensa de la páginas. Limpieza de HTML, corrigiendo páginas erronas. Eliminación de anuncios, eliminando URL’s que hacen referencia a publicidad. 11 - Conversión a XML, transformando páginas web existentes a XML. Durante o después de leer la página, pueden llevarse a cabo muchas operaciones en los nodos. 2.1.3. Utilidad en el proyecto En el proyecto se utilizará para parsear las páginas web de las que se quiere obtener información, dicha acción se realizará mediante la introducción de la dirección URL de la web, generada con los parámetros introducidos desde la interfaz Web. Esta herramienta nos facilitará mediante un string el contenido textual de la página web. 2.2. Procesamiento del Lenguaje Natural Una vez extraída la información necesaria de la web con HTMLParser, además de las características estructuradas tenemos que poder analizar el texto en lenguaje natural. El Procesamiento de Lenguaje Natural (PLN) es una sub-disciplina de la inteligencia Artificial. Se ocupa de la formulación e investigación de mecanismos eficaces para la comunicación entre personas o persona-ordenador por medio de lenguaje natural. El Procesamiento del Lenguaje Natural se encarga de diseñar mecanismos para que la comunicación entre persona-ordenador sea lo más eficaces posibles. La arquitectura básica de los sistemas de procesamiento del lenguaje natural es la siguiente. Seguiremos de ejemplo la siguiente oración de ejemplo “elperrocomecarne”: Reconocimiento del idioma ‐ o Segmentación de palabras, oraciones y secciones: o “el perro come carne” o Análisis morfológico (tagging): o Detección de palabras especiales. Asignación de etiquetas a estas palabras. • Determinante:”el”. Nombre:”perro”. Verbo:”come”. Nombre:”carne”. o Análisis sintáctico(chunking/parsing): Constituyentes básicos o chunks: • Grupo Nominal: “el perro”, Grupo verbal: ”come”, Grupo Nominal: “carne”. Estructura de la oración: 12 • SN (Sujeto):”el perro”. SV (Predicado): “come carne”. o Análisis semántico: Léxico: • Entidad-> ser vivo -> animal: “el perro”. • Acción -> voluntaria:”come”. • Entidad->inanimado-> natural || Entidad ->ser vivo -> animal -> mamífero->cerdo: “carne” Preposicional: • Perro(X) y pescado(Y) come(X,Y) 2.2.1. OpenNLP En nuestro proyecto utilizaremos OpenNLP [15]. Esta herramienta se utilizará para hacer el Procesamiento de lenguaje Natural, y sirve para analizar morfológicamente cada palabra para saber de qué tipo es cada palabra del texto a analizar. OpenNLP tiene una variedad de herramientas en Java basadas en las técnicas de NLP, que permiten la detección de oraciones, tokenization, pos-tagging, chunking, parsing y detección del nombre-entidad. Los métodos de análisis de OpenNLP se basan en la utilización de ficheros de “patrones” en los que se contienen millones de ejemplos analizados que se utilizan como base. Utiliza “hidden markov models”. ““Hidden markov models” (HMM) es un modelo estadístico en el que asume que el sistema a modelar es un proceso de Markov de parámetros desconocidos. El objetivo es determinar los parámetros desconocidos a partir de los parámetros observables.”[16] Entonces, OpenNLP utiliza este método para clasificar morfológicamente las palabras a partir de los patrones, ya que como hemos dicho anteriormente, contienen ejemplos manualmente analizados. Para utilizar OpenNLP se han tenido que utilizar dos ficheros, EnglishTok.bin y EnglishPOS.bin, el primero sirve para separar las palabras y el segundo para clasificar y etiquetar sintácticamente las palabras de la frase. A continuación se muestran todos los tags en orden alfabético de las diferentes partes y elementos que componen una oración. 1. CC Coordinating conjunction 2. CD Cardinal number 3. DT Determiner 4. EX Existential there 13 5. FW Foreign word 6. IN Preposition/subordinate conjunction 7. JJ Adjective 8. JJR Adjective, comparative 9. JJS Adjective, superlative 10. LS 11. MD List item marker Modal 12. NN Noun, singular or mass 13. NNP Proper noun, singular 14. NNPS Proper noun, plural 15. NNS Noun, plural 16. PDT Predeterminer 17. POS Possessive ending 18. PRP Personal pronoun 19. PRP$ Possessive pronoun 20. RB Adverb 21. RBR Adverb, comparative 22. RBS Adverb, superlative 23. RP Particle 24. SYM Symbol 25. TO to 26. UH Interjection 27. VB Verb, base form 28. VBD Verb, past tense 29. VBG Verb, gerund/present participle 30. VBN Verb, past participle 31. VBP Verb, non-3rd ps. sing. Present 32. VBZ Verb, 3rd ps. sing. present 33. WDT wh-determiner 14 34. WP wh-pronoun 35. WP$ Possessive wh-pronoun 36. WRB wh-adverb 37. `` Left open double quote 38. , Comma 39. '' Right close double quote 40. . Sentence-final punctuation 41. : Colon, semi-colon 42. $ Dollar sign 43. # Pound sign 44. -LRB- Left parenthesis * 45. -RRB- Right parenthesis * OpenNLP también realiza la fase de chunking, este proceso lo que realiza es fragmentación del texto en sintagmas. Un ejemplo de lo que realiza esta fase es la siguiente frase: He reckons the current account deficit will narrow to only # 1.8 billion in September. La frase se podría dividir de la siguiente forma: [NP He ] [VP reckons ] [NP the current account deficit ] [VP will narrow ] [PP to ] [NP only # 1.8 billion ] [PP in ] [NP September ] . A continuación se mostrara la lista con todos los tags definidos por el chunking: 1. ADJP Adjective phrase 2. ADVP Adverb phrase 3. CONJP Conjuntion 4. INTJ 5. LST 6. NP Noun phrase 7. PP Prepositional phrase 8. PRT 9. SBAR 10. VP Verb phrase 15 2.2.1.1. Utilidad en el proyecto En el proyecto se utilizará para analizar el texto obtenido en lenguaje natural. Analizará el texto sintácticamente utilizando tags. Esta clasificación nos servirá para eliminar toda la información que no nos es útil para el procesado de la información. En los tags referentes al chunking se ha seleccionado el tag (SN) ya que es el sintagma que nos puede ofrecer más información útil porque es la estructura que contiene los nombres (tags sintácticos) que aportan la semántica de la frase. En las listas de tags mostradas anteriormente, están marcados en amarillo los tags que no eliminaremos en este proceso. 2.3. Buscadores En este momento, una vez obtenidos clasificados los datos, necesitamos filtrar las partes más relevantes para la entidad buscada (en nuestro caso, una película o un producto). Una forma para realizar esto sería quedarse con los términos que aparezcan de forma más habitual en el contexto de la entidad buscada. Realizar el análisis estadístico a nivel web sería muy costoso debido a que como anteriormente se ha explicado existen millones y millones de web, pero existen mecanismos que nos pueden servir de ayuda. El mecanismo que nos facilita esta información son los buscadores Web, ya que podemos obtener esta información de manera inmediata. “Un motor de búsqueda es un software que indexa los archivos almacenados en servidores web gracias a su “Web crawler” que es un programa que inspecciona las páginas Web de forma metódica y automatizada. Un ejemplo son los buscadores de internet. El resultado de la búsqueda es un listado de direcciones Web en los que se mencionan temas relacionados con las palabras clave buscadas.”[16] Se pueden clasificar de 2 tipos: - Índices temáticos: la búsqueda se realiza por temas o categorías. La clasificación se realiza manualmente. - Motores de búsqueda: la búsqueda se realiza por palabras clave. En este caso las palabras clave se realizan automáticamente. Para obtener los datos que generan los buscadores Web, lo realizaremos de 2 formas distintas: ‐ Utilización de Apis: realizadas en Java y gratuitas. Utilizaremos 2, googleApi [17] y yahooSearch[18] . 16 ‐ Parseo Web: mediante un algoritmo en código Java, “parseara” y obtendrá los datos que se obtienen cuando se realizan las búsquedas en Live Search. Estas aplicaciones básicamente lo que realizan son las mismas llamadas que haría un usuario con la interfaz de su respectiva web. El único punto negativo, es referente a la utilización de las Apis, ya que al ser una librería facilitada por la propia web está limitada en el número de búsqueda diaria, googleApi está limitada a 1000 búsquedas diarias y yahooSearch en 5000 diarias. Este problema no sucede con el Live search ya que al ser un parseo de la Web no existe ningún tipo de limitación. 2.3.1. Utilidad en el proyecto En nuestra aplicación los buscadores tienen una utilidad muy importante porque son los encargados de obtener el número estadístico de las Webs en la que existe el sintagma o palabra buscada, que en este caso serán los Sintagmas Nominales definidos en el proceso anterior. Dicho número estadístico nos será útil para poder filtrar las partes del texto que nos serán relevantes con la entidad buscada. Un ejemplo de la utilidad de los buscadores sería con peekyou, en el que el nombre del actor, en este caso “Bruce Willis”, introducido en el buscador con “die Hard”, es decir, “Bruce Willis” and “ die hard”, obtendremos aproximadamente 1.200.000 de hits, y si lo introducimos con “On March 21, 2009 “ obtendremos aproximadamente 232. Esto se debe a que esta mas relacionado “die hard” que son las películas más famosas de “Bruce Willis” que su fecha de boda y así pasaría con todos los sintagmas obtenidos de la biografia, debido a lo famoso que es esta película y todas sus secuelas. 2.4. Tecnología web La segunda parte del proyecto se refiere a la implementación de la aplicación mediante una interfaz gráfica que permita interactuar con el usuario de forma fácil e intuitiva. Existen diferentes aproximaciones para implementar esta interfaz, podría por ejemplo ser un simple frame ejecutado de manera local, o una interfaz web para poder ejecutarse de forma remota. Se ha elegido la segunda forma, es decir, una interfaz Web, debido a la posibilidad de la utilizar la aplicación de forma remota ya que existe la posibilidad de realizar búsquedas en la que la duración sea de varias horas y así programar análisis y consultar sus resultados. 17 En la actual sociedad, la tecnología Web es realmente importante, ya que actualmente cualquier persona del primer mundo tiene acceso a internet, entonces se ha generado las web que es un gran mecanismo de información para acceder a él durante todos los días de año desde cualquier sitio con conexión a internet. Las tecnologías web necesitan un conjunto de herramientas para funcionar, los navegadores web, los servidores web y otras tecnologías útiles por ejemplo para la creación de contenido dinámico para páginas web. Los navegadores son un programa que permite la visualización de las páginas web alojadas en el servidor, el navegador interpreta el código, normalmente escrito en HTML, para mostrarlo en pantalla y el usuario pueda interactuar con ella, los navegadores más utilizados son Mozilla Firefox[19] y Microsoft Internet Explorer[20]. 2.4.1. Servidores Web Las web consultadas por el navegador están alojadas en los servidores web. Un servidor web es un programa que implementa el protocolo HTTP. Este protocolo pertenece a la capa de aplicación del modelo OSI y está diseñado para transferir hipervínculos, páginas web o páginas HTML. Este programa se ejecuta continuamente en un ordenador, manteniéndose a la espera de peticiones por parte de un cliente, navegador web, y que responde a esa petición adecuadamente, mediante la página web que se exhibirá en el navegador o mostrará el respectivo mensaje si detectó algún error. Los más utilizados son Servidor HTTP Apache [21] y tomcat[22]. Tomcat es un servidor web con soporte de servlets y Jsp. Incluye un compilador que compila JSP convirtiéndolas en servlets. El motor de servlets de Tomcat a menudo se presenta en combinación con el servidor web Apache. Dado que tomcat fue escrito en Java, funciona en cualquier ordenador que disponga de la maquina virtual de Java. 2.4.2. JavaServer Pages(JSP) La tecnologia JavaServer Pages (JSP) [23] que utiliza el servidor tomcat, es una tecnología Java que permite generar contenido dinámico para web, en forma de documentos HTML, XML o de otro tipo. Esta tecnología es un desarrollo de la compaña Sun Microsystems. Las JSP’s permiten la utilización de código Java mediante scripts. Además, es posible utilizar algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden enriquecerse mediante la utilización de Librerías de Etiquetas (TagLibs o Tag Libraries) externas e incluso personalizadas. 18 2.4.3. Utilidad en el proyecto El servidor web que utilizaremos será tomcat y servirá para hacer que la aplicación pueda ejecutarse y utilizarse remotamente. Las JSP’s se utilizará para mostrar la correcta funcionalidad del proyecto, para seleccionar todos los parámetros de búsqueda, mostrar el estado actual de la query, la finalización y el total de los resultados 19 3. Sistema En este apartado se explicarán detalladamente todos los procesos realizados en la creación de la aplicación. En el primer sub-apartado se detallarán las características y la información que es posible extraer de los diversos repositorios Web y se justificará porqué se han elegido estos repositorios. También se explicará en detalle el algoritmo de extracción de datos. Este apartado es el más importante y en él se explicará, paso a paso, todo el proceso y porque se realiza cada paso. Adicionalmente, se explicará la estructura de datos, el tipo de datos y los ficheros que se utilizarán en la aplicación. En la última sub-sección se explicará la interfaz web y el manual de usuario. También se expondrán todos los archivos que intervienen en el sistema. Finalmente, se mostrará cómo será la interfaz web y cómo se debe utilizar la aplicación. 3.1. Repositorios web En este apartado se analizarán los repositorios web utilizados, por qué se han elegido y sus características. Los 5 repositorios Web seleccionados son: - Ebay: Repositorio web que contiene información de productos. - Peekyou: web que contiene la biografías. - Allmovie: Repositorio útil por toda la información que contiene sobre film. - Allgame: Contiene todo tipo de información sobre videojuegos. - Allmusic: Web útil que contiene información sobre artistas. ¿Por qué elegir estos repositorios y no otros? Nos hemos guiado por una serie de características o propiedades: - Que cada repositorio web contenga diferentes tipos de datos. - Que sean webs semiestructuradas, es decir, que contengan parte de información con una estructura fija y otra en lenguaje natural. - Estén todos en inglés. 20 - Que se pudiera obtener toda su información mediante técnicas de parseo. - Contener un motor de búsqueda propio para poder realizar búsquedas sobre todas sus webs. Se consultaron muchos repositorios web, como por ejemplo IMDb [24]. Esta web contiene información sobre films pero para esta ocasión se decidió usar allmovies ya que en allmovies la información está mejor estructurada. Otra web que se intentó utilizar fue tripadvisor [25], que contiene información sobre países, y opiniones sobre los lugares que ha visitado los viajeros. El problema de esta web es la parte en lenguaje natural ya que no es lo suficientemente uniforme. En el mismo texto se incluía la descripción sobre la ciudad, los hoteles y restaurantes. Además, alguno de estos tienen o no alguna explicación sobre el lugar y opiniones de los usuarios. Esto hacía que la información extraída sobre un destino fuese muy heterogénea. En definitiva, los problemas que nos hemos encontrado son: falta de información web para procesar, difícil análisis y procesado de dicha información o que no era posible su parseo para poder obtener esta información. A continuación, se explicará la información que contiene cada repositorio web. 3.1.1. Peekyou “Peekyou” es una web que contiene perfiles de cualquier tipo de persona. Contiene aproximadamente 210 millones de perfiles online. Cada perfil contiene datos referentes a: - Nombre: se espera obtener un string que será el nombre completo del usuario. - Lugar de residencia: Será un string en el que tendremos la ciudad, el estado y el país entonces este string será un enumerado ya que contiene un hipervínculo a todos los que son de la misma ciudad, estado, etc. - Usuario: string que contendrá los diferentes usuarios que han modificado esta biografía. - Edad y género: obtendremos un string con el género y un número con la edad por ejemplo “Male, 52 yrs”. - Vida: obtendremos un string que contendrá las diferentes características de su vida definidas por él mismo y separados con el símbolo ‘,’. Este string estará 21 contenido por enumerados ya que contiene un hipervínculo a todos los que les gusta las mismas cosas. - Trabajo: obtendremos un String que contendrá las diferentes características en referencia su trabajo y separados con el símbolo ‘,’. Este string estará contenida por enumerados ya que contiene un hipervínculo a todos los que son del mismo trabajo. - Escuela: obtendremos un String que contendrá las diferentes escuelas en las que ha estudiado y estarán separados con el símbolo ‘,’. Este string estará contenida por enumerados ya que contiene un hipervínculo a todos los que son de la misma escuela. - Biografía: En este caso obtendremos el string con todo el texto en lenguaje natural y éste será el que analizaremos con la aplicación. Todas excepto la biografía son información estructurada; la biografía, en cambio, es texto en lenguaje natural. En la figura 3.1 se muestra la información estructurada y la figura 3.2 la información en lenguaje natural contenido en la web. Figura 3.1 Ejemplo de Peekyou. 22 Figura 3.2. Ejemplo de biografía de Peekyou. Pese a tratarse del repositorio de biografías más grande que existe, no está exento de problemas, ya que es una web en la que cualquier usuario puede crear dichas biografías, y esto conlleva que exista gran cantidad de spam (ver ejemplo en la figura 3.3), que las biografías estén incompletas y/o erróneas, que existan muchas biografías repetidas, que el contenido de las biografías sea diferente para un mismo actor, etc. Figura 3.3. Ejemplo de Peekyou. 23 3.1.2. Ebay “Ebay” es una web destinada a la subasta de productos a través de la web. Ebay fue una de las pioneras en este tipo de transacciones. “Ebay” fue fundada en 1995 por Pierre Omydiar en San Jose, California, y el primer artículo vendido fue un puntero láser inservible, por 13.18 dólares. La información estructurada referente al producto es por ejemplo, lugar de envió, número de objetos, precio, etc. y están mostrados en la Figura 4.1, además en esta imagen podemos observar una variación en la parte estructurada ya que el valor de ItemSpecifics contiene una tabla que a su vez contiene datos en formato clave/valor y la ultima parte es en lenguaje natural es la de descripción del producto. (Figura 4.2). Figura 4.1. Ejemplo web ebay 24 Figura 4.2. Ejemplo web ebay A continuación se detallaran la totalidad de los datos que extraeremos: - Categoría (Listed in Category): Obtendremos un string pero estará definida por enumerados con la lista de categorías ya existente en ebay en las que está definida el producto. - Precio (price): esperamos obtener un valor numérico que contenga el precio del producto. - Fecha de finalización (End Time): Será un String la fecha de finalización para poder comprar o pujar sobre el producto. - Envío (Shipping): se espera obtener un string que estará formado por el precio del envío y la compañía con la que enviará el producto. - Envíos a (Ships to): obtendremos un string en el que se especificaran coste del envío y el lugar de envío. - Ubicación (Item location): se espera obtener un string que contenga el lugar desde donde se envía el producto. - Historial (History): Este parámetro lo obtendremos únicamente si el producto que estamos observando esta en formato puja, obtendremos un string que será una enumeración ya que será el número de pujas obtenidas y esto se genera automáticamente por ebay además contiene un hipervínculo en el que se especifican todas las pujas realizadas. 25 - Máximo pujador (High bidder): Como ocurre con el parámetro anterior, este parámetro lo obtendremos únicamente si el producto que estamos observando esta en formato puja, obtendremos un string que será un enumerado que será el nombre del pujador que en ese momento haya realizado la puja más elevada y será un enumerado debido a que siempre será un usuario registrados en la web. - Características del artículo (Item Specifics): En este caso es una tabla con las características del artículo. Analizaremos esta tabla y generaremos un String que contenga los datos en formato clave/Valor. - Descripcion (Description): En este caso obtendremos el string con toda la descripción y que será el texto en lenguaje natural y será el que analizaremos con la aplicación. El principal problema de este repositorio es la falta de uniformidad en la descripción del producto. Además, puesto que cualquier usuario puede poner cualquier artículo, la descripción puede contener varios errores ortográficos. El otro problema es que en la descripción hay productos que contienen lenguaje javaScript orientado a ofrecer una visualización atractiva y puede añadir “ruido” al proceso de extracción y análisis del texto. 3.1.3. Allmovie “allmovies” es una de las webs con mas información referente a las películas. La web explica todo lo referente a las películas, por ejemplo duración, año, director y la sinopsis. La información semiestructurada de la web se divide en: - Lenguaje natural: Sinopsis de la película. - Parte estructurada: Características del film (año, duración, etc.) Estas características se pueden ver más gráficamente en la figura 5. La parte en lenguaje natural está marcada con un 2 y la estructurada con un 1. 26 Figura 5. Ejemplo de allmovie A continuación, se explicarán todos los datos que podemos obtener con este repositorio: - Año (Year): esperamos obtener un valor numérico se será un enumerado que contenga la fecha en la que se realizó el film y este contiene un hipervínculo hacia todos los films que están realizados en ese año. - Duración (Run Time): Será un String con la duración total del film en la que estará escrita en minutos. - País (Countries): Obtendremos un string en que contendrá el país o países en los que se realizó el film, este string contendrá enumerados ya que contiene hipervínculos hacia los films realizados por estos países. - Ratio (MPAA Rating): obtendremos un string en el que contendrán las letras según el ratio de MPAA. - Categoria (Category): se espera obtener un string que contenga la categoría que esta la película y serán enumerados ya que contiene hipervínculos hacia los films que contienen esta categoría. - Tipo de color (Color Type): Esto será un string que contendrá el color en que está realizada la película. 27 - Director (Director): será un string que contendrá el nombre completo del director o los directores de la película, será enumerado ya que contiene hipervínculos hacia los films que ha dirigido el director. - Géneros (Genres): En este caso es una tabla con los géneros en los que está definida la película. Con esta tabla generaremos un string. Este string estará contenido por enumerados ya que contiene hipervínculos hacia los films que contienen el mismo género. - Tipo (Types): En este caso es una tabla con los tipos en los que está definida la película. Con esta tabla generaremos un string. Este string estará formado por enumerados ya que contiene hipervínculos hacia los films que contienen el mismo tipo. - Flags (Flags): En este caso es una tabla con los flags que está definida la película. Con esta tabla generaremos un string. Este string estará formado por enumerados ya que contiene hipervínculos hacia los films que contienen el mismo flags. - Palabras clave (Keywords): En este caso es una tabla con las palabras clave con las que está definida la película. Con esta tabla generaremos un Este string estará formado por enumerados ya que contiene hipervínculos hacia los films con las mismas palabras clave. - Producido por (Produced by): Obtendremos un string que contendrá el nombre o la empresa que ha producido el film. Este string estará formado por enumerados ya que contiene hipervínculos hacia los films que han sido producido por la misma empresa o persona - Publicado por (Released by): Obtendremos un string que contendrá el nombre o la empresa que ha publicado el film. . Este string estará formado por enumerados ya que contiene hipervínculos hacia los films que han sido publicado por la misma empresa o persona - Sinposis (synopsis): En este caso obtendremos el string con toda la sinopsis y que será el texto en lenguaje natural y será el que analizaremos con la aplicación. 28 3.1.4. Allgame “Allgame” contiene todo tipo de información referente a todo tipo de videojuegos desde los años 80 hasta la fecha actual. La información semiestructurada de la web se divide en: - Lenguaje natural: Sinopsis de los videojuegos. - Parte estructurada: características del juego (año, plataforma, género, estilo, etc.) Estas características se pueden ver más gráficamente en la figura 6. La parte en lenguaje natural está marcada con un 1 y la estructurada con un 2. Figura 6. Ejemplo de allgame A continuación, se explicarán todos los datos que podemos obtener con este repositorio Web: - Titulo (Title): esperamos obtener un String se será el nombre oficial del videojuego. - Plataforma (Platform): esperamos obtener un string que será un enumerado que contenga la plataforma en la que se realizó el juego y este contiene un hipervínculo hacia todos los juegos que forman la plataforma definida. 29 - Ratio (ESRB Rating): obtendremos un string en el que contendrán los límites de edad y el porqué se elije este ratio. - Géneros (Genres): en este caso es una tabla con los géneros en los que está definido el videojuego. Con esta tabla generaremos un string. Este string estará formado por enumerados ya que contiene hipervínculos hacia los videojuegos que contienen el mismo género. ‐ Estilo (Style): en este caso es una tabla con los estilos en los que está definido el videojuego. Con esta tabla generaremos un string. Este string estará formado por enumerados ya que contiene hipervínculos hacia los videojuegos del mismo estilo. - Temas (Themes): en este caso es una tabla con los géneros en los que está definido el videojuego. Con esta tabla generaremos un string. Este estará formado por enumerados ya que contiene hipervínculos hacia los videojuegos que existen en el mismo tema - Año (Release Data): esperamos obtener un valor numérico se será un enumerado que contenga la fecha en la que se realizó el juego. - Desarrollador (Developer): será un string que contendrá el nombre completo de los desarrolladores del videojuego, será enumerado ya que contiene hipervínculos hacia todos los videojuegos que han desarrollado. - Publicado (Published): Obtendremos un string que contendrá el nombre de la empresa que ha publicado el videojuego. Este string estará formado por enumerados ya que contiene hipervínculos hacia los videojuegos que han sido publicado por la misma empresa. - Controles (Controls): Obtendremos un string en que contendrá como se puede controlar el juego, como por ejemplo ratón, teclado, etc. - Warnings (Warnings): se espera obtener un string que contenga las diferentes precauciones sobre el contenido del videojuego. - Flags(Flags ): En este caso es una tabla con los flags que está definido el videojuego. Con esta tabla generaremos un string. Este string estará formado por enumerados ya que contiene hipervínculos hacia los videojuegos que contienen el mismo flags. - Incluido (Included in package): se espera obtener un string que contenga el videojuego además del disco, etc. - Sinposis (synopsis): En este caso obtendremos el string con toda la sinopsis y que será el texto en lenguaje natural y será el que analizaremos con la aplicación. 30 3.1.5. Allmusic “allmusic” web con datos referentes a todo tipo de música. La información semiestructurada de la web se divide en: - Lenguaje natural: Sinopsis de la película. - Parte estructurada: Características del film (año, duración, etc.) Estas características se pueden ver más gráficamente en la figura 7. La parte en lenguaje natural está marcada con un 2 y la estructurada con un 1. Figura 7. Ejemplo de allmusic A continuación, se explicaran todos los datos que podemos obtener con este repositorio Web: - Géneros (Genres): En este caso es una tabla con los géneros en los que está definido el cantante o grupo. Con esta tabla generaremos un string. Este string 31 estará formado por enumerados ya que contiene hipervínculos hacia los músicos del mismo género. - Estilo (Style): En este caso es una tabla con los estilos en los que está definido el cantante o artista. Con esta tabla generaremos un string. Este string estará formado por enumerados ya que contiene hipervínculos hacia los cantantes que están en el mismo estilo. - Moods (Moods): En este caso es una tabla con los moods en los que está definido el cantante o artista. Con esta tabla generaremos un string. Este string estará formado por enumerados ya que contiene hipervínculos hacia los cantantes que están en los mismos moods. - Biografía: En este caso obtendremos el string con todo el texto en lenguaje natural y este será el que analizaremos con la aplicación. 32 3.2. Diseño e implementación del algoritmo de extracción de datos En este apartado se explicará todo el proceso referente a la extracción de datos. La función principal del algoritmo de extracción de datos, es analizar las páginas web obtenidas a partir de los parámetros introducidos mediante la interfaz web diseñada. A continuación se muestra un diagrama con todo el proceso que se realiza: Parámetros introducidos Entidad buscada Repositorio web elegido Creación de la URL de búsqueda Análisis URL Utiliza HTMLParser Análisis URL final Api Buscadores Utiliza Se repite para todo el texto Análisis de los SN OpenNLP Guardar resultados Se repite hasta finalizar el tiempo o número de resultados Realizar una nueva búsqueda Final de la aplicación Figura 8. Pasos generales que realiza la aplicación. 33 A continuación, explicaremos los pasos que realiza la aplicación en el proceso mostrados en el diagrama anterior. Primero, se obtendrán los parámetros introducidos vía Web. Uno de estos parámetros será la entidad buscada, que tiene que estar en inglés. ¿Por qué introducirlo en inglés? la aplicación está realizada para analizar textos en inglés y la totalidad de los repositorios Web utilizados en la aplicación están en inglés. Una vez obtenidos los parámetros, es necesario crear la query de búsqueda en función del repositorio y la entidad introducida anteriormente. La query de búsqueda consistirá en la definición de una URL con parámetros. Estos parámetros habitualmente contienen el término que se desea buscar, y por ejemplo, dependiendo de la web, puede contener el número de resultados por página que se desean mostrar en la web. Un ejemplo de esto sería ebay: http://shop.ebay.com/?_from=R40&_trksid=p3907.m38.l1313&_nkw=jackson Donde la parte “&_nkw=jackson” hace referencia a que el término que se desea buscar es jackson. Análisis URL consiste en que, con la anterior query, obtendremos una web con los resultados a partir de los datos introducidos anteriormente. Esta web la parsearemos con HTMLParser, y entonces la analizamos y extraemos las webs relacionadas con el término. Una vez obtenidas las URL, seleccionaremos la URL que contiene el primer resultado. Una vez analizada esta URL obtenemos un string con toda la información de la web y extraeremos la información estructurada y la información en Lenguaje Natural. La información en lenguaje natural, la analizaremos con la herramienta OpenNLP, que como ya hemos explicado en la sección anterior se utiliza para el procesamiento de Lenguaje Natural. Una vez analizado con el OpenNLP, obtenemos una serie de términos clasificados semánticamente y morfológicamente. Nos centraremos en el análisis de los SN. Los SN extraídos, deberán pasar una serie de filtros para poder seleccionar únicamente aquellos que estén relacionados con la entidad buscada. Estos filtros se basarán en un análisis estadístico realizado a partir del número de ocurrencia y coocurrencias de los términos analizados en la Web. Por razones de eficiencia, los estadísticos se extraerán a partir de número de resultados proporcionados por buscadores Web. A partir de estos estadísticos, se asignará un ratio a cada elemento extraído que definirá el grado de relación de este término en relación a la entidad analizada. Con estos valores y, a partir de los parámetros de entrada definidos por el usuarios, se realizará un proceso de filtrado y se creará un ranking de los términos extraídos. 34 Toda esta información la prepararemos y la guardaremos en un fichero en formato clave/valor para un análisis posterior con algoritmos de minería de datos. Todo este proceso se repetirá durante el tiempo y/o el número de resultados introducidos mediante los parámetros de la interfaz web. Esto es a grandes rasgos todos los pasos que sigue la aplicación. A continuación se explicarán todos estos procesos más detalladamente. 3.2.1. Análisis Web En este apartado se explicará detalladamente todo el proceso de análisis web, este proceso abarca desde la creación de la query hasta el proceso del lenguaje natural. Tal y como hemos definido en el apartado 3.1, el primer paso del análisis web es obtener URL referente al repositorio web. La query se construirá en función del repositorio web escogido. La forma de construir las diferentes URLs según el repositorio es: Para ebay se crearía así: http://shop.ebay.com/?_from=R40&_trksid=p3907.m38.l1313&_nkw= y a continuación, se le añadiría la entidad buscada. Para peekyou se crearía con la siguiente URL: http://www.peekyou.com/ y a continuación, se le añadiría la entidad buscada. Para allmovie se crearía a partir de: http://www.allmovie.com/search/work/ y a continuación, se le añadiría la entidad buscada. La URL de allgame se crearía así: http://www.allgame.com//search.php?game= y a continuación, se le añadiría la entidad buscada. Para allmusic la crearíamos utilizando la siguiente: http://www.allmusic.com//cg/amg.dll?p=amg&sql=1: y a continuación, se le añadiría la entidad buscada. Un ejemplo de URL podría ser 35 http://shop.ebay.com/?_from=R40&_trksid=p3907.m38.l1313&_nkw=goku en el que obtendríamos todos los productos de ebay relacionados con la palabra goku. Esta URL que hemos creado, es la dirección de la web que contiene la lista de resultados que obtenemos al buscar el término introducido. Una vez obtenida la URL, analizaremos la lista de resultados que contiene para poder extraer las URL de las entidades concretas. A continuación un ejemplo de la web de resultados: Figura 9. Ejemplo de les resultados obtenidos por ebay Para poder realizar esto, se tiene que buscar en el texto las URLs. Por ejemplo, en ebay tendríamos que buscar http://cgi.ebay.com/ y una vez encontrada esta parte de la URL tendremos que delimitarla con el símbolo '”' para poder obtener la totalidad de la URL de dicho producto de ebay. Un ejemplo de esta URL sería la que tenemos a continuación: http://cgi.ebay.com/NEW-Complete-Dragonball-Z-69-DVD-Set-291-Eps13Movies_W0QQitemZ280351471204QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=i tem41463ff664&_trksid=p3286.c0.m14&_trkparms=72%3A1205%7C66%3A2%7C65%3A12 %7C39%3A1%7C240%3A1307%7C301%3A1%7C293%3A1%7C294%3A50 En este momento, llegamos a la parte más importante del proyecto. 36 La URL es el parámetro de entrada para la utilización de HTMLParser. HTMLParser nos devolverá el contenido de cada URL mediante un String, que será el que analizaremos en el siguiente paso. El siguiente paso es analizar el string obtenido, esto se realiza en función de la estructura de cada web, ya que evidentemente serán diferentes. . Como ya hemos explicado anteriormente, las web que analizamos son semiestructuradas y contienen información fija y variable. Primero se intentará extraer la información fija. ¿Por qué extraemos primero la información fija? Pues principalmente por la rapidez que se puede extraer en comparación de la variable, ya que la información variable requerirá un análisis más exhaustivo. Para poder obtener la información fija, analizamos el string en el que teníamos todo el contenido de la Web, en él buscaremos los términos fijos que siempre siguen el mismo formato. Un ejemplo de esto sería el caso de ebay. En ebay alguno de los parámetros fijos que buscaremos serán: “Item title:”, "Listed", "Current bid:", "price:". La búsqueda de estos elementos se realiza igual con todos los repositorios. La única diferencia entre ellos es clave que se utiliza como regla de extracción. Un ejemplo de cómo se realiza esta extracción es: if(web.indexOf("Shipping:")>=0){ aux = web.substring(web.indexOf("Shipping:")+9); String postage = quitarHTML(aux.substring(0, aux.indexOf("Ships to:"))); postage=salto(postage); postage=tab(postage); claveValor cv2=new claveValor(); cv2.setClave("Shipping="); cv2.setValor(postage); result.add(cv2); } En este caso, el acotamiento por la parte final del string a extraer se realiza por otro valor fijo. Una vez acotado el lugar donde está el dato a extraer, como se puede observar en el código añadido, realizamos un proceso de limpieza para poder extraer la totalidad de elementos HTML que podría contener. 37 Después de limpiar toda la información que no nos sería útil la añadiremos en la lista de resultados. A continuación se mostrara un diagrama con todos los pasos explicados anteriormente. Parseo URL + Entidad Buscada HTMLParse Parsear URL Resultado HTMLParse Si Obtener datos estructurados Obtener datos estructurados Figura 10. Pasos realizados para la obtención de los datos web 3.2.2. Análisis y selección de sintagmas. Una vez obtenida toda información fija extraeremos la parte variable. Ésta se obtendrá de la misma manera, buscando un término fijo. Lo que cambia en este caso es que se analizará todo el string obtenido ya que es en lenguaje natural y no tiene ninguna estructura. En este caso nos interesará extraer del texto sólo aquellos elementos que estén más relacionados con la entidad buscada. A continuación se mostrará un diagrama que contendrá todos los pasos: 38 Obtener lenguaje Natural string Utiliza OpenNLP String = [NP [Si] [No] Seleccionar substantivos Limpiar texto HTML Figura 11. Pasos realizados para el análisis del texto en lenguaje natural Una vez obtenida la información en lenguaje natural y limpiada de todos los datos en formato HTML, utilizaremos el OpenNLP para analizarlo. Como ya hemos explicado anteriormente, con OpenNLP primero analizaremos morfológicamente todas las palabras y después las agruparemos en sintagmas. Un ejemplo de cómo nos deja preparado el texto es lo siguiente: [SBAR if/IN ] [NP you/PRP ] [VP have/VBP ] [NP a/DT software/NN issue/NN ] [PP in/IN ] [NP the/DT first/JJ 30/CD days/NNS ] Con el fin de preparar el texto para que pueda ser analizado posteriormente y así poder seleccionar únicamente las partes que puedan servir como descripción de la entidad, se realizarán los siguientes pasos: 1. Buscar todos los sintagmas nominales que existen en el texto anteriormente analizado con OpenNLP. Esto se realizará comprobando si existe en el texto el string “[NP” que es Sintagma Nominal definido por OpenNLP. Entonces se buscan únicamente los Sintagmas nominales porque son los que aportan la semántica al texto. 2. En el siguiente paso, se procesará cada sintagma según la política de análisis que hayamos seleccionado. Concretamente, tenemos la opción de quedarnos con 39 todo el sintagma (cosa que resultará en un término muy concreto) o solamente con el elemento de más a la derecha (que representa de forma general la entidad a la que se hace referencia). El string resultante lo llamaremos “fraseFinal”. 3. El siguiente paso que realizaremos será limpiar todos los tags existentes en “fraseFinal” definidos anteriormente por el OpenNLP. Para poder mostrar mejor estos filtros se mostrarán con un ejemplo: Inicio: frase analizada [SBAR if/IN ] [NP you/PRP ] [VP have/VBP ] [NP a/DT software/NN issue/NN ] [PP in/IN ] [NP the/DT first/JJ 30/CD days/NNS ] Primer Paso: selección de sintagmas nominales (NP) [NP you/PRP ] [NP a/DT software/NN issue/NN ] [NP the/DT first/JJ 30/CD days/NNS ] Segundo paso: lista de de sintagmas completos o término más a la derecha (separados por #): you/PRP#a/DT software/NN issue/NN #the/DT first/JJ 30/CD days/NNS o issue/NN # days/NNS Tercer paso: limpiar marcas del análisis issue#days o en su defecto, you#a software issue#in #the first 30 days 3.2.3. Análisis y selección de sintagmas. Una vez obtenidos los sintagmas nominales del texto, necesitamos comprobar el grado de relación de estos sintagmas respecto a la entidad buscada desde los parámetros web. Esto nos será útil para seleccionar únicamente aquellos que ayudan a describir mejor la entidad y no aquellos que puedan introducir ruido en posteriores pasos del análisis. Como sintagma representante de la entidad analizada sobre la cual realizar la comparación con los sintagmas extraídos, nos quedaremos con el título del producto/ nombre de la película/ nombre del actor, etc. Por ello, también necesitaremos analizar el título de la entidad mediante OpenNLP, seleccionado, según la política definida, todo el sintagma o sólo el nombre más general. Para comprobar lo similar que es un sintagma extraído con respecto a la entidad, necesitamos un dato estadístico que relacione el título con los sintagmas nominales. Esto se realizará analizando coocurrencia de los términos en toda la Web. 40 Para nuestra aplicación hemos utilizado el grado de coocurrencia relativa entre los SN y el título. Este valor se calculará a partir de la probabilidad condicionada: Esta función indica que la probabilidad que suceda A si sucede B. En nuestra aplicación A sería el sintagma y B el título de la entidad. En nuestra aplicación, el cálculo de las probabilidades se realizará a partir del número de Hits devuelto por un buscador Web cuando se realicen las queries correspondientes. Esto es, el número de apariciones que nos devuelve un buscador web a partir de un query. Con esto obtenemos la ventaja de que el cálculo estadístico se realiza sobre una gran cantidad de información y se obtiene muy rápidamente. Expresado en términos de sintagmas extraídos del texto, la fórmula quedaría así: Teniendo en cuenta que el valor resultante nos permitirá establecer un ranking de los sintagmas extraídos para una entidad concreta, la fórmula podrá simplificarse, ya que Hits (tituloFinal) en común en todos, ya que se busca en relación al mismo título. Entonces la formula finalmente queda así: Un ejemplo de la utilización del ratio sería, por ejemplo si el sintagma extraído del texto biográfico de Bruce Willis es “die hard”, el número total de Hits de ese sintagma sería 11.100.000. Ahora calcularíamos número uniéndolo con el título “die hard” and “Bruce Willis” donde bruce willis es el título de la entidad analizada y obtendríamos 1.030.000 hits. Así el grado de relación semántica sería 0.0927. Si en este mismo texto aparece el término “nothing”, obtendríamos por la palabra “nothing” 447.000.000 hits y unida con el título “nothing” and “Bruce Willis” serían 969.000, obteniendo un ratio de 0.0021. Con estos resultados concluiríamos que “die hard” tiene más relación semántica con “Bruce Willis”que con el término “nothing”. 41 Un problema de este tipo de análisis son los “falsos positivos” causados por palabras mal escritas. En este caso, al ser un término que únicamente ocurre en unas pocas web (y concretamente en la que estamos analizando), puede resultar en un ratio alto. Por ejemplo, en google buscamos "tamanio pantalla" y obtenemos 9 resultados pero en cambio si buscamos "tamaño pantalla" obtendremos aproximadamente 408.000 resultados. Si el error ortográfico está contenido en una de las web que analizamos, parecerá que es un término muy relacionado. Para solucionar estos problemas se permite indicar un mínimo número de hits para cualquier sintagma, de forma que se puedan filtrar este tipo de casos. Otro problema que puede surgir por el hecho de utilizar queries en buscadores Web es que el elemento a buscar tenga tantas palabras (por ejemplo, un título de producto en Ebay) que nos devuelva un número muy reducido de Hits. En este caso, el análisis estadístico sería muy pobre ya que se basa en un número muy pequeño de observaciones. Para solucionar este problema, tal como se ha comentado en la sección anterior, se han habilitado diferentes políticas de tratamiento de los SN extraídos. De esta forma, en determinados casos en los que el SN pueda ser muy complejo, se utilizará en su lugar únicamente el nombre más general de este sintagma, que corresponde al sustantivo de más a la derecha. Esto puede aplicarse tanto al título de la entidad como a cada uno de los sintagmas extraídos del texto. Los valores de la política de SN son: "Sustantivo principal de frase y titulo", "Sustantivo principal del título”, "Sustantivo principal de la frase" y "Todo el SN de titulo y frase". Este parámetro lo utilizamos para dejar el SN que hemos obtenido con el OpenNLP, o dividirlos y obtener el sustantivo más a la derecha ya que es el más importante. ¿Por qué elegir el último sustantivo? Pues porque en las estructuras gramaticales, los sustantivos se ordenan de izquierda a derecha, del más especifico al más general. La obtención de los estadísticos concretos para cada query se realiza el acceso a los buscadores Web a través de Apis de búsqueda como ya explicamos en el apartado 2.3. Con estos ratios, crearemos un ranking para que al inicio estén los que tienen más relación con el titulo y al final los que menos. Ahora explicaremos detalladamente los pasos a seguir para realizar los ratios y el ranking: 1. Inicialmente tenemos que obtener los hits del “fraseFinal” y comprobamos si cumple la condición del mínimo de Hits explicada anteriormente. 2. A continuación, se calculará los Hits del “tituloFinal + fraseFinal” y también comprobaremos que cumple la misma condición del mínimo de Hits. 3. Una vez obtenidos los 2 hits, crearemos el ratio con la formula descrita anteriormente. 42 4. Una vez obtenido el ratio tenemos que comprobar que cumple la otra condición, que es el ratio mínimo, que lo definirá el usuario. Esto permitirá al usuario decantarse por un análisis en el que se obtendrán muchos resultados pero con baja precisión (ratio alto) o análisis más precisos pero con un número más limitado. Si el ratio ha pasado todos estos filtros, lo único que falta es añadirlo en la posición correcta, se realiza con una búsqueda dicotómica ya que se espera que la cantidad de sintagmas nominales, no sea tan grandes como para que nos ralentice demasiado el proceso. Una vez realizado este proceso, lo único que nos falta es guardarlo, en el fichero como parte de descripción, biografía o sinopsis. Hits (fraseFinal) >= Min Hits [No] Utiliza [Si] Utiliza OpenNLP Hits (fraseFinal+tituloFinal)>=MinHits GoogleApi Utiliza [Si] [No] Eliminar SN [No] [Si] Ratio >= Min Ratio [No] [Si] Sintagma seleccionado Figura 12. Pasos realizados para el filtrado de los SN 43 3.2.4. Fichero de resultados Los ficheros de resultados es una parte importante de la aplicación, ya que estos ficheros son los que se que contienen los datos extraídos en el formato adecuado para que se pueden utilizar como entrada para aplicar algoritmos de minería de datos. Estos archivos se guardan en “c:\logPFC”, el archivo se guarda con el nombre del repositorio, la búsqueda y el tiempo. Un ejemplo de cómo se forma el nombre sería el siguiente: allgameBruce_1243255412961.txt En estos archivos lo que guardamos es toda la información obtenida. Los datos se guardan en formato clave/valor. A continuación, mostraremos un ejemplo de formato del fichero: Title=Get Bruce! Link=http://www.allmovie.com/work/get-bruce-177559 Year= 1999 Run Time= 82 min. MPAA Rating=R Category= Documentary Color= Color Director= Andrew Kuehn Types=Biography [nf]# Film & Television History Flags= Adult Humor # Adult Language Keywords=writing#award#celebrity#client#comedian#entertainer#man#stars [astronomy] Themes=Writer's Life MPAA Reasons= for language and risque humor Released by=Miramax synopsis=Bruce(1.0928667563930012)#Vilanch(0.9945887445887446)#Vilanch(0.9945887445887446)# Vilanch(0.9945887445887446)#Grammys(0.7295805739514348)#Goldberg(0.3853305785123967)#Gol dberg(0.3853305785123967)#Midler(0.30023640661938533)#1970s(0.2125984251968504)#roasts(0.18 947368421052632)#telecast(0.18636363636363637)#controversy(0.1730263157894737)#parodies(0.16 965811965811967)#luminaries(0.14156626506024098)#Friar(0.14076433121019108)#revival(0.124022 34636871508)#rotund(0.11647058823529412)#writer(0.10676691729323308)#writer(0.1067669172932 3308)#riffs(0.1033434650455927)#remarks(0.1024390243902439)#audiences(0.09950980392156862)#s taple(0.09187643020594966)#contributions(0.0890134529147982)#weapon(0.08571428571428572)#ne wspaper(0.08150684931506849)#Squares(0.08148148148148149)#figure(0.07094017094017094)#genr e(0.06873239436619719)#portrait(0.06518847006651884)#native(0.06514830508474577)#Crystal(0.05 303030303030303)#Crystal(0.05303030303030303)#shows(0.04879518072289157)#stars(0.047761194 02985075)#stars(0.047407407407407405)#entertainment(0.040721649484536084)#others(0.039108910 89108911)#years(0.03464566929133858)#note(0.03216630196936543)#variety(0.02952191235059761) #event(0.024042879019908116)#work(0.02167785234899329)#job(0.020618556701030927)#oneliners(0.012538461538461538)#push-ups(0.0011845238095238096)# 44 Como se puede observar el formato que se guarda es clave = valor. Cuando hay varios elementos, estos los separamos con el carácter ‘#’. El número entre paréntesis sería el ratio obtenido por los buscadores web. 3.3. Implementación En esta sección de describen de forma general las principales clases y estructuras de datos empleadas durante la implementación del sistema descrito. 3.3.1. Clases En esta subsección explicaremos las clases que se utilizan para analizar toda la información obtenida desde las URL. - allgames.java, allmovies.java, allmusic.java, ebay.java y peekyou.java Estas clases son las más importantes de toda la aplicación ya que con ellas obtenemos todos los datos que contienen las distintas Webs. - nodo.java y claveValor.java Estas clases contienen información que se almacenará en los ficheros de resultados. Clavevalor.java se utiliza para guardar todos los datos y nodo.java se utiliza para guardar la información de los SN y su ratio. textOrganizer.java es el encargado de analizar, separar y organizar toda la información en Lenguaje Natural, ya que esta clase que en el método public static List<nodo> organizar (String text, String titulo, String hit,String Minratio, int buscador, String SN) que inicialmente llama al OpenNLP y es el que realiza todo lo explicado en el apartado 3.2.3. 3.3.2. Tratamiento de parámetros Los parámetros de entrada se almacenan en la estructura de datos “MenuForm”. Esta estructura de datos guardará únicamente la totalidad de los datos introducidos desde la interfaz web. Exactamente guardará: -El ratio mínimo. -Entidad buscada. -Base de datos, es decir repositorio web. -El nombre del buscador -La política del SN. -Mínimo de Hits. -Duración de la aplicación. -Lista con todas las búsquedas. 45 3.3.3. Resultados de la búsqueda Este apartado hace referencia a la E.D. llamada “ClaveValor”. En esta estructura guardamos los datos que después utilizaremos para guardar el archivo y mostrar todos los datos en la web. Exactamente se guardará: -El término obtenido del análisis de la web, por ejemplo (price=) -El string obtenido del análisis de la web, por ejemplo (2$) 3.3.4. Resultados del análisis Este apartado hace referencia a la E.D. llamada “nodo”. En esta estructura guardamos los datos que vamos obteniendo durante el análisis del texto en lenguaje natural: -El término analizado, por ejemplo (“die hard”) -El número del ratio obtenido a partir del análisis, por ejemplo (0.0012) 3.4. Diseño e implementación de la aplicación web En este apartado se explicará detalladamente la interfaz gráfica del usuario, que como hemos explicado en el apartado 2 será una interfaz web. La aplicación está implementada mediante clases Java, excepto la parte de interfaz en la que se utilizan JSPs. Al ser una aplicación implementada mediante JSPs, toda la información introducida en la web se obtiene cuando se selecciona el botón submit y esto se envía a una clase que obtiene todos los datos. A la hora de diseñar la aplicación, además de permitir la introducción de los parámetros de entrada, queremos flexibilidad a la hora de hacer búsquedas, puesto que estas pueden tardar mucho. Por una parte queremos dar información continua sobre la búsqueda en tiempo de ejecución y, por otra, permitir establecer el “tamaño” de la búsqueda, tanto en espacio como en tiempo. Para ello se ha permitido la introducción de una lista de elementos que servirá para realizar la búsqueda de cada uno de ellos. Para la correcta lectura de la lista se debe introducir cada elemento separado con el carácter “;”. También se podrá indicar un número máximo de resultados por query o buscarlos todos e indicar un tiempo máximo de búsqueda para realizar este proceso (manejado mediante threads concurrentes). 46 También se han diseñado una serie de frames que contienen un timer para su actualización automática. Tenemos un frame que muestra los resultados y otro el estado de la aplicación. El timer de estos frames es diferente ya que los resultados no necesitan actualizarse simultáneamente. Por una parte, en el estado se muestra el tiempo que dura la aplicación, si esta activa la búsqueda, etc.; esto se espera que se actualice cada pocos segundos. Por otra, en el frame que muestra los resultados obtenidos, puesto que estos no tardan varios segundos en obtenerse, no necesita actualizarse tan a menudo. 3.4.1. Implementación La aplicación web está formada por los siguientes componentes. JSP - menu.jsp: Página de inicio en la que se escogen todos los parámetros para realizar la búsqueda. De este fichero enviamos la información al menuForm.java - mostrar.jsp, resultados.jsp, estado.jsp, El primero, mostrar.jsp contiene resultados.jsp y estado.jsp. El estado.jsp muestra el estado actual en el que se encuentra la aplicación y resultados.jsp va mostrando todos los resultados que va obteniendo durante la ejecución de la aplicación. Estos jsp contienen un Timer para poder realizar la actualización automática de los .jsp mientras se van obteniendo los resultados para así poder observar en tiempo real los resultados obtenidos. Form - menuForm.java. Es una de las estructuras de datos más importantes de la aplicación ya que este fichero es el encargado de validar y guardar toda la información introducida vía web. Action - menuAction.java Clase en la que inicialmente generaremos los archivos en los que guardaremos los datos y a continuación crearemos el thread que inicia la búsqueda y el thread que matará la aplicación si no ha finalizado la búsqueda. Threads - DeadlineHitsThread.java Clase que crea el thread para una vez consumido el tiempo matar el thread que realiza la búsqueda. Esta clase se inicia en la clase menuAction.java y el tiempo viene definido por el parámetro introducido en el menú.jsp 47 - HitsThread.java Es la clase que inicia todo el proceso de la aplicación, selecciona el repositorio web a partir de la información introducida y es el que crea la URL una vez creada la tenemos que analizar para poder obtener las URLs que contiene los datos a analizar. Tal y como hemos explicado en el análisis de todas las clases, se ha observado que la interfaz web se muestra con los ficheros JSP. 3.5. Manual de Usuario En este apartado se explicará detalladamente las características de la interfaz web realizada para que cualquier usuario pueda utilizarla sin tener ninguna duda. La página de inicio es el menú principal, en él, seleccionaremos todos los parámetros que queremos en nuestra búsqueda. La página principal puede tener 2 aspectos diferentes, sin búsqueda avanzada (Figura 13.a) y con búsqueda avanzada (Figura 13.b). Figura 13. a. Web sin búsqueda avanzada. El botón “Búsqueda avanzada” muestra los diferentes parámetros disponibles en esta aplicación. Figura 13. b. Página que se muestra con opciones avanzadas. 48 A continuación, describiremos todos los parámetros que se pueden elegir: • Búsqueda: Es una área de texto que permite introducir el texto de la búsqueda deseada. • Lista de búsqueda: usando la “Búsqueda Avanzada” se puede introducir una la lista con todas las entidades que se deseen buscar. Cada elemento a buscar debe separar-se con ‘; ‘, finalizando siempre con un ‘; ’. En el caso de peekyou la búsqueda se debe introducir de la siguiente manera: Si se busca por nombre: se tendría que escribir el nombre acabado en guión bajo (nombre_) un ejemplo de esto sería bruce_ , ya que si no se añade el guion buscaría todos los resultados que contiene la web. Si se desea buscar nombre y apellido: deberás introducirlo de la siguiente forma: nombre_apellido, por ejemplo bruce_willis. • Base de datos: son los diferentes repositorios web disponibles • Buscador: son msn, google y yahoo • Política de SN: que son 4, “Sustantivo principal de la frase”, “Sustantivo principal de frase y titulo”, “Todo el SN y titulo” y “Sustantivo principal del título. • Número de resultados: que son 10, 20, 40, 80, 160, 320, 640 y 1000, además también se permite seleccionar todos los datos o introducir el número que desees. • Ratio: que son 0, 0.1, 0.01, 0.001 y 0.0001, en el que 0 se utiliza para elegir todos los elementos sin filtrar por el ratio. • Tiempo de búsqueda en min: son 5, 10, 20, 50, 100, 200, 500, 700, 1000 y infinito. En el que infinito sería obtener el número de resultados introducidos. • Min hits: son 10, 50, 100, 200, 500, 700, 1000. Los cuatro últimos parámetros tienen varias opciones prefijadas, pero se puede introducir cualquier valor numérico manualmente. Si clicamos al botón buscar generaremos del submit del formulario que hemos explicado en el apartado 3.2. y a la vez nos redireccionará a la página de resultados que se muestra en la figura 14. 49 Figura 14. Pagina de los resultados Como vemos en la figura 14, en la parte superior se muestra el logo de la base de datos utilizada. A continuación tenemos la lista de términos que deseamos buscar, seguidamente tenemos todos los parámetros introducidos anteriormente y el tiempo que lleva la búsqueda activa. Los resultados vienen a continuación, para cada resultado se muestra el titulo con un hipervínculo que te muestra la web de la que se han obtenido los resultados. A continuación están todos los datos obtenidos en el análisis, en negrita está la clave y a continuación el valor que hemos obtenido. El botón volver, se utiliza para redirigir a la página anterior en la que podemos volver a elegir los parámetros. La última parte del frame está destinada al estado actual de la aplicación en la que durante la búsqueda mostrará: 50 Buscando… Dragon Ball, 10 min.) Resultados encontrados: 8 (máximo 10), Tiempo transcurrido 9min. (máximo Lista de búsuqeda=Dragon ball, goku; Párametros por Término introducido: Buscador=msn, BBDD=ebay, Tiempo máx.=10 min., TipoSN=Sustantivo principal de la frase; MinHits=10, máx. núm. Resultados=10, Ratio=0, Tiempo Total aproximado= 9 min. Como se puede observar, en la primera línea se muestra un mensaje conforme la búsqueda esta activa. En la segunda línea se muestra el estado de la búsqueda, es decir, muestra el número de elementos encontrados juntamente con el número máximo de elementos que podremos obtener y el tiempo que lleva en ejecución la búsqueda y a continuación, los minutos máximos que durará la búsqueda. Las siguientes líneas son para mostrar los datos introducidos a través de la interfaz. Y finalmente se mostrará el tiempo total que ha tardado en realizar la búsqueda. Una vez finalizada se mostrará la siguiente información: Resultados encontrados: 10 (máximo 10), Tiempo transcurrido 9min. (máximo 50 min.) Lista de búsuqeda=Dragon ball; Párametros por Término introducido: Buscador=msn, BBDD=ebay, Tiempo máx.=50 min., TipoSN=Sustantivo principal de la frase; MinHits=10, máx. núm. Resultados=10, Ratio=0, Tiempo Total aproximado= 9 min. Básicamente se muestran los mismos datos excepto la parte de “Buscando.. “ que informa que la búsqueda activa. Y la parte de Tiempo Total aproximado muestra el tiempo total que lleva en ejecución la aplicación. 51 Juego de pruebas 4. En este capítulo se realizarán una serie de pruebas para comprobar el correcto funcionamiento de la aplicación. La aplicación necesita 8 parámetros diferentes para su ejecución: el término que se desea buscar, tipos de repositorio y buscador, política del SN, el número de resultados, ratio mínimo, mínimo de Hits que aceptamos y el tiempo de búsqueda. Con dichos parámetros variaremos los resultados, como mostraremos a continuación: ‐ Dependiendo del término y del repositorio web introducidos, el número de datos introducidos serán más o menos extensos. Por ejemplo, si introducimos Bruce_Willis, en allmusic el resultado será muy inferior al proporcionado, por ejemplo, per peekyou que trata de biografías. ‐ Otra variable será el buscador elegido, ya que esto afectará en el tiempo de duración de la búsqueda. Por ejemplo, utilizar el buscador de google con el repositorio web de ebay podríamos tardar mucho más tiempo que utilizando el msn. ‐ La política del SN es otro parámetro muy importante, ya que este condicionará mucho el número de resultados que podríamos obtener. Por ejemplo, si seleccionamos “Sustantivo principal de frase y titulo” al ser simples nombres podremos obtener gran cantidad de información, pero si en cambio elegimos “todo el SN de frase y titulo” obtendremos muy pocos Hits ya que buscaremos si existen dichos SN en la mismo frase y esto reduce dramáticamente la cantidad de resultados. Este parámetro es muy útil por ejemplo para peekyou, ya que el titulo será el nombre de la persona y con todo el nombre obtendremos más información útil referente a la persona. ‐ El número de resultados que se desean obtener y el tiempo de búsqueda nos servirá para definir la extensión de la búsqueda. ‐ El mínimo de Hits, servirá como ya hemos informado anteriormente, para eliminar “falsos positivo”, esto nos servirá para definir a partir del número de resultamos que pensamos que podemos obtener falsos positivo. Un ejemplo, sería si en la política de SN hemos elegido “Sustantivo principal de frase y titulo” habrá palabras sueltas que podrán haberse escrito mal entonces unida esta palabra a la del título podríamos obtener muy pocos resultados. ‐ El último parámetro que podemos definir es el ratio. Con esto definiremos la precisión que tendrá la aplicación, ya que si definimos ratio de 0.1, serán muy pocos los resultados que pasen al filtro y con 0.0001 obtendremos una gran cantidad de información. 52 A continuación, veremos unos ejemplos, en los que observaremos, más detalladamente, como afectan todos estos parámetros y el funcionamiento del la aplicación. Concretamente: ‐ ‐ ‐ ‐ ‐ ‐ 4.1. En las 5 primeras, se mostrarán los resultados obtenidos para la misma query en los diferentes buscadores En la 6 se mostrará la diferencia de los datos estadísticos entre yahoo y msn Live. En la 7 se mostrará el funcionamiento del filtro mediante ratio. En la 8 y 9 se mostrará la diferencia de resultados que se obtiene si se modifica la política del SN. En la 10 se mostrará el funcionamiento del parámetro que define el mínimo de Hits. En la 11 se mostrará el análisis realizado para filtrar todos los SN. Prueba 1 En este caso, se busca la cadena “bruce” en peekyou con los parámetros menos restrictivos. Es de esperar que se encuentren todos los resultados que se solicitan, pues estamos buscando un nombre muy popular en una web de biografía. Búsqueda Bruce_ Base de Datos peekyou Buscador msn Política de SN Número de Resultados Sustantivo principal de frase y titulo Ratio 0 Tiempo 5 Min Hits 10 Tiempo total 1.0 min. aproximadamente 10 Hemos obtenido los siguientes resultados: 53 Clave Title Link Location User GenerAge Life Work School Bio Valor 1-Bruce Leroy http://www.peekyou.com/Bruce_Leroy/51075222 Tampa# Florida# USA brucebleroy Male#61 yrs business# google# online# technology# blues# music# history# news# programming# hp# web# linux# development# class of 1966# taurus Remedy Intelligent Staffing# Compounder# Information Technology And Services# Drive Rite Drivers# Aol Broadband Helpdesk# Hunt-wilde Corp.# System Engineer At Gte University Of Maryland# University Of Maryland College Park# Universidad De Puerto Rico Nothing(0.005201612903225806)# Clave Title Link Location User GenerAge Life Work School Bio Clave Title Link Location GenerAge Life Work School bio Valor 2-Bruce A. Anderson http://www.peekyou.com/Bruce_Anderson/149785092 Sandpoint# Idaho# USA brucebleroy 52 yrs class of 1987# class of 1985# class of 1980# law Attorney# Lawyer# Elsaesser Jarzabek Anderson# Tax Law# Bankruptcy Law# Real Estate Law# Estate Planning Law# Trust Law# Wills And Probate Law# Probate Law# Taxation Law# Colorado State Bar Association# Idaho State Bar (member Sections On: Taxation Corporate Adr And Bankruptcy Law) University Of Idaho# Eastern Washington University# University Of Colorado Denver# 1985; University Of Denver Office(0.02098360655737705)#Idaho 2002(1.0071513706793802E-5)#Idaho 1980(8.407445708376422E-6)# Valor 3-Bruce D. Cameron http://www.peekyou.com/Bruce_Cameron/7738977 Seattle# Washington# USA male# 30 yrs art# school# seattle# washington Northwest Eye Surgeons# Doctor# Md# Medical Doctor# Doctor Of Medicine University Of Washington Seattle Nothing(0.020483870967741936)# 54 Clave Title Link Location GenerAg e Life Work School bio Clave Title Link Location GenerAge Life Work School bio Valor 4-Bruce A. White http://www.peekyou.com/Bruce_White/7737089 Odenton# Maryland# USA male# 52 yrs student# music# art# parties# recording# graduated# class of 1987# alumni# class of 1972# class of 1983# class of 1974 Saic# Nuclear Engineer# Crna# Certified Registered Nurse Anesthetist# Af (ret) Suny College Of Agric And Techn At Cobleskill# North Carolina State University# Suny Cobleskill# Nc State# Unm# Eastern New Mexico University: Roswell Campus# Afton Central Hs Nothing(0.2854838709677419)# Valor 5-Bruce G. Martin http://www.peekyou.com/Bruce_Martin/7753230 San Antonio# Texas# USA male# 30 yrs camping# hunting# stripes# metallica# deftones# rage# class of 1997 Owner# Doctor# Dmo# Immunologist# Immunology# Doctor Of Osteopathy# Osteopath# Southwest Allergy Asthma Center Pa# Allergy Doctor# Asthma Specialist Southwest H S# University Of Texas At San Antonio Nothing(0.09556451612903226)# Clave Title Link Location User GenerAge Life Work School bio Valor Clave Title Link Location User GenerAge Life Work School bio Valor 6-Bruce F. Springsteen http://www.peekyou.com/Bruce_Springsteen/7735874 Asbury Park# New Jersey# USA brucethebossspringsteen bloomsburybruce brucespringsteennj brucespringsteennj male# 37 yrs guitar# scorpio# myself# mandolin# harmonica# accordion# libra# pisces Song Writer Nothing(0.006008064516129032)# 7-Bruce Viar http://www.peekyou.com/Bruce_Viar/7736483 Central Point# Oregon# USA ironeagle1989 ironeagleii2002 male# 57 yrs U.s. Government# Library Tech.# Library Tech# U.s.army And Veterans Affairs Nothing(2.0524193548387097E-5)# 55 Clave Title Link Location GenerAge Life Work School bio Clave Title Link Location User GenerAge Life Work School bio Valor 8-Bruce J. Watkins http://www.peekyou.com/Bruce_Watkins/90425812 Hewitt# Wisconsin# USA male# 44 yrs Doctor# Md# Mdl# Medical Doctor# Doctor Of Medicine# Marshfield Cancer Center# Marshfield Clinic# Med# Surgery (general) Nothing(0.004879032258064516)# Valor 9-Bruce A. Fogle http://www.peekyou.com/Bruce_Fogle/3868680 Upper Sandusky# Ohio# USA the_heretic_project ink_syndicate club_frogee clubfrogee male# 27 yrs music# poetry# art# tattoos# piercings# concerts# religion# xbox# ufc# evil# batman# nfl# american# ps3# class of 1999 Dana Coupled Products# Bridgestone Apm Upper Scioto Valley High Scho Nothing(2.5161290322580645E-4)# Clave Title Link Location GenerAge Life Work School bio Valor 10-Bruce D. Kopp http://www.peekyou.com/Bruce_Kopp/7742657 Avon# Indiana# USA male# 49 yrs leo Anchor/reporter# Eyewitness News At Noon - Wthr-tv# Eyewitness News Sunrisewthr-tv# Wthr-tv Nothing(7.137096774193549E-4)# Esta prueba, no contiene gran cantidad de información en lenguaje natural, pero la utilidad de esta prueba es mostrar todos los resultados que obtenemos a partir de los datos introducidos. Como se puede observar en los resultados, la información referente a la biografía ha resultado nula. Esto es debido a que como es una web cuyo contenido se crea sin ningún tipo de control, resultando en fichas con información parcial. Los datos mostrados anteriormente son la totalidad de los datos que guardan en los archivos clave/valor referentes al estado de la aplicación. 56 A continuación, en la figura 15 se puede observar cómo se mostrarían los datos anteriores, obtenidos y guardados en los ficheros. La única diferencia con los datos guardados en los archivos es que el separador “#” lo cambiamos por “,” y no se muestran los ratios obtenidos, ya que el ratio lo utilizamos para filtrar y ordenar los resultados obtenidos. Figura 15. Muestra de resultados para la búsqueda Bruce_ en ebay. 4.2. Prueba 2 En esta ocasión hemos querido realizar la misma búsqueda que en la prueba 1 para poder observar las diferencias de resultados en que existen en cada uno de los repositorios. En este caso, se espera no obtener todos los resultados debido a que los resultados contienen mayor cantidad de información en lenguaje natural y requieren más tiempo de análisis que los 5 minutos indicados como parámetro. 57 Búsqueda Bruce_ Base de Datos ebay Buscador msn Política de SN Número de Resultados Sustantivo principal de frase y titulo Ratio 0 Tiempo 5 Min Hits 10 Tiempo total 5 min. 10 Hemos obtenido los siguientes resultados: Clave Title Link Category prince End time Shipping Ships to Item location Description Valor FERNANDO MARTINEZ EVAN LONGORIA JAY BRUCE 1/1 AUTO RC http://cgi.ebay.com/FERNANDO-MARTINEZ-EVAN-LONGORIA-JAYBRUCE-1-1-AUTORC_W0QQitemZ260417834142QQcmdZViewItemQQptZLH_DefaultDomain_ 0hash=item3ca21ccc9e&_trksid=p3286.c0.m14&_trkparms=72%3A1 257%7C66%3A2%7C65%3A12%7C39%3A1%7C240%3A1307%7C301%3A1 %7C293%3A1%7C294%3A50 Sports Mem# Cards &Fan Shop # Autographs-Original # Baseball-MLB # Trading Cards $595.00 Jun-02-09 16:07:13 PDT (6 days 8 hours) US $5.95US Postal Service Priority Mail®Service to United States United States Not Specified# United States Refractor(0.06420612813370473)#Refractor(0.06420612813370473)#trigger(0. 051094890510948905)#trigger(0.051094890510948905)#rookie(0.0455357142 85714284)#BECKETT (0.036904761904761905)# Beckett(0.036904761904761905)#backs(0.03101063829787234)#comparisons( 0.02907473309608541)#inserts(0.02768817204301075)#.........goodluck(0.0261 2781954887218)#plates(0.025972222222222223)#note(0.02494279176201373) #existence(0.024229074889867842)#...quickest(0.023478260869565216)#certif ication(0.023290203327171903)#prospects(0.023112244897959183)#Plate(0.0 21515892420537898)#plate(0.021515892420537898)#plate(0.02151589242053 7898)#plate(0.021515892420537898)#plate(0.021515892420537898)#Plate(0.0 21515892420537898)#PLATE(0.021515892420537898)#plate(0.02151589242 0537898)#Plate(0.021515892420537898)#steals(0.021510673234811165)#Bruc e (0.02027027027027027)#bruce(0.02027027027027027)#UNCIRCULATED(0. 018995290423861853)#loss(0.018104265402843604)#guys(0.01798882681564 246)#nothing(0.017411764705882352)#VALUE(0.016939655172413793)#sour ce(0.01637816245006658)#auction(0.01539408866995074)#AUCTION....!(0.0 1539408866995074)#...Compare(0.01531400966183575)#right(0.01467455621 3017751)#fans(0.014315068493150685)#CERTIFIED(0.014215686274509804 58 )#gorgious:(0.013801169590643274)#cards(0.013543307086614173)#cards(0.0 13543307086614173)#cards(0.013543307086614173)#hologram(0.0125087108 01393728)#Talk(0.012177914110429448)#manufacturer(0.01125)#card(0.0103 91517128874388)#card(0.010391517128874388)#card(0.010391517128874388 )#card(0.010391517128874388)#CARD(0.010391517128874388)#course(0.009 506802721088435)#auctions(0.009441786283891546)#diecut(0.008651162790 697674)#affiliate(0.008081395348837209)#stars(0.00801526717557252)#......i( 0.006954177897574124)#i(0.006954177897574124)#people(0.0067283950617 28395)#world(0.006106194690265487)#buy(0.006081081081081081)#...ON(0. 004526166902404526)#UNCIRCULATED 1(9.171974522292994E-5)# En esta ocasión, y como habíamos pensado inicialmente, el número de resultado es bastante pobre. Esto es debido a que los resultados contienen texto en javaScript cuyo análisis y filtraje ralentiza considerablemente la aplicación. Como se puede observar por los ratios de la mayoría de sintagmas extraídos, muchos de los sustantivos son susceptibles de ser filtrados estableciendo un ratio adecuado. 4.3. Prueba 3 En esta ocasión, hemos querido realizar la misma búsqueda que en la prueba 1 pero con el repositorio allmovie, para poder observar las diferencias de resultados que existen en cada uno de los repositorios. Se espera no obtener la totalidad de los resultados introducidos debido a que contiene gran cantidad de información en lenguaje natural. Búsqueda Bruce_ Base de Datos allmovie Buscador msn Política de SN Número de Resultados Sustantivo principal de frase y titulo Ratio 0 Tiempo 5 Min Hits 10 Tiempo total 5 min. 10 Hemos obtenido los siguientes resultados: 59 Clave Title Link Year Run Time MPAA Rating Category Color Director Types Flags Keywords Themes MPAA Reasons Released by synopsis Valor Clave Title Link Year Run Time MPAA Rating Category Color Director Types Flags Keywords Valor Produced by Get Bruce! http://www.allmovie.com/work/get-bruce-177559 1999 82 min. R Documentary Color Andrew Kuehn Biography [nf]# Film & Television History Adult Humor # Adult Language writing#award#celebrity#client#comedian#entertainer#man#stars [astronomy] Writer's Life for language and risque humor Miramax Bruce(0.8476658476658476)#Vilanch(0.7221311475409836)#Vilanch(0.72213 11475409836)#Vilanch(0.7221311475409836)#Grammys(0.720979765708200 2)#Goldberg(0.38995726495726496)#Goldberg(0.3839750260145682)#Midler (0.3476190476190476)#telecast(0.23853211009174313)#1970s(0.2184)#contro versy(0.19798657718120805)#roasts(0.16964285714285715)#parodies(0.1655 1724137931034)#Friar(0.15527950310559005)#luminaries(0.14397590361445 783)#revival(0.12290502793296089)#rotund(0.12131438721136767)#writer(0. 10859375)#staple(0.1081578947368421)#remarks(0.10793650793650794)#wri ter(0.10533854166666666)#audiences(0.10246305418719212)#riffs(0.1003048 780487805)#contributions(0.08814317673378076)#weapon(0.0873156342182 8908)#Squares(0.07639751552795031)#newspaper(0.07524875621890548)#fi gure(0.07353982300884956)#genre(0.06921965317919075)#native(0.0664904 8625792812)#portrait(0.0655328798185941)#stars(0.05)#stars(0.04923664122 137405)#shows(0.048640483383685804)#Crystal(0.04606896551724138)#Cry stal(0.04606896551724138)#entertainment(0.04197860962566845)#others(0.0 393483709273183)#note(0.03455377574370709)#years(0.03048289738430583 6)#variety(0.028995983935742972)#event(0.024307692307692308)#work(0.0 2217687074829932)#job(0.019101123595505618)#oneliners(0.014330708661417323)#push-ups(9.947437582128779E-4)# Breza http://www.allmovie.com/work/breza-141923 1971 100 min. R Feature Color Ante Babaja Biography [nf]# Film & Television History Adult Humor # Adult Language baby#death#terminal-illness#love#marriage#gamekeeper#death-infamily#family-illness Jadran Film 60 synopsis Breza(0.9835164835164835)#Marko(0.0013506044905008635)#Janica(6.2352 94117647059E-4)#Janica(6.235294117647059E4)#Janica(6.235294117647059E-4)#gamekeeper(1.383399209486166E4)#plot(9.420731707317073E-5)#villagers(7.48587570621469E5)#woodsman(5.8139534883720933E-5)#illness(2.393292682926829E5)#photography(2.1778846153846155E-5)#family(1.616022099447514E5)#baby(1.6121495327102804E-5)#happiness(1.445945945945946E5)#couple(1.2018072289156627E-5)#dies(9.901531728665207E6)#woman(5.0284090909090905E-6)# Clave Title Link Year Run Time MPAA Rating Category Color Director Types Keywords Valor Produced by synopsis Brass http://www.allmovie.com/work/brass-6957 1985 100 min. Feature Made for TV Color Corey Allen Police Drama#Detective Film chief#city#police#corruption#detective#murder#robbery#investigation#kidnap# kill#bad-guy#good-guy#police-corruption Granada Television Group Brass(1.1732456140350878)#Brass(1.1425438596491229)#Bunker(0.0515283 8427947598)#Gardenia(0.04976303317535545)#Rebel(0.04930875576036867) #murder(0.04798994974874372)#crimes(0.03956)#streets(0.038333333333333 33)#incidents(0.03551470588235294)#Nolan(0.03347107438016529)#chief(0. 0330607476635514)#Nolan(0.03209677419354839)#Boretz(0.0304838709677 41935)#pilot(0.028100470957613814)#Dean(0.0227765726681128)#opponent( 0.021144278606965175)#attack(0.020902777777777777)#series(0.018333333 333333333)#neighbor(0.017677053824362608)#hand(0.01755681818181818)# Cause(0.017210526315789475)#lot(0.015384615384615385)#Family(0.01237 7622377622377)#Station(0.012014652014652015)#director(0.0084595300261 09661)#Maldonato(0.00712962962962963)#job(0.005797752808988764)#scri pt(0.003789473684210526)#September 11 1985.(1.568627450980392E-6)# Clave Title Link Year Run Time MPAA Rating Category Color Director Keywords Themes Produced by synopsis Valor Brass http://www.allmovie.com/work/brass-6958 1923 60 min. Feature Silent B&W Sidney Franklin marriage Opposites Attract#Crumbling Marriages Warner Brothers Marjorie(0.0648870636550308)#Marjorie(0.06282306163021868)#Marjorie(0. 06282306163021868)#Prevost 61 (0.05959016393442623)#widow(0.05861788617886179)#Baldwin(0.05742138 3647798745)#Norris(0.05660377358490566)#Baldwin(0.05601226993865031) #Baldwin(0.05601226993865031)#Baldwin(0.05601226993865031)#Grotenber g(0.04073319755600815)#Grotenberg(0.038696537678207736)#Grotenberg(0. 038696537678207736)#Grotenberg(0.03564356435643564)#MGM(0.0356310 67961165046)#Lewis (0.034788359788359785)#novel(0.03238938053097345)#marries(0.030548302 872062665)#Franklin(0.029661016949152543)#drama(0.02890818858560794 2)#Rich (0.027464788732394368)#Bros.(0.022128146453089245)#mate(0.02)#romanc e(0.01953271028037383)#sister(0.018359375)#mother(0.01744394618834080 7)#contract(0.017142857142857144)#husband(0.016396396396396395)#child( 0.016186770428015564)#career(0.015084033613445378)#DuPont (0.014228855721393034)#return.(0.013983402489626555)#baby(0.011331775 70093458)#story(0.01001536098310292)#couple(0.008885630498533725)#orc e(0.00884012539184953)#care(0.008412291933418694)#work(0.00741496598 6394558)#love(0.0061203007518796995)#day(0.005515695067264574)#time( 0.004789644012944984)# Clave Title Link Year Run Time MPAA Rating Category Color Director Types Keywords Themes Produced by Released by Valor Bruce and Me http://www.allmovie.com/work/bruce-and-me-324930 2004 82 min. Documentary Color Oren Siedler Biography [nf]# Interpersonal Relationships # Law & Crime Australia#Buddhist#father#grandmother#mother#reconciliation#taxevasion#con-artist Fathers and Daughters#Cons and Scams#Eccentric Families Outlaw Pictures Films Transit International Clave Title Link Year Run Time MPAA Rating Category Color Director Types Keywords Themes Produced by Valor Brass Check http://www.allmovie.com/work/brass-check-85876 1918 5rl reels Feature Silent B&W Will S. Davis Melodrama father#inventor#kidnap#private-detective#son#parent/childrelationship#business-rivalry Fathers and Sons MGM 62 Released by synopsis MGM Check(0.9903846153846154)#Hoping(0.7310126582278481)#indolence(0.647 3029045643154)#villains(0.6358381502890174)#bunch(0.6035805626598465) #employ(0.4022727272727273)#asylum(0.39541284403669724)#target(0.3723 076923076923)#effort(0.3696)#invents(0.36769394261424015)#worth(0.36197 91666666667)#Currier (0.3435897435897436)#Bushman(0.3104325699745547)#bit(0.307926829268 2927)#leader(0.3037593984962406)#barons(0.29055793991416307)#cartel(0.2 577696526508227)#Everett(0.23083333333333333)#Everett(0.2308333333333 3333)#agency(0.20625)#story(0.20583717357910905)#course(0.200680272108 84354)#Englund(0.19724137931034483)#father(0.19545454545454546)#manu facturers(0.16666666666666666)#Bayne (0.148159509202454)#team(0.14255543822597677)#Richard(0.135546875)#R ichard(0.135546875)#love(0.11954887218045113)#rubber(0.11752577319587 629)#home(0.09473684210526316)#films(0.07653061224489796)# El número de resultados obtenidos son mayores que en ebay pero menores que peekyou. Como se puede observar existen resultados en el que el título no tiene ninguna referencia en relación al término buscado, pero el orden de los resultados de la lista es tal y como se obtiene desde la página oficial. 4.4. Prueba 4 En esta ocasión, hemos querido realizar la misma búsqueda que en la prueba 1 pero con el repositorio allgame, para poder observar las diferencias de resultados que existen en cada uno de los repositorios. Se espera no obtener la totalidad de los resultados introducidos debido a que contiene gran cantidad de información en lenguaje natural. Búsqueda Bruce_ Base de Datos allgame Buscador msn Política de SN Número de Resultados Sustantivo principal de frase y titulo Ratio 0 Tiempo 5 Min Hits 10 Tiempo total 5 min. 10 Hemos obtenido los siguientes resultados: . 63 Clave Title Link Titulo Plataform Genre Style Themes Release Developer Publisher Controls synopsis Valor Clave Title Link Titulo Plataform Genre Style Themes Valor Bruce Lee http://www.allgame.com/game.php?id=3135 Bruce Lee Commodore 64/128 Fighting 2D Fighting Martial Arts 1983 Datasoft U.S. Gold Ltd. Joystick/Gamepad# Keyboard Lee(0.6147859922178989)#Bruce(0.3071253071253071)#Bruce(0.3071253071 253071)#Bruce(0.3071253071253071)#Bruce(0.3071253071253071)#Bruce(0. 3071253071253071)#Bruce(0.3071253071253071)#kicks(0.224647887323943 67)#exits(0.1723404255319149)#ninjas(0.16941964285714287)#vines(0.16272 60083449235)#bushes(0.15873873873873873)#role(0.14791666666666667)# moves(0.14261682242990653)#temple(0.13772652388797363)#lives(0.136301 3698630137)#lives(0.1363013698630137)#immortality(0.13498542274052477 )#particles(0.131)#chops(0.12972560975609757)#attempts(0.12619047619047 62)#attempts(0.1261904761904762)#travels(0.12491349480968858)#enemies( 0.12204081632653062)#enemies(0.12204081632653062)#score(0.1184782608 6956521)#score(0.11847826086956521)#chamber(0.11692047377326566)#cha racter(0.11374045801526718)#hit(0.11236559139784946)#fortress(0.1098765 4320987654)#fortress(0.10987654320987654)#lights(0.09524271844660194)# goal(0.092)#lanterns(0.08955916473317865)#lanterns(0.08955916473317865) #lanterns(0.08955916473317865)#swords(0.08662420382165605)#Points(0.08 613861386138613)#traps(0.08472222222222223)#turn(0.08448979591836735 )#track(0.08447653429602887)#direction(0.07974576271186441)#Yamo(0.07 611940298507462)#levels(0.07100591715976332)#puzzle(0.07085427135678 392)#positions(0.07048543689320388)#wizard(0.07001733102253033)#wizar d(0.07001733102253033)#waves(0.06746626686656672)#quest(0.0674336283 1858407)#keyboard(0.06692015209125475)#environment(0.066415094339622 64)#hits(0.05879396984924623)#floors(0.05858585858585859)#notice(0.0545 1612903225807)#charges(0.051796875)#options(0.05156695156695157)#num ber(0.04721549636803874)#screen(0.046153846153846156)#screen(0.046153 846153846156)#game(0.04504132231404959)#game(0.04504132231404959)# life(0.0371875)#player(0.03522205206738132)#player(0.03522205206738132) #player(0.03522205206738132)#player(0.03522205206738132)#room(0.03055 5555555555555)#room(0.030555555555555555)#mode(0.02922636103151862 4)#user(0.02305785123966942)#top(0.020935672514619884)#items(0.018796 296296296297)#computer(0.01636986301369863)#user plays(2.0E-5)# Bruce Lee http://www.allgame.com/game.php?id=39748 Bruce Lee IBM PC Compatible Fighting 2D Fighting Martial Arts 64 Release synopsis 1987 Lee(0.6147859922178989)# Clave Title Link Titulo Plataform Genre Style Themes Release Developer Publisher synopsis Valor Bruce Lee http://www.allgame.com/game.php?id=48023 Bruce Lee Apple II Fighting 2D Fighting Martial Arts 1984 Datasoft Datasoft Lee(0.6147859922178989)#Bruce(0.3071253071253071)#Bruce(0.3071253071 253071)#Bruce(0.3071253071253071)#Bruce(0.3071253071253071)#Bruce(0. 3071253071253071)#Bruce(0.3071253071253071)#kicks(0.224647887323943 67)#exits(0.1723404255319149)#ninjas(0.16941964285714287)#vines(0.16272 60083449235)#bushes(0.15873873873873873)#role(0.14791666666666667)# moves(0.14261682242990653)#temple(0.13772652388797363)#lives(0.136301 3698630137)#lives(0.1363013698630137)#immortality(0.13498542274052477 )#particles(0.131)#chops(0.12972560975609757)#attempts(0.12619047619047 62)#attempts(0.1261904761904762)#travels(0.12491349480968858)#enemies( 0.12204081632653062)#enemies(0.12204081632653062)#score(0.1184782608 6956521)#score(0.11847826086956521)#chamber(0.11692047377326566)#cha racter(0.11374045801526718)#hit(0.11236559139784946)#fortress(0.1098765 4320987654)#fortress(0.10987654320987654)#lights(0.09524271844660194)# goal(0.092)#lanterns(0.08955916473317865)#lanterns(0.08955916473317865) #lanterns(0.08955916473317865)#swords(0.08662420382165605)#Points(0.08 613861386138613)#traps(0.08472222222222223)#turn(0.08448979591836735 )#track(0.08447653429602887)#direction(0.07974576271186441)#Yamo(0.07 611940298507462)#levels(0.07100591715976332)#puzzle(0.07085427135678 392)#positions(0.07048543689320388)#wizard(0.07001733102253033)#wizar d(0.07001733102253033)#waves(0.06746626686656672)#quest(0.0674336283 1858407)#keyboard(0.06692015209125475)#environment(0.066415094339622 64)#hits(0.05879396984924623)#floors(0.05858585858585859)#notice(0.0545 1612903225807)#charges(0.051796875)#options(0.05156695156695157)#num ber(0.04721549636803874)#screen(0.046153846153846156)#screen(0.046153 846153846156)#game(0.04504132231404959)#game(0.04504132231404959)# text(0.038580645161290325)#life(0.0371875)#title(0.03619402985074627)#pl ayer(0.03522205206738132)#player(0.03522205206738132)#player(0.0352220 5206738132)#player(0.03522205206738132)#room(0.030555555555555555)#r oom(0.030555555555555555)#version(0.030530973451327433)#mode(0.0292 26361031518624)#user(0.02305785123966942)#top(0.020935672514619884)# items(0.018796296296296297)#computer(0.01636986301369863)#user plays(2.0E-5)# 65 Clave Title Link Titulo Plataform Genre Style Themes Release synopsis Valor Clave Title Link Titulo Plataform ESRB Genre Style Themes Release Publisher synopsis Valor Clave Title Link Titulo Plataform Genre Style Themes Release Developer Controls synopsis Valor Bruce Lee Lives http://www.allgame.com/game.php?id=39749 Bruce Lee Lives IBM PC Compatible Fighting 2D Fighting Martial Arts 1989 Lives(1.5753424657534247)# The Bruce Lee Story http://www.allgame.com/game.php?id=7629 The Bruce Lee Story Sega Game Gear Realistic Violence Fighting 2D Fighting Martial Arts 199X Acclaim Entertainment# Inc.. demons(0.967479674796748)#Cinematic(0.8290993071593533)#enemies(0.48 97959183673469)#scenes(0.4440993788819876)#Phantom(0.3345)#sides(0.32 398316970546986)#side(0.32)#game(0.3085399449035813)#film(0.293634496 9199179)#players(0.264804469273743)#royale(0.17445255474452553)#Play(0 .16609783845278725)#team(0.15526601520086863)#Lee(0.152918287937743 2)#version(0.13982300884955753)#text(0.13032258064516128)#day(0.126457 39910313902)#Kong(0.1253731343283582)#title(0.12350746268656716)#play er(0.10367534456355283)#player(0.10367534456355283)#help(0.0871559633 027523)#selection(0.08318840579710145)#mode(0.07421203438395416)#mo de(0.07277936962750717)#Dragon(0.06576576576576576)#Adapter(0.060408 163265306125)#computer(0.059315068493150686)# Dragon: The Bruce Lee Story http://www.allgame.com/game.php?id=22110 Dragon: The Bruce Lee Story Atari Jaguar Fighting 2D Fighting Martial Arts November 1994 Atari Corporation Joystick/Gamepad scarcity(0.6778242677824268)#gameplay(0.5277227722772277)#moves(0.500 9345794392523)#moves(0.5009345794392523)#enemies(0.489795918367346 9)#Phantom(0.32794117647058824)#game(0.30991735537190085)#titles(0.29 320388349514565)#Players(0.264804469273743)#Kune(0.2565687789799072 66 6)#anyone(0.24969325153374233)#capabilities(0.22018348623853212)#contro ls(0.21285714285714286)#Features(0.20310296191819463)#positions(0.19708 73786407767)#legend(0.19444444444444445)#waves(0.16041979010494753) #world(0.15663716814159293)#Lee(0.15603112840466926)#Lee(0.15603112 840466926)#Lee(0.15603112840466926)#version(0.14513274336283186)#styl e(0.1355021216407355)#modes(0.12949640287769784)#graphics(0.12740384 615384615)#graphics(0.12396313364055299)#Enter(0.12367647058823529)# Dragon(0.06621621621621622)#Dragon(0.06621621621621622)#Dragon(0.06 621621621621622)#Jaguar(0.05357710651828299)#port(0.0418145956607495 1)#SNES(0.024641148325358853)# Como podemos observar, tampoco se ha podido obtener los 10 resultados introducidos vía interfaz ya que antes se ha completado el tiempo máximo introducido. Este es uno de los repositorios web con mejores resultados, ya que el título de los resultados contiene el término buscado y la información en lenguaje natural también tiene referencias al título de videojuego que hemos obtenido. 4.5. Prueba 5 Esta es la última prueba para comparar los resultados obtenidos con los mismos parámetros pero con diferentes repositorios web. El repositorio web que faltaba por realizarse el análisis es allmusic. Búsqueda Bruce_ Base de Datos allmusic Buscador msn Política de SN Número de Resultados Sustantivo principal de frase y titulo Ratio 0 Tiempo 5 Min Hits 10 Tiempo total 5 min. 10 Como veremos a continuación tampoco se ha podido obtener los 10 resultados introducidos vía interfaz ya que antes se ha completado el tiempo máximo introducido. Clave Title Link Genre Style bio Valor Bruce http://www.allmusic.com/cg/amg.dll?p=amg&sql=11:avfrxq95ldje~T0 Pop/Rock 67 Clave Title Link Genre Style bio Valor Bruce http://www.allmusic.com/cg/amg.dll?p=amg&sql=11:hjfoxqrsld6e~T0 Pop/Rock Clave Title Link Genre Style bio Valor Clave Title Link Genre Style synopsis Valor Bruce http://www.allmusic.com/cg/amg.dll?p=amg&sql=11:wcftxquald6e~T0 Pop/Rock Bruce http://www.allmusic.com/cg/amg.dll?p=amg&sql=11:jzfrxqt0ldfe~T0 Pop/Rock Clave Title Link Genre Style Moods synopsis Valor Ed Bruce http://www.allmusic.com/cg/amg.dll?p=amg&sql=11:wifexql5ldae~T0 Country Traditional Country#Progressive Country#Rockabilly #Outlaw Country Earthy#Laid-Back/ Mellow#Sad#Calm/Peaceful#Amiable/ Good-Natured# Bruce(0.9828431372549019)#Bruce(0.9828431372549019)#Bruce(0.98284313 72549019)#Bruce(0.9828431372549019)#Bruce(0.9828431372549019)#Bruce( 0.9828431372549019)#Bruce(0.9828431372549019)#number four 1982 (0.43548387096774194)#number three 1984 (0.37662337662337664)#Tucker(0.35658914728682173)#Gayle(0.3520833333 3333336)#Tennessean(0.30982905982905984)#Louvin(0.25616438356164384 )#1980s(0.22137931034482758)#Nelson(0.21862348178137653)#Mammas(0. 17596153846153847)#tenure(0.17258064516129032)#Walker(0.16303972366 14853)#Cowboys(0.1495)#Waltz(0.14339622641509434)#Jr(0.1309523809523 8096)#singer(0.12730560578661845)#Lovin'(0.12674772036474163)#Woods( 0.12020725388601036)#performer(0.1099290780141844)#vocals(0.108280254 77707007)#Singers(0.10680851063829787)#acumen(0.10278884462151394)# MCA(0.08662551440329218)#campaign(0.08088978766430738)#Memphis(0. 07521613832853026)#hit(0.0748663101604278)#decision(0.06992063492063 492)#duo(0.06745562130177515)#Fall(0.06347826086956522)#song(0.06069 364161849711)#Nashville(0.059423076923076926)#Song(0.05932203389830 5086)#character(0.05916030534351145)#Break(0.059042553191489364)#artis ts(0.05840764331210191)#career(0.05606694560669456)#career(0.056066945 60669456)#career(0.05606694560669456)#sides(0.05574229691876751)#Nigh ts(0.05502958579881657)#success(0.053181818181818184)#composition(0.05 68 218446601941747)#RCA(0.051741293532338306)#labels(0.05145631067961 165)#songs(0.05067114093959731)#Grow(0.048161764705882355)#Heart(0.0 4804804804804805)#Things(0.044543429844097995)#Radio (0.043116883116883116)#Everything(0.0400611620795107)#chart(0.0396581 1965811966)#Records(0.033062330623306234)#Arkansas(0.03261316872427 9835)#Had"(0.0323189926547744)#act(0.03218997361477573)#Records(0.02 872628726287263)#films(0.02806779661016949)#number(0.02584541062801 9323)#number(0.02551390568319226)#change(0.02429614181438999)#age(0. 023691860465116277)#Ladies " and "(0.02297752808988764)#Sun(0.021151079136690648)#member(0.019226393 629124004)#singles(0.015490196078431372)#start(0.015036496350364964)# music(0.014915254237288136)#followup(0.012222222222222223)#one(0.01173611111111111)#jingles(0.011683168 316831683)#number 12(1.546526867627785E-4)# Como podemos observar, solo el último resultado contiene información filtrada. Esto no es debido a la restricción de los parámetros sino que en la web no existe el texto en lenguaje natural, esto es debido a que el nombre de bruce es muy común. 4.6. Prueba 6 Esta prueba servirá para comprobar la diferencia de resultado entre los parámetros del Buscador. En ella realizaremos la misma búsqueda que en la primera prueba pero cambiando de msn Live a yahoo. Búsqueda Bruce_ Base de Datos allgames Buscador yahoo Política de SN Número de Resultados Sustantivo principal de frase y titulo Ratio 0 Tiempo 5 Min Hits 10 Tiempo total 5 min. Clave Title Link Titulo Plataform Genre Style Themes 10 Valor Bruce Lee http://www.allgame.com/game.php?id=3135 Bruce Lee Commodore 64/128 Fighting 2D Fighting Martial Arts 69 Release Developer Publisher Controls synopsis 1983 Datasoft U.S. Gold Ltd. Joystick/Gamepad# Keyboard Lee(0.9987515605493134)#Bruce(0.21407035175879396)#Bruce(0.213819095 47738692)#Bruce(0.21381909547738692)#Bruce(0.21381909547738692)#Bru ce(0.21381909547738692)#Bruce(0.21381909547738692)#top(0.17508864410 924196)#life(0.13643875724470186)#ninjas(0.12924528301886792)#kicks(0.0 9276315789473684)#immortality(0.09142857142857143)#temple(0.08885017 421602788)#attempts(0.08439716312056737)#attempts(0.08439716312056737 )#number(0.08335337046689976)#waves(0.08133971291866028)#chops(0.079 8076923076923)#travels(0.07417582417582418)#user(0.07357448342888359) #character(0.0732233502538071)#lives(0.07314285714285715)#moves(0.0727 8761061946902)#chamber(0.07236842105263158)#swords(0.07235915492957 747)#vines(0.07220956719817767)#enemies(0.07212121212121213)#enemies( 0.07212121212121213)#hit(0.07210884353741497)#role(0.071353383458646 61)#quest(0.07105263157894737)#lives(0.07045871559633028)#particles(0.06 967213114754098)#Yamo(0.06964980544747082)#game(0.068452209266113 21)#hits(0.06824817518248175)#game(0.06798654797858864)#goal(0.067425 9681093394)#direction(0.06710097719869706)#exits(0.06467780429594272)# wizard(0.06358974358974359)#wizard(0.06358974358974359)#turn(0.061309 52380952381)#bushes(0.060574412532637074)#positions(0.060510805500982 32)#traps(0.05961820851688693)#lights(0.05802469135802469)#room(0.0577 4199965304788)#room(0.05774199965304788)#fortress(0.0563742690058479 5)#fortress(0.05637426900584795)#Points(0.05614864864864865)#levels(0.05 247524752475247)#charges(0.04986149584487535)#track(0.04925742574257 426)#player(0.047969543147208124)#player(0.047969543147208124)#player( 0.04748743718592965)#player(0.04748743718592965)#screen(0.04684615384 615384)#screen(0.04684615384615384)#score(0.046339285714285715)#score (0.046339285714285715)#items(0.045541673919903894)#computer(0.042794 272323508874)#keyboard(0.04249084249084249)#puzzle(0.042490842490842 49)#environment(0.04108910891089109)#lanterns(0.040460526315789475)#la nterns(0.04019607843137255)#lanterns(0.04019607843137255)#floors(0.0398 2954545454546)#mode(0.039027431421446386)#notice(0.0370466321243523 3)#options(0.035623088495630346)#user plays(0.007318435754189944)# Clave Title Link Titulo Plataform Genre Style Themes Release synopsis Valor Bruce Lee http://www.allgame.com/game.php?id=39748 Bruce Lee IBM PC Compatible Fighting 2D Fighting Martial Arts 1987 Lee(0.9962546816479401)# 70 Clave Title Link Titulo Plataform Genre Style Themes Release Developer Publisher synopsis Valor Bruce Lee http://www.allgame.com/game.php?id=48023 Bruce Lee Apple II Fighting 2D Fighting Martial Arts 1984 Datasoft Datasoft Lee(0.9962546816479401)#Bruce(0.21407035175879396)#Bruce(0.213819095 47738692)#Bruce(0.21381909547738692)#Bruce(0.21381909547738692)#Bru ce(0.21381909547738692)#Bruce(0.21381909547738692)#top(0.17462298282 17174)#life(0.13597309595717727)#ninjas(0.12924528301886792)#kicks(0.09 276315789473684)#immortality(0.09142857142857143)#temple(0.088850174 21602788)#attempts(0.08439716312056737)#attempts(0.08439716312056737) #number(0.08335337046689976)#waves(0.08133971291866028)#chops(0.079 8076923076923)#moves(0.07686915887850468)#travels(0.0745856353591160 3)#lives(0.07447619047619047)#user(0.07357448342888359)#lives(0.073142 85714285715)#character(0.07309644670050762)#chamber(0.07236842105263 158)#vines(0.07220956719817767)#enemies(0.07212121212121213)#enemies( 0.07212121212121213)#hit(0.07210884353741497)#role(0.072030075187969 93)#swords(0.07185314685314685)#quest(0.07105263157894737)#particles(0. 06967213114754098)#game(0.06845220926611321)#game(0.06845220926611 321)#hits(0.06800486618004867)#Yamo(0.06780303030303031)#goal(0.0674 259681093394)#direction(0.06710097719869706)#version(0.06658956411601 49)#exits(0.0645933014354067)#wizard(0.06358974358974359)#wizard(0.063 58974358974359)#turn(0.06130952380952381)#bushes(0.0608355091383812) #title(0.06053596737819536)#text(0.06053596737819536)#traps(0.059618208 51688693)#positions(0.05913555992141454)#lights(0.05802469135802469)#r oom(0.05774199965304788)#room(0.05774199965304788)#fortress(0.056491 22807017544)#fortress(0.05637426900584795)#Points(0.05614864864864865) #levels(0.05247524752475247)#charges(0.04979253112033195)#track(0.0490 5940594059406)#player(0.04748743718592965)#player(0.0474874371859296 5)#player(0.04748743718592965)#player(0.04723618090452261)#screen(0.04 684615384615384)#screen(0.04684615384615384)#score(0.046339285714285 715)#items(0.045541673919903894)#computer(0.042794272323508874)#puzz le(0.04264705882352941)#keyboard(0.042335766423357665)#environment(0. 04108910891089109)#score(0.040866141732283465)#lanterns(0.04046052631 5789475)#lanterns(0.04019607843137255)#lanterns(0.04019607843137255)#fl oors(0.03982954545454546)#mode(0.039027431421446386)#notice(0.037046 63212435233)#options(0.035623088495630346)#user plays(0.007318435754189944)# 71 Clave Title Link Titulo Plataform Genre Style Themes Release synopsis Valor Clave Title Link Titulo Plataform ESRB Genre Style Themes Release Publisher synopsis Valor Bruce Lee Lives http://www.allgame.com/game.php?id=39749 Bruce Lee Lives IBM PC Compatible Fighting 2D Fighting Martial Arts 1989 Lives(1.5753424657534247)# The Bruce Lee Story http://www.allgame.com/game.php?id=7629 The Bruce Lee Story Sega Game Gear Realistic Violence Fighting 2D Fighting Martial Arts 199X Acclaim Entertainment# Inc.. help(0.7683411244155565)#day(0.7264316085383443)#Cinematic(0.43540669 85645933)#demons(0.4318181818181818)#enemies(0.403030303030303)#sce nes(0.36318407960199006)#team(0.3380700947428449)#Play(0.33574178830 522194)#game(0.3101304174913701)#sides(0.30679156908665106)#Phantom (0.29554655870445345)#film(0.27714285714285714)#text(0.27334317577692 83)#Lee(0.265)#version(0.2589076758636663)#side(0.24959445011317472)#r oyale(0.24047619047619048)#Dragon(0.22610169491525423)#title(0.2207234 5028665077)#players(0.20743243243243242)#player(0.1899497487437186)#p layer(0.18894472361809045)#computer(0.16205012805855373)#mode(0.1334 1645885286782)#mode(0.13341645885286782)#Kong(0.12424242424242424) #selection(0.1125984251968504)#Adapter(0.058522727272727275)# Una de las variaciones observadas es que hemos obtenido 1 resultado menos, en referencia a la Prueba 4, esto es debido a la utilización del api de yahoo en lugar de la de msn Live que es la que hemos utilizado en las anteriores pruebas. También hemos podido observar que en algunos resultados ha cambiado el ratio y a su vez el orden de las entidades resultantes. Estos cambios los podremos observar en las tablas que tenemos a continuación. En la columna referente a yahoo se mostrarán en rojo o verde, si han bajado o subido, en referencia al orden de resultados de msn Live: 72 yahoo Msn Live help(0.7683411244155565)# day(0.7264316085383443)# Cinematic(0.4354066985645933)# demons(0.4318181818181818)# enemies(0.403030303030303)# scenes(0.36318407960199006)# team(0.3380700947428449)# Play(0.33574178830522194)# game(0.3101304174913701)# sides(0.30679156908665106)# Phantom(0.29554655870445345)# film(0.27714285714285714)# text(0.2733431757769283)# Lee(0.265)# version(0.2589076758636663)# side(0.24959445011317472)# royale(0.24047619047619048)# Dragon(0.22610169491525423)# title(0.22072345028665077)# players(0.20743243243243242)# player(0.1899497487437186)# player(0.18894472361809045)# computer(0.16205012805855373)# mode(0.13341645885286782)# mode(0.13341645885286782)# Kong(0.12424242424242424)# selection(0.1125984251968504)# Adapter(0.058522727272727275)# 4.7. demons(0.967479674796748)# Cinematic(0.8290993071593533)# enemies(0.4897959183673469)# scenes(0.4440993788819876)# Phantom(0.3345)# sides(0.32398316970546986)# side(0.32)# game(0.3085399449035813)# film(0.2936344969199179)# players(0.264804469273743)# royale(0.17445255474452553)# Play(0.16609783845278725)# team(0.15526601520086863)# Lee(0.1529182879377432)# version(0.13982300884955753)# text(0.13032258064516128)# day(0.12645739910313902)# Kong(0.1253731343283582)# title(0.12350746268656716)# player(0.10367534456355283)# player(0.10367534456355283)# help(0.0871559633027523)# selection(0.08318840579710145)# mode(0.07421203438395416)# mode(0.07277936962750717)# Dragon(0.06576576576576576)# Adapter(0.060408163265306125)# computer(0.059315068493150686)# Prueba 7 Esta prueba será la misma que la prueba 4, entonces utilizaremos los mismos parámetros y la misma cadena pero modificando el ratio a 0.1 y servirá para comprobar el correcto funcionamiento del filtraje de sustantivos por ratio mínimo. Búsqueda Bruce_ Base de Datos allgames Buscador msn Política de SN Número de Resultados Sustantivo principal de frase y titulo Ratio 0.1 Tiempo 5 Min Hits 10 Tiempo total 5 min. 10 73 Clave Title Link Titulo Plataform Genre Style Themes Release Developer Publisher Controls synopsis Valor Bruce Lee http://www.allgame.com/game.php?id=3135 Bruce Lee Commodore 64/128 Fighting 2D Fighting Martial Arts 1983 Datasoft U.S. Gold Ltd. Joystick/Gamepad# Keyboard Lee(0.6408163265306123)#Bruce(0.3379694019471488)#Bruce(0.3375)#Bruc e(0.332871012482663)#Bruce(0.332871012482663)#Bruce(0.29925187032418 954)#Bruce(0.29925187032418954)#kicks(0.21517241379310345)#vines(0.16 954022988505746)#particles(0.15615305067218202)#ninjas(0.1543981481481 4815)#role(0.15179856115107915)#moves(0.14575289575289574)#temple(0.1 4440619621342513)#attempts(0.143013698630137)#attempts(0.142465753424 65753)#immortality(0.13775811209439529)#chops(0.1329249617151608)#bus hes(0.13167808219178082)#exits(0.12965779467680608)#enemies(0.1281512 6050420167)#enemies(0.12815126050420167)#travels(0.1254355400696864)# lives(0.12253521126760564)#lives(0.12183098591549296)#lanterns(0.120432 69230769231)#score(0.11888888888888889)#score(0.11862527716186252)#hi t(0.115)#character(0.11092436974789915)#lights(0.10578420467185762)#fortr ess(0.1049079754601227)#fortress(0.1049079754601227)# Clave Title Link Titulo Plataform Genre Style Themes Release synopsis Valor Clave Title Link Titulo Plataform Genre Style Themes Release Developer Publisher Valor Bruce Lee http://www.allgame.com/game.php?id=39748 Bruce Lee IBM PC Compatible Fighting 2D Fighting Martial Arts 1987 Lee(0.9962546816479401)# Bruce Lee http://www.allgame.com/game.php?id=48023 Bruce Lee Apple II Fighting 2D Fighting Martial Arts 1984 Datasoft Datasoft 74 synopsis Synopsis=Lee(0.5934959349593496)#Bruce(0.2997512437810945)#Bruce(0.2 997512437810945)#Bruce(0.2997512437810945)#Bruce(0.2997512437810945 )#Bruce(0.2997512437810945)#Bruce(0.2997512437810945)#kicks(0.1993630 5732484078)#vines(0.17048710601719197)#particles(0.1556701030927835)#n injas(0.15473441108545036)#role(0.15142857142857144)#moves(0.14538461 53846154)#temple(0.14452054794520547)#attempts(0.142896174863388)#att empts(0.142896174863388)#bushes(0.13992740471869328)#exits(0.13645418 326693226)#chops(0.13267175572519083)#immortality(0.1304985337243401 7)#enemies(0.12857142857142856)#enemies(0.12857142857142856)#travels( 0.12534722222222222)#lives(0.12253521126760564)#lives(0.1225352112676 0564)#score(0.11862527716186252)#score(0.11862527716186252)#hit(0.1077 3480662983426)#lights(0.10577136514983351)#fortress(0.1055214723926380 4)#fortress(0.10552147239263804)#character(0.10153846153846154)# Clave Title Link Titulo Plataform Genre Style Themes Release synopsis Valor Clave Title Link Titulo Plataform ESRB Genre Style Themes Release Publisher synopsis Valor Bruce Lee Lives http://www.allgame.com/game.php?id=39749 Bruce Lee Lives IBM PC Compatible Fighting 2D Fighting Martial Arts 1989 Lives(1.5753424657534247)# The Bruce Lee Story http://www.allgame.com/game.php?id=7629 The Bruce Lee Story Sega Game Gear Realistic Violence Fighting 2D Fighting Martial Arts 199X Acclaim Entertainment# Inc.. demons(0.8172131147540984)#Cinematic(0.7860576923076923)#enemies(0.5 146443514644351)#scenes(0.44849445324881143)#Phantom(0.351184834123 22277)#sides(0.3357245337159254)#game(0.325068870523416)#side(0.31848 55233853007)#film(0.29809725158562367)#players(0.27630057803468205)# Lee(0.18097165991902833)#Play(0.18007202881152462)#royale(0.169718309 85915493)#version(0.16372549019607843)#text(0.13797814207650272)#Kon g(0.12748091603053435)#day(0.1244343891402715)#title(0.12400530503978 78)#team(0.1228813559322034)#player(0.10816993464052288)#player(0.1081 6993464052288)# A continuación, se muestra una tabla con los datos obtenidos por la sinopsis del resultado The Bruce Lee Story de esta prueba y de la 4. 75 Msn Live ratio 0.1 Msn Live ratio 0 demons(0.967479674796748)# Cinematic(0.8290993071593533)# enemies(0.4897959183673469)# scenes(0.4440993788819876)# Phantom(0.3345)# sides(0.32398316970546986)# side(0.32)# game(0.3085399449035813)# film(0.2936344969199179)# players(0.264804469273743)# royale(0.17445255474452553)# Play(0.16609783845278725)# team(0.15526601520086863)# Lee(0.265)# version(0.2589076758636663)# text(0.13032258064516128)# day(0.12645739910313902)# Kong(0.1253731343283582)# title(0.22072345028665077)# player(0.10367534456355283)# player(0.1899497487437186)# demons(0.967479674796748)# Cinematic(0.8290993071593533)# enemies(0.4897959183673469)# scenes(0.4440993788819876)# Phantom(0.3345)# sides(0.32398316970546986)# side(0.32)# game(0.3085399449035813)# film(0.2936344969199179)# players(0.264804469273743)# royale(0.17445255474452553)# Play(0.16609783845278725)# team(0.15526601520086863)# Lee(0.1529182879377432)# version(0.13982300884955753)# text(0.13032258064516128)# day(0.12645739910313902)# Kong(0.1253731343283582)# title(0.12350746268656716)# player(0.10367534456355283)# player(0.10367534456355283)# help(0.0871559633027523)# selection(0.08318840579710145)# mode(0.07421203438395416)# mode(0.07277936962750717)# Dragon(0.06576576576576576)# Adapter(0.060408163265306125)# computer(0.059315068493150686)# Como podemos observar la cantidad de elementos obtenidos ha disminuido y esto es debido a que hemos filtrado el ratio a un mínimo de 0.1. Podemos ver la que la información obtenida por los elementos buscados es muy global, pero esta información podría servir de ayuda para clasificarlo, ya que de los primeros elementos obtenemos demons y enemies que no da características del género del videojuego, o Cinematic que serviría para definir que el juego contiene cinemáticas. 4.8. Prueba 8 En esta prueba, intentaremos comprobar que el parámetro “política de SN” funciona correctamente y para ello realizaremos 2 búsquedas. En las que buscaremos la cadena “Resident Evil 4 GameCube” con los parámetros menos restrictivos. En cada una de ellas buscaremos un único resultado y la única diferencia entre las 2 búsquedas será que, en la primera la política de SN será “Todo el SN de titulo y Frase” y en la segunda será el “Sustantivo principal de la frase”. 76 Búsqueda Resident Evil 4 GameCube Base de Datos allgame Buscador msn Política de SN Número de Resultados Todo el SN de titulo y frase Ratio 0 Tiempo 5 Min Hits 10 Tiempo total 1 min. 1 Clave Title Link Titulo Plataform ESRB Genre Style Themes Release Developer Publisher Controls Flags Included synopsis Valor Resident Evil 4 http://www.allgame.com/game.php?id=42604 Resident Evil 4 Nintendo GameCube Blood and GoreIntense Violence Survival Horror 2D Fighting Undead # Plague and Disease January 11# 2005 Capcom Production Studio 4 Capcom USA# Inc. Joystick/Gamepad Features Dolby Pro Logic II 32-page Instruction ManualPrecautions Booklet Players guide Leon S. Kennedy(1.3818181818181818)# Hiroyuki Kobayashi Dino Crisis 2(1.0)# this GameCube -exclusive release(1.0)# a real-time 3D polygonal engine(1.0)# 's blockbuster survival-horror series(1.0)# decrepit sewers(0.24489795918367346)# the camera limitations(0.22727272727272727)# rain-soaked alleyways(0.1981981981981982)# Capcom(0.03462469733656175)# castlelike structures(0.030026109660574413)# zombies(0.024188790560471976)# Resident Evil 4(0.021644295302013422)# survival(0.004153846153846154)# Devil May Cry (0.004093816631130064)# Leon(0.002150101419878296)# players(0.0019011627906976745)# producer(0.0018650306748466258)# Resident Evil 2(0.0016666666666666668)# Resident Evil 3(0.001293859649122807)# Hiroshi Shibata(5.086206896551724E-4)# the Umbrella Corporation(4.7679558011049726E-4)# who(3.1204819277108435E-4)# them(2.683333333333333E-4)# the way(2.054958183990442E-4)# his directorial debut(1.7698412698412697E-4)# a battle(9.594594594594594E-5)# a revolver(7.645951035781544E-5)# The result(7.165991902834008E-5)# an adventure(6.0E-5)# The first game(4.468965517241379E-5)# other creatures(3.3535714285714286E-5)# the lead protagonist(2.993421052631579E-5)# biological experiments(7.282051282051282E-6)# static backgrounds(6.129032258064516E-6)# past titles(5.173076923076923E-6)# suspicious origin(3.4615384615384617E-6)# various other weapons(1.5510204081632654E-6)# 77 Búsqueda Resident evil 4 GameCube Base de Datos allgame Buscador msn Política de SN Número de Resultados Sustantivo principal de la frase Ratio 0.0001 Tiempo 5 Min Hits 10 Tiempo total 1 min. Clave Title Link Titulo Plataform ESRB Genre Style Themes Release Developer Publisher Controls Flags Included synopsis 1 Valor Resident Evil 4 http://www.allgame.com/game.php?id=42604 Resident Evil 4 Nintendo GameCube Blood and GoreIntense Violence Survival Horror 2D Fighting Undead # Plague and Disease January 11# 2005 Capcom Production Studio 4 Capcom USA# Inc. Joystick/Gamepad Features Dolby Pro Logic II 32-page Instruction ManualPrecautions Booklet Evil 4(0.03532786885245902)#Capcom(0.03462469733656175)#zombies(0.024188 790560471976)#revolver(0.010642722117202269)#protagonist(0.00803986710 9634552)#Cry (0.006239130434782609)#creatures(0.0037938931297709926)#alleyways(0.00 35)#weapons(0.003471074380165289)#sewers(0.00276)#origin(0.0026727509 778357236)#battle(0.0025661764705882354)#adventure(0.0023311258278145 694)#debut(0.0022483870967741934)#Leon(0.002150101419878296)#titles(0. 0020388349514563107)#players(0.0019011627906976745)#producer(0.00186 50306748466258)#experiments(0.0016613756613756614)#Kennedy(0.001555 8659217877096)#Shibata(0.0013890489913544668)#game(0.00134668508287 29282)#release(0.0011508951406649615)#Evil 2(0.0010467289719626168)#series(0.0010188235294117647)#Evil 3(9.719626168224299E-4)#backgrounds(8.407079646017699E-4)#Crisis 2(4.5817490494296577E-4)#way(3.905660377358491E4)#engine(3.5025380710659897E-4)#limitations(3.349753694581281E4)#Corporation(3.1637426900584794E-4)#structures(2.657952069716776E4)#result(1.6340852130325813E-4)# 78 A continuación, se muestra una tabla con la diferencia de datos obtenidos por el resultado: Todo el SN de titulo y frase Sustantivo principal de la frase Players guide Leon S. Kennedy(1.3818181818181818)# 's blockbuster survival-horror series(1.0)# Hiroyuki Kobayashi Dino Crisis 2(1.0)# this GameCube -exclusive release(1.0)# a real-time 3D polygonal engine(1.0)# decrepit sewers(0.24489795918367346)# the camera limitations(0.22727272727272727)# rain-soaked alleyways(0.1981981981981982)# Capcom(0.03462469733656175)# castle-like structures(0.030026109660574413)# zombies(0.024188790560471976)# Resident Evil 4(0.021644295302013422)# survival(0.004153846153846154)# Devil May Cry (0.004093816631130064)# Leon(0.002150101419878296)# players(0.0019011627906976745)# producer(0.0018650306748466258)# Resident Evil 2(0.0016666666666666668)# Resident Evil 3(0.001293859649122807)# Hiroshi Shibata(5.086206896551724E-4)# the Umbrella Corporation(4.7679558011049726E4)# who(3.1204819277108435E-4)# them(2.683333333333333E-4)# Evil 4(0.03532786885245902)# the way(2.054958183990442E-4)# his directorial debut(1.7698412698412697E-4)# a battle(9.594594594594594E-5)# a revolver(7.645951035781544E-5)# The result(7.165991902834008E-5)# an adventure(6.0E-5)# The first game(4.468965517241379E-5)# other creatures(3.3535714285714286E-5)# the lead protagonist(2.993421052631579E-5)# biological experiments(7.282051282051282E-6)# static backgrounds(6.129032258064516E-6)# past titles(5.173076923076923E-6)# suspicious origin(3.4615384615384617E-6)# various other weapons(1.5510204081632654E-6)# Capcom(0.03462469733656175)# zombies(0.024188790560471976)# revolver(0.010642722117202269)# protagonist(0.008039867109634552)# Cry (0.006239130434782609)# creatures(0.0037938931297709926)# alleyways(0.0035)# weapons(0.003471074380165289)# sewers(0.00276)# origin(0.0026727509778357236)# battle(0.0025661764705882354)# adventure(0.0023311258278145694)# debut(0.0022483870967741934)# Leon(0.002150101419878296)# titles(0.0020388349514563107)# players(0.0019011627906976745)# producer(0.0018650306748466258)# experiments(0.0016613756613756614)# Kennedy(0.0015558659217877096)# Shibata(0.0013890489913544668)# game(0.0013466850828729282)# release(0.0011508951406649615)# Evil 2(0.0010467289719626168)# series(0.0010188235294117647)# Evil 3(9.719626168224299E-4)# backgrounds(8.407079646017699E-4)# Crisis 2(4.5817490494296577E-4)# way(3.905660377358491E-4)# engine(3.5025380710659897E-4)# limitations(3.349753694581281E-4)# Corporation(3.1637426900584794E-4)# structures(2.657952069716776E-4)# result(1.6340852130325813E-4)# Como podemos observar la cantidad de elementos obtenidos a disminuido y esto es debido a que hemos filtrado el ratio a que fuera inferior a 0.0001 y como se puede observar a funcionado correctamente. En alguna ocasión también hemos obtenido un ratio superior a uno, debido a errores en la estimación del número de resultados proporcionado por el buscador web. Podemos observar que los primeros elementos tienen mejores ratios y esto es debido a la utilización de todo el SN, a costa de un número de resultados menor. Finalmente, observamos que si elegimos “todo el SN de 79 frase y titulo” obtenemos gran cantidad de información en referencia al juego, ya que aparecen “Players guide Leon S. Kennedy” que nos informa del personaje que controlamos, “'s blockbuster survival-horror series“ en este caso informa del genero del videojuego y “Hiroyuki Kobayashi Dino Crisis 2” que es el productor del Resident evil 4 así como de Dino Crisis 2, que también está incluido en el string, toda esta información nos serviría para ayudar en la obtención de datos referentes al videojuego. Y la información obtenida con “el sustantivo principal de la frase” obtenemos datos como “Capcom”, “zombies”, “revolver” en el que capcom es la empresa desarrolladora del juego, zombies serviría para clasificar por genero y revolver sería un tipo de arma que utilizaríamos en el juego, entonces estas características servirían para obtener características generales del videojuego. 4.9. Prueba 9 En esta prueba queremos probar cómo afecta la política de SN en ebay. Para ello realizaremos la búsquedas de la cadena “Dragon Ball” con la política de SN “Sustantivo principal de frase”, el número de resultados que deseamos buscar será 10, que será el mismo número que utilizaremos para el tiempo y el mínimo de Hits. Búsqueda Dragon Ball Base de Datos ebay Buscador msn Política de SN Número de Resultados Sustantivo principal de frase Ratio 0 Tiempo 10 Min Hits 10 Tiempo total 9 min. Clave Title Link Category prince End time Shipping Ships to Item location 10 Valor NEW Complete Dragonball Z 69 DVD Set 291 Eps + 13Movies http://cgi.ebay.com/NEW-Complete-Dragonball-Z-69-DVD-Set-291-Eps13Movies_W0QQitemZ280351471204QQcmdZViewItemQQptZLH_DefaultD omain_0?hash=item41463ff664&_trksid=p3286.c0.m14&_trkparms= 65%3A12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1307%7C3 01%3A1%7C293%3A1%7C294%3A50 DVDs & Movies # Wholesale Lots # DVDs # 51-100 Items $179.99 Jun-04-09 12:36:34 PDT (2 days 11 hours) US $9.99US Postal Service Priority Mail®Service to United States (more services) Worldwide CALIFORNIA# United States 80 Quantity History Item Specifics Description 3 available Purchases Item ConditionCondition: New Clave Title Link Category Current bid End time Shipping Ships to Item location History High bidder Item Specifics Description Clave Title Link Category Current Bid End time Shipping Ships to Item location History Item Specifics Valor Dragon Ball Z Complete Set 1-291 Episodes 40 DVD Boxset http://cgi.ebay.com/Dragon-Ball-Z-Complete-Set-1-291-Episodes-40-DVDBoxset_W0QQitemZ120426101321QQcmdZViewItemQQptZUS_DVD_HD_D VD_Blu_ray?hash=item1c09f47a49&_trksid=p3286.c0.m14&_trkpar ms=65%3A12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1318% 7C301%3A1%7C293%3A1%7C294%3A50 DVDs & Movies # DVD# HD DVD & Blu-ray US $108.00 5 hours 5 mins (Jun-02-09 06:03:55 PDT) FREE shippingStandard Flat Rate Shipping ServiceService to United States (more services) Worldwide International Warehouse# United States 1 bid ****e( 12) DVDsFormat: DVD Edition: Boxed Set# Full Screen Genre: Anime & Manga Rating: -- Sub-Genre: -- Region: DVD: 1 (US# CA) Condition: Brand New Boxset(6.076923076923077E-5)#Episodes(3.185483870967742E6)#episodes(3.0241935483870967E-6)#episodes(3.0241935483870967E6)#PS2(2.2566995768688293E-7)#Box(8.212058212058212E8)#Z(7.915831663326654E-8)#box(7.796257796257796E-8)#DVD(7.65625E8)#SET(7.304347826086957E-8)#Retail(6.32183908045977E8)#Region(3.640776699029126E-8)#days(1.818181818181818E-8)# Valor Wonderful Excellent Rare jade ball with dragon on it 91 http://cgi.ebay.com/Wonderful-Excellent-Rare-jade-ball-with-dragon-on-it91_W0QQitemZ220422154225QQcmdZViewItemQQptZLH_DefaultDomain_ 0?hash=item33522f27f1&_trksid=p3286.c0.m14&_trkparms=65%3A 12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1318%7C301%3A 1%7C293%3A1%7C294%3A50 Collectibles # Cultures & Ethnicities # Asian # 1900-Now # Chinese # Figures & Statues $2.58 5 hours 40 mins (Jun-02-09 06:39:48 PDT) FREE shippingOther (see description)Service to United States (more services) Worldwide ???# ???# China 3 bids Item ConditionCondition: New 81 High bidder Description t***i( 246) Clave Title Link Valor Category Current Bid End time Shipping Ships to Item location History High bidder Item Specifics Description Clave Title Link Category prince End time Shipping Ships to Item location Quantity History Item Specifics Description Vintage Chinese Dragon Phoenix Incense Ball http://cgi.ebay.com/Vintage-Chinese-Dragon-Phoenix-IncenseBall_W0QQitemZ120427071530QQcmdZViewItemQQptZLH_DefaultDomain _0?hash=item1c0a03482a&_trksid=p3286.c0.m14&_trkparms=65%3 A12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1318%7C301%3 A1%7C293%3A1%7C294%3A50 Collectibles # Cultures & Ethnicities # Asian # 1900-Now # Nepalese & Tibetan US $4.78 8 hours 22 mins (Jun-02-09 09:22:11 PDT) FREE shippingStandard Flat Rate Shipping ServiceService to United States (more services) Worldwide Beijing# China 9 bids User ID kept private Item ConditionCondition: New Valor Complete Entire Dragonball Uncut Episodes 1-153 New DVD Link=http://cgi.ebay.com/Complete-Entire-Dragonball-Uncut-Episodes-1-153NewDVD_W0QQitemZ200348170777QQcmdZViewItemQQptZUS_DVD_HD_D VD_Blu_ray?hash=item2ea5ae7a19&_trksid=p3286.c0.m14&_trkpar ms=65%3A12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1318% 7C301%3A1%7C293%3A1%7C294%3A50 DVDs & Movies # DVD# HD DVD & Blu-ray $250.00 Jun-10-09 20:10:43 PDT (8 days 19 hours) FREE shippingExpedited Flat Rate Shipping ServiceService to United States (more services) Worldwide East Tawas# Michigan# United States 9 available Purchases DVDsFormat: DVD Edition: Boxed Set Genre: Animation Rating: PG-13 SubGenre: -- Region: DVD: 0# All (Worldwide) Condition: Brand New episodes(4.032258064516129E-7)#Sealed(3.361344537815126E7)#uncut(2.586206896551724E-7)#brand new(4.545454545454546E8)#Dvd(8.59375E-9)#Movies(6.802721088435374E9)#Movies(6.802721088435374E-9)#Movies(6.802721088435374E-9)# 82 Clave Title Link Category Current Bid End time Shipping Ships to Item location History High bidder Item Specifics Description Clave Title Link Category Current Bid End time Shipping Ships to Item location History High bidder Item Specifics Description Valor Dragon Ball Z - Majin Buu: Atonement (DVD# 2002) http://cgi.ebay.com/Dragon-Ball-Z-Majin-Buu-Atonement-DVD2002_W0QQitemZ140323249832QQcmdZViewItemQQptZUS_DVD_HD_DV D_Blu_ray?hash=item20abeadea8&_trksid=p3286.c0.m14&_trkparm s=65%3A12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1318%7 C301%3A1%7C293%3A1%7C294%3A50 DVDs & Movies # DVD# HD DVD & Blu-ray US $3.99 9 hours (Jun-02-09 10:03:28 PDT) FREE shippingUS Postal Service Priority Mail®Service to United States United States San Antonio# TX# United States 1 bid d***6( 58) DVD Edition: -- Genre: Animation Rating: NR Sub-Genre: -- Release Date: Jan 29# 2002 Condition: Acceptable UPC: 704400030550 Region: - Valor Dragon Ball Z - Majin Buu: The Hatching (DVD# 2002) http://cgi.ebay.com/Dragon-Ball-Z-Majin-Buu-The-Hatching-DVD2002_W0QQitemZ140323250313QQcmdZViewItemQQptZUS_DVD_HD_DV D_Blu_ray?hash=item20abeae089&_trksid=p3286.c0.m14&_trkparm s=65%3A12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1318%7 C301%3A1%7C293%3A1%7C294%3A50 DVDs & Movies # DVD# HD DVD & Blu-ray US $3.99 9 hours 1 min (Jun-02-09 10:05:09 PDT) FREE shippingUS Postal Service Priority Mail®Service to United States United States San Antonio# TX# United States 0 bids DVDsFormat: DVD Edition: -- Genre: Animation Rating: NR Sub-Genre: -Release Date: Jan 29# 2002 Condition: Acceptable UPC: 704400030543 Region: - 83 Clave Title Link Category price End time Shipping Ships to Item location Quantity History High bidder Item Specifics Description Clave Title Link Category End time Shipping Ships to Item location History Item Specifics Description Valor Dragon Ball Z - Kid Buu: Box Set (2003# VHS) http://cgi.ebay.com/Dragon-Ball-Z-Kid-Buu-Box-Set-2003VHS_W0QQitemZ370151216980QQcmdZViewItemQQptZVHS?hash=item56 2ebb5754&_trksid=p3286.c0.m14&_trkparms=65%3A12%7C66%3A 2%7C39%3A1%7C72%3A1205%7C240%3A1318%7C301%3A0%7C293%3A 1%7C294%3A50 DVDs & Movies # VHS $2.99 Jun-26-09 13:16:59 PDT (24 days 12 hours) US $2.00US Postal Service Media MailTMService to United States (more services) United States lone oak# texas# United States More than 10 available Purchases d***6( 58) VHSFormat: VHS Rating: NR Format: -- Release Date: Nov 11# 2003 Genre: Action# Adventure UPC: 704400046636 Sub-Genre: -- Condition: Brand New seller(1.6611295681063123E-7)#SET(4.8695652173913046E8)#video(2.738095238095238E-8)#OR(1.3125E-8)# Valor Dragon Ball Z - Majin Buu: A Hero's Farewell (DVD# 2... http://cgi.ebay.com/Dragon-Ball-Z-Majin-Buu-A-Heros-Farewell-DVD2_W0QQitemZ140323250729QQcmdZViewItemQQptZUS_DVD_HD_DVD_ Blu_ray?hash=item20abeae229&_trksid=p3286.c0.m14&_trkparms=6 5%3A12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1318%7C30 1%3A0%7C293%3A1%7C294%3A50 DVDs & Movies # DVD# HD DVD & Blu-ray 9 hours 2 mins (Jun-02-09 10:06:36 PDT) FREE shippingUS Postal Service Priority Mail®Service to United States United States San Antonio# TX# United States 0 bids DVDsFormat: DVD Edition: Edited and Uncut Versions Genre: Action# Adventure Rating: -- Sub-Genre: -- Release Date: May 07# 2002 Condition: Very Good UPC: 704400030598 Region: DVD: 1 (US# CA) 84 Clave Title Link Category End time Shipping Ships to Item location History Item Specifics Description Valor Dragon Ball Z - Majin Buu: Emergence (DVD# 2002) http://cgi.ebay.com/Dragon-Ball-Z-Majin-Buu-Emergence-DVD2002_W0QQitemZ140323251080QQcmdZViewItemQQptZUS_DVD_HD_DV D_Blu_ray?hash=item20abeae388&_trksid=p3286.c0.m14&_trkparm s=65%3A12%7C66%3A2%7C39%3A1%7C72%3A1205%7C240%3A1318%7 C301%3A0%7C293%3A1%7C294%3A50 DVDs & Movies # DVD# HD DVD & Blu-ray 9 hours 3 mins (Jun-02-09 10:07:50 PDT) FREE shippingUS Postal Service Priority Mail®Service to United States United States San Antonio# TX# United States 0 bids DVDsFormat: DVD Edition: -- Genre: Action# Adventure Rating: NR SubGenre: -- Release Date: Jun 11# 2002 Condition: Very Good UPC: 704400030604 Region: DVD: 1 (US# CA) Como podemos observar, debido a la selección de la política del SN “Sustantivo principal del SN”, el número de webs que se han aceptado los SN es muy limitado y esto es debido a los titulo de ebay que habitualmente están escritos de manera muy descriptiva o con palabras clave. Esto origina que luego en los buscadores web, obtengamos muy pocos resultados si utilizamos el titulo completo como parámetro de búsqueda. 4.10. Prueba 10 En esta prueba queremos comprobar el correcto funcionamiento del parámetro del mínimo de Hits. Para ello realizaremos 2 búsquedas de la cadena “David Bisbal” con un único resultado, en el que en la primera búsqueda definiremos un mínimo de 200 de Hits. Esperamos que con los resultados obtengamos menos SN en la primera búsqueda. Búsqueda David Bisbal Base de Datos allmusic Buscador msn Política de SN Número de Resultados Sustantivo principal de la frase Ratio 0 Tiempo 5 Min Hits 200 Tiempo total 1 min. 1 85 Clave Title Link Genre Style Mood bio Valor 1-David Bisbal http://www.allmusic.com/cg/amg.dll?p=amg&sql=11:wzfyxqe0ld0e~T0 Latin Latin Pop Stylish#Playful#Passionate#Lively#Romantic#Sexy#Sensual# David Bisbal 2006 (1.0)# Todo por Ustedes 2005 (0.9628252788104089)# Bulería 2004 (0.9343065693430657)# Premonición Live(0.8991935483870968)# Bisbal(0.6896551724137931)# Bisbal(0.6896551724137931)# Bisbal(0.6896551724137931)# Bisbal(0.6896551724137931)# Lloraré las Penas(0.6671270718232044)# " Lloraré las Penas(0.31900826446280994)# David Bisbal(0.3064516129032258)# Premonición(0.18573551263001487)# Premonición(0.18573551263001487)# Bulería(0.1642512077294686)# Bulería(0.1642512077294686)# " Dígale " (0.051807228915662654)# Silencio(0.022032967032967032)# Triunfo(0.0109038737446198)# Camina y Ven(0.006517857142857143)# Quien(0.005538461538461538)# flamenco(0.0038095238095238095)# Oye el Boom(0.0027407407407407406)# Almería(0.0027088948787061993)# Torre de Babel(0.0025991189427312777)# Corazón Latino(0.0021666666666666666)# Corazón Latino(0.0021666666666666666)# Corazón Latino(0.0021666666666666666)# 2007(0.0017647058823529412)# a Decir(0.0014962962962962963)# Cómo Olvidar(0.0012960893854748604)# 2006 (0.001217391304347826)# Hate(5.526695526695527E-4)# fame(2.1923076923076922E-4)# Ave María(2.1471652593486128E-4)# Love(1.967479674796748E-4)# Spain(1.5097087378640776E-4)# Me(8.848684210526316E-5)# I(6.960227272727273E-5)# association(6.581920903954803E-5)# particular(6.417910447761194E-5)# the album(5.269121813031161E-5)# the album(5.269121813031161E-5)# he(5.153061224489796E-5)# he(5.153061224489796E-5)# Latin pop(4.535353535353535E-5)# who(4.209150326797386E-5)# ./. Produced(4.1550387596899224E-5)# before(4.099378881987578E-5)# others(3.704735376044568E-5)# a Latin Grammy(3.562585969738652E-5)# 2002(2.6783216783216782E-5)# which(2.6E-5)# 2002(2.487012987012987E5)# smash hits(2.38255033557047E-5)# You(2.336448598130841E-5)# it(2.1891891891891892E-5)# the United States(1.6625916870415647E-5)# the wake(9.318181818181819E-6)# the wake(9.318181818181819E-6)# a series(2.8271028037383177E-6)# the success(2.514018691588785E-6)# a few months(1.292517006802721E-6)# 86 Búsqueda David Bisbal Base de Datos allmusic Buscador msn Política de SN Número de Resultados Sustantivo principal de la frase Ratio 0 Tiempo 5 Min Hits 10 Tiempo total 1 min. Clave Title Link Genre Style Mood bio 1 Valor 1-David Bisbal http://www.allmusic.com/cg/amg.dll?p=amg&sql=11:wzfyxqe0ld0e~T0 Latin Latin Pop Stylish#Playful#Passionate#Lively#Romantic#Sexy#Sensual# David Bisbal 2006 (1.0)# a chart-topping solo recording career(1.0)# Todo por Ustedes 2005 (0.9628252788104089)# Bulería 2004 (0.9343065693430657)# Bisbal indulging(0.92)# Premonición Live(0.8991935483870968)# Corazón Latino not(0.8571428571428571)# a Spanish pop sensation(0.8450704225352113)# Bisbal(0.6896551724137931)# Bisbal(0.6896551724137931)# Bisbal(0.6896551724137931)# Bisbal(0.6896551724137931)# the Spanish albums chart(0.6790123456790124)# the Spanish albums chart(0.6790123456790124)# Lloraré las Penas(0.6671270718232044)# " Lloraré las Penas(0.31900826446280994)# David Bisbal(0.3064516129032258)# his fulllength solo album debut(0.21428571428571427)# Premonición(0.18573551263001487)# Universal Music only(0.18181818181818182)# Premonición(0.1723625557206538)# Bulería(0.1642512077294686)# Bulería(0.15217391304347827)# the featured singles(0.11616161616161616)# " Dígale " (0.051807228915662654)# 's third studio effort(0.034328358208955224)# Silencio(0.022032967032967032)# Triunfo(0.0109038737446198)# Camina y Ven(0.006517857142857143)# Quien(0.005538461538461538)# flamenco(0.004114285714285714)# Oye el Boom(0.0027407407407407406)# Almería(0.0027088948787061993)# Torre de Babel(0.0025991189427312777)# Corazón Latino(0.0021666666666666666)# Corazón Latino(0.0021666666666666666)# Corazón Latino(0.0021666666666666666)# 2007(0.0019067796610169492)# a Decir(0.0014962962962962963)# Cómo Olvidar(0.0012960893854748604)# 2006 (0.001217391304347826)# Hate(5.526695526695527E-4)# fame(2.3653846153846153E-4)# Ave María(2.1471652593486128E-4)# Love(1.967479674796748E-4)# Spain(1.5097087378640776E-4)# Me(9.539007092198582E-5)# I(6.960227272727273E-5)# association(6.581920903954803E-5)# particular(6.417910447761194E-5)# the album(5.269121813031161E-5)# the album(5.269121813031161E-5)# he(5.153061224489796E-5)# he(5.153061224489796E-5)# Latin 87 pop(4.5303030303030304E-5)# before(4.099378881987578E-5)# who(3.8795180722891564E-5)# ./. Produced(3.8527131782945734E-5)# others(3.6855670103092785E-5)# a Latin Grammy(3.562585969738652E-5)# which(2.6E-5)# 2002(2.487012987012987E-5)# 2002(2.487012987012987E5)# smash hits(2.38255033557047E-5)# You(2.336448598130841E-5)# his newfound fame(2.293577981651376E-5)# it(2.1891891891891892E-5)# the United States(1.6625916870415647E-5)# chart-topping singles(1.1049723756906077E-5)# chart-topping singles(1.1049723756906077E-5)# the wake(9.318181818181819E-6)# the wake(9.318181818181819E-6)# the inaugural season(7.834757834757835E6)# another chart-topper(5.735660847880299E-6)# a trio(4.572748267898384E-6)# a series(2.8271028037383177E-6)# the success(2.717171717171717E-6)# June 5 1979(2.3465211459754434E-6)# musical styles(1.747663551401869E-6)# a few months(1.292517006802721E6)# a reality show(1.2115384615384616E-6)# a wider range(1.048689138576779E-6)# a moderate success(1.0080645161290323E6)# his recording debut(8.794788273615635E-7)# a greatest-hits compilation(8.176100628930818E-7)# a deluxe edition(6.513761467889909E7)# prior albums(5.309734513274336E-7)# the same name(3.339130434782609E-7)# The follow-up album(2.7385892116182575E7)# particularly popular .(2.6068821689259646E-7)# whose previous credits(2.4271844660194176E-7)# a television star(2.0610687022900762E-7)# A live album(2.0E-7)# the many awards(1.8055555555555556E-7)# the 20012002 season(1.75E-7)# 's international hit(1.2849162011173183E-7)# Como se puede observar la cantidad de elementos obtenidos a disminuido y esto es debido a que hemos filtrado los Hits a que fueran superiores a 200 Hits. En esta búsqueda también podemos observar que los primeros resultados que obtenemos por los filtros de los sintagmas son referentes a los discos publicados. En este caso, respecto a la información en lenguaje natural, con el parámetro de minhits a 200, hemos obtenido como primeros datos “David Bisbal 2006”, “Todo por Ustedes 2005”, “Bulería 2004”, “Premonición Live”, entonces los principales datos que obtenemos son referentes a la discografía. Y con el mínimo de hits a 10, hemos obtenido varios de los resultados anteriores pero añadiendo, por ejemplo, “a chart-topping solo recording career”, que nos informa de “una gran carrera en solitario”, entonces, sin una gran restricción de minHits, obtenemos más información referente a la persona que a la discografía. Esto es debido a que los títulos de los discos son más comunes que frases que contengan información personal. 4.11. Prueba 11 En esta última prueba, observaremos el proceso de análisis y selección o rechazo de los SN. Para ello buscaremos la cadena “Resident evil” y la filtraremos por ratio a 0.0001, Hits 200 y una política de SN de “Todo el SN de titulo y frase”. Esperamos obtener información referente a que todos los filtros funcionen correctamente. Búsqueda Resident evil Base de Datos allmovie Buscador msn Política de SN Todo el SN de titulo y frase 88 Número de Resultados 10 Ratio 0.0001 Tiempo 5 Min Hits 200 Tiempo total 2 min. Clave Title Link Year Run Time MPAA Rating Category Color Director Types Flags Keywords Themes MPAA Reasons Produced by Released by synopsis Valor Resident Evil http://www.allmovie.com/work/resident-evil-259831 2002 100 min. R Feature Color Paul W.S. Anderson Creature Film# Sci-Fi Horror Violence # Adult Language # Brief Nudity commando#ghoul#laboratory#virus#zombie#bioengineering#man-vsmachine#artificial-intelligence Zombies#Plagues and Epidemics#Experiments Gone Awry for strong sci-fi/horror violence# language# and brief sexuality/nudity Constantin Film Screen Gems Alice and Rain (0.871866295264624)# Alice and Rain (0.871866295264624)# Martin Crewes (0.45098039215686275)# Milla Jovovich (0.053791469194312796)# James Purefoy (0.052)# lasers (0.012077464788732395)# the Hive (0.010528455284552846)# they (0.004062015503875969)# they (0.004062015503875969)# them (0.0037075471698113207)# one (0.0024292803970223324)# it (0.0018506998444790047)# the Umbrella Corporation (0.0017318435754189944)# a variety (0.0015145228215767636)# the release (0.0011875)# the soldiers (0.0010646067415730337)# The Licker (9.739413680781759E-4)# The director (8.48780487804878E-4)# a cure (5.016181229773463E-4)# Mortal Kombat 1995 (4.742798353909465E-4)# an accident (4.684684684684685E-4)# Colin Salmon (4.26046511627907E-4)# the lab (4.113573407202216E-4)# the big screen (3.7545454545454546E-4)# mutant dogs (3.070489844683393E-4)# the virus (2.666666666666667E-4)# the facility (2.54E-4)# 's supercomputer (1.7513227513227513E-4)# the commandos (1.4890829694323143E-4)# the spread (1.3049645390070922E4)# 89 A continuación, se mostrará una tabla con el análisis y los filtros que tienen que completar cada SN: Frase Hits Frase Texto + frase Hits texto + Frase ratio Estado The director 207000000 189000 9850000 8.487804878048 78E-4 4.742798353909 465E-4 Aceptado Mortal Kombat 1995 another popular video game 314 the big screen 254000000 " The director" and " Resident Evil " " Mortal Kombat 1995" and " Resident Evil " " another popular video game" and " Resident Evil “ " the big screen" and " Resident Evil " this gory action thriller Milla Jovovich 101 4260000 Michelle Rodriguez star 451 Alice and Rain 380 two members 599000000 a commando team the Hive 6940000 an underground research laboratory the faceless conglomerate the Umbrella Corporation 2840000 893 147 87900 18100000 436 the maze-like Hive the facility 147 103000000 's employees 113000000 mindless flesheating zombies 578 A single scratch or bite one 116 4090000000 81 Aceptado Rechazado 3.754545454545 4546E-4 Aceptado Rechazado "Milla Jovovich" and "Resident Evil" "Michelle Rodriguez star" and "Resident Evil" "Alice and Rain" and " Resident Evil" "two members" and " Resident Evil" "a commando team" and " Resident Evil" "the Hive" and "Resident Evil" "an underground research laboratory" and "Resident Evil" 232000 0.053791469194 312796 187 330 9840 396 25500 Aceptado Rechazado 0.871866295264 624 1.642737896494 1568E-5 5.706051873198 8474E-5 0.010528455284 552846 121 Aceptado Rechazado Rechazado Aceptada Rechazada 187 A bioengineered virus these rampaging ghouls 5030 Rechazada "the Umbrella Corporation" and "Resident Evil" "A bio-engineered virus" and "Resident Evil" 27100 0.001731843575 4189944 106 Aceptada Rechazada Rechazada "the facility" and "Resident Evil" "'s employees" and "Resident Evil" "mindless flesheating zombies" and "Resident Evil" 25800 2.54E-4 Aceptada 3400 3.008849557522 1238E-5 Rechazada 172 Rechazada Rechazada "one" and "Resident Evil" 10200000 0.002429280397 0223324 Aceptada Rechazada 90 its victim 32700000 the commandos 23500000 their work 891000000 them 1200000000 they 1270000000 the Red Queen 120000000 the lab 73100000 's supercomputer their sole hope 1920000 the spread 125000000 the conta gion they 32 1270000000 their mission 217000000 the soldiers 36000000 a variety 243000000 deadly obstacles 13500000 mutant dogs 8480000 lasers 5760000 a genetically altered beast The Licker 86 6150000 whose strength 98900000 every victim 32500000 it 7400000000 Alice and Rain 380 "Alice and Rain" and "Resident Evil" 330 the release 291000000 384000 the virus 182000000 "the release" and "Resident Evil" "the virus" and "Resident Evil" an accident 49900000 "an accident" and 32000 1170 "its victim" and "Resident Evil" "the commandos" and "Resident Evil" "their work" and "Resident Evil" "them" and " Resident Evil" "they" and "Resident Evil" "the Red Queen" and "Resident Evil" "the lab" and "Resident Evil" "'s supercomputer" and "Resident Evil" "their sole hope" and "Resident Evil" "the spread" and "Resident Evil" " they" and " Resident Evil" " their mission" and "Resident Evil" "the soldiers" and " Resident Evil" "a variety" and "Resident Evil" "deadly obstacles" and "Resident Evil" "mutant dogs" and "Resident Evil" "lasers" and "Resident Evil" 2500 3600 49500 4140000 5580000 6440 28300 350 7.645259938837 92E-5 1.489082969432 3143E-4 5.555555555555 556E-5 0.003707547169 8113207 0.004062015503 875969 5.366666666666 6666E-5 4.113573407202 216E-4 1.751322751322 7513E-4 81 19400 5580000 17000 37600 340000 385 2440 69000 Rechazada Aceptada Rechazada Aceptada Aceptada Rechazada Aceptada Aceptada Rechazada 1.304964539007 0922E-4 0.004062015503 875969 7.834101382488 479E-5 0.001064606741 5730337 0.001514522821 5767636 2.851851851851 8517E-5 3.070489844683 393E-4 0.012077464788 732395 Aceptada Rechazada Aceptada Rechazada Aceptada Aceptada Rechazada Aceptada Aceptada Rechazada "The Licker" and "Resident Evil" "whose strength" and "Resident Evil" "every victim" and "Resident Evil" "it" and "Resident Evil" 5070 594 9.739413680781 759E-4 6.006066734074 823E-6 177 12300000 48100 Aceptada Rechazada Rechazada 0.0018506998 444790047 0.8718662952 64624 0.0011875 Aceptada 2.6666666666 66667E-4 4.6846846846 Aceptada Aceptada Aceptada Aceptada 91 "Resident Evil" a cure 62400000 the deadly Hive Resident Evil co-stars Eric Mabius James Purefoy 81 242000 Martin Crewes 10100 Colin Salmon 21500000 "a cure" and "Resident Evil" 30300 84685E-4 5.0161812297 73463E-4 Aceptada Rechazada "James Purefoy" and "Resident Evil" "Martin Crewes" and "Resident Evil" 9940 0.052 Aceptada 4550 Aceptada " Colin Salmon" and " Resident Evil " 9060 0.4509803921 5686275 4.2604651162 7907E-4 Aceptada Hemos podido observar que se han eliminado bastantes SN y esto es debido a los 2 filtros utilizados, ya que aunque la información contiene datos referentes a la entidad analizada, no se aceptan debido a que es complicado que frases completas existan en una gran cantidad de webs. Aún así se puede comprobar que su funcionamiento es correcto. Además en la información que obtenemos mediante el análisis del texto en lenguaje natural, podemos observar que obtenemos resultados como “Alice and rain” que hace referencia a personajes de la película o Milla Jovovich que es la actriz principal de la película. 92 5. Conclusiones y trabajo futuro En este último apartado de la documentación se explicarán las conclusiones y el trabajo futuro que se pueden extraer del proyecto. Durante la creación de la documentación hemos podido observar en qué consiste la aplicación, cómo se ha diseñado e implementado. El principal objetivo del proyecto se ha realizado, diseñando un sistema capaz de extraer la información contenida en webs semiestructuradas. Además, en el caso en que alguna de estas características esté expresada en lenguaje natural, se realiza un análisis para obtener los sintagmas nominales que ayuden a describir la entidad analizada. Finalmente, los resultados se almacenan en un fichero estructurado que puede servir como entrada para algoritmos de procesamiento de datos. Esta aplicación me ha servido para aprender y mejorar sobre todo el tratamiento y manejo de información web. Ya que yo inicialmente no sabía nada referente a estos análisis. Mi único contacto con las Web ha sido cuando he trabajado en Grupo Castilla y d-core. Cuando inicialmente observé cómo sería el proyecto pensaba que sería complicado implementarlo. Ya que durante la ingeniería técnica las asignaturas que utilizan sistemas abiertos o datos referentes a web son mínimas y corresponden a asignaturas optativas y yo no realicé ninguna de estas asignaturas. Por lo contrario, todo el Java estudiado durante la ingeniería técnica me ha facilitado mucho la creación de la aplicación ya que la aplicación está realizada en Java. Durante la aplicación he podido comprobar la utilidad de las herramientas de extracción de información web, ya que inicialmente era bastante escéptico en referencia a estas aplicaciones, debido principalmente a la falta de información que tenía respecto. Pero actualmente mi opinión es que, estas aplicaciones son muy necesarias debido a la gran cantidad de información existente en internet. Durante la creación de la aplicación, he logrado conocer y profundizar los conocimientos sobre las diferentes tecnologías utilizadas para el análisis y extracción de información web, así por ejemplo, no conocía la existencia herramientas de procesamiento de lenguaje natural. Así mismo he logrado conocer información referente a la minería de datos y web mining ya que durante toda la ingeniería técnica esta información ha sido realmente escasa. Mejoras De cara a mejorar el rendimiento del sistema implementado, se podría considerar la paralelización de las búsquedas en varios buscadores a la vez. Esto mejoraría el tiempo de ejecución debido a que se pueden realizar varias búsquedas simultáneamente. 93 Otra mejora que se podría realizar soportar múltiples idiomas durante el análisis. Para esto también haría falta una librería que pudiera analizar el texto en varios idiomas. Esto mejoraría en la cantidad de información que se podría analizar. Limitaciones Durante la creación de la aplicación se han encontrado varios problemas. Uno de estos problemas es debido al parseo web. Durante el desarrollo de la aplicación, el parseo de varios repositorios se ha tenido que volver a realizar debido al cambio de estructura interna de las páginas. En un futuro se espera eliminar o por lo menos, minimizar este problema con la creación de la web 3.0 o web semántica, que se basa en añadir a la web metadatos semánticos y ontológicos, para que sea posible su análisis informático. Otro problema ha sido referente a la utilización de buscadores web. El acceso mediante APIs está bastante limitado (1000 queries diarias) cosa que provoca una limitación del acceso a los buscadores. Como resultado, el número de búsquedas que se pueden realizar está limitado. La combinación de varios buscadores podría minimizar este problema. Trabajo futuro Se espera que en un futuro nuestra aplicación, y más exactamente los archivos resultantes de nuestra búsqueda, se utilicen para tratarlos con algoritmos de minería de datos. El análisis con minería de datos podría servir para agrupar o clasificar toda la información, por ejemplo, clasificar “actores” según su perfil, “productos” según sus características o “juegos” y “películas” según su temática. Por último, quiero agradecer la ayuda recibida, toda la paciencia y dedicación de los directores del proyecto, David Sánchez y Montserrat Batet, ya que debido a la compaginación de la realización del proyecto con el trabajo, no tenía mucho tiempo para la realización del proyecto, así como la facilidad de horario para hacer las reuniones del estado del proyecto. 94 REFERENCIAS [1]: Datamining Info.: obtener los pasos de Data mining URL: http://datamining.iespana.es/dataminig_tecnicas.htm [2]: Web mining: Fundamentos Básicos Autor: Franciso Manuel De Gyves Camacho Tipo: Doctorado en informática y automática Universidad de Salamanca [3]: Google Info.: Buscador web URL: http://www.google.com [4]: http://googleblog.blogspot.com/ Autor.: Jesse Alpert & Nissan Hajaj, Software Engineers, Web Search Infrastructure Team URL:http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html [5]: Ebay Info.: Repositorio web URL: http://www.ebay.com [6]: Peekyou Info.: Repositorio web URL: http://www.peekyou.com/ [7]: Allmovie Info.: Repositorio web URL: http://www.allmovie.com [7]: Allgame Info.: Repositorio web URL: http://www.allgame.com [9]: Allmusic Info.: Repositorio web URL: http://www.allmusic.com/ [10]: Java Info.: Lenguaje del desarrollo de la aplicación URL: http://java.sun.com/ [11]: Sun Microsystems Info.: Desarrollador de la tecnología java URL: http://es.sun.com 95 [12]: Eclipse Info.: Entorno de desarrollo de la aplicación URL: http://www.eclipse.org/ [13]: HTMLParser Info.: herramienta para extraer el texto de la página web URL: http://htmlparser.sourceforge.net/ [14]: Sourceforge Info.: Web con aplicaciones opensource URL: http://sourceforge.net [15]: OpenNLP Info.: Encargado de clasificar sintácticamente las palabras. URL: http://opennlp.sourceforge.net/ [16]: Wikipedia Info.: Definición de Hidden Markov Model URL: http://es.wikipedia.org/wiki/Modelo_oculto_de_M%C3%A1rkov [17]: GoogleApi Info.: herramienta para realizar búsquedas en google URL: http://www.google.com/apis [18]: Yahoosearch Info.: herramienta para realizar búsquedas en yahoo URL: http://developer.yahoo.com/ [19]: Mozilla Firefox Info.: Navegador web URL: http://www.mozilla-europe.org/es/firefox/ [20]: Microsoft Internet Explorer Info.: Navegador web URL: http://www.microsoft.com/spain/windows/products/winfamily/ie/default.mspx [21]: Servidor HTTP Apache Info.: Servidor web URL: http://httpd.apache.org/ [22]: Apache Tomcat Info.: Sirve de servidor para nuestra aplicación URL: http://tomcat.apache.org/ [23]: JSP Info.: Lenguaje desarrollo de la web URL: http://java.sun.com/products/jsp/ 96 [24]: IMDb Info.: Repositorio web no seleccionado URL: http://www.imdb.com/ [25]: Tripadvisor Info.: Repositorio web no seleccionado URL: http://www.tripadvisor.com/ 97