METODO Y SISTEMA PARA CLASIFICAR OBJETOS CON BASE EN RELACIONES INTRA-TIPO E INTER-TIPO
CAMPO TÉCNICO
La tecnología descrita se refiere generalmente a la clasificación de objetos y particularmente a la clasificación con base en relaciones de objeto.
ANTECEDENTES
Muchos servicios de máquina de búsqueda, tal como Google y Overture, proveen búsqueda para información que es accesible a través de Internet. Estos servicios de máquina de búsqueda permiten a usuarios buscar páginas de presentación, tal como páginas web, que pueden ser de interés a usuarios. Después de que un usuario emite una solicitud de búsqueda (también referida como "consulta") que incluye términos de búsqueda, el servicio de máquina de búsqueda identifica páginas web que pueden estar relacionadas con aquellos términos de búsqueda. Para identificar rápidamente páginas web relacionadas, un servicio de máquina de búsqueda puede mantener un delineado de palabras clave a páginas web. El servicio de máquina de búsqueda puede generar este delineado al "navegar lentamente" en la web (es decir, la Gran Red Mundial) para extraer las palabras claves de cada página web. Para navegar lentamente en la web, un servicio de máquina de búsqueda puede utilizar una lista de páginas web de raíz e identificar todas las páginas web que son accesibles a través de aquellas páginas web de raíz. Las palabras clave de cualquier página web particular pueden ser extraídas utilizando varias técnicas de recuperación de información bien conocidas, tal como identificar las palabras de un encabezado, las palabras provistas en los metadatos de la página web, las palabras que son resaltadas, y así sucesivamente. El servicio de máquina de búsqueda puede calcular una marca de relevancia que indica qué tan relevante es una página web a la solicitud de búsqueda basándose en la cercanía de cada ajuste, popularidad de página web (por ejemplo, Clasificación de Página de Google), ya así sucesivamente. El servicio de máquina de búsqueda después presenta al usuario los enlaces a aquellas páginas web en un orden que está basado en su relevancia. Maquinas de búsqueda más generalmente pueden proporcionar búsqueda de información en cualquier colección de documentos. Por ejemplo, las colecciones de documentos pueden incluir todas las patentes de E.U.A., todas las opiniones de corte federal, todos los documentos archivados de una compañía, y así sucesivamente. Dos técnicas bien conocidas para clasificar páginas web son Clasificación de Página y HITS ("Búsqueda de Tópico Inducida por Hipervínculo"). Clasificación de Página está basada en el principio que páginas web tendrán enlaces a (es decir, "enlaces de salida") importantes páginas web. De esa forma, la importancia de una página web está basada en el número e importancia de otras páginas web que conectan a es página web (es decir, "enlaces de entrada"). En una forma simple, los enlaces entre páginas web pueden ser representados por matriz A, en donde Alk representa el número de enlaces de salida de página web / a página web j. La marca de importancia w¡ para página web j puede ser representada por la siguiente ecuación: w¡ = ?iAjjW¡ Esta ecuación puede ser resuelta por cálculos iterativos basados en la siguiente ecuación: ATw = w en donde w es el vector de marcas de importancia para las páginas web y su vector propio de AT. La técnica de HITS está adicionalmente basada en el principio que una página web que tiene muchos enlaces a otras páginas web importantes por si misma puede ser importante. De esa forma, HITS divide "importancia" de páginas web en dos atributos relacionados: "centro" y "autoridad". Centro es medido por la marca de "autoridad" de las páginas web a la que una página web se conecta, y "autoridad" es medida por la marca de "centro" de las páginas web que se conectan a la pagina web. En contraste a Clasificación de Página, que calcula la importancia de páginas web independientemente de la consulta, HITS calcula importancia basándose en las páginas web del resultado y páginas web que están relacionadas a las páginas web del resultado al seguir enlace de entrada y salida. HITS emite una consulta a un servicio de máquina de búsqueda y utiliza las páginas web de los resultados como el grupo inicial de páginas web. HITS agrega a las páginas web establecidas que son destinos de enlaces de entrada y esas páginas web que son las fuentes de enlaces de salida de las páginas web del resultado. HITS después calcula la marca de autoridad y de centro de cada página web que utiliza un algoritmo iterativo. Las marcas de autoridad y de centro pueden ser representadas por las siguientes ecuaciones: a {p)= ? h{q) y h(p)= ?a(q)
en donde a(p) representa la marca de autoridad para página web p y h(p) representa la marca de centro para página web p. HITS utiliza una matriz adyacente A para representar los enlaces. La matriz adyacente es representada por la siguiente ecuación:
Los vectores a y h corresponden a las marcas de autoridad y de centro, respectivamente, de todas las páginas web en el grupo y pueden ser representadas por las siguientes ecuaciones: a = ATh y h = A a De esa forma, a y h son vectores propios de matrices ATA y AAT . HITS también puede ser modificado para factorizar en la popularidad de una página web como se midió por el número de visitas. Basándose en análisis de registros web, b¡¡ de la matriz adyacente puede ser aumentado cuando sea que un usuario viaja de página web / a página web j. Estas técnicas de clasificación de página web basan su clasificación principalmente en atributos de las mismas páginas web. Estos atributos incluyen enlaces de una página web a otra y viaja de una página web a otra. Las técnicas de clasificación fallan al factorizar en atributos que no están directamente relacionados a páginas web. Por ejemplo, la importancia de una página web puede ser más precisamente determinada cuando la experiencia de usuarios que acceden a la página web está factorizado. Sería deseable tener una técnica para calcular la importancia de páginas web basándose en atributos que no están directamente relacionados a páginas web. Más generalmente, sería deseable generar una marca para un objeto de un tipo (por ejemplo, páginas web) basándose en relaciones a objetos de otro tipo (por ejemplo, usuarios).
COMPENDIO DE LA INVENCION
Se proporcionan un método y sistema para clasificar objetos con base en relaciones con objetos de un diferente tipo de objeto. El sistema de clasificación define una ecuación para cada atributo de cada tipo de objeto. Las ecuaciones definen los valores de atributo y se basan en relaciones entre el atributo y los atributos asociados con el mismo tipo de objeto y diferentes tipos de objeto. Debido a que los valores de atributo pueden ser inter-dependientes que es un atributo puede ser definido en términos de otro atributo y viceversa, las ecuaciones representan una definición recursiva de los atributos. El sistema de clasificación iterativamente calcula los valores de atributo para los objetos utilizando las ecuaciones hasta que los valores de atributo convergen en una solución. El sistema de clasificación después clasifica objetos con base en los valores de atributo.
BREVE DESCRIPCION DE LOS DIBUJOS
La Figura 1 es un diagrama de flujo que ilustra componentes del sistema de clasificación en una modalidad. La Figura 2 es un diagrama de flujo que ilustra el procesamiento del componente de objetos clasificado en una modalidad. La Figura 3 es un diagrama de flujo que ilustra el procesamiento del componente de relaciones establecido en una modalidad. La Figura 4 es un diagrama de flujo que ilustra el procesamiento del componente de marcas calculado en una modalidad.
DESCRIPCION DETALLADA
Se proporcionan un método y sistema para clasificar objetos de datos de un tipo de objeto de datos basándose en relaciones con objetos de datos del mismo u otro tipo de objeto de datos. En una modalidad, el sistema de clasificación identifica objetos de datos de varios tipos de objeto de datos. Por ejemplo, un tipo de objeto de datos puede ser páginas web, otro tipo de objetos de datos pueden ser consultas, y otro tipo de objetos de datos pueden ser usuarios. Cada tipo de objeto de datos puede tener varios atributos específicos de tipo. Por ejemplo, una página web puede tener un atributo de autoridad, y un usuario puede tener un atributo de experiencia. El atributo de autoridad de la página web puede estar basado en el número de enlaces de entrada de esa página web. El atributo de experiencia de un usuario puede ser aumentado cuando el usuario accede páginas web que tienen valores de atributo de autoridad altos. El sistema de clasificación calcula valores de atributo para los objetos de- datos y puede clasificar objetos de datos basándose en sus valores de atributo. El sistema de clasificación define "tipos" de objetos para que cada objeto contenga un atributo individual. Por ejemplo, el sistema de clasificación puede definir un tipo correspondiente al atributo de autoridad de una página web y otro tipo correspondiente al atributo de centro de una página web. De esa forma, dos tipos pueden representar los mismos objetos de datos importantes (por ejemplo, páginas web). El sistema de clasificación determina varias relaciones entre objetos del mismo tipo, denominados como relaciones de intra-tipo, y entre objetos de diferentes tipos, denominadas como relaciones de inter-tipo. Por ejemplo, cuando una consulta es emitida, el sistema de clasificación puede utilizar los resultados como los objetos del tipo de autoridad y puede utilizar registros web para identificar a usuarios que han accedido a aquellas páginas web como objetos del tipo de experiencia. Los objetos de relaciones de intra-tipo del tipo de autoridad pueden incluir enlace de entrada y enlace de salida de páginas web. Por ejemplo, si una página web tiene un enlace a otra página web, después esa página web tiene una relación de enlace de salida a otra página web y otra página web tiene una relación de enlace de entrada a esa página web. Las relaciones de inter-tipo entre objeto de tipo de autoridad y un tipo de experiencia pueden estar basadas en acceso de usuario a páginas web. Por ejemplo, si un usuario accede a página web, después la página web y usuario tienen relación de acceso. El sistema de clasificación deriva valores para atributos para objetos de un cierto tipo que utiliza relaciones de intra-tipo y utiliza relaciones de inter-tipo combinadas con los valores de atributo de objetos de otros tipos. Por ejemplo, el sistema de clasificación puede utilizar las relaciones de enlace de entrada y salida y las relaciones de acceso de usuario para derivar los atributos de autoridad y de centro de páginas web y los atributos de experiencia de usuarios. En una modalidad, el sistema de clasificación representa las relaciones y atributos que utilizan un grupo de ecuaciones, tal como ecuaciones lineales. El sistema de clasificación representa los valores de atributo de cada tipo que utiliza una ecuación lineal que puede ser recursivamente definida basándose en valores de atributo de otro tipo. Por ejemplo, una ecuación lineal para el atributo de autoridad puede ser definida basándose en los valores de atributo de atributo de experiencia, y viceversa. Debido a que las ecuaciones lineales pueden ser definidas recursivamente, el sistema de clasificación resuelve las ecuaciones lineales al calcular iterativamente los valores de atributo de cada ecuación lineal hasta que los valores de atributo convergen en una solución. Después de resolver las ecuaciones lineales, el sistema de clasificación puede clasificar los objetos de datos basándose en valores de atributo. Por ejemplo, el sistema de clasificación puede clasificar páginas web basándose en sus valores de atributo de autoridad. El sistema de clasificación representa los valores de atributo para objetos basándose en las relaciones de intra-tipo e inter-tipo de los objetos. El valor de un atributo puede ser representado por la siguiente ecuación: en donde F¡ representa el valor asociado con objeto /, R¡ representa las relaciones de intra-tipo entre objetos del tipo del objeto /, y R¡¡ representa las relaciones de inter-tipo entre objetos del tipo del objeto /' y otros tipos j. Si hay dos tipos de objetos x= {x-i , x2, ··· xm} y y= {y^ y2, ... yn}> después sus relaciones de intra-tipo pueden ser representadas como Rx y Ry y sus relaciones de inter-tipo pueden ser representadas por RXY y RYX. El sistema de clasificación utiliza matrices adyacentes para representar la información de relación. Lx y LY representan las matrices adyacentes de las relaciones de intra-tipo dentro del grupo X y Y, respectivamente. LXY y LYX representan la matriz adyacente de relaciones de inter-tipo de objetos en X a objetos en Y y la matriz adyacente de relaciones inter-tipo de objetos Y a objetos en X, respectivamente. El sistema de clasificación representa la matriz adyacente por lo siguiente:
si hay una relación del objeto x? al objeto y3 de otra manera
en donde LXY(i,j) indica si una relación (también referida como un "enlace" existe del objeto / en el grupo X al objeto j en el grupo Y. Las ecuaciones lineales para los valores de atributo pueden ser representadas como las siguientes ecuaciones:
Wy = LTyWy + Ü XyWX Wx = LTXWX + LTyXWy (1)
en donde wx es el vector de atributo de objetos en X y wy es el vector de atributo de objetos en Y. La ecuación 1 puede ser generalizada a la siguiente forma:
(2) en donde M representa la matriz de vectores de atributo. Debido a relaciones mutuamente reforzadas entre objetos puede dar valores de atributo indebidos a objetos, el sistema de clasificación puede normalizar las matices de adyacencia binaria de tal forma que si un objeto está relacionado a n otros objetos en una matriz de adyacencia, después cada objeto relacionado obtiene 1/nvc de su valor de atributo. El sistema de clasificación también introduce el modelo de navegación aleatoria de Clasificación de Página para simular relaciones aleatorias y de esa forma evitar nodos de depresión durante cálculo como se describe más adelante. Además, ya que atributos de diferentes tipos pueden tener importancia diferente de uno a otro atributo, el sistema de clasificación puede utilizar cargas para cada combinación de tipos. De esa forma, el sistema de clasificación puede factorizar en la normalización, el modelo de navegación aleatoria, y las cargas para representar los valores de atributo por la siguiente ecuación:
w» = aMLM' TwM +ß?? S Lm' TwN VN?M en donde ceu+ ? ß?? > ß?? VN?M (3) LM' =sU + (l-s)LM;0<s<í; LN'M = NU + {lSN)Lm ;0<d?<1.
en donde U es una matriz de probabilidades de transición uniforme (u¡j = 1/n para todo /', j; en donde n es el número total de objetos en espacio de datos N), LM y LNM son matrices de adyacencia normalizada, d y e son factores suaves utilizados para simular relaciones aleatorias en matrices LM y LNM, y aM y representan las cargas de las relaciones. El sistema de clasificación calcula iterativamente Ecuación 3 hasta que converge. Ecuación 3 puede ser representada por una matriz de cuadro unificada A que es representada por la siguiente ecuación:
A = (4) ?? ? ß??
La matriz A tiene L'M en la diagonal, y L'NM en otras partes de la matriz unificada. El sistema de clasificación utiliza un acercamiento iterativo para transformar el vector w, que es el vector de atributo de todos los objetos de datos en diferentes espacios de datos, que utilizan matriz A (por ejemplo, w = ATw). Cuando las iteraciones convergen, vector w es el vector propio principal de matriz A. Cuando M y N son espacios de datos heterogéneos, el sistema de clasificación utiliza una relación aleatoria para representar no relación. Cuando un objeto es M no tiene relación de enlace a ninguno de los objetos en N, después la sub-matriz L'NmT será cero y representará un "nodo de depresión" al que los cálculos pueden asignar el valor de atributo. Para prevenir esto, el sistema de clasificación establece todos los elementos en la fila correspondiente de la sub-matriz L'NMT a 1/n, en donde n es el número total de objetos en espacio de datos N. Alternativamente, el sistema de clasificación puede establecer las cargas correspondientes a 0 para relaciones de intra-tipo e inter-tipo no deseadas. Sin embargo, si ß?? es mayor que 0, después ß?? necesita ser más grande que 0 si los cálculos iterativos van a converger. De esa forma, si la relación de L'NMT no es deseada, el sistema de clasificación establece ß?? a una carga positiva muy pequeña para reducir el efector de L'NMT. Al construir una matriz unificada que utiliza todas las matrices de adyacencia, el sistema de clasificación construye un espacio de datos unificado, que contiene diferentes tipos de objetos. De esa forma, relaciones de inter-tipo previas pueden ser consideradas como relaciones de intra-tipo en el espacio unificado, y el sistema de clasificación resulta efectivamente en análisis de enlace en un espacio de datos individual. La Figura 1 es un diagrama de flujo que ilustra componentes del sistema de clasificación en una modalidad. El sistema de clasificación 110 está conectado a varios sitios web 101 a través de enlace de comunicaciones 102. el sistema de clasificación incluye un componente de objetos clasificado 111 que invoca a un componente de objetos recolectado 112, un componente de relaciones establecido 113, un componente de marcas calculado 114, y un componente de objetos ordenado 115 para clasificar objetos. El componente de objetos clasificado puede recibir un grupo de páginas web y clasificar las páginas web basándose en relaciones de intra-tipo e inter-tipo. El componente de objetos recolectado recupera información de relación que se relaciona a objetos de varios tipos.
Por ejemplo, el componente de objetos recolectado puede acceder los registros web de los sitios web para identificar que usuarios acceden a que páginas web. El componente de relaciones establecido crea las matrices de relación de intra-tipo e inter-tipo. Por ejemplo, una matiz de relación puede delinear usuarios a las páginas web a las que acceden. El componente de marcas calculado recursivamente calcula los valores de atributo que utilizan ecuación 3 hasta que los valores de atributo convergen en una solución. El componente de objetos ordenado clasifica los objetos de datos basándose en los valores de atributo. Por ejemplo, el componente de objetos ordenado puede utilizar el valor del atributo de autoridad para una página web para clasificar las páginas web. El dispositivo de cómputo en el que el sistema de clasificación es implementado puede incluir una unidad de procesamiento central, memoria, dispositivos de entrada (por ejemplo, teclado y dispositivos de señalamiento), dispositivos de salida (por ejemplo , dispositivos de presentación), y dispositivos de almacenamiento (por ejemplo, unidades de disco). Los dispositivos de memoria y almacenamiento son medios legibles por computadora que pueden contener instrucciones que implementan el sistema de clasificación. Además, las estructuras de datos y estructuras de mensaje pueden ser almacenadas o transmitidas a través de un medio de transmisión de datos, tal como una señal en un enlace de comunicaciones. Varios enlaces de comunicaciones pueden ser utilizados, tal como Internet, una red de área local, una red de área amplia, o una conexión de marcado de punto a punto. El sistema de clasificación puede ser implementado en varios ambientes operativos. Varios sistemas de cómputo bien conocidos, ambientes, y configuraciones que pueden ser adecuadas para uso incluyen computadoras personales, computadoras de servidor, dispositivos portátiles o laptop, sistemas de multiprocesador, sistemas basados en microprocesador, aparatos electrónicos programables para el consumidor, PCs de red, minicomputadoras, macrocomputadoras, ambientes de cómputo distribuidos que incluyen cualquiera de los sistemas anteriores o dispositivos, y similares. El sistema de clasificación puede ser descrito en el contexto general de instrucciones ejecutables por computadora, tal como módulos de programa, ejecutados por una o más computadoras u otros dispositivos. Generalmente, módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, y así sucesivamente que realizan tareas particulares o ¡mplementan tipos de datos abstractos particulares. Típicamente, la funcionalidad de los módulos de programa pueden ser combinados o distribuidos como es deseado en varias modalidades. La Figura 2 es un diagrama de flujo que ilustra el procesamiento del componente de objetos ordenado en una modalidad. El componente recolecta información de objeto, establece relaciones entre objetos, calcula valores de atributo para los objetos, y ordena objetos basándose en el atributo. En el bloque 201, el componente recolecta información que se relaciona a los varios objetos. En el bloque 202, el componente invoca el componente de relaciones establecido para generar las matrices de adyacencia. El componente de relaciones establecido también puede recuperar y ajustar las cargas a y ß. En el bloque 203, el componente invoca al componente de marcas calculado para calcular iterativamente los valores de atributo hasta que convergen en una solución. En el bloque 204, el componente ordena los objetos de datos basándose en el valor de un atributo. Por ejemplo, el componente puede ordenar páginas web basándose en al atributo de autoridad. La Figura 3 es un diagrama de flujo que ilustra el procesamiento del componente de relaciones establecido en una modalidad. En los bloques 301-303, el componente gira estableciendo matrices de adyacencia para cada tipo. En el bloque 301, el componente selecciona el siguiente tipo. En el bloque de decisión 302, si todos los tipos ya han sido seleccionados, después el componente regresa, también el componente continúa en el bloque 303. En el bloque 303, el componente establece las relaciones entre los objetos del tipo seleccionado y los objetos de todos los tipos. Por ejemplo, el componente establecerá la relación entre el tipo de autoridad y el tipo de centro, el tipo de autoridad y el tipo de experiencia. El componente después gira a bloque 301 para seleccionar el siguiente tipo. La Figura 4 es un diagrama de flujo que ilustra el procesamiento del componente de marca calculado en una modalidad. El componente iterativamente calcula las ecuaciones hasta que los valores de atributo convergen. En el bloque 401, el componente recupera las relaciones de objeto representadas por las matrices de adyacencia. En el bloque 402, el componente recupera las cargas a y ß para relaciones de intra-tipo e inter-tipo. En el bloque 403, el componente realiza el vector w para cada tipo que tiene un valor de atributo igual para cada objeto de tipo. El componente puede establecer cada valor a 1/m, en donde m es el número de objetos del tipo. Por ejemplo, si hay 10 usuarios, después el componente establece los valores de atributo iniciales para el tipo de experiencia a 1/10. El componente también inicializa una variable de diferencia para cada tipo a un gran valor para que el componente inicialmente pase la prueba del bloque de decisión 405. El componente calcula el nuevo valor para cada variable de diferencia al final de cada iteración para determinar si los cálculos han convergido a una solución. En los bloques 404-409, el componente realiza los cálculos de Ecuación 3 hasta que los cálculos convergen en una solución. En el bloque 404, el componente inicia la siguiente iteración. En el bloque de decisión 405, si la suma de las diferencias calculadas durante la última iteración es menor que un umbral de diferencia, después los cálculos han convergido en una solución y el componente regresa, también el componente continúa en el bloque 406. En el bloque 406, el componente selecciona el siguiente tipo. En el bloque de decisión 407, si todos los tipos ya han sido seleccionados, después el componente gira al bloque 404 para iniciar la siguiente iteración, también el componente continúa en el bloque 408. En el bloque 408, el componente calcula los valores para el tipo seleccionado basándose en los valores calculados en la iteración previa. En el bloque 409, el componente calcula la diferencia entre los valores de esta iteración y los valores de la iteración previa para el tipo seleccionado. El componente después gira al bloque 406 para seleccionar el siguiente tipo. Un experto en la técnica apreciará que aunque las modalidades específicas del sistema de clasificación han sido descritas aquí para propósitos de ilustración, varias modificaciones pueden ser hechas sin desviarse del espíritu y alcance de la invención. Por ejemplo, un experto en a técnica apreciará que las ecuaciones no lineales pueden ser utilizadas para representar valores de atributo. También el sistema de clasificación puede ser utilizado en objetos de todos tipos que tengan alguna relación uno con otro. Por ejemplo, el sistema de clasificación puede ser utilizado para clasificar universidades basándose en "importancia" utilizando relaciones con estudiantes o aspirantes y profesores, en donde las universidades, estudiantes, y profesores representan objetos de diferentes tipos. Por consiguiente, la invención no está limitada excepto por las reivindicaciones anexas.