ES2946807T3 - Recuperación de unidad de medios y procesos relacionados - Google Patents

Recuperación de unidad de medios y procesos relacionados Download PDF

Info

Publication number
ES2946807T3
ES2946807T3 ES16759751T ES16759751T ES2946807T3 ES 2946807 T3 ES2946807 T3 ES 2946807T3 ES 16759751 T ES16759751 T ES 16759751T ES 16759751 T ES16759751 T ES 16759751T ES 2946807 T3 ES2946807 T3 ES 2946807T3
Authority
ES
Spain
Prior art keywords
media
attribute
user
media units
units
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES16759751T
Other languages
English (en)
Inventor
Michael Elkaim
Michael Kopp
Kristjan Korjus
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dream It Get It Ltd
Original Assignee
Dream It Get It Ltd
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
Priority claimed from EP15183395.1A external-priority patent/EP3139280A1/en
Priority claimed from EP15183396.9A external-priority patent/EP3139281A1/en
Priority claimed from EP15183398.5A external-priority patent/EP3139283A1/en
Priority claimed from EP15183399.3A external-priority patent/EP3139284A1/en
Priority claimed from EP15183401.7A external-priority patent/EP3139285A1/en
Priority claimed from EP15183394.4A external-priority patent/EP3139279A1/en
Priority claimed from EP15183402.5A external-priority patent/EP3139286A1/en
Priority claimed from EP15183397.7A external-priority patent/EP3139282A1/en
Application filed by Dream It Get It Ltd filed Critical Dream It Get It Ltd
Application granted granted Critical
Publication of ES2946807T3 publication Critical patent/ES2946807T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/908Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Valve Device For Special Equipments (AREA)
  • Valve-Gear Or Valve Arrangements (AREA)
  • Vehicle Body Suspensions (AREA)

Abstract

Se proporcionan métodos de recuperación de unidades de medios, sistemas y productos de programas informáticos que permiten a un usuario buscar un elemento presentando iterativamente unidades de medios tales como imágenes que representan elementos al usuario y recibiendo entradas del usuario que consisten en selecciones del usuario de las unidades de medios presentadas (incluyendo posiblemente la selección vacía). Las características o atributos que le interesan a un usuario, por ejemplo, las características semánticas, se infieren de la interacción del usuario y las unidades de medios se recuperan para su presentación en función de la similitud con las unidades de medios seleccionadas por el usuario, mediante el muestreo de una distribución de probabilidad que describe la intención o intención del usuario. intereses, o una combinación de estos enfoques. De esta forma, la experiencia del usuario es similar a una conversación sobre lo que el usuario está buscando. La recuperación puede basarse tanto en unidades de medios seleccionadas como no seleccionadas y la selección puede comprender que el usuario realice una selección con una única acción. También se proporciona una base de datos de unidades de medios que captura relaciones de similitud para la recuperación eficiente de unidades de medios. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Recuperación de unidad de medios y procesos relacionados
La presente divulgación se refiere a sistemas y métodos para transmitir unidades de medios o identificadores de unidades de medios a un usuario en respuesta a una entrada de usuario recibida. La presente divulgación se refiere además a sistemas y métodos relacionados para soportar la selección de unidades de medios para transmitir. En particular, aunque no exclusivamente, la presente divulgación se refiere a la recuperación de unidades de medios en respuesta a la entrada de usuario, de modo que las unidades de medios recuperadas sean relevantes para algo que el usuario está buscando, según se juzga por la entrada de usuario.
Antecedentes
En el campo de la recuperación de información, en particular, en el contexto de las búsquedas de imágenes, se conocen muchos enfoques para presentar imágenes a un usuario, recibir realimentación del usuario sobre la relevancia de las imágenes presentadas y presentar un nuevo conjunto de imágenes teniendo en cuenta la realimentación, este proceso se repite hasta que el usuario haya encontrado la imagen que estaba buscando. Muchos de estos enfoques se basan en un análisis de características de imágenes calificadas como relevantes por el usuario y usan características de imagen de bajo nivel. Este estado de la técnica no es satisfactorio porque las características utilizadas a menudo no están bien adaptadas para representar los atributos o características de lo que el usuario está buscando y porque el usuario necesita hacer un esfuerzo consciente para calificar la relevancia de las imágenes presentadas. "Concept learning with fuzzy clustering and relevance feedback", Engineering Applications of Artificial Intelligence 15 (2002) 123-138, B Bhanu, A Dong desvela un método de agrupamiento difuso semisupervisado para aprender distribución de grupos de clase I (meta conocimiento) en el sentido de conceptos de alto nivel de recuperación con el fin de incorporar la experiencia previa del sistema de recuperación para mejorar el rendimiento en consultas futuras. Para estimar el concepto pensado por el usuario en un enfoque de aprendizaje de conceptos, el grupo con la probabilidad más alta de imágenes con realimentación positiva que le pertenecen e imágenes con realimentación negativa que no le pertenecen se elige como el concepto buscado por el usuario.
Sumario
Se exponen aspectos de la invención en las reivindicaciones independientes. Se exponen características opcionales de realizaciones de la invención en las reivindicaciones dependientes.
En algunos ejemplos, se mantiene una distribución de probabilidad y se actualiza iterativamente basándose en la entrada de usuario, en particular, la selección de ninguna, una o más unidades de medios, por ejemplo, imágenes, presentadas al usuario. La distribución representa la intención del usuario detrás de las selecciones realizadas, es decir, un conjunto particular de valores de atributos que corresponden a un objetivo que el usuario tiene en mente. Manteniendo una distribución de probabilidades de conjuntos de valores de atributos (comparables a puntos en un espacio de características) que sean representativos de lo que el usuario desea o prefiere, la distribución resultante se puede usar de varias maneras para seleccionar unidades de medios para su presentación al usuario en respuesta a la entrada de usuario, tal como la selección de una o más unidades de medios. En algunos ejemplos, la distribución se usa para estimar la importancia que un usuario asocia con cada atributo. En algunos ejemplos, la distribución (o una relacionada) se usa para generar un conjunto de unidades de medios que se presentarán al usuario por medio de muestreo. Naturalmente, algunos ejemplos combinan los dos enfoques. Modelar las intenciones del usuario en términos de atributos que el usuario busca/considera importantes permite que las unidades de medios presentadas sean más relevantes, de modo que el proceso de navegación o búsqueda sea más eficiente.
En algunos ejemplos, el proceso para seleccionar las unidades de medios que se presentarán hace uso de información no solo sobre la unidad o unidades de medios seleccionadas por un usuario (si las hubiera) de un conjunto de unidades de medios presentadas, sino también de las unidades de medios restantes, presentadas, pero no seleccionadas. El inventor se ha dado cuenta de que aquellas unidades de medios que no se seleccionan también contienen información sobre lo que desea el usuario, y que el proceso de búsqueda o navegación se puede hacer más eficiente, más dirigido y con una convergencia más rápida haciendo uso de esa información. Por ejemplo, la información obtenida se puede utilizar para prescindir de la necesidad de pedir al usuario clasificaciones de relevancia explícitas cuando proporciona su realimentación.
En algunos ejemplos, los atributos asociados con las unidades de medios son atributos semánticos, es decir, atributos que son semánticos en el sentido convencional e informático del término, es decir, atributos de los elementos representados por las unidades de medios que son significativos para un observador humano. Esto contrasta con las características usadas en los métodos del estado de la técnica, que son características de procesamiento de imágenes de bajo nivel de cómo se representan gráficamente los elementos en la imagen, en lugar de ser propias de los elementos representados. Usando una representación que está estrechamente vinculada con el significado de los elementos representados en lugar de la forma en que se representan, los procesos de búsqueda y exploración pueden volver a ser más eficientes y dirigidos asumiendo que el objetivo del usuario es encontrar ciertos elementos, en lugar de que las unidades de medios que tienen ciertas características de representación, tales como la textura y el contraste en el caso de las imágenes. Esto da como resultado una menor cantidad de tiempo necesario para que el sistema identifique y presente unidades de medios que satisfagan la consulta de búsqueda del usuario, en comparación con los enfoques convencionales.
En algunos ejemplos, la realimentación se recibe del usuario en forma de entradas de usuario de una sola acción. Al prescindir de la información adicional que se requiere que proporcione el usuario mediante los métodos de la técnica anterior, se proporciona una interfaz de usuario más sencilla y más fácil de usar.
En algunos ejemplos, el nivel de similitud mutua de los resultados proporcionados en cada iteración varía a propósito, por ejemplo, haciendo que las unidades de medios presentadas en cada iteración sean más similares entre sí con cada iteración. Al variar el nivel de similitud, el usuario puede "acercar" el resultado deseado a medida que se proporcionan conjuntos refinados progresivamente para que el usuario elija, mientras tiene una opción más amplia de unidades de medios al principio del proceso. En otras palabras, a medida que se recopila más información sobre la intención del usuario, los resultados se centran más en lo que se estima que es el objetivo, mientras que las primeras iteraciones permiten una elección más amplia para dilucidar cuál es el objetivo. En algunos ejemplos, el nivel de similitud se adapta basándose en las selecciones del usuario recibidas, de modo que el proceso puede volver a una elección más amplia cuando se estima que el usuario desea cambiar el curso en el proceso. En algunos ejemplos, una implementación eficiente tiene conjuntos precalculados de unidades de medios con niveles respectivos de similitud (o granularidad en un espacio de atributos) y el proceso cambia entre estos conjuntos precalculados basándose en las entradas recibidas del usuario.
En algunos ejemplos, la recuperación de unidades de medios se basa en comparaciones por pares usando una medida de similitud entre una o más unidades de medios seleccionadas y unidades de medios disponibles para su presentación. Algunos ejemplos implementan de manera eficiente la recuperación basada en similitud usando relaciones de vecindad/similitud precalculadas. En algunos ejemplos, cada unidad de medios tiene asociada una lista de unidades de medios que son similares a ella. Esto permite que se recuperen unidades de medios que son similares a, por ejemplo, una unidad de medios seleccionada, que se recuperará usando la lista correspondiente, en lugar de tener que calcular medidas de similitud a través de todo el conjunto de unidades de medios disponibles para cada comparación de similitud.
En algunos ejemplos, se presentan unidades de medios que son muy diferentes en comparación con la unidad o unidades de medios seleccionadas de un conjunto presentado previamente. Esto es contrario a la intuición en el contexto de los métodos de navegación o búsqueda, que típicamente tienen como objetivo converger en lo que el usuario está buscando encontrando elementos similares a aquellos seleccionados por el usuario. Sin embargo, el inventor se ha dado cuenta de que proporcionar un conjunto de resultados más divergente, inicialmente o periódicamente, puede mejorar la convergencia global permitiendo al usuario una elección más amplia de la región del espacio de búsqueda en la que pueden centrarse las iteraciones posteriores. En algunos ejemplos, la presentación de unidades diferentes no está libre de restricciones, pero las unidades de medios se seleccionan de un conjunto de unidades de medios relativamente similares (por ejemplo, según se juzga por una estructura de la vecindad) y se devuelven las unidades de medios más diferentes de ese conjunto.
En algunos ejemplos, los atributos de una unidad de medios están representados por una distribución de probabilidad (una distribución conjunta a través de los atributos) o, de manera equivalente, una colección de distribuciones (una para cada atributo) cuyo producto puede formar la distribución conjunta en la suposición de que los atributos son independientes. Un ejemplo de una distribución que cumple este criterio es una distribución normal en diagonal de bloques para la distribución conjunta. Usando distribuciones para representar los atributos de las unidades de medios, se proporciona una representación más rica que permite una dispersión de valores / incertidumbre en los valores a representar. Por ejemplo, cuando los atributos se basan en la entrada humana, se puede capturar la incertidumbre o la dispersión de las anotaciones aplicadas a la población que anotó los atributos. En algunos ejemplos, las distribuciones son paramétricas y los parámetros de la distribución respectiva para cada atributo están asociados con la unidad de medios en lugar de un único valor para cada atributo.
En algunos ejemplos, en particular, cuando los atributos se tratan como igualmente importantes / igualmente ponderados (o no ponderados), todos los atributos y todas sus dimensiones pueden representarse mediante una única distribución, por ejemplo, una distribución normal con matriz de covarianza sin restricciones (es decir, no limitada a siendo diagonal o diagonal de bloque).
En algunos ejemplos, se hace uso de información sobre unidades de medios no seleccionadas, es decir, unidades de medios presentadas a un usuario, pero no seleccionadas. Por ejemplo, cuando un usuario seleccionó una o más unidades de medios mostradas en una pantalla, las unidades de medios restantes mostradas son unidades de medios no seleccionadas. Se entenderá que, una entrada de usuario y/o la información transmitida en respuesta a una entrada de usuario pueden identificar unidades de medios no seleccionadas ya sea explícita o implícitamente. Por ejemplo, solo se pueden transmitir las identidades de cualquier unidad de medios seleccionada (o la selección NULA si no se seleccionó ninguna unidad), y las identidades de las unidades mostradas restantes (no seleccionadas) se deducen del conjunto de unidades de medios enviadas / presentadas al usuario.
La selección y presentación de las unidades de medios típicamente ocurrirá en el mismo dispositivo de usuario al que se transmiten inicialmente las unidades de medios, aunque, en algunos ejemplos, se puede usar un dispositivo de usuario diferente para cada tarea o el dispositivo de usuario puede variar entre iteraciones de visualización a medida que el proceso pasa de un dispositivo a otro. Las unidades de medios y/o sus identificadores pueden enviarse y recibirse directamente desde un dispositivo de usuario o pueden enviarse y recibirse de un intermediario, por ejemplo, una entidad que aloja un sitio web para presentar las unidades de medios e interactúa con un servidor que ejecuta el método o métodos descritos anteriormente, por ejemplo, haciendo de interfaz a través de una API.
Los parámetros en un conjunto de características pueden definir valores de características o parámetros de una o más distribuciones a través de valores de parámetros. Uno o más de los atributos pueden tener valores vectoriales, en cuyo caso hay un grupo de dos o más valores de atributos para cada tal atributo.
Se entenderá que, un conjunto de parámetros de distribuciones individuales a través de características respectivas puede verse como parámetros de la distribución conjunta (única) a través de características, que se define en términos de las distribuciones individuales. Por tanto, los parámetros pueden definir una distribución a través de todos los valores de atributos o, de manera equivalente, en ciertas circunstancias, una distribución para cada valor de atributo. La o cada distribución puede ser de una dimensión o más dependiendo de la dimensión del valor de atributo; en algunos ejemplos, se usa una distribución independiente para cada dimensión de cada valor de atributo, por ejemplo, una normal con una matriz de covarianza diagonal con una entrada diagonal para cada dimensión. El conjunto de parámetros puede comprender dos o más parámetros de una distribución de probabilidad de valor de atributo para cada atributo, por ejemplo, la media y la varianza (o desviación típica o precisión) para una distribución normal.
En algunos ejemplos, se usa una distribución normal con covarianza diagonal y una o más entradas diagonales por atributo para representar los atributos. En algunos ejemplos, la matriz de covarianza también puede tener entradas no diagonales, bloques diagonales o de otro modo, según sea el caso. La distribución normal puede ser una normal multivariante a través de todos los atributos, que puede considerarse una distribución conjunta de distribuciones normales individuales (uni o multivariantes) a través de conjuntos de uno o más atributos. De manera más general, la distribución de atributos puede ser una distribución conjunta (normal o de otra manera) a través de todos los atributos y puede separarse en distribuciones constituyentes individuales para conjuntos de uno o más atributos, por ejemplo, en una distribución constituyente por atributo.
Como se usa en el presente documento, una distribución de probabilidad es una función de valores de atributos de los atributos. En particular, es una función definida a través de un continuo de valores de atributos (a través de un dominio continuo), por ejemplo, el continuo de números reales o enteros, a diferencia de definirse a través de un dominio discreto, por ejemplo, definirse solo para un conjunto finito de ejemplos. Además, como se usa en el presente documento, la expresión "distribución de probabilidad" incluye todas las distribuciones que integran o suman una constante positiva a través de su dominio, típicamente, aunque no necesariamente, a la unidad.
Algunos de los ejemplos descritos se basan en una medida de similitud entre medios, tal como la distancia entre conjuntos de características. La distancia puede ser cualquier métrica adecuada, por ejemplo, una diferencia absoluta para atributos 1D, una distancia euclidiana para atributos vectoriales, la suma de la diferencia absoluta de cada componente para atributos vectoriales, etc. La medida de distancia o similitud puede incorporar pesos de atributos que determinan la contribución relativa de cada atributo al valor de la medida de distancia o similitud. En el caso de conjuntos de características que definen parámetros para distribuciones a través de valores de atributos, la distancia entre distribuciones se puede definir en términos de, por ejemplo, la distancia entre las respectivas medias o mediante una medida de distancia adecuada definida para distribuciones, por ejemplo, la distancia de Hellinger, o una métrica inducida por la norma L2, o cualquier otra medida adecuada que indique la similitud entre las distribuciones.
En algunos ejemplos, las unidades de medios están asociadas con una pluralidad de atributos y se calcula una medida de similitud combinando medidas de similitud de atributos individuales para al menos algunos de los atributos, para cada uno de los atributos. Por ejemplo, la medida del atributo de similitud puede ser una distancia o diferencia entre valores respectivos del atributo para las unidades de medios en cuestión. La medida de similitud puede basarse en listas precalculadas asociadas con las unidades de medios y relaciones de similitud de codificación, calculadas sobre la marcha, o una combinación de ambas, por ejemplo, una primera selección basada en listas precalculadas y seguida de una segunda selección del conjunto resultante se basa en una medida calculada sobre la marcha, por ejemplo, combinando medidas de atributos de similitud en una medida de similitud global usando una combinación ponderada tal como una suma ponderada.
Cuando los métodos empleen un proceso iterativo donde las unidades de medios en un conjunto siguiente se seleccionen basándose en las selecciones realizadas a partir de un conjunto en una iteración anterior, se entenderá que el siguiente conjunto puede no ser el siguiente inmediatamente en la iteración en la que se originó la entrada de usuario, sino que se puede emplear una planificación más general, por ejemplo, en la que el siguiente conjunto no se basa en la iteración inmediatamente anterior, sino en una anterior. Algunos ejemplos calculan factores de peso para ponderar la contribución de diferentes atributos en el cálculo de medidas/distancias de similitud. Estos pesos de atributos pueden calcularse antes o después de que se seleccione un conjunto siguiente para su presentación, por ejemplo, para su uso durante una iteración diferente.
En algunos ejemplos, calcular los pesos de atributos comprende calcular una cantidad de actualización para cada uno de los al menos algunos de los atributos usando los valores de atributos de las unidades de medios seleccionadas y al menos algunas de las unidades de medios restantes y combinando cada cantidad de actualización con un peso de atributo respectivo calculado previamente. Específicamente, en algunos ejemplos, la cantidad de actualización y el peso de atributo calculado previamente se combinan en una proporción basándose en una comparación de la selección actual y anterior del usuario. Incluso más específicamente, en algunos ejemplos, la proporción en la que se combinan las cantidades de actualización y los respectivos pesos de atributo previamente calculados se calcula promediando una diferencia entre una primera cantidad y una segunda cantidad, comprendiendo la primera cantidad una diferencia entre una distancia entre un respectivo valor de atributo de cada una de las al menos algunas unidades de medios restantes y un valor de atributo de la unidad de medios seleccionada y una distancia entre un valor de atributo respectivo de cada una de las al menos algunas unidades de medios restantes y un valor de atributo promedio de la unidad de medios seleccionada y las al menos algunas unidades de medios restantes y la segunda cantidad comprende un valor de la primera cantidad correspondiente a una iteración anterior.
En algunos ejemplos, se emplea una medida de la ganancia de información para calcular los pesos de atributos.
La medida de ganancia de información puede calcularse, en algunos ejemplos, usando una medida de divergencia de Kullback-Leibler (KL). En algunos de estos (u otros) ejemplos, la medida de ganancia de información se puede calcular entre una distribución de probabilidad a través de las intenciones del usuario después de la actualización como parte de una iteración del método y una distribución de probabilidad inicial antes de una primera actualización de la distribución de probabilidad (antes de una primera iteración).
En algunos ejemplos, donde se mantiene una distribución de probabilidad a través de las intenciones del usuario, los conjuntos de características (puntos en el espacio de atributos) se muestrean a partir de una distribución de muestreo. En algunos ejemplos, la distribución de muestreo y la distribución de probabilidad mantenida son iguales. En algunos ejemplos, una distribución intermedia usada para calcular la distribución mantenida se usa como distribución de muestreo, lo que puede ser particularmente ventajoso si la distribución intermedia contiene más información que la distribución mantenida y/o la distribución mantenida es una aproximación de la distribución intermedia. Por ejemplo, la distribución mantenida puede ser una función analítica definida por un número limitado de parámetros (por ejemplo, una distribución normal) y la distribución intermedia puede ser una función más complicada que no es práctica o posible de evaluar analíticamente, pero a partir de la cual, sin embargo, se pueden muestrear valores.
Los conjuntos muestreados se usan, en algunos ejemplos, para encontrar unidades de medios para presentar al usuario. Cuando los atributos se representan por una distribución de atributos (los conjuntos de características son parámetros de la distribución), algunos ejemplos usan los valores de la distribución de atributos evaluados en los puntos muestreados para proporcionar una puntuación a la unidad de medios correspondiente al conjunto de características. La puntuación se usa a continuación para seleccionar una o más unidades de medios. Por ejemplo, la unidad de medios se puede puntuar combinando los valores de distribución en los conjuntos de características muestreados usando una función adecuada, tal como el producto de los valores (correspondientes o relacionados con la probabilidad de generar los conjuntos de características muestreados la distribución de la unidad de medios); el máximo de los valores de distribución; la suma de los valores de distribución, etc. Más generalmente, el siguiente conjunto de unidades de medios puede seleccionarse usando medidas de similitud, tales como distancias, en las que se ponderan los valores de los atributos.
En algunos ejemplos, las unidades de medios se pueden seleccionar basándose en los puntos muestreados usando un enfoque de árbol que subdivide el espacio virtual en niveles sucesivamente más granulares y construye una base de datos relacional de unidades de medios, codificada por puntos virtuales. En algunos ejemplos, se encuentra de esta manera un conjunto de unidades de medios candidatas para un punto virtual dado y se pueden seleccionar una o más de las unidades de medios candidatas basándose en una clasificación en una medida de similitud o seleccionando la unidad de medios más similar / más cercana basándose en una medida respectiva.
En algunos ejemplos, en los que una o más unidades de medios seleccionadas y restantes se usan junto con una distribución de probabilidad para seleccionar el siguiente conjunto de unidades de medios, se ajustan uno o más parámetros de la distribución de probabilidad basándose en los conjuntos de características respectivos de la una o más unidades de medios seleccionadas y los respectivos conjuntos de características de las unidades de medios restantes. En algunos ejemplos, el ajuste es de mod que la distribución aumenta en el conjunto de características de la unidad de medios seleccionada y disminuye en los conjuntos de características de las no seleccionadas. En algunos ejemplos, se incrementa la probabilidad de muestrear una unidad de medios seleccionada de nuevo. Se recordará que, en algunos ejemplos, las unidades de medios seleccionadas y no seleccionadas se usan para actualizar una medida de pesos de atributo específicas y similares usadas en la medida.
En algunos ejemplos, los atributos de una unidad de medios representan atributos semánticos del elemento o elementos representados por la unidad de medios. Los valores de estos atributos semánticos pueden derivarse de entradas realizadas por los humanos a los que se presentan las unidades de medios. Las entradas pueden comprender comparaciones por pares entre unidades de medios, por ejemplo, proporcionando una indicación de qué unidades de medios tienen una clasificación más alta en el atributo en cuestión y/o a qué unidad de medios se aplican los atributos más o en mayor grado, por ejemplo, mediante la selección de una unidad de medios del par. Más generalmente, los valores de los atributos pueden derivarse de comparaciones por pares entre unidades de medios, ya sea basándose en la entrada humana o de otra manera. En algunos ejemplos, se deriva una puntuación en el atributo en cuestión para las unidades de medios a partir de un conjunto de comparaciones por pares, por ejemplo, usando algoritmos usados para puntuar la fuerza de los jugadores en el ajedrez u otros juegos donde las competiciones por pares conducen a un resultado binario (ganar/perder).
Ejemplos de atributos semánticos son: estilo (fresco, chic, formal, elegante, enérgico, lujoso...), estado de ánimo (alegre y triste, luminoso, veraniego, primaveral, apropiado para la noche), comodidad, calidez, impacto ambiental, forma (a cuadros, abierto, corte alto, corte bajo...), estampados (rayas, lunares, cuadros, complejidad...)...
Se entenderá que, mientras que en algunos ejemplos se pueden usar exclusivamente atributos semánticos, en algunos ejemplos se usan tanto atributos semánticos como no semánticos para definir el conjunto de características. En algunos ejemplos, solo se usan atributos no semánticos, por ejemplo, funciones de procesamiento de imágenes de bajo nivel o salidas de filtro, tales como filtros Gabor, filtros de contraste, características de histograma, etc.
En algunos ejemplos, el usuario puede proporcionar entrada usando una única acción de selección binaria. En este contexto, una selección binaria es una entrada de dos opciones, es decir, es una selección sí/no (se selecciona una unidad de medios o no), en particular, sin una entrada graduada de información acerca de la relevancia o cantidades similares. La acción puede ser una acción en pantalla, es decir, una acción que se lleva a cabo en la pantalla, ya sea moviendo un cursor o puntero mostrado por medio de un teclado u otro dispositivo de entrada, tal como un ratón, bola de mando, panel táctil, pantalla táctil, etc., o mediante un gesto táctil sencillo o múltiple en una pantalla sensible al tacto. Ejemplos de tales acciones sencillas son: hacer clic o hacer doble clic con, por ejemplo, un ratón, o gestos táctiles como tocar, tocar dos veces, tocar y mantener, deslizar, pellizcar, etc.
Los aspectos de la invención se extienden a un producto de programa informático que comprende instrucciones codificadas que, cuando se ejecutan en un procesador, implementan uno o más de los métodos expuestos anteriormente y, en particular, como se establece en cualquiera de los elementos enumerados anteriormente.
Los aspectos de la invención también se extienden a uno o más medios legibles por ordenador tangibles que llevan instrucciones codificadas que, cuando se ejecutan en un procesador, implementan uno o más de los métodos expuestos anteriormente y, en particular, como se establece en cualquiera de los elementos enumerados anteriormente.
Aspectos adicionales de la invención se extienden a un sistema que comprende una interfaz de comunicaciones y un procesador, en donde el procesador está configurado para hacer que el sistema implemente uno o más de los métodos establecidos anteriormente y, en particular, como se establece en cualquiera de los elementos enumerados anteriormente.
Más aspectos adicionales de la invención se extienden a un sistema que comprende medios para llevar a cabo uno o más de los métodos expuestos anteriormente y, en particular, como se expone en cualquiera de los elementos enumerados anteriormente.
Los aspectos también se extienden a un sistema que comprende medios respectivos para llevar a cabo cada etapa de uno o más de los métodos como se han expuesto anteriormente y, en particular, como se expone en cualquiera de los elementos enumerados anteriormente.
Breve descripción de los dibujos
Ahora se describirán ejemplos a modo de ejemplo para mejorar la comprensión de los aspectos de la invención, con referencia a los dibujos adjuntos, en los que:
La Figura 1 ilustra una vista general de alto nivel de la arquitectura de sistema;
La Figura 2 ilustra una vista general de sistema en términos de organización lógica de los procesos de creación, gestión, búsqueda y visualización de unidad de medios;
La Figura 3 ilustra un proceso de anotación de unidad de medios;
La Figura 4A ilustra una interfaz de usuario;
La Figura 4B ilustra un proceso de interfaz de usuario;
La Figura 5A ilustra una vista general de sistema en términos de organización lógica de un proceso de búsqueda y visualización de unidad de medios basado en comparaciones de similitud;
La Figura 5B ilustra una vista general de sistema en términos de organización lógica de un proceso de búsqueda y visualización de unidad de medios basado en el muestreo de una distribución de probabilidad;
La Figura 6 ilustra un proceso para guardar unidades de medios en una colección de búsqueda, en vista general; Las Figuras 7A, 7B y 7c ilustran el concepto de códigos postales para comparaciones de similitud;
La Figura 8 ilustra un proceso para encontrar unidades de medios vecinas más cercanas usando códigos postales; Las Figuras 9A, 9B y 9C ilustran una expansión de búsqueda durante el proceso de la Figura 8;
La Figura 10 ilustra, en vista general, un proceso para encontrar unidades de medios vecinas directas;
La Figura 11 ilustra, en pseudocódigo, un algoritmo de unidades de medios de vecinas directas;
La Figura 12 ilustra el concepto de vecinos directos;
La Figura 13 ilustra un proceso de actualización de los vecindarios de unidades de medios;
La Figura 14 ilustra un proceso para determinar las prioridades de poda;
La Figura 15 ilustra un proceso para asignar un nivel de profundidad de granularidad basado en la prioridad de poda;
La Figura 16 ilustra un ejemplo de la aplicación del proceso en la Figura 15;
La Figura 17 ilustra el uso de niveles de profundidad para cambiar la granularidad de las unidades de medios presentadas de una iteración a la siguiente;
La Figura 18 ilustra un proceso para calcular los pesos de prioridad para su uso en una medida ponderada de similitud;
La Figura 19 ilustra un modelo de proceso de Markov y las variables aleatorias correspondientes usadas para determinar las distribuciones de probabilidad a través de unos atributos objetivo del usuario;
La Figura 20 ilustra una instantánea de las distribuciones de probabilidad;
La Figura 21 ilustra un proceso para actualizar distribuciones de probabilidad y calcular una ganancia de información correspondiente para su uso en la determinación de ponderaciones de prioridad;
La Figura 22 ilustra cómo se usan las unidades de medios no seleccionadas para actualizar las distribuciones de probabilidad;
La Figura 23 ilustra un proceso para resolver puntos de atributos muestreados (virtuales) en unidades de medios respectivas;
La Figura 24 ilustra una estructura de datos para la asociación eficiente de unidades de medios con puntos de atributos virtuales;
La Figura 25 ilustra un proceso para generar la estructura de datos de la Figura 24;
La Figura 26 ilustra un proceso para usar la estructura de datos de la Figura 24 para encontrar unidades de medios; y
La Figura 27 ilustra un proceso para su uso en el proceso de la Figura 26 para determinar las unidades de medios para asociarlas con un punto de atributo virtual donde las unidades de medios representan atributos por medio de distribuciones de probabilidad.
Descripción detallada de ejemplos
1. Vista general
En resumen, la presente divulgación proporciona un sistema de búsqueda y un método que permite a un usuario buscar un elemento presentando iterativamente unidades de medios tales como imágenes que representan elementos al usuario y recibiendo entrada del usuario que comprende selecciones de usuario de las unidades de medios presentadas (incluyendo posiblemente la selección vacía). También, o como alternativa, las unidades de medios pueden comprender vídeos, música, texto, etc. Las características o atributos que le interesan a un usuario, por ejemplo, las características semánticas, se infieren de la interacción del usuario y las unidades de medios se presentan basándose en la similitud con las unidades de medios seleccionadas por el usuario, a través del muestreo de una distribución de probabilidad que describe la intención o los intereses del usuario, o una combinación de estos enfoques.
Para evitar dudas, la expresión "unidad de medios" se entiende como cualquier representación digital de un elemento, por ejemplo, una imagen (posiblemente animada) que contiene un elemento o representa visualmente el elemento, una descripción textual, un clip de audio o un clip de vídeo. El término "semántica" se usa en la forma en que se entiende típicamente en el campo de la ciencia informática, el diseño web, la recuperación de información, etc., para referirse a las características que son significativas para un observador humano, por ejemplo, el estilo, el tipo o el color de un elemento, a diferencia de las características de imagen de bajo nivel, tales como el color global de la imagen, un histograma de color, la textura u otros momentos de una imagen. Las características "semánticas" existen independientemente de su representación visual, auditiva u otra percepción de un elemento, pero, en su lugar, son características del elemento en sí, que son significativas para un ser humano. Una característica semántica describe qué es un elemento, en lugar de cómo se representa digitalmente el elemento (o la característica semántica), por ejemplo, en una imagen.
En la siguiente descripción, se considera la similitud entre las unidades de medios o, más exactamente, entre los elementos representados por las unidades de medios. La similitud puede medirse mediante una medida de similitud en los valores de los atributos y puede usarse cualquier medida adecuada para una representación dada de los atributos semánticos en los que se basa la búsqueda de acuerdo con los ejemplos y aplicaciones específicos. Por ejemplo, cuando la representación de los atributos semánticos está codificada en un espacio n-dimensional, una posible medida de similitud correspondiente sería una distancia euclidiana. Para una representación que incluye varios atributos codificados de esta manera, una suma ponderada de las distancias euclidianas correspondientes entre unidades de medios en el espacio de atributos respectivo sería una medida de similitud apropiada. Los pesos pueden representar útilmente cómo de interesantes son los atributos respectivos para el usuario.
Otro concepto en la siguiente descripción es el de estimar la intención del usuario usando una distribución de probabilidad en la colección de atributos semánticos que a continuación se actualiza sucesivamente con cada interacción del usuario. A través de todo este documento, una distribución de probabilidad es una función definida a través de un continuo de valores de atributos (a través de un dominio continuo), por ejemplo, el continuo de números reales, a diferencia de definirse a través de un dominio discreto, tal como un conjunto finito, por ejemplo, un conjunto finito de unidades de medios. Por ejemplo, cuando la representación de los atributos semánticos se codifica como puntos en un espacio de dimensión finita o incluso como distribuciones en un espacio de dimensión finita, la intención del usuario puede representarse como una distribución normal. En cada etapa, esta distribución se actualiza con la nueva información recibida. En la mayoría de las implementaciones de acuerdo con esta divulgación, esta actualización se realiza apelando al Teorema de Bayes y técnicas de aproximación apropiadas como se describe en detalle a continuación.
Con referencia a la Figura 1, unos posibles ejemplos de infraestructura para implementar la metodología de búsqueda descrita incluyen un servidor 102 y clientes 104, conectados a través de una red 106. Se apreciará que, esto es meramente un ejemplo ilustrativo y que las diversas tareas de procesamiento descritas a continuación pueden distribuirse entre el servidor 102 y uno o más de los clientes 104 de cualquier manera conocida por los expertos en la materia. Ni el servidor 102 ni los clientes 104 están limitados a distintas unidades físicas. Por ejemplo, el servidor 102 puede implementarse mediante una pluralidad de máquinas de servidor individuales, por ejemplo, una granja de servidores, y puede incluir diversas formas de almacenamiento, tales como las que se pueden proporcionar en un centro de datos. Los clientes 104 pueden implementarse usando dispositivos informáticos de propósito general tales como ordenadores personales, ordenadores portátiles, portátiles, ordenadores de tableta, teléfonos inteligentes o cualquier otro dispositivo informático móvil, estacionario, llevable u otro dispositivo informático. Los clientes 104 pueden implementar alguna funcionalidad localmente usando interfaces de programa de aplicación (API) adecuadas, por ejemplo, proporcionadas por el servidor 102. Como alternativa, los clientes pueden proporcionar solo una implementación de navegador que permita acceder a la metodología de búsqueda descrita en este punto como un servicio web. Típicamente, la red 106 es Internet, con comunicaciones implementadas usando protocolos web convencionales tales como HTTP o HTTPS, aunque algunos ejemplos usan diferentes implementaciones de red o protocolo. Se entenderá que, los clientes 104 pueden implementar una cualquiera o todas las diversas interfaces que se describen a continuación (por ejemplo, la interfaz del anotador, la interfaz de búsqueda de usuario, etc.).
2. Vista general del sistema
Con referencia a la Figura 2, los métodos desvelados se pueden descomponer en dos componentes, la creación y gestión de unidad de medios 202 y una búsqueda y visualización de unidad de medios 204. Este documento presentará varios ejemplos diferentes de búsqueda y visualización de unidad de medios 204 que, en cada caso, implicarán, como se describe en detalle a continuación, diferentes implementaciones de algunas etapas en la creación y gestión de unidad de medios 202.
2.1. Creación y gestión de unidad de medios 202
Con respecto a la creación y gestión de unidad de medios 202, la creación de unidad de medios comienza con el envío de una unidad de medios 206 en la etapa 210. Por ejemplo, la unidad de medios 206 puede ser una imagen, junto con metadatos de imagen 208, tal como un identificador de recursos universal para la imagen, metadatos de origen que incluyen metadatos del elemento o elementos que representan las unidades de medios, etc. Cuando el sistema permite unidades de medios de diferentes categorías para almacenarse en una y la misma base de datos, los metadatos también pueden incluir un descriptor de la categoría (o tema) de la unidad de medios o lo que representa en cuestión, por ejemplo, "zapato", "automóvil", "hongo", etc. Si, por ejemplo, una unidad de medios representa una imagen individual, esa imagen puede representar múltiples elementos, cada uno de los cuales estará representado por las respectivas unidades de medios. Cada unidad de medios derivada de este tipo se anota con diferentes conjuntos respectivos de anotaciones, como se describe en detalle a continuación. Las unidades de medios respectivas pueden identificar una porción de la imagen para resaltarla ante un usuario cuando la imagen se muestra en asociación con la unidad de medios respectiva, o para mostrar únicamente la porción. Las unidades de medios pueden representar diferentes aspectos del mismo elemento subyacente para cualquier tipo de elemento subyacente (clips de vídeo, clips de audio, texto...). En el ejemplo del elemento subyacente de una unidad de medios que es una imagen, la unidad de medios puede estar asociada con un mapa de bits de la porción de la imagen que se va a visualizar. El mapa de bits puede mostrarse en lugar de la imagen como una representación de la unidad de medios dada.
Las unidades de medios pueden enviarse desde una diversidad de fuentes, tales como API, extracción de imágenes de páginas web o envío de imágenes por usuarios u otros terceros.
En la etapa 212 se determina si la unidad de medios enviada es válida y si los metadatos son válidos. Si la unidad de medios o los metadatos no son válidos, la imagen se rechaza en la etapa 214; de lo contrario, el proceso continúa con una comprobación de unicidad de medios en la etapa 216. Brevemente, en la etapa 216, si el URI de la imagen ya está en el sistema, se comprueba si la imagen proviene de una fuente confiable (por ejemplo, una fuente certificada o asociada) y, en caso afirmativo, se actualiza la unidad de medios existente (incluyendo la anotación de su nueva fuente) o, si la unidad de medios enviada representa otra categoría, se crea una nueva unidad de medios que representa el mismo elemento. Si el URI aún no está en el sistema, la imagen se compara con las imágenes que ya están en el sistema usando una función de troceo de imagen como se conoce en la técnica. Si esto indica que la imagen es una imagen nueva, la imagen nueva se procesa adicionalmente como se describe a continuación. De lo contrario, la imagen se trata como una imagen nueva con un URI existente que ya está en el sistema. Si la similitud indicada por las funciones de troceo es demasiado cercana para determinarla automáticamente, se puede usar la validación humana en algunos ejemplos para decidir si tratar la imagen como una imagen nueva o como una imagen que ya existe en el sistema.
Si la comprobación de unicidad de la unidad de medios en la etapa 216 determina que la imagen es única y nueva para el sistema, se añade como una nueva unidad de medios a una base de datos 218 de unidades de medios incompletas y el proceso continúa a la etapa 220, en la que se recopila la información de atributos. La etapa 220 se describe en detalle a continuación, pero, como ejemplo, algunas implementaciones recopilan datos de anotación comparativa para cada atributo y usan sistemas de puntuación bien conocidos tales como ELO. (Elo, Arpad (1978).
The Rating of Chessplayers, Past and Present. Arco. ISBN 0-668-04721-6.) o alternativas bayesianas existentes tales como el algoritmo Glicko (Glickman, Mark E., "Parameter estimation in large dynamic paired comparison experiments" (1999) Applied Statistics, 48, 377-394) para inferir información válida de todas las unidades de medios para un atributo dado a partir de la anotación comparativa proporcionada.
Para mayor claridad, es útil tener en cuenta que los algoritmos como Glicko o ELO tienen su origen en tratar de evaluar las fortalezas de los jugadores en ciertos juegos de un solo jugador (como el ajedrez) a partir del resultado de una colección de partidas jugadas únicamente. En la aplicación descrita anteriormente, no se consideran los juegos ni las fortalezas de los jugadores. Sin embargo, se puede considerar una anotación de atributo, es decir, la información de que una unidad de medios se consideraría más alta en un cierto atributo que otra, como similar al resultado de un juego. Tras aplicar los algoritmos a toda la información comparativa (por ejemplo, un anotador que clasifica la unidad de medios 1 más alta en un atributo que una unidad de medios de comparación 2) vistos como resultados de juegos de esa manera, los resultados se consideran valores de atributos consistentes con la anotación comparativa observada. En algunas implementaciones, se deduce la incertidumbre asociada de estos valores relativos, en efecto, proporcionando distribuciones de probabilidad del valor numérico de cada unidad de medios con respecto al atributo dado.
2.2. Conjuntos de características y colecciones de búsqueda
En todas las implementaciones, cada unidad de medios está representada de manera única por un conjunto finito de valores que describen un conjunto de valores de atributos o un conjunto de parámetros que, a su vez, describen una distribución de probabilidad a través de todos los conjuntos posibles de valores de atributos, por tanto, asignando cuantitativamente las probabilidades respectivas a todos los posibles conjuntos de valores de atributos que puede tomar la unidad de medios en cuestión. Un conjunto de valores de atributos se denomina a continuación valor de espacio de atributos (ASV) y corresponde a un punto en el espacio de atributos (el conjunto de todos los ASV).
Las unidades de medios para las que se han recopilado valores de atributos y/u otra información en la etapa 220 se almacenan luego en una base de datos maestra de unidad de medios (MUM) 222, que asocia cada unidad de medios 210 con los metadatos de unidad de medios 208, incluyendo los valores para cada atributo recopilado en la etapa 220. La etapa posterior 220, un proceso 230 crea una colección de búsqueda 233 a partir de unidades de medios en la MUM.
Una colección de búsqueda 233 es una base de datos de un conjunto de unidades de medios que interactúan con un componente de extremo trasero 238 de una cierta implementación de la búsqueda y visualización de unidad de medios 204 que están todas anotadas para los mismos atributos. Por ejemplo, si las unidades de medios están representadas por características de conjuntos de valores de atributos, algunas colecciones de búsqueda 233 consisten en una base de datos de estos valores de atributos. Otro ejemplo de una colección de búsqueda 233 es una base de datos de relaciones de vecindad almacenadas para cada atributo como se describe a continuación, o una combinación de estas. Cada implementación de búsqueda y visualización de unidad de medios 204 descrita a continuación permite que se busquen las unidades de medios en una colección de búsqueda 233 correspondiente. La creación de la colección de búsqueda comprende ejecutar una consulta en la MUM para extraer aquellas unidades de medios que cumplan con estos criterios. La colección de búsqueda puede procesarse adicionalmente, en algunas implementaciones, como se describe a continuación.
En algunos ejemplos, se pueden crear muchas instancias diferentes de colecciones de búsqueda 233 a partir de la base de datos de MUM 222. En implementaciones donde el número de unidades de medios es relativamente pequeño, la base de datos de colección de búsqueda 233 se almacena en la memoria de acceso aleatorio (RAM) de un ordenador con el fin de realizar los cálculos necesarios adicionales por el componente de extremo trasero 238. Para conjuntos más grandes de unidades de medios, en otros ejemplos, la base de datos de colección de búsqueda 233 está alojada en una base de datos separada con una arquitectura cliente-servidor que permite un procesamiento eficiente de los datos. Varios ejemplos diferentes de colecciones de búsqueda 233 y el proceso asociado 230 se describen a continuación en el contexto de diferentes ejemplos de la búsqueda y visualización de unidad de medios 204.
En algunos ejemplos, las colecciones de búsqueda 233 se reconstruyen mediante el proceso 230 múltiples al día desde la base de datos maestra de unidad de medios 222 y se envían a los servidores de navegación de todo el mundo para el acceso del cliente (véase la geolocalización a continuación). Esto permite que las unidades de medios recientes estén disponibles y significa que los servidores para navegar pueden ser de solo lectura.
El proceso 230 también se puede activar añadiendo nueva información de atributos en la etapa 220 (por ejemplo, añadiendo una nueva unidad de medios e información de anotación o un nuevo conjunto de anotaciones a lo largo de un atributo dado para pares de unidades de medios existentes en la base de datos de MUM 222, describiendo cada anotación cuál las dos unidades de medios debe obtener una puntuación más alta para ese atributo dado) con respecto a las unidades de medios nuevas o existentes en la base de datos de MUM 222.
El proceso 230 completa la configuración y el mantenimiento de la base de datos maestra de la unidad de medios 222 y la colección de búsqueda 233, seguido de la replicación y distribución de los datos resultantes a los centros de datos u otros concentradores globales para la distribución local en la etapa 232.
Los procesos 230 y la etapa 232 deben repetirse cuando se añaden nuevas unidades de medios 210 a la base de datos maestra de unidades de medios 222, cuando se añaden nuevos atributos a una unidad de medios 210 en la etapa 234 o cuando se añade información de anotación comparativa adicional entre unidades de medios existentes. En algunas implementaciones, este proceso se ejecuta sobre la marcha, mientras que, en otras implementaciones, las unidades de medios que se guardarán en el espacio de atributos y se geolocalizarán se recopilan y procesan por lotes, por ejemplo, en momentos en los que se espera poco tráfico en el sistema.
2.3. Búsqueda y visualización de unidad de medios 204
Diversos ejemplos de la búsqueda y visualización de unidad de medios 204, que muestran y buscan un elemento que un usuario está buscando proporcionando la entrada de usuario, se analizan en detalle adicional a continuación. Los ejemplos de este proceso se descomponen en los mismos tres componentes lógicos o nocionales. Un componente de extremo trasero 238 interactúa con la colección de búsqueda 233 de la base de datos de MUM 222 para proporcionar unidades de medios y sus metadatos a un componente de interfaz de usuario (IU) 236, así como recibir de un componente de modelo 237 ciertas salidas que se usan para hacer esta selección. En algunos ejemplos, el componente de extremo trasero 238 también recibe la entrada de usuario desde el componente de interfaz de usuario 236. En algunas implementaciones, el componente de modelo 237 proporciona información a un componente de memoria de estado 239 (descrito a continuación con referencia a la Figura 5b) y lee el contenido de este componente en su próxima llamada. La función del componente de extremo trasero 238 en diferentes implementaciones de búsqueda y visualización de unidad de medios 204 se describe en detalle a continuación.
El componente de IU 236 recibe los metadatos de la unidad de medios desde el componente de extremo trasero 238 y muestra las unidades de medios. Tras recibir la entrada por un usuario, proporciona metadatos de unidad de medios para unidades de medios seleccionadas y no seleccionadas al componente de modelo 237 y/o al componente de extremo trasero 238. En muchos ejemplos de búsqueda y visualización de unidad de medios 204, la implementación del componente de IU 236 es sustancialmente la misma y sigue una descripción detallada a continuación.
Brevemente, un dispositivo cliente 104 muestra el componente IU 236 (a través de una interfaz de navegador, por ejemplo) y accede a los datos geolocalizados y replicados en el servidor 102 a través de la red 106 para descargar unidades de medios y sus metadatos y cargar la entrada de usuario.
El componente de modelo 237 toma como datos de entrada correspondientes a la entrada de usuario (que comprenden metadatos de las unidades de medios seleccionadas, no seleccionadas o ambas) del componente de IU 236, así como información de estado de iteraciones anteriores (tales como unidades de medios previamente seleccionadas, o, como en algunas implementaciones a continuación, una descripción de una distribución de probabilidad anterior que resume la suma total de toda la información conseguida en etapas anteriores) de la memoria de estado 239 y genera una salida para el componente de extremo trasero 238. En algunas implementaciones, esta salida consistirá en valores numéricos que, como se describe a continuación, representan una estimación del interés del usuario en ciertos atributos. El componente de extremo trasero 238 elige el siguiente conjunto de unidades de medios para proporcionar al componente de IU basándose en estos valores y el conocimiento de la entrada de usuario.
En otras implementaciones, la salida del componente de modelo 237 consiste en puntos de muestra de conjuntos de valores de atributos que son los atributos comunes usados para describir el conjunto de características de todas las unidades de medios en la colección de búsqueda 233 o tanto puntos de muestra como valores numéricos como se ha descrito anteriormente. Estos puntos de muestra se denominan en el presente documento puntos virtuales. El componente de modelo 237 recomienda unidades de medios correspondientes a estos puntos virtuales para su visualización al usuario. En estas implementaciones, el componente de modelo 237 también guarda información elaborada en el componente de memoria de estado 239 (tal como la descripción de una distribución de probabilidad que el modelo ha inferido dados los nuevos datos) para su propio uso cuando se solicita a continuación. El componente de extremo trasero 238 tiene la tarea de encontrar unidades de medios que representen mejor estos puntos virtuales usando también los valores numéricos si se proporcionan y recomendar estas unidades de medios al componente de IU para que se muestren al usuario. Varias de tales soluciones se describen a continuación en detalle.
Para evitar dudas, cuando ciertas etapas o preprocesos están presentes agrupados en ciertos componentes o funciones lógicos o nocionales, esto se hace por motivos de la claridad de la presentación, sin limitación de una implementación subyacente de estas funciones en software o hardware (aunque tal implementación puede, por supuesto, seguir estas agrupaciones). A continuación, se incluye una descripción detallada de los asuntos resumidos anteriormente.
3. Colección de atributos
Con referencia a la Figura 3, ahora se describe la colección de conjuntos de características que describen unidades de medios para las unidades de medios 210 en la base de datos 218 de unidades de medios incompletas. Una pluralidad de anotadores 302 (cada uno de los cuales puede ser un anotador humano 304 que interactúa con una función de anotación implementada en el servidor 102 a través del cliente 104 o un anotador de ordenador 306) se presentan con unidades de medios incompletas en una interfaz de anotación en el cliente 104 (por ejemplo, un interfaz de usuario tal como una página web en el caso de anotadores humanos). Cada uno de estos anotadores introduce directamente los valores de conjunto de características correspondientes de los atributos presentados para su anotación por la interfaz de anotación en la etapa 308 o introduce información comparativa de dos o más unidades de medios dadas a lo largo de un atributo dado por un anotador humano, por ejemplo, seleccionando una unidad de medios para ser percibida como clasificada más alta en el atributo dado.
En algunas implementaciones, la información de conjunto de características se deriva del uso de técnicas de aprendizaje automático, tal como el uso de activaciones de neuronas (es decir, valores de unidades en la red) de una o más capas de una o más redes neuronales artificiales. En algunas implementaciones, se siguen las siguientes cuatro etapas generales para las unidades de medios que representan imágenes. En primer lugar, las imágenes se redimensionan a un tamaño convencional.
En segundo lugar, estas imágenes de tamaño convencional se usan a continuación como entradas en una red neuronal artificial de clasificación de imágenes preentrenada y, a continuación, se calculan las activaciones de neuronas en todas las capas a través de una etapa de alimentación directa. A continuación, el sistema almacena activaciones de neuronas predeterminadas para su procesamiento adicional para cada imagen. En algunas implementaciones, las activaciones de neuronas que se almacenan son aquellas de todas las neuronas en una capa particular de la red neuronal artificial, por ejemplo, una capa oculta. Por ejemplo, en una red neuronal artificial clasificadora, una capa de entrada recibe entradas derivadas de una imagen (por ejemplo, valores de píxeles) y una capa de salida informa una clasificación de la imagen en términos de activación de la capa de salida. Típicamente, se denominan capas visibles. En la mayoría de las redes neuronales artificiales, estas capas visibles están conectadas entre sí a través de una o más capas ocultas de neuronas, como es bien conocido.
En una tercera etapa, el sistema normaliza las activaciones almacenadas y aplica una forma de reducción de dimensionalidad en una cuarta etapa, si el número de activaciones almacenadas es mayor que el número deseado de dimensiones del conjunto de características. En algunas implementaciones, las etapas descritas anteriormente pueden intercalarse para aumentar los datos. Por ejemplo, en algunas implementaciones, las activaciones guardadas en la etapa dos se calculan para cada imagen redimensionada y alguna transformación simétrica de la misma (por ejemplo, cada imagen que se puede obtener mediante rotaciones de 90 grados y reflexión - en términos matemáticos, la órbita bajo el grupo diaédrico que actúa sobre la imagen) y las activaciones guardadas en la etapa dos para cada imagen se calculan como los promedios de todas las activaciones registradas para las versiones transformadas de esa imagen. En resumen, de acuerdo con el proceso descrito anteriormente, el sistema produce un conjunto de características para cada imagen como un conjunto de activaciones de una red neuronal cuando la red neuronal artificial se presenta con cada imagen, en algunas implementaciones, como una versión promediada / de dimensionalidad reducida de las activaciones, como se ha descrito anteriormente.
En algunas implementaciones, redimensionar la imagen se realiza usando un relleno blanco en el lado más corto para obtener una imagen cuadrada y, a continuación, usando técnicas de redimensionamiento convencionales para obtener una imagen cuadrada convencional que se puede usar como una entrada a una red neuronal artificial. Se pueden emplear otras técnicas de redimensionamiento, por ejemplo, en algunas implementaciones, se emplea un recorte sencillo.
En algunas implementaciones, la red neuronal artificial es una red neuronal artificial supervisada. Específicamente, la red neuronal artificial supervisada puede haber sido entrenada para clasificar imágenes usando pares imagen/clase creados usando clasificaciones aplicadas a las imágenes por uno o más observadores humanos. Estos datos de entrenamiento pueden tomar la forma de pares de activaciones de capa de entrada (imagen) y activación de capa de salida (clasificación). Las clasificaciones pueden estar codificadas en la capa de salida por un estado activado para una neurona correspondiente a la clasificación (capa de salida binaria) o una activación por encima de un umbral (capa de salida con valor real).
En algunas implementaciones, la red neuronal artificial usada es AlexNet [https://github.com/BVLC/caffe/tree/master/models/bvlc alexnetl, implementada en el entorno del café. Véase también "ImageNet Classification with Deep Convolutional Neural Networks", Alex Krizhevsky et al, Advances in Neural Information Processing Systems 25, páginas 1097— 1105, 2012, Curran Associates, Inc, disponible en http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf.AlexNet forma parte de una clase particular de redes neuronales artificiales, llamadas redes neuronales convolucionales, en las que, en algunas capas, los parámetros de peso están "atados" (es decir, obligados a ser iguales reduciendo de esta manera la complejidad de una red de este tipo), como se describe en [https://en.wikipedia.org/wiki/Convolutional_neural_network]. En algunas implementaciones que usan AlexNet, las imágenes de entrada se redimensionan como se describe en imágenes de entrada cuadradas de 256 por 256 y la capa de activación que se guarda es la última capa de activación completamente conectada de 4096 neuronas que alimentan la capa de salida fuerte de 1000 neuronas.
En algunas implementaciones, la normalización de las activaciones guardadas se realiza utilizando la norma L2 (es decir, para cada imagen, el vector de números que componen la capa de activación guardada se multiplica por un escalar, de modo que la raíz de la suma de los cuadrados de estos números es igual a uno). En algunas implementaciones, la normalización es trivial en el sentido de que no afecta al número de salida de la capa de activación guardada para cada imagen, es decir, se omite la normalización. En alguna implementación, la normalización se realiza utilizando la norma L1, es decir, para cada imagen, el vector de números guardados de las capas de activación se multiplica escalarmente para que la suma de los valores absolutos de los números resultantes sea igual a uno.
En algunas implementaciones, la reducción de la dimensionalidad se realiza a través del análisis de componentes principales [https://en.wikipedia.org/wiki/Principal component analysis], pero podría emplearse cualquier otra técnica de aprendizaje automático conocida en la técnica para proyectar un conjunto de puntos o vector de alta dimensión a un subespacio o cualquier otra variedad para reducir la dimensionalidad del conjunto / vector.
En otros ejemplos, se muestra a un anotador humano dos imágenes y se le pregunta cuál, en su opinión, obtendría una puntuación más alta en un atributo dado.
Por ejemplo, en primer lugar, se muestra a un usuario una serie de imágenes preguntándole si se aplica un cierto atributo y, a continuación, restringiendo la atención solo a aquellas donde los usuarios encontraron que sí.
En la etapa 310, se recopila toda la información de entrada de la etapa 308. Para evitar dudas, esta información puede ser valores numéricos que describen un conjunto de características para una colección de atributos o información comparativa o ambos, como se ha descrito anteriormente. En la etapa 311, los datos anotados se procesan y transforman en un valor para el atributo en cuestión para el conjunto de características de la unidad de medios dada, por ejemplo, como se ha descrito anteriormente. En algunas implementaciones, este valor es un valor numérico para el atributo, en otras, será una distribución de probabilidad que describe los posibles valores numéricos del valor del atributo de la unidad de medios en la colección de búsqueda 233 dada. En implementaciones donde la etapa 311 se ocupa de datos de anotación de valores numéricos, la salida es de nuevo un valor numérico que puede escalarse a un intervalo de normalización predeterminado. En algunas implementaciones, los valores de atributos de unidad de medios numéricos se escalan para que se encuentren en el intervalo cerrado de valores reales de -1 a 1.
Cuando la etapa 311 se ocupa de un conjunto de anotaciones comparativas para un atributo dado, se emplean algoritmos convencionales para determinar un valor numérico o una distribución de ese valor de cada unidad de medios basándose en estas anotaciones. Algunas implementaciones utilizan el algoritmo de puntuación ELO. Otras implementaciones usan el algoritmo Glicko, una variante bayesiana de ELO. Como se describió anteriormente, ambos de estos algoritmos se concibieron originalmente para inferir distribuciones de las fortalezas de los jugadores en un juego de dos jugadores a partir del resultado de un número dado de juegos únicamente. En algunas de las implementaciones desveladas, estos algoritmos se aplican a anotaciones en lugar de juegos y las distribuciones resultantes son distribuciones de valores numéricos consistentes con las anotaciones comparativas dadas. En la etapa 312, los valores de atributos resultantes se recopilan y comparan para decidir si estos valores son aceptables o no. En los ejemplos en los que la etapa 311 devuelve distribuciones de probabilidad para la estimación de los atributos de la unidad de medios, la etapa 312 se puede realizar utilizando las varianzas de estas distribuciones, por ejemplo, para asegurarse de que estas varianzas no sean demasiado grandes con respecto al intervalo de valores medios para demasiadas unidades de medios (de lo contrario, esto significaría que el sistema es demasiado inseguro dadas las anotaciones hasta el momento para inferir una estimación de fuerza razonable). En los ejemplos en los que la etapa 311 devuelve valores únicos, la etapa 312 implica comprobar que se ha recibido un número mínimo de valores, que la desviación típica, la varianza u otra medida de variabilidad de los valores está dentro de los límites aceptados, la forma de la distribución de valores, cualquier otra medida estadística de la calidad de los datos o cualquier combinación de uno o más de los anteriores. Si la etapa 311 determina que los resultados de la etapa 312 no fueron satisfactorios, los datos de anotación sin procesar se almacenan para su uso adicional y las unidades de medios se devuelven al almacén de unidades de medios aceptadas incompletas 218. Si la etapa 312 encuentra aceptable la salida de la etapa 311, a continuación, en la etapa 320, la unidad o unidades de medios en cuestión se almacenan en la base de datos de MUM 222 junto con los valores de atributos calculados en la etapa 311.
Si bien anteriormente se han descrito por separado diversos procesos para derivar anotaciones de unidades de medios, se entenderá que se puede emplear una combinación de diversos procesos, derivando anotaciones para algunos atributos con un proceso y para otros con otro. Por ejemplo, los atributos que se han anotado con anotaciones de aprendizaje automático (por ejemplo, usando una red neuronal artificial como se ha descrito anteriormente) se pueden combinar en la misma implementación con aquellos cuyos valores se derivan directamente de la entrada humana (por ejemplo, usando la entrada directa de un valor de atributo, tal como en una escala definida y/o entradas que representan comparaciones por pares y su posterior análisis).
4. El componente de interfaz de usuario 236
Antes de describir diferentes ejemplos del modelo 237 y el componente de extremo trasero 238, los componentes de la búsqueda y visualización de unidad de medios 204, así como los ejemplos asociados de la etapa 230 y la colección de búsqueda subyacente 233, se describe el componente de IU 236, que es común a todos estos ejemplos. Con referencia a la Figura 4a, el cliente 104 muestra una pantalla 401 con una disposición de unidades de medios. En general, el número de unidades de medios mostradas es arbitrario y difiere de un caso a otro. Las imágenes son de diferentes tamaños y la visualización se muestra en mosaico de forma regular o irregular con estas unidades. En algunos ejemplos, se muestra una barra de historial que muestra la entrada de usuario dada en el pasado. En algún ejemplo de la pantalla 401, esta barra de historial está en la parte superior de la pantalla, pero, en otras implementaciones, se puede encontrar en uno de los marcos en el lado o en la parte inferior. El usuario puede ver una versión ampliada de la unidad de medios con una sola acción (se usa un clic del ratón o una pestaña en un dispositivo de pantalla táctil, etc.) para su inspección y a continuación puede elegir una de las siguientes tres acciones, cada una una sola acción, tal como un clic, un toque, etc., como se ha descrito anteriormente: Descartar la imagen elegida y volver a la pantalla anterior; seleccione la unidad de medios para la próxima iteración; o ver información de metadatos adicional de la unidad de medios. En otra implementación donde la entrada de usuario consiste en, como máximo, una selección, la entrada de usuario se recibe a través de una sola acción, tal como un clic del ratón (o un toque en un dispositivo portátil tal como una libreta electrónica o un teléfono) en una unidad de medios mostrada o en un icono de selección vacío (tal como una función "mostrar más").
Ahora se describe un flujo de trabajo del componente de IU 236 con referencia a la Figura 4b. En la etapa 402, el componente de IU 236 recibe un número de unidades de medios y sus metadatos del componente de extremo trasero 238. El componente de extremo trasero 238 recupera esta información de la colección de búsqueda 233 en caso de que todos los metadatos de la unidad de medios estén almacenados allí, o de ambas, o de la colección de búsqueda 233.
En la etapa 404, el componente de IU muestra a continuación unidades de medios, en algunas implementaciones, las unidades de medios recibidas como se describe con referencia a la pantalla 401 anterior y, en la etapa 406, se procesa la entrada de usuario. Si el usuario solicita ver información adicional (por ejemplo, producto), a continuación, esta información se muestra en la etapa 408. Si el usuario, a través de una acción, selecciona ninguna, una o más de las unidades de medios dadas, esas unidades de medios junto con sus metadatos, así como la colección de unidades de medios no seleccionadas junto con sus metadatos, se proporcionan al componente de modelo 237. El componente de modelo 237 genera una salida para el componente de extremo trasero 238 de acuerdo con la búsqueda y visualización de la unidad de medios relevante 204. El componente de extremo trasero 238, a continuación, a su vez, inicia de nuevo la etapa 402 con una siguiente iteración de su salida basada en la entrada recibida del componente de modelo 237, como se ha descrito anteriormente. Por supuesto, son posibles otros flujos de información entre los tres componentes 236, 237 y 238. La ventaja de la disposición anterior es que puede atender usos muy generales de la búsqueda y visualización de unidad de medios 204. Por ejemplo, el componente de IU 236 puede decidir presentar solo un subconjunto o, de hecho, incluso un conjunto diferente del conjunto de unidades de medios sugerido por el componente de extremo trasero 238 al usuario. La entrada de usuario proporcionada por el componente de IU 236 al componente de modelo 237 no puede por lo tanto deducirse conociendo los identificadores de la selección realizada por el usuario, si los hubiera. Como ejemplo práctico, si el proceso de búsqueda y visualización de la unidad de medios es un navegador de zapatos y el componente de IU 236 interactúa con los otros componentes 237 y 238 a través de una interfaz de programación de aplicación (API), el navegador de zapatos puede filtrar previamente los resultados sugeridos por el componente de extremo trasero 238 antes de mostrárselo a sus usuarios basándose en los criterios que el operador del componente de IU determina independientemente del proceso de búsqueda y visualización de la unidad de medios descrito en este punto. Uno de tales criterios serían las ofertas especiales improvisadas. El componente de IU 236 solo muestra las ofertas especiales que devolvió el componente de extremo trasero 238 y la siguiente llamada al componente de modelo 237 (a través de la API) necesitará proporcionar tanto la información de las unidades de medios que se mostraron como la entrada de usuario. Otro ejemplo que usa esta estructura de API de navegador de zapatos es que el componente de IU 236 tiene la tarea de mostrar ciertas unidades de medios relacionadas predeterminadas al usuario para cada unidad de medios sugerida que proporciona el componente de extremo trasero 238. Por ejemplo, para cada zapato existe una lista de otros zapatos que los clientes encontraron relevantes para cada zapato y el operador del componente de IU 236 añade estos para cada zapato sugerido para mostrar desde el componente de extremo trasero 238. En este caso, se muestra al usuario un conjunto ampliado de las unidades de medios además del proporcionado al componente de IU 236 por el componente de extremo trasero 238 del que se debe informar al componente de modelo 237 en la etapa siguiente.
5. Implementaciones del componente de modelo y de extremo trasero
Con referencia a la Figura 5a, ahora se describe una descripción de diversas implementaciones del componente de modelo 237, el componente de extremo trasero asociado 238, la colección de búsqueda 233 correspondiente y la implementación correspondiente de la etapa 230. Los supuestos para todas estas implementaciones son los siguientes. A menos que se indique lo contrario, se supone que todas las unidades de medios en la colección de búsqueda 233 tienen valores numéricos definidos para los mismos atributos. Además, todas estas implementaciones comparten la propiedad de que el componente de modelo 237 tendrá como una salida un valor numérico para cada atributo representado en la colección de búsqueda 233. Se observa que, la descripción incluye las implementaciones triviales del componente 237, en concreto, cualquier componente que devuelve el mismo valor constante distinto de cero para cada atributo. Estos valores se denominan en el presente documento pesos de prioridad y se puede pensar que dan una cuantificación numérica de cómo de importante es para el usuario el atributo correspondiente. Esto implica que el componente de extremo trasero 238 junto con la colección de búsqueda 233 tiene la tarea de identificar nuevas unidades de medios para mostrar al usuario basándose en estos pesos de prioridad.
A continuación, se describen algunas implementaciones de la colección de búsqueda 233 en la configuración descrita en la Figura 5a. Las siguientes dos suposiciones adicionales se mantienen en esta implementación. En primer lugar, la entrada de usuario comprende al menos una unidad de medios seleccionada por el usuario. En segundo lugar, que el conjunto de características para cada unidad de medios describe valores de atributos en ASV (es decir, puntos) y no distribuciones a través de ASV. La colección de búsqueda 233 comprende una estratificación tanto de unidades de medios como relaciones de vecindad entre unidades de medios indexadas por una secuencia finita de números enteros, organizada en niveles de granularidad como se describe a continuación. Las unidades de medios y las relaciones de vecindad en un nivel entero dado se denominan como un nivel de profundidad del espacio de atributos. Se puede considerar que estos niveles de profundidad indican cómo de granulares son las relaciones de vecindad en un nivel de profundidad dado. Por ejemplo, se puede pensar que las unidades de medios en un nivel de profundidad bajo tienen vecinos que tienen distancias promedio grandes entre sí en comparación con aquellas en un nivel de profundidad alto. La motivación para una disposición de este tipo proviene de la implementación de este componente de modelo 237 que se describe a continuación, que hace deseable poder recuperar unidades de medios en ciertas etapas que son similares entre sí con un cierto nivel de precisión (o granularidad).
Como se describe a continuación, una vez que una unidad de medios es parte de un cierto nivel de profundidad, aparecerá en todos los niveles de profundidad superiores y todas las unidades de medios ocurren en al menos un nivel de profundidad. A partir de la última declaración, el nivel de profundidad mínimo de una unidad de medios se puede definir como el nivel de profundidad más bajo en el que ocurre. Esta noción será importante para el componente de extremo trasero 238 adjunto a esta colección de búsqueda 233. La colección de búsqueda 233 descrita en este punto puede implementarse en una base de datos o en una secuencia de bases de datos (una para cada nivel de profundidad). Algunas implementaciones usan una base de datos postgreSQL.
Para describir esta implementación de la colección de búsqueda 233, se describe una construcción precisa en el proceso 230.
5.1. Implementación geométrica del componente de extremo trasero 238 Vista general
Con referencia a la Figura 6, la colección de unidades de medios en la base de datos de MUM 222 que se guardan en la colección de búsqueda 233 en la etapa 230 contienen todas valores de atributos que describen sus conjuntos de características (como se supuso anteriormente) con respecto a los mismos atributos. El proceso 230 se realiza en una colección de unidades de medios 601 como sigue. En la etapa 602, se deriva un código postal para cada unidad de medios a partir de sus valores de espacio de atributos (ASV) y un recuento de código postal de atributo, como se describe en detalle a continuación. La expresión "código postal" se usa para referirse a una etiqueta para una región definida del espacio de atributos, en efecto, discretizando el espacio de atributos con el propósito de usar unidades de medios, para permitir una búsqueda más eficiente del espacio de atributos.
En la etapa 603, se determina la unidad de medios con un ASV más cercano al ASV de la unidad de medios, usando una metodología de búsqueda basada en los códigos postales descritos anteriormente, como se detallará a continuación. El vecino más cercano de la unidad de medios se usa en la etapa 604 para encontrar los vecinos directos de la unidad de medios. Los vecinos directos de una unidad de medios incluyen aquellos que están más cerca de la unidad de medios y pueden dar como resultado un conjunto de relaciones de vecinos directos que requieren la cantidad más pequeña de enlaces entre las MU para cubrir todo el espacio de atributos. Los detalles de cómo se definen y determinan los vecinos directos se analizan a continuación. Con las relaciones de vecinos directos establecidas en la etapa 604, la vecindad de las MU se actualiza en la etapa 605, de nuevo como se describe en detalle a continuación. En alguna implementación, por ejemplo, como se describe a continuación o a menos que se indique de otra manera, la vecindad de una MU comprende los vecinos directos de las MU como se determina en la etapa 604 y los vecinos directos de aquellos vecinos directos.
En la etapa 606, se calcula una cantidad denominada en el presente documento como "prioridad de poda" para cada MU en el atributo actual, para permitir que las MU se poden con el fin de definir los niveles de profundidad de las MU, lo que permite que se controle la granularidad de los resultados devueltos a un usuario seleccionando un nivel apropiado tal como se describe con más detalle a continuación. Posteriormente, en la etapa 607, se usa un algoritmo de "potencias de dos" para definir los niveles de profundidad usando la cantidad de prioridad de poda, nuevamente como se describe con más detalle a continuación.
5.2. Códigos postales
Con referencia a las Figuras 7A a C, ahora se describe la subdivisión del espacio de atributos para un atributo en códigos postales (etapa 602 anterior). La Figura 7A ilustra un espacio de atributos con unidades de medios ilustradas por letras. Se dice un umbral para la subdivisión en códigos postales, en este ejemplo en 12 unidades de medios. Por lo tanto, la adición de la unidad de medios F desencadena una subdivisión del espacio en la figura 7A. El resultado se muestra en la Figura 7B, con el espacio ahora subdividido en códigos postales de 2x2. La unidad de medios F ahora se encuentra en el código postal (2, 2). Cuando se añaden unidades de medios adicionales al espacio, el umbral eventualmente se excederá en uno de los códigos postales existentes, lo que desencadenará una subdivisión adicional en el siguiente nivel de granularidad, en este caso, códigos postales 3x3, como se ilustra en la figura 7C. En general, para un espacio de 2 dimensiones, a un nivel de granularidad n, habrá nxn = n2 códigos postales; para un espacio ddimensional, hay nd códigos postales.
El código postal de cada unidad de medios se puede precalcular y almacenar como metadatos (con las actualizaciones correspondientes desencadenadas por cada nueva subdivisión del espacio del atributo), o se puede calcular sobre la marcha en otras implementaciones. Para calcular el código postal de una unidad de medios, cada dimensión del valor del atributo se divide por la anchura de una celda de código postal en el espacio de atributos y se redondea (redondeado hacia arriba en caso de que los valores de código postal comiencen en uno, redondeado hacia abajo en caso de que los valores de código postal comiencen en cero). En general, la anchura de un código postal es una función del intervalo de valores del espacio de atributos dividido por el nivel del código postal y puede calcularse sobre la marcha o almacenarse previamente para el espacio de atributos. En muchas implementaciones, los valores de los atributos toman valores entre -1 y 1 y, por lo tanto, se conoce su intervalo. Se entenderá que, otras implementaciones pueden usar otras subdivisiones del espacio de un atributo, por ejemplo, subdivisiones no uniformes, con la adaptación apropiada de cómo se asignan las unidades de medios a los códigos postales y cómo se determinan los códigos postales.
5.3. Vecinos más cercanos
Con referencia a la Figura 8, ahora se describe un proceso para encontrar el vecino más cercano (etapa 603 anterior) de una MU, en un espacio de atributos dado para un atributo de la MU. En la etapa 802, se determina el código postal para una MU X objetivo basándose en su aSv . En la etapa 804, se obtienen todas las MU de ese código postal. La etapa 806 comprueba si se ha obtenido alguna MU. Si la respuesta es no, la etapa 808 aumenta la búsqueda para incluir un código postal vecino adicional en todas las direcciones. A continuación, la etapa 810 comprueba si se ha alcanzado el borde del espacio de atributos, es decir, si se ha buscado en todo el espacio de atributos. Si la respuesta es sí, esto significa que la MU X es la única en el espacio de atributos y los metadatos del vecino más cercano de la unidad de medios encontrada se establecen a "ninguno" en la etapa 812 y se esperan unidad o unidades de medios adicionales.
Si la etapa 806 determina que hay MU en el código postal o códigos postales actualmente considerados, la lista de MU encontrada se ordena por la distancia al ASV de la MU X en la etapa 814. A continuación, se describen las medidas de distancia adecuadas para las MU con valores de atributos únicos o múltiples en un espacio de atributos. A continuación, la etapa 816 comprueba si la distancia más pequeña entre el ASV de la unidad de medios X y los ASV de las MU encontradas es menor que la distancia al límite del código postal más cercano. En caso afirmativo, la MU para la cual la distancia desde la unidad de medios X es la más pequeña (la MU más cercana en la parte superior de la lista ordenada) se establece como el vecino más cercano en la etapa 818 y se almacena una referencia a ella en los metadatos para la MU X en la etapa 820. Si la determinación en la etapa 816 es negativa, el algoritmo continúa a la etapa 822 para ampliar la búsqueda de códigos postales para incluir los siguientes códigos postales más cercanos en dimensiones relevantes, como se ilustra a continuación con referencia a las Figuras 9a a c. La etapa 822 da como resultado una lista expandida de MU que se pasa a la etapa 814, desde donde continúa el proceso como se ha descrito anteriormente.
La etapa 822 determina para qué límites de código postal la distancia desde el límite a MU X es menor a la MU más cercana en el código postal (MU Y en la ilustración de la Figura 9a). En el ejemplo de la Figura 9a, este es el caso del límite superior y derecho, por lo que la búsqueda se expande a estos códigos postales, como se ilustra en la Figura 9b. La ilustración se realiza para un espacio bidimensional, pero se aplicaría una expansión análoga en un espacio tridimensional, con una mayor probabilidad de añadir códigos postales adicionales. A esto le sigue una búsqueda para encontrar cualquier MU que esté más cerca de MU X que de Mu Y. Una búsqueda puede realizarse a través de todas las MU en el espacio de búsqueda expandido (códigos postales 1, 1; 1,2; 2, 1; 2, 2 en el presente ejemplo), o a través de todas las MU dentro de un círculo centrado en MU X y que tiene un radio igual a la distancia entre las MU X e Y.
5.4. Vecinos directos
Con referencia a la Figura 10, ahora se describe un proceso que implementa la etapa 604 anterior para encontrar los vecinos directos de una MU X dada. La expresión "vecino directo" se usa en el sentido de que MU Y es un "vecino directo" de una MU X con respecto a un cierto atributo si no hay otra MU Z de modo que la distancia de X a Y sea mayor que la de X a Z y la de Y a Z. Esto equivale a decir que la longitud del lado XY en el triángulo XYZ es la mayor entre los tres lados XY, XZ e YZ para cualquier MU Z.
Las unidades de medios de los vecinos directos encontrados se almacenan en una lista en los metadatos 224 para MU X para su uso posterior. En algunas implementaciones, adicionalmente o como alternativa, se pueden almacenar otras listas que identifican un vecindario para MU X, por ejemplo, una lista de vecindario que incluye los vecinos directos para MU X y los vecinos directos de los vecinos directos de MU X o una lista que incluye niveles adicionales de los vecinos directos de los vecinos directos. En algunas implementaciones, la lista de vecindad puede derivarse y almacenarse usando un criterio de similitud diferente, por ejemplo, una distancia de corte relativa a MU X o cualquier otro criterio de similitud adecuado relativo a MU X. En todas estas implementaciones, el propósito de almacenar una lista de vecindad es proporcionar rápidamente MU que tienen ASV similares al ASV para la MU X (están cerca en el espacio de atributos relevante), cuando sea necesario, sin tener que llevar a cabo una búsqueda de MU similares a continuación.
A continuación, volviendo a la Figura 10, en la etapa 1002 se accede al vecino más cercano para MU X derivado en la etapa 603 y se recuperan los vecinos directos del vecino más cercano. Para una base de datos vacía, la segunda MU añadida es un vecino directo de la primera encontrada antes y viceversa. En la etapa 1004, para cada MU vecino directo recuperado de la etapa 1002, se recuperan sus vecinos directos respectivos y se almacenan todos los vecinos directos recuperados en una lista de vecindad. Adicionalmente, el vecino más cercano y los vecinos directos se añaden a esa lista.
Se entenderá que, en las implementaciones donde los vecinos directos de los vecinos directos se guardan en una lista, se puede acceder directamente a esa lista para el vecino más cercano. Finalmente, en la etapa 1006, se calculan los vecinos directos de MU X usando cualquier algoritmo adecuado, por ejemplo, el ilustrado en la Figura 11, donde Y y Z son ASV de MU en la lista de vecindad y la unidad de medios actual para la que van a determinarse los vecinos directos y X es el ASV para esa unidad de medios.
Los cálculos de vecinos directos descritos anteriormente ahora se ilustran con referencia a la Figura 12, que muestra un ejemplo de espacio de atributos 2-D simplificado lleno de una pluralidad de MU, que incluye una MU X para la que se van a encontrar los vecinos directos, y su vecino más cercano F. En este escenario ilustrativo, las MU D, E e I son vecinos directos de la MU F y se recuperan porque F es la vecina más cerca de X. Los vecinos directos de D son E y F, los vecinos directos de E son D, F, B, I, G, C y los vecinos directos de I son E, K, J, G, C. Por lo tanto, los vecinos en la lista de vecinos o vecindad de la unidad de medios F son E, F, D, B, I, K, J, G, C. Ejecutando el algoritmo de la Figura 9, los vecinos directos de X se determinan como D, F y E.
5.5. Actualización del vecindario
Con los vecinos directos determinados, el algoritmo vuelve de la etapa 604 a la etapa 605 en la Figura 6 para actualizar la vecindad de la nueva MU X. Esto se describe ahora en detalle con referencia a la Figura 13. En la etapa 1302, las unidades de medios de los vecinos directos de los vecinos directos de la unidad de medios objetivo (Mu X recién añadida) se recuperan y guardan en una lista. La etapa 1304 comprueba si se enumera alguna de las unidades de medios en la lista como vecinos directos de MU X. Cualquier unidad de medios en la lista que también esté en la lista de vecinos directos para MU X se retira a continuación de la lista de vecinos directos de la Mu para la que se enumeró inicialmente como vecino directo en la etapa 1306. Para ilustrar, considere un ejemplo: MU Y es un vecino directo de X y MU Z es un vecino directo de Y inicialmente y, por lo tanto, se incluye en la lista. Si la etapa 1304 determina que la MU Z está enumerada como vecino directo de MU X, se retira de la lista de vecinos directos de MU Y. Cualquier unidad de medios en la lista que no se haya determinado como vecino directo de MU X en la etapa 1304 permanece como enumerada inicialmente en la lista de vecinos directos relevante y no se realizan cambios para las respectivas MU.
Después de la etapa 605, todas las unidades de medios en la base de datos maestra de unidades de medios 222 en el ejemplo descrito actualmente se vinculan a otras unidades de medios por sus respectivas listas vecinas de cada unidad de medios, de modo que, para cualquier unidad de medios, las unidades de medios similares a esa se pueden recuperar recuperando su lista de vecindad, las listas de vecinos de las unidades de medios en su lista de vecindad, y así sucesivamente. Esto recupera unidades de medios a un bajo nivel de granularidad, ya que los vecinos directos estarán cerca entre sí, en términos relativos. A menudo, y en particular como se analiza a continuación, es deseable recuperar unidades de medios que sean similares entre sí, pero con un mayor nivel de granularidad, de modo que la recuperación de unidades de medios no se centre demasiado rápidamente en un área particular del espacio de atributos. Para este fin, se definen niveles de profundidad, de modo que, de hecho, en cada nivel de profundidad se aumenta la granularidad y las unidades vecinas directas están, en promedio, más alejadas entre sí que en un nivel de profundidad donde la granularidad es más precisa. Hablando en sentido figurado, las unidades de medios se podan desde niveles de profundidad de alta a baja profundidad (granularidad baja o precisa a alta o gruesa). Esto se hace basándose en una cantidad denominada en el presente documento "prioridad de poda" calculada en la etapa 606, realizándose la atribución de los niveles de profundidad por un algoritmo denominado en el presente documento "potencias de dos" en la etapa 607. Lo último implica, para cada nivel de profundidad, recalcular las listas de vecinos teniendo en cuenta únicamente las unidades en ese nivel de profundidad como parte de la etapa 607, como se analizará a continuación.
5.6. Prioridad de poda
Volviendo en detalle a la etapa 606, con referencia a la Figura 14, ahora se analizan algunas implementaciones del cálculo de la cantidad de prioridad de poda usada como base para la asignación de niveles de profundidad a las unidades de medios. En la etapa 1402, las unidades de medios de todo el espacio de atributos a tratar, junto con, para cada unidad de medios, la distancia desde su vecino más cercano (es decir, sus vecinos más cercanos se almacenan en una lista). En la etapa 1404 se inicializa un contador n a n=1. La lista se ordena por la distancia desde el respectivo vecino más cercano en la etapa 1406 y, en la etapa 1408, a la unidad de medios con la distancia más pequeña se le da un valor de prioridad de poda PP = n. En la etapa 1410, esa unidad de medios se retira de la lista y también donde aparece en las listas de vecindarios de cualquier otra unidad de medios. La etapa 1412 comprueba si la lista está vacía y, si no lo está, el proceso incrementa el contador n en uno en la etapa 1414, actualiza la vecindad de la unidad de medios retirada en la etapa 1416. La vecindad se actualiza identificando todas las MU que son vecinas directas de la MU retirada. A continuación, cada MU identificada se trata a continuación efectivamente como una nueva MU, recalculando los vecinos directos de una de las MU identificadas de acuerdo con la etapa 604 descrita anteriormente en detalle con referencia a la Figura 10 y a continuación pasando esa MU identificada como unidad objetivo a la etapa 605 descrita anteriormente con referencia a la Figura 13. Esto se repite para cada una de las MU identificadas hasta que todas hayan actualizado los vecinos directos y el vecindario. Posteriormente a la actualización de los vecindarios, se actualiza la distancia a la unidad de medios más cercana respectiva para todas las unidades de medios restantes en la lista en la etapa 1418. A continuación, el proceso vuelve a la etapa 1406, donde se ordena nuevamente la lista actualizada de las unidades de medios restantes y así sucesivamente, hasta que se determina en la etapa 1412 que la lista ahora está vacía y el algoritmo continúa a la etapa 607. Como resultado de la etapa 606, las unidades de medios en el espacio de atributos se asocian cada una con un valor de prioridad de poda correspondiente PP que indica cómo de temprano en el proceso de la etapa 606 se retiró la unidad de medios o, en otras palabras, cómo de lejos estaba de su vecino más cercano.
Una descripción programática del proceso, teniendo en cuenta los valores de distancia "atados", es la siguiente:
Para cada atributo A, hacer:
En una copia temporal de la base de datos hacer:
Enumerar las unidades de medios en orden de distancia D1 a su vecino más cercano en el atributo A, en primer lugar, la más pequeña. En caso de empate, ordenar las unidades empatadas en orden de distancia D2 a su segundo vecino más cercano en el atributo A, en primer lugar, la más pequeña. En caso de que todavía haya empate, repetir el proceso para D3, D4 y así sucesivamente, de uno en uno, hasta que se resuelvan todos los empates.
Si dos unidades de medios están empatadas en las N distancias de vecinos directos más cercanos (D1 a DN), la unidad de medios con más vecinos directos (D1 a DN 1 o más), estará por delante de la que se compara con menos vecinos directos (D1 a DN).
Si este procedimiento aún termina en empate, este procedimiento continúa teniendo en cuenta también a los vecinos directos de los vecinos directos.
En el improbable caso de que este procedimiento aún no rompa el empate, en algunas implementaciones se establece a continuación un orden por elección aleatoria o, en otras implementaciones de este proceso con el objetivo de ser reproducible, se usa una pieza adicional de información de metadatos para romper el empate. Por ejemplo, en algunas implementaciones se usa el tiempo en que se añadió la unidad de medios a la base de datos de MUM 222.
Todo esto ocurre en la copia temporal de la base de datos con el único propósito de crear una lista de prioridad de poda para cada atributo, por lo que la lista de vecinos directos ahora se convierte en una lista de unidades de medios para actualizar cuando se retiran unidades de la lista de unidades de medios en orden de distancia. Tomar la primera unidad de medios de la lista y asignar a su "prioridad de poda para el atributo A" (un número entero) un valor de 1. Eliminar la primera unidad de medios de la lista y actualizar la posición en la lista de todos sus vecinos más cercanos. Actualizar también la lista de vecinos directos de los vecinos directos de la unidad retirada. Repetir para la nueva primera unidad de medios en la lista. Repetir el proceso hasta que no haya más unidades de medios en la lista, incrementando la prioridad de procesamiento en cada iteración.
Como resultado, un valor de PP alto indica que la unidad de medios relevante es representativa de un nivel de granularidad más grueso y un valor de PP bajo indica que la unidad de medios relevante es representativa de un nivel de granularidad más preciso más adecuado para una vista detallada. Una PP alta indica que el valor de una unidad de medios en este atributo representa un valor particularmente diferente de los demás y, por lo tanto, proporcionará una mejor indicación de la ubicación en la que los usuarios desean estar dentro de un atributo en contraste con aquellos valores que tienen una PP baja.
5.7. Niveles de profundidad de granularidad
Con referencia a la Figura 15, ahora se describe la etapa 607 anterior, que establece niveles de profundidad para las unidades de medios. En la etapa 1502, las unidades de medios en el espacio de atributos que se están procesando se ordenan por la prioridad de poda PP en una lista. La etapa 1504 calcula un parámetro Máx PP como el valor de PP más alto de la lista y un parámetro Máx Profundidad como SUELO (LOG2 (Máx PP)) 2. En la etapa 1506, una variable de contador Profundidad, que indexa los niveles de profundidad, se inicializa como Profundidad = Máx Profundidad.
En la etapa 1508, las unidades de medios de la lista que tienen un valor de PP > Mín PP = Máx PP - 2(Profundidad -1) se añaden a una lista de unidades de medios representativas para el nivel de profundidad indexado por Profundidad (es decir, en el nivel de profundidad más alto indexado por el valor más grande de Profundidad, que tiene todas las unidades de medios para el atributo y, por lo tanto, es el nivel más detallado con la granularidad más precisa para la primera pasada de la etapa 1308 del proceso, cuando Profundidad = Máx Profundidad).
En la etapa 1510, se reduce el contador de Profundidad (Profundidad = Profundidad - 1) y, en la etapa 1512, se comprueba si se han cubierto todas las unidades de medios en el espacio de atributos (es decir, Profundidad = 0). Si no, el proceso vuelve a la etapa 1508 para añadir unidades de medios al siguiente nivel de profundidad en el siguiente valor más pequeño de Profundidad. En algunos ejemplos, el proceso se detiene antes de Profundidad = 0, por ejemplo, en Profundidad = 2, 3, 4 o 5, de modo que pueden desecharse los niveles con menos unidades de las necesarias (individualmente para el atributo en cuestión o en todos los atributos) para llenar la pantalla.
El conjunto formado por la lista de unidades de medios representativas para un nivel de profundidad numérico dado se denominará unidades de medios de ese nivel de profundidad en el resto de este documento. La expresión "unidades de medios en un nivel de profundidad dado" se referirá al mismo conjunto y las expresiones "una unidad de medios está representada en un nivel de profundidad dado" o "una unidad de medios está presente en un nivel de profundidad dado" significarán que esa unidad de medios es un miembro de ese conjunto formado por la lista de representantes de ese nivel de profundidad dado.
Si se han cubierto todos los niveles (Profundidad = 0, o como se analizó anteriormente), los vecinos directos y los vecindarios se actualizan para cada lista representativa en la etapa 1514. Cada lista representativa (Profundidad = 1, 2, 3...) se procesa por separado para crear una lista de vecindario para cada nivel de profundidad o profundidad con la que está asociada una unidad de medios, es decir, una lista de vecindario para cada unidad en cada nivel en la que solo se consideran las unidades de medios en el mismo nivel para su listado en la lista de vecindad. En detalle, para una Profundidad, una de las unidades de medios se pasa a la etapa 604 descrita anteriormente para calcular sus vecinos directos y a continuación a la etapa 605 (como unidad "objetivo") para actualizar su vecindad. Esto se repite hasta que todas las unidades de medios a esa profundidad hayan sido procesadas de esta manera. Esto a continuación se repite para cada Profundidad hasta que todas las profundidades (que estén en uso) hayan sido procesadas de esta manera. Por lo tanto, actualizar cada nivel de profundidad se realiza como se ha descrito anteriormente actualizando los vecinos directos para una de las MU en la tabla (etapa 604 descrita anteriormente), actualizando la vecindad para esa MU (etapa 605 anterior) y repitiendo esto hasta que todas las MU en la tabla hayan sido actualizadas de esta manera.
Un ejemplo de cómo se ejecutan los cálculos descritos anteriormente con referencia a la Figura 15, con fines ilustrativos, se presenta en la Figura 16 para un conjunto de datos ilustrativo de 735 unidades de medios.
Como resultado de este proceso, cada unidad de medios en el nivel de profundidad Profundidad = Máx Profundidad (todas las unidades de medios asociadas con el atributo) tiene una lista de vecindad que enumera sus vecinos directos que también están asociados con el nivel de profundidad Profundidad = Máx Profundidad. Cada unidad de medios que también está en el nivel de profundidad Profundidad = n tiene una lista de vecindad correspondiente que enumera los vecinos directos que están todos en el nivel de profundidad Profundidad = n. En otras palabras, una unidad de medios con un nivel de profundidad mínimo Profundidad = 1 tiene Máx Profundidad - 1 listas de vecindad, una para cada nivel de profundidad, y una unidad de medios asociada con un nivel de profundidad mínimo de Profundidad = n tiene Máx Profundidad - n listas de vecindad asociadas con ella. En algunas implementaciones, cada nivel de profundidad se almacena como una tabla separada en la base de datos. Almacenar los niveles de esta manera significa que se crea una nueva tabla para cada profundidad. Tras una solicitud del componente de extremo trasero 238, se recupera una unidad de medios dentro de una tabla de profundidad dada correspondiente al nivel de profundidad actual o deseado. Esto puede mejorar el rendimiento cuando el número de niveles de profundidad puede variar.
Actualizar cada tabla de profundidad se realiza como se ha descrito anteriormente actualizando los vecinos directos para una de las MU en la tabla (etapa 604 descrita anteriormente), actualizando la vecindad para esa MU (etapa 605 anterior) y repitiendo esto hasta que todas las MU en la tabla hayan sido actualizadas de esta manera.
La descripción anterior expone una implementación ilustrativa de procesos 230 para crear una colección de búsqueda para un atributo donde la unidad de medios proporciona valores de atributos individuales (en oposición a una distribución de probabilidad para el valor de atributo), y se entenderá que los procesos se repiten para cada atributo para almacenar completamente la unidad de medios en los respectivos espacios de atributos. Si bien estos procesos se han descrito anteriormente para una sola unidad de medios que se añade a una base de datos existente, es decir, los procesos se describen como realizándose sobre la marcha, igualmente se pueden realizar por medio de procesamiento por lotes una vez que se ha acumulado un cierto número de unidades de medios que necesitan añadirse en ciertos momentos preestablecidos, por ejemplo, para equilibrar la carga cuando otro tráfico con el sistema es bajo. Generalmente, se prefiere añadir nuevas unidades de medios en lotes. Puede tomar menos tiempo de cálculo si el sistema añade múltiples unidades de medios a sus espacios de atributos (sin vecinos directos) y a continuación actualiza las unidades de medios circundantes, en lugar de añadir una MU a la vez.
En el caso de que se rellene una nueva colección de búsqueda 233 a través de la etapa 230, la primera unidad de medios no tiene vecinos directos, y la siguiente se vinculará con la existente como vecino directo, continuando el algoritmo como se ha descrito anteriormente.
La descripción anterior describe la etapa 230 para algunas implementaciones y, por lo tanto, también describe la estructura precisa de la colección de búsqueda 233 para estas implementaciones.
Con referencia a estas implementaciones de la colección de búsqueda 233, ahora se describe un componente de extremo trasero 238 correspondiente. Este componente de extremo trasero 238 asume ciertas restricciones adicionales en la estructura descrita en la Figura 5a. En primer lugar, como se mencionó anteriormente, se supone que la entrada de usuario consiste precisamente en una unidad de medios seleccionada.
5.8. Niveles de profundidad y recuperación de unidad de medios
La primera tarea del componente de extremo trasero 238 es interactuar con la colección de búsqueda 233 y producir, tras la recepción de información de otros componentes como se describe a continuación, un número preestablecido de unidades de medios para entregarse al componente de IU 236. A continuación, estas unidades de medios se muestran al usuario y la siguiente unidad de medios seleccionada se encuentra entre ellas. Con referencia a la Figura 17, se describe una implementación de esta primera tarea. En la etapa 1702, el componente de extremo trasero 238 recibe la última unidad de medios seleccionada por el usuario del componente de IU 236 o del componente de modelo 237. Además, en caso de que esta no sea la etapa cero, recibe los pesos de prioridad, es decir, un valor numérico por atributo, del componente de modelo y, si esta no es la primera etapa, también recibe la unidad de medios previamente seleccionada por el usuario de la memoria de estado 239. La etapa cero se trata a continuación por separado.
A continuación, se realiza el proceso 1703 para cada atributo de las unidades de medios en 233 (observando que todas las unidades de medios en una colección de búsqueda están anotadas precisamente para los mismos atributos, véase el proceso 230 anterior). En la etapa 1704, se calcula un número de "salto" de la unidad de medios actualmente seleccionada. Si una unidad de medios previamente seleccionada no está disponible, el número de salto se establece a cero. En caso de que esté presente una unidad de medios previamente seleccionada, el número de salto se establece a 1 si la última unidad de medios seleccionada es un vecino directo de la unidad de medios previamente seleccionada en el nivel de profundidad actual. Si el número de salto no es 1, a continuación, el proceso 1703 comprueba si la unidad de medios actualmente seleccionada es parte de la unión de los vecinos directos de los vecinos directos de la unidad de medios previamente seleccionada. Si ese es el caso, el número de salto se establece a 2; de lo contrario, se debe establecer a 3. Si el número de salto es 1, la etapa 1706 aumentará el número de nivel de profundidad actual si es posible. Si el número de saltos es cero o dos, el nivel de profundidad no se cambia (etapa 1708) y se reducirá en 1 si es posible si el número de saltos es mayor que 2 en la etapa 1710. En la etapa 1712, el componente de extremo trasero 238 interactúa ahora con la colección de búsqueda 233 descrita anteriormente y solicita que se entreguen los vecinos directos de la unidad de medios actualmente seleccionada en el nivel de profundidad dado.
En términos más generales, si la unidad de medios seleccionada es "muy similar", es decir, dentro de una primera banda de similitud de la unidad de medios previamente seleccionada, se aumenta el nivel de profundidad, disminuyendo el espaciado del siguiente conjunto de MU. Si la unidad de medios seleccionada es "moderadamente similar", es decir, dentro de una segunda banda de similitud de MU que son menos similares que aquellas de la primera banda, el nivel de profundidad no se cambia. Finalmente, si la MU seleccionada es "menos que moderadamente similar", es decir, no está dentro de la primera o la segunda banda de similitud, el nivel de profundidad se reduce para volver una selección de MU más espaciada en la siguiente iteración.
La pertenencia de una MU seleccionada en una de las bandas de similitud relativa a la MU previamente seleccionada se puede evaluar basándose en la lista de vecindad como se ha descrito anteriormente en el contexto del número de salto o, en otras implementaciones, basándose en intervalos respectivos para una distancia entre las dos MU seleccionadas, por ejemplo.
Dado que la última unidad de medios seleccionada era parte de las unidades de medios que el componente de extremo trasero 238 proporcionó originalmente al componente de IU 236 en la etapa anterior (aparte de la etapa cero que se trata por separado a continuación), está claro que la unidad de medios actualmente seleccionada está representada en ese nivel de profundidad y, por lo tanto, las solicitudes pueden realizarse si no se ha llevado a cabo ningún cambio en el nivel de profundidad en la etapa 1704. Si no es posible aumentar el nivel de profundidad o si la unidad de medios actualmente seleccionada no está presente en el nivel de profundidad reducido en 1, la solicitud se ejecuta con el nivel de profundidad sin cambios en la etapa 1704. Por tanto, en cualquier caso, se reciben resultados. Se forma en la etapa 1714 la unión de todas las unidades de medios recibidas como resultado de llamadas repetidas, una de tales solicitudes por atributo como se muestra en la etapa 1703, a la colección de búsqueda semántica 233 en la etapa 1712.
Los pesos de prioridad, un valor numérico para cada atributo, se usan a continuación para formar una métrica de distancia ponderada en el espacio de atributos. Concretamente, si d-i,...,cA indica medidas de distancia (métricas) entre unidades de medios para los atributos 1,..., A, respectivamente, y si W 1,...,wa indica los pesos de prioridad asociados para los atributos 1, ...,A, respectivamente, a continuación, dados dos puntos x,y en el espacio de atributos, la distancia ponderada en el espacio de atributos entre estos dos puntos se define como
Figure imgf000020_0001
Esta suma ponderada es la suma de las distancias en cada atributo, cada una multiplicada por el valor de peso de prioridad correspondiente. Esto da como resultado una métrica de distancia para todo el espacio de atributos. Todas las unidades de medios recopiladas en las etapas 1712 y 1714 se ordenan en orden de distancia a la unidad de medios actualmente seleccionada y a continuación se proporciona el número predeterminado de unidades al componente de IU en la etapa 1716 para su presentación al usuario.
Esto deja el caso de que no se compilan suficientes unidades de medios como resultado de la etapa 1714 (es decir, siendo ese número menor que el número requerido dado para que se devuelva). Este caso es raro y solo puede ocurrir si la colección de búsqueda 233 es "escasa" en ciertas regiones. En algunas implementaciones, este caso se trata modificando la etapa 1712 de la siguiente manera. Se establece un número objetivo mínimo de unidades que deben recuperarse como resultado de cada ejecución de la etapa 1712 y, si la etapa 1712 falla al entregar la cantidad relevante de unidades de medios, la solicitud se repite para devolver los vecinos directos de todos los vecinos directos de la unidad de medios en la solicitud original. Si la unión del resultado aún no satisface el umbral numérico establecido, se toman los vecinos directos de todas las unidades de medios de las últimas solicitudes y a continuación se lanza una solicitud de vecinos directos para cada uno de estas. Este proceso se repite hasta que se recupera el número objetivo de unidades de medios.
5.9. Unidades de medios más diferentes
Volviendo a la figura 17, ahora se describe una variante del proceso 1703 descrito anteriormente. Este mecanismo alternativo para seleccionar unidades de medios para su visualización, que tiene diferentes implementaciones de las etapas 1712, 1714 y 1716 descritas anteriormente, es devolver unidades de una vecindad relacionada con la unidad de medios seleccionada de tal manera que las unidades a las que se hace referencia son, dentro de la vecindad, las más diferentes a las unidades de medios seleccionadas. Esto puede ser útil cuando los datos disponibles para calcular cualquier medida de similitud son insuficientes en una etapa específica del proceso (por ejemplo, cuando se necesitan varias selecciones para determinar las prioridades de los atributos, como se describe en detalle a continuación), o para confirmar periódicamente lo que el usuario está buscando y permitir al usuario cambiar de dirección en la búsqueda más fácilmente.
En esta variante del proceso 1703, en la etapa 1712, se recupera la vecindad (vecinos directos) para cada atributo con la unidad de medios seleccionada y se almacena en una tabla con una columna para cada atributo, enumerando los ASV de las unidades de medios recuperadas. En la misma etapa, se recuperan los vecinos directos de las unidades de medios en la tabla y, potencialmente, sus vecinos directos, y así sucesivamente hasta que se hayan recopilado suficientes resultados, por ejemplo, un número preestablecido para un tamaño de pantalla / número de unidades a mostrar dados. Todas estas tablas se combinan en la etapa 1714 en una tabla grande, retirando los duplicados. En la etapa 1716, las columnas en esa tabla se ordenan por la distancia del ASV asociado con las unidades de medios enumeradas desde el ASV de la unidad de medios seleccionada, de modo que se enumeran las unidades de medios que tienen ASV más alejados del ASV de la unidad de medios seleccionada en la parte superior (aunque el orden de clasificación, por supuesto, no tiene importancia y en el proceso funciona igual que el orden de clasificación inverso). La distancia se define como la suma ponderada de distancias para cada atributo, ponderada por los valores de prioridad dados (como se describe en detalle a continuación). La tabla ahora contiene las unidades de medios recuperadas que están más alejadas de la unidad de medios seleccionada (más diferentes o diversas) en la parte superior y aquellas que son más cercanas o más similares a la unidad de medios seleccionada en la parte inferior.
La etapa 1716 se realiza ahora sobre esta tabla inversamente ordenada de una manera que difiere de la descrita anteriormente; en la que las MU se clasifican por una suma ponderada de distancias de atributos. En este punto, en la etapa 1716, la tabla se recorre columna por columna, eligiendo en cada momento la unidad de medios superior y, una vez que se han recorrido todas las columnas, comenzando de nuevo con la siguiente fila hasta que se haya seleccionado un número suficiente de unidades de medios para llenar la siguiente pantalla de resultados. El conjunto de unidades de medios que se han seleccionado se devuelve para su visualización en la pantalla de resultados como se ha descrito anteriormente. De esta forma, se seleccionan las unidades de medios que son más diferentes en cada atributo de la unidad de medios seleccionada para su visualización, a continuación, las siguientes diferentes, y así sucesivamente hasta que se hayan seleccionado suficientes unidades de medios para su visualización.
5.10. Pantalla de visualización inicial
Se describe ahora la acción del componente de extremo trasero 238 en la etapa cero de una búsqueda, es decir, la etapa en la que hasta ahora no se ha realizado ninguna selección y el componente de extremo trasero tienen la tarea de suministrar un número dado de unidades de medios al componente de IU 236 como una primera selección para mostrar al usuario.
En algunos ejemplos, la pantalla inicial puede llenarse con unidades de medios de diferentes profundidades, por ejemplo, comprendiendo profundidades que cada una tiene un número insuficiente de unidades de medios para llenar la pantalla, o añadir unidades de medios desde una profundidad inferior a una profundidad que podría por sí sola llenar la pantalla. El análisis anterior se centra en llenar una pantalla inicial con unidades de medios de un solo espacio de atributos. Se aplican consideraciones similares cuando se consideran múltiples espacios de atributos. Por ejemplo, las unidades de medios se pueden muestrear de un grupo combinado de unidades de una profundidad que no tiene suficientes unidades en un solo espacio de atributos para llenar la pantalla inicial, pero el conjunto combinado de unidades sí. En algunos ejemplos, las unidades se muestrean desde una profundidad donde cada espacio atribuido tiene unidades suficientes para llenar una pantalla. La proporción de unidades de cada espacio de atributos puede determinarse mediante probabilidades de muestreo específicas del atributo o proporciones fijas u otras reglas. Por ejemplo, también son posibles combinaciones de los enfoques anteriores, por ejemplo, muestrear la mayoría de las unidades de un espacio de atributos que se considera más importante a una profundidad que llene al menos la mayor parte de la pantalla (por ejemplo, profundidad 6) y muestrear el resto desde una profundidad inferior (por ejemplo, 4), una o unas pocas unidades por atributo.
6. Componente de modelo
Para completar la descripción de la búsqueda y presentación de unidades de medios 204 bajo las suposiciones descritas anteriormente y en la Figura 5a, se requiere una descripción del componente de modelo 237. A continuación, se describen dos clases distintas de tales implementaciones.
La primera tiene un enfoque predominantemente geométrico mientras que la segunda se basa además en una estructura teórica probabilística/de información como se describe a continuación. Dentro de cada una de estas clases de implementaciones también se analizan variantes adicionales.
6.1. Estructura predominantemente geométrica
La primera estructura impone las siguientes restricciones adicionales en la configuración descrita en la Figura 5a. Esta estructura es aplicable al número de unidades de medios que el componente de IU presenta al usuario como una constante predeterminada dada para cada etapa. En segundo lugar, la entrada de usuario consiste en al menos una unidad de medios seleccionada y al menos una no seleccionada y que las unidades de medios seleccionadas por el usuario se presentan nuevamente al usuario en la siguiente etapa, es decir, que se incluyen en la salida del componente de modelo 237 y, a continuación, a su vez, en la salida del componente de extremo trasero 238 al componente de IU 236 para la atención del usuario en la etapa siguiente. En tercer lugar, los conjuntos de características que describen las unidades de medios son conjuntos de valores de atributos en lugar de distribuciones de probabilidad.
Esta estructura se describe ahora en dos etapas: en primer lugar, se proporciona una implementación del componente de modelo 237 que se usará cuando haya exactamente una unidad de medios seleccionada como entrada de usuario. A continuación, se proporciona una implementación donde la entrada de usuario consiste en más de una unidad de medios seleccionada. Finalmente, se describe una implementación que se puede emplear si los conjuntos de características son de hecho descripciones de distribuciones de probabilidad en lugar de solo conjuntos de valores de atributos.
6.1.1. Una unidad de medios seleccionada
La Figura 18 es un diagrama de flujo que describe una primera implementación con las tres suposiciones anteriores. En la etapa 1802 y la etapa 1804 se recopilan todas las entradas para esta implementación del componente de modelo 237: Desde el componente de IU 236, se reciben las unidades de medios actualmente seleccionadas y no seleccionadas junto con metadatos para todas estas unidades de medios (etapa 1802). Además, se lee en la etapa 1804 la información de la memoria de estado 239. La información de la memoria de estado se almacena mediante pasadas anteriores del componente 237 (si lo hubiera). A continuación, se describen varios ejemplos que requieren diferentes piezas de información en la memoria de estado 239, como se describe a continuación. Una pieza de información que siempre se almacena en la memoria de estado y se lee en la etapa 1804 es el número de veces que se ha ejecutado previamente esta etapa.
En la etapa 1806, un índice de iteración actual n se establece a n = 1 si la etapa 1806 se ejecuta por primera vez, de lo contrario, n de la ronda anterior se incrementa en 1. Por lo tanto, el índice de iteración cuenta cuántas selecciones de unidades de medios individuales ha hecho el usuario hasta ahora de las pantallas mostradas por el componente de IU 236. Si n no es igual a 1, a continuación, se espera que la memoria de estado 239 contenga los pesos de prioridad calculados como la salida anterior, wjn-1, para cada etiqueta de atributo j. Si n=1, a continuación, establece Wj1 = W0 para algún valor predeterminado distinto de cero W0. En algunas implementaciones, este valor es igual a 1. Sin embargo, se observa que, en su lugar, se puede usar cualquier constante adecuada. La forma en que se usan estas prioridades de atributo en el componente de extremo trasero 238, como se ha señalado anteriormente, es como un factor de ponderación para las distancias a nivel de atributo para definir una medida de similitud en el espacio combinado. Dado que la selección de MU por el componente de extremo trasero 238 se basa en distancias relativas, esto implica que la multiplicación de estos valores de peso de prioridad con una constante positiva no cambiará la salida del componente de extremo trasero 238.
En la etapa 1808, se calcula una distancia de atributo total (TAD) para cada unidad de medios no seleccionada en la etapa actual. TAD es una medida de cómo de cerca está cualquier unidad de medios no seleccionada de la unidad de medios seleccionada en todos los atributos donde la medida ponderada usada para este cálculo se basa en el conjunto previamente calculado de pesos de prioridad wj> 1 para todos los atributos j:
Figure imgf000022_0001
donde
n, i y j, respectivamente, indexan iteraciones de visualización, unidades de medios no seleccionadas y el espacio de atributos. Ujn es el ASV de la unidad de medios no seleccionada i en el espacio de atributos j en el índice de iteración n.
Sjn es el ASV de la unidad de medios seleccionada en el espacio de atributos j en el índice de iteración n. dj ( Uijn,Sjn) es la distancia entre Ujn y Sjn con respecto a la medida de distancia (métrica) en el espacio de atributos j.
Wjn-1 es el peso de prioridad dado al atributo j para la selección de unidades de medios para la pantalla anterior (es decir, índice de iteración n-1).
M es el número de atributos y
f es una función convexa. En algunas implementaciones, f es la función identidad, es decir, f(x)=x.
En algunas implementaciones, las medidas de distancia dj ( x,y) que pueden manejar los cálculos de distancia entre los ASV de las unidades de medios en el atributo j se encuentran entre los siguientes.
Figure imgf000022_0002
.para p > 1 y donde x = (x-i ,...,xk) e y = ( y \,...,yK).
Posteriormente a la etapa 1808, un proceso 1810 ejecuta las siguientes etapas para cada atributo j.
En la etapa 1812, se determina una cantidad que proporciona una medida de cómo de intencional fue la selección de la unidad de medios seleccionada con respecto a cada atributo o, en otras palabras, si la selección de la unidad de medios seleccionada fue, desde la perspectiva del usuario, impulsada por un atributo dado o no (por ejemplo, ser aleatoria o impulsada por otros atributos).
En algunas implementaciones, independientemente de la información recibida del estado en la etapa 1804, esta cantidad se basa en una comparación de todas las elecciones que podría haber hecho el usuario (las unidades de medios no seleccionadas) con la selección que se hizo, promediando sobre las elecciones que se podrían haber hecho. La razón detrás de este enfoque es que, para cualquier unidad de medios no seleccionada, si la distancia entre la unidad de medios no seleccionada y la seleccionada es grande, es más probable que la elección fuera intencional que si la distancia es pequeña. Si la unidad de medios no seleccionada está cerca de la unidad de medios seleccionada en un atributo dado, esto indica que la selección de la unidad de medios seleccionada sobre la unidad de medios no seleccionada en ese atributo puede haber sido aleatoria o impulsada por otros atributos en lugar de intencional. Sin embargo, dado que incluso una selección completamente aleatoria de la unidad de medios seleccionada (selección del "promedio" de las unidades de medios mostradas o el centro de masa) daría como resultado un valor distinto de cero para esta medida, la distancia desde la unidad de medios no seleccionada al centro de masa de la MU mostrada, se resta para tener en cuenta la distancia de elección asociada con una selección aleatoria. Finalmente, la distancia del atributo total TAD se usa para ponderar la contribución a esta medida de cada unidad de medios no seleccionada, basándose en que si una unidad de medios no seleccionada está lejos de las unidades de medios seleccionadas, en promedio, a través de todos los atributos, esto aumenta la probabilidad que la elección entre la unidad de medios seleccionada y no seleccionada fue intencional porque la elección no se explica (o se explica en menor medida) por un interés en otros atributos (que se cree que es más probable si la TAD es pequeña).
En conjunto, se usa la siguiente expresión para esta medida de intencionalidad, también denominada distancia de elección promedio (ACD):
Figure imgf000023_0001
donde:
CMjn es el baricentro de los ASV de las unidades de medios mostradas en el espacio de atributos j en el índice de iteración n.
N es el número de unidades de medios no seleccionadas en una pantalla dada.
Usando las cantidades definidas anteriormente, un cálculo adecuado para calcular el baricentro o centro de masas es el siguiente:
Figure imgf000023_0002
En la etapa 1814, se define un factor de ponderación j para un atributo j dado en la etapa n. Este factor desempeña un papel en combinación con las etapas 1816 y 1818. En la etapa 1816, se deriva un nuevo mejor valor potencial del peso de prioridad, wjn el peso objetivo alternativo (ATW) y, en la etapa 1818, se determina un nuevo peso de prioridad wjn como una combinación lineal de 1 - j veces el peso de prioridad anterior w/n-1 y j veces el peso objetivo alternativo. Por lo tanto, el factor de ponderación j debe considerarse cuánto del peso de prioridad anterior sobrevivirá y cuánto será reemplazado por el peso definido en la etapa 1816.
En algunas implementaciones de la etapa 1814, se supone que la información de estado recuperada de la memoria de estado 239 en la etapa 1804 contiene tanto las unidades de medios previamente seleccionadas como las previamente no seleccionadas. En este ajuste, para n>1 j puede definirse como:
Figure imgf000023_0003
donde los símbolos se definen como se ha descrito anteriormente. Para el caso n=0, esta cantidad se establece a cero.
La tasa de actualización o factor de ponderación j se basa, por lo tanto, en la magnitud del cambio entre la iteración actual y la anterior de una cantidad relacionada con ACD, aunque no ponderada por TAD, para proporcionar una indicación de la diferencia promedio de las elecciones realizadas entre las dos últimas iteraciones. Antes de proporcionar una explicación más intuitiva de esta definición de j puede observarse que la fórmula anterior implica inmediatamente que
O < 2T
~~ r? jn < ~ _ N _ donde "H indica la distancia máxima que pueden tener dos puntos en ASV de la colección de búsqueda 233 para el atributo j en cuestión. Por lo tanto, T depende tanto del intervalo de valores de ASV (entre -1 a 1 para cada valor de coordenada en algunas implementaciones), así como de la medida de distancia usada.
2 T_
En algunas implementaciones, estas elecciones son de modo que es menor o igual que 1.
Una forma de ver la definición anterior de j es como sigue. Si uno iguala la suma de las diferencias de distancia entre las unidades de medios no seleccionadas más recientemente con la seleccionada más recientemente y las distancias de las unidades de medios no seleccionadas más recientemente con el baricentro más reciente como un indicador de cuánto se ha movido la selección del usuario con respecto a este atributo en la última etapa, a continuación la fórmula para nn significa que si la selección del usuario se ha movido más en la etapa actual que antes, el ATW calculado en la etapa 1816 puede continuar actualizando los factores de peso en la etapa 1818.
Una cantidad de peso de actualización pn a continuación se calcula en la etapa 1816 usando la distancia de elección promedio calculada en la etapa 1812:
Figure imgf000024_0002
donde la función sigmoidea se define de la forma habitual como sigmoide(t)
Figure imgf000024_0003
y donde c es una constante que se determina experimentalmente en relación con el conjunto de datos dado y donde M indica su número de atributos. En algunas implementaciones esta constante es 0,1. La intuición detrás del uso de la función sigmoidea es la siguiente. Cabe señalar en primer lugar que, el intervalo de la función sigmoidea radica entre 0 y 1, que es simétrica con respecto al punto (0,0,5) y que tiene un solo punto de inflexión en este punto de simetría. Dado el significado intuitivo de la distancia de elección promedio anterior, se elige un valor pequeño para pn si ACDjn es negativo, es decir, si la inferencia es que el atributo j desempeña un papel pequeño en la última elección del usuario. Inversamente, si la inferencia es que el atributo j era importante para la intención del usuario en la última etapa, a continuación, ACD será grande y, por lo tanto, pn estará cerca de 1. El papel de la función sigmoidea es centrarse en el intervalo de valores en el que pjn cambia más a un intervalo de valores de la ACDjn cerca del origen.
Como se indicó anteriormente, la etapa 1818 define una ecuación de actualización para los pesos de prioridad wjn como:
Figure imgf000024_0001
usando la notación definida anteriormente.
En la etapa 1820, se recopilan los pesos de prioridad wjn para cada atributo j y el conjunto resultante se pasa como salida del componente de modelo 237 al componente de extremo trasero 238 como se muestra en la Figura 5a.
6.1.2. Más de una unidad de medios seleccionada
Ahora se proporciona una descripción de una implementación que usa el componente de modelo 237 y el componente de extremo trasero 238 descritos anteriormente que implementa la búsqueda y visualización de unidad de medios 204 de modo que puede manejar la entrada de usuario de más de una unidad de medios seleccionada y al menos una no seleccionada. El componente de modelo 237 y el componente de extremo trasero 238 como se han descrito anteriormente se llaman para cada unidad de medios seleccionada sucesivamente y las sucesivas salidas de los componentes de extremo trasero a continuación se procesan adicionalmente como se describe adicionalmente a continuación. Además, la etapa de guardar la unidad de medios previamente seleccionada en el componente de modelo 237 en la memoria de estado 239 se realiza anexando la unidad de medios seleccionada actualmente tratada a una lista de unidades de medios para la misma etapa. Cuando se lee la unidad de medios previamente seleccionada, la lista proporcionada en la memoria de estado 239 puede modificarse o dejarse sin modificar para la siguiente iteración que trate con otra unidad de medios seleccionada en la misma etapa. En algunas implementaciones, cuando se lee una unidad de medios previamente seleccionada, se retira de la lista a menos que la lista estuviera vacía. De esta manera, las unidades de medios se emparejan en orden, es decir, el componente de modelo 237 se ejecuta con la primera unidad de medios seleccionada de la etapa actual usando la primera unidad de medios seleccionada de la etapa anterior como la unidad de medios previamente seleccionada. Si el número de unidades de medios seleccionadas en la etapa actual supera las de la etapa anterior, todas las últimas unidades de medios usan la última seleccionada en la etapa anterior como la seleccionada previamente. De manera similar, si el número de unidades de medios en la etapa actual es menor que en la etapa anterior, no se considerará el exceso del número de unidades de medios en la etapa anterior.
En otra implementación, cuando se lee la lista de unidades de medios seleccionadas de la última etapa, se elige una aleatoria como la unidad de medios previamente seleccionada en el componente de modelo 237.
Después de llamar al componente de modelo 237 seguido del componente de extremo trasero 238 para cada unidad de medios seleccionada proporcionada por el usuario, produce una colección de listas de unidades de medios, una asociada con cada unidad de medios seleccionada. Estas listas a continuación se empalman juntas para formar una lista de la que se deriva la salida al componente de IU 236.
En algunas implementaciones, esto se hace usando la distancia ponderada de prioridad del espacio de atributos subyacente de la siguiente manera. Para cada unidad de medios en cada lista, se calcula una puntuación que se compone de la suma ponderada de las distancias de peso de prioridad de la unidad de medios en cuestión a cada una de las unidades de medios seleccionadas. Los pesos en esta suma tienen dos valores a y p. El sumando se pondera por el peso a > 0 si y solo si la unidad de medios en cuestión está incluida en la lista de la unidad de medios seleccionada en cuestión y es p de lo contrario. A continuación, todas las unidades de medios se clasifican por su puntuación en orden descendente y a continuación se elige el número superior de unidades de medios que se manejan al componente de IU 236 donde se rompen los empates con una elección arbitraria. En algunas implementaciones a = p . En otras implementaciones a = 2 y p = 1.
Concretamente, si d1,d%...,ciA indica medidas de distancia (métricas) en cada uno de los atributos etiquetados 1,..., A, respectivamente, a continuación, la puntuación de una unidad de medios X en la unión de todas las listas para cada una de las m unidades de medios seleccionadas se calcula de la siguiente manera.
Figure imgf000025_0001
dónde A ( X ,S j) es igual a a si X es parte de la lista asociada de Sj y p de lo contrario.
6.1.3. Conjuntos de características que representan distribuciones de probabilidad
Ahora se describen otras implementaciones que eliminan la suposición en las implementaciones del componente de modelo 237 y el componente de extremo trasero 238 descritos hasta ahora en la configuración de la estructura geométrica de que los conjuntos de características que describen unidades de medios consisten en conjuntos de valores de atributos como tales. Si las unidades de medios en la colección de búsqueda 233 se describen mediante conjuntos de características que comprenden parámetros que describen distribuciones de probabilidad, la implementación anterior se adapta reinterpretando estos conjuntos de parámetros como valores de atributos en sí mismos. Se define una medida de similitud adaptada y, de otra manera, las implementaciones anteriores del componente de modelo 237 y el componente de extremo trasero 238 se aplican directamente. Como ejemplo, en algunas implementaciones, si cada unidad de medios de atributos se describe mediante una distribución normal a través de valores de atributos, a continuación, los conjuntos de características consisten en una colección de valores numéricos que representan el vector de media y la matriz de covarianza para cada atributo, a continuación, puede definirse una medida de similitud a través de estos los valores, por ejemplo, tomando la medida como la suma de la distancia euclidiana entre los vectores de media en cada atributo mientras se ignoran por completo las matrices de covarianza. En otras implementaciones, se emplean medidas de similitud entre las respectivas distribuciones de probabilidad (en lugar de entre puntos), por ejemplo, la distancia de Hellinger [http://en.wikipedia.orq/wiki/Hellinger distancel o la norma L2 [https://en.wikipedia.org/wiki/Lp_space].
6.1.4. Colecciones de búsqueda generalizada
La descripción anterior de la búsqueda y visualización de unidad de medios 204 asume que todas las unidades de medios en la colección de Búsqueda 233 tienen conjuntos de características que describen los mismos atributos. Ahora se describen las implementaciones del componente de extremo trasero 238 y un cambio en el flujo de trabajo en la Figura 5a que hace posible descartar esa suposición.
En todas las colecciones de búsqueda 233 descritas anteriormente, es decir, la salida del ejemplo de la potencia de 2 y el ejemplo de almacenamiento de valores en RAM, los valores de atributos de las unidades de medios se almacenan por atributo. De hecho, el componente de modelo 237 descrito anteriormente se ocupa de los ASV semánticos por atributo y el componente de extremo trasero 236 lleva a cabo la etapa 1703 para cada atributo. Cada vez que el componente de modelo 237 devuelve pesos de prioridad, las implementaciones anteriores pueden clasificar todos los atributos. En algunas implementaciones, esta clasificación se realiza únicamente basándose en estos pesos de prioridad (es decir, el más alto en primer lugar) pero, en otras implementaciones, también se tienen en cuenta otros parámetros estáticos calculados a partir de los datos de cada atributo contenido en el espacio de atributos (tal como la varianza de todos los valores de todos los ASV en ese atributo). En algunas implementaciones, por ejemplo, el peso de prioridad se multiplica por la varianza de los valores de coordenadas de todas las unidades de medios en ese atributo (usando la métrica de distancia definida anteriormente para cada atributo). El componente de extremo trasero 238 a continuación devuelve un conjunto dado de unidades de medios por atributo como antes. Sin embargo, la diferencia es que estas unidades de medios devueltas solo pueden anotarse para el atributo en cuestión y no para los demás. El componente de extremo trasero 238 a continuación selecciona las unidades de medios para presentar al componente de IU 236 de acuerdo con una receta preestablecida: en algunas implementaciones, se reserva un cierto número de unidades para el atributo mejor clasificado, otro para el segundo clasificado y así sucesivamente. Algunas implementaciones solo presentan unidades basadas en el atributo de más alto clasificado.
6.2. Implementaciones de componente de modelo probabilístico
Ahora se describe un segundo grupo de implementaciones del componente de modelo 237, basándose en un enfoque probabilístico, con referencia a la Figura 5a. Este enfoque probabilístico del componente de modelo 237 es más general que la implementación anterior. Inicialmente, se supone que hay al menos una unidad de medios seleccionada. Esta suposición es necesaria solo para poder usar el mismo componente de extremo trasero 238 descrito anteriormente, pero se descartará más adelante cuando se presente otro componente de extremo trasero de este tipo, como se describe a continuación.
Esto significa que, este componente de modelo 237 recibe tanto las unidades de medios seleccionadas como no seleccionadas del componente de IU 236 y los metadatos e información correspondientes almacenados en la memoria de estado 239 de llamadas anteriores al componente de modelo 237. El componente de modelo devuelve un conjunto de pesos de prioridad, es decir, un valor numérico para cada atributo de las unidades de medios. El punto de partida de esta implementación del componente de modelo 237 viene dado por las siguientes decisiones fundamentales de diseño:
1. El propósito del componente de modelo 237 es modelar el objetivo de búsqueda previsto del usuario con una secuencia de variables aleatorias en cada pasada, una para cada atributo, cada una de las cuales toma valores en un espacio de atributos.
2. El modelo es markoviano, es decir, en cada llamada al componente de modelo 237, se proporciona al modelo con la salida de la etapa anterior del componente de modelo 237 en forma de aquellas variables aleatorias descritas en 1 (a través de la memoria de estado 239) anterior y devolverá otro conjunto de variables aleatorias teniendo en cuenta la información obtenida de la entrada de usuario más reciente.
La siguiente notación es útil. Para un atributo dado etiquetado como j, las variables aleatorias en la etapa n se indican por X 3 j B) ' dónde n varía a través de los enteros no negativos (es decir, n = 0,1,2,3,...). La i ¡dea es que X ^ describe el objetivo de búsqueda previsto del usuario en términos de un ASV objetivo en el atributo j después de que el usuario haya hecho su enésima elección a través del componente de IU 236. Por definición, (0) es una distribución anterior inicial para cada atributo que se da al inicio del proceso de búsqueda. En algunas implementaciones, la anterior inicial codificará la información disponible antes de que un usuario realice cualquier selección. Esto podría incluir el conocimiento sobre el entorno de búsqueda al que se enfrenta el usuario y las preferencias asociadas que ese entorno puede implicar. Por ejemplo, para una búsqueda y visualización de unidad de medios 204 en relación con una colección de zapatos que se ha anotado (Figura 3) y almacenado en una colección de búsqueda 233 y se sabe que y ( 0 )
hay un enfoque general del cliente en uno de los atributos, por ejemplo, color de zapatos, entonces A i se establecerá en consecuencia como se describe en detalle a continuación. La colección ordenada (o vector) de variables aleatorias j^(») y ' !í ' X A se indica por X<n) donde 1, 2,... A indica los atributos. Las variables aleatorias se toman como independientes, es decir, que la creencia sobre la intención del usuario modelada para un atributo no afecta ninguna de las otras creencias modeladas para los otros atributos. Cada una de estas variables aleatorias x f así como la colección de estos X<n) están definidos por una distribución que se describirá en detalle a continuación. En algunas implementaciones, cada x f> es una distribución normal (multivariante). Más específicamente, en algunas implementaciones, la matriz de covarianza correspondiente es una matriz diagonal. Esto hace X<n) una distribución normal multivariante de esta forma particular también. La distribución correspondiente se describe completamente mediante un pequeño conjunto de valores numéricos. Por ejemplo, una distribución normal multivariante unidimensional se define únicamente tanto por su media como su varianza, es decir, dos valores numéricos.
La Figura 19 muestra la progresión de la intención del usuario modelada a lo largo de las iteraciones, descrita ahora con referencia a la Figura 5a.
Los ASV de las unidades de medios seleccionadas y no seleccionadas del usuario en la etapa n obtenidos por el componente de IU 236 y suministrados como entrada al componente de modelo 237 se indican por
Figure imgf000026_0001
donde 1,2,...,A indexa los atributos de las unidades de medios y donde 1,...,Q indica el número de unidades de medios seleccionadas y 1,2 ,...,M indexa las unidades de medios no seleccionadas. Además,
Figure imgf000026_0002
se usan como abreviatura. Por definición í / n) está vacío si M = 0. De
manera similar, aunque actualmente se supone que siempre hay al menos una unidad de medios seleccionada, se observa para futuras referencias que si Q = 0 entonces S(n) está vacío.
El flujo de trabajo del componente de modelo 237 en estas implementaciones es el siguiente: Tras la recepción de los ASV de una primera selección del usuario S(1),U(1) (de la IU 236) y el anterior original X<0) (de la memoria de estado 239), se calcula la distribución de una variable aleatoria X<1), se guarda en la memoria de estado 239 para la siguiente etapa y, finalmente, se derivan los pesos de prioridad a partir de esta información. El componente de modelo envía estos pesos de prioridad al componente de extremo trasero 238 y el componente de extremo trasero 238 a continuación continúa para proporcionar al componente de IU 236 selecciones adicionales para mostrar al usuario basándose en estos pesos de prioridad como se ha descrito anteriormente. Los ASV de una selección de un usuario de estos S(2),U(2) se usan a continuación por el componente de modelo 237 de nuevo para calcular la distribución de X 2 (de la distribución de X 1 y un parámetro A, ambos obtenidos de la memoria de estado 239) y, a partir de ella y de la distribución del original anteriorX(0) (también proporcionada en la memoria de estado 239) se calculan los pesos de prioridad de salida que se entregan al componente de extremo trasero 238. Además, el componente de modelo 237 guarda la distribución de X (2), así como un parámetro de A actualizado y X (0) en la memoria de estado 239. Este proceso continúa etapa a etapa para cada entrada de usuario. El parámetro A afecta el proceso de actualización de la distribución como se describe a continuación y, por lo tanto, influye en la experiencia de la búsqueda y visualización de la unidad de medios 204. Entre etapas, el parámetro A se actualiza basándose en lo analizado a continuación. El método elegido puede depender de la distribución de unidades de medios en la colección de búsqueda 233 y de la experiencia de la búsqueda y visualización de unidad de medios 204 para conjuntos de datos con requisitos de usuario similares. En algunas implementaciones, A se reduce en un porcentaje fijo en cada etapa. En otras implementaciones, se proporciona con antelación una lista fija de valores para cada etapa. En otras implementaciones, A se mantiene fijo entre etapas.
Es instructivo seguir explícitamente qué datos se almacenan en la memoria de estado 239 en esta implementación y cómo cambia la memoria de estado 239 con cada una de las etapas anteriores. Para empezar, la memoria de estado contiene el parámetro original A0, así como parámetros (la media y el vector de varianza) que describen la distribución anterior original. Después de que el componente de modelo 237 se actualice para el primer par de entradas del usuario S(1) y U(1) habiendo leído los datos de la memoria de estado 239, guardará A1, una versión actualizada de A0, la distribución anterior original y los parámetros calculados de la nueva distribución posterior X (1). Una vez que se vuelve a llamar al componente de modelo 237 para manejar la siguiente entrada de usuario S(2),U(2), los datos en la memoria de estado se vuelven a leer. De nuevo, A1 se modifica a A2 por el componente de modelo 237 como se ha señalado anteriormente y se escribe en la memoria de estado 239, al igual que los parámetros actualizados para el X (2) posterior actualizado y los parámetros para el anterior original permanecen intactos nuevamente. Las siguientes etapas en la búsqueda y visualización de unidad de medios 204 se manejan de manera análoga.
En algunas implementaciones, el componente de IU 236 toma una entrada adicional del usuario que modifica A. Por ejemplo, el usuario puede presionar uno de los dos botones etiquetados con un signo más o menos donde una presión en más disminuirá el A usado en la siguiente etapa de una manera predefinida y una presión en el botón etiquetado con menos aumentará ese A. Intuitivamente, el botón más, en algunas implementaciones, significa que los resultados "llegarán" más rápido a la información de usuario más reciente proporcionada.
En algunas implementaciones, las distribuciones de probabilidad para cada una de las variables aleatorias X T son (»)
como sigue. Si el intervalo de i es un espacio m-dimensional, a continuación, la distribución de probabilidad p para
esta variable aleatoria está dada por
Figure imgf000027_0001
donde la constante de normalización Z
viene dada por
Figure imgf000027_0002
Por lo tanto, esta distribución está determinada únicamente por los dos vectores (M ’ - '- ’ Mk) y (CTi El primero de estos vectores se denomina vector de media, mientras que el último es la diagonal de la matriz de covarianza diagonal que, en el resto de este documento, se denomina vector de varianza. Dado que la matriz de covarianza es diagonal, esta forma de distribución normal multivariante no contiene términos cruzados, es decir, no hay sumando en el exponente que contenga un factor de la forma XsXt para valores distintos de s y t. Tiene la propiedad de que se factoriza en sus componentes:
Figure imgf000027_0003
Los factores qj son todas distribuciones normales unidimensionales con media pj y varianza
La distribución de
Figure imgf000028_0006
puede derivarse fácilmente. Si X ^ tiene un vector de media (¿ ^•••^ys .) y vector de varianza (Oyi*---*0^ .) (dónde syindica la dimensión del X j ASV del atributo de orden j) a continuación X n) también es de la forma anterior y su vector de media es ij = fJ.2i ■ ■ ■, M 2s2 >■ ■ ■> Mau - ■ MAsJ y su vector de 2 2 2 2 2 2
varianza es ( c r u , ... , ^ ,<j 21,...,<j 2s2 Por lo tanto, la distribución de X<n) viene dada por
Figure imgf000028_0001
donde
Figure imgf000028_0002
Un ejemplo es útil en este punto. Considere una colección de búsqueda 233 compuesta de tres atributos, cada uno de los dos primeros de dimensión 1 y el último de 3 dimensiones. A continuación, como un espacio vectorial, los ASV de la colección de búsqueda viven en un espacio vectorial de 5 dimensiones (1 1+3) y la distribución deX<0), es decir, es el producto de las tres distribuciones de X f \ X f ] y X f ] de la intención del usuario en el atributo dado que se dan por lo anterior. Explícitamente si
Figure imgf000028_0003
representan las distribuciones de
Figure imgf000028_0007
, respectivamente, a continuación, su producto es igual a
Figure imgf000028_0004
por lo tanto
X 0) tiene vector de media
Figure imgf000028_0009
y vector de varianza
Figure imgf000028_0008
Las siguientes observaciones sobre la inferencia y el muestreo de distribuciones tales como p son importantes en el resto de este documento. Supongamos que a uno se le da un conjunto de números {d 1,dz...,dk} y a uno le gustaría encontrar "la mejor" distribución normal unidimensional
Figure imgf000028_0005
de modo que estos números podrían representar muestras extraídas de esta distribución. Se observa de nuevo por conveniencia que la distribución está determinada únicamente por la media /j y su varianza o2. Un enfoque para resolver este problema es una aplicación del Teorema de Bayes de la siguiente manera. Uno comienza definiendo en primer lugar el espacio de todas las soluciones posibles, con una distribución de probabilidad sobre todos los parámetros posibles j ,a2 que la solución puede tomar. Esta distribución de probabilidad anterior se define mediante parámetros adicionales. Una elección frecuente para esta distribución es la distribución gamma normal y es habitual _ J _
(ya que facilita las fórmulas) definir esta distribución sobre la media y la inversa de la varianza <j2 , también llamada precisión. Esta distribución viene dada por
Figure imgf000029_0001
y, por lo tanto, está determinada por los cuatro parámetros /Jo,Ao,cto y /3o- La media de /j de esta distribución es iJo y la
media de t se sabe que es
Figure imgf000029_0005
Además, la moda de esta distribución (es decir, su valor máximo) está en ij = iJo y
Figure imgf000029_0004
A, Los cuatro parámetros iniciales se eligen usando conocimientos previos sobre el problema real al que se
enfrenta. Una aplicación del Teorema de Bayes revela que la distribución de ij,t dado que las observaciones {di,...,dk}
‘1 i
se extraen de es de nuevo una distribución normal-gamma
Figure imgf000029_0002
de modo que
Figure imgf000029_0003
dónde
Figure imgf000029_0006
Como se describe en http://en.wikipedia.org/wiki/Normalgamma_distribution, basándose en estas ecuaciones actualizadas, uno puede interpretar intuitivamente los parámetros de la siguiente manera. El parámetro ^ se interpreta como el número de observaciones que uno atribuye teóricamente a que han sido usadas para llegar a la distribución de probabilidad anterior. Si este número es grande en comparación con n, el número de puntos de muestra, a continuación, esto indica que uno está seguro acerca de que los puntos de datos anteriores y adicionales {di,...,dk} tendrán poco impacto en el desplazamiento de los parámetros. De manera similar, uno podría ver 2a0 como el número de observaciones que se usan para derivar la precisión de la anterior. En la mayoría de las implementaciones, este número de observaciones debe ser igual a ^0 y, por lo tanto, uno establece ^0 = 2a0. Sumando todo esto, en el caso en el que está interesado uno, la estimación de la media y precisión de la distribución normal dados los valores {di,...,dk} (es decir, la distribución posterior) es, a
continuación, cualquiera de
Figure imgf000029_0007
La primera de estas estimaciones es la moda (es decir, el punto de máxima verosimilitud), mientras que la última estimación se encuentra en el valor esperado de estos parámetros dada la distribución gamma normal descrita anteriormente. Algunas implementaciones usan ambas estimaciones dependiendo del contexto. La implementación descrita en el resto de este documento usa la última, pero, por supuesto, puede usarse la primera, en su lugar.
Volviendo al ajuste de una distribución multivariante con matriz de covarianza diagonal
Figure imgf000029_0008
la propiedad de factorización
Figure imgf000029_0009
descrita
anteriormente implica que si se le da a uno k puntos de muestra
Figure imgf000029_0010
a continuación, uno puede usar el hecho matemático descrito anteriormente para estimar la media y el vector de varianza de p por componentes, es decir, uno usa lo anterior para inferir la solución al problema para qi(xi) valores dados (dn,...,dki), para q 2 (X 2) valores dados (d12,...,dk2),...,para qm(xm) valores dados y, a continuación, agregar las nuevas medias y varianzas inferidas de estas soluciones unidimensionales en un vector de media y un vector de varianza para p. Dada la descripción anterior, en cada una de estas inferencias, el único parámetro necesario para determinar en cada una de ellas es qué valor lambda se usa. En la mayoría de las implementaciones, se usará el mismo parámetro lambda para cada una de estas inferencias.
6.2.1. Actualización basada en la unidad de medios seleccionada
Con referencia a la Figura 21 y la Figura 20, la notación y los hechos anteriores se usan para describir un ejemplo del componente de modelo 237 en la etapa 1. En la etapa 2102, se recupera la información almacenada en la memoria de estado 239. Esta información contiene un parámetro Ai que se usa para la inferencia, así como la distribución de la etapa anterior para X i-1), así como la distribución para la anterior original X 0). Como se explicó anteriormente, estas dos distribuciones se describen mediante su vector de media y un vector de varianza, cada uno de los cuales está compuesto por los vectores de media y varianza de las distribuciones de atributos correspondientes. Además, tanto el ASV de las MU seleccionadas como las no seleccionadas se indican por
Figure imgf000030_0001
y
Figure imgf000030_0002
Es conveniente recordar la notación
Figure imgf000030_0003
S(i),Uw se reciben del componente de IU 236. La Figura 20 ilustra un ejemplo de esta disposición usando un atributo bidimensional "a". El mapa en escala de grises de la imagen 2002 representa la distribución normal multivariante anterior de este atributo. Las cruces muestran los ASV en este atributo de las unidades de medios no seleccionadas, mientras que el punto muestra la ubicación de ASV de la unidad de medios seleccionada en la etapa i.
En la etapa 2104, se aplica el método de inferencia descrito anteriormente. Una variable aleatoria X w se infiere de la siguiente manera. Aunque en este punto se supone que existe una unidad de medios seleccionada, es conveniente registrar para más adelante que si la entrada de usuario no tuviera ninguna unidad de medios seleccionada, a
continuación, X (l) simplemente se establecería para ser igual a X /_1). De lo contrario, en primer lugar, se postula que esta variable aleatoria es una matriz de covarianza diagonal normalmente distribuida y se deriva considerando X i-1) su distribución anterior usando el ASV de la o las MU seleccionadas S(i) como el único punto o puntos de muestra. El valor de A usado en esta etapa de inferencia es Ai recibido de la memoria de estado 239 y se puede considerar como la cantidad de datos de la anteriorX '_1) de la que se infiere. Un valor grande de Ai implicaría que el punto o puntos de
muestra Sw dados tendrá poco impacto en la distribución X (,) en comparación con la anterior, es decir X (,) es poco diferente d e X /_1). Por el contrario, un valor pequeño de Ai significa que un punto de muestra Sw influirá en la inferencia
con más fuerza y X 1 puede ser muy diferente a X /_1).
Dado el análisis anterior, esta inferencia puede ser para cada atributo por separado, con los resultados individuales compuestos para proporcionar el resultado global. Concretamente, considerando el atributo etiquetado j y suponiendo J£-(i) _2 _2
que la distribución de A i viene dada por el vector de media ( / ) y vector de varianza ( CTi (donde k es la c(i) S ( ¡ ) _— í CÍO CÍO \ dimensión del atributo) y que el atributo de orden j de se describe por el vector bJ para b = 1,- ,Q.
\ Q
A continuación, de lo anterior, definiendo A = A¿ + Q ,á = 2 y para cada s=1,2,...,k
Figure imgf000031_0001
dónde
Figure imgf000031_0002
son la media y la varianza de
Figure imgf000031_0006
respectivamente.
En algunas implementaciones, el sistema a continuación estima
Figure imgf000031_0003
para cada s. Por tanto, al recopilar los
términos, la distribución de X
Figure imgf000031_0005
está definida únicamente por el vector de media (
Figure imgf000031_0007
y el vector de varianza (
Figure imgf000031_0004
Concatenando todos los vectores de media y todos los vectores de varianza para los atributos j=1,2,...,A
sucesivamente, a continuación, produce un vector de media y un vector de varianza para como se ha descrito anteriormente. La imagen 2004 muestra el resultado de la etapa 2104 en el ejemplo concret
Figure imgf000031_0009
scrito anteriormente.
El mapa en escala de grises indica la distribución inferida de X
Figure imgf000031_0008
para el atributo a. Como antes, las cruces indican la ubicación de ASV en este atributo de las unidades de medios no seleccionadas, mientras que el punto azul indica la ubicación de ASV de la unidad de medios seleccionada en este atributo a.
6.2.2. Actualización que incluye unidades de medios no seleccionadas
En la etapa 2106, se construye una función de penalización sobre la representación ASV de la colección de búsqueda 233 subyacente a todas las unidades de medios. El propósito de esta función es tener en cuenta información adicional que puede derivarse de la selección de una MU por el usuario. Hasta ahora, la etapa 2104 se ha centrado únicamente en modificar la distribución de objetivos de búsqueda prevista del usuario a X (l) realizando únicamente la inferencia teniendo en cuenta las unidades de medios seleccionadas y la etapa 2106 modifica esta distribución inferida de acuerdo con lo que el usuario podría haber seleccionado, pero decidió no hacerlo, es decir, los ASV de las unidades de medios no seleccionadas. Intuitivamente, la función de penalización hace lo siguiente.
En primer lugar, esta función se define en la representación de ASV del espacio de atributos de modo que su intervalo de valores está entre 0 y 1. Debe pensarse como una distribución de probabilidad no normalizada o distribución de creencias (es decir, no se integra a 1) tomando valores bajos donde el modelo piensa que es poco probable que el usuario busque unidades de medios y valores altos donde el modelo piensa que él/ella está. Estos valores se determinan basándose únicamente en lo que el usuario no hizo clic. Si esta distribución de probabilidad no normalizada se indica por f, a continuación, sea F la distribución de probabilidad obtenida al normalizar f (es decir, dividiendo por la integral de f). Para tener en cuenta la información en las unidades no seleccionadas, se considera el producto de F
con la distribución de X r(i
l )
> (indicado por X l> ■ F) y se aproxima mediante una distribución normal multivariante del tipo descrito anteriormente (con matriz de covarianza diagonal, es decir, descrita únicamente por una media y un vector de varianza). La variable aleatoria descrita por esta distribución es X 7 Esto se hace en las etapas 2108, 2110 y 2112 (y se muestra gráficamente para el ejemplo anterior en las imágenes 2006, 2008 y 2010) muestreando la distribución
X ^ ■ F como se describe a continuación y a continuación encontrando la distribución del tipo requerido (es decir, distribución normal con matriz de covarianza diagonal) de modo que se aproxime "mejor" a estos puntos de muestra. Hay muchas técnicas conocidas para realizar esta etapa final, cada una de las cuales toma un enfoque ligeramente diferente en cuanto a lo que hace que una aproximación sea "mejor". Tomar la media de la muestra y la varianza de la muestra para cada dirección de coordenadas en cada atributo es una de esas técnicas (de hecho, este método define "mejor" como "más probable" porque es la estimación de máxima verosimilitud). En algunas implementaciones, el método de inferencia descrito anteriormente se aplica nuevamente como se detalla a continuación.
6.2.2.1. Funciones de penalización
Ahora, se describen diversas implementaciones de la función de penalización. Dada la naturaleza de las distribuciones normales multivariantes descritas anteriormente, la inferencia con respecto a puntos de datos dados se puede hacer atributo a atributo. Como se describió anteriormente, esto implica que la etapa 2104 se puede realizar un atributo a la vez. Para las implementaciones en las que la función de penalización de la etapa 2106 también se define por atributo, ambas etapas se pueden realizar para cada atributo a la vez y los resultados se combinan posteriormente. Dada la breve descripción de las etapas 2108, 2110 y 2112 anteriores, descritas en detalle a continuación, esto también se cumple para estas etapas. En implementaciones del componente de modelo 237 en las que la función de penalización se define por atributo, las etapas 2104 a 2114 se implementan para cada atributo por separado y a continuación se combinan los resultados. En otras implementaciones, es decir, donde la función de penalización no puede definirse por atributo, las etapas 2104 a 2114 se implementan como se describe adicionalmente más adelante.
Una función de penalización usada en algunas implementaciones se define para cada atributo por separado. Para el atributo j de la dimensión kcon ASV para las n-ésimas unidades de medios no seleccionadas
Figure imgf000032_0003
definir la función de penalización Q:
Figure imgf000032_0001
donde los parámetros ars se eligen de la siguiente manera y donde M represe _n_ta el número de unidades de medios i
no seleccionadas proporcionadas. En algunas implementaciones, elegir <jrs = ojrsM *
dónde a es el valor de ASV de orden s del vector de varianza del atributo de orden j de la unidad de medios no seleccionada de orden r.
Se puede pensar que esta definición dice que, para cada unidad de medios no seleccionada, la distribución de probabilidad no normalizada de dónde el usuario aún podría estar interesado es una constante menos una distribución normal centrada en la unidad de medios no seleccionada, de modo que su valor allí es cero. Además, la matriz de
covarianza de esta distribución restada es, de nuevo, diagonal con un vector de varianza que es el de scalar multiplicado por M elevado a menos uno sobre la dimensión del espacio de atributos.
Figure imgf000032_0005
En algunas implementaciones, la definición anterior de crre se modifica a
Figure imgf000032_0004
para una constante dada c. Aunque se pierde la dependencia de la dimensión del atributo k (y, por lo tanto, la intuición del volumen descrita anteriormente), esto puede ser útil en la práctica.
En algunas implementaciones, se usa la siguiente variante de la definición anterior de una función de penalización que, de nuevo, se define por atributo. Con la notación anterior, Q se define como:
Figure imgf000032_0002
donde los sigmas se definen como anteriormente.
La diferencia entre esta fórmula y la última es que la expresión entre paréntesis se repite como exponente al final. El efecto de esto es hacer que las áreas penalizadas sean menos pronunciadas o más enfocadas en la MU no seleccionada. Esto se puede ver en la Figura 22, que ilustra una disposición de ASV de unidades de medios no seleccionadas en un atributo bidimensional. La imagen 2202 muestra el segundo factor de penalización, mientras que la imagen 2204 muestra el primer factor de penalización descrito anteriormente. En ambas imágenes, los ASV de las unidades de medios no seleccionadas en este atributo están representados por cruces. Al igual que con la primera función de penalización, la segunda se define por atributo.
Un ejemplo de una función de penalización que no se puede definir por atributo es el siguiente. Supongamos que el número de atributos es A y que s1,...,sa indican las dimensiones de estos atributos. Supongamos además que un punto general x en el ASV viene dado por las coordenadas ( u ’ ' " ’ -«’ •••’ A<), a continuación, con la notación anterior, la función de penalización se define de la siguiente manera
Figure imgf000033_0001
Ahora se describe un segundo ejemplo de una función de penalización de este tipo. En primer lugar, se describe para el caso especial donde hay precisamente una unidad de medios seleccionada por el usuario (es decir, Q=1). Su intuición proviene de las sombras trazadas por el sol en los movimientos planetarios del sistema solar transferidos a las representaciones de ASV del espacio de atributos. Cada unidad de medios no seleccionada se asocia con una cierta forma elipsoide y, a continuación, los puntos en ASV que están ocultos desde el último ASV seleccionado por estas formas se consideran penalizados por la función con un valor cero. Cualquier otro punto no se penaliza, es decir, la función de penalización es 1. De esta forma, asumiendo que las dimensiones de atributo están ordenadas y que la percepción del usuario reconoce este orden, las regiones excluidas pueden interpretarse como áreas que el sistema no esperaría que el usuario quisiera continuar buscando dada la elección realizada en la última selección.
Concretamente, con la notación anterior, dado un punto x = (x-ii,..., X A^ ) en ASV, a continuación, para cada unidad de medios no seleccionada
Figure imgf000033_0002
(/< = la cantidad
Figure imgf000033_0003
se define, donde <> indica el producto interno euclidiano en el espacio vectorial que contiene las coordenadas de ASV teóricas. Por definición qk es de modo que el punto Vk = S (,) q ( x - S \ l)) - U k) es perpendicular a P °r c(‘) tanto, si qk es mayor que 1 y menor que 0, a continuación, el punto más cercano en el rayo a través de ° i y x no c(i)
radica entre x y ° i en ese rayo. Por lo tanto, se define el valor Qk{x) = 0. Además, si qk es mayor que 0 y menor o tt(í)
igual que 1, a continuación, Qk{x) es 1 si y solo si la distancia desde Vk a u k es menor o igual que una cantidad dada Ek para cada k.
En algunas implementaciones, esta cantidad se elige como el promedio de las entradas Okt dadas anteriormente multiplicado por una pequeña constante (normalmente 0,1). El valor de la función de penalización devuelta es, a continuación, el producto de todos los Qk s para k = 1,...,M. En algunas implementaciones, el valor de Qk como se definió anteriormente no se establece a cero como se definió anteriormente, sino en una constante menor que 1 (es J_
decir 2). Si el número de unidades de medios seleccionadas proporcionado es mayor que uno, a continuación, el sistema calcula las funciones de penalización para cada unidad de medios seleccionada a su vez, y el producto de todo esto es un ejemplo de una función de penalización para este caso más general.
6.2.2.2. Muestrear la distribución penalizada
En la etapa 2108, se muestrea la distribución X (,) ■ F, es decir, se eligen puntos aleatorios en el ASV de la colección de búsqueda 233 que se distribuyen de acuerdo con esta distribución. La Figura 20 ilustra esto en el ejemplo descrito anteriormente. La imagen 2006 muestra la distribución X (,) ■ F para este atributo bidimensional que está etiquetado como j y la imagen 2008 muestra los puntos muestreados obtenidos en la etapa 2108. La etapa 2108 se realiza en v(i)
dos subetapas. Los primeros puntos de muestra se obtienen muestreando a partir de i . Dada la forma normal multivariante de esta distribución con matriz de covarianza diagonal, como se ha descrito anteriormente, el muestreo se puede realizar para cada eje de coordenadas por separado. Se usa cualquier algoritmo adecuado, por ejemplo, el algoritmo de Box-Mueller, para generar muestras unidimensionales de esta distribución normal y su agregación vr(0
produce un conjunto de puntos de muestra de la distribución de i . El número de muestras requeridas varía con la implementación específica, pero normalmente se usan del orden de 30.000 muestras. Para cada punto de muestra de este tipo, se realiza a continuación una segunda subetapa de la etapa 2108 evaluando el valor de este punto de muestra en la función de penalización dada. Se extrae una variable aleatoria uniforme con valor entre 0 y 1. Si esta variable se extrae con un valor mayor que el valor de la función de penalización en el punto de muestra, el punto de muestra se acepta como un punto de muestra de salida de la etapa 2108, de lo contrario, se rechaza.
En algunas implementaciones, se escala la función de penalización para que sus valores no sean demasiado pequeños. Específicamente, se escala la función de penalización de tal manera que el punto de muestra con el valor más grande de la función de penalización debería tener una etapa de probabilidad alta (por ejemplo, el 98 %) de ser aceptado. Por ejemplo, se evalúa la función de penalización para todos los puntos de muestra de la primera subetapa.
A continuación, se escala el conjunto completo de valores de la función evaluada de modo que el valor más grande sea p (0,98, por ejemplo). Posteriormente, se lleva a cabo el procedimiento de selección aleatoria con los valores de la función escalados, de la manera descrita anteriormente.
En la etapa 2110, se modifican los puntos de muestra resultantes que se encuentran fuera del intervalo de valores del atributo para que simplemente se encuentren en el borde de un intervalo predeterminado de valores de coordenadas. Por ejemplo, en implementaciones en las que cada coordenada de ASV en cada atributo tiene un valor entre -1 y 1, cualquier coordenada de un punto de muestra en cualquier atributo mayor que 1 se reemplaza por 1. De manera similar, si alguno de tales valores es menor que 1, a continuación, ese valor se reemplaza por -1. Por supuesto, son igualmente posibles otros valores límite de coordenadas para cada atributo.
En la etapa 2112 la variable aleatoria X® se infiere como una aproximación a los puntos de muestra de X (l) construidos en la etapa 2110 dada la restricción de que su distribución sea normal con matriz de covarianza diagonal. Hay muchas técnicas conocidas que podrían usarse para realizar esta etapa (entre las que destaca el uso de estimadores de la media y la varianza de muestra sencillos para cada dimensión en cada atributo). En algunas implementaciones, se usa el método de inferencia descrito en la fórmula (GU) en detalle anteriormente con el parámetro A tomándose como 1. La imagen 2010 muestra el resultado del ejemplo anterior, donde se representa la distribución resultante por un mapa en escala de grises. El ASV de la unidad de medios seleccionada en este atributo bidimensional se representa por un punto y los de las unidades no seleccionadas por cruces. Concretamente, si los puntos de muestra obtenidos de la etapa 2110 en el atributo de orden j vienen dados por (dj-\,...,djr) (es decir, T muestras) y si los valores de ASV
del punto recibido de orden están dados por X (,) (a continuación, el atributo de orden es de dimensión k), a continuación, la distribución de X*'5 se define de manera única de la siguiente manera.
El parámetro A en (GU) se define como 1,
Figure imgf000034_0003
Figure imgf000034_0001
Figure imgf000034_0004
A continuación, la distribución X® se define únicamente por el vector de
mediia ¡
Figure imgf000034_0005
y el vector de varianza
Figure imgf000034_0002
6.2.3. Concatenación multivariante
La descripción anterior se ha realizado en términos de un solo atributo. Como se describió anteriormente, la dimensión de los atributos se trata de forma independiente y, por lo tanto, la etapa 2112 forma los vectores de media y varianza para la distribución a través de todos los atributos ejecutando el índice a través de todas las dimensiones de los atributos en cuestión, de hecho, concatenando los vectores de media y varianza para cada atributo. Es un vector de media y varianza que describe únicamente la distribución de X*'5. El componente de modelo 237 escribe a continuación estos vectores en la memoria de estado 239 para que se lean en una etapa i+1.
6.2.4. Pesos de prioridad teórica de la información
En la etapa 2114, se determinan los pesos de prioridad, uno para cada atributo. Estos valores son la salida del componente de modelo 237 y se proporcionan al componente de extremo trasero 238.
Como se describió anteriormente, se pueden interpretar intuitivamente como la importancia que se infiere que el usuario le da a un atributo dado. En algunas implementaciones de la etapa 2114, se usa una medida de la teoría de la información para concretar la intuición. De hecho, se puede considerar que esta implementación mide cuánta información ha obtenido el modelo del proceso que condujo a la distribución X*'5 desde el inicio, es decir, desde que comenzó con la distribución anterior original de X*0). Por lo tanto, esta implementación equipara la información obtenida desde el inicio con la creencia actual sobre el usuario con la importancia inferida del usuario.
Concretamente, en algunas implementaciones, el peso de prioridad para el atributo j se define como £>kl |x *0)j vi}) Y'1'1
es decir, la divergencia de Kullback-Leibler entre la distribución de i i . Explícitamente, si la distribución i (i)
tiene un vector de media (Mi y vector de varianza
Figure imgf000035_0005
si X<0) tiene un vector de media (
Mi (0)
Figure imgf000035_0004
a continuación, este peso de prioridad es igual a
Figure imgf000035_0001
Véase [http://en.wikipedia.org/wiki/Multivariate normal distributionl.
En algunas implementaciones, se usan otras medidas de información. En algunas implementaciones, se usa una variante de la divergencia Kullback-Leibler que ignora el desplazamiento medio. Con la misma notación anterior, el peso de prioridad viene dado por
Figure imgf000035_0002
En algunas implementaciones, una de estas medidas de información se pasa a través de una función sigmoidea para calcular los pesos de prioridad. No muy diferente de la implementación geométrica descrita anteriormente, esto da como resultado que los pesos de prioridad cambien en gran medida en un pequeño intervalo de dominio. Los pesos de prioridad están dados por lo tanto por
Figure imgf000035_0003
Donde t es una de las dos medidas anteriores y c es una constante, por ejemplo, c=3 en algunas implementaciones.
En otras implementaciones de la etapa 2114, se usa la medida de información de Kullback-Leibler, como se ha descrito anteriormente, para generar los pesos de prioridad, pero no se usa la divergencia de Kullback-Leibler entre X® y X<0) sino entre etapas sucesivas X® y X ''1).
Finalmente, en la etapa 2116, se proporcionan los pesos de prioridad calculados en la etapa 2114 al componente de extremo trasero 238 como salida y se almacena la distribución de la variable aleatoria X® calculada en la etapa 2112 anterior en la memoria de estado 239. El componente de extremo trasero 260 proporciona unidades de medios al componente de IU 236, por ejemplo, como se ha descrito anteriormente con referencia a la Figura 5a (véase la sección 5).
6.3. Unidades de medios representadas por distribuciones de probabilidad
Se describen ahora de nuevo implementaciones adicionales de la búsqueda y presentación de unidades de medios 204 con referencia a la Figura 5a. Esta parte de la descripción también es relevante para las implementaciones descritas a continuación con referencia a la Figura 5b como se describe en la sección 7.3. a continuación. Una diferencia entre estas implementaciones y las probabilísticas descritas anteriormente es que la colección de búsqueda 233 representa unidades de medios mediante conjuntos de características que definen distribuciones y no conjuntos de valores de atributos. De hecho, el proceso señalado en la Figura 3 y la descripción de la etapa 311 anterior significan que, usando uno de los algoritmos analizados anteriormente (tal como ELO o Glicko), una distribución normal (multivariante) del tipo descrito en detalle anteriormente y que representa la puntuación inferida se obtiene directamente como salida de los algoritmos de clasificación. La matriz de covarianza es diagonal y, por lo tanto, la distribución se define únicamente tanto por un vector de media como de varianza, y representando cada entrada la media inferida y la varianza de la clasificación de un atributo respectivo. La implementación analizada ahora reemplaza los puntos ASV de la representación analizada inicialmente con distribuciones correspondientes, en algunas implementaciones específicas definidas por una media de puntuación y varianza para cada atributo obtenido como resultado de la etapa 311.
Con referencia a la Figura 5a (y la Figura 5b), el componente de IU 236 no necesita ninguna modificación en esta estructura aparte de que recibe como parte de los metadatos tanto el vector de media como de varianza en lugar de solo el vector de atributos de puntos y emite esos mismos datos al componente de modelo 237. Para trabajar con esta representación de ASV, el proceso de la Figura 21 se adapta de la siguiente manera. La etapa 2102 permanece sin cambios. En la etapa 2104, en lugar de Sw que es un vector de puntos que representa el ASV de las unidades de medios seleccionadas en la colección de búsqueda 233, estas cantidades ahora están dadas por dos vectores, el vector de media y el vector de varianza, respectivamente. Se observa que, si la entrada de usuario no contiene una unidad de medios seleccionada, este vector está vacío.
Como se describió en detalle anteriormente, si hay al menos una unidad de medios seleccionada como entrada de usuario, la actualización de la inferencia en la etapa 2104 se realiza en cada distribución de atributos. X J 0-1)
. El cambio de un punto a una distribución para cada MU se maneja tomando para cada b = una muestra de tamaño T de rO)
la distribución que representa bJ a través de, por ejemplo, T= 30.000 puntos. Dados estos puntos de muestra QT d 1 = (d 11,...,d1k),...,dQT = (doT ,1,...,doT,k) en el espacio vectorial k dimensional de las Q unidades de medios seleccionadas, se usa de nuevo el método bayesiano de inferencia que usa una distribución anterior gamma normal descrita en detalle anteriormente para encontrar la media ^ y varianza para cada s = 1,2 ,...,k de
usando los valores numéricos ( dis,...,dQT,s ) como puntos de datos. Concretamente, se reemplaza la ecuación (U1) anterior por la siguiente: sea á = Ai QT y, para s = 1 ,...,k
Figure imgf000036_0001
dónde
Figure imgf000036_0002
son la media de la muestra de datos y la varianza de la muestra de datos, respectivamente. En algunas implementaciones Ai anterior se reemplaza por 4/ ■ QT para conservar la función intuitiva de lambda de proporcionar una medida de cuánto debe pesar lo anterior cuando se actualiza a lo posterior. De nuevo, la estimación de la media y la varianza de la coordenada de orden s de la distribución de J usada en la mayoría de las implementaciones es
Figure imgf000036_0006
respectivamente, para toda s.
Concatenando las medias y las varianzas así definidas para estas s, se obtiene el vector de media y varianza Y (crj2,...,cr^2) que describe la distribución de
Figure imgf000036_0007
mediante la etapa 2104.
La concatenación de estos vectores de nuevo para toda j da como resultado los vectores de media y varianza de
Figure imgf000036_0005
como se describió anteriormente.
En el caso de que no haya unidad de medios seleccionada, como se ha descrito anteriormente,
Figure imgf000036_0004
j se define como igual a J y, así,
Figure imgf000036_0003
para toda s = 1 , -,k- Las funciones de penalización usadas a continuación en la etapa 2106 solo cambian en dos detalles menores: En primer lugar, las funciones de penalización que requieren al menos una unidad de medios seleccionada como entrada de usuario solo son válidas para la misma cantidad de unidades de medios seleccionadas en el caso actual. En 2
segundo lugar, la expresión de todas las fórmulas es la misma pero las cantidades °Vs son ahora las varianzas que provienen directamente de la unidad de medios en cuestión en lugar de entidades derivadas.
El resto de las etapas en la Figura 21 siguen siendo las mismas. En particular, en la etapa 2108, el producto de la distribución de X (^ ] multiplicado por la función de penalización como se define anteriormente se muestrea de la misma manera que se ha descrito anteriormente con referencia a la etapa 2110 y los valores de salida de muestra se modifican como se ha descrito anteriormente. La inferencia de la distribución de X® usando estos puntos de muestra usando el método anterior bayesiano gamma normal como en la ecuación (U2) con parámetro A = 1 no cambia con relación a la descripción anterior, al igual que la fórmula (U3) en la etapa 2114 que usa una de las medidas de información descritas en detalle anteriormente de la misma manera. El vector de media y de varianza de la distribución inferida X® se escribe a continuación en la memoria de estado 239 y los pesos de prioridad calculados en la etapa 2114 se entregan al componente de extremo trasero 238.
Esto completa la descripción de la implementación con referencia a la Figura 5a, es decir, la estructura probabilística en la que el componente de modelo 237 solo emite pesos de prioridad.
Se observa que, la descripción anterior también describe una implementación del componente de modelo 237 con referencia a la Figura 5b añadiendo a los pesos de prioridad de salida una submuestra de puntos de muestra generados en la etapa 2110.
6.4. Pantalla de unidad de medios basada en ejes
Habiendo descrito varias implementaciones de la búsqueda y presentación de unidades de medios 204 anteriormente con referencia a la Figura 5a, se describe una metodología de búsqueda diferente que puede realizarse por todas las implementaciones anteriores con pocas modificaciones.
Esta metodología se puede implementar mediante todos los ejemplos descritos anteriormente que satisfacen las siguientes condiciones: La entrada de usuario comprende solo una unidad de medios seleccionada y al menos una unidad de medios no seleccionada, la salida del componente de modelo 237 contiene pesos de prioridad para atributos y cuya colección de búsqueda 233 contiene al menos dos atributos. El único componente que actuará de manera diferente a las implementaciones descritas anteriormente es el componente de extremo trasero 238 y, potencialmente, el componente de IU.
Dados los pesos de prioridad y otros valores derivados de los datos de la colección de búsqueda 233 estática para un atributo dado, en una etapa dada en la búsqueda y visualización de unidades de medios 204, el sistema puede clasificar todos los atributos y seleccionar los dos primeros clasificados. En algunas implementaciones, esta etapa es la primera etapa en el algoritmo de búsqueda, pero, en otras implementaciones, se le puede dar al usuario la elección de activar esta característica si el componente de IU le proporciona una opción para hacerlo. En algunas implementaciones, a las que se hace referencia en este punto como la representación de unidades de medios más diversa, esta clasificación se hace usando los pesos de prioridad de cualquier atributo dado y una medida de diversidad definida por la varianza de los valores de coordenadas de las unidades de medios en a Sv para el atributo dado. A continuación, se toma el producto del peso de prioridad y esa varianza. A continuación, todos los atributos se clasifican en orden decreciente de esta cantidad.
Dado que el proceso de recuperación en todas las colecciones de búsqueda 233 es por atributo, el componente de extremo trasero 238 ahora recupera unidades de medios como antes, pero considerando solamente estos dos atributos seleccionados. Estas MU a continuación se procesan como se ha descrito anteriormente y se entregan al componente de IU 236. El componente de IU puede representar estas unidades de medios tal cual, o puede presentar los dos ejes elegidos y las unidades de medios junto a ellos.
En algunas implementaciones, el componente de IU obtiene piezas de información sencilla adicionales del componente de extremo trasero 238: qué icono de MU 206 pertenece a qué eje y el orden a lo largo de cada eje en el que debe disponerse el icono de unidad de medios 206. En otras implementaciones, si los atributos seleccionados son de dimensión uno, se suministran los valores de coordenadas relativas por el componente de extremo trasero 238 de modo que el componente de IU 236 represente estos iconos de unidad de medios 206 en una posición que corresponde a una proyección sobre estos atributos.
Además de la búsqueda y visualización de unidades de medios alternativas 204 descrita anteriormente (tal como el proceso de unidad de medios más diversa), en muchas implementaciones de esta metodología de búsqueda, el componente de IU 236 y el componente de extremo trasero 238 se modifican aún más para proporcionar la característica de desplazamiento infinito a lo largo de un eje. Esto se establece de la siguiente manera. Si el usuario del componente de IU 236, antes de proporcionar una entrada de selección, desplaza la pantalla a través de una acción de desplazamiento (tal como un movimiento deslizante en un ordenador de tableta, presionando las teclas de flecha en un teclado, usando una barra de desplazamiento, etc.) en la dirección de uno de estos ejes de atributos, en algunas implementaciones, el componente de la IU entrará en contacto con el componente de extremo trasero 238 y solicitará unidades de medios adicionales. En algunas implementaciones, el componente de IU, que ha conservado tanto el nivel de profundidad desde la última llamada del componente de modelo 237 así como los pesos de prioridad, ejecuta una solicitud de recuperación de unidad de medios de la colección de búsqueda 233, como lo haría como se ha descrito anteriormente para todas las implementaciones con referencia a la Figura 5a, usando como entrada una de las unidades de medios más alejadas con respecto a los atributos por los que se desplaza el usuario que se ha mostrado. Las unidades devueltas se filtrarán de nuevo por los dos atributos previamente seleccionados y el resultado se entregará al componente de IU 236. Estas unidades de medios recién recibidas ahora se pueden usar para llenar el espacio de desplazamiento que solicitó el usuario. Este proceso continuará hasta que el usuario haga una selección.
7. Implementación probabilística basada en muestreo
Con referencia a la Figura 5b, se describe un grupo diferente de implementaciones de la búsqueda y presentación de unidades de medios 204. Estas implementaciones pueden manejar entradas de usuario más generales: puede consistir en cualquier cantidad de unidades de medios seleccionadas, incluyendo la selección vacía (es decir, ninguna seleccionada) y no impone restricciones en el número de unidades de medios no seleccionadas. Además, no se hacen suposiciones sobre el número de unidades de medios que el componente de IU 236 entrega al componente de modelo 237 en etapas sucesivas. Teniendo en cuenta la distribución penalizada en la imagen 2006 que a continuación se muestrea en la etapa 2108 como se ha descrito anteriormente, surge la pregunta de por qué no tomar esta distribución de probabilidad muestreada complicada no normalizada como una forma de permitir que el componente de extremo trasero 238 encuentre nuevas unidades de medios para el componente de IU 236. Más precisamente, esta implementación devuelve, junto con los pesos de prioridad, un conjunto de ASV muestreados en las etapas 2108 y 2110. El componente de extremo trasero 238 a continuación convierte estos ASV, denominados en este punto como puntos virtuales, en unidades de medios reales en la MUM que se pueden mostrar al usuario. El componente de IU es como se ha descrito anteriormente, aparte del hecho de que no proporciona su salida (la entrada de usuario de las unidades de medios seleccionadas y no seleccionadas y sus metadatos) al componente de extremo trasero 238 sino únicamente al componente de modelo 237. Por lo tanto, en estas implementaciones, la selección de MU para presentar basándose en la distancia de todas las MU seleccionadas, incluyendo las listas de vecindad que codifican las relaciones de distancia, se reemplaza, en efecto, muestreando las MU para su presentación basándose en el modelo de intención de un usuario con respecto al objetivo de búsqueda.
7.1. Componente de modelo 237
Ahora se describen los cambios en la implementación del componente de modelo 237 con respecto al descrito con referencia a la Figura 21 anterior. En una primera implementación, los conjuntos de características que describen las unidades de medios se consideran conjuntos de valores de atributos en lugar de distribuciones de probabilidad. Los valores de entrada son los mismos y las etapas 2102 a 2114 descritas en detalle anteriormente continúan sin cambios. Además, la etapa 2114 en las implementaciones descritas en este punto selecciona un número predeterminado de puntos de muestra que fueron la salida de la etapa 2110 (en algunas implementaciones, este número es 100) y los suministra como salida al componente de extremo trasero además de los pesos de prioridad. Para garantizar que esta etapa adicional es posible, un número suficiente de puntos de muestra debe pasar la etapa 2108 (y por lo tanto también la etapa 2110). La técnica de muestreo descrita anteriormente casi garantiza esto para la mayoría de los escenarios y se requiere un número razonablemente pequeño de puntos virtuales en comparación con las muestras tomadas en la primera etapa en la etapa 2108 como se ha descrito anteriormente. No obstante, para asegurarse, en algunas implementaciones, la primera etapa en la etapa 2108 se repite hasta que la salida de la etapa 2110 proporcione un número suficiente de puntos virtuales (es decir, igual o mayor que el número anterior).
7.2. Componente de extremo trasero 238
Además de los cambios anteriores a los procesos asociados con el componente de modelo 237, el componente de extremo trasero 238 se modifica de la siguiente manera. El componente de modelo 237 proporciona al componente de extremo trasero 238 pesos de prioridad para cada atributo y los puntos virtuales. El componente de extremo trasero 238 usa estos para encontrar las MU para enviar al componente de IU 236. Con referencia a la Figura 23, en la etapa 2302, el componente de extremo trasero 238 recibe los puntos virtuales y los pesos de prioridad. En la etapa 2304, usando los pesos de prioridad, se define una nueva medida de distancia (es decir, una medida de similitud) como una suma de las distancias en cada ASV de atributo ponderado por los pesos de prioridad correspondientes para cada par de puntos virtuales y (posiblemente cercanos) las MU como se explica a continuación. Concretamente, si x,y indica dos puntos virtuales, si d(x,y) indica la distancia de los componentes de x e y en el espacio de atributos j con respecto a una medida de distancia en ese atributo y si W1,...,wa indica los pesos de prioridad para los espacios de atributos 1,...,A, respectivamente, entonces la medida de distancia ponderada se define por
Figure imgf000038_0001
El proceso 2306 a continuación encuentra la unidad de medios más cercana para cada punto virtual con respecto a la medida de distancia ponderada en la representación de ASV de la colección de búsqueda 233.
7.2.2. Resolución de punto virtual - lista clasificada
En detalle, en una primera implementación, el proceso 2306 hace lo siguiente para cada punto virtual. Todos los ASV de unidades de medios en la colección de búsqueda 233 dada se mantienen en la memoria de acceso aleatorio y en la etapa 2308, se encuentra la MU que tiene un ASV más cercano al punto virtual dado. Por ejemplo, para un punto virtual dado, se determina la distancia del mismo a cada uno de estos ASV, se produce una lista clasificada y se selecciona el más cercano de la lista. La etapa 2310 comprueba si la MU más cercana se ha añadido previamente a una lista de resultados. En caso afirmativo, la MU se descarta y se comprueba la siguiente más cercana (por ejemplo, la siguiente en la lista clasificada). Si la MU comprobada aún no está en la lista de resultados, se añade en la etapa 2312. La etapa 2314 comprueba si el punto virtual dado fue el último recibido en la etapa 2302 y, en caso afirmativo, la MU en la lista de resultados o un subconjunto de ellos se envían al componente de iU 236 para su visualización en la etapa 2316. Las MU que van a enviarse se seleccionan para enviar al componente de IU 236 como se ha descrito anteriormente para otras implementaciones. De lo contrario, el proceso regresa a la etapa 2308 para encontrar la MU más cercana para el siguiente punto virtual.
7.2.3. Resolución de punto virtual - base de datos relacional
Con referencia a las Figuras 24 a 26, ahora se describen diferentes implementaciones del componente de extremo trasero 238 relacionado con la Figura 5b para convertir puntos virtuales en unidades de medios. Si bien la implementación de clasificación descrita anteriormente con referencia a la Figura 23 encontrará la unidad de medios más cercana a un punto virtual en cuestión, requiere muchos recursos computacionales para grandes conjuntos de datos. Para solucionar este problema, las siguientes implementaciones, en efecto, discretizan la colección de búsqueda 233 en un número finito de volúmenes (intervalos para atributos unidimensionales, áreas para atributos bidimensionales, volúmenes para atributos tridimensionales, hipervolúmenes para atributos dimensionales más grandes,...). Una estructura de datos se define con un número de niveles correspondientes a niveles de granularidad de discretización, como se describirá ahora. Si bien estas implementaciones requieren menos recursos computacionales, devuelven unidades de medios que están cerca de un punto virtual dado, pero no se puede garantizar que sean las más cercanas a ese punto.
Con referencia a la Figura 24, estas implementaciones se basan en una estructura de base de datos relacional que comprende una base de datos relacional para cada nivel de granularidad (k) con claves que identifican el volumen (intervalo, área, volumen, hipervolumen,...) denominado en este punto como un cubo para facilidad de presentación, así como la ubicación del cubo dentro de la colección de búsqueda 233. Por tanto, las claves de estas bases de datos relacionales son identificadores de cubo y los valores son las unidades de medios que contiene cada cubo. En lugar de usar bases de datos relacionales separadas, se podría hacer referencia a cada cubo mediante una clave que comprende un identificador del nivel en el que se encuentra el cubo y el ID del cubo (o claves correspondientes separadas). El cubo en el nivel 0 comprende toda la colección de búsqueda 233, es decir, todas las unidades de medios. En el nivel 1, hay 2An cubos, donde n es el número de dimensiones del atributo en cuestión. En el nivel 2, hay 4An cubos, y así sucesivamente, de modo que en cada nivel consecutivo cada cubo se divide en cubos cada vez más pequeños. Por tanto, para el nivel k hay nk= (2Ak)An cubos. En cada nivel, los cubos se subdividen en cubos de igual tamaño, de modo que la longitud del lado de cada cubo es 2A{-k} veces el intervalo de valores de coordenadas L, por ejemplo, L=2 en implementaciones donde los valores de coordenadas están entre -1 y 1.
Un proceso para crear la estructura de la base de datos descrita anteriormente se describe ahora con referencia a la Figura 25. En la etapa 2502, la longitud del lado del cubo para el nivel k se establece a L(2A{-k}). En la etapa 2504, se crea la base de datos de nivel k creando una entrada de mapa de función de troceo para cada unidad de medios, es decir, asociando cada unidad de medios con el identificador de cubo del cubo en el que se ubica. A continuación, se itera la etapa 2506 para crear niveles cada vez más gruesos de k decreciente. En la etapa 2508, se combinan 2An cubos vecinos en un nuevo cubo más grande con longitudes de lado L(2A{-(k-1)}) para proporcionar el nivel k-1. K se reduce en uno en la etapa 2510 para indexar el siguiente nivel y se crea la base de datos para el nivel k asociando las entradas (unidades de medios) asociadas con los cubos constituyentes del nivel k+1 que se combinaron en la etapa 2508 con el nuevo cubo más grande respectivo en el nivel k, en la etapa 2512. Finalmente, la etapa 2514 comprueba si se ha alcanzado el nivel k=0 y termina el proceso, en caso afirmativo. Si no, el proceso regresa a la etapa 2508. En algunas implementaciones, para ahorrar espacio de memoria, los ID de cubo contra los que no se almacena ninguna unidad de medios se retiran de cada nivel, por ejemplo, se retiran del nivel k antes de la primera operación de fusión.
7.2.4. Recuperación de punto virtual - base de datos relacional
Con referencia a la Figura 26, se describe un método para recuperar una unidad de medios para un punto virtual dado de una colección de búsqueda 233 dispuesta como en la Figura 24. Un proceso de recuperación comienza en la etapa 2602 en el que un nivel a procesar se establece en el nivel k. En la etapa 2604, se accede a la base de datos en este nivel para determinar si contiene un identificador de cubo para un cubo que contiene el punto virtual. En las implementaciones donde no se retiran los cubos vacíos, esta comprobación se cambia para buscar un identificador de cubo para un cubo no vacío que contiene el punto virtual. En alguna implementación, esto se hace redondeando los valores de coordenadas reales del punto virtual al múltiplo de 2A{-k} más cercano del intervalo de valores de coordenadas L para calcular una ubicación de cubo correspondiente.
Si no se encuentra ningún cubo coincidente (no vacío), la etapa 2604 comprueba si se ha alcanzado k=0 (un solo cubo) y, en caso afirmativo, devuelve un mensaje de error que indica que la base de datos está vacía. De lo contrario, k se reduce en uno en la etapa 2608, y el proceso regresa a la etapa 2604.
Si, por otro lado, se encuentra un cubo (no vacío) que contiene el punto virtual, algunas o todas las unidades de medios en ese cubo se devuelven para su procesamiento adicional para determinar un número de unidades de medios que se enviarán al componente de IU 236 para su presentación al usuario.
Dependiendo del número de unidades de medios en el cubo identificado, en la etapa 2610, se emplean procesos alternativos para seleccionar la unidad de medios que va a devolverse para el punto virtual en cuestión. En el caso de que el número de unidades de medios del cubo en cuestión esté por debajo de un nivel umbral determinado por los recursos informáticos que se dedicarán a esta etapa, las unidades de medios se clasifican basándose en su distancia (por ejemplo, usando la medida de distancia de suma ponderada analizada anteriormente) desde el punto virtual y se devuelve la unidad de medios más cercana al punto virtual (u otra unidad de medios cercana al punto virtual). Si el número de unidades de medios en el cubo está por encima de este número umbral, las unidades de medios se submuestrean, por ejemplo, aleatoriamente, para obtener un número menor de unidades de medios, por ejemplo, por debajo del número anterior, y a continuación se aplica el proceso de clasificación y selección. del mismo modo. En otras implementaciones, se selecciona una unidad de medios que va devolverse aleatoriamente de las unidades de medios dentro del cubo identificado en la etapa 2604. En cualquiera de estos casos, la unidad de medios identificada de la etapa 2610 se usa a continuación como salida de la etapa 2308 analizada anteriormente en relación con la Figura 23. En aún otras implementaciones, en la etapa 2308 se usa una lista sin clasificar de todas o algunas de las unidades de medios en el cubo identificado en lugar de la unidad de medios más cercana y el resto de la etapa 2306 se adapta en consecuencia.
7.3. Unidades de medios representadas por distribuciones de probabilidad
Para implementaciones de la búsqueda y visualización de unidad de medios 204 descritas anteriormente con referencia a la Figura 5b, se puede observar que la implementación descrita en la sección 6.3. también se puede aplicar a la Figura 5b y describe bien y completamente la adaptación del componente de IU 236 y el componente de modelo 237 al caso de las unidades de medios que se representan por distribuciones de probabilidad a través de ASV en lugar de solo puntos en ASV. El componente de extremo trasero 238 debe cambiar en consecuencia y se implementa reemplazando la medida euclidiana de similitud con respecto a los puntos virtuales recibidos del componente de modelo 237 por una medida basándose en los puntos virtuales y la distribución de probabilidad para cada unidad de medios para seleccionar unidades de medios para presentar al componente de IU 236.
Con referencia a la Figura 27, en algunas implementaciones, para cada unidad de medios se calcula el producto de todos los valores de distribución en cada uno de los puntos virtuales dados. Más precisamente, si una unidad de medios dada M tiene una distribución ím y si los puntos virtuales proporcionados por el componente de modelo 237
están etiquetados porpv..,pz, a continuación, el producto
Figure imgf000040_0003
Se calcula para cada unidad de medios y todas las unidades de medios se clasifican en orden decreciente basándose en el valor del producto. Concretamente, si para la unidad de medios M la distribución ím viene dada por un vector de media (piwi,...,piwn) y un vector de varianza ( 2 2
a Mi >• • • > aMn) y si p, =(p,i,...,p,n) para cada i=1,2,...,Z, a continuación
Figure imgf000040_0001
Las unidades de medios seleccionadas para mostrarse al componente de IU 236 se toman a continuación de la parte superior de ese orden de clasificación.
La medida de similitud basándose en la distribución ím y puntos de muestra pi,- ,pz no tiene que ser el producto de los valores de la distribución en estos puntos de muestra. En algunas implementaciones, se usa la suma de estos valores, es decir
Figure imgf000040_0002
se usa para clasificar las unidades de medios y a continuación proporcionar las mejores al componente de IU 236.
En otra implementación, la medida usada es el máximo de los valores para cada j = 1,-,Z.
En algunas implementaciones de este proceso, los vectores de media y varianza que describen las distribuciones de las unidades de medios en la colección de búsqueda 233 se mantienen en la memoria de acceso aleatorio (RAM) y los cálculos y la clasificación se realizan sobre la marcha.
7.4. Implementación de la búsqueda y visualización de unidades de medios más diversas en la estructura de muestreo probabilístico
De manera análoga a la implementación del proceso de búsqueda de unidades de medios más diversas descrito anteriormente en la estructura geométrica, ahora se describe una implementación de esto para las implementaciones de muestreo (Secciones 7.1-7.3).
De manera similar a la descripción anterior en la otra estructura, solo se debe modificar el trabajo del componente de extremo trasero 238 y el componente de IU 236. De hecho, la modificación del componente de IU es precisamente la misma que la descrita anteriormente. De forma similar a lo anterior, se seleccionan dos atributos basándose tanto en los valores de prioridad dados como en una estadística de los datos de ASV estáticos en el espacio de representación semántica 233 para cada atributo. Específicamente, en algunas implementaciones, todos los atributos se clasifican de acuerdo con el producto del valor de prioridad y la varianza de los valores de coordenadas de atributo de todos los valores de ASV de las unidades de medios dadas en la colección de búsqueda 233 especificada en cuestión.
Cuando el componente de extremo trasero 238 recibe puntos virtuales del componente de modelo para determinar nuevas unidades de medios del espacio de representación semántica 233 para presentar al componente de IU de acuerdo con las implementaciones del componente de modelo 237 descrito anteriormente, las etapas descritas anteriormente para cada implementación se modifican de la siguiente manera. En las implementaciones donde la colección de búsqueda 233 consiste en puntos (y no distribuciones) en ASV, a continuación, con referencia a la Figura 23, la métrica de distancia definida en la etapa 2304 y se usa en la etapa 2308 repetidamente, es solo la suma ponderada de esas dos distancias de los atributos elegidos y nada más. El proceso descrito en la Figura 23 se modifica por lo tanto para proporcionar la salida prevista y las unidades de medios devueltas en la etapa 2316 se entregan al componente de IU 236. El componente de IU 236 a continuación muestra las unidades de medios como se describe para las implementaciones anteriores.
Además, la característica de desplazamiento finito descrita anteriormente también se implementa en algunas implementaciones. Cuando el componente de IU solicita unidades de medios adicionales a lo largo de un valor de atributo dado, se llama al proceso modificado descrito anteriormente con referencia a la Figura 23 usando el ASV de la MU más lejana mostrada (como se ha descrito anteriormente) al usuario con respecto al atributo de desplazamiento dado, o proporcionando unos pocos puntos virtuales espaciados uniformemente que continúan linealmente la trayectoria bidimensional dada que el usuario está tomando traducida en el espacio de atributos y proporcionando los resultados 2316 de vuelta al componente de IU.
7.5. Implementación de solo muestreo.
Ahora se describe una implementación adicional de la búsqueda y visualización de unidad de medios 204 con referencia a la Figura 5b, en la que no se calculan pesos de prioridad. El componente de IU 236 permanece sin afectar y la salida del componente de modelo 237 ahora consiste únicamente en puntos virtuales. El componente de modelo 237 funciona como en todas las implementaciones anteriores descritas anteriormente, pero se abstiene de calcular pesos de prioridad. La tarea del componente de extremo trasero 238 ahora es inferir las siguientes unidades de medios para sugerir al componente de IU 236 solo basándose en los puntos virtuales transmitidos a través del componente de modelo 237. En una implementación, esto se hace siguiendo el mismo proceso de recuperación de puntos virtuales que el anterior, pero estableciendo todos los pesos de prioridad que se necesitan a 1 (ya sea explícitamente o usando una medida de similitud / distancia que no implique un peso de prioridad). De esta manera, las unidades de medios que se eligen en cada iteración son las más cercanas con respecto a una métrica no ponderada, por ejemplo, euclidiana, relativa a los puntos virtuales que se han muestreado (y posiblemente submuestreado o seleccionado de otro modo) en la respectiva iteración.
8. Generalización a distribuciones normales multivariantes no diagonales.
Ahora se proporciona una descripción para las implementaciones de la búsqueda y visualización de unidad de medios 204 en las que las distribuciones de probabilidad tanto descritas por los conjuntos de características como las distribuciones de probabilidad usadas para modelar la intención del usuario son de una forma más general. En las implementaciones de los componentes de modelo 237 de los procesos de búsqueda y visualización de unidad de medios 204 descritos anteriormente usando la estructura probabilística hasta ahora, se tomaron tres etapas esenciales para cada atributo j. Como primera etapa, en la etapa / de la búsqueda y visualización de unidad de medios 204, para cada atributo de distribución X (p l) se infiere una distribución X {í) i usando solo la entrada de usuario que marca las unidades de medios seleccionadas a través de la fórmula (U1) o (U1-2). Si no hay ninguna, la última distribución simplemente se declara como la primera. Como segunda etapa, usar la entrada de usuario que marca todas las unidades de medios que el componente de IU 236 mostró al usuario pero que no se seleccionaron junto con la noción de una función de penalización F, la distribución X {j ] F puede muestrearse. La tercera etapa consiste en usar estos puntos de muestra y la fórmula (U3) para inferir una distribución X j \ Algunos de estos puntos de muestra se usan como puntos virtuales para que se emitan y se usa la distribución inferida X j '1 para calcular los pesos de prioridad, en implementaciones en las que estos sean requeridos. Cuando los conjuntos de características consisten en parámetros que describen distribuciones de probabilidad, el proceso de realización de la primera actualización a través de la ecuación (U1) se reemplaza con el de la ecuación (U1-2) como se ha descrito anteriormente, pero las implementaciones restantes siguen siendo las mismas. Una parte clave en la descripción anterior fue que cada uno de X^~l\ j Y X (j ] es una distribución normal con matriz de covarianza diagonal. Esta suposición ahora se descarta, es decir, el sistema solo asume que para cada atributo j = 1 , -,A X ^ y x {í) i son distribuciones normales.
Las distribuciones conjuntas X® y X (l) son también distribuciones normales dadas por una matriz de covarianza
diagonal de bloques. De hecho, si la instancia X ' i <o
se describe mediante un vector de media ijj y matriz de covarianza Ij, entonces la distribución conjunta p se define por
Figure imgf000042_0001
donde cada uno Xj es un vector (columna) que representa un punto en el espacio de atributos de orden j y x y y son el vector columna obtenido al concatenar todos los Xj y y , respectivamente, es decir
Figure imgf000042_0003
dónde Z es una constante y I es la matriz diagonal de bloques formada de la siguiente manera:
Figure imgf000042_0002
y donde el superíndice t indica la transposición de la matriz. Esto es bien sabido, véase [http://en.wikipedia.org/wiki/Multivariate normal distributionl.
De ello se deduce que X® es una distribución normal (multivariante) con vector de media y y la matriz de covarianza diagonal de bloques I . En las descripciones anteriores, se usó la expresión vector de varianza como abreviatura para identificar los elementos diagonales en la matriz de covarianza diagonal usada en ese momento. De manera similar, se usa la expresión "vector de bloque" ( I i , - , I a) para describir la matriz diagonal de bloques I de manera eficiente. En todas las implementaciones que usan esta forma más general de distribuciones de probabilidad, los vectores de varianza se reemplazan por vectores de bloque. Ahora se describen los cambios en el componente de modelo 237 para manejar estas condiciones más generales: se requiere un método de inferencia mejorado que generaliza (U1) y (U1-2), un método de muestreo diferente y una fórmula diferente para la divergencia de Kullback-Leibler (U3). Volviendo en primer lugar a los métodos de muestreo, hay muchos métodos conocidos y eficientes para muestrear puntos aleatorios de una distribución normal general (véase Papoulis, A., Probability, Random Variables, and Stochastic Processes, 3rd ed., Nueva York: McGraw-Hill, 1991). En algunas implementaciones, se usa para el muestreo una transformación bien conocida compuesta por vectores propios normalizados de la matriz de covarianza multiplicados por la matriz diagonal de las raíces cuadradas de los valores propios correspondientes de la matriz de covarianza. Véase Papoulis, A., Probability, Random Variables, and Stochastic Processes, 3rd ed., Nueva York: McGraw-Hill, 1991.
En las implementaciones de la primera etapa y algunas implementaciones de la inferencia en la tercera etapa que estima la distribución posterior a partir de una colección de puntos de muestra, se usó un método bayesiano descrito en la fórmula (GU) anterior que usa una gamma normal anterior para cada atributo a la vez. Ahora se describe un reemplazo uno a uno para este método de inferencia para distribuciones de bloques diagonales. En lugar de usar una distribución gamma normal anterior, se usa una distribución anterior Normal-Wishart para inferir una distribución actualizada de un atributo a la vez, es la distribución Normal-Wishart que es una conocida generalización dimensional superior de la gamma normal anterior, véase [http://en.wikipedia.org/wiki/Normal-Wishart distributionl y las referencias allí proporcionadas. En particular, la distribución Normal-Wishart es una distribución anterior conjugada a la distribución normal multivariante, es decir, describe una distribución a través de los parámetros (media y matriz de covarianza) de la distribución normal multivariante y cualquier actualización bayesiana de esta distribución Normal-Wishart dadas las observaciones de las distribuciones normales multivariantes conduce a una actualización sencilla de los parámetros que describen la distribución Normal-Wishart (por lo tanto, la distribución posterior de la distribución Normal-Wishart dada tal observación también es Normal-Wishart y los parámetros actualizados describen esta distribución posterior).
Concretamente, se proporcionan ahora las ecuaciones de actualización análogas para los parámetros que describen la distribución Normal-Wishart dadas las observaciones dh,...,dn a (GU). Estas están etiquetadas (GU-2) a continuación y se usarán para derivar la análoga (U1-3) a la ecuación de actualización (U1) a continuación: Supongamos que los parámetros anteriores están dados por^ A , V0 y T0 a continuación las actualizaciones (subíndice 1) son
Figure imgf000043_0004
d = - Y d .
dónde n 1 con la gamma normal anterior, la media de la distribución j = 1 es la media de la muestra. En analogía
resultante está en ^ v - iT i y el modo está en ^ ( v - d - 1 )T1 dónde d es la dimensión del espacio vectorial sobre el que se define la distribución.
8.1 Conjuntos de características de puntos
Para conjuntos de características definidos en términos de puntos de ASV, con (GU-2), se rescribe la ecuación de actualización (U1) de la siguiente manera: en la etapa /, para un atributo dado j, dado Ai, como anteriormente, las Q unidades de medios seleccionadas Sf* = , ... , SJq ), un vector de media /j = ( jj-\,',Ms) (dónde s indica la dimensión
del espacio de atributos j) y matriz de covarianza ^ i-1 que describe la distribución X E 1), a continuación, con
Figure imgf000043_0001
establecer
Figure imgf000043_0002
donde
Figure imgf000043_0003
La distribución
Figure imgf000043_0006
a continuación viene dada por la media 4 y matriz de covarianza
Figure imgf000043_0005
8.2. Conjuntos de características de distribución
De manera similar, se describen algunas implementaciones del componente de modelo 237 en las que los conjuntos de características que representan unidades de medios consisten en parámetros que describen distribuciones de probabilidad. En estas implementaciones, las ecuaciones de actualización para la primera etapa (U1-2) para las unidades de medios representadas por distribuciones de probabilidad normales con matriz de covarianza diagonal como se ha descrito anteriormente se reemplazan por las ecuaciones (U1-4) a continuación. Si, como en la descripción de (U1-2) anterior, d1 = (dn,...,d1s),...,dQY = (dYT, 1,...,dYT,s) indican los QY puntos de muestra de las Q unidades de medios seleccionadas en el atributo de orden j, a continuación, con la notación anterior, tras definir la ecuación de actualización ajustada
Figure imgf000044_0001
..
a continuación
Figure imgf000044_0006
está definido por un vector de media a* y matriz de covarianza
Figure imgf000044_0004
donde, como anteriormente, T fue dado por
Figure imgf000044_0005
8.3. Pesos de prioridad
Finalmente, para las implementaciones donde se requieren pesos de prioridad, la ecuación U3 anterior se desarrolla en el contexto de conjuntos de características definidos por distribuciones en lugar de valores de puntos. Específicamente, los pesos de prioridad se calculan como se describe ahora.
Para la etapa / en el atributo j con anterior original X (p dada por el vector de media iJo y matriz de covarianza i » y 4 ’ dado por el vector de media iji y matriz de covarianza I;, es decir, el peso de prioridad se define de nuevo como la divergencia de Kullback-Leibler de
Figure imgf000044_0002
que es bien sabido que es igual a
Figure imgf000044_0003
dónde s indica la dimensión del espacio de atributos, tr representa el operador de seguimiento y det indica el determinante (véase http://en.wikipedia.org/wiki/Multivariate normal distribution).
8.4. Implementación de solo muestreo.
La implementación de la búsqueda y visualización de unidad de medios 204 usando una distribución normal más general como se describe en esta sección se adapta fácilmente de la siguiente manera a una implementación de la búsqueda y visualización de unidad de medios 204 usando estas distribuciones más generales, pero absteniéndose de calcular cualquier peso de prioridad, pero usando puntos puramente de muestra. El componente de IU 236 y el componente de extremo trasero 238 se describen en la sección 7.3. El componente de modelo 237 es como se ha descrito anteriormente (usando ecuaciones de actualización (U1-3) o (U1-4) dependiendo de la naturaleza de los conjuntos de características), pero, como no se necesitan pesos de prioridad, se puede expresar el conjunto de valores necesarios para describir una unidad de medios en un solo atributo, es decir, solo hay un conjunto único de valores vi < - o ,
que describen las unidades de medios. De esta forma, la distribución XS,} es igual a ,es decir, la restricción de la distribución a su único atributo etiquetado como 1, y puede modelarse mediante una distribución normal general definida por un vector de media y una matriz de covarianza general (es decir, cualquier matriz simétrica definida positiva). Se observa que, esta implementación de la búsqueda y visualización de unidad de medios 204 es funcionalmente equivalente a agrupar todo el conjunto de valores que describen las unidades de medios en la colección de búsqueda 233 en un solo conjunto y a continuación establecer el peso de prioridad único igual a 1 (o cualquier constante) en la descripción anterior. Esto implica que el componente de extremo trasero existente 238 descrito anteriormente puede manejar este mecanismo libre de pesos de prioridad. Se observa que, la forma de las distribuciones de probabilidad de las variables aleatorias que modelan la intención del usuario en cada etapa X® son distribuciones normales multivariantes generales, es decir, sus matrices de covarianza pueden ser cualquier matriz definida positiva simétrica y no se aplican restricciones estructurales adicionales.
9. Conclusión
Se entenderá que la descripción anterior de implementaciones específicas se ha realizado a modo de ejemplo para ayudar a la comprensión de la invención y no a modo de limitación. Además, se entenderá que los encabezados de las secciones se han incluido en el texto anterior por razones de presentación para ayudar al lector y que, por lo tanto, estos encabezados no implican ninguna limitación en la materia objeto desvelada o cualquier combinación de las diversas características e implementaciones descritas anteriormente.

Claims (15)

REIVINDICACIONES
1. Un método implementado por ordenador de transmisión de unidades de medios o identificadores de unidades de medios para la presentación de unidades de medios a un usuario en un dispositivo de usuario, comprendiendo el método
transmitir un conjunto de unidades de medios o identificadores de unidades de medios respectivos para la presentación de las unidades de medios al usuario, estando cada unidad de medios asociada con un conjunto de características respectivo que define un conjunto de valores de atributos para los atributos respectivos, en donde uno o más de los valores de atributos se derivan de activaciones neuronales de una capa oculta de una red neuronal artificial presentada con una imagen asociada con la unidad de medios; y repetidamente:
recibir una entrada de usuario realizada por el usuario cuando se le presentan unidades de medios del conjunto de unidades de medios;
actualizar una distribución de probabilidad de intención a través de los valores de atributos del conjunto de valores de atributos usando la entrada de usuario;
seleccionar un siguiente conjunto de unidades de medios usando la distribución de probabilidad de intención actualizada; y transmitir las unidades de medios del siguiente conjunto o los respectivos identificadores de unidades de medios para la presentación de las unidades de medios al usuario,
en donde seleccionar el siguiente conjunto de unidades de medios comprende:
para cada atributo, calcular una distancia entre el conjunto de valores de atributos de la una o más unidades de medios seleccionadas por el usuario y los respectivos conjuntos de valores de atributos para una pluralidad de unidades de medios;
calcular una combinación ponderada de las distancias para al menos algunos de los atributos, en donde cada distancia se pondera mediante un peso de atributo respectivo y los pesos de atributo se calculan usando la distribución de probabilidad de intención; y
usar la combinación ponderada de las distancias para seleccionar el siguiente conjunto de unidades de medios, o
en donde seleccionar el siguiente conjunto de unidades de medios comprende:
seleccionar una unidad de medios del siguiente conjunto de unidades de medios basándose en la similitud de la unidad de medios con un conjunto muestreado de valores de atributos muestreados de la distribución de probabilidad de intención.
2. Un método implementado por ordenador de acuerdo con la reivindicación 1, en donde la entrada de usuario identifica un conjunto de una o más unidades de medios no seleccionadas por el usuario.
3. Un método implementado por ordenador de acuerdo con la reivindicación 1, en donde
recibir la entrada de usuario comprende recibir uno o más identificadores de unidades de medios, identificando cada uno una unidad de medios seleccionada por el usuario respectiva seleccionada por el usuario de unidades de medios presentadas al usuario; y
actualizar la distribución de probabilidad de intención a través de valores de atributos de los atributos comprende usar cada conjunto de características respectivo de la una o más unidades de medios seleccionadas.
4. Un método de acuerdo con la reivindicación 1, 2 o 3, en donde la distribución de probabilidad de intención se parametriza por uno o más parámetros y actualizar la distribución de probabilidad de intención comprende
actualizar una distribución a través de los parámetros usando el conjunto de características de cualquier unidad de medios seleccionada; y
determinar parámetros actualizados de la distribución de probabilidad de intención a partir de la distribución a través de los parámetros.
5. Un método de acuerdo con la reivindicación 1, 2, 3 o la reivindicación 4, en donde actualizar la distribución de probabilidad de intención comprende actualizar la distribución de probabilidad de intención usando el conjunto de características de cualquier unidad de medios seleccionada por el usuario y los respectivos conjuntos de características de al menos algunas unidades de medios restantes de las unidades de medios presentadas al usuario.
6. Un método de acuerdo con la reivindicación 5, en donde actualizar la distribución de probabilidad de intención comprende muestrear conjuntos de valores de atributos de la distribución de probabilidad de intención y submuestrear los conjuntos de valores de atributos muestreados para definir una pluralidad de conjuntos submuestreados de valores de atributos para reducir la similitud entre el conjunto submuestreado de valores de atributos y al menos algunas unidades de medios restantes.
7. Un método de acuerdo con la reivindicación 5, en donde actualizar la distribución de probabilidad de intención comprende muestrear conjuntos de valores de atributos de la distribución de probabilidad de intención y submuestrear los conjuntos muestreados de valores de atributos para definir una pluralidad de conjuntos submuestreados de valores de atributos para reducir o eliminar la probabilidad de que un conjunto de valores de atributos de la pluralidad de conjuntos submuestreados de valores de atributos coincida con cualquiera de los conjuntos de valores de atributos de las al menos algunas unidades de medios restantes.
8. Un método de acuerdo con la reivindicación 6 o 7, en donde la distribución de probabilidad de intención es una distribución normal y actualizar la distribución de probabilidad de intención comprende determinar parámetros de la distribución normal a partir de la pluralidad de conjuntos submuestreados de valores de atributos.
9. Un método de acuerdo con la reivindicación 1, en donde calcular los pesos de atributos comprende
calcular, para cada atributo, una medida de ganancia de información entre un componente de la distribución de probabilidad de intención para el atributo después de la actualización y un componente de la distribución de probabilidad de intención para el atributo antes de la actualización; y
determinar cada peso de atributo basándose en la respectiva medida de información.
10. Un método de acuerdo con la reivindicación 1, en donde seleccionar el siguiente conjunto de unidades de medios comprende seleccionar una unidad de medios del siguiente conjunto de unidades de medios basándose en la similitud de la unidad de medios con un conjunto muestreado de valores de atributos muestreados de la distribución de muestreo y en donde las unidades de medios se agrupan en grupos de unidades de medios correspondientes a un intervalo respectivo para cada valor de atributo basándose en los respectivos conjuntos de valores de atributos y seleccionar el siguiente conjunto de unidades de medios comprende:
seleccionar un grupo de unidades de medios basándose en el conjunto muestreado de valores de atributos que se encuentran dentro del intervalo respectivo para cada valor de atributo; y
seleccionar una unidad de medios de las unidades de medios en el grupo de unidades de medios seleccionado.
11. Un método de acuerdo con la reivindicación 10, en donde las unidades de medios se agrupan en grupos de unidades de medios correspondientes a un intervalo respectivo para cada valor de atributo basándose en los conjuntos respectivos de valores de atributos para cada uno de una pluralidad de niveles, aumentando el tamaño de los intervalos respectivos de un nivel al siguiente, y seleccionar el siguiente conjunto de unidades de medios comprende:
en uno primero de los niveles, determinar si existe un grupo de unidades de medios asociado con un intervalo que abarca el conjunto muestreado de valores de atributos;
si la determinación es negativa, determinar si existe un grupo de unidades de medios asociado con un intervalo que abarca el conjunto muestreado de valores de atributos en uno segundo de los niveles, en donde el segundo de los niveles tiene intervalos más grandes que el primero de los niveles; y
si la determinación es positiva, seleccionar una unidad de medios de las unidades de medios en el grupo de unidades de medios asociado con el intervalo que abarca el conjunto muestreado de valores de atributos.
12. Un método de acuerdo con la reivindicación 1, 10 u 11, en donde seleccionar una unidad de medios del siguiente conjunto de unidades de medios basándose en la similitud comprende calcular una medida de similitud entre el conjunto de valores de atributos de la unidad de medios y el conjunto muestreado de valores de atributos.
13. Un método de acuerdo con la reivindicación 6 y cualquiera de las reivindicaciones 1, 10, 11 o 12, o la reivindicación 7 y cualquiera de las reivindicaciones 1, 10, 11 o 12, en donde el conjunto muestreado de valores de atributos es uno de la pluralidad de conjuntos submuestreados de valores de atributos.
14. Un método de acuerdo con cualquier reivindicación anterior, en donde uno o más de los atributos son atributos semánticos representativos de las características semánticas de los elementos representados por las unidades de medios.
15. Un sistema que comprende una interfaz de comunicaciones y un procesador, en donde el procesador está configurado para hacer que el sistema implemente un método de acuerdo con cualquier reivindicación anterior.
ES16759751T 2015-09-01 2016-08-31 Recuperación de unidad de medios y procesos relacionados Active ES2946807T3 (es)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
EP15183396.9A EP3139281A1 (en) 2015-09-01 2015-09-01 Media unit retrieval and related processes
EP15183398.5A EP3139283A1 (en) 2015-09-01 2015-09-01 Media unit retrieval and related processes
EP15183399.3A EP3139284A1 (en) 2015-09-01 2015-09-01 Media unit retrieval and related processes
EP15183395.1A EP3139280A1 (en) 2015-09-01 2015-09-01 Media unit retrieval and related processes
EP15183401.7A EP3139285A1 (en) 2015-09-01 2015-09-01 Media unit retrieval and related processes
EP15183394.4A EP3139279A1 (en) 2015-09-01 2015-09-01 Media unit retrieval and related processes
EP15183402.5A EP3139286A1 (en) 2015-09-01 2015-09-01 Media unit retrieval and related processes
EP15183397.7A EP3139282A1 (en) 2015-09-01 2015-09-01 Media unit retrieval and related processes
PCT/EP2016/070493 WO2017037103A1 (en) 2015-09-01 2016-08-31 Pmedia unit retrieval and related processes

Publications (1)

Publication Number Publication Date
ES2946807T3 true ES2946807T3 (es) 2023-07-26

Family

ID=56852262

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16759751T Active ES2946807T3 (es) 2015-09-01 2016-08-31 Recuperación de unidad de medios y procesos relacionados

Country Status (4)

Country Link
US (6) US10769197B2 (es)
EP (2) EP4270214A3 (es)
ES (1) ES2946807T3 (es)
WO (1) WO2017037103A1 (es)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586635B2 (en) * 2017-01-11 2023-02-21 Meta Platforms, Inc. Methods and systems for ranking comments on a post in an online service
US11416129B2 (en) 2017-06-02 2022-08-16 The Research Foundation For The State University Of New York Data access interface
KR101880901B1 (ko) * 2017-08-09 2018-07-23 펜타시큐리티시스템 주식회사 기계 학습 방법 및 장치
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US10867414B2 (en) 2018-04-10 2020-12-15 Apple Inc. Point cloud attribute transfer algorithm
US11017566B1 (en) * 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11430155B2 (en) 2018-10-05 2022-08-30 Apple Inc. Quantized depths for projection point cloud compression
US10748038B1 (en) * 2019-03-31 2020-08-18 Cortica Ltd. Efficient calculation of a robust signature of a media unit
US11163647B2 (en) 2019-04-23 2021-11-02 EMC IP Holding Company LLC System and method for selection of node for backup in distributed system
US11119685B2 (en) 2019-04-23 2021-09-14 EMC IP Holding Company LLC System and method for accelerated data access
US11106544B2 (en) * 2019-04-26 2021-08-31 EMC IP Holding Company LLC System and method for management of largescale data backup
CN110059217B (zh) * 2019-04-29 2022-11-04 广西师范大学 一种两级网络的图像文本跨媒体检索方法
US11061732B2 (en) 2019-05-14 2021-07-13 EMC IP Holding Company LLC System and method for scalable backup services
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11475605B2 (en) 2020-01-09 2022-10-18 Apple Inc. Geometry encoding of duplicate points
CN111325162A (zh) * 2020-02-25 2020-06-23 湖南大学 基于虚拟样本和残差融合的权重稀疏表示的人脸识别方法
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11301218B2 (en) * 2020-07-29 2022-04-12 Bank Of America Corporation Graph-based vectorization for software code optimization references
US11709806B2 (en) * 2020-09-24 2023-07-25 Microsoft Technology Licensing, Llc Gradient flows in dataset space
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
US11922931B2 (en) * 2021-06-30 2024-03-05 Rovi Guides, Inc. Systems and methods for phonetic-based natural language understanding
US20230143777A1 (en) * 2021-11-10 2023-05-11 Adobe Inc. Semantics-aware hybrid encoder for improved related conversations
CN113806582B (zh) * 2021-11-17 2022-02-25 腾讯科技(深圳)有限公司 图像检索方法、装置、电子设备和存储介质

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE547320A (es) 1955-06-13
US6182069B1 (en) 1992-11-09 2001-01-30 International Business Machines Corporation Video query system and method
US5579471A (en) 1992-11-09 1996-11-26 International Business Machines Corporation Image query system and method
CN1094219A (zh) 1993-04-27 1994-11-02 山东省禹城县农药总公司 苯粉乳油
US5696964A (en) 1996-04-16 1997-12-09 Nec Research Institute, Inc. Multimedia database retrieval system which maintains a posterior probability distribution that each item in the database is a target of a search
US6347313B1 (en) 1999-03-01 2002-02-12 Hewlett-Packard Company Information embedding based on user relevance feedback for object retrieval
US6859802B1 (en) 1999-09-13 2005-02-22 Microsoft Corporation Image retrieval based on relevance feedback
US7028325B1 (en) 1999-09-13 2006-04-11 Microsoft Corporation Annotating programs for automatic summary generation
US6748398B2 (en) 2001-03-30 2004-06-08 Microsoft Corporation Relevance maximizing, iteration minimizing, relevance-feedback, content-based image retrieval (CBIR)
US6976016B2 (en) 2001-04-02 2005-12-13 Vima Technologies, Inc. Maximizing expected generalization for learning complex query concepts
US20060206478A1 (en) 2001-05-16 2006-09-14 Pandora Media, Inc. Playlist generating methods
US7003515B1 (en) 2001-05-16 2006-02-21 Pandora Media, Inc. Consumer item matching method and system
US7962482B2 (en) 2001-05-16 2011-06-14 Pandora Media, Inc. Methods and systems for utilizing contextual feedback to generate and modify playlists
US7970240B1 (en) 2001-12-17 2011-06-28 Google Inc. Method and apparatus for archiving and visualizing digital images
DE602004003497T2 (de) * 2003-06-30 2007-09-13 Koninklijke Philips Electronics N.V. System und verfahren zur erzeugung einer multimedia-zusammenfassung von multimedia-strömen
US7660822B1 (en) 2004-03-31 2010-02-09 Google Inc. Systems and methods for sorting and displaying search results in multiple dimensions
US7657100B2 (en) 2005-05-09 2010-02-02 Like.Com System and method for enabling image recognition and searching of images
US7760917B2 (en) 2005-05-09 2010-07-20 Like.Com Computer-implemented method for performing similarity searches
US7783135B2 (en) 2005-05-09 2010-08-24 Like.Com System and method for providing objectified image renderings using recognition information from images
US7945099B2 (en) 2005-05-09 2011-05-17 Like.Com System and method for use of images with recognition analysis
US8732025B2 (en) 2005-05-09 2014-05-20 Google Inc. System and method for enabling image recognition and searching of remote content on display
US7657126B2 (en) 2005-05-09 2010-02-02 Like.Com System and method for search portions of objects in images and features thereof
US7519200B2 (en) 2005-05-09 2009-04-14 Like.Com System and method for enabling the use of captured images through recognition
US7809192B2 (en) 2005-05-09 2010-10-05 Like.Com System and method for recognizing objects from images and identifying relevancy amongst images and information
US7809722B2 (en) 2005-05-09 2010-10-05 Like.Com System and method for enabling search and retrieval from image files based on recognized information
US7660468B2 (en) 2005-05-09 2010-02-09 Like.Com System and method for enabling image searching using manual enrichment, classification, and/or segmentation
US8065313B2 (en) 2006-07-24 2011-11-22 Google Inc. Method and apparatus for automatically annotating images
US7764849B2 (en) 2006-07-31 2010-07-27 Microsoft Corporation User interface for navigating through images
GB0616293D0 (en) 2006-08-16 2006-09-27 Imp Innovations Ltd Method of image processing
WO2008086189A2 (en) * 2007-01-04 2008-07-17 Wide Angle Llc Relevancy rating of tags
JP2009025218A (ja) 2007-07-20 2009-02-05 Ricoh Co Ltd 接合部強度試験装置及び接合部強度試験方法
US8914367B2 (en) * 2007-11-29 2014-12-16 Cisco Technology, Inc. Socially collaborative filtering for providing recommended content to a website for presentation to an identified user
US8190604B2 (en) 2008-04-03 2012-05-29 Microsoft Corporation User intention modeling for interactive image retrieval
JP2009252185A (ja) 2008-04-10 2009-10-29 Ricoh Co Ltd 情報検索装置、情報検索方法、制御プログラム及び記録媒体
US8140466B2 (en) * 2008-04-24 2012-03-20 International Business Machines Corporation System and method for maintaining and utilizing Bernoulli samples over evolving multisets
WO2009129659A1 (en) 2008-04-25 2009-10-29 Ebay Inc. Matrix view of items
US20090300008A1 (en) * 2008-05-31 2009-12-03 Strands, Inc. Adaptive recommender technology
US8060513B2 (en) 2008-07-01 2011-11-15 Dossierview Inc. Information processing with integrated semantic contexts
KR20110031486A (ko) 2008-07-03 2011-03-28 노오텔 네트웍스 리미티드 주파수 분할 다중화 네트워크에서 핸드오프를 실행하기 위한 방법 및 장치
US8781915B2 (en) * 2008-10-17 2014-07-15 Microsoft Corporation Recommending items to users utilizing a bi-linear collaborative filtering model
GB0820273D0 (en) 2008-11-05 2008-12-10 Imp Innovations Ltd Improvements in relation to image processing
US8335754B2 (en) 2009-03-06 2012-12-18 Tagged, Inc. Representing a document using a semantic structure
US8886206B2 (en) 2009-05-01 2014-11-11 Digimarc Corporation Methods and systems for content processing
US9384214B2 (en) * 2009-07-31 2016-07-05 Yahoo! Inc. Image similarity from disparate sources
US20110246330A1 (en) 2010-04-01 2011-10-06 Anup Tikku System and method for searching content
US8548969B2 (en) * 2010-06-02 2013-10-01 Cbs Interactive Inc. System and method for clustering content according to similarity
US8583674B2 (en) * 2010-06-18 2013-11-12 Microsoft Corporation Media item recommendation
US8412594B2 (en) 2010-08-28 2013-04-02 Ebay Inc. Multilevel silhouettes in an online shopping environment
US9870376B2 (en) * 2011-04-01 2018-01-16 Excalibur Ip, Llc Method and system for concept summarization
US9110955B1 (en) * 2012-06-08 2015-08-18 Spotify Ab Systems and methods of selecting content items using latent vectors
US9959364B2 (en) * 2014-05-22 2018-05-01 Oath Inc. Content recommendations
US10846611B2 (en) * 2014-06-16 2020-11-24 Nokia Technologies Oy Data processing
US20160112761A1 (en) 2014-10-20 2016-04-21 United Video Properties, Inc. Systems and methods for generating media asset recommendations using a neural network generated based on consumption information
US20160328432A1 (en) * 2015-05-06 2016-11-10 Squigglee LLC System and method for management of time series data sets
US20170032247A1 (en) * 2015-07-31 2017-02-02 Qualcomm Incorporated Media classification

Also Published As

Publication number Publication date
US20210232623A1 (en) 2021-07-29
US20180260416A1 (en) 2018-09-13
EP3345104C0 (en) 2023-06-07
US20210004400A1 (en) 2021-01-07
US11567989B2 (en) 2023-01-31
US20230124063A1 (en) 2023-04-20
US11256738B2 (en) 2022-02-22
US10769197B2 (en) 2020-09-08
WO2017037103A1 (en) 2017-03-09
US20230153345A1 (en) 2023-05-18
EP4270214A3 (en) 2023-12-13
US20210303615A1 (en) 2021-09-30
US11182422B2 (en) 2021-11-23
EP4270214A2 (en) 2023-11-01
EP3345104B1 (en) 2023-06-07
EP3345104A1 (en) 2018-07-11

Similar Documents

Publication Publication Date Title
ES2946807T3 (es) Recuperación de unidad de medios y procesos relacionados
Kumar et al. An efficient k-means clustering filtering algorithm using density based initial cluster centers
Chi et al. Splitting methods for convex clustering
US9454580B2 (en) Recommendation system with metric transformation
Liu et al. Partition level constrained clustering
US10482146B2 (en) Systems and methods for automatic customization of content filtering
Nellore et al. Recovery guarantees for exemplar-based clustering
Valkanas et al. Mining competitors from large unstructured datasets
US10275501B2 (en) System and method for multi-dimensional data representation of objects
CN109300041A (zh) 理财策略推荐方法、电子装置及可读存储介质
AU2018313274B2 (en) Diversity evaluation in genealogy search
He et al. Learning informative representation for fairness-aware multivariate time-series forecasting: A group-based perspective
Abudalfa et al. A dynamic linkage clustering using KD-tree
CN109271416A (zh) 时间管理推荐方法、电子装置及可读存储介质
EP3139282A1 (en) Media unit retrieval and related processes
EP3139281A1 (en) Media unit retrieval and related processes
EP3139284A1 (en) Media unit retrieval and related processes
EP3139279A1 (en) Media unit retrieval and related processes
Wu et al. Max-sum diversification on image ranking with non-uniform matroid constraints
AbdAllah et al. An ensemble-clustering-based distance metric and its applications
EP3139283A1 (en) Media unit retrieval and related processes
EP3139280A1 (en) Media unit retrieval and related processes
EP3139286A1 (en) Media unit retrieval and related processes
EP3139285A1 (en) Media unit retrieval and related processes
Al-Amin et al. A modified fuzzy relational clustering approach for sentence-level text