KR20210134902A - Restrict the provision and display of redundant digital components on client devices - Google Patents

Restrict the provision and display of redundant digital components on client devices Download PDF

Info

Publication number
KR20210134902A
KR20210134902A KR1020217027304A KR20217027304A KR20210134902A KR 20210134902 A KR20210134902 A KR 20210134902A KR 1020217027304 A KR1020217027304 A KR 1020217027304A KR 20217027304 A KR20217027304 A KR 20217027304A KR 20210134902 A KR20210134902 A KR 20210134902A
Authority
KR
South Korea
Prior art keywords
digital
digital component
content
client device
user
Prior art date
Application number
KR1020217027304A
Other languages
Korean (ko)
Other versions
KR102590412B1 (en
Inventor
빅터 카뷴
매튜 샤리피
Original Assignee
구글 엘엘씨
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 RO202000282A external-priority patent/RO135285A2/en
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20210134902A publication Critical patent/KR20210134902A/en
Application granted granted Critical
Publication of KR102590412B1 publication Critical patent/KR102590412B1/en

Links

Images

Classifications

    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data

Abstract

클라이언트에서 중복 디지털 컴포넌트의 제공 및 디스플레이를 제한하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 장치. 방법은 클라이언트 디바이스에 의해, 클라이언트 디바이스에 제공할 수 있는 디지털 컴포넌트들을 특정하는 디지털 컴포넌트들의 리스트를 저장하는 단계를 포함할 수 있다. 제1 애플리케이션 내에서 수신된 제1 디지털 컴포넌트에 대해, 클라이언트 디바이스는 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 및 제1 사용자 인터렉션에 응답하여 제공된 콘텐츠와의 제2 사용자 인터렉션을 특정하는 신호들의 세트를 검출한다. 긍정적인 사용자 액션이 수행되었는지 여부에 기초하여, 클라이언트 디바이스는 디지털 컴포넌트들의 리스트를 수정할 수 있다. 제2 애플리케이션 내의 콘텐츠 페이지에 대한 액세스 요청이 수신되면, 클라이언트 디바이스는 제2 디지털 컴포넌트를 수신할 수 있으며, 이는 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트 중에서 선택될 수 있다.A method, system and apparatus comprising a computer program encoded on a computer storage medium for limiting the presentation and display of redundant digital components at a client. The method may include storing, by the client device, a list of digital components specifying digital components capable of providing to the client device. For a first digital component received within the first application, the client device generates a set of signals specifying a first user interaction with the first digital component and a second user interaction with content provided in response to the first user interaction. detect Based on whether a positive user action has been performed, the client device may modify the list of digital components. Upon receiving the request for access to the content page in the second application, the client device may receive a second digital component, which may be selected from among the digital components included in the modified list of digital components.

Figure P1020217027304
Figure P1020217027304

Description

클라이언트 디바이스에서 중복 디지털 컴포넌트의 제공 및 디스플레이 제한Restrict the provision and display of redundant digital components on client devices

관련 출원에 대한 상호 참조CROSS-REFERENCE TO RELATED APPLICATIONS

본 출원은 2020년 4월 27일 출원된 루마니아 특허 출원 제A/10018/2020호 및 2020년 5월 22일 출원된 루마니아 특허 출원 제A/00282/2020호에 우선권을 주장하며, 그 내용은 그 전체가 본원에 참조로서 통합된다.This application claims priority to Romanian Patent Application No. A/10018/2020, filed on April 27, 2020, and Romanian Patent Application No. A/00282/2020, filed on May 22, 2020, the contents of which are The entirety is incorporated herein by reference.

본 명세서는 적어도 이전 사용자 인터렉션 및/또는 이러한 디지털 컴포넌트 및/또는 이와 관련된 추가 콘텐츠에 대한 사용자 액션에 기초하여 클라이언트 디바이스에서 중복 디지털 컴포넌트들의 제공 및 디스플레이를 제한하는 것에 관한 것이다. This disclosure relates to limiting the presentation and display of redundant digital components at a client device based at least on previous user interactions and/or user actions on such digital components and/or additional content related thereto.

클라이언트 디바이스는 애플리케이션(예: 웹브라우저, 네이티브 애플리케이션)을 사용하여 콘텐츠 플랫폼(예: 검색 플랫폼, 소셜 미디어 플랫폼 또는 콘텐츠를 호스팅하는 다른 플랫폼)에 액세스할 수 있다. 콘텐츠 플랫폼은 클라이언트 디바이스에서 런칭된 애플리케이션 내에서 하나 이상의 콘텐츠 소스/플랫폼에 의해 제공될 수 있는 디지털 컴포넌트(예를 들어, 비디오 클립, 오디오 클립, 멀티미디어 클립, 이미지, 텍스트 또는 콘텐츠의 다른 유닛)를 디스플레이할 수 있다. 예를 들어, 클라이언트 디바이스에서 실행되는 브라우저 애플리케이션이 "렌트카"에 대한 인터넷 검색을 수행하는데 사용되는 경우, 콘텐츠 소스 및/또는 플랫폼은 렌트카 회사 및 해당 회사의 웹사이트에 대한 링크로부터 렌트카에 대한 정보를 제공하는 디지털 컴포넌트를 포함하는 검색 결과 페이지를 제공할 수 있다. A client device may use an application (eg, a web browser, native application) to access a content platform (eg, a search platform, social media platform, or other platform hosting the content). The content platform displays digital components (eg, video clips, audio clips, multimedia clips, images, text or other units of content) that may be provided by one or more content sources/platforms within an application launched on the client device. can do. For example, if a browser application running on the client device is used to perform an internet search for "rental car", the content source and/or platform may obtain information about the car rental from the car rental company and links to their websites. A search result page including the provided digital component may be provided.

일반적으로, 본 명세서에 기술된 발명의 일 혁신적 양태는 클라이언트 디바이스에 의해, 상기 클라이언트 디바이스서 실행되는 애플리케이션에 제공될 수 있는 디지털 컴포넌트들의 세트를 특정하는 디지털 컴포넌트들의 리스트를 저장하는 단계; 상기 클라이언트 디바이스에서 실행되는 제1 애플리케이션 내에서, 제1 콘텐츠 제공자에 의해 제공되는 제1 디지털 컴포넌트를 수신하는 단계; 상기 클라이언트 디바이스에 의해, (i) 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 및 (ii) 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션에 응답하여 제공된 콘텐츠와의 제2 사용자 인터렉션을 특정하는 신호들의 세트를 검출하는 단계; 상기 클라이언트 디바이스에 의해, 상기 신호들의 세트에 기초하여, 긍정적인 사용자 액션이 상기 클라이언트 디바이스의 사용자에 의해 수행되었음을 결정하는 단계, 상기 긍정적인 사용자 액션은 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 이후 상기 사용자에 의한 특정된 타겟 액션의 수행을 표현하며; 상기 클라이언트 디바이스에 의해, 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 이후 상기 사용자에 의한 긍정적인 사용자 액션에 기초하여, 상기 디지털 컴포넌트들의 리스트를 수정하는 단계; 상기 클라이언트 디바이스에서 실행되는 제2 애플리케이션 내의 콘텐츠 페이지에 액세스하기 위한 요청을 수신하는 단계, 제1 애플리케이션은 상기 제2 애플리케이션과 상이하며; 상기 콘텐츠 페이지에 액세스하기 위한 요청을 수신함에 응답하여, 상기 디지털 컴포넌트들의 수정된 리스트의 일부를 포함하는 콘텐츠에 대한 요청을 제2 콘텐츠 제공자에게 송신하는 동작, 상기 디지털 컴포넌트들의 수정된 리스트의 일부는 상기 콘텐츠에 대한 요청에 응답하여 제1 디지털 컴포넌트의 선택을 방지하며, 제1 콘텐츠 제공자는 상기 제2 콘텐츠 제공자와 상이하며; 상기 콘텐츠에 대한 요청에 응답하여, 상기 클라이언트 디바이스에 의해, 제2 애플리케이션 내에서, 상기 제2 콘텐츠 제공자로부터 제2 디지털 컴포넌트를 수신하는 단계, 상기 제2 디지털 컴포넌트는 상기 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트들 중에서 선택되며; 및 상기 제2 애플리케이션 내의 콘텐츠 페이지에 디스플레이하기 위해 상기 제2 디지털 컴포넌트를 제공하는 단계를 포함한다.Generally, one innovative aspect of the invention described herein comprises the steps of: storing, by a client device, a list of digital components specifying a set of digital components that can be provided to an application running on the client device; receiving, within a first application executing on the client device, a first digital component provided by a first content provider; signals specifying, by the client device, (i) a first user interaction with a first digital component and (ii) a second user interaction with content provided in response to the first user interaction with the first digital component. detecting a set; determining, by the client device, based on the set of signals, that a positive user action has been performed by a user of the client device, the positive user action being performed after a first user interaction with the first digital component represent performance of a specified target action by the user; modifying, by the client device, the list of digital components based on a positive user action by the user after the first user interaction with the first digital component; receiving a request to access a content page in a second application executing on the client device, the first application being different from the second application; in response to receiving the request to access the page of content, sending a request for content including a portion of the modified list of digital components to a second content provider, wherein the portion of the modified list of digital components is prevent selection of a first digital component in response to the request for content, wherein a first content provider is different from the second content provider; receiving, by the client device, within a second application, a second digital component from the second content provider in response to the request for the content, the second digital component being added to the modified list of digital components selected from among the included digital components; and providing the second digital component for display on a content page in the second application.

이 양태들의 다른 실시예는 상기 방법들의 액션들을 수행하도록 구성된 대응 방법들, 장치들 및 컴퓨터 저장 디바이스들에 인코딩된 컴퓨터 프로그램들을 포함한다. 이들 또는 다른 실시예들은 다음 구성들 중 하나 이상을 각각 선택적으로 포함할 수 있다.Another embodiment of these aspects includes computer programs encoded in corresponding methods, apparatuses and computer storage devices configured to perform the actions of the above methods. These or other embodiments may each optionally include one or more of the following configurations.

방법들은 상기 제1 디지털 컴포넌트와 연관된 신호들의 세트를 기계 학습 모델에 입력하는 단계, 상기 기계 학습 모델은 특정한 디지털 컴포넌트와 연관된 신호들의 특정한 세트에 기초하여, 상기 사용자가 상기 특정한 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 예측하며, 상기 기계 학습 모델은 복수의 트레이닝 디지털 컴포넌트들에 대한 트레이닝 데이터를 사용하여 트레이닝되며, 각 트레이닝 디지털 컴포넌트에 대한 트레이닝 데이터는 상기 트레이닝 디지털 컴포넌트와 연관된 신호들의 세트 및 사용자가 상기 트레이닝 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 표시하는 대응 라벨을 포함하며; 및 상기 기계 학습 모델로부터, 상기 기계 학습 모델에 입력된 상기 제1 디지털 컴포넌트와 연관된 신호들의 세트에 응답하여, 사용자가 상기 제1 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 특정하는 표시를 획득하는 단계를 포함한다.Methods include inputting a set of signals associated with the first digital component into a machine learning model, wherein the machine learning model is based on a particular set of signals associated with a particular digital component, wherein the user is positive with the particular digital component. Predict whether an action has been taken, wherein the machine learning model is trained using training data for a plurality of training digital components, the training data for each training digital component comprising a set of signals associated with the training digital component and a user a corresponding label indicating whether a positive user action was taken with the training digital component; and in response to a set of signals associated with the first digital component input to the machine learning model, obtaining, from the machine learning model, an indication specifying whether a user performed a positive user action with the first digital component. includes steps.

방법들은 디지털 컴포넌트들의 순위 리스트를 저장하는 단계, 상기 순위 리스트에서 상기 제1 디지털 컴포넌트에 대응하는 순위를 낮춰 디지털 컴포넌트들의 리스트를 수정하는 단계 또는 상기 디지털 컴포넌트들의 리스트로부터 상기 제1 디지털 컴포넌트를 제거하는 단계를 포함한다.The methods include storing a ranked list of digital components, modifying a list of digital components by lowering a rank corresponding to the first digital component in the ranked list, or removing the first digital component from the list of digital components. includes steps.

방법들은 수정된 리스트의 일부를 포함하는 콘텐츠에 대한 요청을 제2 콘텐츠 제공자에게 송신하는 단계를 포함할 수 있으며, 디지털 컴포넌트들의 수정된 리스트의 일부는 순위 리스트에서 상위 N개의 순위의 디지털 컴포넌트를 포함한다. The methods may include sending a request to a second content provider for content that includes a portion of the modified list, wherein the portion of the modified list of digital components includes a top N ranked digital component in the ranked list. do.

상기 방법들은 상기 콘텐츠에 대한 요청에 응답하여, 상기 클라이언트 디바이스에 의해, 제2 애플리케이션 내에서, 상기 제2 콘텐츠 제공자로부터 제3 디지털 컴포넌트를 수신하는 단계, 상기 제3 디지털 컴포넌트는 상기 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트들 중에서 없으며; 상기 제3 디지털 컴포넌트가 상기 콘텐츠 페이지에 디스플레이되는 것을 억제하는 단계; 및 상기 억제에 응답하여, 상기 콘텐츠 페이지의 콘텐츠 레이아웃을 수정하고 상기 제3 디지털 컴포넌트가 억제되었다고 표시하는 메시지를 상기 제2 콘텐츠 제공자에게 제공하는 단계를 더 포함한다. The methods include receiving, by the client device, within a second application, a third digital component from the second content provider in response to the request for the content, the third digital component modifying the digital components None of the digital components included on this list; inhibiting the third digital component from being displayed on the content page; and in response to the suppression, modifying the content layout of the content page and providing a message to the second content provider indicating that the third digital component has been suppressed.

본 명세서에 기술된 본 발명의 특정한 실시예들은 다음의 이점들을 실현하도록 구현될 수 있다. 예를 들어, 본 명세서에 기술된 기법은 클라이언트의 사용자가 이미 긍정적인 사용자 액션(추가로 본 명세서에 기술됨)을 취한 특정 디지털 컴포넌트(또는 디지털 컴포넌트 유형)를 필터링(예: 검색 및/또는 표시 방지)할 수 있게 하여, 그러한 디지털 컴포넌트의 제공 및 렌더링에 필요한 상당한 수의 컴퓨팅 리소스를 절약한다. 이는 또한 동일/유사한 디지털 컴포넌트의 반복적인 제시를 방지함으로써 여러 콘텐츠 플랫폼에서 향상된 사용자 경험과 사용자 참여를 촉진할 수 있다. 기존 시스템은 여러 다른 콘텐츠 소스/플랫폼에서 제공하는 동일하거나 유사한 디지털 컴포넌트의 제시를 방지하는 기능이 포함하지 않았다. 대조적으로, 본 명세서에 설명된 기법은 사용자가 이미 긍정적인 사용자 액션을 취한 디지털 컴포넌트(들)의 제공 및/또는 렌더링을 방지할 수 있으므로 사용자가 이미 경험하고 액션을 취한 콘텐츠를 제시하는 대신 용자가 아직 긍정적인 사용자 액션을 취하지 않은 디지털 컴포넌트의 제공 및 표시를 가능하게 한다. 사용자가 이미 경험하고 액션을 취한 콘텐츠의 제시를 방지함으로써, 시스템은 사용자에게 중복된 콘텐츠를 제공함으로써 발생하는 낭비되는 컴퓨팅 리소스(예: 프로세싱 리소스, 네트워크 대역폭, 제한된 디스플레이 공간 등)의 양을 감소시킨다. 또한, 방지된 콘텐츠가 차지했을 공간이 다른 콘텐츠 또는 다른 목적을 위해 유리하게 사용될 수 있기 때문에 클라이언트 디바이스의 제한된 디스플레이 공간이 보다 효율적으로 사용된다.Certain embodiments of the invention described herein may be implemented to realize the following advantages. For example, the techniques described herein can be used to filter (eg, search for and/or display) a particular digital component (or type of digital component) for which a user of a client has already taken a positive user action (as further described herein). ), which saves a significant number of computing resources required for the provision and rendering of such digital components. It can also promote improved user experience and user engagement across multiple content platforms by preventing repeated presentation of the same/similar digital components. The existing system did not include a function to prevent the presentation of the same or similar digital components provided by different content sources/platforms. In contrast, the techniques described herein can prevent the provision and/or rendering of digital component(s) in which the user has already taken a positive user action, so that the user can instead of presenting content that the user has already experienced and taken action on. Enables presentation and presentation of digital components that have not yet taken positive user action. By preventing the presentation of content that the user has already experienced and taken action on, the system reduces the amount of wasted computing resources (e.g. processing resources, network bandwidth, limited display space, etc.) incurred by providing duplicate content to the user. . In addition, the limited display space of the client device is used more efficiently because the space that would have been occupied by the prevented content can be advantageously used for other content or other purposes.

이 문서에 설명된 기법은 또한 디지털 컴포넌트 및/또는 클라이언트 디바이스의 연관 디바이스 액션과의 인터렉션 프로세싱, 분석 및/또는 유지 관리와 연관된 데이터의 보안 및 프라이버시 보호를 향상시킨다. 일부 종래의 구현예에서, 데이터의 보안 및/또는 프라이버시는 이러한 데이터가 서드파티 시스템과 공유되고 이에 노출될 때 유지되지 않거나, 심지어 데이터의 보안 및/또는 프라이버시는 실현 가능하지 않을 수 있다. 대조적으로, 이 명세서에서 설명된 기법이 클라이언트 디바이스에서 구현될 수 있어서, 긍정적인 사용자 액션 및 긍정적인 사용자 액션의 결정을 추론하는데 사용되는 신호들의 세트의 검출, 프로세싱 및 저장이 수행될 수 있고, 클라이언트 디바이스에 전체적으로 저장될 수 있도록 한다. 더욱이, 본 명세서에 기술된 기법은 이러한 데이터를 서드파티 시스템과 공유할 필요가 없다. The techniques described in this document also enhance the security and privacy protection of data associated with processing, analysis and/or maintenance of digital components and/or interactions of client devices with associated device actions. In some conventional implementations, the security and/or privacy of the data is not maintained when such data is shared with and exposed to third party systems, or even the security and/or privacy of the data may not be feasible. In contrast, the techniques described herein may be implemented in a client device such that detection, processing, and storage of a positive user action and a set of signals used to infer a determination of a positive user action may be performed, and the client Allows it to be stored globally on the device. Moreover, the techniques described herein do not require sharing such data with third-party systems.

또한, 본 명세서에 기술된 기법은 클라이언트 디바이스에 디스플레이되는 인터페이스의 동적 수정을 가능하게 한다. 본 명세서에 설명된 기법은 클라이언트 디바이스가 긍정적인 사용자 액션이 이미 발생한 특정 디지털 컴포넌트들의 디스플레이를 억제, 제거 및/또는 방지할 수 있도록 한다. 그러한 경우에, 여기에 설명된 기법은 억제된/제거된 디지털 컴포넌트가 디스플레이될 위치가 다른 콘텐츠(예: 조정(예: 재구성/이동/크기 조정)될 수 있는 페이지에 이미 포함된 콘텐츠) 또는 콘텐츠 소스/플랫폼에서 얻을 수 있는 기타 콘텐츠로 교체되도록 한다.In addition, the techniques described herein enable dynamic modification of interfaces displayed on client devices. The techniques described herein allow a client device to suppress, remove, and/or prevent display of certain digital components for which a positive user action has already occurred. In such cases, the techniques described herein can be used for content that is different from where the suppressed/removed digital component will be displayed (e.g., content already contained in a page that can be adjusted (e.g., reconfigured/moved/resized)) or content It should be replaced with other content available from the source/platform.

본 명세서에서 본 발명의 하나 이상의 실시예들의 세부 사항은 첨부 도면과 아래의 설명에서 기술된다. 본 발명의 다른 구성들, 양태들 및 이점들은 설명, 도면 및 청구항으로부터 명백해질 것이다.The details of one or more embodiments of the invention herein are set forth in the accompanying drawings and the description below. Other configurations, aspects and advantages of the invention will become apparent from the description, drawings and claims.

도 1은 디지털 콘텐츠가 배포되고 클라이언트 디바이스에 제공되는 예시적 환경의 블록도이다.
도 2는 클라이언트 디바이스에 저장된 디지털 컴포넌트의 예시적 리스트를 보여주는 표이다.
도 3은 클라이언트 디바이스 상의 사용자 액션에 기초하여 하나 이상의 디지털 컴포넌트들을 클라이언트 디바이스에 제공하기 위한 예시적 프로세스의 흐름도이다.
도 4는 기술된 동작들을 수행하는데 사용될 수 있는 예시적 컴퓨터 시스템의 블록도이다.
1 is a block diagram of an exemplary environment in which digital content is distributed and provided to client devices.
2 is a table showing an exemplary list of digital components stored in a client device.
3 is a flow diagram of an example process for providing one or more digital components to a client device based on a user action on the client device.
4 is a block diagram of an example computer system that may be used to perform the described operations.

본 명세서는 일반적으로 적어도 이전 사용자 인터렉션 및/또는 이러한 디지털 컴포넌트 및/또는 이와 관련된 추가 콘텐츠에 대한 사용자 액션에 기초하여 클라이언트 디바이스에서 중복 디지털 컴포넌트들의 제공 및 디스플레이를 제한하는 것에 관한 것이다.This disclosure generally relates to limiting the presentation and display of redundant digital components at a client device based at least on previous user interactions and/or user actions on such digital components and/or additional content related thereto.

인터넷에 연결된 클라이언트 디바이스(예: 스마트폰, 태블릿, 개인용 컴퓨터)에는 다양한 디지털 컴포넌트를 포함하는 디지털 콘텐츠가 제공될 수 있다. 이 문서 전체에서 사용된 문구 "디지털 컴포넌트"는 디지털 콘텐츠 또는 디지털 정보(예: 비디오 클립, 오디오 클립, 멀티미디어 클립, 이미지, 텍스트 또는 다른 콘텐츠 유닛)의 개별 유닛을 지칭한다. Digital content including various digital components may be provided to a client device (eg, a smartphone, tablet, personal computer) connected to the Internet. As used throughout this document, the phrase “digital component” refers to an individual unit of digital content or digital information (eg, video clip, audio clip, multimedia clip, image, text, or other unit of content).

디지털 컴포넌트와의 사용자 인터렉션 및/또는 사용자 액션은 궁극적으로 긍정적인 사용자 액션을 초래할 수 있으며, 이는 디지털 컴포넌트의 제시 및/또는 그와의 인터렉션 후 특정한 타겟 이벤트/액션의 수행을 나타낸다. 예를 들어, 멸종 위기에 처한 종에 대한 디지털 컴포넌트에 노출된 사용자는 해당 컴포넌트와 인터렉션할 수 있으며(예: 해당 컴포넌트를 선택하거나 클릭하여) 특정한 멸종 위기에 처한 종에 대한 웹 페이지로 이동할 수 있고, 여기서 사용자는 멸종 위기에 처한 종을 구하는 데 도움이 되는 뉴스레터에 가입할 수 있다. 이 예에서 뉴스레터에 가입하는 것은 특정한 타겟 액션으로 간주될 수 있다. 타겟 액션의 예는 웹사이트/서비스에 등록, 온라인 장바구니에 아이템 추가, 백서 다운로드, 제품 구입, 웹사이트의 적어도 주어진 깊이로 탐색, 웹페이지의 적어도 특정 수 보기, 웹사이트 또는 웹페이지에서 미리 결정된 시간 이상을 보내기, 웹사이트 등록 절차 완료 및 디지털 서비스에 구독하는 것을 포함할 수 있으나, 이에 한정되지 않는다. 다시 말해서, 특정 타겟 액션은 디지털 컴포넌트와 사용자의 인터렉션 후 사용자에게 제공되는 콘텐츠와의 사용자에 의한 인터렉션일 수 있다. 사용자는 디지털 컴포넌트의 제1 콘텐츠와 제1 인터렉션을 수행하고, 그 제1 인터렉션에 후속하여, 제1 인터렉션으로 인해 사용자에게 제공된 제2 콘텐츠와 제2 인터렉션을 수행할 수 있다. 제1 및 제2 인터렉션은 사용자로부터의 하나 이상의 입력들로 인한 신호의 생성일 수 있다. 사용자로부터의 입력은 터치스크린, 키패드, 마이크로폰, 비디오 또는 클라이언트 디바이스와 인터렉션하는 임의의 다른 수단을 통해 이루어질 수 있다.A user interaction and/or user action with a digital component can ultimately result in a positive user action, which represents the presentation of the digital component and/or performance of a particular target event/action after interaction with it. For example, a user exposed to a digital component about an endangered species can interact with that component (e.g., by selecting or clicking on that component) and can navigate to a web page about a particular endangered species; , where users can sign up for a newsletter that helps save endangered species. In this example, subscribing to the newsletter may be considered a specific targeted action. Examples of targeted actions include registering for a website/service, adding an item to an online shopping cart, downloading a white paper, purchasing a product, browsing to at least a given depth of a website, viewing at least a specific number of webpages, a predetermined time on the website or webpage. This may include, but is not limited to, sending more than one, completing a website registration process, and subscribing to a digital service. In other words, the specific target action may be the user's interaction with the content provided to the user after the user's interaction with the digital component. The user may perform a first interaction with the first content of the digital component, and, following the first interaction, may perform a second interaction with the second content provided to the user due to the first interaction. The first and second interactions may be generation of a signal due to one or more inputs from a user. Input from the user may be via a touchscreen, keypad, microphone, video, or any other means of interacting with the client device.

클라이언트 디바이스가 클라이언트 디바이스에서 실행되는 애플리케이션 내에서 동일하거나 다른 콘텐츠 플랫폼을 재방문하는 경우, 이전에 클라이언트 디바이스에 제공된 디지털 컴포넌트와 동일하거나 유사한 디지털 컴포넌트가 클라이언트 디바이스에 다시 제공될 수 있다. 동일한/유사한 디지털 컴포넌트의 중복 제공은 클라이언트 디바이스가 이전에 이러한 디지털 컴포넌트에 대해 긍정적인 사용자 액션을 취한 경우에도 발생할 수 있다. 긍정적인 사용자 액션은 해당 디지털 컴포넌트와의 사용자 인터렉션 이후에 특정 타겟 액션의 수행으로 표시된다. 더욱이, 일부 시스템에서, 하나의 콘텐츠 소스/플랫폼이 클라이언트 디바이스의 사용자가 특정한 디지털 컴포넌트에 대한 긍정적인 사용자 액션을 했다고 결정하더라도, 긍정적인 사용자 액션의 결정은 클라이언트 디바이스가 다음에 액세스할 수 있는 다른 콘텐츠 소스/플랫폼에 알려지지 않을 수 있다. 그 결과, 다른 콘텐츠 소스/플랫폼은 긍정적인 사용자 액션이 이미 발생한 동일하거나 유사한 유형의 디지털 컴포넌트를 제공할 수 있다. 예를 들어, 특정한 디지털 컴포넌트가 데이터를 공유하지 않는 두 개의 서로 다른 콘텐츠 배포 시스템에 제출되었다고 가정한다. 이 상황에서 콘텐츠 배포 시스템 중 하나가 특정한 사용자가 특정한 디지털 컴포넌트와 인터렉션한 후에 타겟 액션을 완료했다는 것을 인식하였더라도, 다른 별개의 콘텐츠 배포 시스템은 타겟 액션의 수행을 완전히 알지 못할 것이며, 따라서 특정한 디지털 컴포넌트는 특정한 사용자에게 계속 제시될 수 있다.When the client device revisits the same or a different content platform within an application running on the client device, a digital component that is the same or similar to a digital component previously provided to the client device may be provided back to the client device. Duplicate provision of the same/similar digital component may occur even if the client device has previously taken a positive user action on this digital component. A positive user action is indicated by performing a specific target action after user interaction with the corresponding digital component. Moreover, in some systems, even if one content source/platform determines that a user of a client device has taken a positive user action on a particular digital component, the determination of a positive user action may not affect other content that the client device can then access. It may not be known to the source/platform. As a result, other content sources/platforms may provide digital components of the same or similar type for which positive user action has already occurred. For example, suppose a particular digital component is submitted to two different content distribution systems that do not share data. In this situation, even if one of the content distribution systems recognizes that a particular user has completed the targeted action after interacting with a particular digital component, the other separate content distribution system will not be fully aware of the performance of the targeted action, and thus the particular digital component It may continue to be presented to a particular user.

대조적으로, 본 문서에 설명된 기법은 클라이언트 디바이스에서 완전히(또는 중요한 부분에서) 구현될 수 있다(즉, 특정 콘텐츠 소스/플랫폼과 무관). 본 명세서에서 추가로 설명되는 바와 같이, 클라이언트 디바이스는 클라이언트 디바이스 상의 과거 사용자 활동, 디지털 컴포넌트와의 사용자 인터렉션, 디지털 컴포넌트의 콘텐츠 소스/플랫폼과 관계없이 클라이언트 디바이스, 디지털 컴포넌트(들)가 제공되었던 콘텐츠 플랫폼 또는 디지털 컴포넌트가 획득된 애플리케이션(들)에 기초하여 다수의 신호들을 사용하여 디지털 컴포넌트로 긍정적인 사용자 액션을 결정할 수 있다. 일부 구현예에서, 다수의 신호들은 기계 학습 모델(또는 휴리스틱 기반 접근 방식, 또는 다른 적절한 모델 기반 또는 규칙 기반 기법)을 사용/프로세싱하여 클라이언트 디바이스가 디지털 컴포넌트로 긍정적인 사용자 액션을 취했는지 여부를 결정한다. In contrast, the techniques described herein may be implemented entirely (or in significant portions) on the client device (ie independent of the particular content source/platform). As further described herein, the client device is independent of past user activity on the client device, user interactions with the digital component, the content source/platform of the digital component, the client device, the content platform on which the digital component(s) were provided. Alternatively, the digital component may determine a positive user action with the digital component using multiple signals based on the obtained application(s). In some implementations, the multiple signals use/process a machine learning model (or a heuristic-based approach, or other suitable model-based or rule-based technique) to determine whether the client device has taken a positive user action with the digital component. do.

클라이언트 디바이스가 특정한 디지털 컴포넌트로 긍정적적 사용자 액션을 했는지 여부에 기초하여, 본 명세서에 설명된 기법은 디지털 컴포넌트들(예: 쿠키 리스트)의 저장된 리스트(즉, 클라이언트 디바이스 상에 저장됨)를 수정할 수 있으며, 이는 클라이언트 디바이스에서 실행되는 애플리케이션에 제공되도록 이용가능한 디지털 컴포넌트들의 세트를 특정한다. 예를 들어, 렌트카 회사의 디지털 컴포넌트와 사용자의 인터렉션(예: 선택, 클릭, 조회)에 응답하여, 디지털 컴포넌트들의 리스트는 디지털 컴포넌트의 표시를 제공하는 특정 엔트리를 포함하도록 업데이트될 수 있다(예: 예를 들어, 디지털 컴포넌트의 이름, 디지털 컴포넌트의 카테고리/유형, 디지털 컴포넌트와 인터렉션하는 동안 사용자가 수행한 활동). 그러나, 기계 학습 모델(또는 다른 적절한 접근 방식/모델)이 클라이언트 디바이스가 디지털 컴포넌트에 대해 긍정적인 사용자 액션을 수행했다고 결정하면, 기계 학습 모델(또는 기타 적절한 접근 방식/모델)은 예를 들어, 리스트에서 특정한 디지털 컴포넌트를 제거하거나 리스트에서 순위를 낮추거나(이미 리스트에 있는 경우) 특정한 디지털 컴포넌트를 리스트에 추가하지 않음(리스트에 없는 경우)으로써 디지털 컴포넌트들의 리스트를 업데이트할 수 있다. Based on whether the client device has taken a positive user action with a particular digital component, the techniques described herein may modify a stored list (ie, stored on the client device) of digital components (eg, a cookie list). , which specifies the set of digital components available to be provided to an application running on the client device. For example, in response to a user's interaction (eg, selection, click, inquiry) with a digital component of a rental car company, the list of digital components may be updated to include a specific entry providing a representation of the digital component (eg, For example, the name of the digital component, the category/type of the digital component, the activity the user performed while interacting with the digital component). However, if the machine learning model (or other suitable approach/model) determines that the client device has performed a positive user action on the digital component, then the machine learning model (or other suitable approach/model) may, for example, list You can update the list of digital components by removing a particular digital component from the list, lowering its rank from the list (if it is already on the list), or not adding a particular digital component to the list (if it is not on the list).

결과적으로, 클라이언트 디바이스가 동일하거나 상이한 콘텐츠 플랫폼에 액세스하기 위해 애플리케이션을 사용할 때, 본 명세서에 기술된 기법은 디지털 컴포넌트들의 수정된 리스트(예: 전체 리스트 또는 리스트에 포함된 상위 N 순위의 컴포넌트들과 같은 리스트의 서브세트)의 일부를 콘텐츠 플랫폼(및/또는 콘텐츠 플랫폼에 콘텐츠를 제공하는 콘텐츠 소스(들))에 보낼 수 있다. 콘텐츠 플랫폼 및/또는 콘텐츠 소스(들)는 클라이언트 디바이스에서 실행되는 애플리케이션 내에서 디스플레이할 콘텐츠를 제공할 때 이 디지털 컴포넌트들의 수정된 리스트를 사용할 수 있다. 예를 들어, 콘텐츠 소스 및/또는 콘텐츠 플랫폼은 디지털 컴포넌트 리스트의 수신된 부분에 포함된 하나 이상의 디지털 컴포넌트들만 제공할 수 있다. 이러한 경우, 클라이언트 디바이스에서 실행되는 애플리케이션은 콘텐츠 소스/플랫폼에 의해 제공된 디지털 컴포넌트를 렌더링한다. 다른 예로서, 콘텐츠 소스(들) 및/또는 콘텐츠 플랫폼(들)은 리스트에 있는지 여부와 상관없이 임의의 하나 이상의 디지털 컴포넌트들을 제공할 수 있다. 그러한 경우에, 클라이언트 디바이스는 제공된 디지털 컴포넌트가 디지털 컴포넌트의 수정된 리스트에 있는지 여부(예를 들어, 제공된 디지털 컴포넌트가 디지털 컴포넌트의 리스트에서 상위 N개의 디지털 컴포넌트 중 하나인지 여부)를 결정할 수 있다. 그렇다면, 클라이언트 디바이스에서 실행되는 애플리케이션은 제공된 디지털 컴포넌트를 렌더링/디스플레이할 수 있다. 그렇지 않으면, 애플리케이션은 그러한 콘텐츠를 억제할 수 있고, 대신에 인터페이스를 수정하여 억제된/제거된 디지털 컴포넌트가 디스플레이될 위치가 다른 콘텐츠(예: 조정(예: 재구성/이동/크기 조정)될 수 있는 페이지에 이미 포함된 콘텐츠) 또는 콘텐츠 소스/플랫폼에서 얻을 수 있는 기타 콘텐츠로 교체되도록 한다. Consequently, when a client device uses an application to access the same or a different content platform, the techniques described herein can be combined with a modified list of digital components (eg, the entire list or the top N ranking components included in the list). subset of the same list) to the content platform (and/or the content source(s) that provide content to the content platform). The content platform and/or content source(s) may use the revised list of these digital components when providing content for display within an application running on the client device. For example, the content source and/or content platform may only provide one or more digital components included in the received portion of the digital component list. In this case, the application running on the client device renders the digital component provided by the content source/platform. As another example, the content source(s) and/or content platform(s) may provide any one or more digital components, whether or not on the list. In such a case, the client device may determine whether the provided digital component is in the modified list of digital components (eg, whether the provided digital component is one of the top N digital components in the list of digital components). If so, the application running on the client device may render/display the provided digital component. Alternatively, the application may suppress such content, and instead modify the interface so that the location in which the suppressed/removed digital component is to be displayed may be adjusted (e.g., reconfigured/moved/resized) to other content. content already included on the page) or other content available from the content source/platform.

이러한 구성 및 추가 구성은 도 1-4를 참조하여 아래에 자세히 설명된다.These and further configurations are described in detail below with reference to FIGS. 1-4 .

본 문서의 설명에 더하여, 사용자가 본 명세서에 기술된 시스템들, 프로그램들 또는 구성들이 사용자 정보의 수집(예를 들어, 사용자의 소셜 네트워크에 관한 정보, 사회적 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 위치)을 하는 경우 및 콘텐츠 또는 서버로부터 통신에 사용자가 전송되는 경우에 관한 선택을 하게 하는 제어들이 사용자에게 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 어떤 정보가 수집될지, 정보가 어떻게 사용될지, 그리고 어떤 정보가 사용자에게 제공될지에 관한 제어를 가질 수 있다.In addition to the description of this document, the user may use the systems, programs, or configurations described herein to collect user information (eg, information about the user's social network, social actions or activities, occupation, user's Controls may be provided to the user that allow the user to make choices regarding when to make preferences or when the user's current location) and when the user is sent to the content or communication from the server. Additionally, certain data is treated in one or more various ways before it is stored or used, so that personally identifiable information is removed. For example, the user's identity is treated such that personally identifiable information about the user cannot be determined, or the user's geographic location is generalized (at the city, zip code, or state level) from where the location information was obtained. A specific location cannot be determined. Thus, the user can have control over what information about the user is collected, how the information is used, and what information is provided to the user.

도 1은 콘텐츠가 배포되고 클라이언트 디바이스에 제공되는 예시적 환경(100)의 블록도이다. 예시적 환경(100)은 근거리 네트워크(LAN), 광역 네트워크(WAN), 인터넷 또는 그들의 조합과 같은 네트워크(104)를 포함한다. 네트워크(104)는 클라이언트 디바이스(102), 콘텐츠 플랫폼(106) 및 콘텐츠 소스(110)를 연결한다. 예시적 환경(100)은 많은 상이한 콘텐츠 소스(110), 콘텐츠 플랫폼(106) 및 클라이언트 디바이스(102)를 포함할 수 있다.1 is a block diagram of an example environment 100 in which content is distributed and provided to client devices. The example environment 100 includes a network 104 such as a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof. The network 104 connects the client device 102 , the content platform 106 and the content source 110 . Example environment 100 may include many different content sources 110 , content platforms 106 , and client devices 102 .

콘텐츠 플랫폼(106)은 콘텐츠의 배포를 가능하게 하는 컴퓨팅 플랫폼이다. 예시적 콘텐츠 플랫폼(106)은 검색 엔진, 소셜 미디어 플랫폼, 뉴스 플랫폼, 데이터 수집기 플랫폼, 또는 다른 콘텐츠 공유 플랫폼을 포함한다. 각 콘텐츠 플랫폼(106)은 콘텐츠 플랫폼 서비스 제공자에 의해 운영될 수 있다.Content platform 106 is a computing platform that enables distribution of content. Exemplary content platforms 106 include a search engine, social media platform, news platform, data aggregator platform, or other content sharing platform. Each content platform 106 may be operated by a content platform service provider.

콘텐츠 플랫폼(106)은 플랫폼에서 자신의 콘텐츠를 발행하고 이용 가능하게 할 수 있다. 예를 들어, 콘텐츠 플랫폼(106)은 자체 뉴스 기사를 발행하는 뉴스 플랫폼일 수 있다. 콘텐츠 플랫폼(106)은 또한 하나 이상의 콘텐츠 소스(110)에 의해 제공되는 콘텐츠를 제시할 수 있다. 위의 예에서, 뉴스 플랫폼은 또한 상이한 저자에 의해 생성되고 하나 이상의 콘텐츠 소스(110)에 의해 제공되는 콘텐츠를 제시할 수 있다. 다른 예로서, 콘텐츠 플랫폼(106)은 자신의 콘텐츠를 퍼블리시하지 않고 다른 뉴스 웹사이트(즉, 콘텐츠 소스(110))에 의해 제공되는 뉴스 기사를 취합하여 제시하는 데이터 수집기 플랫폼일 수 있다. The content platform 106 may publish and make available its content on the platform. For example, the content platform 106 may be a news platform that publishes its own news articles. The content platform 106 may also present content provided by one or more content sources 110 . In the example above, the news platform may also present content created by different authors and provided by one or more content sources 110 . As another example, the content platform 106 may be a data aggregator platform that aggregates and presents news articles provided by other news websites (ie, content sources 110 ) without publishing its own content.

클라이언트 디바이스(102)는 네트워크(104)를 통해 콘텐츠를 요청하고 수신할 수 있는 전자 디바이스이다. 예시적 클라이언트 디바이스(102)는 퍼스널 컴퓨터들, 모바일 통신 디바이스들, 디지털 어시스턴트 디바이스 및 네트워크(104)를 통해 데이터를 송수신할 수 있는 기타 디바이스를 포함한다. The client device 102 is an electronic device capable of requesting and receiving content over the network 104 . Exemplary client device 102 includes personal computers, mobile communication devices, digital assistant devices, and other devices capable of sending and receiving data over network 104 .

클라이언트 디바이스(102)는 일반적으로 디바이스 하드웨어 및 애플리케이션과 같은 소프트웨어 리소스를 주로 관리하는 운영 체제(112)를 포함한다. 클라이언트 디바이스(102)는 또한 특정한 구현, 애플리케이션 및 사용 사례에 기초하여 데이터를 일시적으로 또는 영구적으로 저장하기 위한 디바이스 저장소(120)를 포함한다. 클라이언트 디바이스(102)는 일반적으로 네트워크(104)를 통해 데이터의 송수신을 지원하기 위한 웹 브라우저와 같은 사용자 어플리케이션(116 및 117)을 포함하지만, 클라이언트 디바이스(102)에 의해 실행되는 네이티브 어플리케이션(native application)도 네트워크(104)를 통해 콘텐츠의 송수신을 지원할 수 있다. 클라이언트 디바이스(102)에 제시된 콘텐츠의 예는 웹페이지, 워드 프로세싱 문서, PDF(Portable Document Format) 문서, 이미지, 비디오 및 검색 결과 페이지 및 디지털 광고를 포함한다. The client device 102 generally includes an operating system 112 that primarily manages software resources such as device hardware and applications. Client device 102 also includes device storage 120 for temporarily or permanently storing data based on a particular implementation, application, and use case. The client device 102 generally includes user applications 116 and 117 , such as web browsers, to support sending and receiving data over the network 104 , but a native application executed by the client device 102 . ) may also support transmission and reception of content through the network 104 . Examples of content presented to the client device 102 include web pages, word processing documents, Portable Document Format (PDF) documents, images, video and search results pages, and digital advertisements.

일반적으로, 클라이언트 디바이스(102)는 검색 결과, 웹 페이지, 뉴스 기사 및 소셜 미디어 게시물과 같은 디지털 콘텐츠에 액세스하기 위해 클라이언트 디바이스(102) 상에서 실행되는 애플리케이션과 인터렉션한다. 디지털 콘텐츠에 액세스하는 동안, 클라이언트 디바이스는 또한 하나 이상의 콘텐츠 제공자로부터 디지털 컴포넌트를 수신할 수 있다. Generally, client device 102 interacts with applications running on client device 102 to access digital content such as search results, web pages, news articles, and social media posts. While accessing digital content, the client device may also receive digital components from one or more content providers.

예를 들어, 사용자가 웹 브라우저인 애플리케이션 A(116)를 사용하여 "렌트카"에 대한 인터넷 검색을 수행하고 "렌트카" 검색 쿼리의 제출에 대한 응답으로 반환된 검색 결과를 검토한다고 가정한다. 이러한 시나리오에서, 서드파티(즉, 콘텐츠 플랫폼 또는 콘텐츠 소스와 같은 클라이언트 디바이스가 아닌 엔티티)는 검색 쿼리와 관련되고 사용자가 인터렉션할 수 있는(예: 디지털 컴포넌트를 선택 또는 클릭하거나 특정 기간 동안 디지털 컴포넌트에 표시된 콘텐츠 보기) 디지털 컴포넌트(예: 비디오, 텍스트)를 애플리케이션에 제공할 수 있다. For example, it is assumed that a user performs an Internet search for "rental car" using application A 116, which is a web browser, and reviews search results returned in response to submission of a "rental car" search query. In such a scenario, a third party (i.e., an entity other than a client device, such as a content platform or content source) may be relevant to a search query and the user may interact with (e.g., selecting or clicking on a digital component, or accessing the digital component for a specified period of time). View the displayed content) Digital components (eg video, text) can be provided to the application.

이러한 디지털 컴포넌트와의 이러한 인터렉션은 애플리케이션이 선택된 디지털 컴포넌트의 주제와 관련될 수 있는 추가 콘텐츠/디지털 컴포넌트가 있는 다른 콘텐츠 페이지를 열도록(또는 리디렉션하는) 결과를 초래할 수 있다. 예를 들어, "렌트카"라는 검색 쿼리의 제출에 대한 응답으로 반환된 검색 결과를 검토하는 동안, 사용자가 링크를 선택하거나 클릭하여 디지털 컴포넌트와 인터렉션한다고 가정한다. 이 예에서, 클라이언트 디바이스(102)는 클라이언트 디바이스(102)에 설치되고 특정한 렌트카 회사에 의해 제공된 애플리케이션(예를 들어, 네이티브 애플리케이션)인 애플리케이션 B(117)를 열 수 있다. 다른 예에서, 링크를 선택하거나 클릭하면 애플리케이션 A(116) 내에서 사용자를 다른 자동차 렌탈 서비스의 리뷰 또는 자동차 렌탈 서비스의 웹페이지와 같은 검색 쿼리 "렌트카"와 관련된 디지털 콘텐츠를 포함하는 다른 웹사이트로 리디렉션할 수 있다. Such interaction with this digital component may result in the application opening (or redirecting) another content page with additional content/digital components that may be relevant to the subject of the selected digital component. For example, assume that a user interacts with a digital component by selecting or clicking a link while reviewing search results returned in response to a submission of a search query for "car rental". In this example, client device 102 may open Application B 117 , which is an application (eg, a native application) installed on client device 102 and provided by a particular rental car company. In another example, selecting or clicking a link takes the user within application A 116 to another website that contains digital content related to the search query "rental car", such as a review of another car rental service or a webpage of a car rental service. can be redirected.

클라이언트 디바이스(102)는 콘텐츠 평가 장치(114)(본 명세서에 기술된 바와 같이 데이터 프로세싱 장치일 수 있음)를 더 포함한다. 일부 구현예에서, 콘텐츠 평가 장치(114)는 다수의 트레이닝 가능한 파라미터를 포함하는 기계 학습 모델로서 구현되고 신호 세트들의 세트를 분석함으로써 클라이언트 디바이스(102)에 제시된 디지털 컴포넌트들로 사용자의 긍정적인 사용자 액션을 결정하도록 트레이닝된다(아래에서 추가로 설명됨). 기계 학습 모델은 디시전 트리, 인공 신경망, 제네틱 프로그래밍, 논리 프로그래밍, 지원 벡터 기계, 클러스터링, 강화 학습, 베이지안 추론 등과 같이 특정 구현예에 적합하다고 간주되는 임의의 모델일 수 있다. 기계 학습 모델은 텍스트 데이터를 포함하는 신호를 분석하기 위한 자연어 프로세싱을 위한 방법, 알고리즘 및 기법도 포함할 수 있다. The client device 102 further includes a content rating apparatus 114 (which may be a data processing apparatus as described herein). In some implementations, the content evaluation apparatus 114 is implemented as a machine learning model comprising a number of trainable parameters and positive user actions of the user with digital components presented to the client device 102 by analyzing a set of signal sets. is trained to determine (described further below). The machine learning model may be any model deemed suitable for a particular implementation, such as decision trees, artificial neural networks, genetic programming, logic programming, support vector machines, clustering, reinforcement learning, Bayesian inference, and the like. Machine learning models may also include methods, algorithms and techniques for natural language processing to analyze signals comprising textual data.

일부 구현예에서, 콘텐츠 평가 장치(114) 내에서 구현된 기계 학습 모델은 다수의 트레이닝 디지털 컴포넌트에 대한 트레이닝 데이터를 사용하여 트레이닝된다. 트레이닝 데이터의 각 트레이닝 디지털 컴포넌트는 트레이닝 디지털 컴포넌트에 대한 대응하는 신호들의 세트 및 사용자가 트레이닝 디지털 컴포넌트에 대해 긍정적인 사용자 액션을 취했는지 여부를 나타내는 라벨과 연관된다. 예를 들어, 트레이닝 디지털 컴포넌트는 특정한 디지털 컴포넌트(및/또는 클라이언트 디바이스(102) 상의 다른 콘텐츠/애플리케이션/디지털 컴포넌트와의 액션/인터렉션)와의 사용자 인터렉션에 의해 생성된 신호들의 세트 및 특정한 디지털 컴포넌트에 대한 사용자 액션이 긍정적인지 여부를 표시하는 라벨을 포함한다. In some implementations, machine learning models implemented within content evaluation device 114 are trained using training data for a number of training digital components. Each training digital component of the training data is associated with a set of corresponding signals for the training digital component and a label indicating whether the user has taken a positive user action on the training digital component. For example, the training digital component may be a set of signals generated by a user interaction with a particular digital component (and/or actions/interactions with other content/applications/digital components on the client device 102) and for a particular digital component. Contains a label indicating whether the user action is positive.

일부 구현예에서, 기계 학습 모델을 트레이닝하는 것은 기계 학습 모델의 트레이닝 가능한 파라미터를 조절하는 것을 포함하여, 기계 학습 모델이 사용자 활동 및 디지털 컴포넌트와의 사용자 인터렉션에 의해 생성된 다수의 신호를 분석하여 콘텐츠 제공자에 의해 제공된 디지털 컴포넌트에 대한 사용자 액션이 긍정적인지 여부를 예측하도록 한다. 특정 구현예에 따라, 기계 학습 모델의 트레이닝 프로세스는 감독, 비감독 또는 반 감독일 수 있다. In some implementations, training the machine learning model includes adjusting the trainable parameters of the machine learning model so that the machine learning model analyzes a number of signals generated by user activity and user interaction with digital components to obtain content. Predict whether a user action on a digital component provided by a provider is positive. Depending on the particular implementation, the training process of a machine learning model may be supervised, unsupervised, or semi-supervised.

일부 구현예에서, 특정한 디지털 컴포넌트와의 사용자 인터렉션 및/또는 사용자 액션에 추가하여, 기계 학습 모델은 클라이언트 디바이스 상의 사용자 활동으로부터 생성된 다수의 추가 신호를 프로세싱할 수 있다. 이러한 신호는 디지털 컴포넌트에 제공된 다른 링크에 대한 클릭, 인터넷 검색 키워드 및 다른 디지털 컴포넌트를 보는데 소요된 시간을 포함하지만 이에 한정되지 않는다. 예를 들어, 클라이언트 디바이스에 애플리케이션 실행 중에 특정한 제품(또는 서비스 또는 기타 콘텐츠)과 관련된 웹사이트에 대한 링크가 있는 디지털 컴포넌트를 제공된 경우, 사용자는 링크를 클릭하고 링크된 웹사이트를 방문할 수 있다. 이 경우, OS는 사용자 인터랙션(클릭 또는 선택)을 검출하고 신호를 생성하여 콘텐츠 평가 장치에 제공한다. 다른 예에서, 클라이언트 디바이스에 비디오를 포함하는 디지털 컴포넌트가 제공된 때, OS는 사용자가 비디오를 건너뛰었다는 것(예를 들어, 디지털 컴포넌트를 지나 스크롤함으로써) 또는 비디오를 시청하는데 약간의 시간을 보낼 수 있음(예를 들어, 특정 임계값 시간 동안 페이지 스크롤)을 검출할 수 있다. 따라서 OS는 비디오 디지털 컴포넌트에 소요된 시간을 나타내는 신호를 생성하고 기계 학습 모델에 의한 추가 프로세싱을 위해 이 신호를 제공한다. In some implementations, in addition to user interactions and/or user actions with particular digital components, the machine learning model may process a number of additional signals generated from user activity on the client device. Such signals include, but are not limited to, clicks on other links provided on the digital component, internet search keywords, and time spent viewing other digital components. For example, if a client device is presented with a digital component with a link to a website related to a particular product (or service or other content) during application execution, the user may click on the link and visit the linked website. In this case, the OS detects the user interaction (click or selection), generates a signal, and provides it to the content evaluation device. In another example, when a client device is presented with a digital component that includes a video, the OS may indicate that the user has skipped the video (eg, by scrolling past the digital component) or spend some time watching the video. Presence (eg, page scrolling for a certain threshold amount of time) can be detected. The OS thus generates a signal representing the time spent on the video digital component and provides this signal for further processing by the machine learning model.

일부 구현예에서, 콘텐츠 평가 장치(114) 내에서 구현된 기계 학습 모델은 상기 기술된 사용자 인터렉션 신호에 더하여 클라이언트 디바이스(102)에 제시된 디지털 컴포넌트에 대한 사용자 노출에 의해 생성된 신호에 기초하여 디지털 컴포넌트에 대한 사용자의 긍정적인 사용자 액션을 예측할 수 있다. 이러한 구현예는 광학 문자 인식(OCR)과 같은 자연어 프로세싱 및 디지털 이미지 프로세싱 분야에서 잘 알려진 기법을 사용할 수 있다. 예를 들어, 클라이언트 디바이스가 렌트카를 예약하기 위해 렌트카 회사에서 제공하는 애플리케이션과 같은 서드파티 애플리케이션과 인터렉션한다고 가정하고 렌더링된 사용자 인터페이스의 이미지를 사용하여 디지털 컴포넌트와의 사용자의 긍정적인 사용자 액션을 식별할 수 있다. 다른 예에서, 사용자는 렌트카의 예약 확인과 관련하여 클라이언트 디바이스(102)에서 실행되는 브라우저 애플리케이션에서 웹 푸시 알림을 받는다고 가정한다. 구현예의 유형에 기초하여, OS는 웹 푸시 알림을 클라이언트 디바이스(102)에서 사용자에게 제시하는 사용자 인터페이스의 이미지 또는 웹 푸시 알림의 텍스트와 같은 웹 푸시 알림으로부터 다수의 신호를 생성할 수 있다. 이러한 신호는 기계 학습 모델에 의해 분석되어, 디지털 컴포넌트에 대한 사용자의 긍정적인 사용자 액션을 결정할 수 있다. In some implementations, the machine learning model implemented within the content rating apparatus 114 is based on a digital component based on a signal generated by a user exposure to a digital component presented at the client device 102 in addition to the user interaction signal described above. It is possible to predict the user's positive user action for Such implementations may use techniques well known in the fields of natural language processing and digital image processing, such as optical character recognition (OCR). For example, suppose a client device interacts with a third-party application, such as an application provided by a rental car company, to book a rental car, and an image in the rendered user interface could be used to identify a user's positive user action with a digital component. can In another example, it is assumed that the user receives a web push notification in a browser application running on the client device 102 in connection with a reservation confirmation of a rental car. Based on the type of implementation, the OS may generate a number of signals from the web push notification, such as the text of the web push notification or an image of a user interface presenting the web push notification to the user at the client device 102 . These signals can be analyzed by a machine learning model to determine a positive user action of the user on the digital component.

일부 구현예에서, 콘텐츠 평가 장치(114) 내에서 구현된 기계 학습 모델은 위에서 설명된 바와 같이 디지털 컴포넌트와의 사용자 인터렉션 및 클라이언트 디바이스 상의 다른 액션을 프로세싱하여(예를 들어, 디지털 컴포넌트와의 제1 사용자 인터렉션 및 하나 이상의 추가 사용자 인터렉션 및/또는 상기 제1 사용자 인터렉션에 응답하여 제공된 콘텐츠와의 사용자 액션), 긍정적인 사용자 액션이 수행되었는지 여부를 결정할 수 있다. 일부 구현예에서, 기계 학습 모델은 신호의 입력 세트에 기초하여 긍정적인 사용자 액션의 점수 또는 가능성을 생성할 수 있다. 예를 들어, 긍정적인 사용자 액션의 가능성 또는 점수는 0에서 10까지의 숫자일 수 있고, 여기서 0에 가까울수록 긍정적인 사용자 액션의 보다 낮은 가능성 또는 점수를 나타내고 10에 가까울수록 긍정적인 사용자 액션의 보다 높은 가능성/점수를 나타낸다. 그러한 구현예에서, 긍정적인 사용자 액션의 가능성이 사전 설정된 임계값보다 크면 긍정적인 사용자 액션을 제안할 수 있는 사전 설정된 임계값이 있을 수 있다. 예를 들어, 가능성의 미리 설정된 임계값이 5로 설정되어 있다고 가정한다. 기계 학습 모델이 디지털 컴포넌트에 대한 사용자 액션의 가능성을 5보다 큰 값으로 생성하면 해당 액션은 긍정적인 것으로 결정된다. 그렇지 않으면, 인터렉션이 긍정적이지 않은 것으로 결정된다. In some implementations, the machine learning model implemented within the content rating apparatus 114 processes user interactions with digital components and other actions on the client device as described above (eg, first user interaction and one or more further user interactions and/or user actions with content provided in response to said first user interaction), determine whether a positive user action has been performed. In some implementations, the machine learning model may generate a score or likelihood of a positive user action based on an input set of signals. For example, the likelihood or score of a positive user action may be a number from 0 to 10, where closer to 0 indicates a lower likelihood or score of positive user action and closer to 10 indicates a greater likelihood of positive user action. High probability/score. In such implementations, there may be a preset threshold that may suggest a positive user action if the likelihood of a positive user action is greater than the preset threshold. For example, suppose that the preset threshold of likelihood is set to 5. If the machine learning model generates a probability of a user action on a digital component with a value greater than 5, the action is determined to be positive. Otherwise, it is determined that the interaction is not positive.

일부 구현예에서, 콘텐츠 평가 장치(114)는 디지털 컴포넌트에 대한 긍정적인 사용자 액션을 결정하기 위해 (기계 학습 모델 대신에) 휴리스틱 기반 접근 방식을 구현한다. 그러한 구현예에서, 콘텐츠 평가 장치(114)는 콘텐츠 소스/플랫폼에 의해 클라이언트 디바이스(102)에 제공되는 디지털 컴포넌트들과의 사용자 인터렉션에 의해 생성된 동일한 신호들의 세트(위에서 설명된 바와 같음)를 분석한다. In some implementations, the content rating device 114 implements a heuristic-based approach (instead of a machine learning model) to determine positive user actions on digital components. In such an implementation, the content rating apparatus 114 analyzes the same set of signals (as described above) generated by user interaction with digital components provided to the client device 102 by the content source/platform. do.

일부 구현예에서, 콘텐츠 평가 장치(114)는 특정 애플리케이션에 대한 애플리케이션 레벨에서 동작하는 것과 대조적으로 클라이언트 디바이스(102) 상의 운영체제(OS) 레벨에서 동작한다. 본 명세서에서 사용된 바와 같이, OS 레벨에서의 동작은 애플리케이션 레벨에서의 동작보다 높은 권한에 접근하는 작업 및/또는 운영 체제에 의해 수행되는 동작이다.In some implementations, the content rating apparatus 114 operates at the operating system (OS) level on the client device 102 as opposed to operating at the application level for a particular application. As used herein, an operation at the OS level is an operation performed by the operating system and/or a task that accesses higher privileges than an operation at the application level.

추가 예로서, OS 레벨 동작은 다수의 상이한 애플리케이션에 의해 프로세싱되는 데이터에 액세스할 수 있고, 이 데이터를 기계 학습 모델(또는 다른 적절한 모델 또는 휴리스틱 기반 접근 방식)에 제공하여, 긍정적인 사용자 액션이 수행되었는지 여부를 결정할 수 있다. 따라서 OS 레벨에서 동작함으로써, 기계 학습 모델은 애플리케이션에 대해 불가지론적이며, 클라이언트 디바이스(102)에 의해 액세스되는 데이터를 분석함으로써 긍정적인 사용자 액션을 결정할 수 있다. As a further example, OS level actions may access data that is processed by a number of different applications and provide this data to a machine learning model (or other suitable model or heuristic-based approach) so that a positive user action is performed. You can decide whether or not Thus, by operating at the OS level, the machine learning model is application agnostic and can determine positive user actions by analyzing data accessed by the client device 102 .

도 1에 도시되지는 않았지만, 일부 구현예에서, 콘텐츠 평가 장치(114)는 (OS 레벨에서 구현되는 대신에) 애플리케이션 레벨에서 구현될 수 있다. 이러한 구현에서, 콘텐츠 평가 장치(114)를 구현하는 애플리케이션은 운영 체제(112)의 애플리케이션 레벨에서 실행되는 다른 애플리케이션보다 더 높은 권한을 제공받을 수 있다. 이러한 구현에서, 콘텐츠 평가 장치(114)를 구현하는 애플리케이션은 다른 애플리케이션의 콘텐츠에 액세스하는 권한을 가질 수 있다. 콘텐츠 평가 장치(114)를 구현하는 애플리케이션에 의해 콘텐츠에 액세스할 때, 기계 학습 모델(또는 다른 적절한 모델 또는 휴리스틱 기반 접근 방식)은 긍정적인 사용자 액션이 발생했는지 여부를 결정한다.Although not shown in FIG. 1 , in some implementations, the content evaluation device 114 may be implemented at the application level (instead of being implemented at the OS level). In this implementation, the application implementing the content rating device 114 may be provided with higher privileges than other applications running at the application level of the operating system 112 . In this implementation, an application implementing the content rating device 114 may have permission to access the content of other applications. When content is accessed by an application implementing content rating device 114, a machine learning model (or other suitable model or heuristic-based approach) determines whether a positive user action has occurred.

일부 구현예에서, 클라이언트 디바이스(102)는 디바이스 스토리지(120)에 디지털 컴포넌트들(130)의 리스트를 저장한다. 디지털 컴포넌트(130)의 리스트(예를 들어, 쿠키 리스트)는 클라이언트 디바이스(102)에서 실행되는 애플리케이션에 제공될 수 있는 디지털 컴포넌트의 리스트를 포함한다. 디지털 컴포넌트(130)의 리스트는 도 2를 참조하여 추가로 설명된다.In some implementations, client device 102 stores a list of digital components 130 in device storage 120 . The list of digital components 130 (eg, a cookie list) includes a list of digital components that can be provided to an application running on the client device 102 . The list of digital components 130 is further described with reference to FIG. 2 .

도 3을 참조하여 추가로 설명된 바와 같이, 디지털 컴포넌트들의 이 리스트는 클라이언트 디바이스가 특정한 디지털 컴포넌트에 대해 긍정적인 사용자 액션을 가졌는지 여부에 대한 결정에 기초하여 수정된다. 도 3을 참조하여 추가로 설명된 바와 같이, 디지털 컴포넌트들의 이러한 수정된 리스트는 후속하여 애플리케이션 내에 디스플레이하기 위한 디지털 컴포넌트들을 제공할 때 콘텐츠 플랫폼 및/또는 콘텐츠 소스(들)에 의해 사용되어, 제공된 디지털 컴포넌트들이 클라이언트 디바이스가 이미 긍정적 사용자 액션을 가졌던 디지털 컴포넌트(들)(또는 디지털 컴포넌트(들)의 유형들)와 상이하도록 한다.As further described with reference to FIG. 3 , this list of digital components is modified based on a determination as to whether the client device has had a positive user action on the particular digital component. As further described with reference to FIG. 3 , this modified list of digital components is subsequently used by the content platform and/or content source(s) to provide digital components for display within an application, such that the provided digital Make the components different from the digital component(s) (or types of digital component(s)) for which the client device already had a positive user action.

도 2는 클라이언트 디바이스(102)에 저장된 디지털 컴포넌트(130)의 예시적인 리스트를 보여주는 표이다. 2 is a table showing an exemplary list of digital components 130 stored on a client device 102 .

일부 구현예에서, 디지털 컴포넌트(130) 리스트의 각 엔트리는 클라이언트 디바이스에 제시될 수 있는 특정 디지털 컴포넌트를 포함한다. 디지털 컴포넌트는 이러한 디지털 컴포넌트에 대한 이전 사용자 인터렉션 및/또는 사용자 액션에 기초하여 이 리스트에서 식별된다. 디지털 컴포넌트(130)의 리스트의 각 엔트리는 디지털 컴포넌트의 유형 및 사용자 활동에 기초한 다수의 피처들을 더 포함할 수 있다. 예를 들어, 제품(202), 카테고리(204), 사용자 액션(206) 및 순위(208) 열은 디지털 컴포넌트와의 사용자 활동 또는 사용자 인터렉션의 다른 피처 또는 특성을 나타낸다. In some implementations, each entry in the list of digital components 130 includes a particular digital component that can be presented to a client device. Digital components are identified in this list based on user actions and/or previous user interactions with those digital components. Each entry in the list of digital components 130 may further include a number of features based on the type of digital component and user activity. For example, product 202 , category 204 , user action 206 , and rank 208 columns represent other features or characteristics of user activity or user interaction with a digital component.

일부 구현예에서, 피처들 또는 특성들은 디지털 컴포넌트들과의 사용자 활동 또는 사용자 인터렉션과 직접적으로 연관되거나 추론된다. 예를 들어, 사용자가 "렌트카"를 검색하고 "렌트카"라는 검색 쿼리의 제출에 대한 응답으로 반환된 검색 결과와 특정 렌트카 서비스를 나타내는 디지털 컴포넌트를 포함하는 콘텐츠 페이지를 얻는다고 가정한다. 이 예에서, 사용자가 초기에 인터렉션한 특정한 디지털 컴포넌트의 주제를 나타내는 엔트리가 클라이언트 디바이스의 디지털 컴포넌트 리스트(130)에 생성된다. 예를 들어, 표의 엔트리 5는 렌트카에 대한 인터넷 검색을 수행하는 사용자 액션을 나타낸다. 또한 이 예에서, 사용자는 이러한 디지털 컴포넌트 중 하나와 인터렉션(예: 선택 또는 클릭)할 수 있으며, 이는 사용자를 특정한 서드파티 렌트카 웹사이트로 리디렉션할 수 있다. 이 예에서, 사용자가 특정한 렌트카 서비스의 디지털 컴포넌트(웹페이지)와 인터렉션했음을 나타내는 엔트리가 클라이언트 디바이스(102)의 디지털 컴포넌트(130) 리스트에 생성된다. 예를 들어, 표의 엔트리 6은 렌트카 회사 Q의 웹 페이지를 방문하는 사용자의 인터렉션을 나타내고, 표의 엔트리 7은 렌트카 회사 R의 웹 페이지를 방문하는 사용자의 인터렉션을 나타낸다.In some implementations, the features or characteristics are directly associated with or inferred from user activity or user interaction with the digital components. For example, suppose a user searches for "rental car" and obtains a content page containing search results returned in response to a submission of a search query of "rental car" and a digital component representing a particular rental car service. In this example, an entry is created in the digital component list 130 of the client device representing the subject of a particular digital component with which the user initially interacted. For example, entry 5 in the table represents a user action to perform an Internet search for a rental car. Also in this example, the user may interact (eg, select or click) one of these digital components, which may redirect the user to a specific third-party car rental website. In this example, an entry is created in the digital component 130 list of the client device 102 indicating that the user has interacted with a digital component (webpage) of a particular rental car service. For example, entry 6 of the table represents an interaction of a user visiting a web page of a rental car company Q, and entry 7 of a table represents an interaction of a user visiting a web page of a rental car company R.

일부 구현예에서, 디지털 컴포넌트(130)의 리스트의 일부는 콘텐츠 플랫폼 또는 콘텐츠 소스와 같은 서드파티에 의해 액세스된다(예를 들어, 클라이언트 디바이스의 블라인드 픽셀이 발생할 때 이 리스트를 제공받음에 대한 응답으로 또는 이 리스트에 대한 요청에 대한 응답으로). 디지털 컴포넌트들의 리스트의 특정 엔트리에 기초하여 서드파티는 사용자에게 디지털 컴포넌트를 제공한다. 예를 들어, 사용자가 클라이언트 디바이스(102)에 설치된 브라우저 애플리케이션(117)을 사용하여 콘텐츠 제공자가 제공하는 디지털 콘텐츠에 액세스하고 있다고 가정한다. 콘텐츠 소스/플랫폼은 디지털 컴포넌트의 리스트에 대한 요청을 클라이언트 디바이스(102)에 보낼 수 있다. 디지털 컴포넌트의 리스트에 대한 요청에 응답하여, 클라이언트 디바이스(102)는 디지털 컴포넌트의 리스트의 일부를 콘텐츠 소스에 전송할 수 있다. 디지털 컴포넌트 리스트의 일부를 수신하면, 콘텐츠 소스는 콘텐츠 소스/플랫폼에 의해 수신된 디지털 컴포넌트들의 리스트의 일부에 나열된 엔트리들에 기초하여 사용자에게 제시하기 위해 클라이언트 디바이스(102)에 디지털 컴포넌트들을 제공할 수 있다.In some implementations, a portion of the list of digital components 130 is accessed by a third party, such as a content platform or content source (eg, in response to being provided with this list when a blind pixel of a client device occurs). or in response to a request for this list). Based on a particular entry in the list of digital components, the third party provides the digital component to the user. For example, assume that a user is accessing digital content provided by a content provider using a browser application 117 installed on a client device 102 . The content source/platform may send a request to the client device 102 for a list of digital components. In response to the request for the list of digital components, the client device 102 may send a portion of the list of digital components to the content source. Upon receiving the portion of the list of digital components, the content source may provide the digital components to the client device 102 for presentation to the user based on entries listed in the portion of the list of digital components received by the content source/platform. have.

일부 구현예에서, 디지털 컴포넌트(130)의 리스트의 각 엔트리는 사용자가 특정한 디지털 컴포넌트와 인터렉션할 수 있는 확률에 기초하여 순위가 매겨진다. 예를 들어, 열(208)은 디지털 컴포넌트의 리스트를 나타내는 표(130)의 각 엔트리의 순위를 포함한다. 일부 구현예에서, 디지털 컴포넌트의 각 엔트리의 순위는 도 1 및 3을 참조하여 추가로 기술되는 바와 같이 그리고 후술하는 예시에서 기술되는 바와 같이 수정될 수 있다. 예를 들어, 콘텐츠 평가 장치(114) 내에 구현된 기계 학습 모델이 브라우저 애플리케이션에 의해 액세스된 다른 디지털 콘텐츠를 분석하여 사용자가 렌트카를 예약했다고 결정하면, 디지털 컴포넌트들(130)의 리스트에서 특정 엔트리의 순위가 낮아질 수 있다. 광고주 또는 퍼블리셔와 같은 서드파티는 클라이언트 디바이스(102)로부터 디지털 컴포넌트(130)의 수정된 리스트를 수신하면, 디지털 컴포넌트의 업데이트된 순위에 기초하여 디지털 컴포넌트를 제공함으로써 사용자에게 더 높은 순위를 갖는(또는 상위 N 순위의 디지털 컴포넌트에 있는) 디지털 컴포넌트를 제공한다.In some implementations, each entry in the list of digital components 130 is ranked based on a probability that a user can interact with a particular digital component. For example, column 208 contains the rank of each entry in table 130 representing a list of digital components. In some implementations, the rank of each entry of the digital component may be modified as further described with reference to FIGS. 1 and 3 and as described in the examples below. For example, if a machine learning model implemented in the content evaluation device 114 analyzes other digital content accessed by the browser application and determines that the user has booked a rental car, the ranking may be lowered. When a third party, such as an advertiser or publisher, receives the modified list of digital components 130 from the client device 102 , it provides the digital component based on the updated ranking of the digital component to give the user a higher ranking (or It provides digital components (in the top N ranking digital components).

일부 구현예에서, 하나 이상의 콘텐츠 소스/플랫폼이 클라이언트 디바이스(102) 상에서 사용자에게 디지털 콘텐츠를 제공할 수 있다. 그러한 구현예에서, 클라이언트 디바이스(102)는 제1 콘텐츠 소스/플랫폼에 의해 제공되는 디지털 컴포넌트들과의 사용자 인터렉션에 의해 생성된 신호들을 사용하여 식별된 긍정적인 사용자 액션에 기초하여 수정될 수 있는 디지털 컴포넌트들(130)의 리스트를 저장할 수 있다. 이어서, 제2 콘텐츠 소스/플랫폼은 클라이언트 디바이스(102)에 저장된 디지털 컴포넌트(130)의 리스트의 일부에 액세스하고 디지털 컴포넌트(130)의 수정된 리스트에 기초하여 디지털 컴포넌트를 제공할 수 있다. In some implementations, one or more content sources/platforms may provide digital content to users on client device 102 . In such an implementation, the client device 102 provides digital components that may be modified based on positive user action identified using signals generated by user interaction with digital components provided by the first content source/platform. A list of components 130 may be stored. The second content source/platform may then access a portion of the list of digital components 130 stored on the client device 102 and provide the digital component based on the modified list of digital components 130 .

예를 들어, "카메라"에 대한 인터넷 검색이 클라이언트 디바이스(102)에서 실행되는 브라우저 애플리케이션 A(116)를 사용하여 수행되고, 그 결과 검색 결과 페이지의 애플리케이션 A(116) 내에서 제1 콘텐츠 소스에 의한 디지털 컴포넌트가 제공된다. 클라이언트 디바이스(102)가 그 디지털 컴포넌트와의 인터렉션을 검출하면, 클라이언트 디바이스(102)는 그 디지털 컴포넌트에 대한 엔트리를 디지털 컴포넌트(130)의 리스트에 추가한다. 나중에, 다른 온라인 세션 동안, 제2 콘텐츠 소스/플랫폼은 클라이언트 디바이스(102)로부터 디지털 컴포넌트(130)의 리스트의 일부에 액세스하고 엔트리에 기초하여 "카메라"와 관련된 디지털 컴포넌트를 제공할 수 있다. 사용자가 디지털 컴포넌트(및 해당 인터렉션에 응답하여 제공되고 추가 인터렉션/액션이 클라이언트 디바이스에 의해 검출되는 추가 콘텐츠)와의 인터렉션에 응답하여 타겟 액션(예: 디지털 컴포넌트에 의해 링크된 웹사이트에서 특정한 카메라에 대한 리뷰를 읽음)을 수행한 경우, 클라이언트 디바이스(102)에 구현된 콘텐츠 평가 장치(114)는 그러한 인터렉션/액션들에 기초하여 OS에 의해 검출된 대응 신호를 분석할 수 있고, 예를 들어, 엔트리(212)를 제거하거나 특정한 엔트리(212)이 순위를 낮춤으로써 클라이언트 디바이스에서 디지털 컴포넌트(130)의 리스트를 수정할 수 있다. 이러한 시나리오에서, 제1 콘텐츠 소스/플랫폼은 디지털 콘텐츠 리스트에 액세스하고 "카메라"와 관련된 광고를 제공하지 않을 수 있다.For example, an Internet search for “camera” is performed using a browser application A 116 running on the client device 102 , resulting in a first content source within application A 116 of the search results page. digital components are provided. When the client device 102 detects an interaction with the digital component, the client device 102 adds an entry for the digital component to the list of digital components 130 . Later, during another online session, the second content source/platform may access a portion of the list of digital components 130 from the client device 102 and provide the digital component associated with the “camera” based on the entry. In response to a user's interaction with a digital component (and additional content provided in response to that interaction and for which the additional interaction/action is detected by the client device), a target action (e.g., on a website linked by the digital component reading the review), the content evaluation apparatus 114 implemented in the client device 102 may analyze the corresponding signal detected by the OS based on such interactions/actions, for example, an entry The list of digital components 130 at the client device may be modified by removing 212 or by lowering the rank of a particular entry 212 . In such a scenario, the first content source/platform may access the digital content listing and not provide advertisements related to “camera”.

도 3은 클라이언트 디바이스의 사용자 액션 및/또는 동작에 기초하여 하나 이상의 디지털 컴포넌트들을 클라이언트 디바이스에 제공하기 위한 예시적 프로세스(300)의 흐름도이다. 프로세스(300)의 동작은 도 1 및 2에 기술되고 도시된 시스템의 컴포넌트들에 의해 수행되는 것으로 후술된다. 프로세스(300)의 동작은 단지 예시의 목적으로 설명된다. 프로세스(300)의 동작은 임의의 적절한 디바이스 또는 시스템, 예를 들어 임의의 적절한 데이터 프로세싱 장치에 의해 수행될 수 있다. 프로세스(300)의 동작은 또한 비일시적 컴퓨터 판독가능 매체에 저장된 명령어로서 구현될 수 있다. 명령어의 실행은 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(300)의 동작을 수행하게 한다.3 is a flow diagram of an example process 300 for providing one or more digital components to a client device based on a user action and/or action of the client device. The operations of process 300 are described below as being performed by the components of the system described and illustrated in FIGS. 1 and 2 . The operation of process 300 is described for purposes of illustration only. The operations of process 300 may be performed by any suitable device or system, for example any suitable data processing apparatus. The operations of process 300 may also be implemented as instructions stored on a non-transitory computer-readable medium. Execution of the instructions causes one or more data processing devices to perform the operations of process 300 .

디지털 컴포넌트(130)의 리스트는 클라이언트 디바이스에 저장되고 클라이언트 디바이스에서 실행되는 애플리케이션에 제공될 수 있는 디지털 컴포넌트의 세트를 특정한다(310). 일부 구현예에서, 그리고 도 2를 참조하여 위에서 설명된 바와 같이, 디지털 컴포넌트(130)의 리스트의 각 엔트리는 클라이언트 디바이스에서 실행되는 애플리케이션에 제공될 수 있는 디지털 컴포넌트를 설명하거나 표현한다. 디지털 컴포넌트(130)의 리스트의 엔트리는 콘텐츠 소스/플랫폼에 의해 클라이언트 디바이스(102)에 제공되는 디지털 컴포넌트와의 사용자 인터렉션 및/또는 사용자 액션에 적어도 기초하여 생성된다. 예를 들어, 도 2의 테이블을 사용하여 표현된 디지털 컴포넌트(130)의 리스트는 클라이언트 디바이스(102)의 디바이스 저장소(120)에 저장된다. 일부 구현예에서, 디지털 컴포넌트(130)의 리스트의 엔트리는 사용자에 대한 상대적 중요도에 따라 순위가 매겨진다. 예를 들어, 열(208)은 리스트의 각 엔트리의 순위를 보여준다. 일부 구현예에서, 디지털 컴포넌트 리스트의 엔트리는 유형/카테고리와 관련하여 순위가 매겨질 수 있다. The list of digital components 130 specifies ( 310 ) a set of digital components that can be stored on the client device and provided to an application executing on the client device. In some implementations, and as described above with reference to FIG. 2 , each entry in the list of digital components 130 describes or represents a digital component that may be provided to an application executing on a client device. The entry in the list of digital components 130 is generated based at least on user interactions and/or user actions with the digital components provided to the client device 102 by the content source/platform. For example, the list of digital components 130 represented using the table of FIG. 2 is stored in the device storage 120 of the client device 102 . In some implementations, entries in the list of digital components 130 are ranked according to their relative importance to the user. For example, column 208 shows the rank of each entry in the list. In some implementations, entries in the digital component list may be ranked with respect to type/category.

제1 디지털 컴포넌트는 클라이언트 디바이스에서 실행되는 애플리케이션에 제1 콘텐츠 소스에 의해 제공된다(320). 일부 구현예에서, 제1 콘텐츠 소스는 클라이언트 디바이스(102)에서 실행되는 애플리케이션 내의 디스플레이를 위한 제1 디지털 컴포넌트를 제공할 수 있다. 예를 들어, 클라이언트 디바이스(102)에서 실행되는 브라우저 기반 애플리케이션 A(116)는 "렌트카"에 대한 인터넷 검색을 수행하는데 사용될 수 있다. 검색 쿼리에 응답하여, 콘텐츠 소스/플랫폼은 렌트카와 관련된 검색 결과를 클라이언트 디바이스(102)에 제공한다.The first digital component is provided ( 320 ) by the first content source to an application executing on the client device. In some implementations, the first content source may provide a first digital component for display within an application executing on the client device 102 . For example, browser-based application A 116 running on client device 102 may be used to perform an Internet search for “rental car”. In response to the search query, the content source/platform provides search results related to the rental car to the client device 102 .

신호들의 세트는 클라이언트 디바이스에 의해 검출되며, 신호들의 세트는 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 및 제1 사용자 인터렉션에 응답하여 제공된 콘텐츠와의 제2 사용자 인터렉션을 특정한다(330). 일부 구현예에서, 클라이언트 디바이스(102)의 OS는 제1 디지털 컴포넌트와의 제1 사용자 인터렉션을 검출한다. 이러한 제1 사용자 인터렉션 및/또는 사용자 액션의 예는 사용자가 제1 디지털 컴포넌트를 선택하는 것, 제1 디지털 컴포넌트를 클릭하는 것, (예를 들어, 특정 기간 동안) 제1 디지털 컴포넌트를 보는 것을 포함한다. OS는 다양한 디바이스 이벤트(예: 특정한 애플리케이션에서 경과된 시간, 클라이언트 디바이스의 콘텐츠 스크롤에 대한 정보, 디지털 컴포넌트 선택/클릭, 콘텐츠가 제시, 디지털 컴포넌트의 선택 또는 클릭에 응답하여 열리는 애플리케이션 또는 페이지))를 캡처하는 일련의 규칙을 사용하여 이러한 사용자 인터렉션 및/또는 사용자 액션을 검출할 수 있고, 이들 중 하나 이상을 결합하여 제1 인터렉션이 수행되었는지 여부를 결정한다. 대안적으로, 일련의 규칙 대신에, 캡처된 디바이스 이벤트는 디바이스 액션 세트에 기초하여 제1 인터렉션이 수행되었는지 여부를 예측하도록 트레이닝된 모델(예: 기계 학습 모델 또는 다른 적절한 통계 모델)에 제공될 수 있다. 그러한 모델은 예를 들어 실제로 검출된 제1 인터렉션 및 각각의 대응하는 디바이스 이벤트 세트를 사용하여 트레이닝될 수 있다. A set of signals is detected by the client device, the set of signals specifying ( 330 ) a first user interaction with a first digital component and a second user interaction with content provided in response to the first user interaction. In some implementations, the OS of the client device 102 detects a first user interaction with the first digital component. Examples of such first user interaction and/or user action include the user selecting the first digital component, clicking the first digital component, viewing the first digital component (eg, for a specified period of time) do. The OS may monitor various device events (e.g., elapsed time in a particular application, information about content scrolling on the client device, digital component selection/click, content presentation, application or page opened in response to digital component selection or click)). The capturing set of rules may be used to detect such user interactions and/or user actions, one or more of which may be combined to determine whether the first interaction was performed. Alternatively, instead of a set of rules, the captured device events may be provided to a model (e.g., a machine learning model or other suitable statistical model) trained to predict whether a first interaction has been performed based on a set of device actions. have. Such a model may be trained using, for example, the first interaction actually detected and each corresponding set of device events.

제1 사용자 인터렉션에 응답하여, 제1 콘텐츠 소스(또는 다른 콘텐츠 소스)에 의해 클라이언트 디바이스(102)에서 실행되는 애플리케이션 내에 추가 콘텐츠가 제공될 수 있다. 이러한 추가 콘텐츠의 예는 검색 쿼리에 대한 제출에 대한 응답으로 콘텐츠 제공자가 제공했던 검색 결과의 링크를 선택한 후 사용자가 리디렉션되는 콘텐츠 페이지를 포함한다. OS는 클릭 수 또는 웹페이지에서 보낸 시간과 같은 신호를 사용하여 이 추가 콘텐츠(예: 제품/서비스 구매, 리뷰 남기기 또는 콘텐츠 전달 서비스 가입을 포함할 수 있음)와의 제2 사용자 인터렉션을 검출할 수 있다. 다시, OS는 다른 디바이스 이벤트를 캡처하는 일련의 규칙을 사용하여 및/또는 디스플레이된 콘텐츠(예: 제1 사용자 인터렉션이 수행되었는지 여부를 획득한 후)를 파싱/분석하여, 이들 중 하나 이상을 결합하여 제2 인터렉션이 수행되었는지 여부를 결정한다. 대안적으로, 일련의 규칙 대신에, 캡처된 디바이스 이벤트 및/또는 파싱된/분석된 이미지 콘텐츠는 디바이스 액션 세트에 기초하여 제2 인터렉션이 수행되었는지 여부를 예측하도록 트레이닝된 모델(예: 기계 학습 모델 또는 다른 적절한 통계 모델)에 제공될 수 있다. 그러한 모델은 예를 들어 실제로 검출된 제2 사용자 인터렉션 및/또는 사용자 액션 및 각각의 대응하는 디바이스 이벤트 세트를 사용하여 트레이닝될 수 있다. In response to the first user interaction, additional content may be provided within an application executing on the client device 102 by the first content source (or other content source). Examples of such additional content include content pages to which a user is redirected after selecting a link to a search result provided by a content provider in response to a submission to a search query. The OS may use signals such as clicks or time spent on a webpage to detect a second user interaction with this additional content (which may include, for example, purchasing a product/service, leaving a review, or subscribing to a content delivery service). . Again, the OS combines one or more of these using a set of rules that capture other device events and/or parse/analyze the displayed content (eg, after obtaining whether a first user interaction has been performed). to determine whether the second interaction has been performed. Alternatively, instead of a set of rules, the captured device event and/or the parsed/analyzed image content may be subjected to a model trained to predict whether a second interaction has been performed based on a set of device actions (e.g., a machine learning model). or other suitable statistical models). Such a model may be trained using, for example, the second user interaction and/or user action actually detected and each corresponding set of device events.

위의 인터렉션에 더하여, OS는 또한 다른 디바이스 액션 및/또는 디바이스 상의 다른 애플리케이션/서비스로부터의 데이터에 관한 추가 신호를 검출할 수 있다(도 1을 참조하여 위에서 설명된 바와 같이). 예를 들어, 사용자가 이메일 또는 SMS 텍스트에서 클릭 가능한 URL을 수신한 경우 선택하여 렌트카 예약 확인을 보여주는 클라이언트 디바이스(102)에서 실행되는 브라우저 애플리케이션에서 웹페이지를 열면, OS는 웹페이지로부터의 텍스트와 같은 신호를 검출할 것이고, 신호들의 세트를 콘텐츠 평가 장치(114)에 제공한다.In addition to the above interactions, the OS may also detect additional signals regarding other device actions and/or data from other applications/services on the device (as described above with reference to FIG. 1 ). For example, if the user receives a clickable URL in an email or SMS text, selects it to open a webpage in a browser application running on the client device 102 showing a rental car reservation confirmation, the OS will display the same text as the text from the webpage. It will detect the signal and provide the set of signals to the content evaluation device 114 .

신호들의 세트는 긍정적인 사용자 액션이 제1 디지털 컴포넌트(340)에 대해 사용자에 의해 수행되었는지 여부를 결정하는데 사용된다(340). 일부 구현예에서, 콘텐츠 평가 장치(114)는 긍정적인 사용자 액션이 발생했는지 여부를 결정하기 위해 (동작 330에서 위에서 검출된 바와 같이) 신호들의 세트를 분석하는 클라이언트 디바이스(102)에 대한 기계 학습 모델 또는 휴리스틱 기반 접근 방식을 구현한다(도 1을 참조하여 더 설명된 바와 같이). 예를 들어, 디지털 컴포넌트가 디스플레이를 위해 제공되고 특정한 제품에 관한 웹사이트에 대한 링크를 포함하는 경우, 사용자는 링크를 클릭하고 링크된 웹사이트를 방문할 수 있다. 이 경우 사용자 활동은 클릭 수 및 웹페이지에 제시된 콘텐츠 컨텍스트와 같은 여러 신호를 생성한다. 콘텐츠 평가 장치(114)는 신호를 분석하여 콘텐츠 소스/플랫폼에 의해 클라이언트 디바이스(102)에 제공되는 디지털 컴포넌트로의 사용자의 긍정적인 사용자 액션을 결정한다.The set of signals is used ( 340 ) to determine whether a positive user action has been performed by the user on the first digital component ( 340 ). In some implementations, the content rating apparatus 114 is a machine learning model for the client device 102 that analyzes the set of signals (as detected above in operation 330 ) to determine whether a positive user action has occurred. or implement a heuristic based approach (as further described with reference to FIG. 1 ). For example, if the digital component is provided for display and includes a link to a website relating to a particular product, the user may click on the link and visit the linked website. In this case, user activity generates several signals, such as the number of clicks and the context of the content presented on the webpage. The content rating apparatus 114 analyzes the signal to determine a positive user action of the user to the digital component provided to the client device 102 by the content source/platform.

일부 구현예에서, 도 1을 참조하여 설명된 바와 같이, 콘텐츠 평가 장치(114) 내에서 구현된 기계 학습 모델은 디지털 컴포넌트와의 사용자 인터렉션(및 클라이언트 디바이스 상의 다른 액션들)에 의해 생성된 신호들의 세트를 프로세싱하여, 디지털 컴포넌트와의 사용자 인터렉션(예: 디지털 컴포넌트와의 제1 사용자 인터렉션 및 제1 사용자 인터렉션에 응답하여 제공된 콘텐츠와의 하나 이상의 추가 사용자 인터렉션 및/또는 사용자 액션)과 연관된 신호들의 세트에 기초하여 긍정적인 사용자 액션을 결과로 하거나 하지 않았는지 여부의 분류를 수행한다. 일부 구현예에서, 기계 학습 모델은 신호의 입력 세트에 기초하여 긍정적인 사용자 액션의 점수 또는 가능성을 생성할 수 있다(도 1을 참조하여 설명된 바와 같이).In some implementations, as described with reference to FIG. 1 , the machine learning model implemented within the content evaluation apparatus 114 is a model of the signals generated by user interaction with the digital component (and other actions on the client device). processing the set, the set of signals associated with a user interaction with the digital component (eg, a first user interaction with the digital component and one or more further user interactions and/or user actions with content provided in response to the first user interaction) Classification is performed based on whether or not a positive user action is a result or not. In some implementations, the machine learning model may generate a score or likelihood of a positive user action based on an input set of signals (as described with reference to FIG. 1 ).

디지털 컴포넌트(130)의 리스트가 수정되고, 수정된 리스트는 클라이언트 디바이스(102)에 저장된다(350). 클라이언트 디바이스(102) 내에 구현된 콘텐츠 평가 장치(114)가 특정한 디지털 컴포넌트에 대한 긍정적인 사용자 액션을 식별하면, 클라이언트 디바이스(102)에 저장된 디지털 컴포넌트(130)의 리스트를 수정한다. 일부 구현예에서, 콘텐츠 평가 장치가 긍정적인 사용자 액션이 제1 디지털 컴포넌트와 조우했다고 결정하면, 콘텐츠 평가 장치(114)는 디지털 컴포넌트들의 리스트에서 제1 디지털 컴포넌트에 대응하는 특정 엔트리의 순위를 낮추어 예를 들어, 특정한 엔트리가 더 이상 상위 N 순위 컴포넌트에 포함되지 않도록 한다. 예를 들어, 콘텐츠 평가 장치(114) 내에 구현된 기계 학습 모델이 동일한 브라우저 애플리케이션에 의해 또는 다른 애플리케이션에 의해 액세스된 다른 디지털 콘텐츠를 분석하여 사용자가 렌트카를 예약했다고 결정하면, 디지털 컴포넌트들의 리스트에서 특정 엔트리의 순위가 낮아질 수 있다. 대안적으로, 순위를 낮추는 대신에, 콘텐츠 평가 장치(114)는 디지털 컴포넌트(130)의 리스트에서 디지털 컴포넌트에 대한 참조를 제거할 수 있다. The list of digital components 130 is modified, and the modified list is stored 350 in the client device 102 . When the content evaluation apparatus 114 implemented in the client device 102 identifies a positive user action for a particular digital component, it modifies the list of digital components 130 stored in the client device 102 . In some implementations, if the content rating apparatus determines that a positive user action has been encountered with the first digital component, the content rating apparatus 114 lowers the rank of the specific entry corresponding to the first digital component in the list of digital components to Yes For example, ensure that a particular entry is no longer included in the top N ranking component. For example, if a machine learning model implemented in the content evaluation device 114 analyzes other digital content accessed by the same browser application or by another application and determines that the user has booked a rental car, The rank of the entry may be lowered. Alternatively, instead of lowering the ranking, the content rating device 114 may remove the reference to the digital component from the list of digital components 130 .

콘텐츠 페이지에 대한 액세스 요청은 클라이언트 디바이스(102)에서 실행 중인 애플리케이션으로부터 수신된다(360). 클라이언트 디바이스(102)에서 실행되는 애플리케이션이 콘텐츠 소스/플랫폼에 의해 제공되는 콘텐츠 페이지에 액세스하기 위해, 애플리케이션은 네트워크(104)를 통해 콘텐츠 소스/플랫폼에 전송되는 콘텐츠 페이지에 액세스하기 위한 요청을 생성한다. 콘텐츠 소스는 콘텐츠 페이지에 대한 액세스 요청을 수신하면 해당 콘텐츠 페이지를 클라이언트 디바이스(102)에 전송한다. 예를 들어, 사용자는 클라이언트 디바이스(102)에서 실행되는 브라우저 애플리케이션 A(116)를 사용하여 인터넷 검색을 수행하고, 인터넷 검색에 응답하여 제공된 검색 결과를 리뷰하고, 검색 결과로서 제공된 링크를 클릭함으로써 다수의 디지털 컴포넌트에 액세스할 수 있다. 이러한 시나리오에서, 클라이언트 디바이스(102)는 검색 결과를 포함하는 콘텐츠 페이지에 액세스하기 위한 요청을 생성한다. 또한, 사용자가 예를 들어 검색 결과로서 제공되는 링크를 클릭하면, 클라이언트 디바이스(102)는 네트워크(104)를 통해 콘텐츠 소스로 전송되는 디지털 콘텐츠에 액세스하기 위한 대응하는 요청을 생성한다. A request for access to the page of content is received ( 360 ) from an application running on the client device ( 102 ). In order for an application running on the client device 102 to access a content page provided by the content source/platform, the application generates a request to access the content page transmitted over the network 104 to the content source/platform. . When the content source receives an access request for a content page, it transmits the content page to the client device 102 . For example, a user may perform multiple Internet searches using browser application A 116 running on client device 102 , review search results provided in response to Internet searches, and click links provided as search results. access to the digital component of In this scenario, the client device 102 generates a request to access a page of content that includes the search results. Further, if the user clicks on a link provided, for example, as a search result, the client device 102 generates a corresponding request to access the digital content transmitted over the network 104 to the content source.

디지털 컴포넌트의 수정된 리스트의 일부를 포함하는 콘텐츠 요청이 제2 콘텐츠 소스로 송신된다(370). 일부 구현예에서, 클라이언트 디바이스(102)에서 실행하는 애플리케이션에 의한 콘텐츠 페이지 액세스 요청에 응답하여, 콘텐츠 페이지 상의 스크립트가 실행되고, 애플리케이션에 의해 콘텐츠 요청이 제2 콘텐츠 소스에 제공되게 한다. 일부 구현예에서, 콘텐츠에 대한 이 요청은 디지털 컴포넌트 수정된 리스트의 일부(예를 들어, 전체 리스트 또는 리스트의 서브세트, 예를 들어 상위 N개 순위 디지털 컴포넌트)를 포함한다. 콘텐츠에 대한 요청은 요청되는 전자 문서, 디지털 컴포넌트가 요청되는 서버의 이름 또는 네트워크 위치, 요청하는 디바이스의 이름 또는 네트워크 위치(예: 클라이언트 디바이스(102))를 특정하는 이벤트 데이터를 포함할 수 있다. A content request including a portion of the modified list of digital components is sent 370 to a second content source. In some implementations, in response to a content page access request by an application executing on the client device 102 , a script on the content page is executed, causing the content request to be provided by the application to the second content source. In some implementations, this request for content includes a portion of the digital component modified list (eg, the entire list or a subset of the list, eg, the top N ranked digital components). The request for content may include event data that specifies the electronic document being requested, the name or network location of the server from which the digital component is requested, and the name or network location of the requesting device (eg, client device 102 ).

일부 구현예에서, 콘텐츠 소스/플랫폼에 제공되는 디지털 컴포넌트(130)의 리스트의 일부는 디지털 컴포넌트(130)의 리스트에서 상위 N개의 엔트리를 포함하며, 상위 N개의 엔트리는 사용자의 상대적인 관심에 기초하여 각 개별 디지털 컴포넌트의 순위에 기초하여 선택된다. 예를 들어, 도 2에서, 엔트리 1-7은 디지털 컴포넌트의 유형/카테고리와 관련하여 순위가 매겨진다. 이 경우에, 클라이언트 디바이스(102)는 순위 1인 엔트리를 포함하는 디지털 컴포넌트(130)의 리스트의 일부를 콘텐츠 소스/플랫폼에 제공할 수 있다. In some implementations, the portion of the list of digital components 130 provided to the content source/platform includes the top N entries in the list of digital components 130, the top N entries being based on the user's relative interests. It is selected based on the ranking of each individual digital component. For example, in FIG. 2, entries 1-7 are ranked with respect to the type/category of the digital component. In this case, the client device 102 may provide the content source/platform with a portion of the list of digital components 130 that contains the entry with rank 1 .

일부 구현예에서, 콘텐츠 소스/플랫폼에 제공되는 디지털 컴포넌트(130)의 리스트의 일부는 디지털 컴포넌트(130)의 리스트에서 상위 N개의 엔트리에 나열된 디지털 컴포넌트의 하나 이상의 피처의 조합을 포함하며, 상위 N개의 엔트리는 사용자의 상대적인 관심에 기초하여 각 개별 디지털 컴포넌트의 순위에 기초하여 선택된다. 예를 들어, 도 2에서, 클라이언트 디바이스(102)는 순위 1인 엔트리의 카테고리(204) 또는 제품(202)과 같은 하나 이상의 피처를 포함하는 디지털 컴포넌트(130)의 리스트의 일부를 콘텐츠 소스/플랫폼에 제공할 수 있다. In some implementations, the portion of the list of digital components 130 provided to the content source/platform includes a combination of one or more features of the digital component listed in the top N entries in the list of digital components 130 , the top N The entries are selected based on the ranking of each individual digital component based on the user's relative interest. For example, in FIG. 2 , the client device 102 presents a content source/platform to a portion of a list of digital components 130 that includes one or more features, such as product 202 or category 204 of an entry that is ranked 1 can be provided to

제2 디지털 컴포넌트는 디지털 컴포넌트(130)의 수정된 리스트의 일부에 기초하여 컨텐츠 소스/플랫폼으로부터 수신된다(380). 일부 구현예에서, 콘텐츠 소스/플랫폼은 디지털 컴포넌트(130)의 리스트의 일부를 수신하면 수신된 리스트(130)에 나열된 디지털 컴포넌트에 있는 디지털 컴포넌트를 클라이언트 디바이스(102)에 제공한다(리스트(130)에서 상위 N개의 식별된 디지털 컴포넌트로부터 디지털 컴포넌트 제공). 특정 시나리오에서, 디지털 컴포넌트의 리스트는 다른 디지털 컴포넌트에 대한 사용자의 긍정적인 사용자 액션에 기초하여 디지털 컴포넌트의 리스트가 수정되는 디지털 컴포넌트의 수정된 리스트일 수 있다. A second digital component is received 380 from a content source/platform based on a portion of the modified list of digital components 130 . In some implementations, the content source/platform, upon receiving a portion of the list of digital components 130 , provides the digital component in the digital component listed in the received list 130 to the client device 102 (list 130 ). provides digital components from the top N identified digital components in In a particular scenario, the list of digital components may be a modified list of digital components in which the list of digital components is modified based on a positive user action of the user on other digital components.

예를 들어, 콘텐츠 소스/플랫폼에 제공되는 디지털 컴포넌트(130)의 리스트의 일부는 디지털 컴포넌트(130)의 리스트에서 상위 N개의 엔트리를 포함한다고 가정하며, 여기서 상위 N개의 엔트리는 각 개별 디지털 컴포넌트의 순위에 기초하여 선택된다. 그러한 경우에 콘텐츠 소스/플랫폼에 의해 액세스되는 디지털 컴포넌트(130) 리스트의 일부는 카메라, 호텔 및 렌트카에 대한 사용자 관심을 나타내는 엔트리 1, 2 및 5로 구성될 것이다. For example, suppose that a portion of a list of digital components 130 provided to a content source/platform includes the top N entries in the list of digital components 130 , where the top N entries are of each individual digital component. selected based on ranking. In such a case the portion of the list of digital components 130 accessed by the content source/platform will consist of entries 1, 2 and 5 representing user interest in cameras, hotels and rental cars.

일부 구현예에서, 콘텐츠 소스(들) 및/또는 콘텐츠 플랫폼은 리스트에 있는지 여부와 상관없이 임의의 디지털 컴포넌트를 제공할 수 있다. 그러한 경우에, 클라이언트 디바이스는 제공된 디지털 컴포넌트가 디지털 컴포넌트의 리스트에 있는지 여부(예를 들어, 제공된 디지털 컴포넌트가 디지털 컴포넌트의 리스트에서 상위 N개의 디지털 컴포넌트 중 하나인지 여부)를 결정할 수 있다. 그렇다면, 클라이언트 디바이스에서 실행되는 애플리케이션은 제공된 디지털 컴포넌트를 렌더링/디스플레이할 수 있다. 그렇지 않으면, 애플리케이션은 예를 들어 그것을 디스플레이하지 않음으로써 그러한 콘텐츠를 억제할 수 있고, 대신에 선택적으로 애플리케이션은 인터페이스를 수정하여 억제된/제거된 디지털 컴포넌트가 디스플레이되었을 위치가 다른 콘텐츠(예: 조정(예: 재구성/이동/크기 조정)될 수 있는 페이지에 이미 포함된 콘텐츠) 또는 콘텐츠 소스 또는 콘텐츠 플랫폼에서 얻을 수 있는 기타 콘텐츠로 교체되도록 한다.In some implementations, the content source(s) and/or content platform may provide any digital component, whether or not on the list. In such a case, the client device may determine whether the provided digital component is in the list of digital components (eg, whether the provided digital component is one of the top N digital components in the list of digital components). If so, the application running on the client device may render/display the provided digital component. Alternatively, the application may suppress such content, for example by not displaying it, and instead, optionally, the application may modify the interface to display content that is different from where the suppressed/removed digital component would have been displayed (e.g. (e.g. content already contained in a page that can be reconfigured/moved/resized) or replaced with other content available from a content source or content platform.

일부 구현예에서, 클라이언트 디바이스(102)는 억제되었고 클라이언트 디바이스(102) 상에 제시/디스플레이되지 않은 특정한 디지털 컴포넌트들에 대해 콘텐츠 플랫폼 또는 콘텐츠 소스에 통지할 수 있다. 콘텐츠 플랫폼 또는 콘텐츠 소스는 이러한 정보를 사용하여 클라이언트 디바이스(102)에 이러한 디지털 컴포넌트를 계속해서 제공하는 것을 피할 수 있다. 콘텐츠 플랫폼 및/또는 콘텐츠 소스는 억제/제거된 콘텐츠에 대한 정보를 유지/저장할 수 있으며, 이는 하나 이상의 클라이언트 디바이스에 제공할 디지털 컴포넌트의 유형을 알릴 수 있는 분석을 수행하는데 사용될 수 있다.In some implementations, the client device 102 may notify the content platform or content source about certain digital components that have been suppressed and not presented/displayed on the client device 102 . The content platform or content source may use this information to avoid continuing to provide these digital components to the client device 102 . The content platform and/or content source may maintain/store information about the suppressed/removed content, which may be used to perform analysis that may inform one or more client devices of the type of digital component to provide.

콘텐츠 소스/플랫폼으로부터 수신된 디지털 컴포넌트는 클라이언트 디바이스(102) 상에서 실행되는 애플리케이션 내의 디스플레이를 위해 제공된다(390). 일부 구현예에서, 클라이언트 디바이스(102)는 제2 콘텐츠 소스로부터 디지털 컴포넌트들을 수신하면, 애플리케이션 내의 디스플레이를 위해 이러한 디지털 컴포넌트들을 제공한다. 예를 들어, 콘텐츠 소스/플랫폼이 디지털 컴포넌트의 리스트의 일부를 수신하면 카메라, 호텔 및 렌트카와 관련된 콘텐츠와 같은 디지털 컴포넌트를 클라이언트 디바이스(102)에 제공한다고 가정한다. The digital component received from the content source/platform is provided ( 390 ) for display in an application executing on the client device ( 102 ). In some implementations, upon receiving digital components from a second content source, client device 102 provides these digital components for display within an application. For example, suppose a content source/platform receives a portion of a list of digital components and provides the client device 102 with digital components, such as content related to cameras, hotels, and rental cars.

요약하면, 위에서 설명된 동작은 클라이언트 디바이스가 이미 긍정적인 사용자 액션을 취한 클라이언트 디바이스에서 중복 디지털 컴포넌트의 제공 및 디스플레이를 제한한다. 이와 관련하여, 앞서 설명된 동작은 또한 사전에 긍정적인 사용자 액션이 이러한 디지털 컴포넌트들과 연관되지 않은 경우, 아무런 제한 없이 디지털 컴포넌트(이전에 제공되었는지 여부에 관계없이)를 제공하고 디스플레이한다. In summary, the actions described above limit the presentation and display of redundant digital components at the client device for which the client device has already taken a positive user action. In this regard, the operations described above also provide and display a digital component (whether or not previously provided) without any limitation, provided no prior positive user action has been associated with these digital components.

도 4는 상기 기술된 동작들을 수행하는데 사용될 수 있는 예시적 컴퓨터 시스템(400)의 블록도이다. 시스템(400)은 프로세서(410), 메모리(420), 저장 디바이스(430) 및 입력/출력 디바이스(440)를 포함한다. 컴포넌트들(410, 420, 430 및 440) 각각은 예를 들면, 시스템 버스(450)를 사용하여 상호 연결될 수 있다. 프로세서(410)는 시스템(400) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 일부 구현예에서, 프로세서(410)는 단일-스레드 프로세서이다. 다른 구현예에서, 프로세서(410)는 멀티-스레드 프로세서이다. 프로세서(410)는 메모리(420) 또는 저장 디바이스(430)에 저장된 명령어들을 프로세싱할 수 있다.4 is a block diagram of an exemplary computer system 400 that may be used to perform the operations described above. The system 400 includes a processor 410 , a memory 420 , a storage device 430 , and an input/output device 440 . Each of components 410 , 420 , 430 and 440 may be interconnected using, for example, a system bus 450 . Processor 410 may process instructions for execution within system 400 . In some implementations, processor 410 is a single-threaded processor. In another implementation, processor 410 is a multi-threaded processor. The processor 410 may process instructions stored in the memory 420 or the storage device 430 .

메모리(420)는 시스템(400) 내에 정보를 저장한다. 일 구현예에서, 메모리(420)는 컴퓨터 판독가능 매체이다. 일부 구현예에서, 메모리(420)는 휘발성 메모리 유닛이다. 다른 구현예에서, 메모리(420)는 비휘발성 메모리 유닛이다.Memory 420 stores information within system 400 . In one implementation, memory 420 is a computer-readable medium. In some implementations, memory 420 is a volatile memory unit. In another implementation, memory 420 is a non-volatile memory unit.

저장 디바이스(430)는 시스템(400)에 대한 대형 저장소를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(430)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(430)는 예를 들면, 하드 디스크 디바이스, 광학 디스크 디바이스, 다수의 컴퓨팅 디바이스들(예를 들면, 클라우드 저장 디바이스)에 의해 네트워크를 통해 공유되는 저장 디바이스 또는 일부 기타 대용량 저장 디바이스를 포함할 수 있다.Storage device 430 may provide large storage for system 400 . In some implementations, storage device 430 is a computer-readable medium. In various different implementations, storage device 430 may be, for example, a hard disk device, an optical disk device, a storage device shared over a network by multiple computing devices (eg, a cloud storage device), or some other It may include a mass storage device.

입력/출력 디바이스(440)는 시스템(400)에 대한 입력/출력 동작들을 제공한다. 일부 구현예에서, 입력/출력 디바이스(440)는 네트워크 인터페이스 디바이스 예를 들어, 이더넷 카드, 직렬 통신 디바이스(예를 들어, RS-232 포트) 및/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드) 중 하나 이상을 포함할 수 있다. 다른 구현예에서, 입력/출력 디바이스는 입력 데이터를 수신하고 출력 데이터를 다른 주변 디바이스들(460) 예를 들어, 키보드, 프린터 및 디스플레이 디바이스들에 송신하도록 구성된 드라이버 디바이스들을 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스들, 모바일 통신 디바이스들, 셋톱 박스 텔레비전 클라이언트 디바이스들 등과 같은 다른 구현예들도 사용될 수 있다.Input/output device 440 provides input/output operations for system 400 . In some implementations, the input/output device 440 is a network interface device such as an Ethernet card, a serial communication device (eg, an RS-232 port) and/or a wireless interface device (eg, an 802.11 card). may include one or more of In another implementation, the input/output device may include driver devices configured to receive input data and transmit output data to other peripheral devices 460 , eg, keyboard, printer, and display devices. However, other implementations may be used, such as mobile computing devices, mobile communication devices, set top box television client devices, and the like.

예시적 프로세싱 시스템이 도 4에서 기술되었지만, 본 발명의 구현예들 및 본 명세서에 기술된 기능적 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 다른 유형의 디지털 전자 회로에서, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. Although an exemplary processing system has been described in FIG. 4 , implementations of the invention and the functional operations described herein can be used in other types of digital It may be implemented in electronic circuitry, or in computer software, firmware or hardware.

본 발명의 실시예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장 매체(또는 매체들)에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또는 전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 물리적 컴포넌트들 또는 매체(예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 또는 그에 포함될 수 있다.Embodiments of the present invention and operations described herein may be implemented in digital electronic circuitry or computer software, firmware or hardware comprising the structures disclosed herein and their structural equivalents or combinations of one or more thereof. Embodiments of the invention described herein may be implemented as one or more computer programs. That is, one or more modules of computer program instructions encoded in a computer storage medium (or media) for execution by or control of operation of the data processing apparatus. Alternatively or additionally, the program instructions are an artificially generated propagated signal, ie, a machine-generated electrical, optical or electromagnetic, generated for encoding information for transmission to an appropriate receiver device for execution by the data processing device. may be encoded in the signal. A computer storage medium may be or be included in a computer readable storage device, a computer readable storage substrate, a random or serial access memory array or device, or a combination of one or more thereof. Further, while a computer storage medium is not a propagated signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagated signal. In addition, a computer storage medium may be or be included in one or more separate physical components or media (eg, multiple CDs, disks, or other storage devices).

본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다. The operations described herein may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

용어 "데이터 프로세싱 장치"는 예시로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩 또는 앞서 언급된 것들 중 다수의 것들 또는 조합들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.The term “data processing apparatus” includes all kinds of apparatus, devices and machines for processing data, including by way of example a programmable processor, computer, system on chip or many or combinations of the foregoing. The device may include a special purpose logic circuit, for example a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). The device may also include, in addition to hardware, code that creates an execution environment for the computer program in question, such as processor firmware, protocol stack, database management system, operating system, cross-platform runtime execution environment, virtual machine. or code constituting a combination of one or more of them. The device and execution environment may realize various computing model infrastructures such as web services, distributed computing and grid computing infrastructure.

컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 오브젝트로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.A computer program (also known as a program, software, software application, script or code) may be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and run standalone It may be distributed as a program type or in any form, including modules, components, subroutines, objects, or other units suitable for use in a computing environment. A computer program may, but does not necessarily, correspond to a file in a file system. A program may be part of a file having one or more scripts stored in other programs or data, eg, a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, eg, one or more modules. files, subprograms, or parts of code. The computer program may be distributed for execution on one computer or multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.

본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다.The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may also be performed by a special purpose logic circuit such as an FPGA or ASIC, and the apparatus may also be implemented as a special purpose logic circuit.

컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 나열하면, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.Processors suitable for the execution of a computer program include, by way of example, general purpose and special purpose microprocessors. Generally, a processor will receive instructions and data from read-only memory or random access memory or both. Essential elements of a computer are a processor for performing actions according to the instructions and one or more memory devices for storing instructions and data. In general, a computer also includes one or more large storage devices for storing data, such as magnetic, magneto-optical disks or optical disks, or operatively to receive data from or transmit data thereto. can be combined. However, a computer does not necessarily have to have such devices. In addition, the computer may be connected to another device, such as a mobile phone, personal digital assistant (PDA), mobile audio or video player, game console, GPS receiver, or portable storage device, such as a universal serial bus, to name a few. It can be embedded in a (USB) flash drive. Devices suitable for storing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM and flash memory devices; magnetic disks such as, for example, internal hard disks or removable disks; and all forms of non-volatile memory, media and memory devices including CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by or incorporated into special purpose logic circuitry.

사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 실시예들은 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.In order to provide interaction with a user, embodiments of the invention described herein include a display device such as, for example, a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, and a display device to display information to the user. It may be implemented in a computer with a keyboard and pointing device, such as a mouse or trackball, through which a user can provide input to the computer. Other types of devices may also be used to provide interaction with the user. For example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic, voice, or tactile input. can Additionally, the computer may interact with the user by sending and receiving documents to and from the device used by the user, for example, by sending a web page to a web browser on the user's user device in response to a request received from the web browser.

본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 어플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함한다.Embodiments of the inventions described herein may be implemented by a user computer or user having a graphical user interface or a backend component such as a data server, a middleware component such as an application server, for example, to interact with an implementation of the invention described herein. It may be implemented in a computing system comprising a front-end component, such as a web browser, or any combination of one or more of the above-mentioned back-end, middleware or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, for example, a communication network. Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), inter-networks (eg, the Internet), and peer-to-peer networks (eg, ad hoc peer-to-peer networks). .

컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예에서, 서버는(예를 들어, 사용자 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위해) 사용자 디바이스에 데이터(예를 들어, HTML 페이지)를 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.A computing system may include users and servers. Users and servers are usually remote from each other, and they usually interact through a communication network. The relationship between the user and the server arises by virtue of computer programs running on the respective computers and having a user-server relationship with each other. In some embodiments, the server sends data (eg, an HTML page) to the user device (eg, to display data and receive user input to the user interacting with the user device). Data generated at the user device (eg, a result of a user interaction) may be received from the user device at a server.

본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 실시예에 특정한 구성들에 대한 설명으로 해석되어야 한다. 별개의 실시예의 컨텍스트에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of configurations specific to particular embodiments of particular inventions. . Certain configurations that are described herein in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various configurations that are described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Moreover, although components may operate in certain combinations and even initially described above as claimed as such, one or more components from a claimed combination may in some cases be eliminated from the combination, and the claimed combination may be a sub-combination or It can be guided by a variant of the sub-combination.

유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 실시예에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.Similarly, although acts are shown in the figures in a particular order, this should not be construed as requiring that the acts be performed in the specific order shown or in a chronological order or that all shown acts must be performed. In certain circumstances, multitasking and parallel processing are beneficial. Moreover, the separation of various system components in the above-described embodiments should not be construed as requiring such separation in all embodiments, and generally the described program components and systems may be integrated together into a single software product or multiple software products. It should be understood that they can be packaged in

따라서, 본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 특정 구현예에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다.Accordingly, specific embodiments of the present invention have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve desired results. Additionally, the processes depicted in the accompanying drawings do not necessarily require the specific illustrated order, or time-series order, to achieve desired results. In certain implementations, multitasking and parallel processing are advantageous.

Claims (20)

컴퓨터로 구현되는 방법으로서,
클라이언트 디바이스에 의해, 상기 클라이언트 디바이스서 실행되는 애플리케이션에 제공될 수 있는 디지털 컴포넌트들의 세트를 특정하는 디지털 컴포넌트들의 리스트를 저장하는 단계;
상기 클라이언트 디바이스에서 실행되는 제1 애플리케이션 내에서, 제1 콘텐츠 제공자에 의해 제공되는 제1 디지털 컴포넌트를 수신하는 단계;
상기 클라이언트 디바이스에 의해, (i) 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 및 (ii) 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션에 응답하여 제공된 콘텐츠와의 제2 사용자 인터렉션을 특정하는 신호들의 세트를 검출하는 단계;
상기 클라이언트 디바이스에 의해, 상기 신호들의 세트에 기초하여, 긍정적인 사용자 액션이 상기 클라이언트 디바이스의 사용자에 의해 수행되었음을 결정하는 단계, 상기 긍정적인 사용자 액션은 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 이후 상기 사용자에 의한 특정된 타겟 액션의 수행을 표현하며;
상기 클라이언트 디바이스에 의해, 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 이후 상기 사용자에 의한 긍정적인 사용자 액션에 기초하여, 상기 디지털 컴포넌트들의 리스트를 수정하는 단계;
상기 클라이언트 디바이스에서 실행되는 제2 애플리케이션 내의 콘텐츠 페이지에 액세스하기 위한 요청을 수신하는 단계;
상기 콘텐츠 페이지에 액세스하기 위한 요청을 수신함에 응답하여, 상기 디지털 컴포넌트들의 수정된 리스트의 일부를 포함하는 콘텐츠에 대한 요청을 제2 콘텐츠 제공자에게 송신하는 단계, 상기 디지털 컴포넌트들의 수정된 리스트의 일부는 상기 콘텐츠에 대한 요청에 응답하여 제1 디지털 컴포넌트의 선택을 방지하며;
상기 콘텐츠에 대한 요청에 응답하여, 상기 클라이언트 디바이스에 의해, 제2 애플리케이션 내에서, 상기 제2 콘텐츠 제공자로부터 제2 디지털 컴포넌트를 수신하는 단계, 상기 제2 디지털 컴포넌트는 상기 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트들 중에서 선택되며; 및
상기 제2 애플리케이션 내의 콘텐츠 페이지에 디스플레이하기 위해 상기 제2 디지털 컴포넌트를 제공하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
A computer-implemented method comprising:
storing, by a client device, a list of digital components specifying a set of digital components that can be provided to an application executing on the client device;
receiving, within a first application executing on the client device, a first digital component provided by a first content provider;
signals specifying, by the client device, (i) a first user interaction with a first digital component and (ii) a second user interaction with content provided in response to the first user interaction with the first digital component. detecting a set;
determining, by the client device, based on the set of signals, that a positive user action has been performed by a user of the client device, the positive user action being performed after a first user interaction with the first digital component represent performance of a specified target action by the user;
modifying, by the client device, the list of digital components based on a positive user action by the user after the first user interaction with the first digital component;
receiving a request to access a content page in a second application executing on the client device;
in response to receiving the request to access the content page, sending a request for content comprising a portion of the modified list of digital components to a second content provider, wherein the portion of the modified list of digital components is prevent selection of a first digital component in response to the request for content;
receiving, by the client device, within a second application, a second digital component from the second content provider in response to the request for the content, the second digital component being added to the modified list of digital components selected from among the included digital components; and
and providing the second digital component for display on a page of content within the second application.
청구항 1에 있어서, 긍정적인 사용자 액션이 상기 클라이언트 디바이스의 사용자에 의해 수행되었음을 결정하는 단계는:
상기 제1 디지털 컴포넌트와 연관된 신호들의 세트를 기계 학습 모델에 입력하는 단계, 상기 기계 학습 모델은 특정한 디지털 컴포넌트와 연관된 신호들의 특정한 세트에 기초하여, 상기 사용자가 상기 특정한 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 예측하며,
상기 기계 학습 모델은 복수의 트레이닝 디지털 컴포넌트들에 대한 트레이닝 데이터를 사용하여 트레이닝되며, 각 트레이닝 디지털 컴포넌트에 대한 트레이닝 데이터는 상기 트레이닝 디지털 컴포넌트와 연관된 신호들의 세트 및 사용자가 상기 트레이닝 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 표시하는 대응 라벨을 포함하며; 및
상기 기계 학습 모델로부터, 상기 기계 학습 모델에 입력된 상기 제1 디지털 컴포넌트와 연관된 신호들의 세트에 응답하여, 사용자가 상기 제1 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 특정하는 표시를 획득하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
The method of claim 1 , wherein determining that a positive user action was performed by a user of the client device comprises:
inputting a set of signals associated with the first digital component into a machine learning model, wherein the machine learning model determines, based on the particular set of signals associated with the particular digital component, the user taking a positive user action with the particular digital component. predict whether or not
The machine learning model is trained using training data for a plurality of training digital components, wherein the training data for each training digital component includes a set of signals associated with the training digital component and a user positive for the training digital component. includes a corresponding label indicating whether an action was taken; and
obtaining, from the machine learning model, in response to a set of signals associated with the first digital component input to the machine learning model, an indication specifying whether a user performed a positive user action with the first digital component; A computer-implemented method comprising:
청구항 1 또는 2에 있어서, 상기 디지털 컴포넌트들의 리스트를 저장하는 단계는 디지털 컴포넌트들의 순위 리스트를 저장하는 단계를 포함하는, 컴퓨터로 구현되는 방법.3. The computer-implemented method of claim 1 or 2, wherein storing the list of digital components comprises storing a ranked list of digital components. 청구항 3에 있어서, 상기 디지털 컴포넌트들의 리스트를 수정하는 단계는 상기 순위 리스트에서 상기 제1 디지털 컴포넌트에 대응하는 순위를 낮추는 단계를 포함하는, 컴퓨터로 구현되는 방법.4. The computer-implemented method of claim 3, wherein modifying the list of digital components comprises lowering a ranking corresponding to the first digital component in the ranked list. 청구항 4에 있어서, 상기 디지털 컴포넌트들의 수정된 리스트의 일부는 상기 순위 리스트에서 상위 N개 순위의 디지털 컴포넌트들을 포함하는 컴퓨터로 구현되는 방법.5. The computer-implemented method of claim 4, wherein the portion of the modified list of digital components includes the top N ranked digital components in the ranked list. 청구항 1 또는 2에 있어서, 상기 디지털 컴포넌트들의 리스트를 수정하는 단계는 상기 디지털 컴포넌트들의 리스트로부터 상기 제1 디지털 컴포넌트를 제거하는 단계를 포함하는, 컴퓨터로 구현되는 방법.3. The computer-implemented method of claim 1 or 2, wherein modifying the list of digital components comprises removing the first digital component from the list of digital components. 임의의 선행하는 청구항에 있어서,
상기 콘텐츠에 대한 요청에 응답하여, 상기 클라이언트 디바이스에 의해, 제2 애플리케이션 내에서, 상기 제2 콘텐츠 제공자로부터 제3 디지털 컴포넌트를 수신하는 단계, 상기 제3 디지털 컴포넌트는 상기 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트들 중에서 없으며; 및
상기 제3 디지털 컴포넌트가 상기 콘텐츠 페이지에 디스플레이되는 것을 억제하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
In any preceding claim,
receiving, by the client device, within a second application, a third digital component from the second content provider in response to the request for the content, the third digital component being added to the modified list of digital components None of the included digital components; and
and inhibiting the third digital component from being displayed on the content page.
청구항 7에 있어서,
상기 억제에 응답하여, 상기 콘텐츠 페이지의 콘텐츠 레이아웃을 수정하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
8. The method of claim 7,
in response to the suppression, modifying the content layout of the content page.
청구항 7 또는 8에 있어서,
상기 제3 디지털 컴포넌트가 억제되었음을 표시하는 메시지를 상기 제2 콘텐츠 제공자에게 제공하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
9. The method of claim 7 or 8,
and providing a message to the second content provider indicating that the third digital component has been suppressed.
임의의 선행하는 청구항에 있어서, 상기 제1 콘텐츠 제공자는 상기 제2 콘텐츠 제공자와 상이하고, 상기 제1 애플리케이션은 상기 제2 애플리케이션과 상이한, 컴퓨터로 구현되는 방법.The computer-implemented method of any preceding claim, wherein the first content provider is different from the second content provider, and wherein the first application is different from the second application. 시스템으로서,
클라이언트 디바이스에 의해, 상기 클라이언트 디바이스서 실행되는 애플리케이션에 제공될 수 있는 디지털 컴포넌트들의 세트를 특정하는 디지털 컴포넌트들의 리스트를 저장하는 동작;
상기 클라이언트 디바이스에서 실행되는 제1 애플리케이션 내에서, 제1 콘텐츠 제공자에 의해 제공되는 제1 디지털 컴포넌트를 수신하는 동작;
상기 클라이언트 디바이스에 의해, (i) 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 및 (ii) 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션에 응답하여 제공된 콘텐츠와의 제2 사용자 인터렉션을 특정하는 신호들의 세트를 검출하는 동작;
상기 클라이언트 디바이스에 의해, 상기 신호들의 세트에 기초하여, 긍정적인 사용자 액션이 상기 클라이언트 디바이스의 사용자에 의해 수행되었음을 결정하는 동작, 상기 긍정적인 사용자 액션은 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 이후 상기 사용자에 의한 특정된 타겟 액션의 수행을 표현하며;
상기 클라이언트 디바이스에 의해, 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 이후 상기 사용자에 의한 긍정적인 사용자 액션에 기초하여, 상기 디지털 컴포넌트들의 리스트를 수정하는 동작;
상기 클라이언트 디바이스에서 실행되는 제2 애플리케이션 내의 콘텐츠 페이지에 액세스하기 위한 요청을 수신하는 동작;
상기 콘텐츠 페이지에 액세스하기 위한 요청을 수신함에 응답하여, 상기 디지털 컴포넌트들의 수정된 리스트의 일부를 포함하는 콘텐츠에 대한 요청을 제2 콘텐츠 제공자에게 송신하는 동작, 상기 디지털 컴포넌트들의 수정된 리스트의 일부는 상기 콘텐츠에 대한 요청에 응답하여 제1 디지털 컴포넌트의 선택을 방지하며;
상기 콘텐츠에 대한 요청에 응답하여, 상기 클라이언트 디바이스에 의해, 제2 애플리케이션 내에서, 상기 제2 콘텐츠 제공자로부터 제2 디지털 컴포넌트를 수신하는 동작, 상기 제2 디지털 컴포넌트는 상기 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트들 중에서 선택되며; 및
상기 제2 애플리케이션 내의 콘텐츠 페이지에 디스플레이하기 위해 상기 제2 디지털 컴포넌트를 제공하는 동작을 포함하는, 시스템.
As a system,
storing, by a client device, a list of digital components specifying a set of digital components that can be provided to an application executing on the client device;
receiving, within a first application executing on the client device, a first digital component provided by a first content provider;
signals specifying, by the client device, (i) a first user interaction with a first digital component and (ii) a second user interaction with content provided in response to the first user interaction with the first digital component. detecting a set;
determining, by the client device, based on the set of signals, that a positive user action has been performed by a user of the client device, the positive user action being performed after a first user interaction with the first digital component represent performance of a specified target action by the user;
modifying, by the client device, the list of digital components based on a positive user action by the user after the first user interaction with the first digital component;
receiving a request to access a content page in a second application executing on the client device;
in response to receiving the request to access the page of content, sending a request for content including a portion of the modified list of digital components to a second content provider, wherein the portion of the modified list of digital components is prevent selection of a first digital component in response to the request for content;
receiving, by the client device, within a second application, a second digital component from the second content provider in response to the request for the content, the second digital component being added to the modified list of digital components selected from among the included digital components; and
and providing the second digital component for display on a page of content within the second application.
청구항 11에 있어서, 긍정적인 사용자 액션이 상기 클라이언트 디바이스의 사용자에 의해 수행되었음을 결정하는 동작은:
상기 제1 디지털 컴포넌트와 연관된 신호들의 세트를 기계 학습 모델에 입력하는 동작, 상기 기계 학습 모델은 특정한 디지털 컴포넌트와 연관된 신호들의 특정한 세트에 기초하여, 상기 사용자가 상기 특정한 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 예측하며,
상기 기계 학습 모델은 복수의 트레이닝 디지털 컴포넌트들에 대한 트레이닝 데이터를 사용하여 트레이닝되며, 각 트레이닝 디지털 컴포넌트에 대한 트레이닝 데이터는 상기 트레이닝 디지털 컴포넌트와 연관된 신호들의 세트 및 사용자가 상기 트레이닝 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 표시하는 대응 라벨을 포함하며; 및
상기 기계 학습 모델로부터, 상기 기계 학습 모델에 입력된 상기 제1 디지털 컴포넌트와 연관된 신호들의 세트에 응답하여, 사용자가 상기 제1 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 특정하는 표시를 획득하는 동작을 포함하는, 시스템.
The method of claim 11 , wherein determining that a positive user action was performed by a user of the client device comprises:
inputting a set of signals associated with the first digital component into a machine learning model, wherein the machine learning model determines, based on the particular set of signals associated with the particular digital component, the user taking a positive user action with the particular digital component. predict whether or not
The machine learning model is trained using training data for a plurality of training digital components, wherein the training data for each training digital component includes a set of signals associated with the training digital component and a user positive for the training digital component. includes a corresponding label indicating whether an action was taken; and
obtaining, from the machine learning model, in response to a set of signals associated with the first digital component input to the machine learning model, an indication specifying whether a user performed a positive user action with the first digital component; comprising, a system.
청구항 11 또는 12에 있어서, 상기 디지털 컴포넌트들의 리스트를 저장하는 동작은 디지털 컴포넌트들의 순위 리스트를 저장하는 동작을 포함하는, 시스템.13. The system of claim 11 or 12, wherein storing the list of digital components comprises storing a ranked list of digital components. 임의의 선행하는 청구항에 있어서,
상기 콘텐츠에 대한 요청에 응답하여, 상기 클라이언트 디바이스에 의해, 제2 애플리케이션 내에서, 상기 제2 콘텐츠 제공자로부터 제3 디지털 컴포넌트를 수신하는 동작, 상기 제3 디지털 컴포넌트는 상기 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트들 중에서 없으며; 및
상기 제3 디지털 컴포넌트가 상기 콘텐츠 페이지에 디스플레이되는 것을 억제하는 동작을 포함하는, 시스템.
In any preceding claim,
receiving, by the client device, within a second application, a third digital component from the second content provider in response to the request for the content, the third digital component being added to the modified list of digital components None of the included digital components; and
and inhibiting the third digital component from being displayed on the content page.
임의의 선행하는 청구항에 있어서, 상기 제1 콘텐츠 제공자는 상기 제2 콘텐츠 제공자와 상이하고, 상기 제1 애플리케이션은 상기 제2 애플리케이션과 상이한, 시스템. The system of any preceding claim, wherein the first content provider is different from the second content provider, and wherein the first application is different from the second application. 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 하나 이상의 데이터 프로세싱 장치에 의해 실행될 때, 상기 하나 이상의 데이터 프로세싱 장치로 하여금 동작들을 수행하게 하며, 상기 동작들은:
클라이언트 디바이스에 의해, 상기 클라이언트 디바이스서 실행되는 애플리케이션에 제공될 수 있는 디지털 컴포넌트들의 세트를 특정하는 디지털 컴포넌트들의 리스트를 저장하는 동작;
상기 클라이언트 디바이스에서 실행되는 제1 애플리케이션 내에서, 제1 콘텐츠 제공자에 의해 제공되는 제1 디지털 컴포넌트를 수신하는 동작;
상기 클라이언트 디바이스에 의해, (i) 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 및 (ii) 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션에 응답하여 제공된 콘텐츠와의 제2 사용자 인터렉션을 특정하는 신호들의 세트를 검출하는 동작;
상기 클라이언트 디바이스에 의해, 상기 신호들의 세트에 기초하여, 긍정적인 사용자 액션이 상기 클라이언트 디바이스의 사용자에 의해 수행되었음을 결정하는 동작, 상기 긍정적인 사용자 액션은 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 이후 상기 사용자에 의한 특정된 타겟 액션의 수행을 표현하며;
상기 클라이언트 디바이스에 의해, 상기 제1 디지털 컴포넌트와의 제1 사용자 인터렉션 이후 상기 사용자에 의한 긍정적인 사용자 액션에 기초하여, 상기 디지털 컴포넌트들의 리스트를 수정하는 동작;
상기 클라이언트 디바이스에서 실행되는 제2 애플리케이션 내의 콘텐츠 페이지에 액세스하기 위한 요청을 수신하는 동작;
상기 콘텐츠 페이지에 액세스하기 위한 요청을 수신함에 응답하여, 상기 디지털 컴포넌트들의 수정된 리스트의 일부를 포함하는 콘텐츠에 대한 요청을 제2 콘텐츠 제공자에게 송신하는 동작, 상기 디지털 컴포넌트들의 수정된 리스트의 일부는 상기 콘텐츠에 대한 요청에 응답하여 제1 디지털 컴포넌트의 선택을 방지하며;
상기 콘텐츠에 대한 요청에 응답하여, 상기 클라이언트 디바이스에 의해, 제2 애플리케이션 내에서, 상기 제2 콘텐츠 제공자로부터 제2 디지털 컴포넌트를 수신하는 동작, 상기 제2 디지털 컴포넌트는 상기 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트들 중에서 선택되며; 및
상기 제2 애플리케이션 내의 콘텐츠 페이지에 디스플레이하기 위해 상기 제2 디지털 컴포넌트를 제공하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
A non-transitory computer-readable medium having stored thereon instructions, which, when executed by one or more data processing devices, cause the one or more data processing devices to perform operations, the operations comprising:
storing, by a client device, a list of digital components specifying a set of digital components that can be provided to an application executing on the client device;
receiving, within a first application executing on the client device, a first digital component provided by a first content provider;
signals specifying, by the client device, (i) a first user interaction with a first digital component and (ii) a second user interaction with content provided in response to the first user interaction with the first digital component. detecting a set;
determining, by the client device, based on the set of signals, that a positive user action has been performed by a user of the client device, the positive user action being performed after a first user interaction with the first digital component represent performance of a specified target action by the user;
modifying, by the client device, the list of digital components based on a positive user action by the user after the first user interaction with the first digital component;
receiving a request to access a content page in a second application executing on the client device;
in response to receiving the request to access the page of content, sending a request for content including a portion of the modified list of digital components to a second content provider, wherein the portion of the modified list of digital components is prevent selection of a first digital component in response to the request for content;
receiving, by the client device, within a second application, a second digital component from the second content provider in response to the request for the content, the second digital component being added to the modified list of digital components selected from among the included digital components; and
and providing the second digital component for display on a page of content within the second application.
청구항 16에 있어서, 긍정적인 사용자 액션이 상기 클라이언트 디바이스의 사용자에 의해 수행되었음을 결정하는 동작은:
상기 제1 디지털 컴포넌트와 연관된 신호들의 세트를 기계 학습 모델에 입력하는 동작, 상기 기계 학습 모델은 특정한 디지털 컴포넌트와 연관된 신호들의 특정한 세트에 기초하여, 상기 사용자가 상기 특정한 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 예측하며,
상기 기계 학습 모델은 복수의 트레이닝 디지털 컴포넌트들에 대한 트레이닝 데이터를 사용하여 트레이닝되며, 각 트레이닝 디지털 컴포넌트에 대한 트레이닝 데이터는 상기 트레이닝 디지털 컴포넌트와 연관된 신호들의 세트 및 사용자가 상기 트레이닝 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 표시하는 대응 라벨을 포함하며; 및
상기 기계 학습 모델로부터, 상기 기계 학습 모델에 입력된 상기 제1 디지털 컴포넌트와 연관된 신호들의 세트에 응답하여, 사용자가 상기 제1 디지털 컴포넌트로 긍정적인 사용자 액션을 했는지 여부를 특정하는 표시를 획득하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
17. The method of claim 16, wherein determining that a positive user action was performed by a user of the client device comprises:
inputting a set of signals associated with the first digital component into a machine learning model, wherein the machine learning model determines, based on the particular set of signals associated with the particular digital component, the user taking a positive user action with the particular digital component. predict whether or not
The machine learning model is trained using training data for a plurality of training digital components, wherein the training data for each training digital component includes a set of signals associated with the training digital component and a user positive for the training digital component. includes a corresponding label indicating whether an action was taken; and
obtaining, from the machine learning model, in response to a set of signals associated with the first digital component input to the machine learning model, an indication specifying whether a user performed a positive user action with the first digital component; A non-transitory computer-readable medium comprising:
청구항 16 또는 17에 있어서, 상기 디지털 컴포넌트들의 리스트를 저장하는 동작은 디지털 컴포넌트들의 순위 리스트를 저장하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.The non-transitory computer-readable medium of claim 16 or 17 , wherein storing the list of digital components comprises storing a ranked list of digital components. 청구항 15에 있어서,
상기 콘텐츠에 대한 요청에 응답하여, 상기 클라이언트 디바이스에 의해, 제2 애플리케이션 내에서, 상기 제2 콘텐츠 제공자로부터 제3 디지털 컴포넌트를 수신하는 동작, 상기 제3 디지털 컴포넌트는 상기 디지털 컴포넌트들의 수정된 리스트에 포함된 디지털 컴포넌트들 중에서 없으며; 및
상기 제3 디지털 컴포넌트가 상기 콘텐츠 페이지에 디스플레이되는 것을 억제하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
16. The method of claim 15,
receiving, by the client device, within a second application, a third digital component from the second content provider in response to the request for the content, the third digital component being added to the modified list of digital components None of the included digital components; and
and inhibiting the third digital component from being displayed on the content page.
임의의 선행하는 청구항에 있어서, 상기 제1 콘텐츠 제공자는 상기 제2 콘텐츠 제공자와 상이하고, 상기 제1 애플리케이션은 상기 제2 애플리케이션과 상이한, 비일시적 컴퓨터 판독가능 매체.The non-transitory computer-readable medium of any preceding claim, wherein the first content provider is different from the second content provider, and wherein the first application is different from the second application.
KR1020217027304A 2020-04-27 2020-11-23 Limit provision and display of redundant digital components on client devices KR102590412B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
ROA/10018/2020 2020-04-27
RO202010018 2020-04-27
RO202000282A RO135285A2 (en) 2020-05-22 2020-05-22 Limitation of provision and display of redundant digital components on a client device
ROA/00282/2020 2020-05-22
PCT/US2020/061767 WO2021221718A1 (en) 2020-04-27 2020-11-23 Limiting provision and display of redundant digital components on a client device

Publications (2)

Publication Number Publication Date
KR20210134902A true KR20210134902A (en) 2021-11-11
KR102590412B1 KR102590412B1 (en) 2023-10-17

Family

ID=74046124

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027304A KR102590412B1 (en) 2020-04-27 2020-11-23 Limit provision and display of redundant digital components on client devices

Country Status (4)

Country Link
EP (1) EP3931724A1 (en)
KR (1) KR102590412B1 (en)
CN (1) CN113892085A (en)
WO (1) WO2021221718A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150129955A (en) * 2014-05-12 2015-11-23 에스케이플래닛 주식회사 System For Providing Advertisement, Apparatus And Method For Providing Advertisement in the System
JP2017162212A (en) * 2016-03-09 2017-09-14 Necパーソナルコンピュータ株式会社 Information processing device, information processing method, and program
KR20190017967A (en) * 2016-06-12 2019-02-20 알리바바 그룹 홀딩 리미티드 How to share data between applications and web browser

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150129955A (en) * 2014-05-12 2015-11-23 에스케이플래닛 주식회사 System For Providing Advertisement, Apparatus And Method For Providing Advertisement in the System
JP2017162212A (en) * 2016-03-09 2017-09-14 Necパーソナルコンピュータ株式会社 Information processing device, information processing method, and program
KR20190017967A (en) * 2016-06-12 2019-02-20 알리바바 그룹 홀딩 리미티드 How to share data between applications and web browser

Also Published As

Publication number Publication date
KR102590412B1 (en) 2023-10-17
EP3931724A1 (en) 2022-01-05
WO2021221718A1 (en) 2021-11-04
CN113892085A (en) 2022-01-04
WO2021221718A8 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
US10430481B2 (en) Method and apparatus for generating a content recommendation in a recommendation system
US10706325B2 (en) Method and apparatus for selecting a network resource as a source of content for a recommendation system
KR101820893B1 (en) Large scale page recommendations on online social networks
EP2433258B1 (en) Protected serving of electronic content
RU2720952C2 (en) Method and system for generating digital content recommendation
US9742661B2 (en) Uniform resource locator mapping and routing system and method
US20170250930A1 (en) Interactive content recommendation personalization assistant
US10230672B2 (en) Inserting a search box into a mobile terminal dialog messaging protocol
US20130030922A1 (en) System and method for syndicating a conversation
KR20080002879A (en) Associating information with an electronic document
US9830304B1 (en) Systems and methods for integrating dynamic content into electronic media
KR20170088944A (en) Searching for Offers and Advertisements on Online Social Networks
EP3267386A1 (en) Method and apparatus for generating a content recommendation in a recommendation system
US11928173B1 (en) Dynamic web application based on events
US20160042050A1 (en) In-Application Recommendation of Deep States of Native Applications
US20140025597A1 (en) Applying for a job using a mobile computing device
US11068530B1 (en) Context-based image selection for electronic media
US10104196B2 (en) Method of and server for transmitting a personalized message to a user electronic device
US20220292144A1 (en) Provision of different content pages based on varying user interactions with a single content item
US20240054392A1 (en) Transfer machine learning for attribute prediction
RU2671054C2 (en) Method and system of selection of target content with the use of machine learning algorithm
KR102590412B1 (en) Limit provision and display of redundant digital components on client devices
EP3267389A1 (en) Method and apparatus for selecting a network resource as a source of content for a recommendation system
US11886524B2 (en) Limiting provision and display of redundant digital components on a client device
US10608950B2 (en) Method of and server for transmitting a personalized message to a user electronic device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant