Systems and methods for varying the size of a group of users to whom a media item is to be presented - Patents.com
The system addresses the challenge of managing user groups for media items by allowing media item providers to dynamically adjust group sizes based on calculated weight thresholds, ensuring accurate targeting and reducing system latency.
Patent Information
- Application Number
- JP2023190913
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-11-08
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2039-11-19
AI Technical Summary
Media item providers face challenges in easily identifying and managing the size of user groups interested in specific media items on content sharing platforms, often resulting in either overly wide or insufficient user groups.
The system allows media item providers to change the size of user groups from an initial level to a different level by calculating a second weight threshold based on a specified difference between the levels, enabling precise control over the audience for media items.
This approach simplifies user group selection, ensures media items are provided to the intended audience without unnecessary expansion, and reduces system latency by allowing for dynamic adjustment of user group sizes based on provider preferences.
Smart Images

Figure 0007654754000001 
Figure 0007654754000002 
Figure 0007654754000003
Abstract
Description
[Technical field]
[0001] Aspects and implementations of the present disclosure relate to varying the size of a group of users to whom a media item will be presented from an initial level to a different level in response to receiving a request from a provider of the media item. [Background technology]
[0002] A provider of a media item frequently selects an appropriate group of users who may be interested in the media item. The media item provider may wish to change the size of the group of users to include additional users or to limit the users to whom the media item may be presented. The media item provider cannot easily identify users to include or exclude from the group of users who may be interested in the media item. Summary of the Invention [Means for solving the problem]
[0003] The following summary is a simplified summary of the disclosure to provide a basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure or to delineate the scope of any particular implementations of the disclosure or the scope of the claims. Its sole purpose is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented below.
[0004] In some implementations, systems and methods are disclosed for resizing a group of users to whom a media item is to be presented from a first level to a second level in response to receiving a request from a provider of the media item. In one implementation, a media item to be presented to a group of users of a content sharing platform is identified. The media item is associated with a category. Each user of the group of users is associated with a weight indicating a probability of a match between the respective user and the category associated with the media item. A request to resize the group of users from the first level to a second level is received. The first level corresponds to a first weight threshold for the group of users. A second weight threshold for the group of users is calculated based on a value indicating a difference between the first level and the second level. The second weight threshold will be used or will be used later to determine whether the media item should be provided to a user requesting content from the content sharing platform.
[0005] In some cases, the first level may represent a first statistical value that may indicate a first quantitative relationship between the number of users in the group and the total number of users of the content sharing platform. In some cases, the second level may represent a second statistical value that indicates a second quantitative relationship between the number of users in the group and the total number of users of the content sharing platform. In some cases, the value indicating the difference between the first level and the second level may be specified or specifiable by the provider of the media item and may be the difference between the first statistical value and the second statistical value. The method may further include determining a value indicating the difference between the first level and the second level, or the system may be configured to determine a value indicating the difference between the first level and the second level. The value determining step may include receiving an input of the provider of the media item, the received input specifying the second level. The value determining step may include identifying one or more rules for a category associated with the media item. The value determining step may include determining the second statistical value based on the one or more rules. Determining the value may optionally include determining a difference between the first statistical value and the second statistical value. The method may optionally further include comparing a weight associated with the requesting user for a category of the media item to a second threshold value to determine whether the media item should be provided to the requesting user, or the system may optionally be configured to compare a weight associated with the requesting user for a category of the media item to a second threshold value to determine whether the media item should be provided to the requesting user. In some cases, the request to change the size of the group of users may be received in response to the provider of the media item interacting with a slider component of a user interface, the slider component may enable the provider of the media item to select a second level for the size of the group of users.In some cases, the categories may include at least one of the user's parental status, the user's occupation, the industry associated with the user's occupation, the size of the company employing the user, the user's educational status, the user's relationship status, or the user's property ownership status. In some cases, providing the media item may include one or more of enabling access to the media item, transmitting the media item, and / or presenting or allowing the presentation of the media item.
[0006] In some implementations, systems and methods are disclosed for providing a user interface (UI) for enabling a first user to change the size of a group of second users to whom a media item will be provided from a first level to a second level. In an implementation, the UI is provided to a first user of a content sharing platform. The UI includes at least a first portion and a second portion. The first portion includes one or more first UI components that enable the first user to provide one or more categories to be associated with the media item. The second portion includes one or more second UI components that enable the first user to change the size of the group of second users to whom the media item will be provided. A first request to associate a first category with a media item may be received. The one or more first UI components may be operable by the first user to provide the first request. The first request may be received in response to the first user interacting with the one or more first UI components. A second request to change the size of the group of second users to whom the media item will be provided from the first level to the second level may be received. The one or more second UI components may be operable by the first user to provide a second request. The second request may be received in response to the first user interacting with the one or more second UI components. In response to receiving the first request and the second request, an indication of an estimated change in size of the second user's group from the first level to the second level is provided within the UI.
[0007] The system may include a memory component and a processor communicatively coupled to the memory component. The processor may be configured to implement a UI.
[0008] In some cases, the one or more first UI components may be configured to display one or more categories to be selected by the first user for association with the media item via the UI. In some cases, the one or more second UI components may include a plurality of level markers and a slider component. In some cases, the first level marker may correspond to a first level and the second level marker may correspond to a second level. In some cases, the slider component may be operable to change the size of the second user's group. In some cases, the first user may request to change the size of the second user's group from the first level to the second level by moving the slider component from the first level marker to the second level marker. In some cases, the second level marker may include a value indicating a difference between the first level and the second level. In some cases, the indication of the estimated change in size of the second user's group may include a number of second users to be added to or removed from the second user's group as a result of changing the size of the second user's group from the first level to the second level. In some cases, the categories may include at least one of the user's parental status, the user's occupation, the industry associated with the user's occupation, the size of the company employing the user, the user's educational status, the user's relationship status, or the user's property ownership status.
[0009] In one implementation, the computer program product may be comprised in a non-transitory computer-readable storage medium, the computer program comprising instructions that, when executed by a processing device, cause the processing device to perform any of the above-described methods.
[0010] The instructions may cause the processing device to: identify media items to be provided to a group of users of the content sharing platform, where the media items are associated with categories and where each user in the group of users is associated with a weight indicating a probability of a match between the respective user and the category associated with the media item; receive a request to change the size of the group of users from a first level to a second level, where the first level corresponds to a first weight threshold for the group of users; and calculate a second weight threshold for the group of users corresponding to the second level based on a value indicating a difference between the first level and the second level, where the second weight threshold will be subsequently used to determine whether the media items should be provided to a user requesting content from the content sharing platform.
[0011] Aspects and embodiments of the present disclosure will become more fully understood from the detailed description given below and from the accompanying drawings of various aspects and implementations of the present disclosure, which should not be understood to limit the disclosure to any particular aspect or implementation, but are merely for purposes of illustration and understanding. [Brief description of the drawings]
[0012] [Figure 1] FIG. 1 illustrates an exemplary system architecture in accordance with an implementation of the present disclosure. [Diagram 2] 1 illustrates a user interface that facilitates changing the size of a group of a first user from a first level to a second level, according to some aspects of the disclosure. [Diagram 3] 1 is a flow diagram of an example method for resizing a group of users from a first level to a second level, according to some aspects of the disclosure. [Figure 4]11 is a flow diagram of an example method for calculating a weight threshold for a group of users corresponding to a second level, according to certain aspects of the disclosure. [Diagram 5] 1 is a flow diagram of an example method for providing a user of a content sharing platform with a user interface to facilitate changing the size of a group of users from a first level to a second level, in accordance with certain aspects of the present disclosure. [Figure 6] FIG. 1 is a block diagram illustrating an exemplary computer system according to an implementation of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] Aspects of the present disclosure are directed to changing the size of a group of users to which a media item will be provided from an initial level to a different level in response to receiving a request from a provider of the media item. It may be difficult for a provider of the media item to select an appropriate group of users who may be interested in a media item (e.g., a video clip, an audio clip, etc.). The media item provider may want a media item of the content sharing platform to be provided to a target group of users associated with a first category (e.g., parents of children). A user may be identified as being included within the group of users based on one or more attributes (e.g., weights) included in a user profile associated with that user. There may be a small number of content sharing platform users that are included within the group of users associated with the first category. Thus, the media item provider may want to expand the group of users to include users who were not initially considered to belong to the first category but who may still be interested in media items related to the first category.
[0014] Existing mechanisms available to media item providers often result in selecting an overly broad group of users or, alternatively, not reaching enough users. In some conventional systems, a media item provider may identify one or more additional categories to be associated with a media item to increase the number of users included in the group of users. However, by associating additional categories with a media item, more users may be included in the group of users than anticipated by the media item provider. As a result, media items may be offered to users of a content sharing platform even though the media items may not be relevant to these users.
[0015] One possible option for implementing this may include that in response to receiving a request for content from a user of the content sharing platform, one or more attributes of a user profile may be added or modified based on one or more predefined augmentation rules to determine whether the user should be included in a group of users and therefore whether the user may be provided with a media item. However, adding or modifying one or more attributes in response to a content request typically utilizes unnecessary processing resources, thus increasing system latency when serving the content request.
[0016] Implementations of the present disclosure address the above and other deficiencies by simplifying the user group selection process and allowing media item providers to explicitly define desired user categories within a group of users to whom a media item may be provided and the desired size of such a group. The size of the group may be dynamically adjusted (e.g., expanded or contracted) according to the media item provider's preferences. In particular, aspects of the present disclosure may provide for changing the size of the group of users to whom a media item is to be provided from an initial (first) level to a different (second) level in response to a request from the provider of the media item.
[0017] In some implementations, a media item provider may upload or otherwise provide a media item to a content sharing platform for presentation to one or more users of the content sharing platform. The media item provider may specify a category of a group of users to which the media item will be provided. For example, the media item provider may indicate that the media item should be presented to parents of children. In another example, the media item provider may indicate that the media item should be provided to homeowners. The media item provider may also indicate a desired size of a group of users to which a media item associated with a particular category will be provided. Initially, the size of the group of users for a particular category may be set to a first level.
[0018] The first level may be represented as a first statistical value indicating a first quantitative relationship between the number of users belonging to a particular category and the total user population (e.g., the total number of users of the content sharing platform). The first statistical value may be an estimated percentage of a population of users from the total user population of the content sharing platform that belongs to a particular category. For example, a particular category associated with a media item may be parents of children, and users belonging to this category may correspond to 10% of the total user population of the content sharing platform. Thus, the first level may be represented by a first statistical value of 10% for the particular category of parents of children.
[0019] A user of the content sharing platform may be associated with one or more weights, each indicating the user's probability of belonging to a respective category. In some implementations, a machine learning model trained on historical data (e.g., training input including the user's attributes and target output including the user's previously assigned categories) may be used to generate one or more weights for individual users of the content sharing platform, where each weight indicates the probability of a match between the user and a particular category. For example, the trained machine learning model may generate weights 0.85 and 0.5 for user A, where weight 0.85 indicates an 85% probability that user A belongs to the child's parent category and a 50% probability that user A belongs to the infant's parent category. The content sharing platform may store the individual user's weights in association with the respective categories in the data storage device. The content sharing platform may also set a weight threshold for each category or an overall weight threshold for all categories. The weight threshold may be used to determine whether to include the user in a group of users to whom media items associated with a particular category may be provided. This may be accomplished by comparing the user's corresponding weight to a weight threshold associated with the relevant category. If the corresponding weight meets or exceeds the weight threshold associated with the relevant category, the user may be considered to belong to that category and may be included in the group of users to which the media item may be provided. In other words, the user may be considered to be part of the appropriate audience for the media item. If the corresponding weight does not meet or exceed the weight threshold associated with the relevant category, the user may be considered (at least for the current decision) to not belong to that category and the media item may not be provided.
[0020] Depending on the weighting threshold associated with a particular category, the size of the group of users (or the size of the appropriate audience) to which media items of a particular category will be provided may vary. For example, if a first weighting threshold is set to 0.9 and a second weighting threshold is set to 0.8, the number of users having respective weights that meet or exceed the first threshold will be lower than the number of users having respective weights that meet or exceed the second threshold.
[0021] According to some aspects of the present disclosure, for a particular category, a first (initial) level of user group size is associated with a first (initial) weight threshold, which may be users defined or determined by the content sharing platform (e.g., by selecting a threshold that is likely to result in a percentage of the user population consistent with the first level for the particular category). According to the previous example, the first level may be represented by 10% (i.e., 10% of the total user population of the content sharing platform may be estimated to be parents of children). The weight threshold that may result in 10% of users to be considered parents of children may be set to 85%. In some implementations, the content sharing platform determines the weight threshold by (i) identifying users Ux having weights w associated with the category of parents of children, (ii) determining the number n of users that constitute 10% of the total user population of the content sharing platform, (iii) selecting a cutoff value t that, when compared with the weight w of each Ux, will result in the number n of users Ux having weights w that exceed (or are equal to) the cutoff value t, and (iv) setting the first threshold to t.
[0022] As discussed above, a media item provider may request that the size of the group of users to whom the media item will be provided be changed from a first level to a second level. The second level may represent a second statistic indicating a second quantitative relationship between the number of users in the group and the total number of users of the content sharing platform. The second level may correspond to a population of users that is expanded or contracted from the original population of users at the first level. For example, a media item provider may request that the size of the group of users to whom the media item will be provided be doubled (i.e., increased by 100%).
[0023] In some implementations, the media item provider may specify a value (e.g., 100%) indicative of the difference between the first level and the second level. Alternatively, the media item provider may simply specify a particular level that would result from the change (e.g., by setting the new level from level 1 to level 2), and the content sharing platform may determine a second statistical value indicative of a second quantitative relationship between the number of users in the group and the total user population. The value indicative of the difference between the first level and the second level may be determined in view of the difference between the first statistical value and the second statistical value.
[0024] The size of the group at the second level may be determined based on the population of users of the content sharing platform that meet a second weight threshold for that group of users, where the second weight threshold corresponds to the second level. The second weight threshold may be calculated based on a value indicating the difference between the first level and the second level. According to the previous example, the second level may correspond to a population of users that is approximately 100% expanded from the original population of users belonging to the particular category of parents of children (i.e., 10% of the total user population), and as a result of the required 100% expansion, 20% of users (i.e., from the original 10% of the total user population) will be considered to belong to the particular category of parents of children. In some implementations, the content sharing platform calculates the second weight threshold by (i) identifying users Ux having weights w associated with the parent of children category, (ii) determining a number m of users that constitute 20% (a second level statistic) of the total user population of the content sharing platform, (iii) selecting a cutoff value t2 that, when compared with the weight w of each user Ux, results in a number m of users Ux having weights w that exceed (or are equal to) the cutoff value t2, and (iv) setting the second threshold to t2. In response to determining that the weight assigned to user A satisfies the second weight threshold (i.e., 0.7) for the parent of children category, it may be determined that user A is included within the population of users corresponding to the parent of children category, even though user A would not satisfy the first weight threshold.
[0025] In some implementations, a relevance score may be generated and included in the user profile of the user. The relevance score may correspond to a weight associated with a category included in the user profile. The relevance score may be generated based on a determination of whether the user's weight meets a first weight threshold and / or a second weight threshold for that category. For example, in response to a determination that the user's weight threshold exceeds the first weight threshold, a relevance score from 0 to 1 may be added to the user profile associated with the user. A relevance score of 1 may indicate that the category is highly relevant to the user, and a relevance score of 0 may indicate that the category is less relevant to the user. Thereafter, in response to a request by a media item owner to downsize (reduce) the population of users to whom the media item should be provided, the content sharing platform may select a desired group of users from users having relevance scores from 0 to 1 (by selecting a group of users having a higher relevance score). In another example, in response to a determination that the user's weight does not meet the first weight threshold but does meet the second weight threshold, a relevance score from -1 to 0 may be added to the user profile. Thereafter, in response to a request by a media item owner to expand the population of users to whom the media item should be provided, the content sharing platform may select a desired group of users from users having relevance scores from 0 to -1 (by selecting a group of users having higher (i.e., less negative) relevance scores). In yet another example, in response to a determination that a user's weight does not meet either the first weight threshold or the second weight threshold, the user does not become part of the population of users considered for either contraction or expansion. The relevance scores may be further used by the content sharing platform to identify candidate media items for presentation to users of the content sharing platform. In response to a request for content from a user, the content sharing platform may identify a set of media items as candidates for presentation to the user.The content sharing platform may identify a relevance score corresponding to a category associated with a candidate media item of the identified set of media items. The candidate media item may be selected for presentation to a user in response to a determination that the category is relevant to the user based on the relevance score for the corresponding category. For example, the relevance score corresponding to the category associated with the candidate media item may be approximately 0.9. A relevance score of 0.9 may indicate that the category associated with the candidate media item is highly relevant to the user. Thus, the candidate media item may be selected for presentation to the user over other media items of the identified set of media items.
[0026] Thus, aspects of the present disclosure simplify the user group selection process and provide a mechanism for media item providers to explicitly define desired user categories within a group of users to which media items may be provided and the desired size of such groups, and dynamically adjust (e.g., expand or contract) the size of the groups according to the media item provider's preferences. This prevents the media item provider from guessing which additional categories should be associated with a media item to increase the number of users included within the group of users. By preventing the media item provider from guessing which additional categories should be associated with a media item, processing resources are no longer wasted presenting media items to users of the content sharing platform that are not relevant to the users, improving users' trust and / or interest in the content sharing platform, and the media items are then provided to a desired number of users without presenting the media items to too large or too small user groups. Furthermore, by determining the weighting threshold prior to receiving a request to present a media item to a user, unnecessary processing resources are not utilized to determine whether the user is included in a group of users at the time the request for content is received, thereby reducing system latency in responding to user requests for content. Controlling access to data, such as media items, within a computer system can present significant technical challenges. Aspects of the present disclosure can provide a convenient mechanism for simplifying control over access to and / or the scope of presentation of media items.
[0027] Furthermore, aspects of the present disclosure reduce overall system latency when a user requests content from the content sharing platform. By generating and adding a relevance score to a user profile prior to receiving a request for content from a user, the content sharing platform may more quickly identify media items relevant to the user for presentation to the user based on the relevance score in response to receiving a user request for content. By identifying media items relevant to a user, fewer candidate media items are considered by the content sharing platform for presentation to the user. Thus, fewer processing resources are utilized in selecting media items for presentation to a user, thereby reducing overall system latency. Additionally, the use of relevance scores simplifies user group contraction and expansion operations, thereby requiring fewer processing resources when handling requests from media item providers.
[0028] 1 illustrates an exemplary system architecture 100 according to an implementation of the present disclosure. The system architecture 100 (also referred to herein as the “system”) includes client devices 102A-N, a data storage device 110, a content sharing platform 120, one or more server machines 130-140, and a third party platform 165, each connected to a network 104.
[0029] In implementations, the network 104 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or a wide area network (WAN)), a wired network (e.g., an Ethernet network), a wireless network (e.g., an 802.11 network or a Wi-Fi network), a cellular network (e.g., a Long Term Evolution (LTE) network), routers, hubs, switches, server computers, and / or combinations thereof.
[0030] The client devices 102A-N may each include a computing device such as a personal computer (PC), a laptop, a mobile phone, a smartphone, a tablet computer, a netbook computer, a network-connected television, etc. In some implementations, the client devices 102A-N may also be referred to as "user devices." Each client device may include a content viewer. In some implementations, the content viewer may be an application that provides a user interface (UI) for a user to view or upload content, such as images, video items, web pages, documents, etc. For example, the content viewer may be a web browser that can access, retrieve, present, and / or navigate content (e.g., web pages, such as HyperText Markup Language (HTML) pages, digital media items, etc.) served by a web server. The content viewer may render, display, and / or present the content to the user. The content viewer may include an embedded media player (e.g., a Flash player or an HTML5 player) that is embedded within a web page (e.g., a web page that may provide information about products sold by an online merchant). In another example, the content viewer may be a standalone application (e.g., a mobile application or app) that allows a user to view digital media items (e.g., digital video items, digital images, e-books, etc.). According to aspects of the present disclosure, the content viewer may be a content sharing platform application through which a user records, edits, and / or uploads content for sharing on the content sharing platform 120. Thus, the content viewer may be provided to the client devices 102A-N by the content sharing platform 120. For example, the content viewer may be an embedded media player that is embedded within a web page provided by the content sharing platform 120.
[0031] The media items 121 may be consumed via the Internet or via a mobile device application, such as a content viewer of the client devices 102A-N. As previously discussed, the requested media items 121 may be requested by a user of the content sharing platform 120 for presentation to the user. As used herein, "media," "media item," "online media item," "digital media," "digital media item," "content," and "content item" may include electronic files that may be executed or loaded using software, firmware, or hardware configured to present the digital media items to an entity. In one implementation, the content sharing platform 120 may use the data storage device 110 to store the media items 121. In another implementation, the content sharing platform 120 may use the data storage device 110 to store the media items 121 or fingerprints as electronic files in one or more formats. The media item 121 may be provided to a user, and providing the media item 121 may include one or more of: enabling access to the media item 121, transmitting the media item 121, and / or presenting or allowing the presentation of the media item 121.
[0032] In one implementation, the media item 121 is a video item. A video item is a set of consecutive video frames (e.g., image frames) that represent a moving scene. For example, a series of consecutive video frames may be continuously captured or later reconstructed to generate an animation. Video items may be provided in a variety of formats, including, but not limited to, analog video, digital video, two-dimensional video, and three-dimensional video. Furthermore, a video item may include a movie, a video clip, or any set of animated images that are displayed sequentially. In addition, a video item may be stored as a video file that includes a video component and an audio component. The video component may refer to video data in a video coding format or an image coding format (e.g., H.264 (MPEG-4 AVC), H.264 MPEG-4 Part 2, Graphic Interchange Format (GIF), WebP, etc.). The audio component may refer to audio data in an audio coding format (e.g., Advanced Audio Coding (AAC), MP3, etc.). It will be noted that GIF may be stored as an image file (e.g., a .gif file) or as a series of images within an animated GIF (e.g., the GIF89a format). It will be noted that H.264 may be a video coding format that is, for example, a block-oriented motion-compensation-based video compression standard for recording, compressing, or distributing video content.
[0033] In some implementations, the data storage 110 is a persistent storage device capable of storing media items 121 as well as data structures for tagging, organizing, and indexing the media items 121. The data storage 110 may be hosted by one or more storage devices, such as main memory, magnetic or optical storage based disks, tapes or hard drives, NAS, SAN, etc. In some implementations, the data storage 110 may be a network-attached file server, and in other embodiments, the data storage 110 may be some other type of persistent storage, such as an object-oriented database, a relational database, etc., that may be hosted by the content sharing platform 120 or one or more different machines coupled to the content sharing platform 120 via the network 104.
[0034] In one implementation, the content sharing platform 120 or server machines 130-140 may be one or more computing devices (e.g., rackmount servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data storage devices (e.g., hard disks, memory, databases), networks, software components, and / or hardware components that may be used to provide users with access to the media items 121 and / or to provide the media items 121 to users. For example, the content sharing platform 120 may enable users to consume, upload, explore, approve ("like"), disapprove ("dislike"), or comment on the media items 121. The content sharing platform 120 may include websites (e.g., web pages) or application backend software that may be used to provide users with access to the media items 121.
[0035] In implementations of the present disclosure, a "user" may be represented as a single individual. However, other implementations of the present disclosure encompass a "user" that is a set of users and / or an entity controlled by an automated source. For example, a set of individual users federated as a community in a social network may be considered a "user." In another example, an automated consumer may be an automated ingestion pipeline, such as a topic channel, of a content sharing platform 120.
[0036] The content sharing platform 120 may include multiple channels (e.g., channels A through Z). A channel may include one or more media items 121 available from a common source or media items 121 having a common topic, theme, or content. The media items 121 may be digital content selected by a user, digital content made available by a user, digital content uploaded by a user, digital content selected by a content provider, digital content selected by a broadcaster, etc. For example, channel X may include videos Y and Z. A channel may be associated with an owner, which is a user who may perform actions on the channel. Different activities may be associated with a channel based on the owner's actions, such as the owner making digital content available on the channel, the owner selecting (e.g., pressing "like") digital content to be associated with another channel, the owner commenting on digital content to be associated with another channel, etc. The activities associated with a channel may be collected in an activity feed for that channel. Users other than the channel owner may subscribe to one or more channels that interest those users. The concept of "joining" is sometimes called "liking," "following," "becoming a friend," etc.
[0037] The third party platform 165 may be used to provide video advertisements. Alternatively, the third party platform 165 may provide other services. For example, the third party platform 165 may be a video streaming service provider that generates a media streaming service through a communication application for users to play videos, TV shows, video clips, audio, audio clips, and movies on the client devices 102A-Z via the third party platform 165.
[0038] In some implementations, a media item provider may upload or otherwise provide a media item 121 to the content sharing platform 120 (e.g., via a third party platform 165) for presentation to one or more users. The media item provider may specify a category of a group of users to which the media item 121 is to be provided. The category may correspond to one or more statuses (e.g., parental status, educational status, relationship status, property ownership status, etc.) or attributes (e.g., occupation, industry related to the occupation, size of the company employing the user, etc.) of a user of the content sharing platform 120. A user may belong to a respective category if the user is associated with a status or attribute corresponding to the category. For example, the media item provider may indicate that the media item 121 should be provided to a parent of a child. Thus, the media item 121 may be provided to a user with a status that is a parent of a child. In another example, the media item provider may indicate that the media item 121 should be provided to a lawyer. Thus, the media item 121 may be provided to a user with an attribute that is a lawyer.
[0039] A user may be determined to be associated with a status or attribute corresponding to a respective category based on one or more weights associated with the user, where the one or more weights each indicate a probability that the user belongs to the respective category. A user of the content sharing platform 120 may create a user profile and specify certain information in the user profile (e.g., name, email address, occupation, etc.). The content sharing platform 120 may also include one or more weights in the user profile, each indicating a probability that the user belongs to the respective category. The user profile may further include historical data associated with each user. In some implementations, the historical data may include data provided by the user (e.g., data provided when the user creates a user profile for the content sharing platform 120, data provided by the user in response to a question prompted by the content sharing platform 120, etc.). In other or similar implementations, the historical data may include data collected as a result of the user interacting with the content sharing platform 120. The historical data of each user may be used to determine one or more weights associated with the user.
[0040] The server machine 130 may include a category weight generator 132 for generating each weight included in a user profile using a machine learning model trained on historical data of one or more users of the content sharing platform 120. In some implementations, historical data for one or more users of the content sharing platform 120 may be extracted from the respective user profiles and used to generate training data. The training data may include training inputs including attributes of the users and target outputs including categories previously assigned to the users. As a result of the training, the machine learning model may derive dependencies between the user attributes and the associated categories, and the trained machine learning model may then be used to provide weights indicative of the probability of a match between a new user and a category. For example, historical data associated with a new user of the content sharing platform 120 may be obtained from a user profile associated with the new user and provided as input to the trained machine learning model. The trained machine learning model may provide one or more weights as output, each indicative of the probability of a match between the new user and one or more categories. Each user profile of an individual user of the content sharing platform 120, including the determined weights associated with the respective categories, may be stored in the data storage device 110.
[0041] In some implementations, a category may have either a first category type or a second category type. The first category type may correspond to a status or attribute with which a user may be associated without contradicting another status or attribute with which the user may also be associated. For example, with respect to a user's parental status, the user may be a child parent and a toddler parent at the same time. Thus, the user may belong to a first category of a child parent and a second category of a toddler parent. The first category type may include at least the user's parental status, the user's occupation, an industry associated with the user's occupation, or the user's educational status.
[0042] The second category type may correspond to a status or attribute with which a user cannot be associated without contradicting another status or attribute with which the user is also associated. For example, with respect to a user's educational status, the user's highest level of education may be either a bachelor's degree or a doctorate. Thus, the user may belong to a first category of highest level of education that is a bachelor's degree or a second category of highest level of education that is a doctorate. However, the user cannot belong to both the first and second categories. In another example, with respect to a user's property ownership status, the user may be either a homeowner or a renter, but not both a homeowner and a renter. Thus, the user may belong to either a first category of homeowner or a second category of renter. However, the user cannot belong to both the first and second categories.
[0043] In some implementations, the category weight generator 132 may generate two or more weights, each indicating a probability that the user belongs to a category having a second category type. For example, the first weight may be 0.9, indicating a 90% probability that the user belongs to a first category of a homeowner. The second weight may be 0.85, indicating an 85% probability that the user belongs to a second category of a renter. In such implementations, the content sharing platform 120 may determine a category having a second category type (i.e., the first category or the second category) to which the user should belong. The content sharing platform 120 may determine a category to which the user should belong based on one or more category rules. In some implementations, the one or more category rules may be defined by an administrator of the content sharing platform 120 and stored in the data storage device 110. The one or more category rules may provide an indication of a category to which the user should belong based on two or more weights, each indicating a probability that the user belongs to a category having a second category type. Following the above example, in response to determining that the probability that the user is a homeowner exceeds the probability that the user is a renter, the content sharing platform 120 may determine that the user belongs to a group associated with homeowners in light of a category rule that specifies that the user belongs to the homeowner category.
[0044] In response to determining the category to which the user should belong, the content sharing platform 120 may provide an indication of the determined category to be included in a user profile for the user. In some implementations, the indication of the determined category may be a pointer to a category having a second category type to which the user should belong. In other or similar implementations, the indication of the determined category may include regenerated weights for categories to which the user should not belong. For example, the content sharing platform 120 may reset the second weight to 0, thereby indicating a 0% probability that the user belongs to the second category of renter.
[0045] In some implementations, the content sharing platform 120 may provide an indication of the determined category in response to generation of the weights for the user profile by the category weight generator 132. In other or similar implementations, the content sharing platform 120 may provide an indication of the determined category when evaluating whether to present the media item 121 to a user.
[0046] The media item provider may also indicate a desired size of a group of users to whom the media item 121 associated with a particular category will be provided. The content sharing platform 120 may determine the size of the group of users to whom the media item 121 will be provided based on the desired size indicated by the media item provider. Initially, the size of the group of users for a particular category may be set to a first level. The first level may be represented as a first statistical value indicating a first quantitative relationship between the number of users belonging to the particular category and the total user population (e.g., the total number of users of the content sharing platform 120). The first statistical value may be an estimated percentage of the population of users from the total user population of the content sharing platform 120 that belongs to the particular category. For example, a particular category associated with the media item 121 may be parents of children, and users belonging to this category may correspond to 10% of the total user population of the content sharing platform 120. Thus, the first level may be represented by a first statistical value of 10% for the particular category of parents of children.
[0047] In some implementations, the content sharing platform 120 may set a weight threshold for each category. In other or similar implementations, the content sharing platform 120 may set an overall weight threshold for all categories. The user determination module 142 may use the weight threshold to determine whether a user should be included in a group of users to which media items 121 associated with a particular category should be provided. This may be accomplished by comparing the user's corresponding weight to the weight threshold associated with the relevant category. If the corresponding weight meets or exceeds the weight threshold associated with the relevant category, the user may be considered to belong to that category and may be included in the group of users to which media items 121 should be provided.
[0048] Depending on the weighting threshold associated with a particular category, the size of the group of users (or the size of the appropriate audience) to which media items 121 of that particular category will be provided may vary. For example, if a first weighting threshold is set to 0.9 and a second weighting threshold is set to 0.8, the number of users having respective weights that meet or exceed the first threshold will be lower than the number of users having respective weights that meet or exceed the second threshold.
[0049] According to some aspects of the present disclosure, for a particular category, a first (initial) level of user group size is associated with a first (initial) weight threshold, which may be users defined or determined by the content sharing platform 120 (e.g., by selecting a threshold that may produce a percentage of the user population consistent with the first level for the particular category). According to the previous example, the first level may be represented by 10% (i.e., it may be estimated that 10% of the total user population of the content sharing platform 120 will be parents of children). The weight threshold that may result in 10% of users being considered parents of children may be set to 85%. In some implementations, the content sharing platform 120 determines the weight threshold by (i) identifying users Ux having weights w associated with the category of parents of children, (ii) determining the number n of users that constitute 10% of the total user population of the content sharing platform 120, (iii) selecting a cutoff value t that, when compared with the weight w of each user Ux, will result in the number n of users Ux having weights w that exceed (or are equal to) the cutoff value t, and (iv) setting the first threshold to t. In other or similar implementations, the weight threshold may be determined by a threshold calculation component 144 of the group size adjustment module 142 of the server machine 140 .
[0050] As discussed above, a media item provider may request that the size of the group of users to whom the media item 121 will be provided be changed from a first level to a second level. The server machine 140 may include a group size adjustment module 142 to facilitate changing the size of the group of users from the first level to the second level. The second level may represent a second statistic indicating a second quantitative relationship between the number of users in the group and the total number of users of the content sharing platform 120. The second level may correspond to a population of users that is expanded or contracted from the original population of users at the first level. For example, a media item provider may request that the size of the group of users to whom the media item 121 will be provided be doubled (i.e., increased by 100%).
[0051] In some implementations, the media item provider may specify a value (e.g., 100%) indicative of the difference between the first level and the second level. Alternatively, the media item provider may simply specify a particular level that would result from the change (e.g., by setting the new level from level 1 to level 2), and the group size adjustment module 142 may determine a second statistical value indicative of a second quantitative relationship between the number of users in the group and the total user population. The value indicative of the difference between the first level and the second level may be determined in view of the difference between the first statistical value and the second statistical value.
[0052] The size of the group at the second level may be determined based on the population of users of the content sharing platform 120 that meet a second weight threshold for that group of users, where the second weight threshold corresponds to the second level. The second weight threshold may be calculated based on a value indicating the difference between the first level and the second level. According to the previous example, the second level may correspond to a population of users that is approximately 100% expanded from the original population of users belonging to the particular category of parents of children (i.e., 10% of the total user population), and as a result of the required 100% expansion, 20% of users (i.e., from the original 10% of the total user population) will be considered to belong to the particular category of parents of children.
[0053] The group size adjustment module 142 may include a threshold calculation component 144. In some implementations, the threshold calculation component 144 calculates a second weight threshold by (i) identifying users Ux having weights w associated with the parent of children category, (ii) determining a number m of users that constitute 20% (a second level statistic) of the total user population of the content sharing platform 120, (iii) selecting a cutoff value t2 that, when compared with the weight w of each user Ux, results in a number m of users Ux having weights w that exceed (or are equal to) the cutoff value t2, and (iv) setting a second threshold value to t2. In response to determining that the weight assigned to user A satisfies the second weight threshold for the parent of children category (i.e., 0.7), user A may be determined to be included within the population of users corresponding to the parent of children category, even though user A would not satisfy the first weight threshold.
[0054] In some implementations, the relevance score generator 134 may further generate a relevance score to be included in the user's user profile. The relevance score may correspond to a weight associated with a category included in the user profile. In some implementations, the relevance score may replace a weight associated with a category included in the user profile.
[0055] The relevance score may be generated based on a determination of whether the user's weighting meets the first and / or second weighting thresholds for that category. For example, in response to a determination that the user's weighting exceeds the first weighting threshold, a relevance score from 0 to 1 may be added to the user profile associated with the user. A relevance score of 1 may indicate that the category is highly relevant to the user, and a relevance score of 0 may indicate that the category is less relevant to the user. Thereafter, in response to a request by a media item owner to downsize (reduce) the population of users to whom the media item should be provided, the content sharing platform may select a desired group of users from users having relevance scores from 0 to 1 (by selecting a group of users having higher relevance scores). In another example, in response to a determination that the user's weighting does not meet the first weighting threshold but does meet the second weighting threshold, a relevance score from -1 to 0 may be added to the user profile. If a media item provider requests to increase the size of the group of users to which a media item 121 will be provided from a first level to a second level, a relevance score of -1 to 0 may indicate that only media items 121 associated with the corresponding category should be provided to the users. That is, in response to a request by a media item owner to expand the population of users to which a media item should be provided, the content sharing platform may select the desired group of users from users having relevance scores of -1 to 0 (by selecting a group of users with higher (i.e., less negative) relevance scores). In another example, in response to a determination that a user's weight does not meet the first weight threshold or the second weight threshold, the user may not be part of the population of users considered for either contraction or expansion.
[0056] The relevance scores may be further used by the content sharing platform 120 to identify candidate media items for presentation to users of the content sharing platform 120. A user may request content from the content sharing platform 120 via a client device 102A-N. In response to receiving a user request, the content sharing platform 120 may identify a set of media items 121 as candidates for presentation to the user. In one example, each media item 121 in the set of media items may be provided to the content sharing platform 120 by a separate media item provider.
[0057] The content sharing platform 120 may identify candidate media items 121 from the set of media items. In some implementations, a media item provider of a candidate media item 121 may have requested to change the size of the population of users to which the media item should be provided from a first level to a second level. For example, the media item provider may have requested to expand (grow) the population of users or shrink (reduce) the group of users.
[0058] The content sharing platform 120 may identify a relevance score corresponding to a category associated with the candidate media item 121 from the user's user profile. The content sharing platform 120 may determine whether to select the candidate media item 121 for presentation to the user based on the identified relevance score. For example, the relevance score corresponding to the category associated with the candidate media item 121 may be approximately 0.9. A relevance score of 0.9 may indicate that the category associated with the candidate media item 121 is highly relevant to the user. Thus, the candidate media item 121 may be selected for presentation to the user over other media items 121 in the identified set of media items.
[0059] In another example, a relevance score corresponding to a category associated with a candidate media item 121 may be approximately −0.2. A relevance score of −0.2 may indicate that the category associated with the candidate media item 121 will be relevant to a user only if the media item provider has given a request to expand the population of users to which the candidate media item 121 will be provided. Because the user has a relevance score of −0.2, the user may be included within a desired group of users having relevance scores between 0 and −1. Thus, in response to a determination that the media item provider has requested an expansion of the user population, the candidate media item 121 may be selected for presentation to the user over other media items 121 in the set of media items.
[0060] In another example, the relevance score corresponding to the category associated with the candidate media item may be approximately 0.2. As discussed above, the media item provider may have requested a reduction in the population of users to whom the media item 121 is to be provided. Although a user may have a relevance score greater than 0 (thus indicating that the category may be relevant to that user), the user may not be included within the desired group of users with higher relevance scores to whom the media item 121 should be provided. Thus, the media item 121 may not be selected to be provided to the user.
[0061] 2 illustrates a user interface 200 that facilitates changing the size of a group of first users from a first level to a second level according to some aspects of the disclosure. The user interface 200 may include at least a first portion 210, a second portion 220, and a third portion 230. The first portion 210 may include media items 212 provided by a media item provider to a content sharing platform (e.g., the content sharing platform 120 of FIG. 1). The first portion 210 may include one or more first UI components (not shown) that enable a user to upload or otherwise provide the media items 212 to the content sharing platform. The first portion 210 may include a media player that may play the media items to a user.
[0062] The second portion 220 may include one or more second UI components that enable the user to provide one or more categories 222A-C to be associated with the media item 212. In some implementations, the second UI component may enable the user to select a category (e.g., category 222A) to be associated with the media item 212 from one or more categories (e.g., categories 222A-C) enabled by the content sharing platform. In some implementations, the categories 222A-C may include at least one of the user's parental status, the user's occupation, an industry associated with the user's occupation, the size of the company employing the user, the user's educational status, the user's relationship status, or the user's property ownership status.
[0063] The third portion 230 may include one or more third UI components that allow the user to change the size of the group of second users to which the media items 212 will be provided from a first level to a second level. According to the previously discussed embodiments, the first level may represent a first statistical value indicating a first quantitative relationship between the number of users in the group of users and the total number of users of the content sharing platform. The second level may represent a second statistical value indicating a second quantitative relationship between the number of users in the group of users and the total number of users of the content sharing platform. In some implementations, the one or more third UI components may include two or more level markers 232A, B and a slider component 234. The first level marker 232A may correspond to a first level of the size of the group of users, and the second level marker 232B may correspond to a second level of the size of the group of users. The user may request to change the size of the second user's group from the first level to the second level by moving the slider component 234 from the first level marker 232A to the second level marker 232B.
[0064] In some implementations, the second level marker 232B may provide a value indicative of the difference between the first level and the second level (e.g., a 65% increase). In other or similar implementations, the second level marker 232B may provide a level indicator for a desired level of group size (e.g., L3). The value indicative of the difference between the first level and the second level may be determined based on the level indicator according to the embodiments previously described.
[0065] The third portion 230 may further display an indication 236 of the number of second users of the content sharing platform that will be included in the group of the second user as a result of changing the size of the group of the second user from the first level to the second user. In some implementations, the indication 236 of the number of second users may be provided in a fourth portion (not shown) of the user interface 200.
[0066] While the above description includes references to several user interface elements contained within any of the first portion 210, second portion 220, third portion 230, or fourth portion (not shown) of user interface 200, it should be understood that such references are for purposes of illustration and are not to be considered limiting. Some of the user interface elements described above may be any one of a variety of user interface elements, including, but not limited to, text fields, drop-down lists, checkboxes, and the like.
[0067] FIG. 3 illustrates a flow diagram of a method 300 for resizing a group of users from a first level to a second level according to some aspects of the disclosure. FIG. 4 illustrates a flow diagram of an example method 400 for calculating a weight threshold for a group of users corresponding to a second level according to some aspects of the disclosure. FIG. 5 illustrates a flow diagram of a method 500 for providing a user of a content sharing platform with a user interface for facilitating resizing a group of users from a first level to a second level according to some aspects of the disclosure. Methods 300, 400, and 500 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (e.g., instructions executed on a processing device), or a combination thereof. In one implementation, some or all of the operations of methods 300, 400, and 500 may be performed by one or more components of system 100 of FIG. 1.
[0068] 3, at block 310, the processing logic may identify a media item to be provided to a group of users of a content sharing platform. The media item may be associated with a category. The category may be provided by a provider of the media item according to the previously described embodiments. Each user of the group of users may be associated with a weight indicating a probability of a match between the respective user and a category associated with the media item. In some implementations, the category may include at least one of the user's parental status, the user's occupation, an industry associated with the user's occupation, the size of the company employing the user, the user's educational status, the user's relationship status, or the user's property ownership status.
[0069] At block 320, the processing logic may receive a request to change the size of the group of users from a first level to a second level. The first level may correspond to a first weighting threshold for the group of users. In some implementations, the first weighting threshold may be determined according to the method 400 of FIG. 4. The first level may represent a first statistical value indicative of a first quantitative relationship between the number of users in the group and the total number of users of the content sharing platform. The second level may represent a second statistical value indicative of a second quantitative relationship between the number of users in the group and the total number of users of the content sharing platform.
[0070] At block 330, the processing logic may calculate a second weighting threshold for the first group of users corresponding to the second level based on a value indicating a difference between the first level and the second level. In some implementations, the value indicating a difference between the first level and the second level may be specified by a provider of the media item and is a difference between a first statistical value represented by the first level and a second statistical value represented by the second level. In other or similar implementations, the processing logic may determine the value indicating a difference between the first level and the second level by receiving an input to a provider of the media item, the received input specifying the second level, identifying one or more rules for a category associated with the media item, determining the second statistical value based on the one or more rules, and determining the difference between the first statistical value and the second statistical value. In some implementations, the second weighting threshold may be determined according to method 400 of FIG. 4.
[0071] The processing logic may use the second weighting threshold to determine whether a particular media item should be provided to a user requesting content from the content sharing platform. A weighting associated with the requesting user for a category of the media item may be identified from a user profile associated with the user. The processing logic may compare the weighting associated with the requesting user for the category of the media item to the second weighting threshold to determine whether the media item should be provided to the requesting user.
[0072] As discussed above, FIG. 4 illustrates a flow diagram of a method 400 for calculating a weight threshold for a group of users corresponding to a second level, according to some aspects of the disclosure. At block 410, processing logic may identify users Ux having weights w associated with a category. At block 420, processing logic may determine a number n of users that constitute a portion of the total user population of the content sharing platform. At block 430, processing logic may select a cutoff value t that, when compared with the weight w of each user Ux, will result in a number n of users Ux having weights w that exceed (or are equal to) the cutoff value t. At block 440, a threshold weight is set to t.
[0073] In some implementations, method 400 may be performed to determine either a first threshold corresponding to a first level of size of a group of users or a second threshold corresponding to a second level of size of a group of users, in accordance with previously described embodiments.
[0074] As discussed above, FIG. 5 illustrates a flow diagram of a method 500 for providing a user of a content sharing platform with a user interface that facilitates changing the size of a group of users from a first level to a second level, according to some aspects of the disclosure. At block 510, the processing logic may provide a user interface (UI) to a first user of the content sharing platform (e.g., a provider of a media item). The UI may include at least a first portion and a second portion. The first portion may include one or more first UI components that enable the first user to provide one or more categories to be associated with the media item. The one or more first UI components may be configured to display one or more categories to be selected by the first user for association with the media item via the UI. In some implementations, the one or more categories may include at least one of the parental status of the second user (e.g., an end user of the content sharing platform), the occupation of the second user, the industry associated with the second user's occupation, the size of the company employing the second user, the educational status of the second user, the relationship status of the second user, or the property ownership status of the second user.
[0075] The second portion may include one or more second UI components that allow the first user to change the size of the group of second users to which the media item will be provided. The size of the group of second users may be based on a first weight threshold indicating a probability of a match between the respective user and one or more categories associated with the media item. The one or more second UI components may include at least two or more level markers and a slider component. The first level marker may correspond to a first level, and the second level marker may correspond to a second level. The first user may request to change the size of the group of second users from the first level to the second level by moving the slider component from the first level marker to the second level marker. In some implementations, the second level marker may include a value indicating a difference between the first level and the second level.
[0076] At block 520, processing logic may receive a first request to associate a first category with a media item. At block 530, processing logic may receive a second request to change the size of a group of second users to which the media item will be provided from a first level to a second level. At block 540, processing logic may present an indication in a UI of the estimated change in size of the group of second users from the first level to the second level.
[0077] FIG. 6 is a block diagram illustrating an exemplary computer system according to an implementation of the present disclosure. The computer system 600 may be a server machine 130-140 or a client device 102A-N of FIG. 1. The machine may operate in the capacity of a server or endpoint machine in an end-point-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a television, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a web application, a server, a network router, a switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the machine. Furthermore, although only a single machine is shown, the term "machine" should also be understood to include any collection of machines that individually or together execute a set (or sets) of instructions to perform any one or more of the methodologies discussed herein.
[0078] The exemplary computer system 600 includes a processing device (processor) 602, a main memory 604 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM), such as synchronous dynamic random access memory (SDRAM), double data rate (DDR SDRAM), or DRAM (RDRAM), etc.), a static memory 606 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 618, which communicate with each other via a bus 640.
[0079] Processor (processing device) 602 represents one or more general-purpose processing devices, such as a microprocessor, a central processing unit, etc. More specifically, processor 602 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. Processor 602 may also be one or more special-purpose processing devices, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. Processor 602 is configured to execute instructions 605 for performing operations discussed herein (e.g., for predicting channel lineup viewership).
[0080] Computer system 600 may further include a network interface device 608. Computer system 600 may include a video display unit 610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), input devices 612 (e.g., a keyboard, an alphanumeric keyboard, a motion-sensing input device, a touch screen), cursor control devices 614 (e.g., a mouse), and signal generation devices 620 (e.g., a speaker).
[0081] The data storage device 618 may include a non-transitory machine-readable storage medium 624 (also a computer-readable storage medium) having stored thereon one or more sets of instructions 605 for implementing any one or more of the methods or functions described herein (e.g., for predicting channel lineup viewership). These instructions may reside, completely or at least partially, within the main memory 604 and / or within the processor 602 during execution thereof by the computer system 600, with the main memory 604 and the processor 602 also constituting machine-readable storage media. These instructions may further be transmitted or received over a network 630 via the network interface device 608.
[0082] In one implementation, the instructions 605 include instructions for predicting channel lineup viewership. Although the computer-readable storage medium 624 (machine-readable storage medium) is shown as a single medium in the exemplary implementation, the terms "computer-readable storage medium" and "machine-readable storage medium" should be understood to include a single medium or multiple media (e.g., a central or distributed database, and / or associated caches and servers) that store one or more sets of instructions. The terms "computer-readable storage medium" and "machine-readable storage medium" should also be understood to include any medium capable of storing, encoding, or carrying a set of instructions for execution by a machine, causing the machine to perform any one or more of the methods of the present disclosure. The terms "computer-readable storage medium" and "machine-readable storage medium" should therefore be understood to include, but are not limited to, solid-state memory, optical media, and magnetic media.
[0083] References throughout this specification to "one implementation" or "an implementation" mean that a particular feature, structure, or characteristic described with respect to that implementation is included in at least one implementation. Thus, the appearances of the phrases "in one implementation" or "in an implementation" in various places throughout this specification may, but do not necessarily, refer to the same implementation, depending on the context. Furthermore, particular features, structures, or characteristics may be combined in any suitable manner in one or more implementations.
[0084] To the extent that the terms "includes," "including," "has," "contains," variations thereof, and other similar terms are used in either the detailed description or the claims, these terms are intended to be inclusive in the same manner as the term "comprising" as an open transitional term, without excluding any additional or other elements.
[0085] As used herein, terms such as "component," "module," "system," and the like are intended to generally refer to computer-related entities, i.e., either hardware (e.g., circuitry), software, a combination of hardware and software, or an entity relating to an operating machine with one or more specific functions. For example, a component may be, but is not limited to, a process running on a processor (e.g., a digital signal processor), a processor, an object, an executable, a thread of execution, a program, and / or a computer. As an example, both an application running on a controller and the controller may be components. One or more components may reside within a process and / or thread of execution, and a component may be localized on one computer and / or distributed among two or more computers. Furthermore, a "device" may exist in the form of specially designed hardware, generalized hardware that is specialized by execution of software that enables the hardware to perform a specific function (e.g., generate points of interest and / or descriptors), software on a computer-readable medium, or a combination thereof.
[0086] The aforementioned systems, circuits, modules, etc., have been described with respect to interactions between several components and / or blocks. It will be appreciated that such systems, circuits, components, blocks, etc. may include those components or certain sub-components, some of the specific components or sub-components, and / or additional components, according to various permutations and combinations of the foregoing. Sub-components may be implemented as components communicatively coupled to other components, rather than being contained within a parent component (hierarchical). In addition, it should be noted that one or more components may be combined into a single component providing aggregate functionality, or may be split into several separate sub-components, and any one or more intermediate layers, such as a management layer, may be provided to communicatively couple such sub-components to provide integrated functionality. Any component described herein may also interact with one or more other components not specifically described herein, but known to those skilled in the art.
[0087] Furthermore, the word "example" or "exemplary" is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word "example" or "exemplary" is intended to present a concept in a concrete manner. As used herein, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from the context, "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, if X employs A, X employs B, or X employs both A and B, then "X employs A or B" is satisfied under any of the foregoing cases. In addition, the articles "a" and "an" as used in this specification and the appended claims should generally be construed to mean "one or more," unless otherwise specified or clear from the context to refer to the singular.
[0088] Finally, implementations described herein include collections of data describing users and / or user activities. In one implementation, such data is collected only at the time the user provides consent to the collection of this data. In some implementations, the user is prompted to explicitly enable data collection. Additionally, the user can opt-in or opt-out of participating in such data collection activities. In one implementation, the collection of data is anonymized prior to performing any analysis to obtain any statistical patterns, such that the identity of the user cannot be determined from the collected data. [Explanation of symbols]
[0089] 100 System Architecture 102A~N Client Devices 104 Network 110 Data storage device 120 Content Sharing Platform 121 Media Items 130, 140 Server machines 132 Category Weight Generator 134 Relevance Score Generator 165 Third Party Platforms 142 Group Size Adjustment Module 144 Threshold Calculation Components 200 User Interface 210 First Part 212 Media Items 220 Second Part 222A~C Category 230 Third Part 232A Level Marker, 1st Level Marker 232B Level Marker, Second Level Marker 234 Slider Component 236 Instructions 300 ways 400 ways 500 ways 600 Computer Systems 602 Processing devices (processors) 604 Main Memory 605 Command 606 Static Memory 608 Network Interface Device 610 Video Display Unit 612 Input Devices 614 Cursor Control Device 618 Data storage device 620 Signal Generating Device 624 Non-transitory machine-readable storage medium, computer-readable storage medium 630 Network 640 Bus
Claims
1. A method of providing a media item to a user of a platform, the method comprising: a processing device identifying media items to be provided to a group of users of a platform, each user of the group of users being associated with one or more weights indicating a probability of a match between the respective user and a category associated with the media item; receiving, by the processing device, a request to dynamically change a size of the group of users from a first level to a second level, the first level corresponding to a first weight threshold for the group of users; the processing device calculating a second weighting threshold for the group of users corresponding to the second level; receiving, by the processing device, a request for content from a client device connected to the platform, the client device being associated with a user of the platform; providing the media item to the client device in response to the processing device determining that the user associated with the client device is included in a group of users including the second level of size based on a weight indicating a probability of a match between the user associated with the client device and the category associated with the media item and the calculated second weight threshold; A method comprising:
2. Calculating the second weighting threshold for the group of users corresponding to the second level comprises: The method of claim 1 , further comprising the processing device determining a value indicative of a difference between the first level and the second level.
3. 3. The method of claim 2, wherein the first level represents a first statistical value indicative of a first quantitative relationship between the number of users in the group and a total number of users of the platform, and the second level represents a second statistical value indicative of a second quantitative relationship between the number of users in the group and the total number of users of the platform.
4. The step of determining the value indicative of the difference between the first level and the second level further comprises: receiving, by the processing device, input from a provider of the media item, the input specifying the second level; the processing device identifying one or more rules for a category associated with the media item; determining, by the processing device, a second statistical value based on the one or more rules; the processing device determining a difference between a first statistical value and the second statistical value; 4. The method of claim 2 or 3, comprising:
5. 2. The method of claim 1, wherein the request to dynamically change the size of the group of users from the first level to the second level is received in response to a provider of the media item interacting with one or more elements of a user interface of a client device associated with the provider.
6. 6. The method of claim 5, wherein the one or more elements of the user interface include a slider component and a plurality of level markers, a first level marker of the plurality of level markers indicating the first level and a second level marker of the plurality of level markers indicating the second level, and the provider provides a request to dynamically change the size of the group of users from the first level to the second level by moving the slider component from the first level marker to the second level marker.
7. Determining that the user is included in a group of users that includes the second level size includes: The method of claim 1 , further comprising comparing the weight indicating the probability of the match to the second weight threshold.
8. A memory component; a processor communicatively coupled to the memory component, the processor comprising: identifying media items to be provided to a group of users of a platform, each user of the group of users being associated with one or more weights indicative of a probability of a match between the respective user and a category associated with the media item; receiving a request to dynamically change a size of the group of users from a first level to a second level, the first level corresponding to a first weight threshold for the group of users; calculating a second weighting threshold for the group of users corresponding to the second level; receiving a request for content from a client device connected to the platform, the client device being associated with a user of the platform; providing the media item to the client device in response to determining that the user associated with the client device is included in a group of users comprising the second level of size based on a weight indicating a probability of a match between the user associated with the client device and the category associated with the media item and the calculated second weight threshold; A system that performs the above.
9. To calculate the second weighting threshold for the group of users corresponding to the second level, the processor: The system of claim 8 , further comprising: determining a value indicative of a difference between the first level and the second level.
10. 10. The system of claim 9, wherein the first level represents a first statistical value indicative of a first quantitative relationship between a number of users in the group and a total number of users of the platform, and the second level represents a second statistical value indicative of a second quantitative relationship between the number of users in the group and the total number of users of the platform.
11. To determine the value indicative of the difference between the first level and the second level, the processor: receiving input from a provider of the media item, the input specifying the second level; identifying one or more rules regarding a category associated with the media item; determining a second statistical value based on the one or more rules; and determining a difference between a first statistical value and the second statistical value; The system according to claim 9 or 10,
12. 10. The system of claim 8, wherein the request to dynamically change the size of the group of users from the first level to the second level is received in response to a provider of the media item interacting with one or more elements of a user interface of a client device associated with the provider.
13. 13. The system of claim 12, wherein the one or more elements of the user interface include a slider component and a plurality of level markers, a first level marker of the plurality of level markers indicating the first level and a second level marker of the plurality of level markers indicating the second level, and the provider provides a request to dynamically change the size of the group of users from the first level to the second level by moving the slider component from the first level marker to the second level marker.
14. To determine that the user is included in a group of users that includes the second level size, the processor: The system of claim 8 further comprising comparing the weight indicating the probability of the match to the second weight threshold.
15. 1. A non-transitory computer-readable storage medium comprising instructions for a server, the instructions, when executed by a processing device, causing the processing device to: identifying media items to be provided to a group of users of a platform, each user of the group of users being associated with one or more weights indicative of a probability of a match between the respective user and a category associated with the media item; receiving a request to dynamically change a size of the group of users from a first level to a second level, the first level corresponding to a first weight threshold for the group of users; calculating a second weighting threshold for the group of users corresponding to the second level; receiving a request for content from a client device connected to the platform, the client device being associated with a user of the platform; providing the media item to the client device in response to determining that the user associated with the client device is included in a group of users comprising the second level of size based on a weight indicating a probability of a match between the user associated with the client device and the category associated with the media item and the calculated second weight threshold; A non-transitory computer-readable storage medium that causes
16. To calculate the second weighting threshold for the group of users corresponding to the second level, the processing device:
16. The non-transitory computer-readable storage medium of claim 15, further comprising: determining a value indicative of a difference between the first level and the second level.
17. 17. The non-transitory computer-readable storage medium of claim 16, wherein the first level represents a first statistical value indicative of a first quantitative relationship between a number of users in the group and a total number of users of the platform, and the second level represents a second statistical value indicative of a second quantitative relationship between the number of users in the group and the total number of users of the platform.
18. To determine the value indicative of the difference between the first level and the second level, the processing device receiving input from a provider of the media item, the input specifying the second level; identifying one or more rules regarding a category associated with the media item; determining a second statistical value based on the one or more rules; and determining a difference between a first statistical value and the second statistical value; 18. The non-transitory computer-readable storage medium of claim 16 or 17,
19. 16. The non-transitory computer-readable storage medium of claim 15, wherein the request to dynamically change the size of the group of users from the first level to the second level is received in response to a provider of the media item interacting with one or more elements of a user interface of a client device associated with the provider.
20. 20. The non-transitory computer-readable storage medium of claim 19, wherein the one or more elements of the user interface include a slider component and a plurality of level markers, a first level marker of the plurality of level markers indicating the first level and a second level marker of the plurality of level markers indicating the second level, and the provider provides a request to dynamically change the size of the group of users from the first level to the second level by moving the slider component from the first level marker to the second level marker.
Citation Information
Patent Citations
Content distribution system
JP2007201742A
Advertisement distribution device and method, and program
JP2012043193A
Advertisement distribution device, advertisement distribution method and advertisement distribution program
JP2015079448A
Advertisement distribution management apparatus and advertisement distribution management method
JP2017107599A
Methods and apparatus for identifying unique users for on-line advertising
US20160117736A1