The present disclosure generally relates to the automatic selection of multimedia content.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Content suggestion systems traditionally select content based on a relationship to a user's preferences or a relationship to parameters of a search query. Recommendation engines use keyword or tags in order to select content that match a particular content selected by a user. These systems have a singular function that is focused on presenting a set of content that is similar in type, e.g., video, to the content being accessed by the user. Further, these systems typically present the suggested content to the user in a list format. Content providers lack a mechanism for getting assets from their mixed-multimedia asset libraries in front of users and to present the mixed-multimedia assets to users in meaningful and engaging ways.
In the drawings:
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
Embodiments are described herein according to the following outline:
This overview presents a basic description of some aspects of a possible embodiment of the present invention. It should be noted that this overview is not an extensive or exhaustive summary of aspects of the possible embodiment. Moreover, it should be noted that this overview is not intended to be understood as identifying any particularly significant aspects or elements of the possible embodiment, nor as delineating any scope of the possible embodiment in particular, nor the invention in general. This overview merely presents some concepts that relate to the example possible embodiment in a condensed and simplified format, and should be understood as merely a conceptual prelude to a more detailed description of example possible embodiments that follows below.
Disclosed herein are systems and methods for pairing assets for online presentation where the plurality of electronic assets are available in a wide range of formats. The processes associated with selection and ordering of these assets to be made available for consumption in an online environment is increasingly becoming more data-driven and requiring that electronically-stored assets of different formats be presented as an ensemble or collection. A non-exhaustive list of asset types include text (TXT, HTML, etc.), images (GIF, JPG, TIFF, BMP, PNG, etc.), videos (MP4, WMV, FLV, etc.), geographic (SHP, KML, etc.), coded (JavaScript, PHP, etc.), and sound (MP3, WMV, QT, etc.) files. The asset itself is a distinct electronic file that may be presented to a user for consumption either by itself or simultaneously with other electronic files.
For each asset type, both the storage/presentation requirements and resulting consumption of the assets may differ and require cognitive processing by using one or more of the human user's five senses: sound, sight, touch, taste, and smell. An engagement is the timeframe during which a user is consuming the electronic asset using one or more of the five human senses. Presentation of information to the human user may appeal to one or more of these senses and there exists a business purpose for pairing files of the various types to increase the user's satisfaction with their consumption and thereby allowing the asset portfolio manager (the individual responsible for deciding upon the assets to display) to yields some desirable benefit from a satisfactory consumption of the assets. The concept of pairing assets is not restricted to two distinct assets—rather, a collection of assets (containing at least two assets) is selected for presentation during a single engagement by a user. An asset may be categorized as stationary or non-stationary. A stationary asset will not change over time—examples include an image, a non-interactive electronic map, or a sound file with a single tone (“ding”, “beep”, etc.). Non-stationary assets are electronic files that vary over time such as a video, an animated image, a song, or an interactive map. The changes over time that cause an electronic asset to be considered non-stationary can be a) executed automatically when an appropriate application exists that allows the temporal variations to be presented; b) triggered according to the internal clock of the device—where available; or c) initiated interactively by the electronic assets' consumer during an engagement.
Management of an asset collection may be conducted by the owner of the collection or another party given authorization to generate recommendations and pursue revenue acquisition on behalf of the owner. This entity may also be referred to as the “asset portfolio manager”. Referring to
During an online engagement where a recommendation system algorithm 102 considers candidate assets stored in the asset library 103 and available for presentation and consumption by a user, there often arises the desire to use the available device presentation capabilities to present more than one asset at the same time in the shared display space. The asset portfolio manager may be interested in simultaneous co-presentation of a set of assets related to the online asset 104 to enhance the viewing experience and provide a means of presenting the content in a way that appeals to the multi-sensory capabilities of human consumers. The asset portfolio manager—which has access to a library of multimedia assets 103 available to be displayed (either remotely over a network, such as an intranet, internet, etc., or locally over a local network of connection)—automatically selects which assets are most appropriate for co-display given their preferences for content delivery 105. The selected assets may be sent by the asset portfolio manager to the receiving device, or a display screen, web page, etc., may be created that includes the selected assets and the assets that are to be displayed online during the online engagement 105. Alternatively, the asset portfolio manager may display a presentation screen template to an administrator and suggest the placement of each of the selected assets within the presentation screen template. The administrator may indicate the placement of each selected asset and instruct the asset portfolio manager to send the completed presentation screen to a receiving device. In an embodiment, the selected assets may be homogeneous in nature, e.g., video only, etc. In another embodiment, the selected assets may be heterogeneous and may comprise any combination of: text, video, hyperlinks, images, audio, etc. To meet this need, the system performs several features:
One application of an embodiment can be found in the online news publishing industry. For any given asset (e.g., textual, such as a news article, etc.) that can be presented on a web page, there may arise the desire of the asset portfolio manager 101 to also co-present relevant images, videos, sound clips, and hyperlinks to related articles to provide additional information in a variety of format with the intent of improving the satisfaction associated with the consumer's engagement with the content. Referring to
An embodiment displays or creates a display of video asset recommendations to users engaging a variety of online websites using mobile and non-mobile electronic data providers. The system:
Inputs: The inputs to the system may be:
Lt is the physical arrangement of assets in presentation t limited by the display parameters of the presentation device, such as the physical characteristics of the presentation device and the embedded software that enables certain asset types to be consumed (for example, presentation of a video file in the layout may require that there exists a capability for the video to be played, if desired by the user during engagement).
A is the set of portfolio assets available for selection and subsequent display. Individual asset ai is the ith asset among n assets: A={a1, a2, . . . , an}
ai is the anchor asset that can be presented with certainty and that is capable of being presented given the physical characteristics and the other limitations of Lt.
A(−i) is the remainder of the portfolio assets that may be selected for co-presentation along with the anchor asset, ai: A=A(−i)∪ai, A(−i)∩ai=Ø
X is a set of k features describing each of the n assets.
X={x1,x2, . . . ,xn} where xi={xi,1,xi,1, . . . ,xi,k}.
τi,c is a subset of a feature of asset ai referred to as a collection descriptor which is a label or index indicating a theme under which the asset is grouped (e.g., sports, entertainment, justice, etc.). An asset ai may belong to c≥1 asset groups so that τi={τi,1, τi,2, . . . , τi,c}. Additionally, more refined theme division may exist describing a physical locale and more detailed membership requirements. For simplicity, each distinct collection label, sub-collection criteria and locale can be uniquely identified using a collectionID as shown in Table 1. Note that the entry corresponding to collectionID=3 has a locale of “Worldwide” which is equivalent to describing an asset whose relevance is without geographic limits.
ssfIDi is a single feature of asset ai indicating three characteristics of the asset; the human sensory mode to which it appeals, whether the asset is stationary or non-stationary, and a description of the asset type. Table 2 gives an example of some instances of various ssfIDs where the plurality of ssfIDs has a size of P.
κi,c is a text-based subset of a feature of asset ai referred to as a keyword list which is set of labels describing asset ai. Asset ai ai may have w≥0 keywords so that κi={κi,1, κi,2, . . . , κi,w}. Keywords may be in any language and contain special characters and symbols.
FileTypeIDi is the type of file (based on the file extension associated with asset paired with a ssfID). Examples of various file types that may be associated with each distinct ssfID are shown as a many-to-one relationship in Table 3. Included in this table is a value for each row called additiveValue (always greater than or equal to 0) that can be used to induce a preference for certain file types sharing the same ssfID.
Larger values associated with additiveValue increase the chances that, among all files selected for co-presentation with the anchor asset ai, the file having the specified type will be selected.
xi as described earlier contains k features describing asset ai; xi={xi,1, xi,1, . . . , xi,k} representing the asset's;
An example of the n×k table use to store the various sets of k features for each of the n assets in A is shown in Table 4. In addition to the k features, the stored table may include an assetID i=1, . . . , n along with a FileTypeID.
si,j is a computed similarity between asset ai and asset aj based on pairwise difference between the features of the two assets, not including the collectionID(s), ssfID, or keyword(s). The computation of this pairwise similarity may represent a more complex metric that is employed by the underlying recommendation engine at the disposal of the asset portfolio manager. In this example, a simple Minkowski metric (a computation of pairwise differences between asset ai and itself represented by si,i typically yields a value of 1 (after standardization) and the matrix S is symmetric and non-negative for all i,j) is discussed that may be applied after all of the features have been standardized to a [0,1] scale.
The n×n matrix of pairwise similarities may be computed (independent of the ssfID, FileTypeID, and collectionIDs) in order for the co-presentation process to be employed.
The computed pairwise similarities may then be represented as:
To illustrate how the similarities are computed,
αi,j a multiplier selected by the asset portfolio manager indicating if certain pairings of assets should have a reduced chance of being co-presented where 0≤αi,j<1 and, for any pair i,j not defined, it is assumed that αi,j=1. Table 5 provides an example of some pairs of assets for which co-presentation is discouraged and for any value for which αi,j=0, co-presentation may not be allowed.
The pairwise similarity matrix S along with Tables 1-5 represent the schema that can be used to build an ensemble of assets for presentation—given ai (the anchor asset)—once the asset portfolio manager has designed the physical arrangement of asset for presentation, Lt.
With all of the inputs in place, the item portfolio manager may design the layout Lt and the underlying computations associated with an embodiment can be executed to automatically populate the presentation.
2.1 Ensemble Strength
Within a section d, the entire set of co-presented assets in the Rd can be called an ensemble,
Ed={ai(d),aj(d), . . . ,aR(d)}.
In an embodiment, there may be four levels of ensemble strength:
Within an ensemble, a requirement prohibiting or allowing duplicate assets within or across a section can also be defined. Where there always exists the requirement that the candidate assets for inclusion in the presentation of a section-level set of assets not duplicate the anchor asset ai—that is A=A(−i)∪ai, A(−i)∩ai=Ø—duplication may be allowed among the other non-anchor assets in the presentation of section d.
Another consideration when building an ensemble is the degree to which the similarities among the assets in the d=1, . . . , D sections should be. The enforcement of similarity across sections in a layout Lt as the depth—depth can either be local or global. If the ensemble depth is local, then there is no requirement that the similarities across assets presented in different sections be considered in the selection of assets of Lt. If the depth is global, pairwise comparisons of assets are computed both within a section d and across all sections d=1, . . . , D. Notationally, the similarities among assets is si,j, but when further transformations are applied to adjust for commonality among keywords, file types, and enforce ssfID and down-weighting requirements, then similarities in section d among two its members, a(d)i and a(d)j, can be denoted by f(d)i,j and the vector of assets selected for presentation in section d is:
a(d)={ai(d),aj(d), . . . ,aR
The application of depth may be accomplished by taking an overall representative of similarities of assets with a section d and the overall similarity of assets across the various sections d=1, . . . , D. Let;
and let the measure of depth across all d=1, . . . , D sections in Lt be
m(Lt)=w(d)+λtb(d) where 0≤λt≤1. {Equation 1}
Selection of assets for presentation within a layout, Lt, is then equivalent to maximizing m(Lt);
2.4 Construction of Ensembles
In this section, the mechanics of the construction of weak, strong, and semi-strong ensembles is presented along with the steps to apply local or global duplication prohibition and local/global depth restrictions. Among all three methods of constructing ensembles, there are common steps to prepare the similarity matrix based on the availability of theme and keyword features possessed by each asset along with the down-weighting of certain asset pairs made to discourage co-presentation in a display.
2.4.1 Similarity Matrix Preparation for Ensemble Construction
Step 1a: each element in the diagonal of matrix S is set equal 0 to yield a matrix of similarities;
This is equivalent to defining A(−i) since asset ai has been removed from the set of candidate assets for co-display (avoiding duplication of the anchor asset) since one requirement for selection will be that the similarity value, si,j, of a selected item aj to be paired with the anchor asset, aj, is that si,j>0.
Step 1b: Identify entries in Table 5 to allow adjustment for the chance of being selected (lower values of si,j reduce the chances of selection for presentation). Undefined pairs for any i,j receive a value of αi,j=1.
Step 1c: For each pair of assets {ai, aj} of A (i,j=1, . . . , n) a multiplier, δij, is computed;
where wi is the number of keywords associated with ai, wj is the number of keywords associated with aj, and wi ∩wj is the number of keywords the two assets have in common.
Step 1d: For each pair of assets {ai, aj} of A (i,j=1, . . . , n) a multiplier, νj,k, is computed;
Step 2: Update the values of S by multiplying against the values computed in Step 1a-1c to adjust the similarities based on the relative concordance of keywords (lower concordance reduces the chances of selection for presentation), consistency of themes, and:
s′i,j=si,j×δi,j×νi,j×αi,j
The similarity matrix prepared for ensemble construction in then an adjusted n×n symmetric matrix, S′, representing all pair of assets {ai, aj} of A (i,j=1, . . . , n).
Step 3: For each element section d, slot r, and element s′i,j of S′, three sub-steps are executed:
Step 3.a: a multiplier is computed, ϕj(d,r), as
This step forces the asset selection process to prefer those assets that are consistent with the sense/stationarity/fileType specified by the asset portfolio manager. Setting a value of εϕ>0 for non-matched ssfID values is a possible less-strict option that can be employed to allow a selection not exactly specified by the asset portfolio manager.
Step 3.b: the additive Value, ρj, is extracted from Table 3 (the various file types associated with each ssfID) for each asset S′ based on a lookup of the fileTypeID found in Table 4 (the features of each asset including the file type). the purpose of this sub-step is to adjust the similarity values to prefer, among all assets that remain eligible for selection, the asset having the desired file type.
Step 3.c: Compute a final set of similarity pair for each section d each slot r as:
fi,j(d,r)=s′i,j×ϕi,j(d,r)×(1+ρj(d,r))
Step 4: Among all similarity matrices, fj,k(d,r) where d=1, . . . D and r=1, . . . , Rd, select the values such that fj,k(d,r)>0 as initial candidates for that slot r and section d. To be eligible to fill a slot in section d, an asset aj(d), can have a non-zero similarity value (s′i,j>0) when paired with the anchor asset ai(d) in that section. Note that it is disallowed for another asset to populate the slot(s) reserved for the anchor asset in each section.
The resulting candidate list may then be used to create a table Ft containing a list of possible assets that may be used to populate the display Lt for all sections d=1, . . . , D and their respective slots r=1, . . . , Rd.
An example table Ft from preparation of the similarities is shown in Table 6. In the example, section d=1 has Rd=2 slots; one is reserved for the anchor asset (a1 and a2) and eligible anchor assets are based on the example in
Following through with the examples in
similarities, fi,j(d,r)=s′i,j×ϕi,j(d,r)×(1+ρj(d,r)), used to fill position r=2 assuming the a1 is selected as the anchor asset for section d=1 are (refer to
f1,4(1,2)=s′1,4×f(1,2)1,4×ρ4(1,2)=0×1×(1+0.05)=0 and
f1,7(1,2)=s′1,7×f(1,2)1,7×ρ7(1,2)=s1,7×0.2×1×(1+0.01)=s1,7×0.202
2.4.2 Weak Ensemble Construction
In an embodiment, after Lt has been defined, the automated process for selecting assets for co-presentation of a weak ensemble works as follows for each of the D sections:
Step 1: Given the desired choice of duplication restrictions (local or global), identify the set of all possible and allowable arrangements, a(d), of assets from A that can be used to populate the display, Lt under the restriction that the anchor assets and their positioning in each section, a(d)i, is required.
Step 2. Select a*, the unique arrangement of a that maximizes
which is equivalent to, for each slot, choosing the eligible candidate asset aj for which the similarity between it and the section's anchor asset ai(d) is maximized (Note that in the weak ensemble method, a global depth restriction may not be sensible). The arrangement of assets selected as a* are then used to populate the display and can guarantee that every asset selected for presentation in section d has a non-zero similarity with the anchor asset in the section (local depth). In the example discussed above, earlier, if a1 is selected as the anchor asset and another asset meeting the ssfID and fileTypeID restrictions are applied to slot r=2 and section d=1, then only assets a4 or a7 can be selected to fill the position. Since a7 has a larger value (0.202×s1,7 assuming that s1,7>0) for the final similarity computation f(1,2)1,j than asset a4 when paired with asset a=1, then it would be chosen to fill the d=1, r=2 position in the display.
2.4.3 Strong Ensemble Construction
In an embodiment, after Lt has been defined, the automated process for selecting assets for co-presentation of a strong ensemble works as follows for each of the d=1, . . . , D sections:
Step 1: Given the desired choice of duplication restrictions (local or global), identify the set of all possible and allowable arrangements, a(d), of assets from A that can be used to populate the display, Lt under the restriction that the anchor assets and their positioning in each section, a(d)i, is required.
Step 2: Some possible arrangements of a(d) are removed from eligibility as an acceptable solution for populating layout Lt. Any arrangement containing a pair of assets such that the similarity f(d)j,k=0 (j,k=1, . . . , n) within a section d is removed. This is equivalent to enforcing the restriction that an eligible asset need to not only have a non-zero similarity with the anchor asset, but also to every other asset that may be co-displayed in the same section (Since this step may result in an empty set of solutions, non-zero choices for εδ, εϕ and αi,j can be set to small-but-positive values to ensure that some possible arrangements are available, albeit sub-optimal). For example, if ai is selected as the anchor asset for a display with r=3 assets, then the other two assets, aj and ak, selected to fill the other positions must not only be similar to ai, but must be similar to each other—that is, consideration must be given to the similarities among {ai,aj}, {ai,ak} and {aj,ak}.
Step 3: If a global depth restriction is desired, then some possible arrangements of a(d) are removed from eligibility to be an acceptable solution for populating layout Lt. Any arrangement containing a pair of assets such that the similarity f(d)j,k=0 (j,k=1, . . . , n) is removed. This is equivalent to enforcing the restriction that an eligible asset need to not only have a non-zero similarity with the anchor asset, but also to every other asset that will be co-displayed across all sections d=1, . . . D.
Step 4: For each, select a*, the unique arrangement of a that maximizes m(Lt)=w(d)+λt b(d) given the desired depth (via appropriate selection of λ).
The arrangement of assets selected as a* may then be used to populate the display and can guarantee that every pair of assets within a section d has a non-zero similarity with every other asset selected for co-display in the section (local depth). If a global depth restriction is applied, then there will be an additional guarantee that every pair of assets within the display Lt has a non-zero similarity with every other asset selected for co-display in the display.
2.4.4 Semi-Strong Ensemble Construction
In an embodiment, after Lo has been defined, the automated process for selecting assets for co-presentation of a semi-strong ensemble can be executed. The semi-strong approach is performed iteratively to strike a compromise between the weak and strong ensemble approaches in terms of computational efficiency. The key difference in this approach relative to the other ensemble-building steps is that the final arrangement of assets, a*, is not necessarily the optimal one (that would be selected using all possible arrangements of eligible assets using the strong ensemble approach) but rather seeks to iteratively find the best asset for display given all assets chosen in earlier iterations.
Step 1: Some possible elements of a(d) are removed from eligibility as an acceptable solution for populating layout Lt. Any element of Ft containing a pair of assets such that the similarity f(d)j,k=0 (j,k=1, . . . , n) within a section d is removed. This is equivalent to enforcing the restriction that an eligible asset need to not only have a non-zero similarity with the anchor asset, but also to every other asset that will be co-displayed in the same section (Since this step may result in an empty set of solutions, non-zero choices for εδ, εϕ and αi,j can be set to small-but-positive values to ensure that some possible arrangements are available, albeit sub-optimal).
Step 2: If a global depth restriction is desired, then some elements of a(d) are removed from eligibility to be an acceptable solution for populating layout Lt. Any element of Ft containing a pair of assets such that the similarity f(d)j,k=0 (j,k=1, . . . , n) is removed. This is equivalent to enforcing the restriction that an eligible asset need to not only have a non-zero similarity with the anchor asset, but also to every other asset that will be co-displayed across all sections d=1 . . . , D.
Step 3: Among remaining elements of Ft that remain, select a*, the unique arrangement of a that maximizes the objective function m(Lt) is computed. In sequential order, iterate over each section d=1, . . . , D and each slot within a section r=1, . . . , Rd—skipping over each anchor asset ai(d) since its slot choice is predetermined and set by Lt as follows:
Step 3a: To yield an ordered vector of similarities representing the assets that may be placed in the current (the rth) position of section d, select the asset aj(d,r) eligible to be placed in that position (based on Ft) such that the similarity between that asset and all other assets previously identified to fill slots in the iterative process is non-zero. Additionally, among the assets with non-zero similarities and with local depth, compute
and, for the a(d,r) element of a*, choose the value which maximizes w(d) for which duplicates have been omitted according to the local or global choice made for duplicate values.
Step 3b: If global depth is required, also compute:
b(d)=min{fj,k(d),fj,k(g)}j,k=1 . . . (r−1)∪{ai(1),ai(2), . . . ,ai(D)},j≠k,g≤d
and select the asset aj to fill slot r in section d with the asset that maximizes
m(Lt)=w(d)+λtb(d) where 0≤λt≤1
during the current iteration and taking into account all other assets that have been previously selected to join a* in previous iterations.
The arrangement of assets selected as a* are then used to populate the display and, though may not be the global optimum, are considered to be optimal at the time during the iterative process when each asset was selected. These steps also ensure that depth and duplication requirements are considered when choosing assets for inclusion in a*.
In an example of how the semi-strong example would work for a given section d where the number of slots Rd=3 the local depth approach is used so the objective within the section is to maximize the value of mt(Lt) in the section's ensemble. Initially, the first slot r=1 is populated with the anchor asset, ai, so a*(d,1)=ai. Moving on to the next slot, r+1=2, the asset, aj, is selected having the largest similarity to the asset in slot 1, a*(d,1). Once selected, the optimal set now contains a*(d)={ai,aj}. In the next iteration, the selected asset, ak, is the one taken over all candidates for which the smallest of similarities fi,k, fj,k is maximized. That is, the measure of similarity of an asset consideration to join the optimal set, a*(d) is based on a comparison to all existing members of the set established in prior iterations.
2.4.5 Improved Semi-Strong Ensemble Construction
Knowing that the semi-strong ensemble construction might not be the optimal solution—through constructed optimization considered at each iteration over the d=1, . . . D and r=1, . . . , Rd possible slot—it may be possible to review the results of the resulting semi-strong solution a* and seek improvements. To construct the improved semi-strong ensembles for the layout Lt, it is of course required that semi-strong iterations first be conducted and a* established. The improvement process is fairly simple and based on a second set of iterations over each section d=1, . . . , D and each slot within a section r=1, . . . , Rd—skipping over each anchor asset ai(d) since their slot choice is predetermined and set by Lt—as follows:
Step 1: Define a(−j) as the optimal set, excluding the asset aj filling the (d,r)th position of a* “(corresponding to the current iteration);
a(−i)∩a*=Ø,a*=a*(−j)∪a*.
Step 2: Substitute another candidate asset ak≠aj that is eligible to fill the a(d,r) position of the optimal ensemble given duplicate and depth restrictions. Recompute:
m(Lt)=w(d)+λtb(d) where 0≤λt≤1
Step 3: If the objective function m(Lt) is improved based on the substitution, replace the appropriate value of a* with the substitution.
The net result is that the final layout reflects a positioning and ensemble a* that yields a value of the objective function m(Lt) that is the equivalent or more acceptable than the semi-strong ensemble that existed prior to the improvement process. Additionally, if substitutions do exist, the improvement process forces the final ensemble a* to be more similar to the one that would have existed if the computationally-costly strong ensemble method had been employed.
2.5 Layout Comparison
Although a single layout, Lt has been discussed, embodiments can be used to evaluate the performance of various layouts and choices of depth, duplicate asset restrictions, and ensemble construction. In an online environment, the various inputs and asset portfolio manager choices may be varied to determine if an alternative to a single layout might be more effective. If the asset portfolio manager has a known and measurable performance metric in mind (for example, maximize revenue or engagement time), he/she may then use an embodiment to compare the performance of various presentation layouts/requirements in a multivariate or A/B testing environment to identify how various layouts might improve performance. If A is the asset library available to the portfolio manager, L={Lo, L1, . . . , Lm} and R is a set of rules encompassing the choice of ensemble strength, duplicates, and down-weighted asset pairs, and X is the depth parameter, then the item portfolio may evaluate m(Lt|Rt, A, λt) for various combinations of Rt, λt to determine the set of inputs that yields a maximum value of the performance metric.
It should be noted that the execution of this series of steps may be computed by a single actor (the asset portfolio manager) based at single physical location or multiple actors in single or multiple physical locations (
An embodiment can use a version discussed above to maximize the objective function m(Lt|Rt, A, λt) for any set of values. The embodiment can perform:
1) video recommendations in an ordered playlist (a single-section layout) having a fixed number of slots (as determined by the client). The system uses a single sense/stationarity combination (sight/non-stationary) and allows any video type that is playable by the client software. The system may prohibit global duplication, uses a global depth requirement, down-weights asset pairs probability of co-presentation using client-provided business rules, and employs the semi-strong ensemble-building method.
2) article-to-video layouts that take a text-based asset (a news article) as the anchor asset in each section and provides video recommendations in an ordered playlist (a single-section layout) having a fixed number of slots (as determined by the client) to accompany the text. The system uses a single sense/stationarity combination (sight/non-stationary) and allows any video type that is playable by the client software and selects video pairings that have the highest similarity to the anchor asset and other assets in the ensemble using the semi-strong ensemble approach.
3) Multivariate and A/B testing can be performed to determine if the weak ensemble and semi-strong ensemble methods yield similar results and, if so, using the weak ensemble method to minimize computational resources needed to support the presentation.
4) Recommendation engine—a recommendation engine can be implemented that determines how similarities are computed and feeds the ensemble-building.
5) Allows a continuous-play feature that seamlessly builds a sequential set of videos that may be viewed without interruption. The feature allows an entire video playlist to be constructed and consumed and, should user interaction suggest that a particular video asset consumption has terminated, present a revised list of recommended assets presented as an ensemble.
In an embodiment, an apparatus comprises a processor and is configured to perform any of the foregoing methods.
In an embodiment, a non-transitory computer readable storage medium, storing software instructions, which when executed by one or more processors cause performance of any of the foregoing methods.
Note that, although separate embodiments are discussed herein, any combination of embodiments and/or partial embodiments discussed herein may be combined to form further embodiments.
Examples of some embodiments are provided, without limitation, in the following paragraphs.
According to some embodiments, a method or non-transitory computer readable medium comprises: receiving a specification of an asset to be displayed during an online engagement; selecting a variety of assets related to the asset to be displayed during the online engagement, the variety of assets including any combination of: audio, video, text, or image, wherein the variety of assets are selected based on a relationship with the asset to be displayed during the online engagement; arranging the selected variety of assets into a single presentation screen; sending the presentation screen to a receiving device for display.
According to some embodiments, an apparatus comprises: a specification receiver that receives a specification of an asset to be displayed during an online engagement; an asset selector that selects a variety of assets related to the asset to be displayed during the online engagement, the variety of assets including any combination of: audio, video, text, or image, wherein the variety of assets are selected based on a relationship with the asset to be displayed during the online engagement; a presentation screen creator that arranges the selected variety of assets into a single presentation screen; a presentation screen sender that sends the presentation screen to a receiving device for display.
In some of the above embodiments, the single presentation screen is arranged using display parameters of the receiving device.
In some of the above embodiments, the variety of assets are selected based on a relationship between each asset among the variety of assets and the asset to be displayed during the online engagement.
In some of the above embodiments, each asset among the variety of assets is selected based on a relationship between the asset and the asset to be displayed during the online engagement, and wherein the asset is selected based on a relationship between the asset and all other assets in the variety of assets.
In some of the above embodiments, each asset among the variety of assets is selected based on a relationship between the asset and each asset among the variety of assets that was selected previous to the asset.
In some of the above embodiments, the asset to be displayed during the online engagement is textual.
In some of the above embodiments, the variety of assets are selected based on a common theme of the variety of assets.
In some of the above embodiments, each asset among the variety of assets is selected based on a variable probability.
In some of the above embodiments, at least a portion of the variety of assets are selected and arranged in the presentation screen based on human senses.
In some of the embodiments, the single presentation screen is arranged using display parameters of the receiving device.
In some of the above embodiments, the variety of assets are selected based on a relationship between each asset among the variety of assets and the asset to be displayed during the online engagement.
Other examples of these and other embodiments are found throughout this disclosure.
4.0 Implementation Mechanisms—Hardware Overview
According to an embodiment, the techniques described herein are implemented by one or more special-purpose computing devices. The special-purpose computing devices may be hard-wired to perform the techniques, or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or may include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination. Such special-purpose computing devices may also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. The special-purpose computing devices may be desktop computer systems, portable computer systems, handheld devices, networking devices or any other device that incorporates hard-wired and/or program logic to implement the techniques.
For example,
Computer system 1400 also includes a main memory 1406, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 1402 for storing information and instructions to be executed by processor 1404. Main memory 1406 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 1404. Such instructions, when stored in non-transitory storage media accessible to processor 1404, render computer system 1400 into a special-purpose machine that is customized to perform the operations specified in the instructions.
Computer system 1400 further includes a read only memory (ROM) 1408 or other static storage device coupled to bus 1402 for storing static information and instructions for processor 1404. A storage device 1410, such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to bus 1402 for storing information and instructions.
Computer system 1400 may be coupled via bus 1402 to a display 1412, such as a cathode ray tube (CRT), for displaying information to a computer user. An input device 1414, including alphanumeric and other keys, is coupled to bus 1402 for communicating information and command selections to processor 1404. Another type of user input device is cursor control 1416, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 1404 and for controlling cursor movement on display 1412. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
Computer system 1400 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 1400 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 1400 in response to processor 1404 executing one or more sequences of one or more instructions contained in main memory 1406. Such instructions may be read into main memory 1406 from another storage medium, such as storage device 1410. Execution of the sequences of instructions contained in main memory 1406 causes processor 1404 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
The term “storage media” as used herein refers to any non-transitory media that store data and/or instructions that cause a machine to operate in a specific fashion. Such storage media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, optical disks, magnetic disks, or solid-state drives, such as storage device 1410. Volatile media includes dynamic memory, such as main memory 1406. Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid-state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge.
Storage media is distinct from but may be used in conjunction with transmission media. Transmission media participates in transferring information between storage media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 1402. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 1404 for execution. For example, the instructions may initially be carried on a magnetic disk or solid-state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 1400 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 1402. Bus 1402 carries the data to main memory 1406, from which processor 1404 retrieves and executes the instructions. The instructions received by main memory 1406 may optionally be stored on storage device 1410 either before or after execution by processor 1404.
Computer system 1400 also includes a communication interface 1418 coupled to bus 1402. Communication interface 1418 provides a two-way data communication coupling to a network link 1420 that is connected to a local network 1422. For example, communication interface 1418 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 1418 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 1418 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
Network link 1420 typically provides data communication through one or more networks to other data devices. For example, network link 1420 may provide a connection through local network 1422 to a host computer 1424 or to data equipment operated by an Internet Service Provider (ISP) 1426. ISP 1426 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 1428. Local network 1422 and Internet 1428 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 1420 and through communication interface 1418, which carry the digital data to and from computer system 1400, are example forms of transmission media.
Computer system 1400 can send messages and receive data, including program code, through the network(s), network link 1420 and communication interface 1418. In the Internet example, a server 1430 might transmit a requested code for an application program through Internet 1428, ISP 1426, local network 1422 and communication interface 1418.
The received code may be executed by processor 1404 as it is received, and/or stored in storage device 1410, or other non-volatile storage for later execution.
In the foregoing specification, embodiments have been described with reference to numerous specific details that may vary from implementation to implementation. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. The sole and exclusive indicator of the scope of the embodiments, and what is intended by the applicants to be the scope of the embodiments, is the literal and equivalent scope of the set of claims that issue from this application, in the specific form in which such claims issue, including any subsequent correction.
This application claims benefit of Provisional Application No. 62/029,713, filed Jul. 28, 2014, the entire contents of which is incorporated by reference as if fully set forth herein under 35 U.S.C. § 120.
Number | Name | Date | Kind |
---|---|---|---|
6826559 | Ponte | Nov 2004 | B1 |
6847965 | Walker | Jan 2005 | B2 |
8275661 | Ponte | Sep 2012 | B1 |
20030023427 | Cassin et al. | Jan 2003 | A1 |
20030217061 | Agassi et al. | Nov 2003 | A1 |
20050193335 | Dorai et al. | Sep 2005 | A1 |
20060106642 | Reicher | May 2006 | A1 |
20080307454 | Ahanger et al. | Dec 2008 | A1 |
20090006368 | Mei et al. | Jan 2009 | A1 |
20090158342 | Mercer et al. | Jun 2009 | A1 |
20100076991 | Nakano et al. | Mar 2010 | A1 |
20100169331 | Karidi et al. | Jul 2010 | A1 |
20110072448 | Stiers et al. | Mar 2011 | A1 |
20110173054 | Kutaragi | Jul 2011 | A1 |
20110202961 | Asano | Aug 2011 | A1 |
20110320380 | Zahn et al. | Dec 2011 | A1 |
20110320437 | Kim et al. | Dec 2011 | A1 |
20120151511 | Bernard | Jun 2012 | A1 |
20130216200 | Howett | Aug 2013 | A1 |
20140095320 | Sivaramakrishnan | Apr 2014 | A1 |
20140344061 | Choi | Nov 2014 | A1 |
20150310488 | Hess et al. | Oct 2015 | A1 |
20160026920 | Sullivan et al. | Jan 2016 | A1 |
20160277244 | Reichert, Jr. | Sep 2016 | A1 |
20160345062 | Klappert | Nov 2016 | A1 |
20170235848 | Dusen et al. | Aug 2017 | A1 |
20190026920 | Yi et al. | Jan 2019 | A1 |
20200097840 | Burns et al. | Mar 2020 | A1 |
Number | Date | Country |
---|---|---|
2008-193431 | Aug 2008 | JP |
WO2013001071 | Jan 2013 | WO |
Entry |
---|
Headline: Getting in Tune Harris,Javacian. Courier—Journal:V. 15.Louisville,Ky.:GannettCo., Inc.(Jan. 11, 2006) FullText (Year: 2006). |
World Intellectual Property Organization, Application No. PCT/US15/42547, International Search Report dated Oct. 12, 2015. |
World Intellectual Property Organization, Application No. PCT/US15/42547, Pending Claims as of Oct. 12, 2015. |
World Intellectual Property Organization, Application No. PCT/US15/00079, International Search Report dated Nov. 19, 2015. |
World Intellectual Property Organization, Application No. PCT/US15/00079, Pending Claims as of Nov. 19, 2015. |
European Patent Office, Application No. 15826878.9, Extended European Search Report dated Jul. 26, 2017. |
European Patent Office, Application No. 15826878.9, Pending Claims as of Jul. 26, 2017. |
European Patent Office, Application No. 15747932.0, Foreign Office Action dated Mar. 9, 2017. |
European Patent Office, Application No. 15747932.0, Pending Claims as of Mar. 9, 2017. |
European Patent Office, Application No. 15747932.0, Foreign Office Action dated Oct. 18, 2018. |
European Patent Office, Application No. 15747932.0, Summons to Attend Oral Hearings dated Mar. 22, 2019. |
European Patent Office, Application No. 15826878.9, Foreign Office Action dated Dec. 21, 2018. |
U.S. Appl. No. 14/811,824, Non-Final Office Action dated Oct. 26, 2018. |
U.S. Appl. No. 14/811,824, Non-Final Office Action dated Jan. 21, 2020. |
European Patent Office, Application No. 15826878.9, Summons to Attend Oral Hearings dated Aug. 14, 2020. |
Han et al, “Evaluation of User Reputation on YouTube”, 12th European Conference on Computer Vision, ECCV 2012; [Lecture Notes in Computer Science], pp. 346-353, XP047541589, ISSN: 0302-9743, ISBN: 978-3-642-36741-0. |
U.S. Appl. No. 14/811,824, Final Office Action dated Jul. 17, 2020. |
U.S. Appl. No. 14/811,824, Final Office Action dated May 27, 2021. |
U.S. Appl. No. 14/811,824, Non-Final Office Action dated Jan. 28, 2021. |
U.S. Appl. No. 14/811,824, Final Office Action dated May 2, 2022. |
U.S. Appl. No. 14/811,824, Non-Final Office Action dated Dec. 15, 2021. |
U.S. Appl. No. 14/811,824, Notice of Allowance dated Aug. 29, 2022. |
U.S. Appl. No. 14/811,824, Final Office Action dated Jul. 5, 2019. |
Number | Date | Country | |
---|---|---|---|
20160027057 A1 | Jan 2016 | US |
Number | Date | Country | |
---|---|---|---|
62029713 | Jul 2014 | US |