MX2007013020A - Sistema y metodo para rastrear y fechar contenido de manera eficiente en espacios de documentos dinamicos muy grandes. - Google Patents

Sistema y metodo para rastrear y fechar contenido de manera eficiente en espacios de documentos dinamicos muy grandes.

Info

Publication number
MX2007013020A
MX2007013020A MX2007013020A MX2007013020A MX2007013020A MX 2007013020 A MX2007013020 A MX 2007013020A MX 2007013020 A MX2007013020 A MX 2007013020A MX 2007013020 A MX2007013020 A MX 2007013020A MX 2007013020 A MX2007013020 A MX 2007013020A
Authority
MX
Mexico
Prior art keywords
document
content
collage
documents
search
Prior art date
Application number
MX2007013020A
Other languages
English (en)
Inventor
Raz Gordon
Original Assignee
Collage Analytics Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Collage Analytics Llc filed Critical Collage Analytics Llc
Publication of MX2007013020A publication Critical patent/MX2007013020A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

Se proporcionan sistemas y metodos para rastrear los origenes y fechas de un documento o parte del contenido encontrando documentos o partes correspondientes similares o exactas del contenido almacenado en un indice. El indice puede incluir documentos actuales y anteriores junto con la informacion asociada para cada documento. Analizando cada documento usando varios esquemas, es posible correlacionar documentos similares o correspondientes. Usando tales correlaciones del documento, es posible determinar los origenes y las fechas recientes de un documento particular.

Description

SISTEMA Y MÉTODO PARA RASTREAR Y FECHAR CONTENIDO DE MANERA EFICIENTE EN ESPACIOS DE DOCUMENTOS DINÁMICOS MUY GRANDES Referencia Cruzada a la Solicitud Relacionada Se reivindica el beneficio de la fecha de presentación de la Solicitud de Patente Provisional Norteamericana No. US60/672.256, titulada "System and method for efficíently tracking and dating content ¡n very large dynamic document spaces", presentada el 18 de abril de 2005. La Solicitud de Patente anterior es incorporada por este medio en la presente por referencia en su totalidad. Campo de la Invención La presente invención se refiere al campo de los motores de extracción y búsqueda de información. Antecedentes de la Invención La última década se ha observado que la World Wide Web ("red") ha evolucionado en un recurso de información extenso, que comprende billones de páginas de la red y documentos que se almacenan en millones de servidores y computadoras por todo el mundo. La red es accesible a los usuarios de computadoras personales que están conectadas al Internet, utilizando los navegadores de red ("navegadores"), tal como Internet Explorer® de Microsoft. Para tener acceso a una página de red particular, un usuario dirige su navegador a la dirección de red de la página de red, también conocida como Uniform Resource Locator ("URL"), que inicia la descarga y visualización de la página de red. El usuario también puede hacer clic (es decir seleccionar) un hiperenlace en el Página de red que hace que el navegador descargue y visualice la página de red dirigida por el hiperenlace. Los tipos de documentos que son accesibles a través de la red incluyen páginas de red convencionales escritas en Hypertext Markup Languague, ("HTML"), así como otros tipos de documentos, tal como los archivos Adobe PDF y archivos Microsoft Word® (varios tipos de documentos son referidos colectivamente en la presente como "documentos"). Los motores de búsqueda ayudan a los usuarios a localizar la información deseada en la red. Un usuario envía una consulta de búsqueda al motor de búsqueda, que comprende uno o más términos o palabras claves de búsqueda, y regresa una lista de documentos relacionados a la consulta de búsqueda. Los motores de búsqueda se implementan en base a tecnologías de indexación inteligente, que permiten la búsqueda y extracción rápida y eficiente. Un motor de búsqueda generalmente usa uno o más robots o arañas que atraviesan la red y descargan cada página de red que encuentran. Los robots exploran profundamente en la amplitud de la red abriendo muchos hiperenlaces que se incluyen en cada página de red que encuentran. Los documentos que se regresan en una lista de resultados de búsqueda frecuentemente, se enumeran en miles o millones. El motor de búsqueda por lo tanto utiliza las técnicas de clasificación inteligente para la clasificación y orden de los documentos en la lista de resultados de búsqueda en base a su importancia. La popularidad y relevancia comparativa de un documento para la consulta de búsqueda afecta su clasificación relativa en la lista de resultados de búsqueda. Un motor de búsqueda actualiza constantemente su índice recargando los documentos incluidos en el índice. El índice como resultado reflejará los cambios en los documentos o la eliminación de los documentos completos y regresará al usuario solamente de manera sustancial los datos al momento disponibles. Además los documentos publicados recientemente y los documentos no encontrados previamente por el motor de búsqueda también se agregan constantemente al índice. Los motores de búsqueda generalmente almacenan la información de fecha de cada documento incluido en el índice.
Tal información de fecha puede incluir: la fecha en la que el documento fue encontrado la primera vez por el motor de búsqueda ; la información de fecha extraída del servidor en el que el documento está almacenado; la última fecha indexada por el motor de búsqueda; y/o la fecha en que el documento fue modificado por última vez. La mayoría de los motores de búsqueda permiten a los usuarios buscar, usando las opciones de búsqueda avanzadas, que entre otras características permiten que los usuarios limiten la consulta de búsqueda a los documentos actualizados dentro de un período de tiempo , tal como el último mes, tres meses o año. Las páginas de red y otros documentos se mueven frecuentemente a diferentes localizaciones en un sitio de red o de un sitio de red a otro. Los sitios de red completos también pueden cambiar su URL, por ejemplo después de cambiar el nombre de la compañía propietaria. Las porciones de las páginas de red a veces se copian o de otra manera se vuelven a colocar en otras páginas de red, en las cuales pueden rodearse por un contenido totalmente diferente (por ejemplo cuando se copea un código de programa de ejemplo de un manual de red a un mensaje de foro). El Internet es un medio sin control y distribuido y las páginas de red y sitios de red constantemente se actualizan, reubican, o copian a otros sitios de red. Como tal, una consulta de búsqueda limitada a los documentos actualizados dentro de los últimos 3 meses puede producir hasta 50% de las páginas de red totales relacionadas a la consulta de búsqueda. Usando la tecnología del motor de búsqueda actualmente disponible, rastreando los orígenes y la fecha aproximados de una página de red o un documento o porción de él ("pieza de contenido") es imposible o produce resultados pobres. Así, permanece una necesidad de un motor de búsqueda con una funcionalidad que incluye un medio para determinar los orígenes y una fecha más reciente de un documento o pieza de contenido sin importar cuando se encontró por primera vez el documento o cuando se envió por primera vez a un sitio de red.
Descripción de la Invención El sistema y métodos de acuerdo con los principios de la presente invención pueden rastrear los orígenes y fechas de un documento o pieza de contenido encontrando documentos o piezas de contenido de igualación similares o exactos almacenados en un índice. Esta capacidad de rastrear los orígenes y fechas anteriores de los documentos en el índice, facilita adicionalmente la búsqueda de los documentos en base a un intervalo de fecha específico proporcionado por un buscador. De acuerdo a un aspecto de conformidad con los principios de la presente invención , se proporciona un sistema y un método para procesar previamente un documento a modo de eliminar la información considerada redundante con el fin de encontrar documentos y piezas de contenido de igualación . De acuerdo a otro aspecto de conformidad con los principios de la presente invención , se proporciona un sistema y un método para mantener un índice del motor de búsqueda. El índice preferiblemente ¡ncluye la información de los documentos que están accesibles en la red al momento de una búsqueda en base a la U RL asociada a los documentos, así como de los documentos más antiguos que se eliminaron de la red , y que por lo tanto no están accesibles por la URL asociada a los documentos. Además, el índice incluye varias versiones de un documento dado, como tal el documento cambia durante un periodo de tiempo. De acuerdo a otro aspecto de conformidad con los principios de la presente invención , se proporciona un sistema y un método para analizar un documento a modo de determinar los elementos de contenido únicamente identificables dentro del documento. De acuerdo a otro aspecto de conformidad con los principios de la presente invención, se proporciona un sistema y un método para buscar un índice para uno o más documentos o piezas de contenido que igualen un documento o pieza de contenido dado en base a un umbral de similitud . De acuerdo a otro aspecto de conformidad con los principios de la presente invención , se proporciona un sistema y un método para la filtración de documentos, especialmente documentos regresados en respuesta a una consulta del motor de búsqueda, en base a las fechas atribuidas a los documentos de acuerdo con los principios especificados en la presente. Las características y aspectos adicionales de novedad se establecen en parte en la siguiente descripción , y son parcialmente inherentes y/o obvios a partir de la descripción. Las técnicas de novedad descritas en la presente se pueden ¡mplementar usando varias tecnolog ías de software y hardware bien conocidas. Descripción Detallada de las Modalidades Preferidas de la Invención y Meior Modo de Realizar la Invención El sistema y los métodos de conformidad con los principios descritos en la presente proporcionan a los usuarios una mayor flexibilidad de búsqueda, y medios efectivos para determinar las fechas originales aproximadas asociadas al contenido específico de la red. La siguiente descripción de las modalidades preferidas de la presente invención, especifican las estructuras y algoritmos de datos que se pueden utilizar para implementar un motor de búsqueda de fecha y rastreo autónomo, o para agregar estas capacidades a los motores de búsqueda de Internet existentes. La presente invención no se limita al Internet (aunque el problema de fecha y rastreo es mucho peor en Internet debido a la enorme información almacenada en sus servidores). Las soluciones descritas en la presente se pueden tratar dentro de cualquier espacio de documento, sin importar si éste es la red u otro tipo de sistema de almacenamiento de documento distribuido o no distribuido. Sección 1: Introducción Los motores de búsqueda extraen la información de los espacios de documento dinámicos similares a la red usando robots/arañas - agentes del software que exploran continuamente el espacio del documento, extraen los documentos, procesan el contenido encontrado en los documentos y actualizan los índices del motor de búsqueda para permitir la extracción rápida de los documentos que igualan los criterios de búsqueda especificados del usuario. El índice del motor de búsqueda está hecho para servir a tipos específicos de consultas de búsqueda. El tipo más amplio de consulta es un conjunto de palabras clave para las cuales el motor de búsqueda intenta encontrar y clasificar los documentos de igualación . Se describen en la presente las estructuras y algoritmos de datos específicos para los índices hechos para la extracción rápida de la información de fecha, y para el rastreo de la información de los documentos y piezas de contenido en un espacio de documento dinámico. El procesamiento del contenido es preferiblemente rápido (de complejidad O(n), que es la complejidad teórica mínima) y genera los índices eficientes del espacio. Las estructuras y algoritmos de datos se configuran preferiblemente mediante el motor de búsqueda para optimizar las ventajas y desventajas entre el espacio requerido para el índice y el nivel de funcionalidad soportado por el motor de búsqueda (calidad de los resultados de búsqueda). Una diferencia de novedad entre las técnicas ordinarias de indexación del documento y las técnicas de indexación de las modalidades preferidas es como sigue. Las técnicas ordinarias de indexación del documento consideran al documento como el bloque de constitución básico del espacio de documento. Como un resultado, no pueden detectar mucho la dinámica del documento, que resulta de la evolución del documento interno. Según lo descrito en la presente se sugiere un diferente proceso. En lugar de considerar al documento como una sola entidad , el documento es considerado como un conjunto en partes de piezas de contenido. Las piezas de contenido de cada documento que se identifican únicamente mediante el motor de búsqueda son referidas en la presente como "Elementos de Collage". El documento que por sí mismo contiene los Elementos de Col lage es referido en la presente como un "Collage". Un motor de búsqueda que utiliza las técnicas de las modalidades preferidas, puede rastrear la evolución de cada Elementos de Collage del Collage y su asociación del documento original . El documento es simplemente el contenedor del Collage, y el objeto que enlaza el elemento del Collage al espacio de dirección del documento. Muchas funciones de extracción se pueden implementar mediante los motores de búsqueda en base a los índices descritos en la presente. La siguiente funcionalidad de extracción genérica se describe más detalladamente en la presente: 1 . La capacidad para definir un umbral de similitud , que ayuda a que el motor de búsqueda decida si dos documentos o piezas de contenido no idénticos son esencialmente iguales (es decir similares) o no. 2. Dando un documento o pieza de contenido , se encuentra la fecha más reciente de un documento o pieza de contenido similar (sin importar la dirección del documento/pieza similar de contenido). 3. Dando un documento o pieza de contenido, se obtienen todas las direcciones en las cuales el documento o pieza de contenido existe o existió en el pasado, incluyendo la fecha más reciente y posterior del documento en cada dirección, y las fechas en las cuales se hicieron los cambios al documento/pieza de contenido. Sección 2: Procesamiento Previo del Contenido El procesamiento previo es opcional pero preferible, y es utilizado para mejorar los resultados de búsqueda reduciendo los "datos sin importancia del documento". El motor de búsqueda puede realizar el procesamiento previo al momento de la indexación de los documentos, o el procesamiento previo se puede realizar al último momento. El procesamiento previo también puede ocurrir opcionalmente en tiempo real mientras que una consulta de búsqueda está siendo procesada por el motor de búsqueda. Cualquier procesamiento previo que reduzca los "datos sin importancia del documento" se puede utilizar con la actual implementación . Preferiblemente, se debe utilizar por lo menos un preprocesador de cada una de las clases mencionadas posteriormente. Puesto que es preferible mantener los índices eficientes del espacio, por lo tanto se recomienda para realizar el siguiente procesamiento previo del contenido, para eliminar la información "redundante" y/o para convertir el contenido a una representación compacta congruente. Sección 2.1 : Procesamiento Previo Estático Virtualmente todos documentos formateados (y la mayoría sin formatear) contienen información que es redundante con el fin de decidir si dos piezas de contenido son esencialmente iguales o no. Los ejemplos de tal información son: las porciones invisibles de las etiquetas HTM L, imágenes, campos de entrada, meta información, guión , contenido dinámico, comentarios, hiperenlaces, configuración de caso superior e inferior, tipo de fuente, estilo y tamaño, espacios blancos redundantes, etc. La mejor manera de atestiguar el problema es cargar una página HTML, que fue creada usando alguna herramienta de producción diferente, y con la excepción de un archivo nuevo sin hacer ninguna modificación . Generalmente, el archivo nuevo será diferente del archivo original , aunque los documentos son idénticos cuando están observan un navegador de red . Un ejemplo simple del procesamiento previo estático es la conversión de todo el texto en mayúscula a minúscula, para permitir las búsquedas independientes del caso. El motor de búsqueda puede implementar el procesamiento previo de acuerdo a los métodos que utiliza para determinar los Collages Elements, tal como uno de los métodos titulados "Collage Schemes" que se describen adicionalmente. Por ejemplo, con el Structural/Hierarchícal Collage Scheme alguna información que de otra manera se puede considerar "redundante" se debe conservar. Por ejemplo , el Structural/Hierarchical Scheme utiliza la información de la estructura del documento para identificar las diferentes secciones del contenido. El preprocesador debe estar enterado de tales casos y dejar la información relevante intacta. Como un resultado, el procesamiento previo del mismo contenido puede producir diferentes resultados para diferentes Collage Schemes. La clasificación específica de la información "redundante" es subjetiva y puede tener ventajas y desventajas. Por ejemplo, dejando la propiedad de formato de negrita/itálica puede conducir a perdidas en la identificación del mismo texto en diferentes estilos (en caso de que la propiedad negrita/itálica sea diferente). Por otra parte, el motor de búsqueda puede decidir que una sección larga con formato de negrita del texto se deba realmente considerar diferente en comparación al mismo texto sin formato de negritas. El motor de búsqueda también puede utilizar las técnicas a modo de usar una implementación óptima que superaría las ventajas y desventajas ya mencionadas. Sección 2.2: Procesamiento Previo Dinámico Los leguajes de formato permiten con frecuencia que el contenido idéntico sea especificado en varias maneras. Para mejorar la capacidad del motor de búsqueda para igualar correctamente la esencia del contenido, se puede utilizar el procesamiento previo "dinámico". Este tipo de procesamiento previo resuelve las ambigüedades traduciendo varias representaciones posibles de una pieza de contenido en alguna representación "normal" predeterminada. Por ejemplo, HTML proporciona las siguientes etiquetas: <thead>, <tfoot> y <tbody>, para asegurar el encabezado, pie y cuerpo de la tabla respectivamente. El orden en el cual estos elementos aparecen dentro del elemento <table> no hace una diferencia -el encabezado aparecerá siempre en la parte superior, entonces el cuerpo y finalmente el pie. Por lo tanto, hay representaciones posibles múltiples para la misma tabla en HTM L. Un procesamiento previo dinámico debe elegir una sola representación "normal" de la tabla, por ejemplo el encabezad primero, después el cuerpo y finalmente el pie y convertir cualquier definición de tabla HTM L que contiene dos o más de estas etiquetas a la representación "normal". Sección 2.3: Procesamiento Previo de Formato Trans El mismo contenido se puede especificar usando diferentes leguajes del formato. Por ejemplo, el contenido de un documento Rich Text Format puede ser idéntico al contenido de un documento HTM L. Aún, los archivos sin formato serán diferentes debido a las diferencias entre los leguajes del formato . Sin el procesamiento previo del formato trans, la búsqueda puede ser menos eficiente en búsquedas de formato transversal . El procesamiento previo del Formato trans supera las diferencias entre los diferentes estándares de formato traduciendo cualquier formato soportado a un formato "normal". Por ejemplo, es posible que un procesador previo del formato trans soporte Microsoft Word , Word Perfect, Rich-Text Format y documentos HTM L traduciendo los documentos de los primeros tres formatos a HTM L. En este caso, el HTML es el formato "normal" elegido. Sección 3: Generación de un Collage Un concepto importante es ver al documento como un conjunto de piezas de contenido, o , más precisamente, como un conjunto de piezas procesadas de contenido ("Collages Elements"). Puede haber diferentes vistas, y por lo tanto diferentes Collage Schemess para el mismo documento. La información derivada de los diferentes Collage Schemes cumple (solos o juntos) los diferentes requisitos de funcionalidad del motor de búsqueda. Los Collages se generados para proporcionar la indexación y/o búsqueda eficientes de los documentos y piezas de contenido. Un Collage contiene, además del documento opcional y atributos del Collage, uno o más objetos de la "información del Collage Scheme". Las modalidades preferidas pueden ¡mplementar por lo menos uno de los tres tipos sugeridos de Collage Schemes para procesar los documentos. Cada Collage Scheme genera la Collage Scheme Information única que es atribuible al documento y está contenida en el Collage. La Collage Scheme Information además de los atributos del esquema contiene los Collages Elements y/o Sub-Collages. Las siguientes secciones proporcionan una descripción en la parte "inferior" de las estructuras de datos de Collages, Collage Scheme Information , Collages Elements y de los algoritmos fundamentales subyacentes.
Sección 3.1: Collages Elements Un Collage Element es una estructura de datos usada para representar una porción de contenido. Los Collages Elements se utilizan para encontrar las igualaciones idénticas para tales porciones de contenido. Los Collages Elements son generados por varios Collage Schemes mientras procesan las piezas de contenido o documentos completos. Los Collages Elements se diseñan para consumir espacio muy pequeño, permitiendo que sean creados los índices eficientes de espacio. El Collage Element sirve como el "anclaje" para el procesamiento rápido de las búsquedas y consultas de los algoritmos de búsqueda descritos posteriormente. Un Collage Element incluye: I. Sinopsis del Contenido: este valor es la clave del Collage Element para la indexación y extracción. Se puede indexar usando virtualmente cualquier método de indexación (tablas de Hash, B-Trees, etc.). Cualquier función determinante CS que delinea el espacio de contenido C a algún espacio de sinopsis S, se puede utilizar para calcular el Sinopsis del Contenido para un documento o pieza de contenido dada. El requisito determinante significa que CS produce el mismo resultado para el mismo contenido en todas las ejecuciones. Preferiblemente, los resultados CS son distribuidos uniformemente en S - esto disminuye al mínimo la probabilidad de errores falso-positivos. Preferiblemente, la elección de S toma en cuenta las siguientes consideraciones: a) El tamaño previsto del espacio de contenido. b) S debe ser preferiblemente pequeño para que los miembros de S se puedan representar por un número pequeño de bits. c) S no debe ser demasiado pequeño puesto que la probabilidad de errores falso-positivos aumenta mientras que el tamaño del espacio de sinopsis disminuye. Las funciones Hash se pueden utilizar para calcular el valor Sinopsis del Contenido. Ver la sección de análisis posteriormente para el tamaño del valor y la selección del método de la función del Sinopsis del Contenido. Otra función posible del Sinopsis del Contenido está basada en el diccionario: la pieza del contenido es archivada y obtiene una ID única. La función del Sinopsis del Contenido delinea todos los duplicados de una pieza de contenido a su ID única. Preferiblemente, para mejorar el funcionamiento de los métodos de búsqueda que utilizan el método de ventana deslizante (ver abajo), el valor del Sinopsis del Contenido se debe calcular usando una función Sinopsis del Contenido que se pueda calcular nuevamente en el tiempo constante mientras que la ventana deslizante se mueve (es decir la complejidad de un nueo cálculo puede ser una función del tamaño de la etapa pero debe ser independiente del tamaño de la ventana deslizante). II. Enlace Original del Col lage Scheme: este enlace, que se puede representar técnicamente e implementarse de varias maneras, proporciona acceso al objeto de la Collage Scheme I nformation original del Collage Element. También puede proporcionar opcionalmente (directa o indirectamente): a. La posición relativa del Collage Element dentro de la Collage Scheme I nformation . Por ejemplo, identificándola como la celda en la fila 3, columna 5 de la tabla al final del segundo párrafo de la página. b. Acceso a los otros Collages Elements en el esquema . Ejemplo Este ejemplo muestra una representación original posible del Collage Scheme Information Link para los Collages Elements del Structural/Hierarchical Collage Scheme (ver abajo): Una secuencia de valores de la forma '<I D original de Collage Scheme I nformation Unique> .<número ordinal del Level 0 Element> ... <número ordinal del elemento del Level K>" para un Collage Element que está en el nivel Kth de la jerarquía. El número ordinal es un número de serie único del elemento que lo distingue de los otros elementos en el mismo nivel : a. La I D de la Collage Scheme I nformation Unique proporciona el acceso a la Collage Scheme Information original del Collage Element. b. La secuencia define la posición relativa del Collage Element dentro del Collage Scheme. c. Indexar estas secuencias del Parent Collage Scheme Information Link permite la extracción simple de otros Collages Elements en el esquema: todos los elementos, elementos cercanos, elementos en otros niveles de jerarquía en las mismas u otras ramificaciones, etc. Para los documentos HTML comunes esta representación debe ser compacta, puesto que (a excepción de la ID de la Collage Scheme Information) el consumo de bits de otros campos es bajo, y hay algunos niveles de jerarquía del documento en un HTML común. Opcionalmente, para reducir el riesgo de igualaciones falsas-positivas con valores de Sinopsis del Contenido, Collage Element puede contener: III. Atributos del Contenido: comparando los atributos simples, como el tamaño del contenido en bytes, puede reducir dramáticamente el riesgo de igualaciones falsas-positivas. El tamaño de contenido se puede requerir para calcular el Alcance de Igualación (ver abajo), que se requiere para implementar la característica del Umbral de Similitud (ver abajo). IV. Hash de Cubrimiento Aleatorio: para evitar los falsos-positivos resultantes de algún problema sistemático de la función de Sinopsis del Contenido seleccionada, es posible agregar un código Hash de verificación doble al Collage Element.
Para ayudar a lograr la distribución uniforme de Hash es posible cubrir el contenido con datos pseudo aleatorios (por ejemplo con una función XOR) y calcular Hash de los datos resultantes. Es solamente necesario guardar la semilla de la serie pseudo aleatoria y el valor Hash resultante. Tamaño del Collage Element de ejemplo: 1. Sinopsis de contenido: 128 bits 2. Enlace de la Collage Scheme Information Original: ID del Collage Scheme de 64 bits 3. Tamaño del contenido: 32 bits. El tamaño total es de 224 bits = 28 bytes. Este tamaño excluye los tamaños de la estructura de los datos del índice, que dependen del método de indexado elegido. Sección 3.1.1: Análisis de Sinopsis del Contenido La selección cuidadosa de la función de Sinopsis del Contenido es importante para la buena ¡mplementación del Collage, puesto que afecta la eficiencia de la búsqueda, la complejidad del cálculo y el nivel de errores falsos-positivos. Sección 3.1.2: Determinación del Tamaño del Valor de Sinopsis El tamaño del valor de sinopsis (en bits) se debe determinar por el tamaño del espacio del Collage Element. Si se asume una función de Sinopsis de Contenido de distribución uniforme, la probabilidad de un error falso-positivo es: (el número total de los Collages Elements generados para el espacio del documento)/( el tamaño del espacio Sinopsis de Contenido). Combinando esto con los Atributos de Contenido y/o Hash de Cubrimiento Aleatorio opcionales puede reducir esta probabilidad incluso aún más. Por ejemplo, los motores de búsqueda de Internet actuales indexan un espacio del documento de menos de 10 billones de documentos. Asumiendo un promedio de menos o igual a 1000 Collages Elements por documento (incluyendo las versiones históricas), habrá un total de menos de 244 Collages Elements. Una función Hash de 128 bits con la complejidad O(n) tiene una probabilidad de prácticamente cero (menos que 2"84 o 10"25) de producir un error falso-positivo. Sección 3.2: Collage Schemes Un Collage Scheme es un método de procesamiento de contenido, que compila un documento o pieza de contenido en la Collage Scheme Information. La Collage Scheme Information puede contener los Collages Elements, Sub-Collages, así como otra información relacionada al esquema y al Collage. Más de un solo Collage Scheme se puede utilizar para procesar un documento o una pieza de contenido. El alcance del contenido procesado mediante diferentes Collage Schemes dentro del documento puede traslaparse y/o insertar. Es posible: 1. Procesar la misma pieza de contenido, o el documento completo, usando diferentes Collage Schemes. 2. Procesar diferentes piezas de contenido o diferentes secciones del documento usando diferentes Collage Schemes. 3. Utilice un Collage Scheme dentro de un Sub-Collage de otro Collage Scheme: El Collage Scheme A puede utilizar el Collage Scheme B para procesar una porción de la pieza de contenido/documento que se procesa . La Collage Scheme I nformation producida por el Collage Scheme B será enlazada a un Sub-Collage de la Collage Scheme Information producida por el Collage Scheme A. Cualquier Collage Scheme define un método de procesamiento. Salvo que se indique lo contrario, el esquema se puede utilizar para cualquier nivel/alcance del documento. Por ejemplo, se puede utilizar para procesar el documento entero, pero también para procesar un elemento de tabla específico, o un párrafo específico. Según lo utilizado en la presente el término general "contenido" se refiere a cualquier pieza de contenido o al documento entero, que es procesado por varios Collage Schemes.
La Collage Scheme I nformation es el dato principal generado por cualquier Collage Scheme. La Collage Scheme Information se puede representar técnico de varias maneras y se puede almacenar como una estructura de datos separada o incorporar en otras estructuras de datos, por ejemplo las estructuras de datos de la información de Collage. Para los propósitos de simplicidad esta descripción se considera como una estructura de datos separada. La siguiente información se puede generar por un Collage Scheme: 1. Atributos del Collage Scheme : éstos incluyen cualquier información relevante relacionada al Collage Scheme, por ejemplo el tipo de Collage Scheme. 2. Collages Elements y Sub-Collages : éstos son la información de los Collages Elements y Sub-Collage (o enlaces a tal información de elementos/sub-Collage) generada por el Collage Scheme. 3. Enlace de la Información de Collage Orig i nal : esto permite tener acceso a la información de Collage original . Sección 3.2.1: Estructural/Hierarchical Collage Scheme El Estructural/Hierarchical Collage Scheme (SH ) se utiliza para crear la información de Collage para el contenido basado en su estructura del documento. La motivación detrás de este esquema es analizar el contenido en las piezas significativas en base a su estructura formateada. Los Collages Elements creados por el Collage Scheme SH permiten que varios elementos del documento sean buscados rápidamente, incluso cuando están movidos dentro del documento o cuando reaparecen en un diferente documento, y sin importar la dirección de su documento contenedor. Virtualmente cualquier leguaje de formato del documento tiene varias construcciones para definir la estructura del documento. Por ejemplo, las siguientes etiquetas/elementos HTML que tiene el significado estructural: • <body > - el cuerpo del documento HTML se incluye en este elemento. < h1>..<h6 > - etiquetas del encabezado. - elemento del párrafo. <br> - interrupción de línea. <hr> - regla horizontal, etiquetas de trama. • etiquetas de lista etiquetas de tabla. <div> y <palmo> - define las secciones en el documento. El Collage Scheme SH es un esquema recurrente que utiliza tales construcciones de la estructura del documento para identificar las piezas y sub-piezas de los contenidos. El proceso recurrente es simple. Dando un elemento del documento, se genera un nuevo Collage Element para representar el elemento del documento, y se llenan sus varios parámetros (ver Simple Collage Scheme en la sección 3.2.3 posteriormente). Además de, o en lugar de generar el único Collage Element, es posible procesar el elemento del documento usando uno o más diferentes Collage Schemes (por ejemplo el Flat Collage Scheme) para crear la información del Sub-Collage para el elemento del documento. Es incluso posible decidir dinámicamente a cómo procesar el elemento del documento, basado en las propiedades del documento y del elemento del documento (por ejemplo usando el Flat Collage Scheme solamente para los elementos cuyo tamaño excede un cierto umbral ). El elemento del documento también se puede analizar para detectar los sub-elementos estructurales usando el esquema SH . Este análisis se puede hacer por adelantado (por ejemplo una vez para el documento completo) para acelerar el proceso. Los sub-elementos se procesan recurrentemente. Los Collages Elements resultantes se pueden ver como la formación de una estructura arborescente (isomórfica al árbol de repetición). Según lo explicado arriba, la información se puede almacenar en el Collage Element para facilitar el acceso a su Collage Scheme Information original y a los otros Collages Elements del esquema , así como para la determinación de la trayectoria del árbol desde la raíz al Collage Element. El motor de búsqueda debe limitar preferiblemente la profundidad de la repetición y/o evitar la repetición en los elementos basados en varios criterios, por ejemplo elementos de tamaño pequeño. Preferiblemente el motor de búsqueda puede procesar diferentes elementos del documento usando diferentes métodos, basados en varios criterios, por ejemplo los elementos cortos se pueden procesar generando los Collages Elements sencillo mientras que los elementos largos se pueden procesar usando el Flat Collage Scheme.
Sección 3.2.2: Flat Collage Scheme Es probable que el contenido grande experimente cambios ligeros en algún periodo de tiempo. Tales cambios incluyen inserciones, eliminaciones, y reemplazos relativamente pequeños de las porciones de contenido. El Flat Collage Scheme permite la creación de los índices que permiten, dando algún contenido, buscar rápidamente piezas similares de contenido. El Flat Collage Scheme utiliza los procedimientos fundamentalmente diferentes para la indexación y para los métodos de búsqueda e igualación de la sección 5 (es decir el mecanismo de ventana deslizable). Esto es en contraste al Collage Scheme SH , en el cual los procesos de indexación y búsqueda son procedimientos similares para analizar las estructuras del documento. Después está el procedimiento para generar la información de la base de datos del Flat Collage Scheme (ver abajo para el procedimiento de búsqueda): 1 . La Collage Scheme I nformation es generada por el Collage Plano. 2. La pieza del contenido está dividida en bloques usando un proceso determinante (por ejemplo bloques tamaño determinado). 3. Un Collage Element se crea para cada uno de los bloques, usando una de las funciones de Sinopsis de Contenido mencionadas arriba. Sección 3.2.3: Simple Collage Scheme Este esquema genera un solo Collage Element para la pieza entera del contenido o documento. Es útil que las piezas cortas de contenido se puedan utilizar como el esquema por defecto cuando otros Collage Schemes no se calculan para el contenido. Sección 3.3: Collage La información de Collage contiene datos generados por el Collage relacionados a un documento o pieza de contenido. Preferiblemente la información de Collage es una estructura de datos separada para la conveniencia, aunque puede representarse e implementarse de varias maneras, por ejemplo la información se puede almacenar con la Collage Scheme Information y/o Collages Elements. Por otra parte, puede haber ventajas de almacenar esta información en otra parte, por ejemplo para los procesos de extracción acelerada. Los elementos de estructura de datos de la información de Collage se ubican en las siguientes categorías: 1. Atributos del documento procesado. 2. Resultados del procesamiento de Collage para el documento. Para soportar la funcionalidad de fecha y rastreo, la información de Collage debe contener los siguientes atributos del documento procesados: I. Atributo de fecha (solamente el Collage del nivel del documento): la fecha del documento procesado según lo conocido al momento del proceso. Este valor es una clave para la indexación y extracción. Uno o más métodos se pueden utilizar para determinar la fecha de un documento. Por otra parte, este atributo puede abarcar valores múltiples de fecha, por ejemplo la fecha de creación del documento, fecha de modificación del documento, fecha del último acceso, fecha de la última visita por el motor de búsqueda, etc. II. Dirección del documento (solamente el Collage del nivel del documento): la dirección del documento cuando está procesado (es decir su URL en el contexto de la red). Este valor es una clave para la indexación y extracción. III. Collage Schemes: todos los objetos de la Collage Scheme Information (o enlaces a tales objetos) usados para procesar el documento, opcíonalmente con su alcance de procesamiento respectivo (en los casos de los Collage Schemes que se utilizaron para procesar las porciones del documento). La creación de un nuevo objeto de la información de Collage es simple: 1. Dando un documento o pieza de contenido, se crea un nuevo objeto de la información de Collage. Para los documentos, llenar los atributos del documento de la información de Collage con la información del documento. 2. Usando uno o más Collage Schemes para procesar el documento, y agregando/enlazando los objetos de la Collage Scheme Information resultante a la información de Collage. La decisión de cuyos Collage Schemes de utilizar se puede tomar arbitraria o dinámicamente, basada en las propiedades de contenido. Sección 4.1: Indexar un documento - Almacenar un Nuevo Collage El resultado de procesar un documento es la información de Collage. La información de Collage se puede enlazar a, o contener por, uno o más objetos de la Collage Scheme Information, cada uno de los cuales es enlazado a, o contenido por, los Collages Elements y/o Sub-Collage. La información de Collage se debe indexar para el acceso rápido a los artículos de información relevantes. Esto se puede hacer técnicamente de muchas maneras y el método a elegir es la implementación específica, y depende de las estructuras de datos reales mantenidas por la implementación. Usar las abstracciones preferidas según lo descrito en la presente, el indexado se puede realizar usando el siguiente procedimiento: A. Buscar y extraer los Collages existente por la nueva URL de Collage. Esto se determina si el índice incluye ya uno o más Collages que se díreccionaron por la mismo URL del Collage que se indexó actualmente. Si se encuentra más de uno, se compara el nuevo Collage al Collage indexado más reciente (basado en la información de fecha de los Collages extraídos). Si el nuevo Collage y el Collage anterior son idénticos (a excepción de la fecha), se realiza lo siguiente (cuya decisión de elegir es dependiente de la implementación): 1. No almacenar ni indexar el nuevo Collage y finalizar (en el caso de no importar las fechas de visita y solamente se deben recordar las fechas de modificación); o 2. Actualizar la fecha del Collage existente y finalizar (por ejemplo para guardar la última fecha de visita); o 3. Agregar la nueva fecha al Collage existente (como una nueva fecha de visita del motor de búsqueda) y finalizar; o 4. Eliminar el Collage existente de los índices y continuar a la etapa B. B. Si el nuevo Collage y el Collage anterior se direccíonan a la misma URL no son idénticos (o si se selecciona la opción 4 anterior) entonces se agregan las referencias de la nueva estructura del Collage a los índices. Todos los objetos de Collage almacenados se deben indexar para permitir la extracción rápida usando las referencias del objeto. Además, se recomienda indexar los siguientes artículos de datos para la extracción rápida de sus objetos contenedores: 1. Atributos del documento: i. Dirección del documento, ii. Información de fecha del documento. 2. Collages Elements: iii . Sinopsis del Contenido. El motor de búsqueda esencialmente almacenaría e indexaría la información de Collage de varias versiones de un solo documento, como tal documento se desarrolla en un periodo de tiempo (aunque las diferentes versiones del documento se pueden asociar a una sola dirección de U RL, sólo la versión más actual del documento sería accesible a un usuario que explora la red). Además, el motor de búsqueda continuaría almacenando e indexando la información del Collage para de un documento dado, sin importar si la U RL del documento sigue estando activa . Esto es ventajoso, en el sentido, que proporciona las capacidades para determinarse si una pieza particular de contenido había existido previamente en la red (por lo que se asocia una fecha más reciente), sin importar si la pieza indexada anteriormente del contenido es actualmente accesible en la red usando su U RL histórica. Sección 4.2: Eliminar los Collages del índice La información de Collage y del Collage Scheme, así como los Collages Elements, se designa preferiblemente para ser de un tamaño minúsculo para permitir el almacenamiento de un número muy grande de ellos y por lo tanto para proporcionar las capacidades de fecha y rastreo virtual mente ¡limitadas. A pesar de estos tamaños pequeños, los artículos de Collage preferiblemente no se deben acumular siempre. Por lo tanto, en una determinada etapa puede ser requerido eliminar los artículos del índice. Claramente, cada eliminación tal pierde la información. Por lo tanto, el proceso de eliminación preferiblemente da prioridad a los Collages Elements, objetos de la Collage Scheme Information y los objetos de la información de Collage por su importancia en lugar de por las fechas de creación. Decidiendo la importancia el método de evaluación es la implementación específica. El proceso de eliminación por sí mismo es simple - solo elimina el objeto de la información de Collage menos importante y todos sus objetos de la Collage Scheme Information, Collages Elements y Sub-Collages de la base de datos. Por ejemplo, si encontrar que la fecha original es el uso principal de la implementación, preferiblemente no eliminamos el Collage de la fecha más reciente de una dirección del documento. Sección 5: Métodos de Búsqueda e Igualación del Collage Esta sección especifica los procedimientos de igualación de contenido básicos. Comúnmente los procedimientos descritos en esta sección se utilizan para determinar las similitudes entre los documentos y las piezas de contenido que se incluyen en el índice. Por ejemplo el motor de búsqueda puede determinar que un documento que primero fue encontrado hoy en un URL nuevo, de hecho incluye algunos elementos que primero fueron encontrados en un documento histórico (que puede actualmente ya no estar accesible en la red). El documento histórico se pudo también haber díreccionado por una diferente URL. Si los elementos de igualación son una porción sustancial del nuevo documento, después el motor de búsqueda puede atribuir la fecha del documento histórico al nuevo documento. Los cálculos de búsqueda e igualación se realizan preferiblemente para cada documento en el índice, y el motor de búsqueda como un resultado, genera la información de fecha original para cada documento en el índice. Estos datos generados se pueden almacenar en la base de datos del índice junto con la otra información del documento. Alternativamente, el motor de búsqueda puede realizar el cálculo de búsqueda e igualación en tiempo real para los documentos que se regresan en respuesta a una consulta de búsqueda.
Sección 5.1 : Búsqueda Simple Esta técnica de búsqueda encuentra solamente las igualaciones de los Collages Elements sencillos: 1 . Opcionalmente procesa previamente el documento o pieza de contenido dados (en el caso de que tal documento o contenido no fue procesado previamente e indexado con anterioridad por el motor de búsqueda). 2. Calcula un Collage Element sencillo para el contenido completo. 3. Extrae todos los Collages Elements de igualación (con la Sinopsis de Contenido igual , y opcionalmente la longitud de contenido igual y otros atributos de igualación).
Sección 5.2: Búsqueda en Base a la Estructura La búsqueda en base a la estructura realiza una operación de exploración de documento idéntica a la realizada por el Collage Scheme SH (ver arriba). En cada nivel de la jerarqu ía de la estructura del documento busca todas las posibilidades de los Collages Elements que se habrían podido generar por el Collage Scheme SH : 1 . Opcionalmente procesa previamente el documento o pieza de contenido dada (en el caso de que tal documento o contenido no haya sido procesado previamente e indexado con anterioridad por el motor de búsqueda). 2. Divide el contenido en sus elementos estructurales a un nivel superior (según lo descrito arriba en la sección 3.2.1 ). 3. Si hay menos de 2 tales elementos estructurales: regresan con un conjunto de resultados vacíos (ninguna división estructural del documento a este nivel). 4. Para cada elemento estructural ("pieza de contenido"): a. Extrae los Collages Elements de igualación de la pieza de contenido usando la Búsqueda Simple (ver la sección 5.1 arriba), y los agrega al conjunto de resultados. b. Extrae los Collages Elements de igualación de la pieza de contenido usando la Búsqueda de Ventana Deslizable (ver la sección 5.3 abajo), y los agrega al conjunto de resultados. c. Realiza recurrentemente la búsqueda basada en la estructura en la pieza de contenido, y la agrega a los resultados regresados al conjunto de resultados. 5. Regresa conjunto de resultados Sección 5.3: Búsqueda de Ventana Deslizable La búsqueda de ventana deslizable se utiliza para explorar un documento o pieza de contenido larga ("el contenido") para las subdivisiones de igualación. Una ventana de tamaño determinado se mueve a lo largo del contenido. El tamaño de la ventana es determinado por el mismo método que determina el tamaño de bloque del Flat Collage Scheme. Para cada posición de la ventana posible la Sinopsis de Contenido se calcula para la sección de contenido dentro de los límites de la ventana y se extraen los Collages Elements de igualación que fueron generados por el Flat Collage Scheme. Sección 5.4: Cálculo la Cubrimiento del Igualación Algunos métodos de búsqueda soportan las búsquedas de similitud. El Cubrimiento de Igualación proporciona los medios para cuantificar el grado de similitud entre un documento o pieza de contenido particular y otro contenido en el índice. El Cubrimiento de Igualación expresa la similitud entre un contenido particular (es decir el contenido para el cual se realiza una búsqueda en el índice para encontrar las igualaciones; designado en la presente como "contenido buscado") y otro contenido en el índice. Cada pieza de contenido es representada por un "Objeto de Raíz", tal como un objeto de Collage indexado (objeto de la información de Collage, objeto de la Collage Scheme Information o Collage Element). El contenido para el cual se calcula el Cubrimiento de Igualación es el contenido comprendido por el sub-árbol del Objeto de Raíz de los objetos de Collage. Para el Cubrimiento de Igualación de calculo, un conjunto de de Collages Elements de igualación (tales elementos cuyo contenido existe en el contenido buscado y en el contenido indexado) se debe encontrar por la función de búsqueda. El Cubrimiento de Igualación se realiza para el contenido buscado contra un conjunto de Collages Elements de igualación incluidos en el índice que se asocian a un solo Collage. Es decir el Cubrimiento de Igualación evalúa la similitud o disimilitud de una pieza de contenido/documento contra otra pieza de contenido/documento. El Cubrimiento de Igualación se puede calcular de cualquier manera razonable que proporcione los conteos altos del contenido similar. Por ejemplo, el Cubrimiento de Igualación se puede calcular de la siguiente manera: 1. Dejar que Tamaño de Igualación sea la suma de los tamaños de los elementos de igualación contenidos en el contenido indexado, 2. Dejar que el Conjunto de Unión sea la unión del contenido buscado y del contenido indexado. El tamaño del Conjunto de Unión es el tamaño del contenido buscado + el tamaño del contenido indexado - el Tamaño de Igualación (que es el Subconjunto Traslapado de ambos conjuntos). 3. El Cubrimiento de Igualación es el Tamaño de Igualación dividido por el tamaño del Conjunto de Unión. Sección 5.5: El Mejor Cubrimiento de Igualación Original Cada uno de los diferentes de los métodos de búsqueda (ver las secciones 5.1-5.3 arriba) resulta en una recolección de los Collages Elements de igualación - los piezas de contenido que existen en el contenido buscado y en uno o más documentos indexados. El Mejor Cubrimiento de Igualación Original de un documento se define como el Cubrimiento de Igualación más alto que cualquiera que sus secciones contiguas tenga. El algoritmo del Mejor Cubrimiento de Igualación Original encuentra la sección contigua de mejor igualación que contiene un Collage Element de igualación específica (el "Elemento de Anclaje"). Por lo tanto, se puede ejecutar en múltiples tiempos, para todos los Collages Elements de igualación, para encontrar el Cubrimiento de Igualación de todos los documentos que contengan los Collages Elements de igualación. El algoritmo del Mejor Cubrimiento de Igualación Original utiliza el árbol de Collage generado por los métodos descritos en la sección 3 anterior para "enfocarse" a partir de un Elemento de Anclaje dado y calcula el Cubrimiento de Igualación para cada uno de sus elementos de árbol originales, todo el camino hasta la raíz del árbol de Collage. Yendo hasta el árbol de Collage, el tamaño del contenido fue evaluado contra los aumentos del "contenido de búsqueda". Este aumento de tamaño puede afectar un aumento o disminución del valor de Cubrimiento de Igualación. Por lo tanto es un objeto calcular nuevamente el Cubrimiento de Igualación para cada origen (es decir nivel o nodo de árbol), y se elige el mejor ajuste (es decir el objeto de árbol original para el cual el valor de Cubrimiento de Igualación es el más alto). El algoritmo del Mejor Cubrimiento de Igualación Original: Dando una recolección de los Collages Elements de igualación y un Elemento de Anclaje, el ciclo a través de la trayectoria del árbol de Collage entre el Elemento de Anclaje y su Collage del nivel del documento original. Para cada objeto de Collage en la trayectoria se calcula el Cubrimiento de Igualación, usando el objeto de la trayectoria como el Objeto de Raíz. Regresando el Cubrimiento de Igualación calculado más alta. Sección 6: Funcionalidad Basada en los Métodos de Búsqueda e Igualación de Collage La siguiente sección demuestra cómo utilizar los métodos básicos de búsqueda e igualación descritos anteriormente para proporcionar la funcionalidad útil. Sección 6.1: Extracción de la Fecha Original de un Documento o Pieza de Contenido La siguiente sección describe cómo extraer la fecha más reciente para una pieza de contenido dada. 1 . Hacemos referencia por este medio al documento o pieza de contenido como "el contenido". 2. Extraer los Collages Elements de igualación: Los Collages Elements que igualan los Collages Elements del contenido o piezas de él que usan todos los métodos de búsqueda e igualación de Collage (ver la sección 5 anterior). 3. Para cada Collage Element de Igualación : a. Si el Mejor Cubrimiento de Igualación Original del Collage Element (ver la sección 5.5 anterior) excede un umbral de similitud dado: i . Extraer el Collage del nivel del documento original del Collage Element. ii . Extraer los atributos del documento del Collage del nivel del documento (fecha y dirección del documento). 4. Regresar los atributos del documento que tienen la fecha más reciente del documento. Según lo previamente observado, el procedimiento para determinar una fecha original de un documento, se puede realizar para cada documento en el índice, y tal información de la fecha se puede almacenar en la base de datos del índice junto con la otra información del documento. Sección 6.2: Rastrear un Documento o Pieza de Contenido Este rastrea la historia de un documento o pieza de contenido. El conjunto de resultados incluye las fechas y direcciones en las cuales el documento o pieza de contenido (o documentos o piezas de contenido similares) estuvieron presentes. 1 . Nos referimos por este medio al documento o pieza de contenido como "el Contenido". 2. Extraer los Collages Elements de igualación : Los Collages Elements que igualan los Collages Elements del Contenido usando todos los métodos de búsqueda e igualación de Col lage (ver la sección 5 anterior). 3. Para cada Col lage Element de Igualación : a . Si el M ejor Cubri miento de Igualación Orig inal del Col lage Element (ver anteriormente) excede un um bral de si mil itud dado : i . Extraer el Collage del n ivel del documento orig inal del Col lage Element. i i . Extraer los atri butos del documento del Col lage del nivel del documento (fecha y dirección del documento ) y agregarlos al conjunto de resultados. 4. Eliminar los atributos del documento duplicado del conjunto de resultados. 5. Regresar el conjunto de resultados. Sección 6.3: Filtración de un Conjunto de Documentos Usando su Fecha Original Cuando un usuario envía una consulta de búsqueda al motor de búsqueda, el motor de búsqueda regresa al usuario una lista de documentos relacionados a la consulta de búsqueda (lista de resultados de búsqueda). El número de los documentos relacionados a la consulta de búsqueda puede ser numeroso, y varias fechas atribuidas a los documentos pueden comprender muchos años. Con el método previamente descrito, (ver la sección 6.1 anterior) para atribuir una fecha más reciente a un documento dado, un motor de búsqueda puede agregar una nueva funcionalidad para filtrar los documentos con las fechas que están dentro de un intervalo de fechas especificado. Contrario a los motores de búsqueda existentes que atribuyen las fechas a los documentos en base a la fecha en que el documento fue extraído por primera vez o actualizado por última vez, el motor de búsqueda de acuerdo a la presente descripción, es más efectivo atribuyendo las fechas a los documentos, y como tal , es más confiable para filtrar los documentos de acuerdo a las fechas aproximadas a los documentos que se escribieron por primera vez. Cuando un usuario envía una consulta de búsqueda a un motor de búsqueda, la consulta de búsqueda también puede incluir un parámetro de filtración de fechas. El motor de búsqueda primero localiza todos los documentos que están relacionados a las palabras clave y/o términos de búsqueda de la consulta de búsqueda. Después de lo cual , el motor de búsqueda identifica las fechas "más recientes" atribuidas a cada documento que localiza, con la técnica descrita anteriormente en la sección 6.1. La fecha "más reciente" de cada documento puede haberse procesado previamente, determinado e indexado con anterioridad en asociación con la información de Collage del documento, o alternativamente, la fechar de cada uno de los documentos localizados por el motor de búsqueda, se puede realizar en tiempo real, en respuesta a la consulta de búsqueda. Después de lo cual, el motor de búsqueda filtra la lista de resultados de búsqueda de solamente los documentos que fueron atribuidos las fechas dentro del intervalo de fechas especificado en la consulta de búsqueda. La lista de resultados de búsqueda resultante después se puede transmitir al usuario y exhibirse en el navegador del usuario de acuerdo a las fechas atribuidas a cada documento, en un orden ascendente o descendente. Alternativamente, el motor de búsqueda puede utilizar otros algoritmos de clasificación para ordenar la lista de resultados de búsqueda filtrada.
Sección 6.4: Encontrar las Similitudes en Base a las Piezas de Contenido que Contienen los Términos de Búsqueda Se entiende que este método sirve como un procesador posterior de cualquier lista de resultados del motor de búsqueda. Primero, el motor de búsqueda recupera los documentos que igualan la consulta de búsqueda. Dando un documento de igualación: 1. Deja que el Subdocumento Buscado sea el conjunto de piezas de contenido que contienen los términos de búsqueda de igualación (por ejemplo las piezas de contenido que contienen las palabras encontradas en la consulta de búsqueda). 2. Utiliza el método que rastreo de contenido (sección 6.2 anterior) para extraer documentos o piezas de contenido que son similares al subdocumento buscado.
Sección 6.5: Encontrar los Documentos o Piezas de Contenido Más Similares Esto trabaja similarmente para contener el rastreo, pero en lugar de regresar las referencias a todo el contenido con el Cubrimiento de Igualación que excede un umbral de similitud, sólo se regresa una sola referencia al contenido con el Cubrimiento de Igualación más alto (contenido más similar). Alternativamente, es posible clasificar todos los artículos de contenido de igualación en base a sus valores de Cubrimiento de Igualación, y regresa los artículos en tal orden.
Sección 6.6: Mejorar los Navegadores del Documento La funcionalidad anterior se puede integrar en los navegadores del documento (por el vendedor de software o a través de un accesorio) de la siguiente manera. Cuando el navegador del documento carga un documento, se realiza uno o más de los análisis especificados en esta descripción para identificar sus diferentes piezas y sub-piezas de contenido. Todas o algunas de estas piezas pueden marcarse (estática o dinámicamente) (por ejemplo con un rectángulo de limitación visible que aparece alrededor de la pieza de contenido cuando el ratón se mueve sobre ella). El navegador se puede mejorar para exhibir la información de la fecha para la pieza de contenido seleccionada/señalada. El navegador se puede mejorar para ejecutar otras funciones para una pieza de contenido seleccionada (por ejemplo a través de un menú emergente que aparece al oprimir clic derecho sobre la pieza de contenido), tal como exhibir una lista de documentos similares con piezas de igualación de contenido, etc.
Sección 7: Varios Será evidente a un experto en la técnica que los aspectos de la invención , según lo descrito anteriormente, se pueden implementar en muchas y diferentes formas de software, firmware, y hardware para las implementaciones descritas. El código de software o hardware de control especializado actuales usados para implementar los aspectos de conformidad con los principios de la invención, no es una limitación de la presente invención . Así, la operación y comportamiento de los aspectos fueron descritos sin referencia al código de software específico -se entiende que un experto en la técnica podría diseñar software y hardware de control para implementar los aspectos en base a la descripción en la presente.
Se anexan a esta especificación una o más reivindicaciones, que pueden incluir las reivindicaciones independientes y las reivindicaciones dependientes. Cada reivindicación dependiente hace referencia a una reivindicación independiente, y se debe interpretar que incorpora por referencia todas las limitaciones de la reivindicación a la cual se refiere. Además, cada reivindicación dependiente de la presente Solicitud se debe interpretar y atribuir que significa que tiene por lo menos una limitación o elemento adicional no presente en la reivindicación a la cual se refiere. Es decir la reivindicación a la cual cada reivindicación dependiente se refiere se debe interpretar y atribuir que significa que es más amplia que tal reivindicación dependiente. La presente invención se ha descrito en sus modalidades preferidas y varios aspectos de novedad de la presente invención se pueden apreciados fácilmente. Varias modificaciones a las modalidades preferidas se proporcionan , las cuales pueden incluir uno o más de los aspectos de novedad descritos en la presente, sin apartarse espíritu y alcance de la invención .
Sección 8: Pseudo Código El siguiente Pseudo Código ilustra los algoritmos y estructuras de datos que son sustancialmente similares a los descritas anteriormente.
Pseudo Código II constants const int FlatschemeBlockSize; copst int MaxSHLevel; // (optional) max document hierarchy // level to recurse into with the SH scheme // input structures class DocumentAttri utes { Date DocuentDate; Address DocumentAddress; class Document { DocumentAttributes Attributes; Content DocumentContent; class Content { symbol [] Data; property int Length; // return length of contentData, // in symbols (e.g. chars) Contení GetSubConteptByIndexAndLength(i nt ZeroBasedlndex , int maxLength){ Content subContent; subcontent.Data = Copy n(maxLength , Length - zer oBasedlndex) symbols from Data starting at ZeroBasedlpdex ; return subContent; } > // data structures class collageobject { CollageObject Parent = nuil ; class ContentColl ge : CollageObject { CollageSche e[] ContentSchemes ; // the different "views" // of the document } class Docu entColl age { [indexed] Date DocumentDate; // indexed for qui ck sorting [indexed] Address DocumentAddress; // e.g. tne document URL when // irnpl emented for the // Internet space ContentCol 1 age Coll age ; class CollageEl e ent : Col lageObject { [indexed] ContentSummaryVal Ue Contentsu mary; ?nt ContentLength ; // for calcul ating the Match Coverage class collagescheme : Collageobiect { // base class for all Collage Schemes class CollageSimpleScheme : CollageScheme { collageElemept Element; } class CollageFlatScheme : collagescheme { CollageElement[] BlockEle ents; class CollageSHScheme : collageScheme { ContentCol1age[] Sectioncol1ages ; // Content su raary Functions Contentsummaryvalue simpleschemesummary(content c){ return contentsummaryvalue of c.ContentData suitable for simple schemes (e.g. hash code) ContentsummaryValue SHSchemeSummary(Content c){ returns Contentsummaryvalue of c.ContentData suitable for SH schemes (e.g. hash code) Contentsummaryvalue KlatschemeSummary(Content c){ returns contentsummaryvalue of c.ContentData suitable for flat schemes and siiding window search } // Preprocessors Content StaticPreprocessor(Contení c, bool DontDeleteDocumeptStructure) { "Normalize text case of c, e.g. turn all text into lower-case Remove all "redundant" sections of content, based on the document's formatting languagee aanndd tthhee DDoonnttDDeelleteDocumentStructure flag, such as: * invisible ppoorrttiioonnss ooff ttaaggss * images * input fields and controls * Meta information * scripts * dynamic content * comments * hyperli nks * upper/lower case settings * font type, style and size * redundant whitespaces return modified c } Content DynamicPreprocessor (Content c){ "Normalize" sections of content that may appear in the document n múltipl e ways , e.g . order of HT L-related tabl e tags return modified c } Content TransFormatPreprocessor(Content c){ if(Documenttype(c) is standardDocu entType) return c; Content r = Convert document type of c into StandardDocumentType return r } content preprocessContept(Content c , bool DontDeleteDocumentstructure){ return staticPreprocessor(Dynami cPreprocessor( TransForniatPrepr ocessor(c)) , DontDeleteDocumentStructure) // col lage Sche e Generators coll gesImpl eScheme Generatesi plesche e (Content c){ f(c i s not preprocessed) c = PreprocessContent(c , false) ; Col l ageSimplescheme r; r. Element = new CollageElemept( contentsum ar y =• simpl eschemesummary (c) , ContentLength = c. Lepgth , Parent = r) ; return r; // This implementation of the flat scheme uses fixed-size blocks . // However , any splitting method based on determi n sti c-si zed blocks // will do, e.g . blocks end at the end of the f rst word on // which the block exceeds some predetermined size, or at the end // of the content. CollageFlatscheme GenerateFlatscheme(Content c){ if(c is pot preprocessed) c = PreprocessContent(c, false) ; Col lageFlatscheme r ; for(int i = 0; i < c . Length ; i += FlatSchemeBlockSize){ Content contentßlock = c .GetsubContentBymdexAndLength( i ndex = i , maxl ength = Fl atschemeßlocksi ze) ; r . Bl ockEl e ents . Add (new col 1 ageEl e ent ( contentsummary = Flatschemesu mary(contentBlock) , ContentLength = c. ength, Parept = r)) ; return r; Content[] GetTopLevelstructureContentSectiops(Content c){ Based on the formatting language, split c into content sections based on the document structure. This metnod only splits the content based 0 on the top-level structure of the document (i.e. it does not recurse into the top-level sections) The content sections: * Should not overlap * should provide complete coverage of c return array of content sections // Structural/Hierarchical scheme collageSHScheme GeperateSHScheme(Content c, int level) { if(c is not preprocessed) c = Preprocesscoptent(c, true); CollageSHScheme r; Content[] structurecontentSections = GetTopLevelStructureContentSections(c); foreach(Content s in structurecontentsections){ ,,- Contentcollage sectionCollage = GenerateContentCollage(s, level + 1); sectioncollage. Parent = r; r. SectioncolTages .Add(sectioncol1age) ; return r; } // collage Generators Contentcollage Generatecontentcollage(content c, int level){ Contentcollage collage; bool shouldGenerateFlatscheme = *** Determine whether to genérate a flat scheme or not. e.g. only if c. ength > 3*FlatschemeBlocks?ze *** if(shouldGenerateFlatscheme){ 20 CollageFlatScheme scheme = GenerateFlatScheme(c) ; scheme. Parent = collage; col1age. ontentschemes .Add(scheme) ; bool shouldGenerateSHScheme = ?ft* Determine whether to genérate an SH scheme or not, e.g. only if leve! < MaxSHLeveT and c.Lepgth > some threshold *** if(shouldGenerateSHScheme &S> GetTopLevelStructureContentSections(c). Length > 1) CollageSHScheme scheme - GenerateSHScheme(c, level); scheme. Parent •= collage; collage.contentschemes .Add(scheme) ; bool shouldGeneratesimplescheme = *** Determine whether to genérate a simple scheme or not, e.g. genérate only when level > 0, NOTICE ¿5 THAT SIMPLE SCHEME MUST BE GENERATED IF NO OTHER SCHEME WAS GENERATED! ! ! *** if(shouldGenerateSimpleScheme){ CollageS mpleScheme scheme = GeneratesirapleScheme(c); scheme.Parent = collage; collage.CoptentSchemes.Add(scheme); return collage; } DocumentCollage GenerateDocumentCollage(Docu?nent d){ DocumentCollage doccoll ge; docCollage.DocumentDate = d.Attributes.DocumentDate; doccollage.DocumentAddress = d.Attributes.DocumentAddress; // e.g. the document's URL doccollage.collage = GenerateDocumentCollageíd.DocumentContent, 0); doc ollage.col!age. arent = docCollage; // Document ndexing Docu entcollage GetLatestlndexedCollageByAddress(Address DocAddress){ DocumentCollage[] matchingcollages = retrieve all Docu entcollages with doccoll age.DocumentAddress 8> DocAddress, sorted by DocumentDate in descendí'ng order; // this is an index-based operation // as both properties are indexed return matchingCollages. Length == 0 ? nuil : matchingCollages[0] ; PUBLIC void IndexDocu ent(Document d){ // utility methods CollageSche e GetParentCollageScheme(Collage?bject o){ Collageobject p; p = o.Parent; while(p != nuil AND (p is not CollageScheme)) p = p. Parent; return p; // return either nuil or a Collagescheme } Documentcoll age GetParentDocumentcollage(collageobject o){ CollageObject p; p = o. arent; while(p != nuil AND (p is not Docu entcollage)) p = p. Parent; return p; // returp either nuil or a CollageScheme // search utility methods Col1 ageElement[] GetlndexedCol 1ageElementsByContentsummaryAndLength( Contentsummaryvalue cs, int Length) return al! Col!ageElements in the datábase whose Conteptsummary == cs AND ContentLengtn == Length, or an empty set if pone (index operation) ; col 1 ageEl ement [] Getsi mpl eSche eMatchi ngcol 1 ageEl ements (content c) { if(c is not preprocessed) c = PreprocessContept(c, false) ; col l ageEl ement [] matchingEl ements » GetindexedcollageElementsByCoptentsummaryAndLengthC simpleSchemesummary(c) , c. Length) ; foreach (col! ageEl ement e in match ngEl ements) { if(GetParentcol1ageScheme(e) is not col lagesimpl escheme) remove e from matchingEl ements ; return matchingEl ements ; Col 1 ageEl ement [] Getsl idi ngWi ndowMatchi ngcol 1 ageEl ements (Content c) { Col 1 ageEl ement [] r ; if(c i s not preprocessed) c = Preprocess ontent (c , false) : Contentsummaryvalue flatschemecs = nuil ; foríint i = 0; i < c. Length; i++){ // the following line may be implemented i n 0(1) for i > 0 b; // taking advantage of tne sl iding window movement Content contente! ock = c .GetsubcontentBylndexAndLength( index = i , maxLength = FlatSchemeBlocksize) : i f (flatSche eCS == nui l OR flatschemecs not updatable) flatschemecs = FlatschemeSummary(contentBlock) ; else{ // // the updated flatschemecs must be equal to // FlatSche esummary(conteptBlock) update flatschemecs to ref1ect the sliding window movement; Col!ageElement[] matchingElements = GetlndexedCollageÉiementsBycontentSummaryApdLength( flatSchemeCS, coptentßlock.Length) ; foreach(CollageElement e in matchingElements){ if(GetParentCollagescheme(e) is not CollageFlatsche e) remove e from matchingElements; r.Add(matchingElements) ; ?return r; CollageElement[] GetSHMatchingCollageElements(Content c){ Col!ageElement[] r; if(c is not preprocessed) c = PreprocessContent(c, true); Content[] structureContentSections = GetTopLevelStructurecontentsections(c) ; if(structureContentSections.Length <=- i) return r; // empty set foreach(Content s in structureContentSections){ r.Add(GetsimpleSchemeMatchingcol1ageElements(s)); r.Add?Getsl dingWindowMatchingcol1ageElements(s)) j r.Add(Get5HMatchipgCollageElements(s)); // recursive step } return r; // Match Coverage functions struct Matchcoveragelnfo { int MatchLength; int spannedContentLength; ^atchcoveragelnfo GetMatchCoverageinfoícollageob ect Root, coll geElement[] MatchingElements, MatchCoveragecache cache) f(cache.contains(Root)) return Cache[Root] ; Matchcoverageinfo r; if(Root is DocumentCollage) r = GetMatchCo erageInfo(Rost.Collage, Match ngEl ements, cache); // match coverage is that of the document's // content col 1age's else if(Root is ContentCollage){ Matchcoverageinfo maxMatchCoverage = new Matchcoverageinfo(MatchLength = O, SpannedContentLepgth = 0) ¡ foreach(Col!ageSche e sche e in Root.contentschemes) { Matchcoverageinfo schemeMatchCoverage = GetMatchCoverageinfs(scheme, MatchingEletnents , 5 Cache) ; fCschemeMatcbCoverage.MatchLength > maxMatchCoverage.MatchLength) // noti ce that SpannedContentLength is // the same for all schemes maxMatchCoverage = schemeMatchCoverage; r « maxMatchCoverage; else if(Root is Collagesiptpleschet?se){ r = GetMatchCoveragelnfoíRoot.Elepient, MatchingElements, cache); else if(Root is CollageFlatscheme){ int totalMatchLength = 0; 0 int totalSpannedContentLength = O; foreach(CoilageElement e in Root.BlockElement:s){ Matchcoverageinfo elementcoverage = GetMatchCoverageinfo(e, MatchingEl ements, cache); totalMatchLength .= elementcaverage.MatchLepgth; totalSpanpedContentLength += elemeptCoverage.SpannedContentLength; r a new MatchCoverageInfo(t.atchLe?gth «= totalMatchLength, SpannedContentLength =• total SpannedContentLength) ; else if(Root is CollageSHScheme){ int totalitsatchLength ~ 0; int totalSpannedContentLength » 0; foreach(ContentCollage section in Root.Sectioncoll ges) { Matchcoverage?nfo sectiopcoverage = 15 GetMatchcoveragelnfo(section, MatchingElements. Cache) ; totalMatchLength += sect opcoverage.MatchLength; totalSpannedContentLength += sectioncoverage.SpannedContentLength; r = new MatchCoverageinfo?MatchLength = totalMatchLength, SpanpedContentLength « totaTspapnedCopten -Length) ; else if(Root is co11ageElentent){ r = new Matchcoverageinfo( MatchLength = (Root in MatchingElements) ? Root.ContentLength : 0, SpannedContentLength « Root.contentLength); ~n ache[Root] = r; z? return r; float GetMatchc.overage(int searchedcontentLength, collagcobject Root, Coll ageElement [] MatchingElements, MatcbCoverageCache cache) Matchcoverageinfo mci = GetMátchCoverageinfo(Root, MatchingElements, caché) ; // The Match Coverage is the degree of similap'ty between the // searched content and the spanned content. So we have two groups: // the searched content and tne spanned content. GetMatchCoveragelnfo // returns the size of the spanned content and the size of subgroup of // the spanned coptent which matches the searched content. The // similarity is the size of the rnatchipg group. The dissimilarity is 25 // the sum ot the subgroups which don't match, both in the searched // content and in the spanned content. Their sizes are // (SearchedContentLength - mci . MatchLength) and // (mci . SpannedContentLength - mci .MatchLength) , respectively. So th // unión of the sirailarity group and the dissi i larity groups is of // the size: raci .MatchLengtn + (SearchedContentLength - // mc . MatchLength) + (mci . SpannedContentLength - mci . atchLength) , // which is (SearchedContentLength •*• mci .spapnedOontentLength - // mci . MatchLength) . // The Match coverage is therefore the size of the similarity group // divided by the size of the unión. return mci . atchLength / (SearchedContentLength + mci . SpannedContentLength - mci . MatchLength) ; float GetMaxParentMatchCoverageO'pt searched ontentlength, CollageObject startobject, Coll geEl eraentí] Matcni ngEl ements , MatchCoverageCache Cache) float maxMatchCoverage = o earchedContentLength, // search functions PUBLIC Date GetOrigi nal DocumentDate (Document d){ return Getorigi nal Date (d.Documentcontent) ; PUBLIC Docu entAttributes GetoriginalDate(content c , float similarityThreshold) DocumentAttributes earliestDocumentAttributes a nuil ; Col 1 ageEl eraent [] matchi ngEl ements ; matchi ngel ements. Add(Getsira?leschemeMatch1ngCo11ageEl ements (c)) ; matchi ngElements.AddlGetSl idi nqWindowMatchingCollageElements(c)) ; raat chi ngEl ements . Add?GetSHMatchi ngcoll ageel ements (c)) ; Matchcoveragecache cache; foreach (col T ageEl ement e in matchi ngEl entents){ float maxPareptMatchCoverage = GetMaxParentMatchcoverage(c . ength , e , match ngEl ements , cachej ; if(raaxPareptMatchCoverage >- sim larityThresho1d){ oocumentcopage par entDocumentCollage <= GetParentDocumentCollage(e) ; f(earlieste>ocup»entAttribute5 =•= nuil 1 1 pareptDocuraentcol 1 ge . DocumentDate < earl i es tDocumentAttri butes .DocumentDate) { earliestüo umentAttributes = new DocumentAttributes (DocumentDate = parentoocumentcol 1 age . DocumentDate , DocumentAddress = parentDocumentcol 1 age . DocumentAdd ess) ; return earliestDocumentAttributes; } PUBLIC DocumentAttributesp Trac content (Content c, float SimilarityThreshold) Doc?anentAttributes [] r; Col! ageEl ement [] matchi ngel ements ; atchi ngEl ements . Add?Getsi mpl eSchemeMatchi ngcol 1 ageel ements (c) ) ; matchi ngEl ements . Add (Getsl i di pgWi ndowMatchi ng ol 1 ageEl eraents <c) ) ; matchingElements .Add(GetSHMatchingCollageElements(c)) ; Matchco erageCache cache; foreach(ColTageElement e in matchingEleraents){ float maxParentMatchCoverage = GetMaxParentMatchCoverage(c. ength, e, atchingEl ements, cache) ; f(ma?PareptMatchCoverage >» sim larityThr_shold){ Docu entCollage pa entDocumentCollage = GetParentDocumantCollage(e) ; r.Ad (new OocumentAttrbutes(DocumentDate = parentDocumentCol1age.Docu entDate, DocumentAddress «* parentDocumentCol1age.DocutnentAddress)) } sort r by (DocumentAddress, DocumentDate) Remove duplicate (DocumentAddress, DocumentDate) pairs from r return r; > PUBLIC Content o Fi lterContent6yOriginalDate(Content[] ContentToFilter, fl oat similarityrhreshol d , Date MinDate , Date MaxDate) Content e] r ; foreach(Content c ip conterttT0Filter) { DocumentAttributes att -=• GetOrigi nal Date (c, Sim larityThreshold) ; i f (attr != nu il AND MinDate <= attr . DocumentDate AND attr. DocumentDate <=> MaxDate) r.Add(c) ; } } return r;

Claims (1)

REIVINDICACIONES
1. Un método implementado en un sistema de computadora para determinar una fecha de un documento particular que tiene una dirección única en base a una red, que comprende: mantener en el sistema de computadora una base de datos de la información asociada a una pluralidad de documentos, cada documento se asocia a una dirección de red única, en donde la pluralidad de documentos incluye los documentos accesibles por mediante sus direcciones de red únicas correspondientes y los documentos que no son accesibles mediante su dirección de red única correspondiente; buscar en la base de datos uno o más documentos que igualan el documento particular en base a un umbral de similitud, en donde cada uno de los documentos de igualación ¡guala o excede el umbral de similitud; y si la búsqueda produce uno o más documentos de igualación, entonces: atribuir en el sistema de computadora una fecha al documento particular de acuerdo a una fecha más reciente asociada a cualquiera de los documentos de igualación. RESU MEN Se proporcionan sistemas y métodos para rastrear los orígenes y fechas de un documento o pieza de contenido encontrando los documentos o piezas de contenido de igualación similares o exactos almacenados en un índice. El índice puede incluir los documentos actuales y no actuales junto con la información asociada para cada documento. Analizando cada documento usando varios esquemas, es posible correlacionar los documentos similares o iguales. Usando tales correlaciones del documento, es posible determinar los orígenes y las fechas anteriores de un documento particular.
MX2007013020A 2005-04-18 2006-04-18 Sistema y metodo para rastrear y fechar contenido de manera eficiente en espacios de documentos dinamicos muy grandes. MX2007013020A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US67225605P 2005-04-18 2005-04-18
PCT/US2006/014441 WO2006113644A2 (en) 2005-04-18 2006-04-18 System and method for efficiently tracking and dating content in very large dynamic document spaces

Publications (1)

Publication Number Publication Date
MX2007013020A true MX2007013020A (es) 2008-03-18

Family

ID=37115828

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007013020A MX2007013020A (es) 2005-04-18 2006-04-18 Sistema y metodo para rastrear y fechar contenido de manera eficiente en espacios de documentos dinamicos muy grandes.

Country Status (8)

Country Link
US (1) US20060248063A1 (es)
EP (1) EP1899861A4 (es)
JP (1) JP2008537264A (es)
AU (1) AU2006236418A1 (es)
BR (1) BRPI0610286A2 (es)
CA (1) CA2605252A1 (es)
MX (1) MX2007013020A (es)
WO (1) WO2006113644A2 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190625B1 (en) * 2006-03-29 2012-05-29 A9.Com, Inc. Method and system for robust hyperlinking
US7711786B2 (en) * 2007-08-06 2010-05-04 Zhu Yunzhou Systems and methods for preventing spam
US8775953B2 (en) * 2007-12-05 2014-07-08 Apple Inc. Collage display of image projects
US7890480B2 (en) * 2008-02-11 2011-02-15 International Business Machines Corporation Processing of deterministic user-defined functions using multiple corresponding hash tables
KR101086530B1 (ko) 2008-10-02 2011-11-23 엔에이치엔(주) 웹 문서 원본 판별 방법 및 시스템, 이를 위한 웹 문서 이력 정보 제공 방법 및 시스템
US8156130B2 (en) 2008-10-17 2012-04-10 Embarq Holdings Company Llc System and method for collapsing search results
US8326829B2 (en) * 2008-10-17 2012-12-04 Centurylink Intellectual Property Llc System and method for displaying publication dates for search results
US8874564B2 (en) * 2008-10-17 2014-10-28 Centurylink Intellectual Property Llc System and method for communicating search results to one or more other parties
WO2010073592A1 (ja) * 2008-12-26 2010-07-01 日本電気株式会社 情報推定装置、情報推定方法、及びコンピュータ読み取り可能な記録媒体
US8001462B1 (en) 2009-01-30 2011-08-16 Google Inc. Updating search engine document index based on calculated age of changed portions in a document
US8332408B1 (en) 2010-08-23 2012-12-11 Google Inc. Date-based web page annotation
US8499073B1 (en) 2010-10-07 2013-07-30 Google Inc. Tracking content across the internet
US9298778B2 (en) * 2013-05-14 2016-03-29 Google Inc. Presenting related content in a stream of content
US9367568B2 (en) * 2013-05-15 2016-06-14 Facebook, Inc. Aggregating tags in images
US9805113B2 (en) * 2013-05-15 2017-10-31 International Business Machines Corporation Intelligent indexing
US10733256B2 (en) 2015-02-10 2020-08-04 Researchgate Gmbh Online publication system and method
EP3096277A1 (en) 2015-05-19 2016-11-23 ResearchGate GmbH Enhanced online user-interaction tracking
US10331752B2 (en) * 2015-07-21 2019-06-25 Oath Inc. Methods and systems for determining query date ranges
CN107092689A (zh) * 2017-04-24 2017-08-25 深圳市茁壮网络股份有限公司 元数据生成方法及系统
CN113204579B (zh) * 2021-04-29 2024-06-07 北京金山数字娱乐科技有限公司 内容关联方法、系统、装置、电子设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899299A (en) * 1987-12-23 1990-02-06 International Business Machines Corporation Method for managing the retention of electronic documents in an interactive information handling system
US5909677A (en) * 1996-06-18 1999-06-01 Digital Equipment Corporation Method for determining the resemblance of documents
JPH10228469A (ja) * 1997-02-17 1998-08-25 Canon Inc 情報処理装置及びその制御方法
US6182066B1 (en) * 1997-11-26 2001-01-30 International Business Machines Corp. Category processing of query topics and electronic document content topics
JPH11250037A (ja) * 1998-02-26 1999-09-17 Sumitomo Metal Ind Ltd コンテンツ編集装置および記録媒体
US6421675B1 (en) * 1998-03-16 2002-07-16 S. L. I. Systems, Inc. Search engine
US6119124A (en) * 1998-03-26 2000-09-12 Digital Equipment Corporation Method for clustering closely resembling data objects
EP1006462A3 (en) * 1998-12-01 2005-03-30 Lucent Technologies Inc. A method and apparatus for persistent storage of web resources
JP3943801B2 (ja) * 2000-04-27 2007-07-11 株式会社東芝 原本性保証文書管理方法及び記憶媒体
JP4199916B2 (ja) * 2000-12-19 2008-12-24 株式会社日立製作所 文書管理方法および装置
US8001118B2 (en) * 2001-03-02 2011-08-16 Google Inc. Methods and apparatus for employing usage statistics in document retrieval
JP2004259296A (ja) * 2001-11-08 2004-09-16 Tatsuhiko Miyagawa 文書管理システム及び方法
US7158961B1 (en) * 2001-12-31 2007-01-02 Google, Inc. Methods and apparatus for estimating similarity
JP4084961B2 (ja) * 2002-05-31 2008-04-30 株式会社日立製作所 電子証跡保存方法および電子証跡保存システム
JP2004086841A (ja) * 2002-06-27 2004-03-18 Oki Electric Ind Co Ltd 情報処理装置および方法
US20050149507A1 (en) * 2003-02-05 2005-07-07 Nye Timothy G. Systems and methods for identifying an internet resource address
WO2005004386A1 (ja) * 2003-07-07 2005-01-13 Fujitsu Limited 認証装置
GB2405227A (en) 2003-08-16 2005-02-23 Ibm Authenticating publication date of a document
US7797316B2 (en) * 2003-09-30 2010-09-14 Google Inc. Systems and methods for determining document freshness
US7346839B2 (en) * 2003-09-30 2008-03-18 Google Inc. Information retrieval based on historical data
US7689601B2 (en) * 2004-05-06 2010-03-30 Oracle International Corporation Achieving web documents using unique document locators
US8386453B2 (en) * 2004-09-30 2013-02-26 Google Inc. Providing search information relating to a document

Also Published As

Publication number Publication date
BRPI0610286A2 (pt) 2010-06-08
AU2006236418A1 (en) 2006-10-26
WO2006113644A2 (en) 2006-10-26
JP2008537264A (ja) 2008-09-11
EP1899861A4 (en) 2010-09-22
US20060248063A1 (en) 2006-11-02
EP1899861A2 (en) 2008-03-19
CA2605252A1 (en) 2006-10-26
WO2006113644A3 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
MX2007013020A (es) Sistema y metodo para rastrear y fechar contenido de manera eficiente en espacios de documentos dinamicos muy grandes.
US20080097972A1 (en) System and method for efficiently tracking and dating content in very large dynamic document spaces
US8606778B1 (en) Document ranking based on semantic distance between terms in a document
Cai et al. Extracting content structure for web pages based on visual representation
US6658423B1 (en) Detecting duplicate and near-duplicate files
US9015150B2 (en) Displaying results of keyword search over enterprise data
US8452766B1 (en) Detecting query-specific duplicate documents
JP5175005B2 (ja) 情報検索システムにおけるフレーズに基づく検索方法
US8548972B1 (en) Near-duplicate document detection for web crawling
Sleiman et al. Tex: An efficient and effective unsupervised web information extractor
US20070162448A1 (en) Adaptive hierarchy structure ranking algorithm
US8423885B1 (en) Updating search engine document index based on calculated age of changed portions in a document
Manabe et al. Extracting logical hierarchical structure of HTML documents based on headings
US20150161179A1 (en) Automatic determination of whether a document includes an image gallery
Simitsis et al. Multidimensional content exploration
Li et al. Web data extraction based on structural similarity
Deng et al. Information re-finding by context: A brain memory inspired approach
US20130297657A1 (en) Apparatus and Method for Forming and Using a Tree Structured Database with Top-Down Trees and Bottom-Up Indices
Wu et al. TwigTable: using semantics in XML twig pattern query processing
Chien et al. Supporting complex queries on multiversion XML documents
CN112100500A (zh) 范例学习驱动的内容关联网站发掘方法
Oita et al. FOREST: Focused object retrieval by exploiting significant tag paths
Srinath An Overview of Web Content Mining Techniques
Garratt et al. A survey of alternative designs for a search engine storage structure
Ahuja et al. Hidden web data extraction tools

Legal Events

Date Code Title Description
FA Abandonment or withdrawal