MX2015006174A - Pronosticadores personalizados para acciones de usuario en un sistema en linea. - Google Patents

Pronosticadores personalizados para acciones de usuario en un sistema en linea.

Info

Publication number
MX2015006174A
MX2015006174A MX2015006174A MX2015006174A MX2015006174A MX 2015006174 A MX2015006174 A MX 2015006174A MX 2015006174 A MX2015006174 A MX 2015006174A MX 2015006174 A MX2015006174 A MX 2015006174A MX 2015006174 A MX2015006174 A MX 2015006174A
Authority
MX
Mexico
Prior art keywords
forecaster
action
type
user
performance
Prior art date
Application number
MX2015006174A
Other languages
English (en)
Other versions
MX341336B (es
Inventor
Igor Kabiljo
Aleksander Ilic
Ming Hua
Hong Yan
Original Assignee
Facebook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Publication of MX2015006174A publication Critical patent/MX2015006174A/es
Publication of MX341336B publication Critical patent/MX341336B/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Sistemas en línea generan pronosticadores para predecir acciones de usuario del sistema en línea. El sistema en línea recibe solicitudes para generar modelos de pronosticador para predecir si es probable que un usuario tome una acción de un tipo de acción particular. La solicitud especifica el tipo de acción y criterios para identificar un caso de éxito del tipo de acción y un caso de falla del tipo de acción. El sistema en línea recolecta datos incluyendo casos de éxito y de falla del tipo de acción. El sistema en línea genera uno o más pronosticadores de diferentes tipos utilizando los datos generados. El sistema en línea evalúa y compara el desempeño de los diferentes pronosticadores generados y selecciona un pronosticador basándose en el desempeño. El sistema en línea regresa un control para acceder al pronosticador generado al solicitante del pronosticador.

Description

PRONOSTICADORES PERSONALIZADOS PARA ACCIONES DE USUARIO EN U N SISTEMA EN LI NEA DESCRIPCION CAMPO TECNICO Esta invención se refiere a predecir acciones de usuario en sistemas en línea, por ejemplo, sistemas de redes sociales, y en particular a la generación de pronosticadores personalizados para acciones de usuario en sistemas en línea, en particular dirigidos a acelerar la interacción de usuario potencial dentro de un sistema en línea.
ANTECEDENTES Los sistemas en línea típicamente presentan información útil para usuarios y permiten a los usuarios interactuar con el sistema en línea. Los sistemas en línea pueden utilizar téenicas para determinar información que es probable que sea de interés para un usuario antes de presentar la información al usuario. Es más probable que los usuarios visiten el sistema en línea regularmente si se les presenta información que les gusta. Los sistemas en línea frecuentemente ganan ingreso de anuncios. Los anunciantes prefieren anunciar en sistemas en línea que son regularmente visitados por sus usuarios. Por lo tanto, la lealtad de usuario puede determinar ingresos generados utilizando un sistema en línea. Como un resultado, la capacidad de un sistema en línea para presentar información interesante a usuarios típicamente afecta el ingreso ganado por el sistema en línea.
Algunos sistemas determinan información relevante para usuarios individuales utilizando teenicas de aprendizaje por máquma para predecir acciones de usuario. Por ejemplo, si un modelo de aprendizaje por máquina predice que es probable que un usuario vea cierto contenido, el sistema en línea puede seleccionar el contenido para presentación del usuario en lugar de otro contenido. Por otro lado, si el modelo de aprendizaje por máquina predice que no es probable que el usuario esté interesado en cierta información, el sistema en línea puede seleccionar alguna otra información para presentar al usuario.
Sin embargo, el desarrollar modelos de aprendizaje por máquina requiere esfuerzos indicativos por desarrolladores de sistemas en línea. Típicamente los desarrolladores de modelos de aprendizaje por máquina especifican la técnica de aprendizaje por máquina que se va a utiliza, varias características relevantes para el modelo de aprendizaje por máquina, y proporcionan datos de entrenamiento para entrenar el modelo de aprendizaje por máquina. En un sistema en línea complejo, los desarrolladores pueden no estar conscientes del impacto de varias características sobre un modelo de pronosticador. Frecuentemente, los desarrolladores incluso pueden no estar conscientes de todas las posibles características que están disponibles en el sistema complejo que puede utilizarse en el modelo. Además, el impacto de varias características sobre un modelo puede cambiar con el tiempo. Un nuevo desarrollo en teenolog ía puede afectar el impacto de varias características sobre un modelo en formas impredecibles. Por ejemplo, los usuarios de un sistema pueden actuar de forma diferente en un nuevo tipo de tecnología móvil que estuvo disponible, incluso aunque la nueva tecnolog ía no se desarrolló en conjunto con el sistema en línea. Los cambios en el comportamiento de usuario pueden cambiar el efecto de varias características sobre el modelo. Esto hace difícil para que los desarrolladores de modelos de aprendizaje por máquma desarrollen y mantengan los modelos, mientras se tome en consideración todos los posibles aspectos de su propio sistema en línea así como factores externos que podrían afectar el modelo, Como un resultado, tecnicas convencionales colocan cargas significativas sobre los desarrolladores de los modelos de aprendizaje por máquina.
BREVE DESCRIPCION DE LA I NVENCION Las modalidades de la invención permiten que sistemas en línea generen modelos para predecir acciones de usuarios del sistema en línea. Por ejemplo, un sistema en línea tal como un sistema en red social puede utilizar un modelo para predecir si es probable que un usuario establezca una conexión con otro usuario, mientras es probable que un usuario comente sobre una imagen o si un usuario es probable que se una a un grupo social. Estos modelos también se indican aquí como pronosticadores. El sistema de redes sociales utiliza los pronosticadores para seleccionar información presentada a los usos del sistema de redes sociales, por ejemplo, para sugerir conexiones potenciales a un usuario, para seleccionar contenido presentado al usuario, o para recomendar grupos sociales al usuario.
En una modalidad, el sistema en línea recibe una solicitud para generar nuevo pronosticador para predecir si es probable que un usuario tome una acción de un tipo de acción particular. Por ejemplo, el tipo de acción puede corresponder a un usuario que le gusta una imagen, un usuario que envía una solicitud para conectarse a otro usuario, o un usuario que se une a un grupo social. La solicitud especifica el tipo de acción y criterios para identificar un éxito o falla el tipo de acción. Por ejemplo, si el tipo de acción corresponde a un usuario que envía una solicitud para conectarse a otro usuario, un caso exitoso de la acción corresponde al usuario que envía una solicitud para conectarse a un amigo potencial sugerido por el sistema en línea y un caso de falla corresponde al usuario que haya conectarse con el amigo potencial o que intenta ocultar la sugerencia de amigo. El sistema en línea recolecta datos incluyendo casos de éxito y falla del tipo de acción de interacciones de usuarios con el sistema en línea durante un periodo de tiempo. El sistema en línea genera uno o más pronosticadores de diferentes tipos utilizando los datos generados. Por ejemplo, un pronosticador utiliza regresión lineal, otro pronosticador puede utilizar regresión logística, y un tercer pronosticador puede utilizar el árbol de impulso o árbol de decisión ponderado. El sistema en línea evalúa y compara el desempeño de los diferentes pronosticadores generados y selecciona un pronosticador basado en el desempeño. El sistema en l ínea regresa a un manejo para acceder al pronosticador generado al solicitante del pronosticador. La parte solicitante esa forma recibe un pronosticador personalizado para la acción sin tener que saber nada sobre aprendizaje por máquma.
En una modalidad, el sistema en línea regenerar los pronosticadores basados en nuevos datos recolectados por el sistema en línea para reemplazar pronosticadores existentes. El nuevo pronosticador puede ser un nuevo modelo utilizando una téenica de aprendizaje por máquina completamente diferente, o un modelo utilizando la misma técnica de aprendizaje por máquina pero que tiene nuevos valores de coeficiente utilizados dentro del modelo. Los nuevos pronosticadores pueden generarse periódicamente a una velocidad predeterminada. La velocidad a la cual se generan los nuevos pronosticadores puede modificarse de forma adaptable. Por ejemplo, si la mejora del desempeño observada en un nuevo pronosticador comparada con un pronosticador existente para un tipo de acción está por abajo de un valor de umbral, la velocidad de regeneración del pronosticador para ese tipo de acción particular puede reducirse.
Las características y ventajas descritas en esta Breve Descripción y la siguiente descripción detallada no son todo incluido. Muchas características y ventajas adicionales serán evidentes para un experto en la teenica con conocimientos básicos de vista de las figuras, especificaciones, y reivindicaciones.
Las modalidades de acuerdo con la invención en particular se describen en las reivindicaciones adjuntas dirigidas a un método, como el almacenamiento y sistema, en donde cualquier característica mencionada en una categoría de reivindicación, por ejemplo, método puede reclamarse y también otra categoría de reivindicación, por ejemplo, sistema.
En una modalidad de acuerdo con la invención, se proporciona un método implementado por computadora, en particular dirigido a acelerar la interacción de usuario potencial dentro de un sistema en línea, que comprende: recibir, por un sistema en línea, una pluralidad solicitudes para generar pronosticadores, la solicitud especifica un tipo de acción realizado por usuarios del sistema en línea y criterios para identificar un caso de éxito del tipo de acción; para cada solicitud asociada con un tipo de acción, generar, mediante sistema en línea, un pronosticador para el tipo de acción, la generación comprende: identificar un grupo de datos entrenamiento que comprenden una pluralidad de casos de éxito y una pluralidad de casos de falla del tipo de acción realizado por usuarios del sistema en línea; entrenar uno o más pronosticadores candidatos utilizando el grupo de datos identificado, en donde cada pronosticador candidato comprende un modelo aprendido por máquma; evaluar el desempeño de cada pronosticador candidato al ejecutar cada pronosticador en un grupo de datos de prueba que comprende una pluralidad de casos exitosos y una pluralidad de casos de falla de tipo de acción realizado por usuarios del sistema en línea; y seleccionar un pronosticador para el tipo de acción al comparar el desempeño de uno o más pronosticadores candidato; y regresar un control correspondiente al pronosticador generado a un solicitante del pronosticador seleccionado.
El metodo implementado por computadora además puede comprender: recibir una solicitud para un pronosticador de un procedimiento que se ejecuta en el sistema en l ínea, la solicitud especifica un control y un caso de información de usuario; ejecutar el pronosticador correspondiente al control especificado en el caso de información al usuario; y regresar un resultado del pronosticador al procedimiento solicitante.
Preferiblemente un caso exitoso de un tipo de acción corresponde información almacenada en el sistema en línea que indica un usuario que toma una acción del tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo de acción.
En particular la solicitud además especifica criterios para caso de falla, en donde un caso de falla de un tipo de acción corresponde a información almacenada en el sistema en línea que indica una falla de usuario para tomar una acción del tipo en respuesta al usuario que se presenta con información que permite al usuario tomar acción del tipo de acción.
Un caso de falla de un tipo de acción puede corresponder a la información almacenada en el sistema en línea que indica un usuario que proporciona entrada que indica una aversión por información presentada en una interfase de usuario asociada con el tipo de acción.
Preferiblemente cada tipo de acción está dirigido a una entidad representada en el sistema en línea.
En particular la entidad correspondiente al tipo de acción es uno de un usuario del sistema en línea, un grupo social , o una imagen.
Un pronosticador candidato puede ser un modelo de aprendizaje por máquma de un tipo basado en uno de una regresión lineal, una regresión logística, un árbol de impulso, o un árbol de decisión ponderado.
El método implementado por computadora además puede comprender, para cada pronosticador generado por un tipo de acción: comparar el desempeño del pronosticador generado contra desempeño de un pronosticador existente del tipo de acción; y en respuesta al desempeño del pronosticador generado que excede el desempeño de pronosticador existente, reemplazar el pronosticador existente con el pronosticador generado.
El metodo implementado por computadora además puede comprender, para cada tipo de acción, generar periódicamente un nuevo pronosticador: comparar el desempeño del nuevo pronosticador contra el desempeño de un pronosticador previamente generado; y en respuesta al desempeño del nuevo pronosticador que excede el desempeño del pronosticador previamente generado, reemplazar el pronosticador previamente generado con el nuevo pronosticador.
Preferiblemente una velocidad de generar periódicamente nuevos pronosticadores para cada tipo acción se determina basándose en una comparación de desempeño de los nuevos pronosticadores con el desempeño de pronosticadores previamente generados.
En particular la velocidad para generar periódicamente nuevos pronosticadores para cada tipo de acción se reduce en respuesta una mejora del desempeño del nuevo pronosticador comparado con el desempeño del pronosticador existente que está por abajo de un valor de umbral.
En una modalidad adicional, que puede reclamarse también, se proporciona un método implementado por computadora, que comprende: almacenar, mediante un sistema en línea, una pluralidad de pronosticadores, cada pronosticador para predecir si un usuario del sistema en línea realiza un tipo de acción, cada pronosticador asociado con criterios para determinar un caso exitoso el tipo de acción; seleccionar un pronosticador existente que corresponde a un tipo de acción; identificar un grupo datos que comprende casos exitosos y casos de falla del tipo de acción realizado por usuarios del sistema en línea; entrenar uno más pronosticadores candidatos utilizando el grupo de datos identificado, en donde cada pronosticador candidato comprende un modelo aprendido por máquma; evaluar el desempeño de cada pronosticador candidato al ejecutar cada pronosticador en un grupo de datos de prueba que comprende una pluralidad de casos exitosos y una pluralidad de casos de falla del tipo de acción realizado por usuarios del sistema en línea; seleccionar un pronosticador candidato de uno o más pronosticadores candidato al comparar el desempeño de uno más pronosticadores candidato; comparar el desempeño del pronosticador candidato seleccionado con el desempeño de los pronosticadores existentes; y reemplazar el pronosticador existente por el pronosticador candidato seleccionado en respuesta al desempeño del pronosticador candidato seleccionado que excede el desempeño del pronosticador existente.
Preferiblemente un caso exitoso de un tipo de acción corresponde a información almacenada en el sistema en línea que indica un usuario que toma una acción del tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo de acción.
Preferiblemente un caso de falla de un tipo de acción corresponde a información almacenada en el sistema en línea que indica un usuario que falla tomar una acción del tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo acción.
El método implementado por computadora además puede comprender, generar periódicamente un nuevo pronosticador: comparar el desempeño del nuevo pronosticador contra el desempeño de un pronosticador previamente generado; y en respuesta al desempeño del nuevo pronosticador que excede el desempeño del pronosticador previamente generado, reemplazar el pronosticador previamente generado con el nuevo pronosticador.
Preferiblemente en donde una velocidad para generar periódicamente nuevos pronosticadores de cada tipo de acción se reduce en respuesta a una mejora en desempeño del nuevo pronosticador comparado con el desempeño del pronosticador existente que está por abajo de un valor de umbral.
En otra modalidad de acuerdo con la invención, que puede reclamarse también, se proporciona un producto de programa de computadora que tiene un medio de almacenamiento legible por computadora no transitorio que almacena código ejecutable por computadora, el código que comprende: un módulo de fábrica de pronosticador de un sistema en línea configurado para: almacenar una pluralidad de pronosticadores, cada pronosticador para predecir si un usuario del sistema en línea realiza tipo de acción, cada pronosticador asociado con criterios para determinar un caso exitoso el tipo de acción; seleccionar un pronosticador existente correspondiente un tipo de acción; identificar un grupo datos que comprende casos exitosos y casos de falla del tipo de acción realizado por usuarios del sistema en línea; entrenar uno o más pronosticadores candidato utilizando el grupo datos identificado, en donde cada pronosticador candidato comprende un modelo aprendido por máquma; evaluar el desempeño de cada pronosticador candidato al ejecutar cada pronosticador en un grupo datos de prueba que comprende una pluralidad de casos de éxito y una pluralidad de casos de falla del tipo de acción realizado por usuarios del sistema en línea; seleccionar un pronosticador candidato de uno o más pronosticadores candidato al comparar el desempeño del uno o más pronosticadores candidato; comparar el desempeño del pronosticador candidato seleccionado con el desempeño de los pronosticadores existentes; y reemplazar el pronosticador existente por el pronosticador candidato seleccionado en respuesta al desempeño del pronosticador candidato seleccionado que excede el desempeño del pronosticador existente.
En una modalidad adicional de la invención, que puede reclamarse tambien, uno o más medios de almacenamiento no transitorios legibles por computadora representan software que es operable cuando se ejecuta para realizar un método de acuerdo con la invención o cualquiera de las modalidades mencionadas anteriormente.
En una modalidad adicional de la invención, que puede reclamarse también, un sistema comprende: uno o más procesadores; y una memoria acoplada a los procesadores que comprende instrucciones ejecutables por los procesadores, los procesadores operables cuando ejecutar las instrucciones para realizar un método de acuerdo con la invención o cualquiera de las modalidades mencionadas anteriormente.
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 A es un diagrama de un ambiente de sistema para generar e invocar pronosticadores personalizados existente en línea, por ejemplo, sistemas de redes sociales, de acuerdo con una modalidad del invención.
La Figura 16 es un diagrama que ilustra ejemplos de pronosticadores para acciones específicas tomadas por usuarios, de acuerdo con una modalidad del invención.
La Figura 2A ilustra la arquitectura de sistema de un sistema en línea, por ejemplo, un sistema de redes sociales que permite la generación e invocación de pronosticadores para acciones específicas tomadas por usuarios, de acuerdo con una modalidad del invención.
La Figura 2B es un diagrama de arquitectura del sistema del módulo de fábrica de pronosticador del sistema en línea, de acuerdo con una modalidad de la invención.
La Figura 3 ilustra el procedimiento general para generar modelos de pronosticador para usarse por varios módulos en el sistema de redes sociales, de acuerdo con una modalidad de la invención.
La Figura 4 ilustra el procedimiento general para generar un modelo de pronosticador para un tipo dado de acciones por usuarios, de acuerdo con una modalidad de la invención.
La Figura 5 es un cuadro de flujo del procedimiento para generar los modelos y actualizados en el sistema de redes sociales, de acuerdo con una modalidad del invención.
Las figuras ilustran varias modalidades de la presente invención para propósitos de ilustración únicamente. Un experto en la téenica reconocerá fácilmente a partir de la siguiente discusión de modalidades alternativas de las estructuras y métodos ilustrados aquí pueden emplearse sin apartarse de los principios de la invención aquí descrita.
DESCRIPCION DETALLADA Ahora se hará referencia con detalle a varias modalidades, cuyos ejemplos se ilustran en las figuras anexas. Se observa que en donde sea practicable pueden utilizarse números de referencia iguales o similares en las figuras y pueden indicar funcionalidad igual o similar. Las figuras ilustran modalidades del sistema descrito (o método) para propósitos ilustración únicamente. Un experto en la técnica reconocerá fácilmente a partir de la siguiente descripción que modalidades alternativas de las estructuras y métodos ilustrados pueden emplearse sin apartarse de los principios aquí descritos.
AMBIENTE DE SISTEMA La Figura 1 A es un diagrama de un ambiente sistema para generar e invocar pronosticadores personalizados en sistemas en línea, por ejemplo, sistemas de redes sociales, de acuerdo con una modalidad de la invención. Las invenciones aquí discutidas, aunque se ilustran utilizando sistemas de redes sociales, son aplicables a cualquier sistema en línea que permite a usuarios interactuar con el sistema en línea. Específicamente, un sistema de redes sociales ofrece a sus usuarios la capacidad de comunicar interactuar con otros usuarios del sistema de redes sociales. Los usuarios se unen al sistema de redes sociales y entonces agregan conexiones a un número de otros usuarios con quienes desean conectarse. Como se utiliza aquí, el termino “amigo” se refiere a cualquier otro usuario con quien un usuario ha formado una conexión, asociación, o relación a través del sistema de redes sociales.
La Figura 1 y las otras figuras utilizan números de referencia similares para identificar elementos similares. Una letra después de un número de referencia, tal como “1 10a”, indica que el texto se refiere específicamente al elemento que tiene el número de referencia particular. Un número de referencia el texto sin una letra siguiente, tal como “1 10”, se refiere a cualquiera o todos los elementos en las figuras que tienen ese número de referencia (por ejemplo, “1 10” en el texto se refiere a los números de referencia “1 10a” y/o “1 10b” en las figuras).
Los usuarios interactúan con el sistema de redes sociales 100 utilizando dispositivos de cliente 1 10. En una modalidad, el dispositivo de cliente 1 10 puede ser una computadora personal (PC), una computadora de escritorio, una computadora laptop, una notebook, una PC de tableta que ejecuta un sistema operativo, por ejemplo, un sistema operativo compatible con Microsoft Windows (OS) , Apple OS X, y/o una distribución Linux. En otro ambiente, el dispositivo de clientes 1 10 puede ser cualquier dispositivo que tiene funcionalidad de computadora tal como un asistente digital personal (PDA), teléfono móvil, teléfono inteligente, etc.
El sistema de redes sociales 100 presenta diferentes tipos de información a los usuarios, por ejemplo, información que describen otros usuarios, grupos sociales, eventos sociales, contenido, imágenes, y decisivamente. Típicamente hay un gran número de acciones que ocurren un sistema de redes sociales que están asociados con el usuario. Ya que un usuario típicamente tiene tiempo limitado para pasar en el sistema de redes sociales y también la cantidad de espacio disponible en una interfase de usuario del sistema de redes sociales está limitada, el sistema de redes sociales selecciona información que es más probable que sea de interés para el usuario. Un sistema de redes sociales puede incorporar uno o más módulos de sugerencia 140 que seleccionan información para presentación del usuario desde varias opciones disponibles.
Los módulos de sugerencia 140 utilizan pronosticadores 130 para determinar si es probable que un usuario realice una acción deseada basada en información presentada al usuario. Por ejemplo, un pronosticador 130 puede determinar una posibilidad de un usuario que solicita más información relacionada con un artículo de fuente de noticias presentado al usuario. O un pronosticador 130 puede determinar la posibilidad de usuario que comenta solo una imagen presentada al usuario. Alternativamente, un pronosticador 130 puede determinar una posibilidad envía una solicitud para conectarse con un usuario sugerido como una conexión potencial al usuario. Además, puede haber diferentes tipos de módulos de sugerencia, cada uno utilizando un grupo diferente de pronosticadores.
Las modalidades de la invención permiten a un solicitante especificar los requisitos para un pronosticador a la fábrica de pronosticador 150 a un nivel funcional en lugar de requerir que el solicitante especifique las características individuales que se van a utilizar en el modelo. Por ejemplo, un solicitante puede especificar el tipo de acción para el cual se requiere un modelo de pronosticador para un módulo de sugerencia 140. Por ejemplo, un tipo de acción puede ser un usuario que envía una solicitud para establecer una conexión con otro usuario cuando se presenta con una lista de conexiones potenciales o un tipo de acción puede ser un usuario que comenta sobre una imagen cuando se presenta con la imagen. El solicitante también especifica los criterios para identificar cuando la acción del tipo especificado puede considerarse un éxito o una falla. En una modalidad, cada solicitante puede proporcionar un grupo de instrucciones ejecutables que pueden ejecutarse utilizando una interfase de programación de aplicación (API) que se invoca cuando ocurre un tipo de acción particular en un sistema de ejecución. El éxito de esta acción puede determinarse basándose en las llamadas a la API .
La fábrica de pronosticador 150 utiliza la información proporcionada por el solicitante para generar un pronosticador 130. Ya que puede haber múltiples solicitantes para un sistema complejo, la fábrica de pronosticador 150 puede generar 165 varios pronosticadores 130a, 130b, 130c y así sucesivamente. La fábrica de pronosticador 150 utiliza las señales 105 proporcionadas por los usuarios del sistema de redes sociales 100 para entrenar los modelos de pronosticador. Las señales pueden corresponder a varias acciones tomadas por los usuarios cuando interactúan con el sistema de redes sociales 100.
Los pronosticadores generados 130 se invocan por módulos del sistema de redes sociales. Por ejemplo, un módulo de sugerencia 140 pueden invocar 155 un pronosticador 130a y otro módulo puede invocar 155 pronosticador 130b, y así sucesivamente. Los módulos del sistema de redes sociales, por ejemplo, el módulo de sugerencia 140 invoca 155 el pronosticador apropiado para determinar varias acciones que pueden tomarse por los módulos, por ejemplo, para determinar si cierta información de representarse a un usuario particular o si el módulo de sugerencia 140 debe hacer cierta sugerencia 1 15 al usuario.
El sistema de redes sociales 100 comprende módulos de software que se ejecutan en uno o más procesadores de computadora. Algunas modalidades de los sistemas 100 y 1 10 tienen diferentes y/u otros módulos a aquellos aquí descritos, y las funciones pueden distribuirse entre los módulos en una forma diferente a la aquí descrita. El sistema de redes sociales 100 puede comprender módulos diferentes a aquellos mostrados en la Figura 1 , por ejemplo, módulos ilustrados en la Figura 2 que además se describen aquí.
La Figura 1 B es un diagrama que ilustra ejemplos de pronosticadores para tipos de acciones específicos tomados por usuarios, de acuerdo con una modalidad de la invención. Las acciones realizadas por un usuario pueden ser con respecto a una entidad objetivo. Ejemplos de entidades objetivo incluyen otros usuarios, grupos sociales, imágenes, y similares representados dentro dei sistema de redes sociales 100.
Los tipos de acciones 185 pueden depender de la entidad objetivo. Por ejemplo, para una entidad objetivo 180 que representa un grupo social, una acción 185 puede ser un usuario de fuente 170 que se una grupo social. Para una entidad objetivo 180 que representa a un usuario del sistema de redes sociales, una acción 185 puede ser el usuario de fuente 170 que envía un mensaje, envía una solicitud para establecer una conexión, o ve información que describe el usuario 180. Para una entidad objetivo 180 que representa una imagen, una acción 185 puede corresponder a una opción de usuario de fuente que comenta sobre la imagen objetivo, que le gusta la imagen objetivo, o que de la imagen objetivo.
La fábrica de pronosticador 150 puede generar un modelo de pronosticador 130 para cada tipo de acción asociada con un tipo particular entidad objetivo. Por ejemplo, el pronosticador 1 30p predice acciones de tipo 185a para una entidad objetivo de tipo 180a, pronosticador 130q predice acciones de tipo 185b para una entidad objetivo de tipo 180a, y pronosticador 130r predice acciones de tipo 185c para una entidad objetivo de tipos 180b. En algunas modalidades, la fuente puede ser cualquier entidad representada en el sistema de redes sociales que se permite realizar una acción en otra entidad objetivo. Las acciones que se permite que realice una entidad pueden ser diferentes de las acciones que se permite que realice el usuario.
ARQUITECTURA DE SISTEMA La Figura 2A es un diagrama de arquitectura de sistema de una modalidad de un sistema en línea 100 el cual es un sistema de redes sociales 100. Aunque sistema de redes sociales se describe aquí como un sistema en línea ilustrativo, los principios aquí descritos son aplicables a otros sistemas en línea. El sistema de redes sociales 100 incluye la fábrica de pronosticador 150, un generador de fuente de noticias 235, servidor web 215, un registrador de acción 240, un registro acción 245, un almacenamiento de conexión 230, almacenamiento de perfil de usuario 225, y módulo de sugerencia 140. En otras modalidades, el sistema de redes sociales 100 puede incluir módulos adicionales, en menor número, o diferentes para varias aplicaciones componentes convencionales tal como interfases de red, mecanismos de seguridad, balanceadores de carga, servidores de recuperación de fallo, consolas de operaciones de manejo y red, y similares no se muestran para no oscurecer los detalles del sistema.
El sistema de redes sociales 100 almacena perfiles usuario en el almacenamiento de perfil usuario 225. El almacenamiento de perfil usuario 225 almacena información que describe a los usuarios del sistema de redes sociales 100, incluyendo tipos biográficos, demográficos, y otros de información descriptiva, tales como experiencia laboral, historial educativo, género, preferencias sexuales, pasatiempos o preferencias, ubicación, y similares. El almacenamiento de perfil de usuario 225 también puede almacenar contenido proporcionado por el usuario, por ejemplo, imágenes, vídeos, comentarios, y actualizaciones de estado. En una modalidad, un usuario del sistema de redes sociales 100 puede ser una organización, por ejemplo, un negocio, una organización sin fines de lucro, un fabricante, un proveedor, y similares. El tipo de información almacenada en un perfil de usuario de una organización puede ser diferente a la información almacenada en un perfil de usuario de un individuo. Por ejemplo, una organización puede almacenar información que describe el tipo de negocio, información financiera asociada con la organización, estructura de la organización y así socialmente.
El sistema de redes sociales 100 permite a los usuarios agregar conexiones a un número de otros usuarios del sistema de redes sociales 100 a los cuales desean conectarse. Explícitamente pueden agregarse conexiones por un usuario, por ejemplo, el usuario que selecciona otro usuario particular para ser un amigo, o crearse automáticamente por el sistema de redes sociales basándose en una característica común del usuario (por ejemplo, usuarios que son alumnos de la misma institución educativa). Los sistemas de redes sociales pueden almacenar información que describe conexiones de un usuario junto con la información específica para el usuario.
El sistema de redes sociales 100 almacena datos que describen una o más conexiones entre diferentes números en el almacenamiento de conexión 230. La información de conexión puede indicar miembros que tienen experiencia laboral similar o común, membresías de grupo, pasatiempos, o historial educativo. Adicionalmente, el sistema de redes sociales 100 incluye conexiones definidas por usuario entre diferentes usuarios, permitiendo a los usuarios especificar sus relaciones con otros usuarios. Por ejemplo, estas conexiones definidas por usuario permiten a los miembros generar relaciones con otros usuarios que son paralelas a las relaciones de la vida real de los usuarios, tal como amigos, colegas de trabajo, socios, y así sucesivamente.
Los usuarios pueden seleccionar de tipos predefinidos de conexiones, o definir sus propios tipos de conexión como sea necesario. La información de usuario que describe cada usuario puede incluir información que describe conexiones del usuario. Además, la información que describe una conexión de un usuario puede accederse con relación a acciones realizadas por un usuario. Por ejemplo, si el usuario publica comentarios sobre el sistema de redes sociales, el sistema de redes sociales puede proporcionar información que describe la acción a conexiones del usuario. La información puede proporcionarse a conexiones del usuario a través de una fuente de noticias.
El registrador de acción 240 es capaz de recibir comunicaciones del servidor web 214 sobre acciones de usuario dentro y/o fuera del sistema de redes sociales 100. El registrador de acción 240 llena el registro de acción 245 con información sobre acciones de usuario para rastrearlas. Cualquier acción que un usuario particular toma con respecto a otro usuario está asociada con cada perfil de usuario, a través de información mantenida en una base de datos u otro depósito de datos, tal como un registro acción 245. Tales acciones pueden incluir, por ejemplo, agregar una conexión al otro usuario, enviar un mensaje al otro usuario, leer un mensaje del otro usuario, ver contenido asociado con el otro usuario, asistir a un evento publicado por otro usuario, entre otros.
Un sistema de redes sociales 100 mantiene un canal de fuente de noticias que proporciona actualizaciones regulares de información disponible en el sistema de redes sociales 100 a un usuario. La información reportada a través del canal de fuente de noticias se determina por el generador de puente noticias 235. El generador de fuente de noticias 235 genera mensajes para cada usuario sobre información que puede ser relevante para el usuario, basándose en acciones almacenadas en el registro de acción 245. Estos mensajes son llamados “historias”; cada historia es un mensaje que comprende una o pocas líneas información basadas en una o más secciones en el registro de acción que son relevantes para el miembro particular. Por ejemplo, si una conexión de un usuario realiza una transacción, la acción puede reportarse al usuario a través de una historia de fuente de noticias. Las acciones reportadas a través de la fuente de noticias típicamente son acciones realizadas por conexiones del usuario pero no están limitadas a esas. Por ejemplo, si se determina cierta información no relacionada con las conexiones del usuario para ser útil para el usuario, la información puede reportarse al usuario a través de una fuente de noticias.
El servidor web 215 enlaza el sistema de redes sociales 100 a través de la red 210 a uno o más dispositivos de cliente 1 10; el servidor web 215 atiende páginas web, así como otro contenido relacionado con web, tal como flash , XML, y así sucesivamente. El servidor web 215 proporciona la funcionalidad de recibir y enrutar mensajes entre sistema de redes sociales 100 y los dispositivos de cliente 1 10. Estos mensajes pueden ser mensajes instantáneos, mensajes formados (por ejemplo, correo electrónico) , mensajes de texto y SMS (servicios de mensaje corto), o cualquier otra téenica de mensajería adecuada. En algunas modalidades, un mensaje enviado por un usuario a otro puede observarse por otros usuarios del sistema de redes sociales 100, por ejemplo, por las conexiones del usuario que recibe el mensaje. Un ejemplo de un tipo de mensaje que puede verse por otros usuarios del sistema de redes sociales 100 además del receptor del mensaje solo la publicación de muro. Una publicación de muro permite a un usuario publicar un mensaje a través de un canal de comunicación llamado muro que puede accederse por un grupo de usuarios como se definió por las configuraciones de privacidad del usuario. Por ejemplo, un usuario puede compartir el muro de usuario con todas las conexiones del usuario, con un subgrupo de conexiones del usuario, con todas las conexiones excepto pocas conexiones específicamente listadas, o por una lista de colecciones explícitamente proporcionadas. En algunas modalidades, un usuario puede enviar un mensaje privado a otro usuario que puede accederse únicamente por el otro usuario.
El sistema de redes sociales 100 puede proporcionar a usuarios con la capacidad de tomar acciones en varios tipos de entidades soportadas por el sitio web. Estas entidades pueden incluir grupos o redes (en donde “redes” aquí no se refieren a redes de comunicación física, sino más bien a redes sociales de gente) a las cuales pueden pertenecer los miembros del sitio web, eventos o entradas de calendario en donde puede estar interesado un miembro, aplicaciones basadas en computadora que un miembro puede utilizar a través del sitio web, y transacciones que permiten a los miembros comprar, vender, subastar, rentar, o intercambiar artículos a través del sitio web. Un perfil usuario pueda almacenar asociaciones de un usuario con varias entidades.
El sistema de redes sociales 100 puede proporcionar varios mecanismos usuarios para comunicarse entre sí o para obtener información que encuentran interesante, por ejemplo, actividades con las que están involucrados sus amigos, aplicaciones que sus amigos están instalando, comentarios hechos por amigos sobre actividades de los amigos, etc. Los mecanismos de comunicación entre miembros son denominados canales. Si usuario se comunica con otro usuario, la información de usuario de ambos usuarios puede haberse accedido, por ejemplo, para asociar la acción de comunicarse con el remitente y receptor.
El módulo de sugerencia 140 identifica información de interes para varios usuarios y envía información a ellos. Por ejemplo, el sistema de social puede enviar a un usuario, historias que describen acciones tomadas por otros usuarios que están conectados al usuario. La historia puede comunicarse al usuario a través de un canal de comunicación del sistema de redes sociales, por ejemplo, un canal de fuente de noticias. El módulo de sugerencia 140 utiliza información disponible en los perfiles de usuario de varios usuarios para determinar historias de interés para cada usuario. El módulo de sugerencia utiliza pronosticadores proporcionados por la fábrica de pronosticador 150 para seleccionar información para presentación de un usuario desde información diferente disponible para presentación. La fábrica de pronosticador 150 se describe en la descripción de la Figura 1 A y se describe con detalle adicional, por ejemplo, en la Figura 2B.
El dispositivo de cliente 1 10 ejecuta un navegador 220 para permitir al usuario interactuar con el sistema de redes sociales 100. El navegador 220 permite al usuario realizar varias acciones utilizando el sistema de redes sociales 100. Estas acciones incluyen recuperar información para el usuario, recomendar contenido a otros usuarios, cargar contenido del sistema de redes sociales 100, interactuar con otros usuarios del sistema de redes sociales, establece una conexión con un usuario del sistema de redes sociales, y similares.
Las interacciones entre los dispositivos de cliente 1 10 y el sistema en l ínea 100 se realizan típicamente a través de una red 210, por ejemplo, a través de I nternet. La red 210 permite comunicaciones entre el dispositivo de cliente 1 10 y el sistema en línea 100. En una modalidad, la red 210 utiliza teenologías y/o protocolos de comunicaciones estándares. De esa forma, la red 210 puede incluir enlaces utilizando tecnologías tal como Ethernet, 802.1 1 , interoperabilidad mundial para acceso por microondas (WiMax), 3G, línea de suscriptor digital (DSL), modo de transferencia asincrónico (ATM), I NFI NI BAND, conmutación avanzada exprés de PCI, etc. Similarmente, los protocolos en red utilizados en la red 210 pueden incluir conmutación de etiqueta de protocolo múltiple (MPLS), protocolo de control de transmisión/protocolo de Internet (TCP/IP), protocolo de datagrama de usuario (UDP), el protocolo de transporte de hipertexto (HTTP), el protocolo de transferencia de correo simple (SMTP), el protocolo de transferencia de archivo (FTP), etc. Los datos intercambiados sobre la red 210 pueden representarse utilizando tecnologías y/o formatos incluyendo lenguaje de marcación hipertexto (HTML), lenguaje de marcación extensible (XML), etc. Además, todos o algunos de los enlaces pueden codificarse criptográficamente utilizando tecnolog ías de codificación criptográfica convencionales tal como capa de enchufe seguro (SSL), seguridad de capa transporte (TLS), redes privadas virtuales (VPN) , seguridad de protocolo de Internet (IPsec), etc. En otra modalidad, las entidades pueden utilizar teenolog ías de comunicaciones de datos personalizadas y/o dedicadas en lugar de, o además de, aquellas descritas anteriormente. Dependiendo de la modalidad, la red 210 puede incluir enlaces a otras redes tales como Internet.
La Figura 2B es un diagrama de arquitectura de sistema del módulo de fábrica del pronosticador 150 del sistema de redes sociales que, de acuerdo con una modalidad de la invención. La fábrica del pronosticador 150 comprende módulos incluyendo modelos de aprendizaje por máquma 272, un programador 285, un módulo extractor de datos 265, un evaluador de modelo 280, un generador de modelo 290, un almacenamiento de datos de acción 260, y un almacenamiento de pronosticador 120. El módulo de fábrica de pronosticador 150 recibe solicitud para generar pronosticadores para usarse con el sistema de redes sociales. En algunas modalidades, los pronosticadores pueden proporcionarse para usarse por sistemas externos, por ejemplo, sistemas externos que invocan funcionalidad dentro del sistema de redes sociales a través de interfases de programación de aplicación (API).
Una solicitud para un pronosticador recibido por el módulo de fábrica de pronosticador 150 especifica un tipo de acción que se va a predecir. El tipo de acción puede estar asociada con un tipo particular de entidad representado con el sistema de redes sociales. Por ejemplo, un pronosticador puede solicitarse para predecir la posibilidad de un usuario de fuente establece una conexión con un usuario objetivo. En esta situación, la acción está estableciendo una conexión y la identidad objetivo es otro usuario. Como otro ejemplo, un pronosticador puede ser solicitado para predecir la posibilidad de un usuario de fuente que se una a un grupo social. En este ejemplo, la acción es un usuario que se une a un grupo social y la entidad objetivo es un grupo social.
La solicitud también especifica criterios para identificar casos exitosos de la acción y criterios para identificar casos de falla del tipo de acción. Por ejemplo, si el tipo de acción corresponde a un usuario que envía una solicitud para conectarse a otro usuario, un caso exitoso de la acción corresponde al usuario que envía una solicitud para conectarse a un amigo potencial sugerido por el sistema en línea y un caso de falla corresponde al usuario que falla al conectarse al amigo potencial o que intenta ocultar la sugerencia de amigo. El criterio para identificar caso exitoso puede comprender información que indica una interfase de usuario apropiada presentada al usuario información que indica un tipo de acción realizada por el usuario utilizando la interfase usuario. Por ejemplo, un éxito de un usuario que intenta establecer una conexión con otro usuario puede identificarse al detectar que una interfase de usuario que sugiere conexiones potenciales del usuario se presentó al usuario, y el hecho de que el usuario proporcionó entrada a través de la interfase usuario indicando que el usuario desea conectarse con una de las conexiones sugeridas.
Casos de falla de ciertos tipos de acciones también pueden corresponder a un usuario que proporciona una retroalimentación negativa, por ejemplo, al solicitante sistema de redes sociales oculte cierta información presentada al usuario. Como un ejemplo, el sistema de redes sociales 100 puede recomendar cierto contenido al usuario junto con interfase de usuario permitiendo al usuario proporcionar retroalimentación con respecto al contenido. El usuario puede utilizar la interfase de usuario para proporcionar retroalimentación que puede ser positiva o negativa. Una retroalimentación negativa puede corresponder a un usuario que indica a través de la interfase de usuario que el usuario no le gusta la información presentada, el usuario intenta ocultar la información presentada, o indica que el usuario no desea ver el tipo particular de información o información de esa fuente particular más.
Una falla de una acción del mismo tipo puede identificarse al detectar que la interfase de usuario que sugiere conexiones potenciales del usuario se presentó al usuario, y no se recibió ninguna entrada del usuario que intenta establecer una conexión con el usuario(s) sugerido. La falta de entrada recibida del usuario puede detectarse al no recibir ninguna entrada que intenta establecer una conexión por más de un intervalo de tiempo de umbral o cuando se presenta una nueva interfase de usuario que reemplaza la interfase de usuario previa o una nueva lista de conexiones potenciales se presenta al usuario. También puede identificarse una falla si el usuario proporciona una señal negativa explícita o implícita, por ejemplo, el usuario que indica que el usuario desea ocultar la información que describe el usuario sugerido, o el usuario indica que el usuario no desea ver la interfase de usuario. Las acciones pueden detectarse en tiempo de ejecución, por ejemplo, por el registrador de acción, o al procesar acciones en el sistema de redes sociales fuera de línea, por ejemplo, al analizar el registro de acción.
El módulo extractor de datos 265 analiza información disponible en el sistema de redes sociales para extraer datos útiles para entrenamiento, evaluación o prueba de un modelo de pronosticador. Por ejemplo, si un módulo solicita que la fábrica de pronosticador proporcione un modelo de pronosticador para un tiempo particular de acción, el módulo extractor de datos 265 extrae casos de ese tipo de acción. El extractor de datos 265 puede recolectar datos para el tipo de acción dado al analizar datos disponibles en registros de acción 245. Por ejemplo, el extractor de datos 265 puede buscar varios casos del tipo dado de acción en los registros de acción.
Como un ejemplo, si la acción corresponde a un usuario que comenta sobre una foto, un caso de éxito de la acción corresponde a un usuario particular que se conecta en una foto cuando se presenta con la foto y un caso de falla corresponde al usuario que no comenta sobre la foto a pesar de ser presentado con la foto. Similarmente, si una acción corresponde a un usuario que solicita información adicional para un artículo de fuente de n óticas, un caso de éxito corresponde a un usuario particular que solicita información adicional cuando se presenta con el artículo de fuente de noticias y un caso de falla corresponde al usuario que no solicita información adicional en respuesta a presentarse con un artículo de fuente de noticias particular. El extractor de datos 265 identifica tanto casos de éxito como de falla de la acción en donde un éxito positivo corresponde al usuario que realiza la acción y el caso de falla hacia el usuario que no realiza la acción dada la oportunidad apropiada para realizar la acción.
Si el módulo solicitante especifica que el modelo de pronosticador es solicitado para una categoría particular de usuario, el extractor de datos 265 genera datos basándose en acciones tomadas por usuarios que pertenecen a esa categoría. Un módulo de solicitante puede solicitar a un modelo de pronosticador usuarios que tengan una característica demográfica particular, por ejemplo, usuarios que tienen género masculino y pertenecen a un grupo de edad particular, usuarios que tiene género femenino y tiene un estado particular, usuarios que pertenecen a una región particular, usuarios que tienen un antecedente étnico particular, usuarios que hablan un idioma particular.
En una modalidad, el extractor de datos 265 involucra módulos del sistema de redes sociales para presentar usuarios seleccionados con oportunidades para realizar el tipo particular de acción y verifica si los usuarios seleccionados realizan la acción. Si el usuario seleccionado realiza la acción dada la oportunidad, el extractor de datos 265 registra un caso positivo del tipo de acción. Si el usuario seleccionado no realiza la acción dada la oportunidad, el extractor de datos 265 registra un caso negativo del tipo de acción. El caso positivo de una acción es llamado un éxito y un caso negativo es llamado una falla de la acción particular.
El extractor de datos 265 puede almacenar los datos extraídos en almacenamiento de datos de acción 260. La información almacenada en el almacenamiento de datos de acción 260 describe varias acciones tomadas por usuarios que son relevantes ya sea para generar modelos de pronosticador o probar y evaluar modelos de pronosticador. El cuadro I muestra valores de datos ilustrativos almacenados en el almacenamiento de datos de acción 260 para un tipo dado de acción.
Cuadro I Como se ilustra en el cuadro I, cada fila de datos tiene un valor de I D de fila de datos que representa una identificador de fila identifica únicamente la fila. El I D de fuente es un identificador que identifica únicamente la fuente de la acción, por ejemplo, un usuario que realiza o no realiza una acción. El ID objetivo representa un valor de identificador que representa la entidad en la cual se realiza la acción. El tipo de objetivo representa el tipo de entidad correspondiente al objetivo. El objetivo puede ser cualquier tipo de entidad representada en el sistema de redes sociales, por ejemplo, un grupo, un usuario, una imagen, una aplicación, un comentario, un artículo de fuente de noticias, y similares. Típicamente los objetivos son entidades con las cuales pueden interactuar usuarios de fuente. Un usuario de fuente realiza una acción correspondiente a una interacción con la entidad objetivo. Cada tipo de acción puede representarse por un identificador único. El valor de I D de acción almacena el identificador correspondiente al tipo de acción que representa la fila. Por ejemplo, si la entidad objetivo es una imagen y la acción puede estar comentando sobre la imagen, o si la entidad objetivo es un usuario, la acción puede corresponder al usuario de fuente que envía una solicitud para establecer una conexión con el usuario objetivo. En otra modalidad, el almacenamiento de datos de acción 260 almacena una fila individual si la acción se repite por el usuario múltiples veces dentro de un intervalo de tiempo breve. Por ejemplo, si un usuario recupera información que describe otro usuario múltiples veces en un intervalo de tiempo breve, o el usuario repetidamente golpea un botón de me gusta para una entidad múltiples veces dentro de un intervalo de tiempo breve, se almacena una fila individual para todos estos casos del tipo de acción entre la misma fuente objetivo. En una modalidad, el almacenamiento de datos de acción 260 almacena una cuenta para cada fila del cuadro I de manera que el conteo indica un número de casos de un tipo de acción particular por el mismo usuario contra la misma entidad objetivo dentro de un intervalo de tiempo pasado por un tamaño predeterminado, por ejemplo, un intervalo de 30 minutos.
La columna de etiqueta indica si la fila corresponde a un caso positivo o a un caso negativo, por ejemplo, un valor de 1 indica un caso positivo de la acción y un valor 0 indica un caso negativo de la acción. En los datos ilustrativos ilustrados en el cuadro I , el usuario con I D 100 está asociado con dos casos de la acción como uno correspondiente a la fila 1001 que está dirigido a una entidad con I D objetivo 200 y otro caso correspondiente a la fila 1002 que está dirigido a una entidad con I D objetivo 201 . La tercera fila corresponde a un caso de la acción tomada por otro usuario con I D de fuente 101 . En alginas modalidades, la etiqueta puede tomar valores diferentes a ceros y unos, por ejemplo la etiqueta puede representar un valor de un contador que puede tomar cualquier valor de número entero positivo.
Con base en los eventos recolectados en el cuadro T1 , el extractor de característica 295 extrae características basándose en las acciones disponibles. Ejemplos de características incluye información de caracterización del usuario de fuente y la entidad objetivo así como relación entre la fuente y objetivo. Por ejemplo, si la entidad objetivo es un usuario, una característica puede indicar una velocidad a la cual el usuario de fuente se ha comunicado con el usuario objetivo en el pasado, la velocidad a la cual el usuario objetivo ha accedido información que describe el usuario objetivo, la duración de tiempo desde la última interacción entre la fuente y usuarios objetivo, y así sucesivamente.
Una característica puede representarse como una expresión basada en valores asociados con entidades representadas en el sistema de redes sociales 100 y acciones realizadas en el sistema de redes sociales 100. Estas expresiones que representan características pueden proporcionarse por expertos y agregarse al sistema por un usuario privilegiado, por ejemplo, un administrador de sistema. En una modalidad, una característica se representa como una función de acciones registradas en el sistema de redes sociales, es decir, característica = función (acciones_registradas). Una característica tambien podría ser una función de otras características, por ejemplo, una expresión basada en otras características o acciones, o combinaciones délas dos. Como un ejemplo de una característica como una expresión, si el objetivo es un usuario, un pe rf i l_v i sta corresponde al usuario de fuente que ve el perfil de usuario objetivo, fotos_vista corresponde al usuario de fuente que ve la foto de usuarios objetivo, y comentario_vista corresponde al usuario de fuente que ve un comentario publicado por el usuario objetivo, una característica llamada observación puede definirse como a continuación.
Observación = perfil_vista+foto_vista + 0.5xcomenatrio_vista En una modalidad, en la ecuación anterior, un valor de un término, digamos perf i l_vista es 1 si la acción ocurre y 0 si la acción no ocurre. En otra modalidad, el valor de cada término puede ser un valor de puntuación, por ejemplo, una puntuación basada en información que describe la acción particular, por ejemplo, el número de veces que se realiza la acción por el usuario dentro de un intervalo de tiempo, o la duración de tiempo asociada con la acción tal como una duración de tiempo que un usuario observa una foto antes de recuperar una foto diferente.
En una modalidad, una característica puede ser un valor agregado basándose en acciones realizadas por el usuario de fuente con respecto a múltiples objetivos. Por ejemplo, una característica puede representar un agregado de todas las vistas de páginas realizadas por un usuario de fuente en un intervalo de tiempo dado para todos los otros usuarios conectados al usuario de fuente. Otra característica puede representar la velocidad a la cual un usuario ve imágenes publicadas por otros usuarios conectados al usuario. Una característica puede representar una acción realizada por un usuario de fuente con respecto a un usuario objetivo que es normalizado basándose en el comportamiento de usuario de fuente con respecto a todos los otros usuarios conectados al usuario de fuente. Por ejemplo, una característica puede representar que tan frecuentemente un usuario de fuente interactúa con un usuario objetivo normalizado utilizando el número promedio de interacciones del usuario de fuente con otros usuarios conectados al usuario de fuente. Los metadatos que describen las varias características están almacenados en el almacenamiento de característica 250.
En una modalidad, la representación de datos del cuadro I puede ser un cuadro de base de datos en el almacenamiento de datos de acción 260. Las acciones a medida que se llevan a cabo en el sistema de redes sociales se agregan a la representación de datos del cuadro I . También, las características que se basan en un tipo de acción se actualizan como un caso de que se agrega la acción. Por ejemplo, si una característica se basa en el número de veces que un usuario ve una foto, cada caso del usuario que ve la foto puede causar que la característica sea reevaluada. En una modalidad, un cuadro de características almacena los valores de varias características. Por ejemplo, el cuadro de características puede tener columnas de I D de fuente, I D objetivo, tipo de objetivo, I D de acción, y varias características.
En una modalidad, el almacenamiento de datos de acción 260 mantiene un cuadro de retroalimentación que almacena los datos de entrenamiento requeridos para entrenar diferentes modelos de pronosticador. Cada modelo de pronosticador puede estar asociado con un sitio de llamada que representa el contexto en el cual se invoca el modelo de pronosticador o se utiliza. El mismo tipo de acción puede realizarse por un usuario en diferentes contextos. Un contexto puede estar asociado con una presentación particular de información al usuario objetivo en el cual el usuario puede tomar esa acción. Como un ejemplo, la acción de un usuario que envía una solicitud para contactarse con ese usuario puede realizarse en diferentes contextos cada uno asociado con un tipo de interfase de usuario. Por ejemplo, un usuario puede enviar una solicitud para conectarse a otro usuario cuando se presenta con una lista de conexiones potenciales del usuario. Alternativamente, el usuario de fuente puede presentarse con una oportunidad para conectarse con un usuario objetivo cuando el usuario de fuente está viendo una imagen u otra información que describe el usuario objetivo. El Cuadro I I muestra columnas incluyendo un I D de fuente, un I D objetivo, un sitio de llamada y una etiqueta que representa si el caso de acción es un éxito o una falla. La información presentada en el Cuadro I I puede utilizarse para entrenar los diferentes modelos de pronosticador.
Cuadro II En una modalidad, los valores para varias características pueden representarse como pares de nombre o valor asociados con cada caso de fuente y objetivo. En otra modalidad, los datos generados para un modelo de pronosticador particular se representan como Cuadro II I en donde cada fuente y objetivo está asociado con varias características y son relevantes para el modelo. El Cuadro I I I también almacena la etiqueta que representa un éxito o falla para cada fila.
Cuadro III Los datos almacenados en una representación del Cuadro I I I pueden dividirse en diferentes partes para diferentes tipos de uso relacionados con un modelo de pronosticador particular. Por ejemplo, una parte de los datos puede utilizarse para entrenamiento, u otra parte puede utilizarse para probar diferentes tipos de modelos de aprendizaje por máquma, y una tercera parte puede utilizarse para evaluar los diferentes modelos de aprendizaje por máquina, por ejemplo, para comparar diferentes tipos de modelo para seleccionar un tipo particular de modelo para un sitio de llamada dado.
El módulo de aprendizaje por máquina 275 implementa varios tipos de modelo que pueden implementarse para cada tipo de acción dado. Ejemplos de diferentes modelos de aprendizaje por máquina implementados en los modelos de aprendizaje por máquina 275 incluyen regresión lineal, regresión log ística, regresión cuadrática, regresión de energía, árbol de impulso, árbol de decisión ponderado, así como otros tipos de modelos que son apropiados. Cada modelo puede estar asociado con ciertos valores de coeficiente. Por ejemplo, un modelo de regresión lineal puede representarse como w1 *f 1 +w2*f2*f3 + ... en donde cada característica fi es ponderada por un wi de coeficiente apropiado.
El evaluador de modelo 280 evalúa cada modelo de pronosticador basándose en los datos recolectados para el modelo, por ejemplo, utilizando puntuación de perdida de registro. El evaluador de modelo 280 puede predecir resultados utilizando un modelo dado y comparar los resultados previstos con resultados reales observados. En una modalidad, el evaluador de modelo evalúa 280 un modelo al comparar el resultado previsto por el modelo contra una suposición aleatoria. En una modalidad, el evaluador de modelo 280 evalúa el desempeño en todos lo varios tipos de modelos y compara su desempeño uno contra el otro para seleccionar el mejor modelo de desempeño que se va a utilizar como el modelo de pronosticador para el sitio de llamada dado. El evaluador del modelo 280 también compara el modelo seleccionado contra el modelo existente si está disponible para determinar si se reemplaza el modelo existente con el nuevo modelo. Si se comparan dos modelos diferentes, se evalúan contra el mismo grupo de datos y los resultados se comparan.
El programador 285 programa tareas para generar modelos de pronosticador basándose en un programa predeterminado. El programa para cada modelo de pronosticador para una acción particular puede ser diferente. En una modalidad, el programador 285 mantiene una fila de tareas. Cada tarea identifica un modelo de pronosticador para un tipo particular de acción y uno o más valores de fecha de registro correspondientes a la hora cuando se regeneró el modelo de pronosticador. En un tiempo dado correspondiente a una fecha de registro, el programador selecciona la tarea e invoca los módulos apropiados para ejecutar la tarea. La regeneración de un modelo de pronosticador puede corresponder a volver a calcular los varios coeficientes para el modelo. Por consiguiente, el modelo de pronosticador existente puede retenerse pero los coeficientes del modelo particular cambian. Por ejemplo, si el modelo de pronosticador existente es modelo de regresión lineal, el nuevo modelo de pronosticador también puede ser un modelo de regresión lineal con los coeficientes para los varios términos del modelo remplazado con nuevos coeficientes. La regeneración de un modelo de pronosticador puede corresponder a regenerar un nuevo modelo. Por ejemplo, un modelo de un nuevo tipo puede generarse para remplazar el modelo de pronosticador existente. En algunas situaciones, el modelo de pronosticador existente puede retenerse si el nuevo modelo de pronosticador no es significativamente mejor que el modelo existente o peor que el modelo existente.
PROCEDIMI ENTO GENERAL La Figura 3 ilustra el procedimiento general para generar funciones de pronosticador para invocación por varios modelos en el sistema de redes sociales, de acuerdo con una modalidad de la presente invención. Varios módulos del sistema de redes sociales 100 pueden ser consumidores de modelos de pronosticador generados por la fábrica de pronosticador 150. Por ejemplo, el generador de fuente de noticias 235 puede invocar un modelo de pronosticador que predice la posibilidad de un usuario objetivo que está interesado en ver contenido enviado al usuario objetivo a través de fuente de noticias. Un módulo de sugerencia 140 puede invocar un modelo de pronosticador que predice la posibilidad de un usuario que interactúa con un grupo sugerido para el usuario, por ejemplo, la posibilidad del usuario que solicita información adicional que describe el grupo o la posibilidad del usuario para volverse un miembro del grupo.
La fábrica de pronosticador 150 recibe solicitudes 310 para generar modelos de pronosticador para cierto tipo de acción de usuario para usarse por otros módulos del sistema de redes sociales 100. Como se describió anteriormente, la solicitud puede ser para un modelo de pronosticador para cierto tipo de acción que un usuario objetivo es probable que tome, por ejemplo, información de solicitud que describe otro usuario, establecer una conexión con un usuario, escribir un comentario sobre una foto, volverse miembro de un grupo, y así sucesivamente. La solicitud proporciona una métrica para determinar un éxito correspondiente a la acción y métrica para determinar una falla correspondiente a la acción. El éxito de la acción corresponde a criterios que pueden utilizarse para determinar sí, dada una oportunidad para realizar una acción de un tipo dado de un usuario, el usuario realiza un caso del tipo de acción dado. La falla de una acción corresponde a criterios que pueden utilizarse para determinar si, dada una oportunidad para realizar una acción de un tipo dado a un usuario, el usuario no realiza la acción del tipo de acción dado. La falla de una acción puede determinarse basándose en el hecho de que la acción nunca se realizó hasta que se remueve la oportunidad para realizar la acción. Esto puede suceder cuando está presente un nuevo grupo de información al usuario que puede corresponder a una oportunidad para realizar una acción diferente, sobrescribiendo con ello la información correspondiente a la acción previa. Alternativamente, la falla de una acción puede determinarse basándose en retroalimentación activa del usuario, por ejemplo, una señal del usuario que indica que el usuario no desea ver la información presentada ya, o al usuario no le gusta la información presentada. Ya que el usuario está indicando al sistema de redes sociales que la información debe removerse, es poco probable que el usuario realice la acción basándose en la acción presentada, indicando con ello una falla de la acción.
Como un ejemplo, si la acción corresponde a un usuario que solicita información adicional de una fuente de noticias presentada al usuario, el éxito de la acción puede corresponder al usuario que da clic en el artículo de fuente de noticias para solicitar información adicional. Similarmente, para este ejemplo, una falla puede corresponder al usuario que ya sea que intenta ocultar el artículo de fuente de noticias, el usuario que indica una versión del artículo de fuente de noticias, o al usuario que no da clic en el artículo de fuente de noticias después que se presenta el artículo de fuente de noticias al usuario.
En una modalidad, el solicitante también puede especificar una categoría de usuario a quienes se les solicita el modelo de pronosticador. El modelo de pronosticador solicitado puede estar dirigido a usuarios que tienen ciertas características demográficas. Por ejemplo, el modelo de pronosticador solicitado puede determinar una posibilidad de mujeres en cierto grupo de edad que se vuelven un miembro de una organización representada en el sistema de redes sociales o una posibilidad de hombres de una región geográfica particular que están interesados en cierto contenido de medios.
El generador de modelo 290 genera 320 el modelo de pronosticador solicitado. Los detalles de cómo el generador de modelo 290 genera 320 el modelo de pronosticador solicitado además se describen aquí, por ejemplo, en el cuadro de flujo ilustrado en la Figura 4. El modelo de pronosticador puede comprender código ejecutable que pude invocarse junto con ciertos parámetros o atributos asociados con el código ejecutable. Por ejemplo, el código ejecutable para el modelo de pronosticador puede ser un modelo de aprendizaje por máquma y los parámetros del modelo de pronosticador pueden ser coeficientes utilizados por el modelo de aprendizaje por máquina. El modelo de pronosticador además almacena la información que describe el modelo de pronosticador generado en el almacenamiento de pronosticador 120.
La fábrica de pronosticador 150 tambien genera un control para el modelo de pronosticador generado. El control puede ser cualquier valor que se utiliza para identifica únicamente el modelo de pronosticador. El control puede ser una función, un nombre de función o un indicador utilizado para invocar al pronosticador. La fábrica de pronosticador puede mantener un cuadro que asigna controles a modelos de pronosticador para buscar un modelo de pronosticador dado un controlador. El control puede comprender un identificador numérico, una secuencia, un indicador de función que identifica el modelo de pronosticador, o un nombre de una función o método que implementa el modelo de pronosticador. El control también comprende información que identifica valores de coeficiente correspondientes al modelo de pronosticador, por ejemplo, valores de coeficientes utilizados por una téenica de aprendizaje por máquma.
La fábrica de pronosticador 150 regresa 330 el control al módulo solicitante. El módulo solicitante puede utilizar el control para invocar subsecuentemente el modelo de pronosticador. El módulo solicitante puede proporcionar el control para un modelo de pronosticador junto con parámetros para una invocación específica del modelo de pronosticador. Por ejemplo, el módulo de sugerencia puede invocar un modelo de pronosticador al proporcionar el control al modelo de pronosticador generado a la fábrica de pronosticador junto con información que identifica un usuario particular y un grupo para predecir la posibilidad del usuario que solicita información que describe el grupo. Los pasos del procedimiento ilustrados en la Figura 3 puede repetirse para nuevas solicitudes, por ejemplo, solicitudes para modelos de pronosticador para uso en otros módulos o del sistema de redes sociales.
La Figura 4 muestra el procedimiento de generar 320 un modelo de pronosticador para un tipo dado de acción, de acuerdo con una modalidad de la invención. La fábrica de pronosticador 150 realiza los pasos en respuesta a una solicitud para generar un modelo de pronosticador para un tipo dado de acción. La fábrica de pronosticador 150 utiliza los datos generados por el extractor de datos 265 como grupo de datos de entrenamiento para entrenar modelos de aprendizaje por máquma 275. La fábrica de pronosticador 150 entrena diferentes tipos de modelo de aprendizaje de máquina y genera diferentes modelos de pronosticador para el tipo de acción dado. La fábrica de pronosticador 150 determina los valores de coeficientes o parámetros para cada tipo de modelo.
El evaluador de módulo 280 utiliza una porción de los datos generados por el extractor de datos 265 como datos de prueba para evaluar 430 los diferentes modelos elevados. El evaluador de modelo 280 puede evaluar un modelo dado al predecir el resultado en una situación dada presentada a un usuario particular al utilizar el modelo de pronosticador y entonces realmente observar la acción realizada por el usuario en la situación dada. El evaluador de modelo 280 rastrea el número de casos en los cuales el resultado previsto comcide con los resultados observados, y el número de casos en los cuales el modelo de pronosticador falla al predecir el resultado de forma precisa. Los modelos de pronosticador son calificados basándose en su índice de éxito al predecir los resultados para el tipo de acción dado. Por ejemplo, un modelo de pronosticador para un tipo de acción dado que predice el resultado correcto 70% de las veces se califica superior que un modelo de pronosticador para el mismo tipo de acción que predice resultados correctos 40% de las veces.
El evaluador de modelo 280 compara 440 el desempeño de los diferentes tipos de modelos para la acción dada para seleccionar un modelo para uso. El evaluador de modelo 280 selecciona el modelo basándose en el desempeño de cada modelo. En una modalidad, el evaluador de modelo 280 selecciona el modelo de pronosticador que se desempeña mejor como el modelo de pronosticador para el tipo dado de acción. La fábrica de pronosticador 150 almacena la información que describe el modelo de pronosticador seleccionado y regresa un control al modelo de pronosticador al solicitante. El control del modelo de pronosticador puede utilizarse subsecuentemente para invocar el modelo de pronosticador para predecir resultados para acciones del tipo dado.
La Figura 5 es un cuadro de flujo del procedimiento para regenerar los modelos y actualizarlos en el sistema de redes sociales de acuerdo con una modalidad de la invención. Como se ilustra en la Figura 5, el programador selecciona 510 un modelo de pronosticador para un modelo particular de acción para regeneración y reevaluación del modelo de pronosticador. El extractor de datos 265 extrae 520 los datos requeridos para regenerar un modelo de pronosticador para el tipo de acción así como evaluar y probar el modelo. El generador de modelo 290 genera 530 un nuevo modelo de pronosticador para el tipo de acción correspondiente al modelo de pronosticador seleccionado. El evaluador de modelo 280 evalúa 540 el nuevo modelo generado, por ejemplo, al tomar grupo de datos de muestra y ejecutar el modelo de pronosticador para predecir la acción y comparar el resultado previsto con la acción real. El evaluador de modelo 580 compara 550 el desempeño del nuevo modelo de pronosticador que se generó 530 con el modelo de pronosticador existente que se seleccionó 510. Los modelos de pronosticador pueden compararse utilizando una comparación de prueba A/B en línea. La prueba A/B puede utilizar cada modelo que se compara en el sistema para ver el impacto en el modelo del sistema. El impacto de un modelo en el sistema puede determinarse utilizando el comportamiento del usuario final. Si se determina el nuevo modelo de pronosticador 560 para desempeñarse mejor que el modelo existente, el generador de modelo 290 reemplaza 570 el modelo existente con el nuevo modelo de pronosticador.
Los datos que describen el modelo de pronosticador en el almacenamiento de pronosticador 120 se actualizan para reflejar el nuevo modelo de pronosticador generado. Si el nuevo modelo de pronosticador se desempeña peor que el modelo existente, o si la mejora en el desempeño del nuevo modelo de pronosticador está por abajo de un valor de umbral comparado con el modelo existente, el generador de modelo 290 mantiene el modelo existente y desecha el nuevo modelo de pronosticador. El programador 285 puede reevaluar la velocidad a la cual se regeneran los modelos de pronosticador para la acción particular. Por ejemplo, si la mejora observada en cada modelo de pronosticador que se genera en cada iteración del procedimiento ilustrado en la Figura 5 es consistentemente marginal sobre el modelo previo, la velocidad a la cual el modelo de pronosticador se regenera puede reducirse. Los modelos de pronosticador para cada tipo de acción pueden regenerase por el programador a una velocidad diferente. El programador puede asociar una tarea para regeneración de un modelo de pronosticador con una fecha de registro y agregar la tarea a la fila. Por ejemplo, dependiendo de la fecha de registro de la siguiente tarea en la fila, el programador puede seleccionar 510 el siguiente modelo de pronosticador para regeneración o esperar cierto tiempo y revisar la fila del nuevo posteriormente.
APLICACIONES ALTERNATIVAS Las características y ventajas descritas en la especificación no son todas inclusivas y, en particular, serán evidentes muchas características y ventajas adicionales para un experto en la téenica en vista de los dibujos, especificación y reivindicaciones. Además, se debe observar que el lenguaje utilizado en la especificación ha sido principalmente seleccionado para propósitos de legibilidad e instrucción y pueden no haber sido seleccionados para delinear y rodear el tema inventivo.
Por ejemplo, los modelos de pronosticador pueden generarse y utilizarse en otros tipos de sistemas en línea y no están limitados a sistema de redes sociales. Por ejemplo, un sistema en línea que almacena perfiles de usuario y permite a los usuarios tomar acciones puede generar y pronosticadores de usuario para varias acciones que pueden tomar los usuarios. Por ejemplo, un sistema en línea puede permitir a los usuarios recibir alimentaciones de varios tipos de datos. Un modelo de pronosticador puede desarrollarse para predecir si un usuario está pasando para abrir una alimentación presentada al usuario. El modelo de pronosticador puede utilizarse por el sistema en línea para ordenar las alimentaciones presentadas al usuario, por ejemplo, las alimentaciones pueden ordenarse basándose en la posibilidad que un usuario está yendo a abrir la alimentación o solicitar información adicional de la alimentación.
La descripción anterior de las modalidades de la invención ha sido presentada para el propósito de ilustración; y no pretende ser exhaustivo al limitar la invención a las formas precisas descritas. Expertos en la téenica relevante pueden apreciar que son posibles muchas modificaciones y variaciones en vista de la descripción anterior.
Algunas porciones de esta descripción describen las modalidades de la invención en términos de algoritmos y representaciones simbólicas de operaciones en información. Estas descripciones y representaciones algorítmicas se utilizan comúnmente por aquellos expertos en técnicas de procesamiento de datos para transportar la esencia y su trabajo efectivamente a otros expertos en la técnica. Estas operaciones, aunque se describen funcional, computacional, o lógicamente, se entienden para implementarse por programas por computadora o circuitos electrónicos equivalentes, microcódigo o similares. Además, se ha probado conveniente a veces, hacer referencia a estas disposiciones de operaciones como módulos, sin pérdida de generalidad. Las operaciones descritas y sus módulos asociados pueden representarse en software, firmware, hardware, o cualquier combinación de los mismos.
Cualquiera de los pasos, operaciones, o procedimientos aquí descritos pueden realizarse o implementarse con uno o más módulos de hardware o software, solos o en combinación con otros dispositivos. En una modalidad, un módulo de software se implementa como un producto de programa de computadora que comprende un medio legible por computadora que contiene un código de programa de computadora, que puede ejecutarse con un procesador de computadora para realizar cualquiera o todos los pasos, operaciones, o procesos descritos.
Las modalidades de la invención también pueden referirse a un aparato para realizar las operaciones aquí. Este aparato puede estar especialmente construido para los propósitos requeridos, y/o puede comprender un dispositivo de cómputo de propósito general selectivamente activado o reconfigurado para un programa de computadora almacenado en la computadora. Tal programa de computadora puede ser almacenado en un medio de almacenamiento legible por computadora tangible o cualquier tipo de medio adecuado para almacenar instrucciones electrónicas, y acoplado a un conductor común de sistema de computadora. Además, cualquiera de los sistemas de cómputo indicados en la especificación puede incluir un procesador individual o puede ser arquitecturas que emplean múltiples diseños para capacidad de cómputo aumentada.
Finalmente, el lenguaje utilizado en la especificación ha sido principalmente seleccionado para propósitos de legibilidad e instrucción, y puede no haber sido seleccionado para delinear o rodear la materia inventiva. Por lo tanto se pretende que el alcance de la invención esté limitado no por esta descripción detallada, sino por cualquiera de las reivindicaciones que se emiten en una solicitud basada aquí. Por consiguiente, la descripción de las modalidades de la invención pretende ser ilustrativa, pero no limitante, del alcance de la invención, que se establece en las siguientes reivindicaciones.

Claims (21)

REIVINDICACION ES
1.- Un método implementado por computadora, en particular dirigido a acelerar la interacción de usuario potencial entre un sistema en línea, que comprende: recibir, por un sistema en línea, una pluralidad de solicitudes para generar pronosticadores, cada solicitud especificando un tipo de acción realizada por usuarios del sistema en línea y criterios para identificar un caso exitoso del tipo de acción; para cada solicitud asociada con un tipo de acción, generar, por el sistema en línea, un pronosticador para el tipo de acción, la generación comprende: identificar un grupo de datos de entrenamiento que comprende una pluralidad de casos de éxito y una pluralidad de casos de falla del tipo de acción realizada por usuarios del sistema en línea; entrenar uno o más pronosticadores candidato utilizando el grupo de datos identificado, en donde cada pronosticador candidato comprende un modelo aprendido por máquma; evaluar el desempeño de cada pronosticador candidato al ejecutar cada pronosticador en un grupo de datos de prueba que comprende una pluralidad de casos de éxito y una pluralidad de casos de falla del tipo de acción realizado por usuarios del sistema en línea; y seleccionar un pronosticador para el tipo de acción al comparar el desempeño de uno o más pronosticadores candidato; y regresar un control correspondiente al pronosticador generado a un solicitante del pronosticador seleccionado.
2.- El metodo implementado por computadora de acuerdo con la reivindicación 1 , que además comprende: recibir una solicitud para un pronosticador de un procedimiento que se ejecuta en el sistema en línea, la solicitud especificando un control y un caso de información de usuario; ejecutar el pronosticador correspondiente al control especificado en el caso de información de usuario; y regresar un resultado del pronosticador al procedimiento solicitante.
3.- El método implementado por computadora de acuerdo con cualquiera de las reivindicaciones 1 o 2, en donde un caso de éxito de un tipo de acción corresponde a información almacenada en el sistema en línea que indica a un usuario que toma una acción del tipo en respuesta al usuario que se presenta con un interfase de usuario que permite a los usuarios tomar acciones del tipo de acción.
4.- El método implementado por computadora de acuerdo con cualquiera de las reivindicaciones 1 a 3, en donde la solicitud además específica criterios para caso de falla, en donde un caso de falla de un tipo de acción corresponde a información almacenada en el sistema en línea que indica una falla de usuario para tomar una acción del tipo en respuesta al usuario que se presenta con información que permite al usuario tomar acción del tipo de acción, en donde preferiblemente un caso de falla de un tipo de acción corresponde a información almacenada en el sistema en línea que indica un usuario que proporciona entrada que indica una aversión por información presentada en una interfase de usuario asociada con el tipo de acción.
5.- El metodo implementado por computadora de acuerdo con cualquiera de las reivindicaciones 1 a 4, en donde cada tipo de acción es dirigido a una entidad representada en el sistema en línea, en donde preferiblemente la entidad correspondiente al tipo de acción es uno de un usuario del sistema en línea, un grupo social, o una imagen.
6.- El método implementado por computadora de acuerdo con cualquiera de las reivindicaciones 1 a 5, en donde un pronosticador candidato es un modelo de aprendizaje por máquma de un tipo basándose en uno de regresión lineal, una regresión log ística, un árbol de impulso, o un árbol de decisión ponderado.
7.- El método implementado por computadora de acuerdo con cualquiera de las reivindicaciones 1 a 6, que además comprende, para cada pronosticador generado para un tipo de acción: comparar el desempeño del pronosticador generado contra el desempeño de un pronosticador existente el tipo de acción; y en respuesta al desempeño del pronosticador generado que excede el desempeño del pronosticador existente, reemplazar el pronosticador existente con el pronosticador generado, que preferiblemente además comprende, para cada tipo de acción, generar periódicamente un nuevo pronosticador: comparar el desempeño de nuevo pronosticador contra el desempeño de un pronosticador previamente generado; y en respuesta al desempeño del nuevo pronosticador que excede el desempeño del nuevo pronosticador previamente generado, reemplazar el pronosticador previamente generado con el nuevo pronosticador, en donde preferiblemente una velocidad de generar periódicamente nuevos pronosticadores para cada tipo de acción se determina basándose en una comparación del desempeño de los nuevos pronosticadores con el desempeño de pronosticadores previamente generados, en donde preferiblemente la velocidad de generar periódicamente nuevos pronosticadores para cada tipo de acción se reduce en respuesta a una mejora en desempeño del nuevo pronosticador comparado con el desempeño del pronosticador existente que está por abajo de un valor de umbral.
8.- Un metodo implementado por computadora, en particular de acuerdo con cualquiera de las reivindicaciones 1 a 7, que comprende: almacenar, por un sistema en línea, una pluralidad de pronosticadores, cada pronosticador para predecir si un usuario del sistema en línea realiza un tipo de acción, cada pronosticador asociado con criterios para determinar un caso de éxito del tipo de acción; seleccionar un pronosticador existente correspondiente a un tipo de acción; identificar un grupo de datos que comprende casos exitosos y casos de falla del tipo de acción realizada por usuarios del sistema en línea; entrenar uno o más pronosticadores candidato utilizando el grupo de datos identificado, en donde cada pronosticador candidato comprende un modelo aprendido por máquma; evaluar el desempeño de cada pronosticador candidato al ejecutar cada pronosticador en un grupo de datos de prueba que comprende una pluralidad de casos de exito y una pluralidad de casos de falla del tipo de acción realizada por usuarios del sistema en línea; seleccionar un pronosticador candidato de uno o más pronosticadores candidato al comparar el desempeño del uno o más pronosticadores candidato; comparar el desempeño del pronosticador candidato seleccionado con el desempeño de los pronosticadores existentes; y reemplazar el pronosticador existente por el pronosticador candidato seleccionado en respuesta al desempeño del pronosticador candidato seleccionado que excede el desempeño del pronosticador existente.
9.- El método implementado por computadora de acuerdo con la reivindicación 8, en donde un caso de éxito de un tipo de acción corresponde a información almacenada en el sistema en línea que indica a un usuario que toma una acción del tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo de acción, en donde preferiblemente un caso de falla de un tipo de acción corresponde a información almacenada en el sistema en línea que indica a un usuario que falla al tomar una acción del tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo de acción, en donde preferiblemente un pronosticador candidato es un modelo de aprendizaje por máquma de un tipo basado en una regresión lineal, una regresión logística, un árbol de impulso, o árbol de decisión ponderado.
10.- El método implementado por computadora de acuerdo con la reivindicación 9, que además comprende, generar periódicamente un nuevo pronosticador: comparar el desempeño del nuevo pronosticador contra el desempeño de un pronosticador previamente generado; y en respuesta al desempeño del nuevo pronosticador que excede el desempeño previamente generado, reemplazar el pronosticador previamente generado con el nuevo pronosticador, en donde preferiblemente una velocidad para generar periódicamente nuevos pronosticadores para cada tipo de acción se reduce en respuesta a una mejora en el desempeño del nuevo pronosticador comparado con el desempeño del pronosticador existente que está por abajo de un valor de umbral.
1 1 .- Uno o más medios de almacenamiento no transitorios legibles por computadora que representan software que es operable cuando se ejecuta para realizar un metodo de acuerdo con cualquiera de las reivindicaciones 1 a 10.
12.- Un sistema que comprende: uno o más procesadores; y una memoria acoplada al procesador que comprende instrucciones ejecutables por los procesadores, los procesadores operables cuando ejecutan las instrucciones para realizar un método de acuerdo con cualquiera de las reivindicaciones 1 a 10.
13.- Un método implementado por computadora que comprende: almacenar, por un sistema en línea, una pluralidad de pronosticadores, cada pronosticador para predecir si un usuario del sistema en línea realiza un tipo de acción, cada pronosticador asociado con criterios para determinar un caso de éxito del tipo de acción; seleccionar un pronosticador existente correspondiente a un tipo de acción; identificar un grupo de datos que comprende casos de éxito y casos de falla del tipo de acción realizada por usuarios del sistema en línea; entrenar uno o más pronosticadores candidato utilizando el grupo de datos identificado, en donde cada pronosticador candidato comprende un modelo aprendido por máquma; evaluar el desempeño de cada pronosticador candidato al ejecutar cada pronosticador en un grupo de datos de prueba que comprende una pluralidad de casos de éxito y una pluralidad de casos de falla del tipo de acción realizada por usuarios del sistema en línea; seleccionar un pronosticador candidato de uno o más pronosticadores candidato al comparar el desempeño de uno o más pronosticadores candidato; comparar el desempeño del pronosticador candidato seleccionado con el desempeño de los pronosticadores existentes; y reemplazar el pronosticador existente por el pronosticador candidato seleccionado en respuesta al desempeño del pronosticador candidato seleccionado que excede el desempeño del pronosticador existente.
14.- El método implementado por computadora de acuerdo con la reivindicación 13, en donde un caso de éxito de un tipo de acción corresponde a información almacenada en el sistema en línea indicando un usuario que toma una acción de tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo de acción.
15 - Un método implementado por computadora de acuerdo con la reivindicación 13, en donde un caso de falla de un tipo de acción corresponde a información almacenada en el sistema en línea indicando un usuario que falla al tomar una acción del tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo de acción.
16.- El método implementado por computadora de acuerdo con la reivindicación 13, en donde un pronosticador candidato es un modelo de aprendizaje por máquma de un tipo basado en una de regresión lineal, una regresión log ística, un árbol de impulso, o árbol de decisión ponderado.
17.- El metodo implementado por computadora de acuerdo con la reivindicación 13, que además comprende, generar periódicamente un nuevo pronosticador: comparar el desempeño del nuevo pronosticador contra el desempeño de un pronosticador previamente generado; y en respuesta al desempeño del nuevo pronosticador que excede el desempeño del pronosticador previamente generado, reemplazar el pronosticador previamente generado con el nuevo pronosticador.
18.- El método implementado por computadora de acuerdo con la reivindicación 17, en donde una velocidad para generar periódicamente nuevos pronosticadores para cada tipo de acción se reduce en respuesta a una mejora en el desempeño del nuevo pronosticador comparado con el desempeño del pronosticador existente que está por abajo de un valor de umbral.
19.- Un producto de programa de computadora que tiene un medio legible por computadora no transitorio que almacena un código ejecutable por computadora, y código comprende: un módulo de fábrica de pronosticador de un sistema en línea configurado para: almacenar una pluralidad de pronosticadores, cada pronosticador para predecir si un usuario del sistema en línea realiza un tipo de acción, cada pronosticador asociado con criterios para determinar un caso de éxito del tipo de acción; seleccionar un pronosticador existente correspondiente a un tipo de acción; identificar un grupo de datos que comprende casos de éxito y casos de falla del tipo de acción realizada por usuarios del sistema en línea; entrenar uno o más pronosticadores candidato utilizando el grupo de datos identificado, en donde cada pronosticador candidato comprende un modelo aprendido por máquma; evaluar el desempeño de cada pronosticador candidato al ejecutar cada pronosticador en un grupo de datos de prueba que comprende una pluralidad de casos de éxito y una pluralidad de casos de falla del tipo de acción realizada por usuarios de sistema en línea; seleccionar un pronosticador candidato de uno o más pronosticadores candidato al comparar el desempeño de uno o más de los pronosticadores candidato; comparar el desempeño del pronosticador candidato seleccionado con el desempeño de los pronosticadores existentes; y reemplazar el pronosticador existente por el pronosticador candidato seleccionado en respuesta al desempeño del pronosticador candidato seleccionado que excede el desempeño del pronosticador existente.
20.- El producto de programa de computadora de acuerdo con la reivindicación 19, en donde un caso de éxito de un grupo de acción corresponde a información almacenada en el sistema en línea que indicando un usuario que toma una acción del tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo de acción.
21 .- El producto de programa de computadora de acuerdo con la reivindicación 19, en donde un caso de falla de un tipo de acción corresponde a información almacenada en el sistema en línea indicando un usuario que falla al tomar una acción del tipo en respuesta al usuario que se presenta con una interfase de usuario que permite a los usuarios tomar acciones del tipo de acción.
MX2015006174A 2012-11-30 2013-11-26 Pronosticadores personalizados para acciones de usuario en un sistema en linea. MX341336B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/689,969 US9317812B2 (en) 2012-11-30 2012-11-30 Customized predictors for user actions in an online system
PCT/US2013/072077 WO2014085495A1 (en) 2012-11-30 2013-11-26 Customized predictors for user actions in an online system

Publications (2)

Publication Number Publication Date
MX2015006174A true MX2015006174A (es) 2015-08-10
MX341336B MX341336B (es) 2016-08-16

Family

ID=49683504

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2015006174A MX341336B (es) 2012-11-30 2013-11-26 Pronosticadores personalizados para acciones de usuario en un sistema en linea.

Country Status (11)

Country Link
US (1) US9317812B2 (es)
EP (1) EP2738727A1 (es)
JP (1) JP5913754B2 (es)
KR (1) KR101674089B1 (es)
CN (1) CN104823188A (es)
AU (1) AU2013352309B2 (es)
BR (1) BR112015007413A2 (es)
CA (1) CA2884201C (es)
IL (1) IL237516A (es)
MX (1) MX341336B (es)
WO (1) WO2014085495A1 (es)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130304599A1 (en) * 2012-05-11 2013-11-14 Interactive Bid Games, Inc. Method and system of conducting interactive online auctions
US9378529B2 (en) * 2012-12-14 2016-06-28 Facebook, Inc. Arranging stories on newsfeeds based on expected value scoring on a social networking system
US8918339B2 (en) 2013-03-15 2014-12-23 Facebook, Inc. Associating an indication of user emotional reaction with content items presented by a social networking system
US8978133B2 (en) 2013-04-22 2015-03-10 Facebook, Inc. Categorizing social networking system users based on user connections to objects
US9514331B2 (en) 2013-07-03 2016-12-06 Facebook, Inc. Privacy model for shared collections of content on a social networking system
US20150019588A1 (en) * 2013-07-11 2015-01-15 Drexel University Identifying Implicit Relationships Between Social Media Users To Support Social Commerce
US20160224671A1 (en) * 2013-08-13 2016-08-04 Empire Technology Development Llc Content management across multiple mediums
US20150088644A1 (en) 2013-09-23 2015-03-26 Facebook, Inc., a Delaware corporation Predicting User Interactions With Objects Associated With Advertisements On An Online System
US9503413B2 (en) * 2013-12-31 2016-11-22 Linkedin Corporation Techniques for exchanging contact information and establishing a connection via a social networking service
US10325283B2 (en) * 2014-01-24 2019-06-18 Facebook, Inc. Pacing objectives of an advertising campaign throughout a duration of the advertising campaign
US9754283B2 (en) 2014-01-31 2017-09-05 Facebook, Inc. Recommending a budget for an advertisement presented on an online system
US9602541B2 (en) 2014-03-06 2017-03-21 Facebook, Inc. Granting permission to act on behalf of a user in a social networking system
US10191927B2 (en) 2014-04-02 2019-01-29 Facebook, Inc. Selecting previously-presented content items for presentation to users of a social networking system
US9509768B2 (en) 2014-05-08 2016-11-29 Facebook, Inc. Associating user interactions across multiple applications on a client device
US9922335B2 (en) 2014-05-15 2018-03-20 Facebook, Inc. Selecting organic content and advertisements for presentation to social networking system users based on user engagement
US10509816B2 (en) 2014-05-16 2019-12-17 Facebook, Inc. Runtime expansion of targeting criteria based on user characteristics
US10698907B2 (en) 2014-05-27 2020-06-30 Facebook, Inc. Selecting content and identifying users for identification to additional users of a social networking system based on user attributes or content item characteristics
US10262338B2 (en) 2014-05-30 2019-04-16 Facebook, Inc. Bidding for position of installed application in an interface of a mobile device
US9563709B2 (en) 2014-06-04 2017-02-07 Facebook, Inc. Recommending objects to a user of a social networking system based on the location of the user
US9712578B2 (en) 2014-06-17 2017-07-18 Facebook, Inc. Determining stories of interest based on quality of unconnected content
US9479510B2 (en) 2014-07-11 2016-10-25 Facebook, Inc. Maintaining a limited user profile for social networking system users unable to establish a user profile
US10318983B2 (en) 2014-07-18 2019-06-11 Facebook, Inc. Expansion of targeting criteria based on advertisement performance
US10528981B2 (en) 2014-07-18 2020-01-07 Facebook, Inc. Expansion of targeting criteria using an advertisement performance metric to maintain revenue
US9747647B2 (en) 2014-07-21 2017-08-29 Facebook, Inc. Missed feed unit for content feeds
US9787785B2 (en) * 2014-07-31 2017-10-10 Linkedin Corporation Providing recommendations for electronic presentations based on contextual and behavioral data
US9959560B1 (en) 2014-08-26 2018-05-01 Intuit Inc. System and method for customizing a user experience based on automatically weighted criteria
US9769122B2 (en) 2014-08-28 2017-09-19 Facebook, Inc. Anonymous single sign-on to third-party systems
US11354755B2 (en) 2014-09-11 2022-06-07 Intuit Inc. Methods systems and articles of manufacture for using a predictive model to determine tax topics which are relevant to a taxpayer in preparing an electronic tax return
US9576058B2 (en) 2014-09-16 2017-02-21 Facebook, Inc. Determining accuracies with which types of user identifying information identify online system users
US20160098804A1 (en) * 2014-10-07 2016-04-07 Intuit Inc. Method and system for using interchangeable analytics modules to provide tax return preparation systems
US10096072B1 (en) 2014-10-31 2018-10-09 Intuit Inc. Method and system for reducing the presentation of less-relevant questions to users in an electronic tax return preparation interview process
US10255641B1 (en) 2014-10-31 2019-04-09 Intuit Inc. Predictive model based identification of potential errors in electronic tax return
US20160148322A1 (en) * 2014-11-26 2016-05-26 Intuit Inc. Method and system for selecting interchangeable analytics modules to provide customized tax return preparation interviews
US9647919B1 (en) 2014-12-04 2017-05-09 Amazon Technologies Automated determination of maximum service throughput
US20160180470A1 (en) * 2014-12-23 2016-06-23 Intuit Inc. Method and system for evaluating interchangeable analytics modules used to provide customized tax return preparation interviews
US10628894B1 (en) 2015-01-28 2020-04-21 Intuit Inc. Method and system for providing personalized responses to questions received from a user of an electronic tax return preparation system
US9769564B2 (en) 2015-02-11 2017-09-19 Google Inc. Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US10284537B2 (en) 2015-02-11 2019-05-07 Google Llc Methods, systems, and media for presenting information related to an event based on metadata
US11048855B2 (en) * 2015-02-11 2021-06-29 Google Llc Methods, systems, and media for modifying the presentation of contextually relevant documents in browser windows of a browsing application
US11392580B2 (en) 2015-02-11 2022-07-19 Google Llc Methods, systems, and media for recommending computerized services based on an animate object in the user's environment
US10176534B1 (en) 2015-04-20 2019-01-08 Intuit Inc. Method and system for providing an analytics model architecture to reduce abandonment of tax return preparation sessions by potential customers
US10740853B1 (en) 2015-04-28 2020-08-11 Intuit Inc. Systems for allocating resources based on electronic tax return preparation program user characteristics
US11107124B2 (en) 2015-06-26 2021-08-31 Facebook, Inc. Presenting and ordering content items within a scrollable content unit to a social networking system user
WO2017062984A1 (en) * 2015-10-08 2017-04-13 Samsung Sds America, Inc. Continual learning in slowly-varying environments
US10740854B1 (en) 2015-10-28 2020-08-11 Intuit Inc. Web browsing and machine learning systems for acquiring tax data during electronic tax return preparation
US20170161779A1 (en) * 2015-12-07 2017-06-08 Facebook, Inc. Applying guardrails for a multi-objective advertisement campaign at an online system
US10937109B1 (en) * 2016-01-08 2021-03-02 Intuit Inc. Method and technique to calculate and provide confidence score for predicted tax due/refund
US10924532B2 (en) * 2016-01-26 2021-02-16 Facebook, Inc. Presenting suggestion content in reaction to content generation
US10324937B2 (en) * 2016-02-10 2019-06-18 Microsoft Technology Licensing, Llc Using combined coefficients for viral action optimization in an on-line social network
US10410295B1 (en) 2016-05-25 2019-09-10 Intuit Inc. Methods, systems and computer program products for obtaining tax data
US20170364957A1 (en) * 2016-06-16 2017-12-21 Facebook, Inc. Identifying target audience for content distribution based on historical user activity
US10685070B2 (en) * 2016-06-30 2020-06-16 Facebook, Inc. Dynamic creative optimization for effectively delivering content
US10410140B1 (en) * 2016-08-17 2019-09-10 Amazon Technologies, Inc. Categorical to numeric conversion of features for machine learning models
US10778628B2 (en) * 2016-10-03 2020-09-15 Salesforce.Com, Inc. Predictive scoring and messaging in messaging systems
US10320927B2 (en) * 2016-10-20 2019-06-11 Facebook, Inc. Systems and methods for providing personalized content
US10303743B2 (en) 2016-10-28 2019-05-28 Facebook, Inc. Automatic placement of electronic media content items within an online document
US11423446B2 (en) 2016-12-01 2022-08-23 Meta Platforms, Inc. Simultaneous review of advertisement components
US10572908B2 (en) 2017-01-03 2020-02-25 Facebook, Inc. Preview of content items for dynamic creative optimization
US10922713B2 (en) 2017-01-03 2021-02-16 Facebook, Inc. Dynamic creative optimization rule engine for effective content delivery
US11367150B2 (en) 2017-01-23 2022-06-21 Meta Platforms, Inc. Demographic-based targeting of electronic media content items
US20180218287A1 (en) * 2017-02-01 2018-08-02 Facebook, Inc. Determining performance of a machine-learning model based on aggregation of finer-grain normalized performance metrics
US10417664B2 (en) 2017-02-15 2019-09-17 Facebook, Inc. Notification for pre-announced discount offer
US11037251B2 (en) * 2017-03-01 2021-06-15 Microsoft Technology Licensing, Llc Understanding business insights and deep-dive using artificial intelligence
US11277483B2 (en) 2017-03-31 2022-03-15 Microsoft Technology Licensing, Llc Assessing user activity using dynamic windowed forecasting on historical usage
US10567508B2 (en) * 2017-04-28 2020-02-18 Facebook, Inc. Media file upload awareness for online systems
US10614484B2 (en) 2017-05-16 2020-04-07 Facebook, Inc. Optimization of electronic media content item delivery based on past client interactions
US10664875B2 (en) * 2017-09-29 2020-05-26 Facebook, Inc. Selecting sponsored content and organic content for presentation to an online system user while accounting for relative positioning of sponsored content and organic content
US10992773B2 (en) * 2017-10-30 2021-04-27 Microsoft Technology Licensing, Llc Action prompt transmission based on attribute affinity
US10600004B1 (en) * 2017-11-03 2020-03-24 Am Mobileapps, Llc Machine-learning based outcome optimization
US11455662B2 (en) 2017-11-08 2022-09-27 Meta Platforms, Inc. Optimizing generation of a feed of content for a user based on prior user interactions with the feed of content
US20190180255A1 (en) * 2017-12-12 2019-06-13 Capital One Services, Llc Utilizing machine learning to generate recommendations for a transaction based on loyalty credits and stored-value cards
JP6930933B2 (ja) * 2018-02-19 2021-09-01 ヤフー株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP7153477B2 (ja) * 2018-06-13 2022-10-14 日本放送協会 情報判定モデル学習装置およびそのプログラム
US11171972B1 (en) * 2018-06-29 2021-11-09 Snap Inc. Additive friend suggestion for account security
US11853371B1 (en) * 2018-07-31 2023-12-26 Meta Platforms, Inc. Logging information describing a type of event occurring in a mobile application received via an SDK incorporated into mobile application code of the mobile application
US11132369B2 (en) 2018-08-01 2021-09-28 Facebook, Inc. Optimizing user engagement with content based on an optimal set of attributes for media included in the content
US10332035B1 (en) * 2018-08-29 2019-06-25 Capital One Services, Llc Systems and methods for accelerating model training in machine learning
CN111383721B (zh) * 2018-12-27 2020-12-15 江苏金斯瑞生物科技有限公司 预测模型的构建方法、多肽合成难度的预测方法及装置
JP7178314B2 (ja) * 2019-03-29 2022-11-25 株式会社日立製作所 モデルの採否判断を支援するシステム及び方法
CN110187945A (zh) * 2019-04-26 2019-08-30 平安科技(深圳)有限公司 指示信息生成方法、装置、终端及存储介质
US11086488B1 (en) * 2019-08-20 2021-08-10 Facebook, Inc. Modifying presentation of content items on a page of content maintained by an online system in response to user interactions with content via a third party system
JP2021105838A (ja) * 2019-12-26 2021-07-26 楽天グループ株式会社 予測システム、予測方法、及びプログラム
CN111506803B (zh) * 2020-03-17 2023-10-31 阿波罗智联(北京)科技有限公司 内容推荐方法、装置、电子设备及存储介质
US11210596B1 (en) 2020-11-06 2021-12-28 issuerPixel Inc. a Nevada C. Corp Self-building hierarchically indexed multimedia database
US11790404B2 (en) 2021-01-07 2023-10-17 Meta Platforms, Inc. Methods, apparatuses and computer program products for providing megataxon-based inverted index features for neural networks
US11509746B2 (en) * 2021-02-17 2022-11-22 Salesforce.Com, Inc. Distributing user requests to cloud computing systems across regions using a machine learning model

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US843812A (en) * 1906-04-28 1907-02-12 James A Henry Composition of matter for coating gilded surfaces.
US4881178A (en) * 1987-05-07 1989-11-14 The Regents Of The University Of Michigan Method of controlling a classifier system
US5729452A (en) * 1995-03-31 1998-03-17 Envirotest Acquisition Co. Method and system for diagnosing and reporting failure of a vehicle emission test
CA2424487C (en) * 2000-09-28 2012-11-27 Oracle Corporation Enterprise web mining system and method
US20030033587A1 (en) * 2001-09-05 2003-02-13 Bruce Ferguson System and method for on-line training of a non-linear model for use in electronic commerce
BR0309322A (pt) * 2002-04-19 2007-03-06 Computer Ass Think Inc dados numéricos e/ou não numéricos misturados de processamento
EP1636738A2 (en) * 2003-05-23 2006-03-22 Computer Associates Think, Inc. Adaptive learning enhancement to auotmated model maintenance
US7822620B2 (en) * 2005-05-03 2010-10-26 Mcafee, Inc. Determining website reputations using automatic testing
US20080249832A1 (en) * 2007-04-04 2008-10-09 Microsoft Corporation Estimating expected performance of advertisements
US7921069B2 (en) * 2007-06-28 2011-04-05 Yahoo! Inc. Granular data for behavioral targeting using predictive models
US8447100B2 (en) * 2007-10-10 2013-05-21 Samsung Electronics Co., Ltd. Detecting apparatus of human component and method thereof
US8594996B2 (en) * 2007-10-17 2013-11-26 Evri Inc. NLP-based entity recognition and disambiguation
US8417715B1 (en) * 2007-12-19 2013-04-09 Tilmann Bruckhaus Platform independent plug-in methods and systems for data mining and analytics
US8037011B2 (en) * 2008-09-15 2011-10-11 Motorola Mobility, Inc. Method and apparatus for recommending content items
JP2010125874A (ja) * 2008-11-25 2010-06-10 Toyota Motor Corp 車両の制御装置
US8296257B1 (en) * 2009-04-08 2012-10-23 Google Inc. Comparing models
US8250008B1 (en) * 2009-09-22 2012-08-21 Google Inc. Decision tree refinement
JP5077711B2 (ja) * 2009-10-05 2012-11-21 Necビッグローブ株式会社 時系列分析装置、時系列分析方法、及びプログラム
US20120296845A1 (en) * 2009-12-01 2012-11-22 Andrews Sarah L Methods and systems for generating composite index using social media sourced data and sentiment analysis
US8880600B2 (en) * 2010-03-31 2014-11-04 Facebook, Inc. Creating groups of users in a social networking system
JP5421842B2 (ja) * 2010-04-13 2014-02-19 日本電信電話株式会社 影響力解析装置、影響力解析方法、およびプログラム
US8521664B1 (en) * 2010-05-14 2013-08-27 Google Inc. Predictive analytical model matching
US8438122B1 (en) * 2010-05-14 2013-05-07 Google Inc. Predictive analytic modeling platform
US8392343B2 (en) 2010-07-21 2013-03-05 Yahoo! Inc. Estimating probabilities of events in sponsored search using adaptive models
US8935714B2 (en) 2010-12-30 2015-01-13 Verizon Patent And Licensing Inc. Interactive user-prediction of content
US8600968B2 (en) 2011-04-19 2013-12-03 Microsoft Corporation Predictively suggesting websites
US20120269116A1 (en) 2011-04-25 2012-10-25 Bo Xing Context-aware mobile search based on user activities
US8676937B2 (en) * 2011-05-12 2014-03-18 Jeffrey Alan Rapaport Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
CN102609471B (zh) * 2012-01-18 2013-09-04 康睿 一种用于精准分析互联网用户网络行为的方法和装置

Also Published As

Publication number Publication date
KR101674089B1 (ko) 2016-11-08
AU2013352309A1 (en) 2015-05-21
JP5913754B2 (ja) 2016-04-27
IL237516A (en) 2016-05-31
KR20150092100A (ko) 2015-08-12
AU2013352309B2 (en) 2016-02-25
JP2016510441A (ja) 2016-04-07
US20140156566A1 (en) 2014-06-05
MX341336B (es) 2016-08-16
BR112015007413A2 (pt) 2017-07-04
CA2884201C (en) 2016-05-24
CN104823188A (zh) 2015-08-05
WO2014085495A1 (en) 2014-06-05
IL237516A0 (en) 2015-04-30
CA2884201A1 (en) 2014-06-05
US9317812B2 (en) 2016-04-19
EP2738727A1 (en) 2014-06-04

Similar Documents

Publication Publication Date Title
CA2884201C (en) Customized predictors for user actions in an online system
AU2017202596B2 (en) Querying features based on user actions in online systems
US9690871B2 (en) Updating features based on user actions in online systems
US20220138780A1 (en) Churn prediction with machine learning
US10846614B2 (en) Embeddings for feed and pages
US20150356570A1 (en) Predicting interactions of social networking system users with applications
JP2016530651A (ja) ソーシャル・ネットワーキング・システムのユーザについての感情極性
KR20190004847A (ko) 광고 타겟팅에 대한 부정적인 신호
US20190095530A1 (en) Tag relationship modeling and prediction
US20190005409A1 (en) Learning representations from disparate data sets
US10387516B2 (en) Selecting content with an external link for presentation based on user interaction with external content
US11605042B1 (en) Artificial intelligence system for content presentation impact estimation
US20180293611A1 (en) Targeting content based on inferred user interests
US10713094B1 (en) Allocating computing resources in an online system
US9264323B2 (en) Controlling computer nodes through social media
WO2022259487A1 (ja) 予測装置、予測方法およびプログラム
US11847246B1 (en) Token based communications for machine learning systems
US11538071B1 (en) Optimizing lead generation in an online system environment

Legal Events

Date Code Title Description
FG Grant or registration