BR112019008110A2 - método implementado por computador, meio legível por computador e sistema implementado por computador - Google Patents

método implementado por computador, meio legível por computador e sistema implementado por computador Download PDF

Info

Publication number
BR112019008110A2
BR112019008110A2 BR112019008110-0A BR112019008110A BR112019008110A2 BR 112019008110 A2 BR112019008110 A2 BR 112019008110A2 BR 112019008110 A BR112019008110 A BR 112019008110A BR 112019008110 A2 BR112019008110 A2 BR 112019008110A2
Authority
BR
Brazil
Prior art keywords
data
item
user
platform
social network
Prior art date
Application number
BR112019008110-0A
Other languages
English (en)
Inventor
Chaochao Chen
Jun Zhou
Original Assignee
Advanced New Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co., Ltd. filed Critical Advanced New Technologies Co., Ltd.
Publication of BR112019008110A2 publication Critical patent/BR112019008110A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • 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
    • 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/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/29Arrangements for monitoring broadcast services or broadcast-related services
    • H04H60/33Arrangements for monitoring the users' behaviour or opinions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Social Psychology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Signal Processing (AREA)
  • Game Theory and Decision Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Operations Research (AREA)
  • Storage Device Security (AREA)

Abstract

“método implementado por computador, meio legível por computadore sistema implementado por computador” o método implementado por computador (400), compreendendoas etapas de: identificar (402), através de uma plataforma de classificação e de recomendação de itens, dados de classificação compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários; identificar (404), através da plataforma de classificação e de recomendação de itens, dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários; receber (408), de uma plataforma de rede social pela plataforma de classificação e de recomendação de itens por meio de um esquema de compartilhamento secreto com um inicializador de confiança, dados de rede social manipulados calculados com base em dados de rede social e dados de entrada do inicializador de confiança, em que os dados de rede social indicam relações sociais entre quaisquer dois dentre a pluralidade de usuários, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social; e atualizar (412), através da plataforma de classificação e derecomendação de itens, os dados de característica do usuário com base nos dados de classificação (516) e nos dados de rede social manipulados (528).

Description

“MÉTODO IMPLEMENTADO POR COMPUTADOR, MEIO LEGÍVEL POR COMPUTADOR E SISTEMA IMPLEMENTADO POR COMPUTADOR” CAMPO DA INVENÇÃO
[001] A presente invenção descreve métodos e sistemas para compartilhamento secreto com um inicializador de confiança, por exemplo, entre duas plataformas para fornecer recomendações sociais.
ANTECEDENTES DA INVENÇÃO
[002] Com o desenvolvimento da tecnologia e análise de dados, muitas plataformas on-line coletam diferentes tipos de dados. Por exemplo, as plataformas de provedor de filmes coletam dados de classificação dos usuários, enquanto as plataformas de mídia social coletam dados de redes sociais dos usuários. Esses dados coletados são valiosos e de forma geral mantidos como informações privadas pelas respectivas plataformas. As várias plataformas estão prestando cada vez mais atenção à privacidade dos dados e não necessariamente querem compartilhar seus dados coletados, pelo menos não em sua forma original.
DESCRIÇÃO DA INVENÇÃO
[003] Em uma forma de realização, um método implementado por computador, incluindo: identificar, através de uma plataforma de classificação e de recomendação de itens, dados de classificação compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários; identificar, através da plataforma de classificação e de recomendação de itens, dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários; receber, de uma plataforma de rede social pela plataforma de classificação e de recomendação de itens por meio de um esquema de compartilhamento secreto com um inicializador de confiança,
dados de rede social manipulados calculados com base em dados de rede social e dados de entrada do inicializador de confiança, em que os dados de rede social indicam relações sociais entre quaisquer dois dentre a pluralidade de usuários, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social; e atualizar, através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário com base nos dados de classificação e nos dados de rede social manipulados.
[004] A forma de realização descrita anteriormente é implementável usando um método implementado por computador; um meio não transitório, legível por computador, que armazene instruções legíveis por computador para realizar o método implementado por computador; e um sistema implementado por computador que inclui uma memória de computador acoplada de forma interoperável a um processador de hardware configurado para realizar o método/ as instruções implementado(as) por computador armazenado(a) no meio não transitório, legível por computador.
[005] A presente invenção pode ser implementada em formas de realização particulares, de modo a realizar uma ou mais das seguintes vantagens. Primeiro, as técnicas descritas permitem que diferentes plataformas colaborem com segurança em compartilhamento secreto sem divulgar dados privados ou confidenciais, o que incentiva a integração e a colaboração entre as plataformas sem comprometer a privacidade dos dados. Segundo, como grande parte do trabalho pode ser feito por várias plataformas antes de aplicar o esquema de compartilhamento secreto, as técnicas descritas permitem atividades de desenvolvimento comuns mais eficientes (como tempo, ciclos de processador, uso de memória e largura de banda de rede/ congestionamento)
ou atividades não suportadas pelas plataformas online atuais. Terceiro, as técnicas descritas podem fornecer modelos de recomendação aprimorados das plataformas de classificação e de recomendação de itens e fornecer recomendações mais direcionadas (como uma plataforma de recomendação de filmes que fornece recomendações mais relevantes aos usuários, aproveitando dados de redes sociais obtidos de uma plataforma de mídia social). Outras vantagens serão evidentes para os técnicos no assunto.
[006] Os detalhes de uma ou mais formas de realização da presente invenção estão estabelecidos na Descrição Detalhada, nas reivindicações, e nos desenhos anexos. Outras características, aspectos e vantagens da presente invenção tornar-se-ão evidentes a partir da descrição detalhada, das reivindicações e dos desenhos anexos.
BREVE DESCRIÇÃO DOS DESENHOS
[007] A Figura 1 é um diagrama de blocos que ilustra um sistema de exemplo para compartilhamento secreto entre a plataforma A e a plataforma B com um inicializador de confiança, de acordo com uma forma de realização da presente invenção.
[008] A Figura 2 é um fluxograma ilustrando um exemplo de método de compartilhamento secreto entre a plataforma A e a plataforma B com um inicializador de confiança para gerar recomendações pela plataforma A, de acordo com uma forma de realização da presente invenção.
[009] A Figura 3 é um fluxograma que ilustra um exemplo de método de compartilhamento secreto entre a plataforma A e a plataforma B para calcular um produto de matriz Z da matriz A e matriz B utilizando um esquema de compartilhamento secreto com um inicializador de confiança, de acordo com uma forma de realização da presente invenção.
[010] A Figura 4 é um fluxograma que ilustra um método de exemplo para gerar uma recomendação por uma plataforma de classificação e de recomendação de itens usando um esquema de compartilhamento secreto com um inicializador de confiança, de acordo com uma forma de realização da presente invenção.
[011] A Figura 5 é um diagrama de blocos ilustrando um exemplo de sistema de computador usado para fornecer funcionalidades computacionais associadas com algoritmos, métodos, funções, processos, fluxos e procedimentos descritos, como descrito na presente invenção, de acordo com uma forma de realização da presente invenção.
[012] Como números de referência e designações semelhantes nos vários desenhos indicam elementos semelhantes.
DESCRIÇÃO DE REALIZAÇÕES DA INVENÇÃO
[013] A seguinte descrição detalhada descreve um esquema de compartilhamento secreto com um inicializador de confiança, por exemplo, entre duas plataformas para fornecer recomendações a usuários com base em dados de redes sociais, e é apresentado para permitir que qualquer técnico no assunto faça e use a matéria objeto divulgada no contexto de uma ou mais formas de realização específicas. Várias modificações, alterações, e permutações das formas de realização divulgadas podem ser feitas e serão facilmente evidentes para os técnicos no assunto, e os princípios gerais definidos podem ser aplicados a outras formas de realização e aplicações, sem se afastarem do escopo da descrição. Em alguns casos, detalhes desnecessários para obter uma compreensão da presente invenção podem ser omitidos de modo a não obscurecer uma ou mais formas de realização descritas com detalhes desnecessários e como tais detalhes estão dentro das habilidades de um técnico no assunto. A presente invenção não se destina a ser limitada às formas de realização descritas ou ilustradas, mas a um escopo mais amplo consistente com os princípios e características descritos.
[014] Entre muitas plataformas on-line, diferentes plataformas podem acumular diferentes tipos de dados. Por exemplo, uma plataforma de classificação e de recomendação de itens, como o NETFLIX ou o IMDB, acumula dados de classificação dos usuários em relação a filmes e séries de TV. Uma mídia social ou uma plataforma de rede social, como o FACEBOOK ou o TWITTER, acumula dados de redes sociais dos usuários e de seus amigos. A informação social pode melhorar o desempenho de um sistema de recomendação, já que amigos próximos tendem a ter preferências semelhantes. Os métodos de recomendação com base em social existentes pressupõem que os dados de classificação do usuário de um item e os dados sociais entre os usuários são compartilhados. No entanto, devido à privacidade dos dados ou outras preocupações, as plataformas on-line normalmente não compartilham seus dados originais com outras partes.
[015] São descritas técnicas de exemplo que permitem que as plataformas colaborem com segurança na criação de um sistema de recomendação aprimorado com base nos dados de classificação e nos dados da rede social, sem divulgar os dados privados de cada plataforma para o outro. Por exemplo, um modelo de recomendação social pode ser treinado com base nos dados de classificação e nos dados da rede social por meio de um esquema de compartilhamento secreto entre uma plataforma de classificação e de recomendação de itens e uma plataforma de rede social. Sob o esquema de compartilhamento secreto, os dados trocados entre as plataformas estão em uma forma manipulada, ao invés de sua forma original. Os dados trocados são manipulados de tal forma que não se pode recuperar ou decodificar os dados originais dos dados manipulados.
[016] O esquema de compartilhamento secreto é diferente de codificação, criptografia ou outros esquemas para transmissão segura de dados em que uma fonte de dados (por exemplo, como transmissor) codifica ou criptografa dados originais em uma forma codificada antes da transmissão, e um destinatário pretendido pode decodificar ou recuperar dados originais dos dados codificados recebidos, por exemplo, com base em uma chave de segurança conhecida ou em um algoritmo de decodificação correspondente. O esquema de compartilhamento secreto protege os dados originais de serem conhecidos até mesmo por um destinatário pretendido. Como tal, a fonte de dados pode preservar a privacidade dos dados originais.
[017] O esquema de compartilhamento secreto encoraja a colaboração entre diferentes plataformas e pode ajudar a obter benefícios mútuos, sem comprometer a privacidade dos dados. Por exemplo, com o esquema de compartilhamento secreto divulgado, a plataforma de classificação e de recomendação de itens pode alavancar informações de redes sociais da plataforma de rede social para melhor prever as necessidades do usuário e fornecer recomendações direcionadas aos usuários, resultando em melhor experiência do usuário e possíveis retornos de lucro à plataforma de classificação e de recomendação de itens.
[018] A Figura 1 é um diagrama de blocos que ilustra um sistema de exemplo (100) para compartilhamento secreto entre a plataforma A (102) e a plataforma B (104), de acordo com uma forma de realização da presente invenção. A plataforma A (102) pode incluir, mas não está limitada a, uma plataforma de classificação e de recomendação de itens em setores de entretenimento, varejo, serviço e outros setores ou setores em que os usuários podem avaliar produtos, serviços ou outros itens. Exemplos de uma plataforma de classificação e de recomendação de itens incluem, por exemplo, AMAZON, NETFLIX ou IMDB. A plataforma A (102) pode coletar dados de classificação R de seus usuários. Os dados de classificação R podem incluir uma ou mais classificações reais de um ou mais itens (por exemplo, produtos ou serviços) fornecidos pelos usuários ou uma ou mais classificações mapeadas com base nos cliques, compras, pesquisas ou outras atividades históricas do usuário em relação aos itens. As classificações podem refletir as necessidades do usuário, o gosto ou as preferências dos itens. As classificações podem ter um intervalo específico (por exemplo, [0, 1] ou [1, 5]). Em algumas formas de realização, os dados de classificação R podem ser representados em uma matriz com uma dimensão de M* N, em que M representa o número de usuários e N representa o número de itens, com entradas Rij representando uma classificação do item j pelo usuário i.
[019] A plataforma A (102) também pode incluir dados do usuário, que podem incluir, por exemplo, nomes de usuários, idades, gêneros, endereços ou qualquer outra conta ou informações de perfil, históricos de compra, históricos de navegação ou históricos de pesquisa dos usuários na plataforma A (102). A plataforma A (102) também pode incluir dados de itens, que podem incluir, por exemplo, nomes, categorias, preços, palavras-chave, instruções, etc., relacionados aos itens.
[020] Em algumas formas de realização, os dados de classificação coletados R podem ser uma matriz esparsa porque apenas um pequeno número (comparado a M* N) de entradas Rij possui a classificação real ou classificação mapeada com base nas atividades de usuário existentes relativas aos itens. Em algumas formas de realização, a plataforma A (102) pode prever classificações conhecidas de itens, de modo a fornecer recomendações direcionadas de itens aos usuários. Em algumas formas de realização, a plataforma A (102) pode prever classificações conhecidas de itens, por exemplo, com base nos dados do usuário e nos dados do item de acordo com algoritmos de aprendizagem de máquina ou estatísticos. Como exemplo, a plataforma A (102) pode fornecer recomendações de itens com base nos dados de característica do usuário U (também referidos como dados de fator de usuário) e dados de característica do item V (também referidos como dados de fator de item) de acordo com métodos de fatoração de matriz ou outras técnicas. De forma específica, cada usuário (por exemplo, usuário i) pode ser caracterizado por um vetor (por exemplo, Ui) de características do usuário, como idade, sexo, geo-localização, padrão de visita, etc. Cada item (por exemplo, item j) pode ser caracterizado por um vetor (por exemplo, Vj) de características de item, como categoria, palavras-chave, tópicos, preços, etc.
As características do usuário e do item podem ser fatores que afetam a classificação, a seleção ou a compra de determinado item. Em algumas formas de realização, uma classificação de um item fornecido por um usuário pode ser aproximada por um produto de ponto do vetor de características do usuário e pelo vetor de características de item. Por exemplo, em que Ui representa um vetor dos dados de característica do usuário correspondente ao usuário i; Vj representa um vetor dos dados de característica do item correspondente ao item j; e Rij representa uma classificação do item j pelo usuário i.
[021] Em algumas formas de realização, o vetor de características do usuário (por exemplo, Ui) e o vetor de características de item (por exemplo, Vj) são vetores latentes que podem ser aprendidos a partir de dados de treinamento (por exemplo, dados de classificação conhecidos).
[022] A plataforma B (104) pode incluir, mas não se limita a, uma plataforma de mídia social (como FACEBOOK, TWITTER ou INSTRAGRAM).
A plataforma B (104) pode coletar dados de redes sociais S de seus usuários.
Os dados da rede social podem incluir, por exemplo, nomes, idades, sexos, endereços, empregos, relacionamentos, hobbies, status, comentários, blogs, histórico de navegação ou outros dados demográficos, emprego, informações recreativas de um usuário na plataforma B e correspondentes informações dos amigos do usuário, família, colegas de trabalho, etc. Tais dados da rede social
S podem ser informativos para a plataforma A para prever a classificação de um item pelo usuário e fornecer recomendações.
[023] Por exemplo, a plataforma A pode prever as classificações do usuário resolvendo um problema de otimização conforme mostrado na fórmula (2): em que Sik representa uma relação social entre usuário i e usuário k nos dados da rede social S; λ1 representa um peso predefinido associado aos dados da rede social; e λ2 representa um peso predefinido para evitar sobreajustamento (overfitting).
[024] Neste exemplo, a função objetivo no lado direito da fórmula (2) inclui 3 termos. O primeiro termo ∑u𝑖 ∈𝑢,𝑣𝑗 ∈𝑣(𝑅𝑖𝑗 − 𝑈𝑖 𝑇 𝑉𝑗 )2 , representa o erro ou a distância entre os dados de classificação conhecidos e a classificação aproximada calculada com base nos dados de características do usuário (por exemplo, U = [U1, U2,…, UM]) e os dados de característica do item (por exemplo, V = [V1, V2,…, VN]). O segundo termo 𝜆1 ∑u𝑖 ,u𝑘∈𝑢 𝑆𝑖𝑘 (𝑈𝑖 − 𝑈𝑘 )2 representa os efeitos dos dados da rede social S nos vetores de características do usuário. Por exemplo, quanto mais próximo ou mais forte for o relacionamento social de dois usuários, mais semelhantes serão os dois vetores de características de usuários. Em algumas formas de realização, quanto maior o Sik, mais próximo ou mais forte o relacionamento social de dois 2 2 usuários. O terceiro termo 𝜆2 (||∑u𝑖 ∈𝑢 𝑈𝑖 || + ||∑v𝑗 ∈𝑣 𝑉𝑖 || ) é usado para evitar sobreajustamento. Os valores dos pesos λ1 e λ2 podem ser pré-determinados. Quanto maior o peso, maior o impacto de um termo correspondente na função objetiva.
[025] O problema de otimização acima para minimizar a função objetiva pode ser resolvida, por exemplo, por gradiente descendente ou outro algoritmo. Por exemplo, a derivação dos vetores latentes U e V em relação à fórmula (2) e a expressão dos resultados em uma forma matricial podem chegar às duas equações abaixo:
[026] Para resolver U e V nas equações (3) e (4) acima, os resultados dos produtos matriciais U ∙ diag (S ∙ IM) e U ∙ S são suficientes, sem a necessidade de saber os valores de U e S individualmente. Como tal, um esquema de compartilhamento secreto pode ser usado pelas plataformas A e B para obter os resultados dos produtos matriciais U ∙ diag (S ∙ IM) e U ∙ S. Sob o esquema de compartilhamento secreto, a plataforma A pode divulgar o U manipulado para a plataforma B sem divulgar o U original para a plataforma B; e a plataforma B pode divulgar o S manipulado para a plataforma A sem revelar o S original para a plataforma A.
[027] Em algumas formas de realização, o esquema de compartilhamento secreto pode ser implementado com ou sem um inicializador de confiança. Com um inicializador de confiança, um ponto inicial comum pode ser estabelecido pelo inicializador de confiança e enviado para as duas plataformas para auxiliar na troca de dados. Sem um inicializador de confiança, cada uma das duas plataformas pode gerar números aleatórios como seus respectivos pontos iniciais para auxiliar na troca de dados. As plataformas podem se beneficiar da colaboração sem compartilhar informações confidenciais sensíveis.
[028] A Figura 2 é um fluxograma ilustrando um exemplo de método de compartilhamento secreto (200) entre a plataforma A e a plataforma B com um inicializador de confiança para gerar recomendações pela plataforma A, de acordo com uma forma de realização da presente invenção. A plataforma A pode ser a plataforma A descrita na Figura 1, e a plataforma B pode ser a plataforma B descrita na Figura 1. Em algumas formas de realização, o método de compartilhamento secreto de exemplo pode ser implementado em um algoritmo iterativo. O número de iterações T pode ser, por exemplo, um valor predeterminado ou determinado com base em determinados critérios (por exemplo, se o algoritmo converge ou atualiza ou diferenças de U ou V após diferentes iterações estarem abaixo de um limite). No (202), a plataforma A identifica os dados de classificação do usuário R e os dados iniciais da característica U e os dados das características de item V, e o número de iterações T. No (204), a plataforma B identifica os dados da rede social S. Para uma iteração t-th (t < T), em (208), a plataforma A e a plataforma B podem executar um esquema de compartilhamento secreto com um inicializador de confiança para obter os produtos de matriz U ∙ diag (S ∙ IM) e U ∙ S. Em (206), a plataforma A atualiza o U ou V com base nos produtos de matriz U ∙ diag (S ∙ IM) e U ∙ S, por exemplo, de acordo com as Equações (3) e (4). Depois de T iterações, em (210), a característica de item da plataforma A gera recomendações com base nos dados de recurso do usuário atualizados U e nos dados das características de item V.
[029] Em algumas formas de realização, deixa a matriz Z como um produto da matriz A e da matriz B. Isso é Z = A ∙ B. Zij representa a entrada/ elemento de Z na linha i-th e na coluna j-th. Zij pode ser calculado, por exemplo, de acordo com a Equação (5). Os produtos matriciais U ∙ diag (S ∙ IM) e U ∙ S, por exemplo, em que 𝐴𝑖 𝑇 representa a linha i-th da matriz A e Bj representa a coluna j-th da matriz B.
[030] A Figura 3 é um fluxograma que ilustra o cálculo de um produto matricial Z das matrizes A e B utilizando um esquema de compartilhamento secreto entre a plataforma A (302) e a plataforma B (322)
com um inicializador de confiança (350), de acordo com uma forma de realização da presente invenção. Em um esquema de compartilhamento secreto com um inicializador de confiança, o inicializador de confiança (350) envia os valores iniciais (X1, Y1, W1) (352) para a plataforma A (302) e envia os valores iniciais (X2, Y2, W2) (354) para a plataforma B (322). os valores para a plataforma A e a plataforma B podem ser valores aleatórios ou valores predeterminados. Em (304 e 324), a plataforma A (302) e a plataforma B (322) obtêm a respectiva entrada A e entrada B. A entrada A (304) inclui, mas não está limitada a, dados de entrada aleatórios ou dados de entrada predeterminados (por exemplo, dados de características U) e a entrada B (324) inclui, mas não está limitada a, dados de entrada aleatórios ou dados de redes sociais de entrada predeterminados (por exemplo, dados de redes sociais diag (S ∙ IM) ou S).
[031] Após as duas plataformas obterem os dados de entrada, a plataforma A (302) gera uma matriz aleatória A1 em (306) e a plataforma B (322) gera a matriz aleatória B1 em (326). Em (308), a entrada A (304) obtida e a matriz aleatória A1 (306) são usadas para calcular A2 para que A2 = A - A1. Em (309), A2 é enviado para a plataforma B (322) para computação sem revelar os dados originais A. A2 é enviado para a plataforma B (322). Em (328), a entrada B (324) e a matriz aleatória B1 (326) são usadas para calcular B2 tal que B2 = B - B1. Em (329), B2 é enviado para a plataforma A (302) para computação sem revelar os dados originais B. Em (310), a plataforma A (302) calcula para D1 usando A1 e X1 tal que D1 = A1 - X1 e calcula para E1 usando B2 e Y1 tal que E1 = B2 - Y1. Por outro lado, em (330), a plataforma B (322) calcula para D2 usando A2 e X2 de tal forma que D2 = A2 - X2 e calculado para E2 usando B1 e Y2 de tal forma que E2 = B1 - Y2. No (311), a plataforma A (302) envia D1 e E1 para a plataforma B (322). No (331), a plataforma B (322) envia D2 e E2 para a plataforma A (302). No (312), ambas as plataformas
A e B podem calcular D usando D1 e D2 de tal forma que D = D1 + D2 e calcula para E usando E1 e E2 tal que E = E1 + E2. Com o D e E calculados, as duas plataformas A e B podem gerar saídas que podem ser usadas para atualizar os dados de característica do usuário e os dados das características de item. Por exemplo, para gerar as saídas, em (314), a plataforma A (302) calcula para Z1 por W1 + E * X1 + D * Y1 + D * E, em que * indica multiplicação. Em (334), a plataforma B (322) calcula para Z2 por W2 + E * X2 + D * Y2 + D * E, em que * indica multiplicação.
[032] Em (315), a plataforma A pode receber Z2 da plataforma B. Em algumas formas de realização, Z2 é um exemplo de dados de rede social manipulados calculados com base em dados de redes sociais (por exemplo, B) e dados de entrada do inicializador de confiança (por exemplo, X2, Y2, W2). No (335), a plataforma B pode receber Z1 da plataforma A. Em algumas formas de realização, Z1 é um exemplo de dados de características de usuário manipulados calculados com base nos dados de característica do usuário (por exemplo, A) e no segundo dado de entrada a partir do inicializador de confiança (por exemplo, X1, Y1, W1). A soma de Z1 e Z2 é igual ao produto das matrizes A e B. Ou seja, AB = Z1 + Z2. Como tal, em (316), a plataforma A pode calcular um produto das matrizes A e B calculando uma soma de Z1 e Z2, que são os dados manipulados da matriz A e da matriz B. Similarmente, a plataforma B também pode calcular o produto de matrizes A e B calculando uma soma de Z1 e Z2.
[033] Ao substituir a matriz U por A e substituir o diag (S ∙ IM) por B, o produto da matriz S ∙ diag (S ∙ IM) pode ser obtido. Da mesma forma, substituindo a matriz U por A e substituindo S por B, o produto da matriz U ∙ S pode ser obtido. Com os produtos matriciais U ∙ diag (S ∙ IM) e U ∙ S, a plataforma A pode atualizar os dados das características U e os dados das características V, por exemplo, de acordo com as Equações (3) e (4) conforme descrito em relação a (206) na Figura 2.
[034] Os cálculos descritos na Figura 3 fornecem um exemplo de método para atualizar os dados de característica do usuário e os dados das características de item. Com base nos dados atualizados de característica do usuário e nos dados das características de item, a plataforma A (302) pode gerar dados de classificação previstos. Em algumas formas de realização, a plataforma A (302) pode, entre outras coisas, gerar recomendações para um item específico para um usuário específico com base nos dados de classificação previstos.
[035] A Figura 4 é um fluxograma de um método de exemplo (400) para gerar uma recomendação para um usuário por uma plataforma de classificação e de recomendação de itens usando um esquema de compartilhamento secreto com um inicializador de confiança, de acordo com uma forma de realização. Para clareza de apresentação, a descrição que se segue descreve geralmente o método (400) no contexto das outras figuras nesta descrição. Por exemplo, a plataforma de classificação e de recomendação de itens pode ser a plataforma A, conforme descrito em relação às Figuras 1 a 3. No entanto, será entendido que o método (400) pode ser realizado, por exemplo, por qualquer sistema, ambiente, software e hardware adequados, ou uma combinação de sistemas, ambientes, software e hardware, conforme apropriado. Em algumas formas de realização, várias etapas do método (400) podem ser executadas em paralelo, em combinação, em loops ou em qualquer ordem.
[036] Em (402), os dados de classificação incluindo, mas não limitados a, as respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários são identificadas pela plataforma de classificação e de recomendação de itens. Identificar os dados de classificação inclui receber (por exemplo, de outro dispositivo), recuperar ou carregar a partir de uma memória ou determinar os dados de classificação com base em uma ou mais entradas para o método (400). Os dados de classificação podem incluir dados de classificação R descritos em relação às Figuras 1 a 3. Por exemplo, os dados de classificação podem incluir classificações reais ou classificações mapeadas com base nas atividades de usuário existentes relativas aos itens.
De (402), o método (400) prossegue para (404).
[037] Em (404), os dados de característica do usuário, incluindo várias características do usuário que contribuem para as respectivas classificações do número de itens em relação ao número de usuários, são identificados pela plataforma de classificação e de recomendação de itens. A identificação dos dados de característica do usuário inclui receber (por exemplo, de outro dispositivo), recuperar ou carregar a partir de uma memória ou determinar os dados de característica do usuário com base em uma ou mais entradas para o método (400). Os dados de classificação podem incluir dados de característica do usuário descritos em relação às Figuras 1 a 3. De (404), o método (400) prossegue para (406).
[038] No (406), os dados da característica de item, incluindo uma série de características de itens que contribuem para as respectivas classificações do número de itens em relação ao número de usuários, são identificados pela plataforma de classificação e de recomendação de itens. A identificação dos dados de característica do item inclui receber (por exemplo, de outro dispositivo), recuperar ou carregar a partir de uma memória, ou determinar os dados de característica do item com base em uma ou mais entradas para o método (400). Os dados de classificação podem incluir dados de característica do item descritos em relação às Figuras 1 a 3. De (406), o método (400) prossegue para (408).
[039] No (408), a plataforma de classificação e de recomendação de itens recebe dados da rede social manipulados de uma plataforma de rede social por meio de um esquema de compartilhamento secreto com um inicializador de confiança de uma plataforma de rede social. Em algumas formas de realização, os dados da rede social manipulados podem ser calculados com base nos dados da rede social e no primeiro dado de entrada a partir do inicializador de confiança. Os dados da rede social indicam relações sociais entre quaisquer dois do número de usuários. No esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social. Em algumas formas de realização, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de classificação e de recomendação de itens compartilha dado de característica do usuário manipulado da plataforma de rede social (por exemplo, Z2 como descrito em relação à Figura 3) sem divulgar os dados de característica do usuário (por exemplo, A), em que os dados de característica do usuário manipulados são calculados com base nos dados de característica do usuário e no primeiro dado de entrada a partir do inicializador de confiança (por exemplo, X2, Y2, W2). Em algumas formas de realização, os dados de rede social manipulados são manipulados de tal forma que não é possível recuperar os dados da rede social original a partir dos dados de rede social manipulados.
[040] Em algumas formas de realização, o esquema de compartilhamento secreto com o inicializador de confiança é usado para resolver um problema de otimização conforme descrito com respeito à fórmula (2) como descrito em relação à Figura 3. Por exemplo, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de classificação e de recomendação de itens obtém o segundo dado de entrada a partir do inicializador de confiança (por exemplo, X1, Y1, W1) e gera o primeiro dado de característica do usuário manipulado (por exemplo, A1) com base nos dados de característica do usuário (por exemplo, A) e o segundo dado de entrada a partir do inicializador de confiança.
A plataforma de classificação e de recomendação de itens transmite para a plataforma de rede social o primeiro dado de característica de usuário manipulado (por exemplo, A2) e recebe da plataforma de rede social, o primeiro dado de rede social manipulado (por exemplo, B2) calculados com base nos dados da rede social, (por exemplo, A)
e o primeiro dado de entrada (por exemplo, X2, Y2, W2) do inicializador de confiança.
A plataforma de classificação e de recomendação de itens pode gerar vários dados intermediários (por exemplo, D1, E1) com base em dois ou mais dados de característica do usuário manipulados (por exemplo, A2), o primeiro dado da rede social manipulado (por exemplo, B2) ou o segundo dado de entrada (por exemplo, X1, Y1, W1) do inicializador de confiança.
A plataforma de classificação e de recomendação de itens pode transmitir para a plataforma de rede social o número de dados intermediários e receber da plataforma de rede social, uma pluralidade de dados intermediários da rede social (por exemplo, D2, E2) calculados com base em dois ou mais do primeiro dado de característica de usuário manipulado (por exemplo, A2), o primeiro dado da rede social manipulado (por exemplo, B2) ou o primeiro dado de entrada a partir do inicializador de confiança (por exemplo, X1, Y1, W1). A plataforma de classificação e de recomendação de itens pode gerar os dados de característica do usuário manipulados (por exemplo, Z1) com base em dois ou mais dados intermediários (por exemplo, D1, E1), a pluralidade de dados intermediários da rede social (por exemplo, D2, E2), ou o segundo dado de entrada a partir do inicializador de confiança (por exemplo, X1, Y1, W1). Da mesma forma, a plataforma de rede social pode gerar os dados da rede social manipulados (por exemplo, Z2) com base em dois ou mais dados intermediários (por exemplo, D1, E1), a pluralidade de dados intermediários da rede social (por exemplo, D2, E2), ou o primeiro dado de entrada a partir do inicializador de confiança (por exemplo, X2, Y2, W2). De (408), o método (400) prossegue para (410).
[041] No (410), a plataforma de classificação e de recomendação de itens envia dados manipulados de características do usuário para a plataforma de rede social sem divulgar os dados de característica do usuário.
Em algumas formas de realização, os dados de característica do usuário manipulados podem incluir, por exemplo, Z1 como descrito em relação à Figura
3. A partir de (410), o método (400) prossegue para (412).
[042] No (412), a plataforma de classificação e de recomendação de itens atualiza os dados de característica do usuário com base nos dados de classificação e nos dados de rede social manipulados. Em algumas formas de realização, a atualização dos dados de característica do usuário inclui o cálculo de um produto dos dados de característica do usuário (por exemplo, U) e os dados da rede social (por exemplo, S ou diag (S ∙ IM)) calculando uma soma dos dados de característica do usuário manipulados e os dados de rede social manipulados. Em algumas formas de realização, os dados de característica do usuário incluem a solução de um problema de otimização para minimizar uma soma ponderada de uma diferença entre os dados de classificação previstos e os dados de classificação, os dados de característica do usuário ponderados pelos dados da rede social e um termo de prevenção de sobreajustamento, por exemplo, como mostrado na fórmula (2). Em algumas formas de realização, a atualização dos dados de característica do usuário inclui a atualização dos dados de característica do usuário de acordo com as técnicas de exemplo descritas em relação à Figura 3. A partir de (412), o método (400) prossegue para (414).
[043] No (414), a plataforma de classificação e de recomendação de itens atualiza dados de característica do item com base nos dados de classificação e nos dados de característica do usuário, por exemplo, de acordo com as técnicas de exemplo descritas com relação à Figura 3. Por exemplo, a atualização dos dados de característica do usuário pode incluir o cálculo de um produto dos dados de característica do usuário (por exemplo, A) e os dados da rede social (por exemplo, A) calculando uma soma dos dados de característica do usuário manipulados (por exemplo, Z1) e os dados da rede social manipulados (por exemplo, Z2). De (414), o método (400) prossegue para (416).
[044] Em (416), os dados de classificação previstos do número de itens em relação ao número de usuários com base no produto dos dados de característica do usuário e os dados das características de item são gerados.
Em algumas formas de realização, os dados de classificação previstos podem ser gerados, por exemplo, com base no produto dos dados de característica do usuário e nos dados de característica do item de acordo com a Equação (1).
Em algumas formas de realização, a classificação gerada pode ser melhor alinhada com as necessidades ou preferências dos usuários, devido à incorporação da rede social. De (416), o método (400) prossegue para (418).
[045] Em (418), é gerada uma recomendação de um item específico para um usuário específico com base nos dados de classificação previstos. Em algumas formas de realização, um ou mais itens com as melhores classificações previstas em relação ao usuário específico podem ser recomendados para o usuário específico. A recomendação de um item em particular pode ser uma recomendação de um filme ou item de compra. Por exemplo, a NETFLIX pode recomendar melhor um filme ou a AMAZON pode recomendar melhor um item com base nos dados da rede social. Em algumas formas de realização, a recomendação do item específico para o item específico pode ser enviada, por exemplo, por meio de uma interface do usuário (UI). Em algumas formas de realização, os tópicos selecionados podem ser exibidos em uma caixa de bate-papo, uma janela pop, etc. em uma interface gráfica do usuário (GUI) ou outras interfaces do usuário para análise e consideração do usuário. De (418), o método (400) finaliza.
[046] A Figura 5 é um diagrama de blocos de um exemplo de sistema de computador (500) usado para fornecer funcionalidades computacionais associadas a algoritmos, métodos, funções, processos, fluxos e procedimentos descritos, como descrito na presente invenção, de acordo com uma forma de realização. O computador ilustrado (502) destina-se a englobar qualquer dispositivo de computação, como um servidor, computador desktop, computador portátil/ notebook, porta de dados sem fios, smartphone, assistente de dados pessoais (PDA), dispositivo de computação de tablets, um ou mais processadores dentro destes dispositivos ou qualquer outro dispositivo de processamento adequado, incluindo instâncias físicas ou virtuais (ou ambas) do dispositivo de computação. Além disso, o computador (502) pode incluir um computador que inclui um dispositivo de entrada, como um teclado numérico, teclado, tela sensível ao toque ou outro dispositivo que possa aceitar informações do usuário, e um dispositivo de saída que transmita as informações associadas à operação do computador (502), incluindo dados digitais, visuais ou informações de áudio (ou uma combinação de informações) ou uma interface tipo gráfica de usuário (UI) ou (GUI).
[047] O computador (502) pode servir em uma função como um usuário, componente de rede, um servidor, um banco de dados ou outra persistência, ou qualquer outro componente (ou uma combinação de funções) de um sistema de computador para realizar a matéria objeto descrita na presente invenção. O computador ilustrado (502) é acoplado de forma comunicativa a uma rede (530). Em algumas formas de realização, um ou mais componentes do computador (502) podem ser configurados para operar em ambientes, incluindo ambiente baseado em computação em nuvem, local, global ou outro (ou uma combinação de ambientes).
[048] Em um nível elevado, o computador (502) é um dispositivo de computação eletrônico operável para receber, transmitir, processar, armazenar ou gerenciar dados e informações associados à presente invenção.
De acordo com algumas formas de realização, o computador (502) também pode incluir ou ser acoplado de forma comunicativa, juntamente com um servidor de aplicativos, servidor de e-mail, servidor web, servidor de cache, servidor de dados em streaming, ou outros servidores (ou uma combinação de servidores).
[049] O computador (502) pode receber solicitações sobre a rede (530) de um aplicativo usuário (por exemplo, a execução em outro computador (502)) e responder às solicitações recebidas pelo processamento dos pedidos recebidos usando aplicativo(s) de software apropriado(s). Além disso, os pedidos podem também ser enviados para o computador (502) de usuários internos (por exemplo, a partir de uma console de comando ou por outros métodos de acesso apropriado), externo ou de terceiros, outros aplicativos automatizados, bem como quaisquer outros organismos adequados, indivíduos, sistemas ou computadores.
[050] Cada um dos componentes do computador (502) pode comunicar utilizando um barramento de sistema (503). Em algumas formas de realização, qualquer um ou todos os componentes do computador (502), hardware ou software (ou uma combinação de ambos hardware e software), pode interagir uns com os outros ou com a interface (504) (ou uma combinação de ambos), através do barramento de sistema (503) usando uma interface de programação de aplicativo (API) (512) ou uma camada de serviço (513) (ou uma combinação da API (512) e camada de serviço (513)). A API (512) pode incluir especificações para rotinas, estruturas de dados e classes de objetos. A API (512) pode ser independente de linguagem de computador ou dependente e se referir a uma interface completa, uma única função ou até mesmo um conjunto de APIs. A camada de serviço (513) fornece serviços de software para o computador (502) ou outros componentes (ilustrados ou não) que estão acoplados de forma comunicativa ao computador (502). A funcionalidade do computador (502) pode ser acessível para todos os consumidores de serviço que usam essa camada de serviço. Os serviços de software, como os fornecidos pela camada de serviço (513), fornecem funcionalidades reutilizáveis e definidas através de uma interface definida. Por exemplo, a interface pode ser um software escrito em JAVA, C++ ou outras linguagens adequadas que forneça dados no formato de linguagem de marcação extensível (XML) ou outros formatos adequados. Embora ilustrado como um componente integrado do computador (502), formas de realização alternativas podem ilustrar a API (512) ou a camada de serviço (513) como componentes independentes em relação a outros componentes do computador (502) ou outros componentes (ilustrados ou não) que estão acoplados de forma comunicativa ao computador (502). Além disso, qualquer uma ou todas as partes da API (512) ou da camada de serviço (513) podem ser implementadas como filho ou submódulos de outro módulo de software, aplicativo corporativo ou módulo de hardware sem se afastar o escopo desta invenção.
[051] O computador (502) inclui uma interface (504). Embora ilustrada como uma única interface (504) na Figura 5, duas ou mais interfaces (504) podem ser usadas de acordo com necessidades particulares, desejos ou formas de realização particulares do computador (502). A interface (504) é usada pelo computador (502) para comunicação com outros sistemas que estão conectados à rede (530) (ilustrado ou não) em um ambiente distribuído.
Geralmente, a interface (504) inclui lógica codificada em software ou hardware (ou uma combinação de software e hardware) e é operável para comunicar com a rede (530). Mais especificamente, a interface (504) pode compreender software suportando um ou mais protocolos de comunicação associados com comunicações de tal forma que a rede (530) ou o hardware da interface é operável para comunicar sinais físicos dentro e fora do computador ilustrado (502).
[052] O computador (502) inclui um processador (505). Embora ilustrado como um único processador (505) na Figura 5, dois ou mais processadores podem ser utilizados de acordo com necessidades particulares, desejos ou formas de realização particulares do computador (502).
Geralmente, o processador (505) executa instruções e manipula dados para realizar as operações do computador (502) e quaisquer algoritmos, métodos, funções, processos, fluxos e procedimentos como descrito na presente invenção.
[053] O computador (502) também inclui um banco de dados (506) que pode conter dados para o computador (502) ou outros componentes (ou uma combinação de ambos) que podem ser conectados à rede (530) (ilustrados ou não). Por exemplo, a base de dados (506) pode ser uma memória interna, convencional ou outro tipo de base de dados que armazena dados consistentes com esta invenção. Em algumas formas de realização, o banco de dados (506) pode ser uma combinação de dois ou mais tipos de banco de dados diferentes (por exemplo, um banco de dados híbrido em memória e convencional) de acordo com necessidades particulares, desejos ou formas de realização específicas do computador (502) e a funcionalidade descrita. Embora ilustrado como uma única base de dados (506) na Figura 5, duas ou mais bases de dados (da mesma ou combinação de tipos) podem ser usadas de acordo com necessidades particulares, desejos ou formas de realização particulares do computador (502) e a funcionalidade descrita.
Enquanto o banco de dados (506) é ilustrado como um componente integral do computador (502), em formas de realização alternativas, o banco de dados (506) pode ser externo ao computador (502). Como ilustrado, a base de dados
(506) retém dados de classificação descritos anteriormente (516), dados de característica do usuário (518), dados de característica do item (526) e dados de redes sociais (528).
[054] O computador (502) também inclui uma memória (507) que pode conter dados para o computador (502) ou outros componentes (ou uma combinação de ambos) que podem ser conectados à rede (530) (ilustrados ou não). A memória (507) pode armazenar quaisquer dados consistentes com esta invenção. Em algumas formas de realização, a memória (507) pode ser uma combinação de dois ou mais tipos diferentes de memória (por exemplo, uma combinação de armazenamento semicondutor e magnético) de acordo com necessidades particulares, desejos ou formas de realização específicas do computador (502) e a funcionalidade descrita. Embora ilustrado como uma única memória (507) na Figura 5, duas ou mais memórias (507) (da mesma ou combinação de tipos) podem ser usadas de acordo com necessidades particulares, desejos, ou formas de realização particulares do computador (502) e a funcionalidade descrita. Enquanto a memória (507) é ilustrada como um componente integral do computador (502), em formas de realização alternativas, a memória (507) pode ser externa ao computador (502).
[055] O aplicativo (508) é um mecanismo de software algorítmico que proporciona funcionalidade de acordo com necessidades, desejos ou formas de realização particulares do computador (502), particularmente no que diz respeito funcionalidade descrita nesta divulgação. Por exemplo, o aplicativo (508) pode servir como um ou mais componentes, módulos ou aplicativos.
Além disso, embora ilustrada como um único aplicativo (508), o aplicativo (508) pode ser implementado como múltiplos aplicativo (508) no computador (502).
Além disso, embora ilustrado como integrante do computador (502), em formas de realização alternativas, o aplicativo (508) pode ser externo ao computador (502).
[056] O computador (502) também pode incluir uma fonte de alimentação (514). A fonte de alimentação (514) pode incluir uma bateria recarregável ou não recarregável que pode ser configurada para ser substituível pelo usuário ou não. Em algumas formas de realização, a fonte de alimentação (514) pode incluir circuitos de conversão ou de gerenciamento de energia (incluindo recarga, espera ou outra funcionalidade de gerenciamento de energia). Em algumas formas de realização, a fonte de alimentação (514) pode incluir um plugue de energia para permitir que o computador (502) seja conectado a uma tomada de parede ou outra fonte de energia para, por exemplo, alimentar o computador (502) ou reciclar uma bateria recarregável.
[057] Pode haver qualquer número de computadores (502) associados ou externos a um sistema de computador contendo o computador (502), cada computador (502) se comunicando pela rede (530). Além disso, o termo “usuário”, “usuário” e outra terminologia apropriada podem ser usados de forma intercambiável, conforme apropriado, sem se afastar do escopo desta invenção. Além disso, esta invenção contempla que muitos usuários podem usar um computador (502), ou que um usuário pode usar vários computadores (502).
[058] Formas de realização descritas da presente invenção podem incluir uma ou mais características, sozinhas ou em combinação.
[059] Por exemplo, em uma primeira forma de realização, um método implementado por computador, incluindo: identificar, através de uma plataforma de classificação e de recomendação de itens, dados de classificação compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários; identificar, através da plataforma de classificação e de recomendação de itens, dados de característica do usuário, incluindo uma pluralidade identificar, através da plataforma de classificação e de recomendação de itens, dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários; receber, de uma plataforma de rede social pela plataforma de classificação e de recomendação de itens por meio de um esquema de compartilhamento secreto com um inicializador de confiança, dados de rede social manipulados calculados com base em dados de rede social e dados de entrada do inicializador de confiança, em que os dados de rede social indicam relações sociais entre quaisquer dois dentre a pluralidade de usuários, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social; e atualizar, através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário com base nos dados de classificação e nos dados de rede social manipulados.
[060] Em uma segunda forma de realização, um meio não transitório, legível por computador, armazenando uma ou mais instruções executáveis por um sistema de computador para executar operações, incluindo: identificar, através de uma plataforma de classificação e de recomendação de itens, dados de classificação compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários; identificar, através da plataforma de classificação e de recomendação de itens, dados de característica do usuário, incluindo uma pluralidade identificar, através da plataforma de classificação e de recomendação de itens, dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários; receber, de uma plataforma de rede social pela plataforma de classificação e de recomendação de itens por meio de um esquema de compartilhamento secreto com um inicializador de confiança, dados de rede social manipulados calculados com base em dados de rede social e dados de entrada do inicializador de confiança, em que os dados de rede social indicam relações sociais entre quaisquer dois dentre a pluralidade de usuários, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social; e atualizar, através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário com base nos dados de classificação e nos dados de rede social manipulados.
[061] Em uma terceira forma de realização, um sistema implementado por computador, incluindo: um ou mais computadores; e um ou mais dispositivos de memória de computador interoperáveis acoplados com o um ou mais computadores e tendo instruções de armazenamento de mídia tangíveis, não transitórias, legíveis por máquina, que quando executadas por um ou mais computadores, executam operações compreendendo: identificar, através de uma plataforma de classificação e de recomendação de itens, dados de classificação compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários; identificar, através da plataforma de classificação e de recomendação de itens, dados de característica do usuário, incluindo uma pluralidade identificar, através da plataforma de classificação e de recomendação de itens, dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários; receber, de uma plataforma de rede social pela plataforma de classificação e de recomendação de itens por meio de um esquema de compartilhamento secreto com um inicializador de confiança, dados de rede social manipulados calculados com base em dados de rede social e dados de entrada do inicializador de confiança, em que os dados de rede social indicam relações sociais entre quaisquer dois dentre a pluralidade de usuários, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social; e atualizar, através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário com base nos dados de classificação e nos dados de rede social manipulados.
[062] As formas de realização precedentes e as demais descritas podem, cada, opcionalmente, incluir uma ou mais das características seguintes:
[063] Uma primeira característica, combinável com qualquer uma das seguintes características, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de classificação e de recomendação de itens compartilha com a plataforma de rede social dados de característica do usuário manipulados sem divulgar os dados de característica do usuário e em que os dados de característica do usuário manipulados são calculados com base nos dados de característica do usuário e no segundo dado de entrada a partir do inicializador de confiança.
[064] Uma segunda característica, combinável com qualquer uma das características anteriores ou posteriores, o método ou as operações incluindo ainda: identificação de dados de característica do item compreendendo uma pluralidade de características de item contribuindo para as respectivas classificações da pluralidade de itens em relação à pluralidade de usuários, em que um produto dos dados de característica do usuário e os dados de característica do item resultam em uma estimativa dos dados de classificação; e atualizar os dados das características de item com base nos dados de classificação e nos dados de característica do usuário.
[065] Uma terceira característica, combinável com qualquer uma das características anteriores ou posteriores, o método ou as operações incluindo ainda: gerar dados de classificação previstos da pluralidade de itens em relação à pluralidade de usuários com base no produto dos dados de característica do usuário e nos dados de característica do item; e gerar uma recomendação de um item específico para um usuário específico com base nos dados de classificação previstos.
[066] Uma quarta característica, combinável com qualquer uma das características anteriores ou posteriores, em que a atualização dos dados de característica do usuário compreende a resolução de um problema de otimização para minimizar uma soma ponderada de uma diferença entre os dados de classificação previstos e os dados de classificação, os dados de característica do usuário ponderados pelos dados da rede social, e um termo de prevenção de sobreajustamento.
[067] Uma quinta característica, combinável com qualquer uma das características anteriores ou posteriores, em que resolve um problema de otimização compreendendo a solução da seguinte equação: em que: Ui representa um vetor dos dados de característica do usuário correspondente ao usuário i; Vj representa um vetor dos dados de característica do item correspondente ao item j; Rij representa uma classificação do item j pelo usuário i; Sik representa uma relação social entre usuário i e usuário k; λ1 representa um peso predefinido associado aos dados da rede social; e λ 2 representa um peso predefinido para evitar sobreajustamento.
[068] Uma sexta característica, combinável com qualquer uma das características anteriores ou posteriores, em que a atualização dos dados de característica do usuário compreende o cálculo de um produto dos dados de característica do usuário e os dados da rede social calculando uma soma dos dados de característica do usuário manipulados e os dados de rede social manipulados.
[069] Uma sétima característica, combinável com qualquer uma das características anteriores ou posteriores, o método ou as operações incluindo ainda: compreendendo ainda, no esquema de compartilhamento secreto com o inicializador de confiança, obter, através da plataforma de classificação e de recomendação de itens, o segundo dado de entrada a partir do inicializador de confiança; gerar, através da plataforma de classificação e de recomendação de itens, o primeiro dado de característica do usuário manipulado com base nos dados de característica do usuário e o segundo dado de entrada a partir do inicializador de confiança; transmitir, através da plataforma de classificação e de recomendação de itens para a plataforma de rede social, o primeiro dado de característica do usuário manipulados; receber, através da plataforma de classificação e de recomendação de itens da plataforma de rede social, o primeiro dado de rede social manipulado calculados com base nos dados da rede social e primeiro dado de entrada a partir do inicializador de confiança; gerar, através da plataforma de classificação e de recomendação de itens, uma pluralidade de dados intermediários com base em dois ou mais do primeiro dado de característica do usuário manipulado, o primeiro dado de rede social manipulado ou o segundo dado de entrada a partir do inicializador de confiança; transmitir, através da plataforma de classificação e de recomendação de itens para a plataforma de rede social, pluralidade de dados intermediários; receber, através da plataforma de classificação e de recomendação de itens da plataforma de rede social, uma pluralidade de dados de rede social intermediários calculados com base em dois ou mais dados de característica do usuário manipulados, o primeiro dado de rede social manipulado ou o primeiro dado de entrada a partir do inicializador de confiança; e gerar, através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário manipulados com base em dois ou mais da pluralidade de dados intermediários, a pluralidade de dados de rede social intermediários ou o segundo dado de entrada a partir do inicializador de confiança.
[070] As formas de realização da presente invenção e as operações funcionais descritas neste relatório descritivo podem ser implementadas em circuitos elétricos digitais, em software ou firmware de computador tangivelmente incorporado, em hardware de computador, incluindo as estruturas divulgadas neste relatório descritivo e os seus equivalentes estruturais, ou em combinações de um ou mais deles. Formas de realização de software da presente invenção podem ser implementadas como um ou mais programas de computador, isto é, um ou mais módulos de instruções de programa de computador codificados em um meio de armazenamento de computador tangível, não transitório, legível por computador para execução por, ou a controlar o funcionamento de aparelhos de processamento de dados.
Alternativamente, ou adicionalmente, as instruções do programa podem ser codificadas em/ sobre um sinal propagado gerado artificialmente, por exemplo, um sinal elétrico, óptico ou eletromagnético gerado por máquina que é gerado para codificar informações para transmissão para o aparelho receptor adequado para execução por um aparelho de processamento de dados. O meio de armazenamento de computador pode ser um dispositivo de armazenamento legível por máquina, um substrato de armazenamento legível por máquina, um dispositivo de memória de acesso aleatório ou serial, ou uma combinação de meios de armazenamento de computador. Configurar um ou mais computadores significa que em um ou mais computadores foram instalados hardware, firmware ou software (ou combinações de hardware, firmware e software) para que, quando o software for executado por um ou mais computadores, operações de computação específicas sejam executadas.
[071] O termo “tempo-real”, “tempo real”, “temporeal”, “tempo real (rápido) (RFT)”, “tempo real próximo(amente) (NRT)”, “em tempo real quasi”, ou similar termos (como entendido por um técnico no assunto), significa que uma ação e uma resposta estão temporalmente próximas de tal modo que um indivíduo percebe a ação e a resposta ocorrendo substancialmente simultaneamente. Por exemplo, a diferença de tempo de uma resposta para exibição (ou para uma iniciação de uma exibição) de dados após a ação do indivíduo para acessar os dados pode ser menor que 1 ms, menor que 1 segundo ou menor que 5 segundos. Enquanto os dados solicitados não necessitam ser exibidos (ou iniciados para exposição) instantaneamente, é apresentado (ou iniciado por exposição) sem qualquer atraso intencional, levando em consideração as limitações de processamento de um sistema de computação descrito e tempo necessário para, por exemplo, reunir, medir com precisão, analisar, processar, armazenar ou transmitir os dados.
[072] Os termos “aparelho de processamento de dados”, “computador” ou “dispositivo de computação eletrônico” (ou equivalente como compreendido por um técnico no assunto) referem-se ao hardware de processamento de dados e abrangem todos os tipos de aparelhos, dispositivos e máquinas para processamento de dados, incluindo, a título de exemplo, um processador programável, um computador ou múltiplos processadores ou computadores. O aparelho pode também ser, ou incluir ainda um circuito lógico de propósito especial, por exemplo, uma unidade de processamento central
(CPU), um FPGA (Arranjo de Portas Programáveis em Campo), ou um ASIC (circuito integrado específico de aplicação). Em algumas formas de realização, o aparelho de processamento de dados ou circuitos lógicos de finalidade especial (ou uma combinação do aparelho de processamento de dados ou circuitos lógicos de finalidade especial) podem ser baseados em hardware ou software (ou uma combinação de baseado em hardware e software). O aparelho pode, opcionalmente, incluir o código que cria um ambiente de execução para programas de computador, por exemplo, o código que constitui firmware de processador, uma pilha de protocolos, um sistema de gerenciamento de banco de dados, um sistema operacional ou uma combinação de ambientes de execução. A presente divulgação contempla a utilização de aparelhos de processamento de dados com ou sem sistemas operacionais convencionais, por exemplo, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS ou qualquer outro sistema operacional convencional adequado.
[073] Um programa de computador, que também pode ser referido ou descrito como um programa, software, um aplicativo de software, um módulo, um módulo de software, um script ou código pode ser escrito em qualquer forma de linguagem de programação, incluindo linguagens compiladas ou interpretadas, ou linguagens declarativas ou processuais, e pode ser implantado em qualquer forma, incluindo como um programa sozinho ou como um módulo, componente, sub-rotina, ou outra unidade apropriada para o uso em um ambiente de computação. Um programa de computador pode, mas não precisa, corresponder a um arquivo em um sistema de arquivos.
Um programa pode ser armazenado em uma porção de um arquivo que contém outros programas ou dados, por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação, em um único arquivo dedicado ao programa em questão ou em vários arquivos coordenados, por exemplo, arquivos que armazenam um ou mais módulos,
subprogramas, ou porções do código. Um programa de computador pode ser implantado para ser executado em um computador ou em vários computadores localizados em um local ou distribuídos em vários locais e interconectados por uma rede de comunicação. Enquanto porções dos programas ilustrados nas várias figuras são mostrados como módulos individuais que implementam as várias características e funcionalidades através de vários objetos, métodos ou outros processos, os programas podem incluir uma pluralidade de submódulos, serviços de terceiros, componentes, bibliotecas e tal, conforme apropriado. Por outro lado, as características e a funcionalidade de vários componentes podem ser combinadas em componentes individuais, conforme apropriado. Os limiares usados para fazer determinações computacionais podem ser determinados estaticamente, dinamicamente ou determinados estaticamente e dinamicamente.
[074] Os métodos, processos ou fluxos lógicos descritos nesta relatório descritivo podem ser realizados por um ou mais computadores programáveis executando um ou mais programas de computador para realizar funções operando em dados de entrada e gerando saída. Os métodos, processos ou fluxos lógicos podem também ser executados por, e o aparelho também pode ser implementado como, circuitos lógicos de propósito especial, por exemplo, uma CPU, um FPGA ou um ASIC.
[075] Computadores adequados para a execução de um programa de computador podem ser baseados em microprocessadores de propósito geral ou especial, ambos ou qualquer outro tipo de CPU. Geralmente, uma CPU recebe instruções e dados de e grava em uma memória. Os elementos essenciais de um computador são uma CPU, para realizar ou executar instruções, e um ou mais dispositivos de memória para armazenar instruções e dados. Geralmente, um computador também incluirá, ou estará operativamente acoplado a, receber dados ou transferir dados para, ou ambos,
um ou mais dispositivos de armazenamento em massa para armazenamento de dados, por exemplo, discos magnéticos, magnéticos-ópticos ou discos ópticos. No entanto, um computador não precisa ter esses dispositivos. Além disso, um computador pode ser incorporado em outro dispositivo, por exemplo, um telefone celular, um assistente digital pessoal (PDA), um tocador de áudio ou vídeo, um console de jogos, um receptor de sistema de posicionamento global (GPS) ou um dispositivo de armazenamento portátil, por exemplo, uma unidade flash de barramento serial universal (USB), para citar apenas alguns.
[076] Os meios legíveis por computador (transitórios ou não transitórios, conforme o caso) adequados para armazenar instruções de programa de computador e dados incluem todas as formas de memória permanente/ não-permanente ou volátil/ não volátil, mídia e dispositivos de memória, incluindo a título de exemplo dispositivos de memória semicondutores, por exemplo, memória de acesso aleatório (RAM), memória de somente leitura (ROM), memória de mudança de fase (PRAM), memória de acesso aleatório estático (SRAM), memória dinâmica de acesso aleatório (DRAM), memória de somente leitura programável apagável (EPROM), memória de somente de leitura programável apagável eletronicamente (EEPROM) e dispositivos de memória flash; dispositivos magnéticos, por exemplo, fitas, cartuchos, cassetes, discos internos/ removíveis; discos magneto-ópticos; e dispositivos de memória óptica, por exemplo, disco de vídeo digital (DVD), CD-ROM, DVD +/- R, DVD-RAM, DVD-ROM, HD-DVD e BLURAY e outras tecnologias de memória óptica. A memória pode armazenar vários objetos ou dados, incluindo caches, classes, estruturas, aplicativos, módulos, dados de backup, tarefas, páginas da Web, modelos de página da Web, estruturas de dados, tabelas de banco de dados, informações dinâmicas de armazenamento de repositórios e qualquer outra informação apropriada, incluindo quaisquer parâmetros, variáveis, algoritmos, instruções, regras,
restrições ou referências a eles. Além disso, a memória pode incluir quaisquer outros dados apropriados, como logs, políticas, dados de segurança ou acesso, arquivos de relatórios e outros. O processador e a memória podem ser complementados por, ou incorporados em circuitos lógicos de propósito especial.
[077] Para proporcionar interação com um usuário, as formas de realização da presente invenção neste relatório descritivo podem ser implementadas em um computador com um dispositivo de visualização, por exemplo, um CRT (tubo de raios catódicos), LCD (visor de cristais líquidos), LED (emissor de luz diodo), ou monitor de plasma, para exibir informações ao usuário e um teclado e um dispositivo apontador, por exemplo, um mouse, trackball ou trackpad, pelo qual o usuário pode fornecer informações ao computador. A entrada também pode ser fornecida ao computador usando uma tela sensível ao toque, como uma superfície de computador tablet com sensibilidade à pressão, uma tela multi toque usando sensor capacitivo ou elétrico ou outro tipo de tela sensível ao toque. Outros tipos de dispositivos podem ser usados para fornecer interação com um usuário bem como; por exemplo, o feedback fornecido ao usuário pode ser qualquer forma de feedback sensorial, por exemplo, feedback visual, feedback auditivo ou feedback tátil; e a entrada do usuário pode ser recebida de qualquer forma, incluindo entrada acústica, de fala ou tátil. Além disso, um computador pode interagir com um usuário enviando documentos e recebendo documentos de um dispositivo usado pelo usuário; por exemplo, enviando páginas da web para um navegador da web no dispositivo usuário de um usuário em resposta a solicitações recebidas do navegador da web.
[078] O termo “interface gráfica do usuário” ou “GUI” pode ser usado no singular ou no plural para descrever uma ou mais interfaces gráficas com o usuário e cada uma das exibições de uma interface gráfica do usuário em particular. Portanto, uma GUI pode representar qualquer interface gráfica do usuário, incluindo, mas não se limitando a, um navegador da Web, uma tela sensível ao toque ou uma interface de linha de comando (CLI) que processa as informações e apresenta com eficiência os resultados das informações ao usuário. Em geral, uma GUI pode incluir uma variedade de elementos de interface do usuário (UI), alguns ou todos associados a um navegador da Web, como campos interativos, listas suspensas e botões. Esses e outros elementos da interface do usuário podem estar relacionados ou representar as funções do navegador da web.
[079] Formas de realização da presente invenção descrita no presente relatório descritivo podem ser implementadas em um sistema de computação que inclui um componente back-end, por exemplo, como um servidor de dados, ou que inclui um componente middleware, por exemplo, um servidor de aplicativos, ou que inclui um componente front-end, por exemplo, um computador usuário com uma interface gráfica do usuário ou um navegador da Web através do qual um usuário pode interagir com uma forma de realização da presente invenção descrita neste relatório descritivo, ou qualquer combinação de um ou mais desses componentes back-end, middleware ou front-end. Os componentes do sistema podem ser interconectados por qualquer forma ou meio de comunicação de dados digitais com fio ou sem fio (ou uma combinação de comunicação de dados), por exemplo, uma rede de comunicação. Exemplos de redes de comunicação incluem uma rede de área local (LAN), uma rede de acesso por rádio (RAN), uma rede de área metropolitana (MAN), uma rede de longa distância (WAN), interoperabilidade mundial para acesso de microondas (WIMAX), uma rede de área local sem fio (WLAN) usando, por exemplo, 802.(11) a/ b/ g/ ou 802.(20) (ou uma combinação de 802.11x e 802.20 ou outros protocolos consistentes com esta invenção), todos ou parte da Internet, ou qualquer outro sistema de comunicação ou sistemas em um ou mais locais (ou uma combinação de redes de comunicação). A rede pode se comunicar, por exemplo, com pacotes IP (Internet Protocol), quadros Frame Relay, células ATM (Modo de Transferência Assíncrona), voz, vídeo, dados ou outras informações adequadas (ou uma combinação de tipos de comunicação) entre endereços de rede.
[080] O sistema de computação pode incluir usuários e servidores. Um usuário e um servidor geralmente são remotos entre si e geralmente interagem através de uma rede de comunicação. A relação de usuário e servidor surge em virtude de programas de computador sendo executados nos respectivos computadores e tendo um relacionamento usuário- servidor entre si.
[081] Enquanto este relatório descritivo contém muitos detalhes de forma de realização, estes não devem ser interpretados como limitações no escopo de qualquer invenção ou no escopo do que pode ser reivindicado, mas sim como descrições de características que podem ser específicas para formas de realização específicas de invenções particulares. Certas características descritas neste relatório descritivo no contexto de formas de realização separadas também podem ser implementadas, em combinação, em uma única forma de realização. Por outro lado, várias características descritas no contexto de uma única forma de realização também podem ser implementadas em várias formas de realização, separadamente ou em qualquer sub-combinação adequada. Além disso, embora as características descritas anteriormente possam ser descritas como agindo em certas combinações e até mesmo inicialmente reivindicadas como tal, uma ou mais características de uma combinação reivindicada pode, em alguns casos, ser removida da combinação, e a combinação reivindicada pode ser direcionada a uma sub-combinação ou variação de uma sub-combinação.
[082] Formas de realização particulares da presente invenção foram descritas. Outras formas de realização, alterações e permutações das formas de realização descritas estão dentro do escopo das reivindicações seguintes, como será evidente para os técnicos no assunto. Embora as operações estejam representadas nos desenhos ou reivindicações em uma ordem específica, isso não deve ser entendido como exigindo que tais operações sejam executadas na ordem particular mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam realizadas (algumas operações podem ser consideradas opcionais), para alcançar resultados desejáveis. Em determinadas circunstâncias, o processamento multitarefa ou paralelo (ou uma combinação de processamento multitarefa e paralelo) pode ser vantajoso e executado conforme apropriado.
[083] Além disso, a separação ou integração de vários módulos e componentes do sistema nas formas de realização descritas anteriormente não deve ser entendida como exigindo tal separação ou integração em todas as formas de realização, e deve ser entendido que os componentes e sistemas do programa descritos geralmente podem ser integrados em conjunto em um único item de software ou empacotados em vários itens de software.
[084] Consequentemente, os exemplos de formas de realização descritos anteriormente não definem ou restringe esta invenção. Outras mudanças, substituições e alterações também são possíveis sem se afastar do do escopo desta invenção.
[085] Além disso, qualquer forma de realização reivindicada é considerada aplicável a pelo menos um método implementado por computador; um meio não transitório, legível por computador, que armazene instruções legíveis por computador para realizar o método implementado por computador; e um sistema de computação incluindo uma memória de computador acoplado de forma interoperacional a um processador de hardware configurado para realizar o modo implementado por computador ou as instruções armazenadas no meio transitório, legível por computador.

Claims (20)

REIVINDICAÇÕES
1. MÉTODO IMPLEMENTADO POR COMPUTADOR (400), caracterizado pelo fato de que compreende as etapas de: identificar (402), através de uma plataforma de classificação e de recomendação de itens, dados de classificação compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários; identificar (404), através da plataforma de classificação e de recomendação de itens, dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários; receber (408), de uma plataforma de rede social pela plataforma de classificação e de recomendação de itens por meio de um esquema de compartilhamento secreto com um inicializador de confiança, dados de rede social manipulados calculados com base em dados de rede social e dados de entrada do inicializador de confiança, em que os dados de rede social indicam relações sociais entre quaisquer dois dentre a pluralidade de usuários, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social; e atualizar (412), através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário com base nos dados de classificação (516) e nos dados de rede social manipulados (528).
2. MÉTODO IMPLEMENTADO POR COMPUTADOR (400), de acordo com a reivindicação 1, caracterizado pelo fato de que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de classificação e de recomendação de itens compartilha com a plataforma de rede social dados de característica do usuário manipulados sem divulgar os dados de característica do usuário e em que os dados de característica do usuário manipulados são calculados com base nos dados de característica do usuário e no segundo dado de entrada a partir do inicializador de confiança.
3. MÉTODO IMPLEMENTADO POR COMPUTADOR (400), de acordo com a reivindicação 2, caracterizado pelo fato de que compreende ainda, no esquema de compartilhamento secreto com o inicializador de confiança, as etapas de: obter, através da plataforma de classificação e de recomendação de itens, o segundo dado de entrada a partir do inicializador de confiança; gerar, através da plataforma de classificação e de recomendação de itens, o primeiro dado de característica do usuário manipulado com base nos dados de característica do usuário e o segundo dado de entrada a partir do inicializador de confiança; transmitir, através da plataforma de classificação e de recomendação de itens para a plataforma de rede social, o primeiro dado de característica do usuário manipulado; receber, através da plataforma de classificação e de recomendação de itens da plataforma de rede social, o primeiro dado de rede social manipulado calculados com base nos dados da rede social e primeiro dado de entrada a partir do inicializador de confiança; gerar, através da plataforma de classificação e de recomendação de itens, uma pluralidade de dados intermediários com base em dois ou mais do primeiro dado de característica do usuário manipulado, o primeiro dado de rede social manipulado ou o segundo dado de entrada a partir do inicializador de confiança; transmitir, através da plataforma de classificação e de recomendação de itens para a plataforma de rede social, pluralidade de dados intermediários; receber, através da plataforma de classificação e de recomendação de itens da plataforma de rede social, uma pluralidade de dados de rede social intermediários calculados com base em dois ou mais dados de característica do usuário manipulados, o primeiro dado de rede social manipulado ou o primeiro dado de entrada a partir do inicializador de confiança; e gerar, através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário manipulados com base em dois ou mais da pluralidade de dados intermediários, a pluralidade de dados de rede social intermediários ou o segundo dado de entrada a partir do inicializador de confiança.
4. MÉTODO IMPLEMENTADO POR COMPUTADOR (400), de acordo com a reivindicação 2, caracterizado pelo fato de que a atualização dos dados de característica do usuário compreende o cálculo de um produto dos dados de característica do usuário e os dados da rede social calculando uma soma dos dados de característica do usuário manipulados e os dados de rede social manipulados.
5. MÉTODO IMPLEMENTADO POR COMPUTADOR (400), de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda as etapas de: Identificação (406) de dados de característica do item compreendendo uma pluralidade de características de item contribuindo para as respectivas classificações da pluralidade de itens em relação à pluralidade de usuários, em que um produto dos dados de característica do usuário e os dados de característica do item resultam em uma estimativa dos dados de classificação (526); e atualizar (414) os dados das características de item com base nos dados de classificação (526) e nos dados de característica do usuário.
6. MÉTODO IMPLEMENTADO POR COMPUTADOR (400), de acordo com a reivindicação 5, caracterizado pelo fato de que compreende ainda as etapas de: gerar (416) dados de classificação previstos da pluralidade de itens em relação à pluralidade de usuários com base no produto dos dados de característica do usuário e nos dados de característica do item; e gerar (418) uma recomendação de um item específico para um usuário específico com base nos dados de classificação previstos.
7. MÉTODO IMPLEMENTADO POR COMPUTADOR (400), de acordo com a reivindicação 6, caracterizado pelo fato de que a atualização dos dados de característica do usuário compreende a resolução de um problema de otimização para minimizar uma soma ponderada de uma diferença entre os dados de classificação previstos e os dados de classificação (516), os dados de característica do usuário ponderados pelos dados da rede social, e um termo de prevenção de sobreajustamento (overfitting).
8. MÉTODO IMPLEMENTADO POR COMPUTADOR (400), de acordo com a reivindicação 7, caracterizado pelo fato de que resolve um problema de otimização compreendendo a solução da seguinte equação: em que: Ui representa um vetor dos dados de característica do usuário correspondente ao usuário i; Vj representa um vetor dos dados de característica do item correspondente ao item j;
Rij representa uma classificação do item j pelo usuário i; Sik representa uma relação social entre usuário i e usuário k; λ1 representa um peso predefinido associado aos dados da rede social; e λ2 representa um peso predefinido para evitar sobreajustamento.
9. MEIO LEGÍVEL POR COMPUTADOR, caracterizado pelo fato de que armazena uma ou mais instruções executáveis por um sistema de computador para executar operações que incluem: identificar (402), através de uma plataforma de classificação e de recomendação de itens, dados de classificação (516) compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários; identificar (404), através da plataforma de classificação e de recomendação de itens, dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários; receber (408), de uma plataforma de rede social pela plataforma de classificação e de recomendação de itens por meio de um esquema de compartilhamento secreto com um inicializador de confiança, dados de rede social manipulados calculados com base em dados de rede social e primeiro dado de entrada a partir do inicializador de confiança, em que os dados de rede social indicam relações sociais entre quaisquer dois dentre a pluralidade de usuários, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social; e atualizar (412), através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário com base nos dados de classificação (518) e nos dados de rede social manipulados.
10. MEIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 9, caracterizado pelo fato de que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de classificação e de recomendação de itens compartilha com a plataforma de rede social dados de característica do usuário manipulados sem divulgar os dados de característica do usuário e em que os dados de característica do usuário manipulados são calculados com base nos dados de característica do usuário e no segundo dado de entrada a partir do inicializador de confiança.
11. MEIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 9, caracterizado pelo fato de que as operações compreendem, ainda, no esquema de compartilhamento secreto com o inicializador de confiança: obter, através da plataforma de classificação e de recomendação de itens, o segundo dado de entrada a partir do inicializador de confiança; gerar, através da plataforma de classificação e de recomendação de itens, o primeiro dado de característica do usuário manipulado com base nos dados de característica do usuário e o segundo dado de entrada a partir do inicializador de confiança; transmitir, através da plataforma de classificação e de recomendação de itens para a plataforma de rede social, o primeiro dado de característica do usuário manipulados; receber, através da plataforma de classificação e de recomendação de itens da plataforma de rede social, o primeiro dado de rede social manipulado calculados com base nos dados da rede social e primeiro dado de entrada a partir do inicializador de confiança; gerar, através da plataforma de classificação e de recomendação de itens, uma pluralidade de dados intermediários com base em dois ou mais do primeiro dado de característica do usuário manipulado, o primeiro dado de rede social manipulado ou o segundo dado de entrada a partir do inicializador de confiança; transmitir, através da plataforma de classificação e de recomendação de itens para a plataforma de rede social, pluralidade de dados intermediários; receber, através da plataforma de classificação e de recomendação de itens da plataforma de rede social, uma pluralidade de dados de rede social intermediários calculados com base em dois ou mais dados de característica do usuário manipulados, o primeiro dado de rede social manipulado ou o primeiro dado de entrada a partir do inicializador de confiança; e gerar, através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário manipulados com base em dois ou mais da pluralidade de dados intermediários, a pluralidade de dados de rede social intermediários ou o segundo dado de entrada a partir do inicializador de confiança.
12. MEIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 10, caracterizado pelo fato de que a atualização dos dados de característica do usuário compreende o cálculo de um produto dos dados de característica do usuário e os dados da rede social calculando uma soma dos dados de característica do usuário manipulados e os dados de rede social manipulados.
13. MEIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 9, caracterizado pelo fato de que as operações compreendem ainda: identificação de dados de característica do item compreendendo uma pluralidade de características de item contribuindo para as respectivas classificações da pluralidade de itens em relação à pluralidade de usuários, em que um produto dos dados de característica do usuário e os dados de característica do item resultam em uma estimativa dos dados de classificação (526); e atualizar os dados das características de item com base nos dados de classificação (526) e nos dados de característica do usuário.
14. MEIO LEGÍVEL POR COMPUTADOR, de acordo com a reivindicação 10, caracterizado pelo fato de que compreende ainda: gerar (416) dados de classificação (526) previstos da pluralidade de itens em relação à pluralidade de usuários com base no produto dos dados de característica do usuário e nos dados de característica do item; e gerar (418) uma recomendação de um item específico para um usuário específico com base nos dados de classificação previstos.
15. SISTEMA (500) IMPLEMENTADO POR COMPUTADOR, caracterizado pelo fato de que compreende: um ou mais computadores; e um ou mais dispositivos de memória (507) de computador interoperáveis acoplados com o um ou mais computadores e tendo instruções de armazenamento de mídia tangíveis, não transitórias, legíveis por máquina, que quando executadas por um ou mais computadores, executam operações compreendendo: identificar (402), através de uma plataforma de classificação e de recomendação de itens, dados de classificação (516) compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários; identificar (404), através da plataforma de classificação e de recomendação de itens, dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários; receber (408), de uma plataforma de rede social pela plataforma de classificação e de recomendação de itens por meio de um esquema de compartilhamento secreto com um inicializador de confiança, dados de rede social manipulados calculados com base em dados de rede social e dados de entrada do inicializador de confiança, em que os dados de rede social indicam relações sociais entre quaisquer dois dentre a pluralidade de usuários, em que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de rede social compartilha com a plataforma de classificação e de recomendação de itens os dados de rede social manipulados sem divulgar os dados da rede social; e atualizar (412), através da plataforma de classificação e de recomendação de itens, os dados de característica do usuário com base nos dados de classificação (518) e nos dados de rede social manipulados.
16. SISTEMA IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 15, caracterizado pelo fato de que, no esquema de compartilhamento secreto com o inicializador de confiança, a plataforma de classificação e de recomendação de itens compartilha com a plataforma de rede social dados de característica do usuário manipulados sem divulgar os dados de característica do usuário e em que os dados de característica do usuário manipulados são calculados com base nos dados de característica do usuário e no segundo dado de entrada a partir do inicializador de confiança, em que a atualização dos dados de característica do usuário compreende o cálculo de um produto dos dados de característica do usuário e os dados da rede social calculando uma soma dos dados de característica do usuário manipulados e os dados de rede social manipulados.
17. SISTEMA IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 15, caracterizado pelo fato de que as operações compreendem ainda: identificação (406) de dados de característica do item compreendendo uma pluralidade de características de item contribuindo para as respectivas classificações da pluralidade de itens em relação à pluralidade de usuários, em que um produto dos dados de característica do usuário e os dados de característica do item resultam em uma estimativa dos dados de classificação (516); e atualizar (414) os dados das características de item com base nos dados de classificação (516) e nos dados de característica do usuário.
18. SISTEMA IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 17, caracterizado pelo fato de que as operações compreendem ainda: gerar (416) dados de classificação previstos da pluralidade de itens em relação à pluralidade de usuários com base no produto dos dados de característica do usuário e nos dados de característica do item; e gerar (418) uma recomendação de um item específico para um usuário específico com base nos dados de classificação previstos.
19. SISTEMA IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 18, caracterizado pelo fato de que a atualização dos dados de característica do usuário compreende a resolução de um problema de otimização para minimizar uma soma ponderada de uma diferença entre os dados de classificação previstos e os dados de classificação (516), os dados de característica do usuário ponderados pelos dados da rede social, e um termo de prevenção de sobreajustamento.
20. SISTEMA IMPLEMENTADO POR COMPUTADOR, de acordo com a reivindicação 19, caracterizado pelo fato de que resolve um problema de otimização compreendendo a solução da seguinte equação:
em que:
Ui representa um vetor dos dados de característica do usuário correspondente ao usuário i;
Vj representa um vetor dos dados de característica do item correspondente ao item j;
Rij representa uma classificação do item j pelo usuário i;
Sik representa uma relação social entre usuário i e usuário k;
λ1 representa um peso predefinido associado aos dados da rede social; e λ2 representa um peso predefinido para evitar sobreajustamento.
Petição 870200121520, de 28/09/2020, pág. 59/64 Plataforma A Plataforma B 1/5
Usuário Ui - - Produto Vj Usuário Ui - - Usuário Uk Dados de classificação R Dados de rede social S
Figura 1
Plataforma A Usuário Ui - - Produto Vj Plataforma B Dados de classificação R Dados de característica de Usuário Ui - - Usuário Uk usuário U Dados de rede social S Dados de característica de produto V Iterações máximas T
Para t < T Para t < T Atualizar o dado da Esquema de característica de usuário U compartilhamento secreto e o dado da característica com um inicializador de de produto V usando as confiança U*diag(S*IM) e Equações (3) e (4) U*S
Gerar recomendações com base em U e V
Figura 2
Inicializador Plataforma A Plataforma B de confiança
Obter A Obter B
Gerar A1 Gerar B1
Calcular Calcular
Calcular Calcular
Calcular Calcular
Calcular Calcular
Calcular Calcular
Calcular Calcular
Figura 3 identificar, através de uma plataforma de classificação e de recomendação de itens, dados de classificação compreendendo respectivas classificações de uma pluralidade de itens em relação a uma pluralidade de usuários identificar dados de característica do usuário compreendendo uma pluralidade de características do usuário contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários identificar dados de característica do item compreendendo uma pluralidade de características do item contribuindo para as respectivas classificações da pluralidade de itens em relação a pluralidade de usuários receber dados de rede social manipulados a partir de uma plataforma de rede social, por meio de um esquema de compartilhamento secreto com um inicializador de confiança enviar dados de rede social manipulados para a plataforma de rede social, sem revelar os dados de característica do usuário atualizar os dados de característica do usuário com base nos dados de classificação e nos dados de rede social manipulados atualizar os dados de característica do item com base nos dados de classificação e nos dados de característica do usuário gerar dados de classificação previstos da pluralidade de itens em relação à pluralidade de usuários com base no item dos dados de característica do usuário e nos dados de característica do item gerar uma recomendação de um item específico para um usuário específico com base nos dados de classificação previstos
Figura 4
Rede Interface Processador Base de dados Memória Dados de classificação Aplicação Dados de classif. de usuário
API Dados de classif. de item Camada de serviço Dados de rede social manipulado Fonte de energia Figura 5
BR112019008110-0A 2018-10-17 2018-10-17 método implementado por computador, meio legível por computador e sistema implementado por computador BR112019008110A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/110700 WO2020077576A1 (en) 2018-10-17 2018-10-17 Secret sharing with a trusted initializer

Publications (1)

Publication Number Publication Date
BR112019008110A2 true BR112019008110A2 (pt) 2021-05-18

Family

ID=68112765

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019008110-0A BR112019008110A2 (pt) 2018-10-17 2018-10-17 método implementado por computador, meio legível por computador e sistema implementado por computador

Country Status (14)

Country Link
US (1) US10672058B2 (pt)
EP (1) EP3659049A1 (pt)
JP (1) JP6799151B1 (pt)
KR (1) KR102220086B1 (pt)
CN (1) CN110325996B (pt)
AU (1) AU2018353931B2 (pt)
BR (1) BR112019008110A2 (pt)
CA (1) CA3040681C (pt)
MX (1) MX2019004665A (pt)
PH (1) PH12019500994A1 (pt)
RU (1) RU2721474C1 (pt)
SG (1) SG11201903590VA (pt)
WO (1) WO2020077576A1 (pt)
ZA (1) ZA201902489B (pt)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112163159A (zh) * 2020-10-09 2021-01-01 北京百度网讯科技有限公司 资源推荐和参数确定方法、装置、设备及介质
IL280056A (en) 2021-01-10 2022-08-01 Google Llc Using secure mpc and vector computations to protect access to information in content distribution
IL281328A (en) 2021-03-08 2022-10-01 Google Llc Flexible content selection processes through multi-sided secure calculation
EP4097619A1 (en) 2021-04-09 2022-12-07 Google LLC Processing of machine learning modeling data to improve accuracy of categorization
CN113343218B (zh) * 2021-08-03 2022-01-21 深圳市知酷信息技术有限公司 一种基于互联网在线文档的数据安全共享平台

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090197681A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation System and method for targeted recommendations using social gaming networks
WO2013005189A2 (en) * 2011-07-07 2013-01-10 Serena F David Social network graph inference and aggregation with portability, protected shared content, and application programs spanning multiple social networks
US9536268B2 (en) * 2011-07-26 2017-01-03 F. David Serena Social network graph inference and aggregation with portability, protected shared content, and application programs spanning multiple social networks
CN104170519A (zh) * 2011-12-19 2014-11-26 英特尔公司 智能设备辅助的商务
US10311403B2 (en) * 2012-06-04 2019-06-04 Apple Inc. Providing feedback via a social network from a media distribution platform
CN103106285B (zh) * 2013-03-04 2017-02-08 中国信息安全测评中心 一种基于信息安全专业社交网络平台的推荐算法
CN104796475B (zh) * 2015-04-24 2018-10-26 苏州大学 一种基于同态加密的社会化推荐方法
US10171859B2 (en) * 2015-06-03 2019-01-01 Blab Ventures Llc Systems, media, and methods for providing an algorithmically sorted watchlist or wishlist
US20160381158A1 (en) * 2015-06-29 2016-12-29 Google Inc. Automatic Invitation Delivery System
US10554611B2 (en) * 2015-08-10 2020-02-04 Google Llc Privacy aligned and personalized social media content sharing recommendations
CN105138664B (zh) * 2015-09-02 2019-03-22 中国地质大学(武汉) 一种隐私保护的大数据推荐方法及系统
CN105677701A (zh) * 2015-12-24 2016-06-15 苏州大学 一种基于不经意传输的社会化推荐方法
RU2613530C1 (ru) * 2016-04-19 2017-03-16 Игорь Юрьевич Скворцов Самонастраивающаяся интерактивная система, способ и считываемый компьютером носитель данных обмена комментариями между пользователями
US10127191B2 (en) * 2016-04-28 2018-11-13 International Business Machines Corporation System, method, and recording medium for differentiated and partial feature update in alternating least square
WO2017200510A1 (ru) * 2016-05-18 2017-11-23 Евгэн Мыхайловыч ВЫСОЦЬКЫЙ Обработка персональных и совокупных предпочтений пользователей (варианты)
US10795952B2 (en) * 2017-01-05 2020-10-06 Microsoft Technology Licensing, Llc Identification of documents based on location, usage patterns and content
RU2649797C1 (ru) * 2017-06-14 2018-04-04 Общество С Ограниченной Ответственностью "Центр Разработки И Внедрения Инновационных Технологий" Интерактивная система, способ и считываемый компьютером носитель данных представления рекламного контента
RU2666336C1 (ru) * 2017-08-01 2018-09-06 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для рекомендации медиаобъектов

Also Published As

Publication number Publication date
CA3040681C (en) 2020-08-18
CN110325996B (zh) 2022-12-20
RU2721474C1 (ru) 2020-05-19
SG11201903590VA (en) 2020-05-28
AU2018353931A1 (en) 2020-05-07
CN110325996A (zh) 2019-10-11
WO2020077576A1 (en) 2020-04-23
JP2021501920A (ja) 2021-01-21
ZA201902489B (en) 2021-05-26
US10672058B2 (en) 2020-06-02
MX2019004665A (es) 2021-03-25
EP3659049A4 (en) 2020-06-03
PH12019500994A1 (en) 2020-01-20
KR102220086B1 (ko) 2021-03-02
JP6799151B1 (ja) 2020-12-09
KR20200045440A (ko) 2020-05-04
US20200126143A1 (en) 2020-04-23
AU2018353931B2 (en) 2021-02-25
CA3040681A1 (en) 2020-04-17
EP3659049A1 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
KR102150816B1 (ko) 신뢰할 수 있는 이니셜라이저 없는 비밀 공유
BR112019008110A2 (pt) método implementado por computador, meio legível por computador e sistema implementado por computador
KR102358823B1 (ko) 투명한 자원 매칭
CN115943394A (zh) 用于安全纵向联邦学习的方法、装置和系统
US11010783B2 (en) Matching products with service scenarios
JP7229148B2 (ja) プライバシーを保護しながら分散された顧客データ上で機械学習すること
US20200394534A1 (en) Multi task oriented recommendation system for benchmark improvement
US11030628B2 (en) Success rate of an online transaction
US10484342B2 (en) Accuracy and security of data transfer to an online user account
US20220172103A1 (en) Variable structure reinforcement learning
Wu et al. Bayesian stochastic configuration networks for robust data modeling
Mercy et al. Genetic algorithm-based optimal resource trust line prediction in cloud computing
Muminov et al. On the discrete spectrum of a model operator in fermionic Fock space
US20210241231A1 (en) Automatic Assignment of Tasks to Users in Collaborative Projects
Zhou et al. A dynamic trust evaluation mechanism based on affective intensity computing
Nasser Convergence of Numerical Solution of Generalized Theodorsen’s Nonlinear Integral Equation

Legal Events

Date Code Title Description
B25B Requested transfer of rights rejected

Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY)

Free format text: INDEFERIDO O PEDIDO DE TRANSFERENCIA CONTIDO NA PETICAO 870200160055 DE 22/12/2020, EM VIRTUDE DO PEDIDO JA ESTAR EM NOME DO INTERESSADO FINAL.

B25B Requested transfer of rights rejected

Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY)

Free format text: INDEFERIDO O PEDIDO DE TRANSFERENCIA CONTIDO NA PETICAO 870200160554 DE 23/12/2020, EM VIRTUDE DO PEDIDO JA ESTAR EM NOME DO INTERESSADO.

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B12B Appeal against refusal [chapter 12.2 patent gazette]