CN115766253A - 用于内容准个性化的低熵浏览历史 - Google Patents

用于内容准个性化的低熵浏览历史 Download PDF

Info

Publication number
CN115766253A
CN115766253A CN202211463304.2A CN202211463304A CN115766253A CN 115766253 A CN115766253 A CN 115766253A CN 202211463304 A CN202211463304 A CN 202211463304A CN 115766253 A CN115766253 A CN 115766253A
Authority
CN
China
Prior art keywords
content
client device
application
identifier
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211463304.2A
Other languages
English (en)
Inventor
迈克尔·S·克莱贝尔
王刚
丹尼尔·罗伯特·拉梅奇
查尔斯·谢弗·哈里森
乔希·福雷斯特·卡林
马塞尔·M·M·容
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/535,912 external-priority patent/US11194866B2/en
Priority claimed from US16/698,548 external-priority patent/US11423441B2/en
Application filed by Google LLC filed Critical Google LLC
Publication of CN115766253A publication Critical patent/CN115766253A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/55Detecting local intrusion or implementing counter-measures
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开涉及用于内容准个性化的低熵浏览历史。本公开提供了用于经由诸如数百万或数十亿个设备之类的多个设备的聚合的浏览历史来进行内容准个性化或匿名化内容检索的系统和方法。稀疏矩阵可以从聚合的浏览历史中构建,并且在维度上减小,从而减小熵并且为各个设备提供匿名性。可以经由用于表示相似浏览历史的准个性化聚类来选择相关内容,而无需将各个设备细节暴露于内容提供者。

Description

用于内容准个性化的低熵浏览历史
分案说明
本申请属于申请日为2020年3月31日的中国发明专利申请202080006300.4的分案申请。
相关申请的交叉引用
本申请要求于2019年11月27日提交的发明名称为“Low Entropy BrowsingHistory for Content Quasi-Personalization”(用于内容准个性化的低熵浏览历史)的美国专利申请No.16/698,548的优先权,该美国专利申请要求于2019年8月8日提交的发明名称为“Low Entropy Browsing History for Content Quasi-Personalization”(用于内容准个性化的低熵浏览历史)的美国专利申请No.16/535,912以及于2019年8月16日提交的发明名称为“Low Entropy Browsing History for Content Quasi-Personalization”(用于内容准个性化的低熵浏览历史)的美国专利申请No.62/887,902的优先权,上述美国专利申请的每一个都通过引用将其全部内容并入本文。
技术领域
本公开涉及用于内容准个性化的低熵浏览历史。
背景技术
在诸如互联网的计算机联网环境中,内容提供者可以提供要插入到由在客户端设备上执行的应用(例如,web浏览器)所处理和渲染的信息资源(例如,网页)中的内容项。
个性化内容递送通常基于捕获用户和/或设备的标识信息,诸如所述设备的浏览或访问历史。但是,这可能导致收集可分别跟踪的数据,使用户面临潜在安全风险并且消耗过多的计算资源。
发明内容
本文所讨论的系统和方法经由诸如数百万或数十亿个设备的大量设备的聚合浏览历史来提供内容准个性化或匿名化内容检索。稀疏矩阵可以从聚合浏览历史构建,并且在维度上减小,以减小熵并且为各个设备提供匿名性。可以经由用于表示相似浏览历史的准个性化聚类来选择相关内容,而无需将各个设备详细信息暴露给内容提供者。
在一个方面,本公开针对一种用于匿名化内容检索的方法。该方法包括由计算设备的浏览器应用来基于所述计算设备的浏览历史生成简档。该方法还包括通过浏览器应用将所述简档编码为n维向量。该方法还包括由浏览器应用根据n维向量来计算降维向量。该方法还包括由浏览器应用确定与降维向量相对应的第一聚类。该方法还包括由浏览器应用向内容服务器传送对内容项的请求,该请求包括第一聚类的标识。该方法还包括由浏览器应用从内容服务器中接收根据第一聚类的标识所选择的内容项。
在一些实施方式中,该方法包括通过从计算设备的用户的浏览历史的日志标识在预定时间段内对多个地址中的每一个地址的访问次数,来生成基于该浏览历史的简档。在一些实施方式中,该方法包括生成具有用于表示如下的值的字符串:在预定时间段内对与该字符串中的对应位置相关联的地址的一个或多个访问中的每一个。
在一些实施方式中,该方法包括执行n维向量的奇异值分解。在另一实施方式中,该方法包括从第二计算设备接收奇异值分解的奇异向量集合。在又一实施方式中,该方法包括将n维向量传送到第二计算设备,该第二计算设备基于所述计算设备的n维向量和至少一个其它计算设备的n维向量的聚合来计算所述奇异向量集合。
在一些实施方式中,该方法包括从第二计算设备接收多个聚类中的每个聚类的边界。在另一实施方式中,该方法包括响应于降维向量在第一聚类的边界内而选择所述多个聚类中的第一聚类。
在一些实施方式中,该方法包括由浏览器应用从第二计算设备接收基于该计算设备的n维向量和至少一个其它计算设备的n维向量的聚合而确定的神经网络模型的权重;通过浏览器应用的机器学习系统,将神经网络模型应用于降维向量,以生成对预定聚类集合的排名;并且通过浏览器应用来选择第一聚类作为预定聚类集合中的排名最高的聚类。
在另一方面,本公开针对一种用于匿名化内容检索的方法。该方法包括由服务器计算设备从多个客户端计算设备中的每个客户端计算设备接收基于相应的客户端计算设备的浏览历史的简档,每个简档包括n维向量。该方法还包括由所述服务器计算设备将多个简档的多个n维向量聚合为矩阵。该方法还包括由所述服务器计算设备来计算所述矩阵的奇异值分解以生成奇异值集合。该方法还包括由服务器计算设备向多个客户端计算设备中的每一个客户端计算设备和至少一个内容提供者设备传送所述奇异值集合。
在一些实施方式中,该方法包括由服务器计算设备确定所述矩阵的聚类集合中的每个聚类的边界。在另一实施方式中,该方法包括由服务器计算设备向多个客户端计算设备中的每一个客户端计算设备和至少一个内容提供者设备传送所述矩阵的聚类集合中的每个聚类的边界。
在一些实施方式中,该方法包括由所述服务器计算设备从所述矩阵经由神经网络模型来标识聚类集合中的每个聚类。在另一实施方式中,该方法包括将神经网络模型的权重传送到多个客户端计算设备中的每一个客户端计算设备和至少一个内容提供者设备。
在另一方面,本公开针对一种用于匿名化内容检索的系统。该系统包括:计算设备,该计算设备包括与内容服务器通信的网络接口;存储器,该存储器存储该计算设备的浏览历史;以及浏览器应用。所述浏览器应用被配置为:生成基于所述计算设备的浏览历史的简档;以及将所述简档编码为n维向量;根据所述n维向量计算降维向量;确定对应于所述降维向量的第一聚类;经由网络接口向内容服务器传送对内容项的请求,该请求包括第一聚类的标识;并且经由所述网络接口从内容服务器接收根据所述第一聚类的标识所选择的内容项。
在一些实施方式中,浏览器应用还被配置为生成具有值的字符串,该值表示在预定时间段内对与该字符串中的对应位置相关联的地址的一个或多个访问中的每一个。在一些实施方式中,浏览器应用还被配置为执行n维向量的奇异值分解。在另一实施方式中,浏览器应用还被配置为经由网络接口从第二计算设备接收所述奇异值分解的奇异向量集合。在又一个实施方式中,浏览器应用还被配置为经由网络接口将n维向量传送到第二计算设备,该第二计算设备基于所述计算设备的n维向量和至少一个其它计算设备的n维向量的聚合来计算所述奇异向量集合。
在一些实施方式中,浏览器应用还被配置为经由网络接口从第二计算设备接收基于所述计算设备的n维向量和至少一个其它计算设备的n维向量的聚合而确定的神经网络模型的权重;将所述神经网络模型应用于降维向量,以生成对预定聚类集合的排名;并且选择第一聚类作为所述预定聚类集合中的排名最高的聚类。
至少一个方面涉及一种编码用于内容选择的标识符的方法。在客户端设备上执行的第一应用可以标识在客户端设备上维护的浏览历史。浏览历史可以记录由客户端设备经由第一应用所访问的信息资源。第一应用可以将分类模型应用于所述第一应用的浏览历史,以标识用于将第一应用分类到其中的类别。第一应用可以将所述第一应用分配给与所标识的类别相对应的类别标识符。用于第一应用的类别标识符可以与用于第二应用的类别标识符相同。第一应用可以从内容发布者设备接收信息资源,该信息资源包括主要内容和可用于从内容选择服务接收内容的内容槽。第一应用可以针对所述信息资源的所述内容槽生成对内容的请求,所述对内容的请求包括用于所述第一应用的所述类别标识符。第一应用可以向所述内容选择服务传送所述对内容的请求。所述内容选择服务可以使用用于所述第一应用和用于所述第二应用的类别标识符,以选择内容项以插入到所述信息资源的所述内容槽中。
在一些实施方式中,第一应用可以从应用管理器服务接收参数集合,以更新用于将应用分类到多个类别之一中的分类模型。在一些实施方式中,第一应用可以基于从应用管理器服务接收到的参数集合来修改在客户端设备上维护的分类模型。在一些实施方式中,第一应用可以与在相应的多个客户端设备上执行的多个应用系统协同地通过使用分布式学习协议来训练在客户端设备上维护的分类模型。
在一些实施方式中,第一应用可以通过使用降维过程根据从所述客户端设备标识出的所述浏览历史来生成简化的特征向量集合,所述特征向量在文件大小方面小于所述浏览历史。在一些实施方式中,应用所述分类模型可以包括将所述分类模型应用于从浏览历史生成的简化的特征向量集合。
在一些实施方式中,第一应用可以根据标识符分配策略来确定将所述分类模型应用于浏览历史。在一些实施方式中,应用分类模型可以包括:响应于确定将根据标识符分配策略来应用分类模型,而应用分类模型。
在一些实施方式中,应用分类模型可以包括应用分类模型以从多个类别中标识类别。多个类别中的每个类别可以具有要分类到该类别的至少预定数量的客户端。在一些实施方式中,将第一应用分配给类别标识符还可以包括将第一应用分配给多个类别标识符中的类别标识符。每个类别标识符可以对应于多个类别中的一个类别。
在一些实施方式中,生成对内容的请求可以包括:在没有与和第一应用相关联的账户、第一应用或者由内容选择服务提供的客户端设备相对应的唯一跟踪标识符的情况下,生成对内容的请求。在一些实施方式中,生成对内容的请求可以包括:生成包括安全cookie的对内容的请求以通过与内容选择服务的连接进行传输。安全cookie可以具有用于第一应用的类别标识符。在一些实施方式中,标识浏览历史可以包括:在其中应用所述分类模型的预定时间范围内标识所述浏览历史。
至少一个方面针对一种用于编码用于内容选择的标识符的系统。该系统可以包括在具有一个或多个处理器的客户端设备上可执行的第一应用。在客户端设备上执行的第一应用可以标识在所述客户端设备上维护的浏览历史。浏览历史可以记录由所述客户端设备经由第一应用访问的信息资源。第一应用可以将分类模型应用于所述第一应用的浏览历史,以标识用于将第一应用分类到其中的类别。第一应用可以将第一应用分配给与所标识的类别相对应的类别标识符。用于第一应用的类别标识符可以与用于第二应用的类别标识符相同。第一应用可以从内容发布者设备接收信息资源,该信息资源包括主要内容和可用于从内容选择服务接收内容的内容槽。第一应用可以针对所述信息资源的所述内容槽生成对内容的请求,所述对内容的请求包括用于所述第一应用的所述类别标识符。第一应用可以向所述内容选择服务传送所述对内容的请求。所述内容选择服务可以使用用于所述第一应用和用于所述第二应用的类别标识符,以选择内容项以插入到所述信息资源的所述内容槽中。
在一些实施方式中,第一应用可以从应用管理器服务接收用于更新分类模型的参数集合,所述分类模型用于将应用分类到多个类别中的一个类别。在一些实施方式中,第一应用可以基于从应用管理器服务接收到的参数集合来修改在客户端设备上维护的分类模型。在一些实施方式中,第一应用可以与在相应的多个客户端设备上执行的多个应用系统协同地通过使用分布式学习协议来训练在客户端设备上维护的分类模型。
在一些实施方式中,第一应用可以使用降维过程根据从所述客户端设备标识出的所述浏览历史来生成简化的特征向量集合,所述特征向量在文件大小方面小于所述浏览历史。在一些实施方式中,第一应用可以将分类模型应用于从浏览历史生成的简化的特征向量集合。
在一些实施方式中,第一应用可以根据标识符分配策略确定将分类模型应用于浏览历史。在一些实施方式中,第一应用可以响应于确定要根据标识符分配策略来应用分类模型,来应用分类模型。
在一些实施方式中,第一应用可以应用分类模型以从多个类别中标识所述类别。多个类别中的每个类别可以具有要分类到该类别中的至少预定数量的客户端。在一些实施方式中,第一应用可以将第一应用分配给多个类别标识符中的类别标识符。每个类别标识符可以对应于多个类别之一。
在一些实施方式中,第一应用在没有与和第一应用相关联的账户、第一应用或者由内容选择服务提供的客户端设备相对应的唯一跟踪标识符的情况下,生成对内容的请求。在一些实施方式中,第一应用生成包括安全cookie的对内容的请求,以通过与内容选择服务的连接进行传输。安全cookie可以具有用于第一应用的类别标识符。在一些实施方式中,标识浏览历史可以包括在其中应用所述分类模型预定时间范围内标识所述浏览历史。
本公开还提供一种计算机程序,该计算机程序包括指令,所述指令当由计算设备执行时使所述计算设备执行本文公开的任何方法。本公开还提供了一种包括指令的计算机可读介质,该指令在由计算设备执行时使所述计算设备执行本文公开的任何方法。
至少一个方面涉及一种编码用于内容选择的标识符的方法。该方法可以包括标识经由在客户端设备上执行的第一应用所访问的多个信息资源。该方法可以包括从所述多个信息资源中的每个信息资源提取与该信息资源的至少一部分内容相对应的特征。该方法可以包括将分类模型应用于从所述多个信息资源中所提取的特征,以标识用于将所述第一应用分类到其中的类别集合。该方法可以包括确定来自所述类别集合中的一个类别满足分配给该类别的应用的阈值数量。该方法可以包括:响应于确定所述类别满足所述阈值数量,将所述第一应用分配给与所述类别相对应的类别标识符。用于所述第一应用的所述类别标识符可以与用于第二应用的所述类别标识符相同。该方法可以包括:从内容发布者设备接收信息资源以用于经由所述第一应用呈现,该信息资源包括主要内容和可用于从内容选择服务接收内容的内容槽。该方法可以包括针对所述信息资源的所述内容槽,生成对内容的请求,所述对内容的请求包括用于所述第一应用的所述类别标识符。该方法可以包括向所述内容选择服务传送所述对内容的请求,所述内容选择服务使用用于所述第一应用和用于所述第二应用的类别标识符来选择内容项以插入到所述信息资源的所述内容槽中。
在一些实施方式中,该方法可以包括:响应于接收到所述信息资源,根据混淆策略从所述类别集合中选择类别。所述混淆策略可以指定一种条件,在所述条件下相应的类别标识符被允许包括在与所述信息资源的所述内容槽相关联的对内容的请求中。
在一些实施方式中,该方法可以包括:响应于接收到第二信息资源,根据混淆策略,选择从应用所述分类模型所标识出的所述类别集合中的第二类别标识符。所述第二类别标识符可以与分配给所述第一应用的所述类别不同。在一些实施方式中,该方法可以包括针对所述第二信息资源的内容槽,生成对内容的第二请求,该对内容的第二请求包括与所述第二类别相对应的第二类别标识符,而不是与所述类别相对应的所述类别标识符。
在一些实施方式中,该方法可以包括:响应于接收到第二信息资源,根据混淆策略,确定不包括任何类别标识符到对内容的第二请求中以插入到所述第二信息资源的内容槽中。在一些实施方式中,该方法可以包括:响应于确定不包括任何类别标识符,向所述内容选择服务传送所述对内容的第二请求,该对内容的第二请求缺少任何类别标识符。
在一些实施方式中,确定所述类别满足所述阈值数量可以包括:通过使用利用与所述类别相对应的所述类别标识符所生成的加密类别标识符,与类别授权服务协同地执行阈值密码协议。在一些实施方式中,确定所述类别满足阈值数量可以包括:对照用于由类别授权服务所维护的类别标识符的概率数据结构来检查类别标识符。
在一些实施方式中,传送所述对内容的请求可以包括传送所述对内容的请求。所述内容选择服务可以使用所述类别标识符来维护用于所述第一应用和所述第二应用的聚合浏览历史。在一些实施方式中,应用所述分类模型可以包括:应用所述分类模型,以从多个类别标识在由所述分类模型定义的特征空间中彼此在接近度阈值内的所述类别集合。
在一些实施方式中,该方法可以包括:通过使用降维过程根据从所述客户端设备标识出的所述浏览历史来生成简化的特征向量集合,所述特征向量在文件大小方面小于所述浏览历史。在一些实施方式中,应用所述分类模型可以包括;将所述分类模型应用于根据所述浏览历史生成的简化的特征向量集合。在一些实施方式中,提取所述特征还包括:从所述信息资源的至少一部分内容提取所述特征,该一部分内容包括以下中的至少一项:文本数据、视觉数据或音频数据。
至少一个方面针对一种用于对用于选择内容的标识符进行编码的系统。该系统可以包括在具有一个或多个处理器的客户端设备上可执行的第一应用。第一应用可以标识经由在所述客户端设备上执行的第一应用所访问的多个信息资源。第一应用可以从所述多个信息资源中的每个信息资源中提取与该信息资源的至少一部分内容相对应的特征。第一应用可以将分类模型应用于从所述多个信息资源中所提取的特征,以标识将所述第一应用分类到其中的类别集合。第一应用可以确定来自所述类别集合中的一个类别满足分配给该类别的应用的阈值数量。所述第一应用可以响应于确定所述类别满足所述阈值数量,将所述第一应用分配给与所述类别相对应的类别标识符。用于所述第一应用的所述类别标识符可以与用于第二应用的所述类别标识符相同。第一应用可以从内容发布者设备接收信息资源以用于经由所述第一应用呈现,该信息资源包括主要内容和可用于从内容选择服务接收内容的内容槽。第一应用可以针对所述信息资源的所述内容槽,生成对内容的请求,所述对内容的请求包括用于所述第一应用的所述类别标识符。第一应用可以向所述内容选择服务传送所述对内容的请求。所述内容选择服务可以使用用于所述第一应用和用于所述第二应用的类别标识符来选择内容项,以插入到所述信息资源的所述内容槽中。
在一些实施方式中,第一应用可以响应于接收到所述信息资源,根据混淆策略从所述类别集合中选择类别。所述混淆策略可以指定一种条件,在所述条件下相应的类别标识符被允许包括在与所述信息资源的所述内容槽相关联的对内容的请求中。
在一些实施方式中,第一应用可以响应于接收到第二信息资源,根据混淆策略,选择从应用所述分类模型所标识出的所述类别集合中的第二类别标识符。所述第二类别标识符可以与分配给所述第一应用的所述类别不同。在一些实施方式中,第一应用可以针对所述第二信息资源的内容槽,生成对内容的第二请求,该对内容的第二请求包括与所述第二类别相对应的第二类别标识符,而不是与所述类别相对应的所述类别标识符。
在一些实施方式中,第一应用可以响应于接收到第二信息资源,根据混淆策略,确定不包括任何类别标识符到对内容的第二请求中以插入到所述第二信息资源的内容槽中。在一些实施方式中,第一应用可以响应于确定不包括任何类别标识符,向所述内容选择服务传送所述对内容的第二请求,所述对内容的第二请求缺少任何类别标识符。
在一些实施方式中,第一应用可以通过使用利用与所述类别相对应的所述类别标识符所生成的加密类别标识符,通过与类别授权服务协同地执行阈值密码协议,来确定所述类别满足所述阈值数量。在一些实施方式中,第一应用可以通过对照用于由类别授权服务所维护的类别标识符的概率数据结构检查类别标识符,来确定所述类别满足阈值数量。
在一些实施方式中,第一应用可以传送所述对内容的请求。所述内容选择服务可以使用所述类别标识符来维护用于所述第一应用和所述第二应用的聚合浏览历史。在一些实施方案中,第一应用可以应用所述分类模型,以从多个类别中标识在由所述分类模型定义的特征空间中彼此在接近度阈值内的所述类别集合。
在一些实施方式中,第一应用可以通过使用降维过程根据从所述客户端设备标识出的所述浏览历史来生成简化的特征向量集合,所述特征向量在文件大小方面小于所述浏览历史。在一些实施方式中,第一应用可以将所述分类模型应用于根据所述浏览历史生成的简化的特征向量集合。在一些实施方式中,第一应用可以从所述信息资源的至少一部分内容中提取所述特征,所述一部分内容包括以下中的至少一项:文本数据、视觉数据或音频数据。
一个方面的可选特征可以与任何其它方面组合。
附图说明
一种或多种实施方式的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本公开的其它特征、方面和优点将变得显而易见,其中:
图1A是根据一些实施方式的示例简档向量的图示;
图1B是根据一些实施方式的将简档向量聚合成稀疏矩阵的图示。
图1C是根据一些实施方式的用于匿名化以提供伪个性化聚类的过程的图示;
图2是根据一些实施方式的用于匿名化以提供伪个性化聚类的系统的框图;
图3是根据一些实施方式的用于匿名化以提供伪个性化聚类的方法的流程图;
图4是描绘根据说明性实施方式的用于通过使用分类模型来对用于选择内容的标识符进行编码的系统的框图;
图5是描绘根据说明性实施方式的在用于通过使用分类模型来对用于选择内容的标识符进行编码的系统中的客户端设备和应用管理器服务的框图;
图6是描绘根据说明性实施方式的在用于通过使用分类模型来对用于选择内容的标识符进行编码的系统中的客户端设备、内容提供者、内容发布者和内容选择服务的框图;
图7是描绘根据说明性实施方式的在用于通过使用分类模型来对用于选择内容的标识符进行编码的系统中的客户端设备和内容选择服务的框图;
图8是描绘根据说明性实施方式的通过使用分类模型来对用于选择内容的标识符进行编码的方法的流程图;以及
图9是示出根据说明性实施方式的计算机系统的通用架构的框图,所述计算机系统可用于实施本文描述和说明的系统和方法的各元素。
在各个附图中相似的附图标记和名称指示相似的元件。
具体实施方式
个性化内容递送通常基于捕获用户和/或设备的标识信息,诸如所述设备的浏览或访问历史。例如,设备可以提供标识信息,诸如设备标识符、账户名称、Cookie或其它此类信息;并且内容提供者可以存储这种信息以用于选择个性化内容。结果,内容提供者可以获取关于各个人的大量数据。这显著地影响设备和用户的隐私和安全性。选择退出和不跟踪策略允许用户对其隐私进行某种程度的控制(假如内容提供者遵循这些策略)。但是,这些策略削弱了内容提供者提供相关内容的能力。此外,根据这些策略生成的请求可能根本缺少任何用户请求,从而阻碍了对这些请求的正确解析。
本文所讨论的系统和方法经由诸如数百万或数十亿个设备的大量设备的聚合浏览历史来提供内容准个性化或匿名化内容检索。例如,每个设备的浏览历史可以被编码为长数据字符串或n维向量。图1A是根据一些实施方式的示例简档向量100的图示。简档向量可以包括设备在给定时间段内对域、网站或网页的游览或访问的标识。在所示出的示例中,向量标识在一周的每天中对大量域1-n中的每个域的观看次数或游览次数。尽管显示为一维向量,但是在类似的实施方式中,向量可以包括n乘7的阵列(例如,每天一行)。在其它实施方式中,可以包括附加数据(例如,一月的每天、一天内的时间段等)。因此,向量可以包括大的n维向量或阵列。向量中可以包括附加数据,诸如生成时间、位置、IP地址或任何其它此类信息的标识。
如上所述,在许多实施方式中,向量可能非常大。例如,互联网上有大约18亿个活动网站和超过3.3亿个注册域。在一些实施方式中,向量可以记录对这些域或网站中的任一个的游览或访问(visits or access)。在其它实施方式中,向量可以记录对仅域或网站的子集的游览或访问。例如,少于一百万个网站占Web流量的约50%。因此,在许多实施方式中,向量可以仅记录或表示对域或网站的子集的访问或游览。但是,即使在许多这样的实施方式中,向量也可能很大,诸如大约226或更大。
可以将向量提供给服务器设备,该服务器设备可以将向量与其它设备的那些向量聚合在一起,如图1B的图示中所示。来自多个设备102中的每个设备的简档向量100可以被聚合以创建非常大的矩阵。例如,web上每月有数十亿(例如,在230量级)活跃用户或设备。这些设备中的每个设备的组合简档向量100的矩阵因此可以是230×226维度,或者在一些实施方式中更大。
然而,这个矩阵高度稀疏。典型用户可能会在给定时间段(诸如一周)内游览数亿个可能域中的数百个。由于高度稀疏性质和任何给定设备的浏览历史中的冗余,因此可以减小这种矩阵的维度。
在一些实施方式中,诸如奇异向量分解(SVD)的线性降维技术可以用于计算最接近矩阵的秩X矩阵(例如,最小化平方误差)。每个简档向量100可以投影到X个维度,其中X小于所述矩阵的原始维度。对于每个维度,可以将投影结果量化到2的Ni次幂个桶,其中i∈[1,X],并且所述桶的数量与相应维度的奇异值成比例。K=∑Ni个位可用于表示所有X维的量化投影结果。那些串联在一起的位可以是所述设备的聚类标识符。在其它实施方式中,聚类算法(例如最近邻居)可用于在降维的空间中将所述设备聚类在一起。
因为奇异向量彼此正交,并且作为量化过程的结果,统计上相似数量的设备(例如,在设备总数很大的情况下大约相等)可能位于每个聚类中或被标识为属于每个聚类,假设在简档向量之间没有非线性相关性。每个聚类可以由标识符(有时称为聚类标识符、浏览组标识符)或由类似术语表示。
在其它实施方式中,可以使用其它线性分解方法,例如主成分分析。在其它实施方式中,非线性降维算法可以用于减小矩阵的维数。可以使用各种分类技术,包括最近邻居搜索、潜在类别分析等。
图1C是根据一些实施方式的该过程的图示。如图所示,可以在步骤120将来自大量设备的简档向量聚合成大矩阵。可以在步骤122处在维度方面减小矩阵。如上所述,可以在步骤124处标识聚类。
在一些实施方式中,分类系统可以被训练作为聚类标识的一部分和/或根据聚类标识而被训练。例如,在一些实施方式中,可以使用神经网络将设备分类为预定数量的聚类的一部分。这样的网络可以将降维简档向量用作输入,而将聚类标识符用作输出。在各种实施方式中,该网络可以经由有监督或无监督的学习来训练。
在一些实施方式中,可以将神经网络模型或该模型的权重提供给客户端设备,或者可以提供用于分类的其它参数。从降维生成的奇异向量也可以被提供给客户端设备。因此,在接收到向量和/或模型之后,客户端可以通过使用本地简档向量来生成它们自己的分类,而无需与服务器的进一步通信。服务器可以周期性地(例如每月或每季度)重新生成奇异向量和/或分类模型参数。在某些实施方式中,数据传输可能会非常大(例如,在一些实施方式中,在24个奇异向量的量级,每个奇异向量大约226维度,导致需要大约2GB的数据)。在某些实施方式中,为了减小到其它设备的数据传输,服务器可以将参数和向量与先前生成的参数和向量进行比较,并且仅在存在显著差异(例如,超过阈值差异)时才提供新集合,或者仅提供参数和/或向量的明显改变的子集。在各种实施方式中,客户端可以使用这些参数和向量更频繁地(例如每天、每小时、或随每一内容请求)在本地更新它们的分类。
类似地,在某些实施方式中,可以将奇异向量和/或模型参数提供给内容提供者。当客户端设备请求内容项时,该请求可以包括聚类标识。聚类标识可以嵌入请求的有效负载或报头中,例如在HTTPS请求中或在HTTP报头的可选项字段中。在一些实施方式中,内容提供者可以使用神经网络模型或特定于提供者的神经网络模型来推断对在每个聚类内的设备的人口统计和/或用户兴趣(例如,通过基于降维奇异向量来确定与聚类标识相对应的近似简档向量,且然后将所述向量提供给机器学习系统以推断所述特征),而无法标识任何单个设备或用户的特征。
相应地,这些实施方式通过聚合来提供设备匿名性,即,将具有相似浏览历史或模式的设备聚合在一起。聚类算法尝试维持相似聚类大小,使得每个聚类包含大致相同数量的用户。给定互联网上的固定数量的活动设备,聚类标识符的熵控制了聚类大小(例如,聚类标识符的熵越高,每个聚类中的设备越少,这降低了隐私保护)。通过调谐聚类标识符的熵(例如,通过提供更少或更多数量的聚类),系统可以在仍然维持内容个性化的有效性的同时实现期望水平的匿名化和隐私保护。
这些实施方式在维持有效性的同时以增加的隐私在不使用聚合和伪个性化的系统上进行了改进。在此类未经改善的系统中,可以使用用户或设备标识符记录设备的浏览历史,并且基于累积的历史来推断相应用户的人口统计信息和兴趣。该推断的信息可以用于预测个性化内容选择的有效性,例如点击率、关注度或其它此类度量。然而,经由本文讨论的系统和方法,可以仅针对与给定聚类标识符或组相关联的设备组来累积浏览历史。所推断的群体人口统计和兴趣仍然可以与所推断的有效性度量一起用于内容选择,而使内容提供者无法区分所述组或聚类内的设备或用户的特征。
在一些实施方式中,基于数十亿个互联网用户的聚合浏览历史来定义2的K次幂个的典型浏览历史模式。每个典型浏览历史模式具有唯一聚类标识符或浏览历史标识符,其对于一些较小的K可以由K位整数表示,使得每个聚类标识符由大量设备共享。当用户选择退出个性化内容选择或加入伪个性化时,其设备的浏览器应用可以选择与所述用户的实际浏览历史最匹配的典型浏览历史模式。浏览器可以出于内容个性化目的向内容提供者提供相应的聚类标识符。
以使近似相等数量的设备将与每个聚类标识符相关联的这种方式,来选择典型浏览历史模式和对聚类标识符的编码。通过控制K的值以及每个内容提供者可以通过内容请求(例如IP地址、用户代理标识符等)从浏览器获得的其它信号的熵,浏览器可以在实现内容伪个性化的同时显著降低用户的重新标识风险。
图2是根据一些实施方式的用于匿名化以提供伪个性化聚类的系统的框图。(可以包括台式计算机、膝上型计算机、平板计算机、可穿戴计算机、智能电话、嵌入式计算机、智能汽车或任何其它类型和形式的计算设备的)客户端设备200可以经由网络225与一个或多个服务器(诸如分类器服务器230和/或内容服务器250)通信。
在许多实施方式中,客户端设备200可以包括处理器202和存储器设备206。存储器设备206可以存储机器指令,该机器指令在由处理器执行时使处理器执行本文所述的一个或多个操作。处理器202可以包括微处理器、ASIC、FPGA等或其组合。在许多实施方式中,处理器可以是多核处理器或处理器阵列。存储器设备206可以包括但不限于能够向处理器提供程序指令的电子、光学、磁性、或任何其它存储设备。存储器设备可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ROM、RAM、EEPROM、EPROM、闪存、光学介质、或处理器可以从其中读取指令的任何其它合适的存储器。指令可以包括来自任何合适的计算机编程语言(例如但不限于C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python和Visual Basic)的代码。
客户端设备200可以包括一个或多个网络接口204。网络接口204可以包括任何类型和形式的接口,包括:包括10Base T、100Base T或1000Base T(“千兆比特”)的以太网;各种802.11无线(诸如802.11a、802.11b、802.11g、802.11n或802.11ac)中的任一个;蜂窝网络,包括CDMA、LTE、3G或4G蜂窝网络;蓝牙或其它短距离无线连接;或用于与网络进行通信的这些或其它接口的任何组合。在许多实施方式中,客户端设备200可以包括不同类型的多个网络接口204,以允许连接到各种网络225。相应地,网络225可以包括局域网(LAN)、广域网(WAN)(诸如互联网)、蜂窝网络、宽带网络、蓝牙网络、802.11(WiFi)网络、卫星网络、或这些或其它网络的任意组合,并且可以包括一个或多个附加设备(例如路由器、交换机、防火墙、集线器、网络加速器、缓存等)。
客户端设备可以包括一个或多个用户接口设备。用户接口设备可以是用于通过生成感官信息(例如,显示器上的可视化、一个或多个声音、触觉反馈等)将数据传达给用户和/或将从用户接收到的感官信息转换为电子信号的任何电子设备(例如键盘、鼠标、定点设备、触摸屏显示器、麦克风等)。根据各种实施方式,一个或多个用户接口设备可以在客户端设备的壳体内部(诸如内置显示器、触摸屏、麦克风等),或者在客户端设备的壳体的外部(诸如连接到客户端设备的监视器、连接到客户端设备的扬声器等)。
存储器206可以包括由处理器202执行的应用208。应用208可以包括任何类型和形式的应用(诸如媒体应用、web浏览器、生产力应用或任何其它这样的应用),并且通常可以在本文中被称为浏览器应用。应用208可以从内容服务器接收内容,并且可以经由用户界面向客户端设备的用户显示该内容。
存储器206可以存储访问日志210(显示为客户端设备200的日志210a),其可以是应用208的一部分或由应用208维护(例如,作为简档、偏好文件、历史文件或其它此类文件的一部分)。可以按应用208可用的任何格式来存储访问日志210。访问日志可以包括网站、域、网页、内容或由应用208访问、检索、显示或以其它方式获得的其它数据的标识。访问日志210还可以存储如上所讨论的简档向量100,其可以从应用和/或设备的访问历史生成。简档向量100可以包括n维字符串或值的阵列,其表示在预定时间段(例如,一天、一周、一天中的时间等)期间对一个或多个域、网页、网站或其它此类数据的访问。如上所讨论,可以将简档向量提供给分类器服务器230(步骤A)。简档向量100可以由应用208或日志简化器214生成,日志简化器214可以包括用于从访问日志生成简档向量的应用、服务、守护进程、例程、插件或其它可执行逻辑。在许多实施方式中,日志简化器214可以包括应用208的一部分。
存储器206还可以存储奇异向量212。如上所述,可以从分类器服务器230获得奇异向量212(步骤B),其可以从多个客户端设备200的简档向量的矩阵的降维来计算,如上所讨论。奇异向量212可以以任何适当的格式(诸如平面文件、数据阵列或其它结构)存储,并且可以在许多实施方式中被压缩。
存储器206还可以存储神经网络模型216的参数。如上所讨论的,神经网络模型216可以由分类器服务器生成,并且将参数或权重被提供给客户端设备200(步骤C)。客户端设备200的分类器218(可以包括应用、服务、服务器、守护程序、例程或用于执行机器学习算法的其它可执行逻辑)可以利用神经网络模型216参数以从客户端设备的降维简档向量生成聚类标识符220。在一些实施方式中,分类器218可以包括硬件电路(诸如张量处理单元)或其它这样的硬件。在其它实施方式中,分类器218可以包括由设备的处理器202执行的软件。
存储器206还可以存储聚类标识符220。聚类标识符220可以包括cookie或与聚类标识符相关联的其它字符串,和/或可以编码或包括标识聚类的特征的信息(例如,XML代码或参数、参数值对等)。聚类标识符220可以由服务器230预先确定或生成,并且提供给客户端设备200。客户端设备的分类器218可以使用神经网络模型来处理客户端设备的降维简档向量,以生成用于每个聚类标识符220的排名或得分,并且可以选择最高排名或得分的标识符以在内容请求期间传输到内容服务器(步骤D)。
一个或多个分类器服务器230可以包括一个或多个服务器计算设备,并且可以包括一个或多个物理计算设备,或由一个或多个物理计算设备执行的一个或多个虚拟计算设备(例如,云、集群、或服务器场)。一个或多个分类器服务器230通常可以被称为服务器、测量服务器、聚合服务器或通过其它这样的术语表示。
一个或多个分类器服务器230可以包括一个或多个处理器202、网络接口204和存储器设备206以及未示出的其它设备。一个或多个分类器服务器230可以在存储器中存储从多个客户端设备200获得的访问日志和/或简档向量210a-210n。如上所讨论的,分类器服务器230的聚合器232(其可以包括应用、服务器、服务、例程、由处理器202执行的其它可执行逻辑)可以将简档向量210a-210n聚合成矩阵或n维阵列。聚合器232还可以计算所述矩阵到奇异向量212的分解或降维,其可以被提供给客户端设备200(在一些实施方式中为内容服务器250)。
一个或多个分类器服务器230也可以在存储器中存储分类器218。分类器218可以是聚合器232的一部分,或者可以是分开的应用、服务、服务器、例程、或由处理器202和/或硬件处理器(诸如张量处理单元)执行的用于标识降维矩阵中的聚类的其它可执行逻辑。在许多实施方式中,分类器218可以包括神经网络或类似的人工智能,用于将降维向量分类成多个聚类之一。一旦被训练,就可以将神经网络的参数提供给一个或多个客户端设备200,以类似地生成聚类标识或排名,如上所讨论的。
一个或多个内容服务器250可以包括任何类型和形式的内容提供服务器或服务,包括内容递送网络、web服务器、媒体服务器、社交媒体服务或任何其它类型和形式的计算系统。一个或多个内容服务器250可以包括一个或多个处理器202、网络接口204和存储器设备206。在许多实施方式中,一个或多个内容服务器250可以存储多个内容项252,其可以包括任何类型和形式的内容,包括文本、音频、视频、动画、图像、可执行脚本、网页或任何其它此类数据。
一个或多个内容服务器250可以包括内容选择器254,它可以是web服务器或文件服务器的一部分,或者可以是分开的应用、服务、服务器、守护进程、例程或用于选择内容以递送到客户端设备的其它可执行逻辑。内容可以基于设备的所推断的特征来选择。内容服务器可以从设备接收聚类标识符和对内容的请求,并且可以基于针对该聚类的设备的所推断的特征来选择内容。在一些实施方式中,内容服务器可以使用从分类器服务器230获得的奇异向量来将聚类标识符扩展为用于表示聚合聚类的对应简档向量。所述聚类的配置文件向量可能与任何特定设备的简档向量都不匹配,但可能是与所述聚类相关联的所有设备的向量的近似值或平均值。
图3是根据一些实施方式的用于匿名化以提供伪个性化聚类的方法的流程图。在步骤302处,客户端设备200可以将访问日志或从访问日志所生成的简档向量提供给分类器服务器230。如上所讨论的,简档向量可以基于客户端设备的浏览或访问历史,并且可以包括n维向量或字符串,其值表示在预定时间段内对与该字符串或阵列中的对应位置相关联的地址的一个或多个访问中的每一个。
在步骤304处,分类器服务器230可以将来自客户端设备200的简档向量或日志与从一个或多个附加客户端设备200获得的简档向量或日志聚合成矩阵。简档向量可以由分类器服务器230周期性地获得,或者在登录到由分类器服务器或相关联的服务器所提供的服务时获得。可以针对多个客户端设备重复步骤302-304,该多个客户端设备可以是可以利用312中的奇异向量来执行314中的降维的所有设备的一小部分。在一些实施方式中,可以用客户端设备上的联合学习来替换步骤302至步骤312,并且分类器服务器230可以是可选的或被移除。
在步骤306处,分类器服务器230可以计算矩阵的降维或分解。分类器服务器在一些实施方式中可以使用奇异值分解算法,并且可以生成多个奇异向量和降维矩阵。
在步骤308处,分类器服务器可以可选地标识降维矩阵的聚类边界或聚类参数。分类器服务器可以使用任何适当的算法(例如主成分分析)或机器学习系统(例如神经网络)来标识聚类。
在步骤310处,在一些实施方式中,分类器模型可以基于所标识的聚类和降维简档向量来调整或训练。在各种实施方式中,训练可以是有监督的或无监督的。
在步骤312处,可以将奇异向量以及在一些实施方式中的神经网络模型或其它学习算法的权重提供给一个或多个客户端设备200,并且在一些实施方式中,提供给一个或多个内容服务器250。
在步骤314处,客户端设备200可以通过使用从分类器服务器中接收到的奇异向量,来计算设备的简档向量或访问日志的降维。在步骤316处,可以经由人工智能或神经网络、通过使用从分类器服务器接收到的模型参数来对降维向量进行分类,并在步骤318处,确定分类。确定分类可以包括针对所述设备的简档向量来计算用于(例如在一些实施方式中,由分类器服务器所标识的和经由所述参数提供的)多个聚类中的每个聚类的得分或排名。
在步骤320处,客户端设备可以将对内容项的请求传送到一个或多个内容服务器250。该请求可以包括与该设备的简档向量相对应的聚类的标识。在完成媒体项或媒体项的一部分的回放或任何其它这样的情况之后,该请求可以响应于网页上的脚本的执行来生成。
在步骤322处,内容服务器可以基于从分类器服务器接收到的分类器模型参数和奇异向量来确定聚类的特征。在一些实施方式中,内容服务器可以使用奇异向量来计算用于表示聚类中的所有设备的聚合浏览历史的简档向量,然后可以基于所述历史的各个方面(例如,与网页或域或其它内容相关联的关键字/主题、其它相关联的域或网页等)来推断所述聚类的特征。在步骤324处,内容服务器可以使用所述请求中的聚类标识(或如上所讨论的与聚类相关联的所推断的特征)来选择内容项。可以在步骤326将内容传送到客户端设备,并且在步骤328处,客户端设备可以渲染或显示内容项。
因此,本文讨论的系统和方法经由诸如数百万或数十亿个设备的大量设备的聚合浏览历史来提供内容准个性化或匿名化内容检索。稀疏矩阵可以从聚合浏览历史构建,并且在维度上减小,从而减小熵并且为各个设备提供匿名性。可以经由用于表示相似浏览历史的准个性化聚类来选择相关内容,而无需将各个设备的详细信息暴露给内容提供者。
在联网环境中,客户端设备上运行的应用(例如web浏览器)可以接收具有由内容发布者提供的主要内容和用于补充内容的一个或多个内容槽(例如,内嵌框架)的信息资源(例如网页)。所述信息资源可以包括代码片段或脚本(例如,内容选择标签),其指定从内容选择服务中检索内容提供者的内容项以插入到内容槽中。在解析信息资源的脚本时,所述应用可以生成对要插入内容槽中的内容的请求,并且可以将所述请求发送到内容选择服务。响应于对所述请求的接收,内容选择服务可以选择由内容提供者供应的内容项之一,以嵌入到信息资源的内容槽中。
通过内容选择服务对内容项的选择可以依赖于对用户(或经由账户)、用户所操作的客户端设备或客户端设备上运行的应用唯一的确定性跟踪标识符的使用。标识符可以在客户端设备上维护并且由内容选择服务经由cookie访问。cookie可以是例如与和信息资源的内容发布者的域不同的内容选择服务的域相关联的第三方cookie。当信息资源的内容槽指定从内容选择服务检索内容时,可以将包含所述标识符的cookie从客户端设备传递到内容选择服务。通过使用cookie,内容选择服务可以跟踪所述用户经由在客户端设备上运行的应用访问哪些信息资源。另外,内容选择服务可以基于跟踪的信息资源来标识被确定为与在客户端设备上操作所述应用的用户有关的内容项。
尽管使用这些唯一的跟踪标识符允许选择为特定用户定制的内容项,但是可能存在许多缺点,尤其是在数据安全性和完整性方面。一方面,通过在客户端设备和内容选择服务之间传递的用户数据,用户可能会面临数据安全风险。例如,内容选择服务的管理器可以在未经用户同意的情况下有意地向第三方提供私人用户数据。此外,未经授权的恶意实体也可以拦截在传输中的第三方Cookie,并且可以使用唯一的跟踪标识符来监视受影响的客户端设备和应用的在线活动。另一方面,通过使用此类别标识符访问信息资源的集合可能会增加在内容选择服务的一部分上的数据泄露的风险。例如,数据的意外释放或窃取所收集的数据的恶意攻击(其中一些部分可能会分别追溯到特定用户)可能导致用户的数据隐私的丧失。
一种解决具有唯一跟踪标识符的问题的方法可以包括:从客户端设备禁用具有唯一跟踪标识符的第三方cookie。在客户端设备上运行的应用可以被配置为禁止生成、维护或者向内容选择服务传输唯一跟踪标识符。但是,第三方Cookie的限制可能会引发许多其它问题。通过对第三方cookie的禁用,内容选择服务可能无法跟踪由客户端设备经由所述应用访问的信息资源。这样,当接收到对内容的请求时,内容选择服务可能无法使用此类信息来确定内容项与操作该应用的用户的相关性。因此,所选择的内容项可能具有较低的与客户端设备的用户进行交互的可能性,与通过使用跟踪标识符选择的内容项相比的话。结果,在其上插入内容项以供显示的信息资源可以遭受人机交互(HCI)的质量的劣化。
为了解决在选择内容时禁止使用唯一标识符来跟踪各个客户端设备或应用的技术挑战,每个应用都可以基于本地维护的浏览历史将其归类成多个聚类之一。所述应用以及相关地具有类似浏览模式的操作应用的用户可以归类到同一聚类中。具有相似浏览模式并且被归类到同一聚类中的用户可以被相关联为具有相似的特征和兴趣,因此可以更有可能具有对相同内容项的相似响应。每个聚类可以具有大量的相关联用户(例如,大于1000个),因此将用户归类为聚类可能不是特定于单个用户的特征。
在将应用自身分配给聚类之一时,所述应用可以将浏览历史转换或编码成具有预设维数的向量。例如,特征向量中的一个元素可以指示用户在特定时隙(例如,在一天中的特定小时和一周中的特定日)是否访问了特定域、网站的一部分、特定类别(例如假期)的网页、或甚至特定URL。然后,应用可以将聚类或分类算法(例如,k最近邻算法、线性分类、支持向量机和模式标识)应用于特征向量,以标识要向其分配应用并且相关地用户的聚类。可以由应用的应用管理器(例如,浏览器供应商)提供和更新聚类算法。
使用聚类算法找到聚类后,所述应用可以标识用于所述聚类的聚类标识符(也称为类别标识符或浏览历史标识符)。聚类标识符可以由应用管理器分配给每个聚类,并且可以提供给所述应用和内容选择服务。与唯一确定性跟踪标识符相反,聚类标识符可能不特定于一个单独用户、应用或客户端设备。因为可以将多个用户归类到同一聚类中,所以聚类标识符也可以在具有相似浏览模式的多个用户、应用或客户端设备之间是共用的。因为聚类标识符是在多个用户之间共享的,所以聚类标识符可以与分配给各个用户的唯一跟踪标识符相比具有更低的熵。例如,用于所有互联网用户的确定性唯一跟踪标识符可以具有超过30位的熵,而聚类标识符可以设置为18至22位的熵。通过更低的熵,聚类标识符本身可以比唯一跟踪标识符具有更小的长度和大小。
当接收到具有内容槽的信息资源时,所述应用可以将聚类标识符而不是唯一跟踪标识符包括在对内容槽的内容的请求中,并且将该请求发送到内容选择服务。可以采取附加保护措施来增加数据安全性和完整性并且减少泄露聚类标识符和相关信息的可能性。为了通过网络在传输期间保护对聚类标识符的拦截,所述应用可以使用加密协议,例如超文本传输协议安全(HTTPS)协议。另外,为了保护维护在客户端设备上的聚类标识符,所述应用可以限制其它客户端进程(例如,信息资源上的JavaScript)访问聚类标识符。例如,聚类标识符可以包括在客户端设备上维护的安全标志或仅HTTP标志cookie中,以防止对聚类标识符的访问。这可以与不具有此类访问控制的第三方Cookie形成对比。
响应于接收到请求,内容选择服务可以使用聚类标识符来选择内容项之一。内容选择服务可以通过使用对包含聚类的聚类标识符的内容的先前请求,而累积被归类为所述聚类的用户的浏览历史。通过将简档模型应用于所述聚类的累积历史,内容选择服务可以推断所述聚类中的用户的特征和兴趣。利用简档模型的结果,内容选择服务可以找到被确定为与和该请求相关联的用户被归类到的聚类相关的内容项目。
通过使用聚类标识符,可以防止在客户端设备上维护的应用的浏览历史被内容选择服务访问以使得该浏览历史可追溯到具体用户、应用或客户端设备。此外,内容选择服务可能无法跟踪不同域中的各个用户、应用或客户端设备,以聚集详细的浏览历史。而是,内容选择服务可以聚合与从所述应用接收到的聚类标识符相关联的用户的特定聚类的浏览历史。在聚合时,内容选择服务可以通过合并来自同一聚类的不同用户的浏览器历史来保护各个用户的数据隐私。通过设置要分配给每个聚类的用户数量,还可以控制数据隐私的程度。
此外,在相同聚类中的用户具有相似浏览模式的假设下,内容选择服务可以基于针对该聚类聚合的浏览历史而外推和确定同一聚类的用户的相似特征和兴趣。内容选择服务可以通过同一聚类的用户将类似地响应的预期而进一步选择内容项目。以这种方式,可以维持各个用户的浏览历史上的数据安全性、完整性和隐私性。同时,通过确定在内容项的选择中的相关性的能力,可以维持与所选择的内容项或总体信息资源的人机交互(HCI)的质量。
现在参考图4,描绘了用于描绘用于通过使用分类模型对用于选择内容的标识符进行编码的计算机联网环境或系统400的一种实施方式的框图。总的来说,系统400可以包括用于在系统400的组件之间进行通信的至少一个网络405。系统400可以包括至少一个应用管理器服务410(在本文中也称为浏览器供应商)以向至少一个应用(例如浏览器)提供服务。系统400可以包括至少一个内容提供者415以提供内容项。系统400可以包括至少一个内容发布者420以提供信息资源(例如,网页)。系统400可以包括至少一个内容选择服务425以选择内容项。系统400可以包括一个或多个客户端设备430A-N(在本文中通常称为客户端设备430)。每个客户端设备430可以包括至少一个应用435A-N(在本文中通常称为应用435)。系统400的每个组件(例如,网络405、应用管理器服务410及其组件、内容提供者415及其组件、内容发布者420及其组件、内容选择服务425及其组件、以及客户端设备430及其组件)可以通过使用本文结合图9详细描述的计算系统900的组件来实施。
更详细地,系统400的网络405可以将应用管理器服务410、内容提供者415、内容发布者420、内容选择服务425和客户端设备430彼此通信地耦合。系统400的应用管理器服务410、内容提供者415、内容发布者420和内容选择服务425中的每一个可以包括位于至少一个数据中心或服务器场中的多个服务器,该多个服务器经由网络405彼此通信地耦合。应用管理器服务410可以经由网络405与内容提供者415、内容发布者420、内容选择服务425和客户端设备430进行通信。内容提供者415可以经由网络405与应用管理器服务410、内容发布者420、内容选择服务425和客户端设备430进行通信。内容发布者420可以经由网络405与应用管理器服务410、内容发布者420、内容选择服务425以及客户端设备430进行通信。内容选择服务425可以经由网络405与应用管理器服务410、内容提供者415、内容发布者420和客户端设备430进行通信。每个客户端设备430可以经由网络405与应用管理器服务410、内容提供者415、内容发布者420和内容选择服务425进行通信。
应用管理器服务410可以包括由应用供应商(在本文中有时称为浏览器供应商)操作的服务器或其它计算设备,以向在客户端设备430上运行的应用435提供资源和更新。例如,应用管理器服务410可以将要安装的应用435提供给客户端设备430。应用管理器服务410还可以向安装在客户端设备430上的应用435提供更新。所述更新可以影响该应用435的至少一个子组件。应用管理器服务410还可以向应用435提供插件或附件,以增强在客户端设备430上运行的应用435的功能。应用管理器服务410可以与内容选择服务425进行通信以提供关于在客户端设备430上运行的应用435的信息。应用435和相关文件或数的提供据可以通过网络405由应用管理器服务410进行通信。
内容提供者415可以包括由内容提供者实体操作的服务器或其它计算设备,以提供用于在客户端设备430处的信息资源上显示的内容项。由内容提供者415提供的内容可以采取任何方便的形式。例如,第三方内容可以包括与其它显示内容有关的内容,并且可以是例如与显示内容有关的网站的页面。所述内容可以包括用于在信息资源上显示的第三方内容项或创意(例如,广告),诸如包括由内容发布者420提供的主要内容的信息资源。这些内容项还可以被显示在搜索结果网页上。例如,内容提供者415可以提供内容项455或者可以是内容项455的源,以显示在信息资源450(例如公司的网页,所述网页的主要内容由所述公司提供)的内容槽(例如,内嵌框架元素)中、或显示在由搜索引擎提供的搜索结果登录页面上。与内容提供者415相关联的内容项可以显示在除网页之外的信息资源上,诸如作为在智能手机或其它客户端设备430上执行应用的一部分而显示的内容。
内容发布者420可以包括由内容发布实体操作的服务器或其它计算设备,以经由网络405提供包括主要内容以供显示的信息资源。例如,内容发布者420可以包括提供主要内容以供在信息资源上显示的网页运营商。信息资源可以包括除了由内容发布者420所提供的内容以外的内容,并且信息资源可以包括被配置为显示来自内容提供者415的内容项的内容槽。例如,内容发布者420可以操作公司的网站并且可以提供有关该公司的内容以供显示在网站的网页上。所述网页可以包括被配置用于显示由内容提供者415或由内容发布者420本身提供的内容项的内容槽。在一些实施方式中,内容发布者420包括操作搜索引擎网站的搜索引擎运营商的搜索引擎计算设备(例如服务器)。搜索引擎网页(例如,结果或登录网页)的主要内容可以包括搜索结果以及显示在信息资源的内容槽中的第三方内容项(诸如来自内容提供者415的内容项)。在一些实施方式中,内容发布者420可以包括用于提供视频内容的一个或多个服务器。
内容选择服务425可以包括由内容放置实体操作的服务器或其它计算设备,以选择或标识要经由网络405插入到信息资源的内容槽中的内容项。在一些实施方式中,内容选择服务425可以包括内容放置系统(例如,在线广告服务器)。内容选择服务425可以维护内容项的清单,以从中进行选择以通过网络405提供以插入到信息资源的内容槽中。可以将所述清单维护在内容选择服务425可访问的数据库上。所述内容项或内容项的标识符(例如,地址)可以由内容提供者415提供。
每个客户端设备430可以是经由网络405进行通信以显示数据的计算设备。所显示的数据可以包括内容发布者420提供的内容(例如,信息资源)和内容提供者415提供的内容(例如,用于显示在信息资源的内容槽中的内容项),如由内容选择服务425所标识的。客户端设备430可以包括台式计算机、膝上型计算机、平板计算机、智能手机、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字视频录像机、电视的机顶盒、视频游戏控制台、或配置为通过网络405进行通信的任何其它计算设备。客户端设备430可以是最终用户可以通过其提交请求以接收内容的通信设备。该请求可以是到搜索引擎的请求,并且该请求可以包括搜索查询。在一些实施方式中,所述请求可以包括访问网页的请求。
在客户端设备430上执行的应用435可以包括例如互联网浏览器、移动应用、或能够执行或以其它方式调用提供给客户端设备430的计算机可执行指令(例如信息资源和内容项中包含的计算机可执行指令)的任何其它计算机程序。其中包括的信息资源可以对应于脚本、逻辑、标记或指令(例如,超文本标记语言(HTML)、可扩展超文本标记语言(XHTML)、可扩展标记语言(XML)、级联样式表(CSS)和JavaScript或其任何组合)。内容项可以被插入到信息资源的内容槽中。
现在参考图5,描绘了用于描绘系统400中的客户端设备430和应用管理器服务410的一种实施方式的框图。总的来说,应用管理器服务410可以包括至少一个分类模型500,以基于浏览模式对应用435进行分类。应用管理器服务410可以包括至少一个模型训练器505,以训练和维护至少一个分类模型500。应用管理器服务410可以包括至少一个模型更新器510,以改变或调整分类模型500。应用管理器服务410可以包括至少一个数据库515,以存储和维护一组类别标识符520A-N(在本文中通常称为类别标识符520,并且有时在本文中称为“网络区域标识符”或“网络邮政编码”)。应用管理器服务器410可以包括类别授权器550的至少一个实例(在本文中有时称为类别认证服务),以允许在经由网络405传送的请求中包括类别标识符520。
在每个客户端设备430上,应用435可以包括至少一个分类模型500,以基于浏览模式对应用435进行归类。应用435可以包括至少一个模型训练器505,以训练和维护分类模型500。应用435可以包括至少一个内容提取器525,以从经由应用435访问的信息资源中选择特征。应用435可以包括至少一个模型施加器530以使用分类模型500对所述应用435进行归类。应用435还可以包括类别授权器550的至少一个实例。模型训练器505、内容提取器525、模型施加器530和类别授权器550可以是应用435的一体部分、应用435的附件或插件、或与应用435对接的另外应用。应用435可以包括至少一个浏览历史535以维护和存储一个或多个条目540A-N(在本文中通常称为条目540)。应用435可以包括至少一个标识符缓存545,以维护和存储用于应用435的至少一个类别标识符520。
进一步详细地,分类模型500可以基于浏览历史535对每个应用435(或运行该应用435的每个客户端设备430或与该应用435相关联的账户)进行分类、分组或以其它方式归类。客户端设备430上的应用435的分类可以指示或表示在客户端设备430上运行的应用435的实例的分类。例如,可以存在在一个客户端设备430上运行的一个应用435(例如web浏览器)的实例和在另一个客户端设备430上运行的应用435(例如,相同类型的web浏览器)的另一个实例。这两个实例可以被分类为相同类别或不同类别。此外,应用435的分类可以引申到对应于或包括与操作应用435的帐户或由用户操作的客户端设备430相关联的用户的分类。
分类模型500可以是分类或聚类模型或算法。分类模型500可以包括分类算法,例如线性分类器(例如,线性回归,对数回归和朴素贝叶斯分类器)、支持向量机(SVM)、二次分类器、k最近邻算法和人工神经网络(ANN)等等。分类模型500可以包括聚类模型,诸如基于质心的聚类算法(例如,k均值算法或期望最大化(EM)算法)、基于密度的聚类算法(例如,具有噪声的基于密度的空间聚类应用)、基于分布的聚类算法(例如,高斯混合模型)和人工神经网络(ANN)等等。分类模型500还可以包括散列函数,诸如位置敏感的散列方案(例如,MinHash、SimHash和Nilsimsa Hash)。
根据任何分类或聚类模型和算法,分类模型500可以包括输入集合、参数集合和输出集合。输入集合可以采用或包括浏览历史535的条目540。在一些实施方式中,输入集合可以采用或包括浏览历史535的条目540的降维表示。在一些实施方式中,输入集合可以包括浏览历史535的条目540的完整表示。参数(或权重)集合可以将输入集合与输出集合连接或者相关。在一些实施方式中,参数集合可以包括多个类别和用于每个类别的值。例如,对于每个类别,参数集合可以是k均值聚类中的质心。在另一示例中,参数集合可以包括与每个类别相关联的值的范围。分类的数量可以等于类别标识符520的数量。分类的数量和分类别标识符520的数量可以是预定的(例如,为固定值)或是动态确定的。输出集合可以产生或包括与类别标识符520之一相对应的类别。输出集合可以包括类别标识符520本身之一。例如,类别标识符520可以是通过使用哈希函数计算出的哈希值。每个类别标识符520可以是或包括一组字母数字字符或数字值(例如,整数或二进制数)。
在应用管理器服务410上执行的模型训练器505可以训练分类模型500。模型训练器505可以使用训练数据集来训练分类模型500。分类模型500的训练可以是根据无监督的。训练数据集可以包括来自运行在客户端设备430的样本集上的应用435的样本集的样本浏览历史530。在一些实施方式中,模型训练器505可以从内容提供者415、内容发布者420、内容选择服务425或运行在客户端设备430上的应用435来获取和累积样本浏览历史530。在训练之前,模型训练器505可以标识用于分类模型500的类别数量。在一些实施方式中,类别数量可以由应用管理器服务410的管理员预先确定或分配。在一些实施方式中,类别数量可以由模型训练器505基于具有应用435的客户端设备430的数量来确定。例如,类别数量可以被设置为使得将所设置数量的客户端设备430(例如800至1000个设备)分配给每个分类。
在训练分类模型500时,模型训练器505可以通过使用训练数据集而改变、调整或以其它方式设置分类模型500中的参数值(例如,每个类别的值)。在每次迭代中,模型训练器505可以基于参数值集合中的改变来确定分类模型500是否相对于先前迭代已经收敛。在一些实施方式中,模型训练器505可以将分类模型500的参数中的一组值的改变与收敛阈值进行比较。如果所述改变小于收敛阈值,则模型训练器505可以确定分类模型500已经收敛。否则,如果所述改变大于收敛阈值,则模型训练器505可以确定分类模型500尚未收敛。当确定分类模型500尚未收敛时,模型训练器505可以继续训练分类模型500。
否则,当确定分类模型500已经收敛时,模型训练器505可以结束、终止或停止训练分类模型500。模型训练器505可以将分类模型500存储在应用管理器服务410上。另外,模型训练器505可以将分类模型500传送或发送到在客户端设备430上运行的应用435。在一些实施方式中,模型训练器505可以传送或发送用于分类模型500的参数集。针对分类模型500中的每个类别,模型训练器505可以将所述类别标识、分配或以其它方式关联到对应的类别标识符520。类别标识符520可以是一组字母数字字符以引用该类别。分类模型500可以将每个类别与对应的类别标识符520相关联。模型训练器505可以向在每个客户端设备430上运行的应用435和向内容选择服务425传送以及提供类别标识符520的集合。
在客户端设备430上执行的应用435的模型训练器505也可以训练分类模型500。在一些实施方式中,模型训练器505可以使用分布式学习协议来训练分类模型500。分布式学习协议可以与在其它客户端设备430上执行的应用435和通过网络405通信的应用管理器服务410协同。分布式学习协议可以包括例如使用优化算法(例如,随机梯度下降(SGD)或平均)的联合学习)以训练分类模型500。如上所讨论的,类别数量和类别标识符520的数量可以是预定的(例如,为固定值)或是动态确定的。在每次迭代期间,每个模型训练器505可以通过使用训练数据集来改变、调整或以其它方式设置分类模型500中的参数的值(例如,每个类别的值)。在迭代结束时,每个模型训练器505(其它客户端设备430上的模型训练器505的实例)可以相互提供分类模型500中的参数的值(例如,每个类别的值)。模型训练器505可以使用接收到的参数的值来调整、改变或设置本地维护的分类模型500上的参数。模型训练器505可以重复迭代,直到基于如上所讨论的参数的值的集合的改变来确定分类模型500相对于先前迭代已经收敛为止。
在应用管理器服务410上执行的模型更新器510可以将更新提供或发送至在运行在应用435上的每个客户端设备430上维护的分类模型500。模型更新器510可以根据模型更新策略来确定是否更新分类模型500。模型更新策略可以指定一组条件,在所述条件下分类模型500将被更新。在一些实施方式中,模型更新策略可以包括排程,该排程指示更新分类模型500的时间。模型更新策略可以指定当未均匀分布分配给每个类别的应用435的数量(例如,类别大小的差异在另一类别的5%至100%之内)时将更新分类模型500。模型更新策略可以指定当累积的附加浏览历史535的量满足阈值量时将更新分类模型500。如果确定不是更新分类模型500,则模型更新器510可以维持分类模型500。
另一方面,如果确定要更新,则模型更新器510可以(在应用管理器服务410上或运行在客户端设备430上的应用435上)调用模型训练器505,以重新训练分类模型500。在一些实施方式中,模型更新器510可以累积来自内容提供者415、内容发布者420、内容选择服务425或运行在客户端设备430上的应用435的训练数据集的浏览历史530。更新器510可以将累积的浏览历史530传递给模型训练器505,以对分类模型500进行重新训练。在确定分类模型500已经收敛之后,模型训练器505可以结束、终止或停止训练分类模型500。模型更新器510可以将新训练的分类模型500(或用于分类模型500的参数集合)传送或发送到每个应用435以更新分类模型500。模型更新器510可以传送并且提供类别标识符520的集合到运行在每个客户端设备430上的应用435以及内容选择服务425。
在客户端设备430上执行的应用435的模型应用530可以经由网络405从应用管理器服务410接收分类模型500。在接收时,模型应用530可以在客户端设备430上存储和维护分类模型500。在一些实施方式中,模型施加器530可以从应用管理器服务410接收分类模型500的参数集合。参数集合的接收可以是更新分类模型500。在接收时,模型施加器530可以通过使用接收到的参数集合来改变、配置或以其它方式修改分类模型500。此外,模型施加器530可以从应用管理器服务410接收用于分类模型500中的各类别的类别标识符520的集合。类别标识符520的接收可以作为分类模型500的更新的一部分。
通过分类模型500的配置,模型施加器530可以通过应用435标识在客户端设备430上维护的浏览历史535。应用435可以通过每次访问信息资源时创建条目540来维护浏览历史535。浏览历史535可以记录信息资源(例如,网页)和经由应用435访问的其它在线内容。浏览历史535可以包括条目540的集合。每个条目540可以包括用于所访问的信息资源的地址(例如,包括所述网页的主机名和路径名的统一资源定位符(URL))和用于指示访问信息资源的时间的时间戳。条目540的集合可以由浏览历史535内的信息资源的时间戳或地址来索引。在一些实施方式中,模型施加器530可以在由模型施加器530进一步处理的整个时间范围内标识浏览历史535的一部分。浏览历史535的一部分可以包括具有在所述时间范围内的时间戳的条目540的子集。该时间范围可以是例如从当前时间起一周的条目540的数量。
结合地,在客户端设备430上执行的应用435的内容提取器525可以针对浏览历史535中的对应条目540从每个信息资源中标识、选择或以其它方式提取一个或多个特征。所述特征可以从信息资源上的至少一部分内容中提取。这些特征可以包括例如文本数据、视觉数据或音频数据。在一些实施方式中,当应用435经由网络405访问信息资源时,内容提取器525可以从信息资源的内容中标识所述特征。在一些实施方式中,内容提取器525可以经由浏览历史535中的对应条目访问每个信息资源以提取所述特征。所述访问可以与经由应用435呈现信息资源分离或在其之后。
在从信息资源中提取时,内容提取器525可以将一种或多种属性选择算法应用于由应用535所访问的每个信息资源的内容。为了提取文本数据,内容提取器525可以应用至少一种自然选择处理算法,诸如术语提取、命名实体标识、关系提取、自动汇总以及术语频率反文档频率(tf-idf)等等。使用自然语言处理算法所标识的文本数据可以包括在信息资源上的文本内容的子集。为了提取视觉数据,内容提取器525可以应用至少一种计算机视觉算法,例如对象标识和光学字符标识(OCR)。使用计算视觉算法所标识的视觉算法可以包括在信息资源上的图形的子集(或与该子集相对应的标识符)。为了提取音频数据,内容提取器525可以应用至少一种音频信号分析算法和语音标识算法。所提取的音频数据可以包括例如从音频所标识的单词等等。
在标识浏览历史535之后,模型施加器535可以通过使用浏览历史535的条目540来形成或生成特征向量集合。在一些实施方式中,模型施加器535可以通过使用从由应用435所访问的信息资源中提取的特征来生成特征向量集合。特征向量集合可以用作分类模型500的输入。特征向量集合可以包括维度、或可以由维度定义。维度可以包括时间范围(例如一天中的小时或一周中的一天)和地址属性(例如域名、网站的一部分、主题类别、或地址本身)。维度还可以包括与所提取的特征相对应的文本数据、图像数据和音频数据。每个特征向量可以基于与对应条目540相关联的时间戳而与至少一个时间范围相关联。每个特征向量可以基于在对应条目540中所标识的信息资源的地址而与信息资源的地址属性中的至少一个相关联。
在一些实施方式中,模型施加器535可以通过将浏览历史535的条目540投影到由时间范围和地址属性定义的特征向量的维度上,来生成特征向量集合。对于浏览历史535的每个条目540,模型施加器535可以基于条目540中的地址和时间戳来标识是否存在现有特征向量。为进行标识,模型施加器530可以确定条目540是否与现有特征向量中的任一个匹配。当存在现有特征向量时,模型施加器535可以将条目540添加到特征向量。相反,当不存在现有特征时,模型施加器535可以为条目540创建新特征向量。
在一些实施方式中,模型施加器535可以使用降维过程来形成或生成简化的特征向量集合。降维过程可以包括线性简化技术(例如,主成分分析(PCA)、奇异值分解(SVD)、非负矩阵分解(NMF))、非线性降维(例如,广义判别分析(GDA)、局部线性嵌入和Sammon映射))或其它(例如Johnson-Lindenstrauss引理和多因素降维)等等。在一些实施方式中,模型施加器530可以在将浏览历史535的条目540投影到特征向量的维度上时应用降维过程。在一些实施方式中,模型施加器535可以将降维过程应用于所生成的特征向量集合。通过应用降维过程,模型施加器535可以减小原始特征向量集合中的维数,以生成简化的特征向量集合。简化的特征向量集合可以具有比简化特征向量的初始集合更少的维数和数据点。例如,简化的特征向量集合可以省略时间范围或地址属性而没有任何相关联的条目540。在一些实施方式中,模型施加器535可以省略降维过程,并且继续处理特征向量而没有降维过程。
模型施加器530可以将分类模型500应用于浏览历史535(或浏览历史535的条目540的任何子集或表示,例如特征向量),以标识其中在其中归类应用435的一个或多个类别。为了应用,模型施加器530可以馈送浏览历史535作为分类模型500的输入集合。在一些实施方式中,模型施加器530可以馈送特征向量或简化的特征向量的集合作为分类模型500的输入。一旦被馈送,模型施加器530就可以使用分类模型500来将输入与用于定义类别的参数进行比较,并且基于所述比较来生成或产生输出集合。输出集合可以包括一个或多个类别,如由应用435维护的浏览历史535中所指示的,将浏览模式分类到该一个或多个类别。
根据分类模型500的输出,模型施加器530可以标识一个或多个类别。在一些实施方式中,模型施加器530可以从所述输出标识单个类别(有时在本文中称为最接近或最靠近的类)。单个类别可以对应于由分类模型500定义的距输入特征向量的距离最近的特征空间的一部分。由分类模型300定义的特征空间可以具有与所述输入相同的参数及其值。
在一些实施方式中,模型施加器530可以从所述输出中标识出类别集合(在本文中有时称为最接近或最靠近的类别)。所标识的集合可以是由分类模型500定义的类别子集。在由分类模型300定义的特征空间中,所述集合的成员类别可以在彼此的接近度阈值内。接近度阈值可以定义在特定空间内的在其中要选择一个或多个类别的距离。在一些实施方式中,模型施加器530可以标识在输入到分类模型500中的特征向量的接近度阈值内的类别集合。在一些实施方式中,模型施加器530可以通过在特征空间内距输入特征向量的距离来对类别集合进行排名。
每个所标识的类别可以对应于如由分类模型500定义的多个类别之一。在客户端设备430上运行的应用435的所标识的类别可以与在其它客户端设备430上运行的至少一些其它应用435所标识的类别共同、共享或相同。如上所讨论的,由分类模型500定义的每个类别可以具有要归类到该类别中的多个客户端设备。
通过标识用于应用435的一个或多个类别,类别授权器550可以确定每个类别是否满足(例如,大于或等于)分配给该类别的应用435的阈值数量。该阈值数量可以划定或定义分配给该类别的应用435的数量,在其中可以使用该类别生成对内容的请求。可以将阈值数量设置为匹配或达到目标熵。可以存在由模型施加器530的每个单独实例分配给同一类别的多个应用435。但是,直到这样的应用435的数量超过阈值数量,该类别才可以用于生成对内容的请求。客户端设备435上的应用435的确定可以与类别认证服务(例如,在应用管理器服务410上执行的类别授权器550)协同或协调。类别授权器550的功能性可以在应用435和应用管理器服务410(或某些其它服务器设备)之间划分。该确定可以是根据阈值密码协议或针对概率数据结构的检查的。
在一些实施方式中,应用435的类别授权器550和应用管理器服务410的类别授权器550可以在进行确定时执行阈值密码协议。对于每个所标识的类别,应用435上的类别授权器550可以标识与该类别相对应的类别标识符520。在标识时,类别授权器550可以生成类别标识符520的加密副本。在一些实施方式中,类别授权器550可以根据非对称密码算法通过使用私有加密密钥的至少一部分来生成加密副本。非对称密码算法可以包括例如数字签名、Diffie-Hellman密钥交换、椭圆曲线密码、或Rivest-Shamir-Adleman(RSA)算法等等。应用435的类别授权器550可以生成认证请求,其包括类别标识符520的加密副本。一旦生成,应用435的类别授权器550就可以在应用管理器服务410上经由网络405将请所述求传送给类别授权器550。
在从客户端设备430接收到时,在应用管理器服务410上执行的类别授权器550可以解析该认证请求,以标识类别标识符520的加密副本。通过该标识,类别授权器550可以尝试从类别标识符520的加密副本中解密原始类别标识符520。所述解密可以根据非对称密码算法。在阈值密码协议下,直到具有相同类别标识符520的加密副本的接收到的认证请求的数量满足阈值数量,类别授权器550才可能无法成功地解密该加密副本。例如,无法解密可能是因为类别授权器550可能未接收到来自不同应用435的请求的私钥的足够部分。一旦接收到所述私钥的足够部分,类别授权器550就能够成功解密加密副本以恢复原始类别标识符520。
类别授权器550可以从对加密副本的解密中生成输出。如果具有针对相同类别标识符520的加密副本的请求的数量不满足(例如,小于)所述阈值,则类别授权器550可能无法从解密中恢复原始类别标识符550。因此,从尝试解密生成的输出可能与原始类别标识符520不匹配。另一方面,如果具有相同类别标识符520的加密副本的请求的数量满足(例如,大于或等于)所述阈值,则类别授权器550可以从所述解密中恢复原始类别标识符550。因此,从尝试解密生成的输出可以与原始类别标识符520匹配。通过使用所得到的输出,类别授权器550可以生成包括该输出的响应。一旦生成,应用管理器服务510上的类别授权器550就可以将具有所得到的输出的响应通过网络405传送到客户端设备430。
应用435的类别授权器550可以继而从运行在应用管理器服务410上的类别授权器550接收所述响应。一旦接收到,类别授权器550就可以解析该响应,以标识来自解密尝试的所得到的输出。类别授权器550可以将所得到的输出与对应于包括在认证请求中的类别的类别标识符520进行比较。当确定所得到的输出匹配时,类别授权器550可以确定该类别满足应用435的阈值数量。模型施加器530可以继续使用该类别和对应的类别标识符520。相反,当所得到的输出被确定为不匹配,则类别授权器550可以确定该类别不满足应用435的阈值数量。模型施加器530可以丢弃该类别和对应的类别标识符520以免进一步使用。另外,类别授权器550可以利用另一个类别重复阈值密码协议,以找到要在对内容的请求中使用的类别。
在一些实施方式中,对于每个所标识的类别,应用435的类别授权器550可以对照至少一个数据结构来检查与该类别相对应的类别标识符520以进行确定。所述数据结构可以由运行在应用管理器服务410(例如,数据库515)上的类别授权器550来维护。所述数据结构可以指示是否将任何应用435分配给该类别。所述数据结构还可以指示分配给该类别的应用435的数量是否满足阈值数量。在一些实施方式中,所述数据结构可以是概率数据结构。概率数据结构可以包括例如计数布隆过滤器、商过滤器、布谷过滤器、计数-最小略图等等。
为了执行检查,应用435的类别授权器550可以生成认证请求,该请求包括与该类别相对应的类别标识符520。在生成时,类别授权器550可以将认证请求发送到运行在应用管理器服务410上的类别授权器550。应用管理器服务410上的类别授权器550可以继而接收所述认证请求。类别授权器550可以解析该认证请求以标识类别标识符520。类别授权器550可以所述应用数据结构来确定分配给该类别的应用435的数量是否满足阈值数量。在应用所述数据结构时,类别授权器550可以将所述请求中包括的类别标识符520馈送到所述数据结构中,并且标识来自该数据结构的输出。另外,每次接收到认证请求时,类别授权器550就可以更新由应用管理器服务410维护的类别的数据结构。
如果数据结构指示该数量满足(例如,大于或等于)阈值数量,则应用管理器服务410上的类别授权器550可以生成成功响应。该响应可以指示应用435的数量满足阈值数量。应用管理器服务410上的类别授权器550可以将所述成功响应发送到应用435上的类别授权器550。基于接收到成功响应,应用435的类别授权器550可以将所述响应标识为指示满足阈值数量。另外,模型施加器530可以继续使用所述类别和对应的类别标识符520。
另一方面,如果所述数据结构指示该数量不满足(例如,小于)阈值数量,则应用管理器服务410上的类别授权器550可以生成失败响应。该响应可以指示应用435的数量不满足阈值数量。应用管理器服务410上的类别授权器550可以将失败响应发送到在应用435上的类别授权器550。基于接收到失败响应,应用435的类别授权器550可以将所述响应标识为指示不满足阈值数量。模型施加器530可以丢弃该类别和对应的类别标识符520以免进一步使用。另外,类别授权器550可以利用另一个类别重复该检查,以找到要在对内容的请求中使用的类别。
一旦确定至少一个类别满足分配给该类别的应用435的阈值数量,模型施加器530就可以将应用435分配给该类别的对应的类别标识符520。在一些实施方式中,模型施加器530可以标识与被确定为满足阈值数量的最接近类别相对应的类别标识符520。默认地,由模型施加器530分配给应用435的类别标识符520可以对应于所述最接近类别。在一些实施方式中,模型施加器530可以使用分类模型500来标识与所标识的类别相关联的类别标识符520。通过该标识,模型施加器530然后可以将类别标识符520分配给应用435。将类别标识符520分配给应用435可以指示应用435的浏览历史535与在具有相同类别标识符520的其它应用435上的其它浏览历史530相似。分配给在客户端设备430上运行的应用435的类别标识符520可以与在其它客户端设备430上运行的至少某些其它应用435的类别标识符520共同、共享或相同。
通过所述分配,模型施加器530可以将类别标识符520存储和维护到标识符缓存545上。例如,如所描绘的,第一应用435A的模型施加器530可以已经将第一应用435A标识为具有与具有对应于第一类别标识符520A的类别的其它应用435B-N相似的浏览模式。标识符缓存545可以控制由应用435所执行的脚本的访问以免访问类别标识符520。在一些实施方式中,模型施加器530可以将类别标识符520存储于在标识符缓存545上维护的安全cookie中。安全cookie可以包括具有安全标志或仅HTTP的标志集合的cookie。安全cookie可以防止在信息资源上的脚本访问被维护在标识符缓存545上的类别标识符520。此外,安全cookie可以允许授权实体访问在标识符缓存545中存储的类别标识符520。安全cookie可以将内容选择服务425或应用管理器服务410标识为允许访问在标识符缓存545上的类别标识符520。
模型施加器535可以根据标识符分配策略来确定是否应用分类模型500。标识符分配策略可以指定一组条件,在该条件下所述分类模型500被应用以用于重新分配类别标识符520。在一些实施方式中,标识符分配策略可以包括用于指示在其中应用分类模型500的时间的排程。标识符分配策略可以指定当应用管理器服务410提供对应用435的新更新时更新分类模型500。标识符分配策略可以指定当累积的附加浏览历史535的数量满足阈值数量时应用分类模型500。如果确定不是要重新应用分类模型500,则模型施加器530可以维护类别标识符520。另一方面,如果确定是要重新应用分类模型500,则模型施加器530可以重复上述功能操。例如,模型施加器530可以标识浏览历史535,使用降维过程来生成简化的特征向量集合,将分类模型500应用于简化的特征向量集合以标识所述类别,并且分配与所标识的类别相关联的分类器标识符520到所述应用435。
现在参考图6,描绘了用于描绘在系统400中的客户端设备430、内容提供者415、内容发布者420和内容选择服务425的一种实施方式的框图。总的来说,每个客户端设备430上的应用435(例如,如针对第一客户端设备430A所描绘的)可以包括至少一个资源处理器615,以处理对至少一个信息资源600和与内容提供者415、内容发布者420或内容选择服务425通信的其它数据的读取和解析。应用435也可以包括至少一个标识符选择器620,以确定将哪个类别标识符520插入到经由网络405发送的对内容的请求中。
更详细地,在客户端设备430上执行的资源处理器615可以从内容发布者420接收信息资源600。对信息资源600的接收可以响应于由应用435发送到内容发布者420的对信息资源600的请求,并且可以用于在客户端设备430上呈现。接收到的信息资源600(例如,网页)可以包括至少一个主要内容605(例如,网页的正文、文本和图像)和至少一个内容槽610(例如网页的内嵌框架)。主要内容605可以对应于由内容发布者420提供的信息资源600的一部分。内容槽610可以可用于从内容提供者415或内容选择服务425接收内容。要插入到内容槽610的内容可以具有与信息资源600的主机名不同的主机名。一旦被接收,资源处理器615就可以解析包括主要内容605和内容槽610的信息资源600。
对于信息资源600的内容槽610,资源处理器615可以生成请求625A-N(在本文中通常称为对内容的请求625)以发送到内容选择服务425。生成对内容的请求625可以根据用于将内容插入到内容槽610中的脚本(例如,广告标签或内容选择标签)。用于内容槽610的脚本可以被嵌入或包括在内容槽610本身中或信息资源600的另一部分。在生成对内容的请求625时,资源处理器615可以将地址630A-N(在本文中通常称为地址630)包括在对内容的请求625中。地址630可以引用针对内容槽610的由脚本指定的内容选择服务425,诸如用于内容选择服务425的URL。地址630可以指示对内容的请求625要被路由到的目的地地址。此外,资源处理器615可以包括用于将客户端设备430引用到对内容的请求625中的源地址。资源处理器615还可以包括与向应用435提供信息资源600的内容发布者420相对应的地址。
此外,标识符选择器620可以根据至少一种混淆策略(在本文中有时称为分发策略)来标识或以其它方式选择将哪个类别标识符520插入到对内容的请求625中。混淆策略可以指定允许或限制类别标识符520包含在对内容的请求625中的一个或多个条件。在一些实施方式中,混淆策略的条件可以特定于一个或多个信息资源600、信息资源610的主要内容605、或信息资源600的信息槽610、或其任何组合。在一些实施方式中,所述条件可以取决于浏览历史535的条目540。例如,混淆策略的条件可以指定另一个类别标识符520或者没有类别标识符520被包括在对内容的请求625中以用于信息资源600首次经由应用435进行访问。在另一个示例中,混淆策略的条件可以指定将另一个类别标识符520用于很少被访问(或如由浏览历史535所指示的被访问低于阈值数量)的信息资源600。在另一示例中,混淆策略可以指定:将不使用类别标识符520,除非接收到的信息资源600是根据超文本传输协议安全(HTTPS)协议的。以这种方式,混淆策略还可以通过在网络405上经由应用435访问信息资源600来进一步保护数据隐私。
在根据混淆策略进行选择时,标识符选择器620可以标识一个或多个条件以比较混淆策略。在一些实施方式中,标识符选择器620可以标识包括内容和地址的各个部分(例如,协议、域名和路径名称)的信息资源600。在一些实施方式中,标识符选择器620可以标识信息资源600上的各个主要内容605。在一些实施方式中,标识符选择器620可以标识要为其生成对内容的请求625的内容槽610。在一些实施方式中,标识符选择器620可以标识应用435的浏览历史535的条目540。利用这些标识,标识符选择器620可以对由混淆策略所指定的条件进行比较。如果确定条件不匹配,则标识符选择器620可以维持类别标识符520以被包括在对内容的请求625中。
另一方面,如果确定条件匹配,则标识符选择器620可以确定混淆策略指定允许还是限制类别标识符520。当混淆策略指定允许类别标识符520时,标识符选择器620可以维持类别标识符520以包括在对内容625的请求中。相反,当混淆策略指定限制类别标识符520时,标识符选择器620可以找到另一个类别标识符520或者没有类别标识符520。在一些实施方式中,混淆策略可以指定在这样的条件下将使用另一个类别标识符520。因此,标识符选择器620可以使用与由模型施加器530标识的类别集合相对应的另一个类别标识符520。在一些实施方式中,混淆策略可以指定在这样的条件下不包括类别标识符620。因此,标识符选择器620可以防止、移除或以其它方式限制任何类别标识符620以免被包括在对内容的请求625中。
通过选择类别标识符520,资源处理器615可以将针对应用435所选择的类别标识符520包括在对内容的请求625中。在一些实施方式中,资源处理器615可以访问标识符缓存545以检索类别标识符520。一旦被检索,资源处理器615就可以包括类别标识符520以包括对内容的请求625。在一些实施方式中,在解析用于内容槽610的脚本时由应用435最初生成对内容的请求625,并且可以起初包括唯一跟踪标识符。资源处理器615可以从对内容的请求625中删除或以其它方式排除与应用435(或运行应用435的客户端设备430、或与应用435相关联的账户)相对应的任何唯一跟踪标识符。唯一跟踪标识符可以包括例如对应于与应用435相关联的账户的cookie用户标识符、或对应于运行应用435的客户端设备430的cookie设备标识符。唯一跟踪标识符可能已经由内容提供者415或另一内容放置服务提供。一旦被移除,资源处理器615就可以将类别标识符520包括在对内容的请求625中。在一些实施方式中,资源处理器615可以用类别标识符520替换在对内容的请求625中包括的唯一跟踪标识符。在一些实施方式中,资源处理器615可以响应于根据混淆策略的确定而去除包括跟踪标识符的任何标识符或任何类别标识符520。
在一些实施方式中,资源处理器615可以将类别标识符520打包或包括在对内容620的请求的指定部分中。在一些实施方式中,资源处理器615可以将类别标识符520包括在对内容的请求625的至少一个报头字段中。在一些实施方式中,资源处理器615可以将类别标识符520包括在对内容的请求625的主体中。在一些实施方式中,资源处理器615可以将类别标识符520包括在cookie中。在一些实施方式中,可以结合对内容的请求625来生成cookie。在一些实施方式中,可以从应用435(例如,标识符缓存545)中检索所述cookie。所述cookie可以具有安全标志或仅HTTP的标志集合,以防止未经授权的实体对类别标识符520的拦截和访问。未经授权的实体可以包括除了内容选择服务425或应用管理器服务410之外的那些实体。通过设置安全标志或仅HTTP的标志,Cookie也可以限制通过网络405在安全通信信道(例如,超文本传输协议安全(HTTPS))上访问类别标识符520。资源处理器615可以将包含类别标识符520的cookie包括在对内容的请求625中。所述cookie还可以包括对应于向应用435提供信息资源600的内容发布者420的地址。在生成时,资源处理器615可以经由网络405将对内容的请求625传送到内容选择服务425。在一些实施方式中,应用435可以在客户端设备430和内容选择服务425之间(例如,根据HTTP)建立安全通信信道,以传送对内容的请求625。所述信道的建立可以允许内容选择服务425访问在对内容的请求625的cookie中所包括的类别标识符520。
由各个模型施加器530分配给在客户端设备430A-N上运行的不同应用435A-N的类别标识符520A-N可能不是特定于一个应用435A-N,并且可能无法唯一地标识应用435A-N。例如,如所描绘的,第一类别标识符520A可能已经被分配给在第一客户端设备430A上的第一应用435A以及在第二客户端设备430B上运行的第二应用435B。相比之下,第二类别标识符520B可能已经被分配给在第n客户端设备430N上运行的第n应用435N。这可能与专门标识由内容提供者415或其它内容放置服务提供的应用435A-N或客户端设备430A-N的诸如用户或客户端标识符之类的唯一跟踪标识符相反。另外,由于类别标识符520A-N可能不能唯一地标识在客户端设备430上运行的每个应用435,所以类别标识符520A-N可以具有比这样的唯一跟踪标识符更低的熵。例如,唯一跟踪标识符的熵可以具有大于63位的熵,而类别标识符520A-N的熵可以具有在18至52位之间的熵。这样,类别标识符520A-N的大小可以小于这些唯一跟踪标识符的大小,从而减少通过网络405发送的对内容的请求625的大小。
现在参考图7,描绘了用于描绘在系统400中的客户端设备430和内容选择服务425的一种实施方式的框图。内容选择服务425可以包括至少一个历史聚合器700以存储和维护浏览历史。内容选择服务425可以包括至少一个类别表征器705,以确定用于每个类别的选择参数。内容选择服务425可以包括至少一个内容放置器710,以通过使用所标识的类别来标识用于与请求620相关联的应用435的内容项725A-N(在本文中通常称为内容项725)。内容选择服务425可以包括至少一个历史数据库715,以维护和存储类别标识符520的浏览历史720A-N(在本文中通常称为条目720)。
更详细地,在内容选择服务425上执行的历史聚合器700可以通过使用包括在从客户端设备430接收的对内容620的请求中的cookie 630,来收集、聚合或以其它方式维护历史数据库715。历史数据库715可以包括由应用管理器服务410定义的类别标识符520所索引的一组条目720。每个条目720可以包括用于所访问的信息资源600的地址和用于指示信息资源600被访问的时间的时间戳。代替通过使用唯一跟踪标识符(例如,cookie标识符)来聚合客户端设备430的浏览历史,历史聚合器700可以通过类别标识符520来聚合浏览历史。与在每个单独应用435上维护的浏览历史530不同,历史数据库715可以不单独标识从其生成条目720的应用435(或与应用435相关联的用户)。每次接收到对内容的请求625时,历史聚合器700可以标识与将要在其上返回内容的信息资源600相对应的地址。历史聚合器700还可以标识在对内容的请求625中所包括的类别标识符520。利用这些标识,历史聚合器700可以将包括地址和时间戳(图4中未示出)的条目720添加到条目720的集合中以用于在对内容的请求625中所包括的类别标识符520。
在内容选择服务425上执行的类别表征器705可以基于用于每个类别的类别标识符520的条目720来确定用于该类别的一个或多个特征。所述特征可以包括例如与类别标识符520相对应的类别的共同特性、简档、行为或兴趣。在一些实施方式中,类别表征器705可以使用类别简档模型基于历史数据库715中的针对类别标识符520的条目720的集合来确定用于所述类别的特征。类别简档模型可以是任何模型,诸如线性回归、逻辑回归、人工神经网络(ANN)、支持向量机(SVM)、以及朴素贝叶斯分类器等。类别简档模型可以使用将由类别标识符520标记的浏览历史与某些特征相关联的样本数据集来训练。类别简档模型可以将在历史数据库715上的针对每个类别标识符520的条目720转换为对应类别的特征。在一些实施方式中,类别表征器705可以存储和维护用于每个类别标识符520的特征。在内容选择服务425上执行的内容放置器710可以通过使用类别标识符520响应于对内容的请求625而从内容项725的集合中选择或标识内容项725。类别标识符520的使用可能与使用用于与所述对内容的请求相关联的特定用户的唯一标识符形成对比,因为对内容项725的选择可能不是基于对特定用户唯一的标识符。每个内容项725可以包括要嵌入、插入或以其它方式添加到信息资源600的内容槽610的对象或元素。每个内容项725可以由一个或多个内容提供者415提供。在接收时,内容放置器710可以解析对内容的请求625以标识类别标识符520。在标识时,内容放置器710可以标识与类别标识符520相对应的类别的特征。内容放置器710可以标识或选择与类别的特征相关联的内容项725。在一些实施方式中,内容放置器710可以使用内容放置过程来选择内容项725。内容放置过程可以使用模型,诸如线性回归、逻辑回归、人工神经网络(ANN)、支持向量机(SVM)和朴素贝叶斯分类器等等。对于每个内容项725,内容放置过程可以计算、确定或生成与在对内容的请求625中包括的类别标识符520相对应的类别中的用户进行交互的预测可能性。内容放置器710可以标识具有与该类别中的用户进行交互的最大可能性的内容项725。一旦被选择,内容放置器710可以将内容项725发送到发起对内容的请求625的客户端设备430。在一些实施方式中,内容放置器710可以将用于内容项725的地址发送到客户端设备430,以用于应用435从内容提供者415检索所选择的内容项725。
结合图7返回参照图6,资源处理器615可以接收由内容选择服务425标识的内容项725。资源处理器615可以将内容项725嵌入、插入或添加到信息资源600的内容槽610中。在一些实施方式中,资源处理器615可以接收内容项725的地址。内容项725的地址可以引用内容提供者415。资源处理器615可以向内容提供者415发送另一个请求以检索内容项725,并将内容项725插入到信息资源600的内容槽610中。
以这种方式,内容选择服务425可以按期望与相同类别标识符520相关联的用户具有相似响应的预期来选择内容项725。此外,可以保留各个用户的浏览历史530上的数据安全性、完整性和隐私性。同时,通过用于确定内容项725的选择与各个类别的相关性的能力,可以维持与总体信息资源600的人机交互(HCI)的质量。
现在参考图8,描绘了用于描述通过使用分类模型对用于选择内容的标识符进行编码的方法800的一个实施方式的流程图。本文关于方法800描述的功能可以由如图4所示的系统400或者图9中所述的计算设备进行或以其它方式执行。在简要概述中,在客户端设备上运行的应用可以标识所访问的信息资源(805)。所述应用可以减小维度(810)。所述应用可以应用分类模型(815)。所述应用可以标识类别(820)。所述应用可以分配类别标识符(825)。所述应用可以确定是否允许类别标识符(830)。如果不是,则所述应用可以分配另一个类别标识符(835)。所述应用可以接收信息资源(840)。所述应用可以生成对内容的请求(845)。所述应用可以确定是否混淆类别标识符(850)。如果是这样,则所述应用可以使用另一个类别标识符(855)。所述应用可以包括类别标识符(860)。该应用可以传送对内容的请求(865)。所述应用可以接收所选择的内容项(870)。所述应用可以确定是否重新分配(875)。如果不是,则所述应用可以维护类别标识符(880)。
更详细地,客户端设备(例如,客户端设备430)上的应用(例如,应用435)可以标识所访问的信息资源(805)。在一些实施方式中,所述应用可以从浏览历史(例如,浏览历史530)中标识所访问的信息资源。浏览历史可以包括一组条目(例如,条目540)。每个条目可以包括所访问的信息资源的地址,并且在一些实施方式中,包括用于标识访问信息资源的时间的时间戳。对于每个所访问的信息资源,所述应用都可以从信息资源上的内容中提取特征。该应用可以从浏览历史的条目集合中生成特征向量集合。特征向量可以是浏览历史到维度集合的投影。维度可以包括时间范围和地址属性等等。该应用可以减小维度(810)。通过使用降维过程,所述应用可以从初始特征向量集合中生成简化的特征向量集合。在一些实施方式中,步骤(810)可以跨应用435和另一个服务器执行。在一些实施方式中,可以省略步骤(810)。在一些实施方式中,步骤(810)可以用分类模型的训练代替或与分类模型的训练结合。例如,分类模型可以通过使用分布式学习协议(诸如使用优化算法(例如,随机梯度下降(SGD)或平均)的联合学习)来训练。在每次迭代期间,每个应用都可以通过使用训练数据集来设置或调整分类模型的值,并可以根据分布式学习协议相互提供所述值。
所述应用可以将分类模型(例如,分类模型500)应用于从所存储的信息资源中提取的特征(815)。分类模型可以包括输入集合、参数集合和输出集合。分类模型可以例如是分类算法、聚类模型或局部敏感哈希函数等等。输入集合可以包括从所访问的信息资源中提取的特征、浏览历史的条目或浏览历史的表示。参数集合可以将输入与输出相关联。输出集合可以包括基于用户在所述应用上的浏览历史而将与所述应用交互的用户归类到其中的类别。该应用可以馈送降维特征向量集合作为分类模型的输入。分类模型可以将所述参数应用于所述输入。该应用可以标识类别(820)。通过分类模型的应用,分类模型可以生成用于标识与该应用交互的用户归类到其中的一个或多个类别的输出。应用的分类可以引申地对应于或包括与操作该应用的账户或由该用户操作的客户端设备相关联的用户的分类。该应用可以分配类别标识符(例如,类别标识符520)(825)。分类模型可以将每个类别与类别标识符之一相关联。一旦标识出类别标识符,所述应用就可以标识与该类别相对应的类别标识符,并且将该应用分配给该类别标识符。
所述应用可以确定是否允许类别标识符(830)。根据阈值密码方案,该确定可以与认证服务(例如,应用管理器服务410上的类别授权器550)协同或协调。该应用可以发送与该类别相对应的类别标识符的加密副本。在阈值密码方案下,认证服务可能无法对类别标识符进行解密,除非带有相同标识符的加密副本的请求的数量超过阈值数量。无法解密可能例如是因为认证服务可能未从所述请求接收到解密密钥(例如,私钥)的足够部分。一旦接收到足够的部分,认证服务就能够成功解密所述加密副本。认证服务可以返回所述解密尝试的输出。所述应用可以将输出与原始类别标识符进行比较。在匹配时,所述应用可以确定允许该类别。否则,所述应用可以确定未允许该类别。如果未允许所述类别标识符,则所述应用可以分配另一个类别标识符(835)。该应用可以从所标识的类别集合中找到另一个类别标识符,并且可以重复(830)中的功能性。
所述应用可以接收信息资源(例如,信息资源600)(840)。信息资源可以包括主要内容(例如,主要内容605)和内容槽(例如,内容槽610)。主要内容可以由内容发布者(例如,内容发布者420)提供。内容槽可用于插入来自内容提供者(例如,内容提供者415)或内容选择服务(例如,内容选择服务425)的内容。在接收后,所述应用可以解析信息资源。该应用可以生成对内容的请求(例如,对内容的请求625)(845)。生成对内容的请求可以与信息资源的解析结合在一起。
所述应用可以确定是否混淆类别标识符(850)。该确定可以根据混淆策略。混淆策略可以指定一个或多个条件,在所述条件下限制所述类别标识符包括在对内容的请求中。例如,所述条件可以包括根据其来接收信息资源的安全协议(例如,HTTPS)。在此示例中,混淆策略可以指定当在HTTPS下未加密信息资源时在对内容的请求中未包括类别标识符。所述应用可以标识与信息资源有关的条件,以与由混淆策略指定的条件进行比较。当所述条件不匹配时,应用可以确定不要混淆类别标识符,并且维护当前类别标识符。否则,当所述条件确实匹配时,所述应用可以确定要混淆类别标识符。如果确定类别标识符被混淆,则所述应用可以使用另一个类别标识符(855)。
所述应用可以将类别标识符包括在对内容的请求中(860)。对内容的请求可以包括与使用分类模型所标识的类别相对应的类别标识符。该应用还可以移除与该应用的用户、所述应用本身或在该应用上运行的客户端设备相关联的任何唯一跟踪标识符。唯一跟踪标识符可能已经被提供作为来自内容提供者或另一个内容放置平台的第三方cookie的一部分。类别标识符可以被包括作为在对内容的请求中所包括的安全cookie的一部分。该应用可以将对内容的请求传送到内容选择服务或其它内容提供者(865)。所述传送可以通过在客户端设备与内容选择服务之间建立的安全通信信道进行。对内容的请求可以由内容选择服务接收。内容选择服务可以使用在所述请求中包括的类别标识符以从一组内容项(例如,内容项725)中标识内容项。通过所述选择,内容选择服务可以将内容项发送到所述应用。该应用可以接收所选择的内容项(870)。所述应用可以将内容项插入到在信息资源上定义的内容槽中。
所述应用可以确定是否重新分配类别标识符(875)。重新分配可以根据标识符分配策略。该策略可以指定一组条件,在所述条件下分类模型将被再次应用于浏览历史以查找新的类别标识符。例如,重新分配策略可以指定当自从先前分配起在浏览历史中的附加条目的数量超过阈值数量时要重新应用分类模型。如果确定要重新分配,则所述应用可以重复功能(805)-(835)并且向前。另一方面,如果没有重新分配确定,则所述应用可以维护类别标识符(880)。
因此,本文描述的系统和方法允许选择与用户相关的内容项,而无需分别跟踪用户活动。以这种方式,可以保留各个用户的浏览历史上的数据安全性、完整性和隐私性。同时,通过确定内容项的选择与各个类别的相关性的能力,因此可以保持与总体信息资源的人机交互(HCI)的质量。
图9示出了根据一些实施方式的可以用来实现本文所讨论的任何计算机系统(包括应用管理器服务410及其组件、内容提供者415及其组件、内容发布者420及其组件、内容选择服务425及其组件、以及客户端设备430及其组件)的示例性计算机系统900的总体架构。计算机系统900可以用于经由网络930提供信息以供显示。计算机系统900包括可通信地耦合到存储器925的一个或多个处理器920、可通信地耦合到至少一个网络930(例如,网络405)的一个或多个通信接口905、以及一个或多个输出设备910(例如,一个或多个显示单元)和一个或多个输入设备915。
处理器920可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于电子、光学、磁性、或能够向处理器提供程序指令的任何其它存储或传输设备。存储器925可以包括任何计算机可读存储介质,并且可以存储诸如用于实施本文针对相应系统所述的各种功能性的处理器可执行指令之类的计算机指令、以及由此产生的或经由通信接口或输入设备(如果存在)接收的与之相关的任何数据。存储器925可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除ROM(EEPROM)、可擦除可编程ROM(EPROM)、闪存、光学介质、或处理器可以从其中读取指令的任何其它合适的存储器。所述指令可以包括来自任何合适的计算机编程语言的代码。
图9中所示的处理器920可以用于执行存储在存储器925中的指令,并且在这样做时,还可以从存储器中读取或向存储器中写入根据所述指令的执行而处理和/或生成的各种信息。与存储器925耦合的处理器920(在本文中统称为处理单元)可以被包括在应用管理器服务410中。例如,应用管理器服务410可以包括存储器925作为数据库515。与存储器925耦合的处理器920(在本文中统称为处理单元)可以被包括在内容提供者415中。例如,内容提供者415可以包括用于存储内容项725的存储器925。与存储器925耦合的处理器920(在本文中统称为处理单元)可以被包括在内容发布者420中。例如,内容发布者420可以包括用于存储信息资源600的存储器925。与存储器925耦合的处理器920(在本文中统称为处理单元)可以被包括在内容选择服务425中。例如,内容选择服务425可以包括存储器925作为历史数据库720。与存储器925耦合的处理器920(在本文中统称为处理单元)可以被包括在客户端设备430中。例如,客户端设备430可以包括存储器925作为浏览历史535和标识符缓存545。
计算机系统900的处理器920还可以通信地耦合到通信接口905或被制成用于控制通信接口905,以根据指令的执行来传送或接收各种信息。例如,通信接口905可以耦合到有线或无线网络、总线或其它通信装置,并且因此可以允许计算机系统900向其它设备(例如,其它计算机系统)发送信息或从其它设备(例如,其它计算机系统)接收信息。尽管在图4至图7或图9的系统中没有明确示出,但是一个或多个通信接口方便了在系统900的组件之间的信息流动。在一些实施方式中,可以(例如,经由各种硬件组件或软件组件)配置通信接口以提供网站作为计算机系统900的至少某些方面的访问门户。通信接口905的示例包括用户接口(例如,应用435、信息资源600、主要内容605、内容槽610和内容项725),用户可以通过该用户接口与系统400的其它用户进行通信。
例如,可以提供图9中所示的计算机系统900的输出设备910,以允许结合指令的执行来查看或以其它方式感知各种信息。例如可以提供输入设备915,以允许用户在指令执行期间进行手动调整、进行选择、输入数据、或以多种方式中的任何一种与处理器交互。本文中进一步提供了与可以用于本文所讨论的各种系统的通用计算机系统架构有关的附加信息。
网络930可以包括诸如互联网、局域网、广域网、城域网或其他局域网的计算机网络、内联网、卫星网络、诸如语音或数据移动电话通信网络的其他计算机网络、及其组合。网络930可以是在系统400的组件(诸如应用管理器服务410、内容提供者415、内容发布者420、内容选择服务425和客户端设备430)之间中继信息的任何形式的计算机网络。例如,网络930可以包括互联网和/或其他类型的数据网络,诸如局域网(LAN)、广域网(WAN)、蜂窝网络、卫星网络或其他类型的数据网络。网络930还可以包括被配置成在网络930内接收和/或传送数据的任何数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络930可以进一步包括任意数量的硬连线和/或无线连接。例如,客户端设备430可以(例如,经由WiFi、蜂窝、无线电等)与收发器无线地通信,该收发器被硬连线到(例如,经由光缆、CAT5电缆等)在网络930中的其他计算设备。
本说明书中描述的主题和操作的实施方式可以在数字电子电路中、或在包括在本说明书中公开的结构及其等同结构的有形介质、固件或硬件上体现的计算机软件中、或其中一种或多种的组合中实施。本说明书中描述的主题的实施方式可以实施为一个或多个计算机程序,即,计算机程序指令的一个或多个组件,其被编码在计算机存储介质上以由数据处理装置执行或用于控制数据处理装置的操作。程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,该信号被生成以对信息进行编码以传输到合适的接收器设备以由数据处理设备执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备、或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以包括以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个分开的物理组件或介质(例如,多个CD、磁盘或其他存储设备)或包含在其中。
本文公开的特征可以在智能电视模块(或连接的电视模块、混合电视模块等)上实施,该智能电视模块可以包括处理模块,该处理模块被配置成将互联网连接与更传统的电视节目源(例如,经由电缆、卫星、无线或其他信号接收)集成在一起。智能电视模块可以物理地合并到电视机中,或者可以包括分开的设备,诸如机顶盒、蓝光或其他数字媒体播放器、游戏机、酒店电视系统、以及其他配套设备。智能电视模块可以被配置成允许观众搜索和查找在web上、在本地有线电视频道上、在卫星电视频道上或存储在本地硬盘上的视频、电影、照片和其他内容。机顶盒(STB)或机顶单元(STU)可以包括信息家电设备,其可以包含调谐器并连接到电视机和外部信号源,将信号调谐为内容,然后将该内容显示在电视屏幕上或其他显示设备上。智能电视模块可以被配置成提供主屏幕或顶层屏幕,其包括用于多个不同应用(诸如web浏览器)和多个流媒体服务、连接的电缆或卫星媒体源、其他Web频道等等的图标。智能电视模块可以进一步被配置成向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算设备上操作,以向用户提供有关可用节目的附加信息,以允许用户控制智能电视模块等。在一些实施方式中,所述特征可以在膝上型计算机或其他个人计算机、智能手机、其他移动电话、掌上计算机、平板电脑或其他计算设备上实施。在一些实施方式中,本文所公开的特征可以被实施在可穿戴设备或组件(例如智能手表)上,该可穿戴设备或组件(例如智能手表)可以包括被配置为集成(与另一个计算设备或网络930的)互联网连接性的处理模块。
本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。
术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”涵盖用于处理数据的所有类型的装置、设备和机器,例如包括前述的可编程处理器、计算机、片上系统或在多个芯片上的系统、或上述的组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为在讨论中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台执行时环境、虚拟机、或其中一个或多个的组合的代码。所述装置和执行环境可以实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明性或过程语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象、或其他适合在计算环境中使用的单元。计算机程序可以但是不是必需对应于文件系统中的文件。程序可以存储在用于保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于讨论中的程序的单个文件、或多个协调文件(例如,用于存储一个或多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在位于一个站点、或分布在多个站点并通过通信网络互连的一个计算机或多个计算机上执行。
可以通过用于执行一个或多个计算机程序的一个或多个可编程处理器来执行本说明书中描述的处理和逻辑流程,以通过对输入数据进行操作并生成输出来执行动作。所述过程和逻辑流程也可以由专用逻辑电路执行,并且所述装置也可以实现为该专用逻辑电路,所述专用逻辑电路例如是FPGA(场可编程门阵列)或ASIC(专用集成电路),。
例如,适于执行计算机程序的处理器包括通用和专用微处理器、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或可操作地耦合至大容量存储设备以从中接收数据或对其传输数据,或者两者。然而,计算机不是必需具有此类设备。此外,计算机可以嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。所述处理器和存储器能够由专用逻辑电路补充或被并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描绘的主题的实施方式能够在具有显示设备和键盘与定点设备的计算机上实施,所述显示设备例如是CRT(阴极射线管)、等离子体、或者LCD(液晶显示器)监视器,用于向用户显示信息,所述定点设备例如为鼠标和轨迹球,用户能够通过其向计算机提供输入。其它类型的设备也能够用于提供与用户的交互。例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求而将网页发送到在用户的客户端设备上的web浏览器。
本说明书描述的主题的实施方式可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实施方式进行交互)或者包括一个或多个此类后端、中间件或前端组件的组合的计算系统中实现。所述系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网际网络(例如,互联网)和对等网络(例如,自组织(ad hoc)对等网络)。
诸如系统900或系统400的计算系统可以包括客户端和服务器。例如,系统400的应用管理器服务410、内容提供者415、内容发布者420和内容选择服务425中的每一个均可以包括在一个或多个数据中心或服务器场中的一个或多个服务器。客户端(例如客户端设备430)和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序而产生的。在一些实施方式中,服务器将数据(例如,HTML页面)传送到客户端设备(例如,出于向与客户端设备交互的用户显示数据并从其中接收用户输入的目的)。可以从在服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
本说明书描述的主题的实施方式可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实施方式进行交互)或者包括一个或多个此类后端、中间件或前端组件的组合的计算系统中实现。所述系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网际网络(例如,互联网)和对等网络(例如,自组织(ad hoc)对等网络)。
在此处描述的系统收集有关用户的个人信息、或可以使用个人信息的情况下,可以为用户提供机会以控制程序或特征是否可以收集用户信息(例如,有关用户的社交网络、社交行为或活动、职业、用户的偏好或用户当前地理位置的信息)、或控制是否和/或如何从内容服务器接收与用户更相关的内容。此外,某些数据在存储或使用之前可能会以一种或多种方式处理,使得在生成参数时删除个人身份信息。例如,可以匿名化用户的身份,使得无法为该用户确定任何个人身份信息,或者可以在获得位置信息的情况下概括用户的地理位置(诸如城市、邮政编码或州级别),使得无法确定用户的具体位置。因此,用户可以控制如何收集有关他或她的信息和/或由内容服务器所使用的信息。
尽管本说明书包含许多特定实施方式的细节,但是这些不应被解释为对任何发明或可要求保护的范围的限制,而应被解释为对本文所述的系统和方法的特定实施方式所特定的特征的描述。在本说明书中在分开的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实施。相反地,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中来实施。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从所述组合中切除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以顺序执行这样的操作,或者执行所有图示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。而且,在上述实施方式中的各种系统组件的分开不应被理解为在所有实施方式中都需要这种分开,并且应当理解,所描述的程序组件和系统通常可以被集成在一起在单个软件产品中或打包成多个软件产品。
因此,已经描述了本主题的特定实施方式。其它实施方式在所附权利要求的范围内。在某些情况下,可以按不同的顺序执行权利要求中记载的动作,并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些实施方式中,可以利用多任务或并行处理。

Claims (20)

1.一种用于匿名化以提供伪个性化聚类的方法,包括:
由一个或多个计算设备将从客户端设备接收的向量与从其他客户端设备获得的向量聚合成矩阵;
由所述一个或多个计算设备计算所述矩阵的降维,以获得表示从所述客户端设备和所述其他客户端设备获得的所聚合的向量的降维矩阵;
由所述一个或多个计算设备确定所述降维矩阵的聚类;
由所述一个或多个计算设备基于所述降维矩阵的所识别的聚类和奇异向量来调整分类器模型;
由所述一个或多个计算设备向所述客户端设备传送所述奇异向量中的至少一些奇异向量和所述分类器模型的权重;
由所述一个或多个计算设备从所述客户端设备接收对内容的请求,所述请求包括由所述客户端设备使用所述奇异向量中的所述至少一些奇异向量、所述分类器模型的所述权重和通过在所述客户端设备处执行的第一应用访问的资源的特征生成的聚类标识符;和
响应于所述请求向所述客户端设备传送使用与在所述请求中接收的所述聚类标识符相对应的所述聚类中的一个的参数选择的内容。
2.根据权利要求1所述的方法,还包括:
由所述一个或多个计算设备基于所述分类器模型的所述权重和所述降维矩阵的所述奇异向量来确定所述聚类当中每个特定聚类的所述参数。
3.根据权利要求2所述的方法,其中,确定每个特定聚类的所述参数包括:
对于每个特定聚类:
计算表示由该特定聚类表示的客户端设备的聚合浏览历史的简档向量;和
基于与所述聚合浏览历史相对应的关键词或主题来推断该聚类的所述参数。
4.根据权利要求1所述的方法,还包括:
由所述客户端设备识别通过在所述客户端设备上执行的所述第一应用访问的多个资源;和
由所述客户端设备从所述多个资源中的每个资源提取与该资源提供的内容的至少一部分相对应的一个或多个特征。
5.根据权利要求4所述的方法,还包括:
由所述客户端设备使用所述奇异向量中的所述至少一些奇异向量、所述分类器模型的所述权重以及从所述多个资源中的每个资源提取的所述一个或多个特征来生成所述聚类标识符;
由所述客户端设备生成包括所述聚类标识符的对内容的所述请求;和
由所述客户端设备向所述一个或多个计算设备传送包括所述聚类标识符的所述请求。
6.根据权利要求5所述的方法,还包括:
由所述客户端设备确定至少阈值数量的应用被分配了所述聚类标识符,其中,在所述请求中包括所述聚类标识符是以至少所述阈值数量的应用被分配了所述聚类标识符为条件。
7.根据权利要求6所述的方法,其中,确定至少所述阈值数量的应用被分配了所述聚类标识符包括使用利用所述聚类标识符生成的加密标识符与授权服务协同地执行阈值密码协议。
8.一种系统,包括:
一个或多个计算设备;以及
与所述一个或多个计算设备耦合的一个或多个存储器设备,其中,由所述一个或多个计算设备执行的指令使所述一个或多个计算设备执行操作,所述操作包括:
将从客户端设备接收的向量与从其他客户端设备获得的向量聚合成矩阵;
计算所述矩阵的降维,以获得表示从所述客户端设备和所述其他客户端设备获得的所聚合的向量的降维矩阵;
确定所述降维矩阵的聚类;
基于所述降维矩阵的所识别的聚类和奇异向量来调整分类器模型;
向所述客户端设备传送所述奇异向量中的至少一些奇异向量和所述分类器模型的权重;
从所述客户端设备接收对内容的请求,所述请求包括聚类标识符,所述聚类标识符由所述客户端设备使用所述奇异向量中的所述至少一些奇异向量、所述分类器模型的所述权重和通过在所述客户端设备处执行的第一应用访问的资源的特征来生成;和
响应于所述请求向所述客户端设备传送使用与在所述请求中接收的所述聚类标识符相对应的所述聚类中的一个的参数选择的内容。
9.根据权利要求8所述的系统,其中,所述指令使所述一个或多个计算设备执行操作,所述操作还包括:
基于所述分类器模型的所述权重和所述降维矩阵的所述奇异向量来确定所述聚类当中每个特定聚类的所述参数。
10.根据权利要求9所述的系统,其中,确定每个特定聚类的所述参数包括:
对于每个特定聚类:
计算表示由该特定聚类表示的客户端设备的聚合浏览历史的简档向量;和
基于与所述聚合浏览历史相对应的关键词或主题来推断该聚类的所述参数。
11.根据权利要求8所述的系统,还包括:
被配置为执行指令的客户端设备,所述指令使所述客户端设备执行操作,所述操作包括:
识别通过在所述客户端设备上执行的所述第一应用访问的多个资源;和
从所述多个资源中的每个资源提取与该资源提供的内容的至少一部分相对应的一个或多个特征。
12.根据权利要求11所述的系统,其中,所述指令使所述客户端设备执行操作,所述操作还包括:
使用所述奇异向量中的所述至少一些奇异向量、所述分类器模型的所述权重以及从所述多个资源中的每个资源提取的所述一个或多个特征来生成所述聚类标识符;
生成包括所述聚类标识符的对内容的所述请求;和
向所述一个或多个计算设备传送包括所述聚类标识符的所述请求。
13.根据权利要求12所述的系统,其中,所述指令使所述客户端设备执行操作,所述操作还包括:
确定至少阈值数量的应用被分配了所述聚类标识符,其中,在所述请求中包括所述聚类标识符是以至少所述阈值数量的应用被分配了所述聚类标识符为条件。
14.根据权利要求13所述的系统,其中,确定至少所述阈值数量的应用被分配了所述聚类标识符包括使用利用所述聚类标识符生成的加密标识符与授权服务协同地执行阈值密码协议。
15.一个或多个存储指令的非暂时性计算机可读介质,所述指令在由一个或多个数据处理装置执行时,使所述一个或多个数据处理装置执行操作,所述操作包括:
将从客户端设备接收的向量与从其他客户端设备获得的向量聚合成矩阵;
计算所述矩阵的降维,以获得表示从所述客户端设备和所述其他客户端设备获得的所聚合的向量的降维矩阵;
确定所述降维矩阵的聚类;
基于所述降维矩阵的所识别的聚类和奇异向量来调整分类器模型;
向所述客户端设备传送所述奇异向量中的至少一些奇异向量和所述分类器模型的权重;
从所述客户端设备接收对内容的请求,所述请求包括由所述客户端设备使用所述奇异向量中的所述至少一些奇异向量、所述分类器模型的所述权重和通过在所述客户端设备处执行的第一应用访问的资源的特征生成的聚类标识符;和
响应于所述请求向所述客户端设备传送使用与在所述请求中接收的所述聚类标识符相对应的所述聚类中的一个的参数选择的内容。
16.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,所述指令使所述一个或多个数据处理装置执行操作,所述操作还包括:
基于所述分类器模型的所述权重和所述降维矩阵的所述奇异向量来确定所述聚类当中每个特定聚类的所述参数。
17.根据权利要求16所述的一个或多个非暂时性计算机可读介质,其中,确定每个特定聚类的所述参数包括:
对于每个特定聚类:
计算表示由该特定聚类表示的客户端设备的聚合浏览历史的简档向量;和
基于与所述聚合浏览历史相对应的关键词或主题来推断该聚类的所述参数。
18.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,所述指令使所述客户端设备执行操作,所述操作包括:
识别通过在所述客户端设备上执行的所述第一应用访问的多个资源;和
从所述多个资源中的每个资源提取与该资源提供的内容的至少一部分相对应的一个或多个特征。
19.根据权利要求18所述的一个或多个非暂时性计算机可读介质,其中,所述指令使所述客户端设备执行操作,所述操作还包括:
使用所述奇异向量中的所述至少一些奇异向量、所述分类器模型的所述权重以及从所述多个资源中的每个资源提取的所述一个或多个特征来生成所述聚类标识符;
生成包括所述聚类标识符的对内容的所述请求;和
向所述一个或多个数据处理装置传送包括所述聚类标识符的所述请求。
20.根据权利要求19所述的一个或多个非暂时性计算机可读介质,其中,所述指令使所述客户端设备执行操作,所述操作还包括:
确定至少阈值数量的应用被分配了所述聚类标识符,其中,在所述请求中包括所述聚类标识符是以至少所述阈值数量的应用被分配了所述聚类标识符为条件。
CN202211463304.2A 2019-08-08 2020-03-31 用于内容准个性化的低熵浏览历史 Pending CN115766253A (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US16/535,912 2019-08-08
US16/535,912 US11194866B2 (en) 2019-08-08 2019-08-08 Low entropy browsing history for content quasi-personalization
US201962887902P 2019-08-16 2019-08-16
US62/887,902 2019-08-16
US16/698,548 2019-11-27
US16/698,548 US11423441B2 (en) 2019-08-08 2019-11-27 Low entropy browsing history for ads quasi-personalization
PCT/US2020/026020 WO2021025732A1 (en) 2019-08-08 2020-03-31 Low entropy browsing history for content quasi-personalization
CN202080006300.4A CN113169982B (zh) 2019-08-08 2020-03-31 用于内容准个性化的低熵浏览历史

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080006300.4A Division CN113169982B (zh) 2019-08-08 2020-03-31 用于内容准个性化的低熵浏览历史

Publications (1)

Publication Number Publication Date
CN115766253A true CN115766253A (zh) 2023-03-07

Family

ID=70471098

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080006300.4A Active CN113169982B (zh) 2019-08-08 2020-03-31 用于内容准个性化的低熵浏览历史
CN202211463304.2A Pending CN115766253A (zh) 2019-08-08 2020-03-31 用于内容准个性化的低熵浏览历史

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202080006300.4A Active CN113169982B (zh) 2019-08-08 2020-03-31 用于内容准个性化的低熵浏览历史

Country Status (8)

Country Link
US (1) US11954705B2 (zh)
EP (1) EP3868077A1 (zh)
JP (2) JP7254923B2 (zh)
KR (1) KR102502616B1 (zh)
CN (2) CN113169982B (zh)
DE (1) DE112020000136T5 (zh)
GB (1) GB2593363A (zh)
WO (1) WO2021025732A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113169982B (zh) 2019-08-08 2022-11-29 谷歌有限责任公司 用于内容准个性化的低熵浏览历史
US11194866B2 (en) 2019-08-08 2021-12-07 Google Llc Low entropy browsing history for content quasi-personalization
CN111475392B (zh) * 2020-04-08 2022-05-20 北京字节跳动网络技术有限公司 生成预测信息的方法、装置、电子设备和计算机可读介质
US20220239733A1 (en) * 2021-01-28 2022-07-28 Intuit Inc. Scalable request authorization
KR102598102B1 (ko) * 2022-02-14 2023-11-03 주식회사 애드쉴드 광고 차단 기능에 대응하여 난독화된 광고를 제공하기 위한 방법 및 장치
US20230262029A1 (en) * 2022-02-14 2023-08-17 Adshield, Inc. Method and device for providing advertisement by couteracting on advertisement blocking function
EP4328779A1 (en) * 2022-08-26 2024-02-28 Siemens Healthineers AG Structuring data for privacy risks assessments

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6962940B2 (en) 2002-03-20 2005-11-08 Celgene Corporation (+)-2-[1-(3-Ethoxy-4-methoxyphenyl)-2-methylsulfonylethyl]-4-acetylaminoisoindoline-1,3-dione: methods of using and compositions thereof
US8122360B2 (en) 2007-06-27 2012-02-21 Kosmix Corporation Automatic selection of user-oriented web content
US7779040B2 (en) 2007-09-27 2010-08-17 Amazon Technologies, Inc. System for detecting associations between items
JP5242507B2 (ja) 2009-06-22 2013-07-24 日本電信電話株式会社 広告配信システム、広告配信サーバー、広告配信方法および広告配信プログラム
US9129000B2 (en) * 2010-04-30 2015-09-08 International Business Machines Corporation Method and system for centralized control of database applications
US20120203723A1 (en) 2011-02-04 2012-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Server System and Method for Network-Based Service Recommendation Enhancement
US8763080B2 (en) * 2011-06-07 2014-06-24 Blackberry Limited Method and devices for managing permission requests to allow access to a computing resource
EP2533168B1 (en) * 2011-06-07 2017-01-25 BlackBerry Limited Method and devices for managing permission requests to allow access to computing resource
US9519726B2 (en) * 2011-06-16 2016-12-13 Amit Kumar Surfacing applications based on browsing activity
JP5730734B2 (ja) * 2011-09-28 2015-06-10 株式会社Nttドコモ アプリケーション推薦装置、アプリケーション推薦方法及びアプリケーション推薦プログラム
CN103647800B (zh) * 2013-11-19 2017-12-12 乐视致新电子科技(天津)有限公司 推荐应用资源的方法及系统
CN104899220B (zh) * 2014-03-06 2021-06-25 腾讯科技(深圳)有限公司 应用程序推荐方法和系统
CN105991722B (zh) * 2015-02-12 2020-03-10 Oppo广东移动通信有限公司 一种下载器推荐方法、应用服务器、终端及系统
US20170046510A1 (en) * 2015-08-14 2017-02-16 Qualcomm Incorporated Methods and Systems of Building Classifier Models in Computing Devices
US20170091303A1 (en) 2015-09-24 2017-03-30 Intel Corporation Client-Side Web Usage Data Collection
US20160162924A1 (en) * 2015-11-27 2016-06-09 Yogesh Rathod Track user activities and in exchange provide points to use for various activities including advertising contents to targeted users of network
CN105608117B (zh) * 2015-12-14 2019-12-10 微梦创科网络科技(中国)有限公司 一种信息推荐方法及装置
US20170262894A1 (en) * 2016-03-11 2017-09-14 Facebook, Inc. Expanding targeting criteria for content items based on user characteristics and weights associated with users satisfying the targeting criteria
US11030651B2 (en) 2016-05-06 2021-06-08 Adp, Llc Segmented user profiles
US10496263B2 (en) 2017-01-03 2019-12-03 Jpmorgan Chase Bank, N.A. De-anonymization of website visitor identity
RU2757546C2 (ru) * 2017-07-25 2021-10-18 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для создания персонализированного пользовательского параметра интереса для идентификации персонализированного целевого элемента содержимого
US20190122111A1 (en) * 2017-10-24 2019-04-25 Nec Laboratories America, Inc. Adaptive Convolutional Neural Knowledge Graph Learning System Leveraging Entity Descriptions
CN113169982B (zh) 2019-08-08 2022-11-29 谷歌有限责任公司 用于内容准个性化的低熵浏览历史
US11194866B2 (en) 2019-08-08 2021-12-07 Google Llc Low entropy browsing history for content quasi-personalization

Also Published As

Publication number Publication date
JP7254923B2 (ja) 2023-04-10
EP3868077A1 (en) 2021-08-25
US20220391947A1 (en) 2022-12-08
DE112020000136T5 (de) 2021-07-29
GB202107197D0 (en) 2021-06-30
WO2021025732A1 (en) 2021-02-11
JP2022542624A (ja) 2022-10-06
US20230222542A9 (en) 2023-07-13
CN113169982B (zh) 2022-11-29
GB2593363A (en) 2021-09-22
JP2023093490A (ja) 2023-07-04
CN113169982A (zh) 2021-07-23
KR102502616B1 (ko) 2023-02-23
KR20210066009A (ko) 2021-06-04
US11954705B2 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
CN113169982B (zh) 用于内容准个性化的低熵浏览历史
KR102564387B1 (ko) 콘텐츠 준-개인화를 위한 낮은 엔트로피 브라우징 이력
KR20140006063A (ko) 추천 서비스들에서 사생활 보호
US11423441B2 (en) Low entropy browsing history for ads quasi-personalization
KR20220137943A (ko) 패턴 기반 분류
US20220374546A1 (en) Privacy preserving data collection and analysis
US11379604B2 (en) Systems and methods for encryption of content request data
US20240211996A1 (en) Low entropy browsing history for ads quasi-personalization
KR102674624B1 (ko) 콘텐츠 준-개인화를 위한 낮은 엔트로피 브라우징 이력
CN113785307A (zh) 安全和隐私保护设备分类的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination