DETERMINING AND UTILIZING ACTUAL PURPOSE OF USER-ASSEMBLED COLLECTION OF ELECTRONIC CONTENT ITEMS
20220027404 · 2022-01-27
Inventors
Cpc classification
G06F16/437
PHYSICS
G06F16/535
PHYSICS
International classification
Abstract
Implementations are described for determining, based on a user-assembled collection of electronic content items, at least one actual purpose for the assembled collection. Those implementations are further directed to selecting an additional electronic content item based on the at least one actual purpose being assigned to the additional electronic content item in an electronic database. Those implementations are yet further directed to, responsive to the selecting, causing a suggestion for the additional electronic content item to be rendered at a client device associated with a user account that is assigned to the user-assembled collection.
Claims
1. A method implemented by one or more processors, the method comprising: identifying electronic content items based on the electronic content items having each been assigned to a particular collection of a user account; generating, for each of the electronic content items, corresponding candidate purposes and corresponding measures for the electronic content item, wherein generating the corresponding candidate purposes and the corresponding measures, for each of the electronic content items, is based on processing the electronic content item, and wherein each of the corresponding measures defines a corresponding strength of correlation, of one of the corresponding candidate purposes, to a corresponding one of the electronic content items; determining that a particular candidate purpose, of the corresponding candidate purposes, is an actual purpose for the particular collection, wherein determining that the particular candidate purpose is the actual purpose for the particular collection is based on both: (i) a quantity of occurrences of the particular candidate purpose amongst the electronic content items, and (ii) magnitudes of the corresponding measures for the particular candidate purpose; responsive to determining the particular candidate purpose is the actual purpose for the particular collection: causing a suggestion to be rendered that includes a title that corresponds to the particular candidate purpose and that includes a selectable confirm option; and responsive to selection of the selectable confirm option during rendering of the suggestion: automatically assigning the title to the particular collection.
2. The method of claim 1, wherein determining, based on the magnitudes of the corresponding measures for the particular candidate purpose, that the particular candidate purpose is the actual purpose for the particular collection comprises: generating a cumulative measure of the magnitudes of the corresponding measures for the particular candidate purpose; and determining that the particular candidate purpose is the actual purpose based on the cumulative measure.
3. The method of claim 2, wherein determining, based on the magnitudes of the corresponding measures for the particular candidate purpose, that the particular candidate purpose is the actual purpose for the particular collection further comprises: determining an alternative cumulative measure for an alternate candidate purpose of the corresponding candidate purposes, wherein determining the alternative cumulative measure is based on the magnitudes of the corresponding measures for the alternate candidate purpose; and determining that the particular candidate purpose is the actual purpose based on comparing the cumulative measure to the alternate cumulative measure.
4. The method of claim 3, wherein determining, based on the quantity of occurrences of the particular candidate purpose amongst the electronic content items, that the particular candidate purpose is the actual purpose for the particular collection comprises: determining that the quantity is greater than an alternate quantity of occurrences of an alternate particular candidate purpose, of the corresponding candidate purposes, amongst the electronic content items.
5. The method of claim 4, wherein generating the corresponding candidate purposes and the corresponding measures comprises, for a given image that is one of the electronic content items: processing the image, using one or more machine learning models, to determine one or more classifications of one or more objects included in the image; and determining the corresponding candidate purposes and the corresponding measures, for the given image, based on a database that stores associations of object classifications to candidate purposes and measures.
6. The method of claim 2, wherein determining, based on the quantity of occurrences of the particular candidate purpose amongst the electronic content items, that the particular candidate purpose is the actual purpose for the particular collection comprises: determining that the quantity is greater than an alternate quantity of occurrences of an alternate particular candidate purpose, of the corresponding candidate purposes, amongst the electronic content items.
7. The method of claim 1, wherein determining, based on the quantity of occurrences of the particular candidate purpose amongst the electronic content items, that the particular candidate purpose is the actual purpose for the particular collection comprises: determining that the quantity is greater than an alternate quantity of occurrences of an alternate particular candidate purpose, of the corresponding candidate purposes, amongst the electronic content items.
8. The method of claim 1, wherein generating the corresponding candidate purposes and the corresponding measures comprises, for a given image that is one of the electronic content items: processing the image, using one or more machine learning models, to determine one or more classifications of one or more objects included in the image; and determining the corresponding candidate purposes and the corresponding measures, for the given image, based on a database that stores associations of object classifications to candidate purposes and measures.
9. The method of claim 1, further comprising: selecting a given additional electronic content item from a corpus of additional content items, wherein selecting the given additional electronic content item is based on the actual purpose, for the particular collection, being assigned to the given additional electronic content item in an electronic database; and responsive to selecting the given additional content item: causing an additional content suggestion, for the given additional electronic content item, to be rendered at a client device associated with the user account, wherein the additional content suggestion is selectable to cause the given additional electronic content item to be rendered at the client device and/or to add the additional electronic content item to the particular collection.
10. A system comprising: memory storing instructions; one or more processors executing the instructions, stored in the memory, to cause one or more of the processors to: identify electronic content items based on the electronic content items having each been assigned to a particular collection of a user account; generate, for each of the electronic content items, corresponding candidate purposes and corresponding measures for the electronic content item, wherein in generating the corresponding candidate purposes and the corresponding measures one or more of the processors are to generate the corresponding candidate purposes and the corresponding measures, for each of the electronic content items, based on processing the electronic content item, and wherein each of the corresponding measures defines a corresponding strength of correlation, of one of the corresponding candidate purposes, to a corresponding one of the electronic content items; determine that a particular candidate purpose, of the corresponding candidate purposes, is an actual purpose for the particular collection, wherein determining that the particular candidate purpose is the actual purpose for the particular collection is based on both: (i) a quantity of occurrences of the particular candidate purpose amongst the electronic content items, and (ii) magnitudes of the corresponding measures for the particular candidate purpose; responsive to determining the particular candidate purpose is the actual purpose for the particular collection: cause a suggestion to be rendered that includes a title that corresponds to the particular candidate purpose and that includes a selectable confirm option; and responsive to selection of the selectable confirm option during rendering of the suggestion: automatically assign the title to the particular collection.
11. The system of claim 10, wherein in determining, based on the magnitudes of the corresponding measures for the particular candidate purpose, that the particular candidate purpose is the actual purpose for the particular collection, one or more of the processors are to: generate a cumulative measure of the magnitudes of the corresponding measures for the particular candidate purpose; and determine that the particular candidate purpose is the actual purpose based on the cumulative measure.
12. The system of claim 11, wherein in determining, based on the magnitudes of the corresponding measures for the particular candidate purpose, that the particular candidate purpose is the actual purpose for the particular collection, one or more of the processors are to: determine an alternative cumulative measure for an alternate candidate purpose of the corresponding candidate purposes, wherein determining the alternative cumulative measure is based on the magnitudes of the corresponding measures for the alternate candidate purpose; and determine that the particular candidate purpose is the actual purpose based on comparing the cumulative measure to the alternate cumulative measure.
13. The system of claim 11, wherein in determining, based on the quantity of occurrences of the particular candidate purpose amongst the electronic content items, that the particular candidate purpose is the actual purpose for the particular collection, one or more of the processors are to: determine that the quantity is greater than an alternate quantity of occurrences of an alternate particular candidate purpose, of the corresponding candidate purposes, amongst the electronic content items.
14. The system of claim 10, wherein in determining, based on the quantity of occurrences of the particular candidate purpose amongst the electronic content items, that the particular candidate purpose is the actual purpose for the particular collection, one or more of the processors are to: determine that the quantity is greater than an alternate quantity of occurrences of an alternate particular candidate purpose, of the corresponding candidate purposes, amongst the electronic content items.
15. The system of claim 10, wherein in generating the corresponding candidate purposes and the corresponding measures one or more of the processors are to, for a given image that is one of the electronic content items: process the image, using one or more machine learning models, to determine one or more classifications of one or more objects included in the image; and determine the corresponding candidate purposes and the corresponding measures, for the given image, based on a database that stores associations of object classifications to candidate purposes and measures.
16. The system of claim 10, wherein one or more of the processors, in executing the instructions, are further to: select a given additional electronic content item from a corpus of additional content items, wherein selecting the given additional electronic content item is based on the actual purpose, for the particular collection, being assigned to the given additional electronic content item in an electronic database; and responsive to selecting the given additional content item: cause an additional content suggestion, for the given additional electronic content item, to be rendered at a client device associated with the user account, wherein the additional content suggestion is selectable to cause the given additional electronic content item to be rendered at the client device and/or to add the additional electronic content item to the particular collection.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0024]
[0025]
[0026] FIG. 2A1 illustrates an example of a user-assembled collection, corresponding candidate purposes and probability measures for electronic content items for the collection, and a determined actual purpose for the user-assembled collection.
[0027] FIG. 2A2 illustrates an example of rendering suggestions for additional content items selected based on assignment of the determined actual purpose, of FIG. 2A1, to the additional content items.
[0028] FIG. 2B1 illustrates another example of a user-assembled collection, corresponding candidate purposes and probability measures for electronic content items for the collection, and a determined actual purpose for the user-assembled collection.
[0029] FIG. 2B2 illustrates an example of rendering a suggestion for an additional content item selected based on assignment of the determined actual purpose, of FIG. 2B1, to the additional content item.
[0030] FIG. 2C1 illustrates another example of a user-assembled collection, corresponding candidate purposes and probability measures for electronic content items for the collection, and determined potential actual purposes for the user-assembled collection.
[0031] FIG. 2C2 illustrates an example of rendering suggestions for additional content items each selected based on assignment of one of the determined potential actual purposes, of FIG. 2C1, to the additional content item, without assignment of the other potential actual propose, of FIG. 2C1, to the additional content item.
[0032]
[0033]
DETAILED DESCRIPTION
[0034]
[0035] A user can interact with cloud-based system 118 via client device 110. Other computer devices may communicate with cloud-based system 118, including but not limited to additional client device(s) of the user, additional client devices of other users and/or one or more servers implementing a service that has partnered with the provider of cloud-based system 118. For brevity, however, the examples are described in the context of client device 110.
[0036] Client device 110 is in communication with cloud-based system 118 through a network such as a local area network (LAN) or wide area network (WAN) such as the Internet (one or more such networks indicated generally at 117). Client device 110 can be, for example, a desktop computing device, a laptop computing device, a tablet computing device, a mobile phone computing device, a computing device of a vehicle of the user (e.g., an in-vehicle communications system, an in-vehicle entertainment system, an in-vehicle navigation system), a standalone interactive speaker (optionally with display) that operates a voice-interactive personal digital assistant (also referred to as an “automated assistant”), or a wearable apparatus of the user that includes a computing device (e.g., a watch of the user having a computing device, glasses of the user having a computing device, a wearable music player). Additional and/or alternative client devices can be provided.
[0037] Client device 110 can include various software and/or hardware components. For example, in
[0038] Client device 110 can also execute various software. For example, in the implementation depicted in
[0039] Through interactions with one or more of the application(s) 114, a user of the client device 110 can add various electronic content items to various collections that are associated with a user account of the user and that are managed by collections engine 120 of cloud-based system 118. Collections engine 120 interfaces with collections database 122 to store, in the collections database 122, associations of electronic content items to corresponding collections of a user account associated with client device 110. Collections engine 120 can further retrieve, from collections database 122, stored collections of the user account to enable presentation of corresponding electronic content of the collections at the client device 110.
[0040] Access to collections, of collections database 122 that are associated with a user account, can be restricted to client devices that are associated with the user account (e.g., those client device(s) logged-in to the user account) and/or to one or more other user-accounts that have been explicitly authorized via the user-account. In other words, access can be restricted to a particular user, and optionally to one or more other users that have been explicitly authorized by the user.
[0041] Some non-limiting examples of a user of the client device 110 adding electronic content items to a collection are now provided. As one example, when viewing a webpage via one of the application(s) 114 of client device 110, the user can long-press, right-click, or select a toolbar button to be presented with a menu that includes an option to add the webpage to a collection. The menu can optionally present a plurality of collections, previously defined for a user account associated with the user, and user interface input can be directed to one of the collections to add the webpage to that collection. The menu can additionally or alternatively enable the user to define a new collection for the user account, and/or can enable the electronic content item be added to a collection, without specifying the particular collection to which to add the electronic content item. In response to user interface input(s) requesting addition of the webpage to a collection, the collections engine 120 can add the webpage to the collection in collections database 122. Adding the webpage to a collection can include storing, in collections database 122, at least an association of a uniform resource locator (URL) (or other identifier of the webpage) to the collection. Optionally, all or portions of content of the webpage can additionally or alternatively be stored, in collections database 122, in association with the collection.
[0042] As another example, when viewing a webpage a user can long-press, right-click, or otherwise interact with an image of the webpage to be presented with a menu that includes an option to add the image to a collection. In response to user interface input(s) requesting addition of the image to a collection, the collections engine 120 can add the image to the collection in collections database 122. Adding the image to a collection can include storing, in collections database 122, at least an association of a URL (or other identifier of the image) to the collection. Optionally, all or portions of the image can additionally or alternatively be stored, in collections database 122, in association with the collection. As yet another example, a user can add an image, captured by one of the vision sensor(s) 111, to a collection. For example, the image can be added by drag-and-drop (dropping into an area associated with the collection), long-pressing, right-clicking, or otherwise interacting with the image. As yet a further example, a user can add a snippet of text from a webpage to a collection by copying the text and pasting it into the collection.
[0043] In some implementations, a plurality of electronic content items can be automatically added to a particular collection, without user interface input(s) explicitly specifying the particular collection (e.g., rather, just specifying a request to add to any collection). For example, a plurality of electronic content items can be automatically added to a particular collection based on requests for those electronic content items being received in close temporal proximity to one another (e.g., within five minutes or other threshold) and/or based on the electronic content item(s) sharing one or more corresponding candidate purpose(s).
[0044] Candidate purposes engine 124, of cloud-based system 118, can access collections database 122 to determine, for each of a plurality of collections, candidate purpose(s) for each electronic content item of the collection. In determining candidate purpose(s) for an electronic content item, the candidate purposes engine 124 can utilize candidate purposes database 126 and/or other resource. For example, the candidate purposes database 126 can store associations of publicly accessible documents to corresponding candidate purposes, optionally with corresponding probability measures (or other measures) for the corresponding candidate purposes. Accordingly, where the electronic content item is a publicly accessible document, or is derived from a publicly accessible document (e.g., an image from the document, a snippet of text from the document), the candidate purposes engine 128 can utilize the candidate purposes database 126 to determine candidate purpose(s) that are assigned to that publicly accessible document—and assign such candidate purpose(s) as the candidate purposes for the electronic content item.
[0045] As another example, the candidate purposes database 126 can additionally or alternatively store associations of object classification(s), term(s), and/or other content to corresponding purpose(s), optionally with corresponding probability measures (or other measures) for the corresponding candidate purposes. For example, a “dress” object classification and/or the term “dress” can be assigned to candidate purposes such as “wedding”, “prom”, “Kentucky Derby”, “Fundraiser”, etc. The candidate purpose(s) engine 124 can process an electronic content item can be processed to determine object classification(s) and/or term(s) included in the electronic content item. Further, the candidate purpose(s) engine 124 can access candidate purposes database 126 to determine candidate purpose(s) assigned to those object classification(s) and/or term(s)—and assign such candidate purpose(s) as the candidate purposes for the electronic content item. For instance, if the electronic content item is an image, the candidate purposes engine 124 can process the image, using one or more machine learning models, to determine classification(s) of object(s) included in the image. Further, the candidate purposes engine 124 can access candidate purposes database 126 to determine candidate purpose(s) assigned to the classification(s) (and optionally corresponding measure(s)), and assign such candidate purpose(s) (and optionally corresponding measure(s)) to the image.
[0046] The collection purpose(s) engine 128 determines actual purpose(s) for collections. In determining an actual purpose for a user-assembled collection of electronic content items, the collection purpose(s) engine 128 can consider the corresponding candidate purpose(s) (and optionally corresponding measures) for each of the electronic content items of the collection, as determined by candidate purposes engine 124. For example, assume a collection that consists of three separate electronic content items. The first electronic content item of the collection can have candidate purposes of A, B, and C, with corresponding probability measures of 0.5, 0.4, and 0.1. The second electronic content item of the collection can have candidate purposes of A, B, D, and E with corresponding probability measures of 0.3, 0.25, 0.25, and 0.2. The third electronic content item of the collection can have candidate purposes of A and C, with corresponding probability measures of 0.5 and 0.5. In such an example, collection purpose(s) engine 128 can determine candidate purpose A to be an actual purpose for the collection. This can be based on, for example, candidate purpose A being a corresponding purpose for each of the electronic content items of the collection and/or based on its corresponding probability measure for each of the electronic content items.
[0047] The additional content engine 132 selects, for a given user account, additional content item(s) based on actual purpose(s) determined (by collection purpose(s) engine 128) for collection(s) of the user account. For example, the additional content engine 132 can select, form a corpus 134 of available electronic content items, an additional electronic content item based on a determined actual purpose of a collection being assigned to the additional electronic content item (optionally with a threshold probability measure or other measure) in an electronic database (e.g., candidate purposes database 126). The additional electronic content item can be, for example, a webpage, an audio file, an image, a video, and/or other content item. The corpus 134 can include, for example, various publicly accessible documents. Optionally, in selecting additional electronic content item(s) for a user account, additional content engine 132 filters various additional electronic content items from the selection based on those lacking any assignment to determined actual purpose(s) of collection(s) of the user account, and/or lacking at least a threshold measure for an assignment to the actual purpose(s). Additional content engine 132 can optionally utilize one or more other factors in selecting additional electronic content items, such as overall popularity of the additional electronic content items, a collaborative filtering relationship of the additional electronic content items to electronic content item(s) of the collection(s), and/or other factor(s).
[0048] The suggestion engine 136 generates suggestions based on additional content items selected by the additional content engine 132. Further, the suggestion engine 136 can transmit the suggestions to the client device 110 to cause them to be rendered via one or more of the application(s) 114 of the client device 110. In some implementations or situations, the suggestion engine 136 pushes the suggestion proactively to the client device 110. This pushing can optionally be responsive to an access, via the client device 110, of a corresponding collection and/or responsive to other parameter-free inputs at the client device 110. A suggestion generated by the suggestion engine 136 can include all or portions of (e.g., a snippet of) the additional content item. Optionally, a suggestion generated by the suggestion engine 136 can include selectable element(s). For example, the suggestion can include a selectable element that, when selected, causes the additional electronic content item to be rendered (in its entirety) at the client device 110. As another example, the suggestion can additionally or alternatively include a selectable element that, when selected, causes the additional electronic content item to be added to the collection with which the suggestion is associated (i.e., the collection with the determined actual purpose based on which the suggestion was generated). In some implementations, the suggestion engine 136 includes, as part of the suggestion, a descriptor that indicates the suggestion is being rendered based on relation of the suggestion to a corresponding determined actual purpose of a collection. In some of those implementations, the descriptor, or a related descriptor element, can be selectable to enable the user to confirm the determined actual purpose of the collection and/or to define an alternate actual purpose.
[0049] As described herein, in some implementation or situations, the collection purpose(s) engine 128 determines multiple potential actual purposes for a collection. The determined potential actual purposes can optionally still be a subset of all candidate purposes for the electronic content items of the collection. In some of those implementations or situations, additional content engine 132 selects, for each of the potential purposes, a content item that is assigned to that potential purpose without being assigned to any other of the potential purposes (or being assigned with a measure that fails to satisfy a threshold). Further, the suggestion engine 128 generates a corresponding suggestion for each of the content items, and causes all of the suggestions to be rendered at the client device 110 (optionally simultaneously). Further, suggestion engine 136 and/or other engine can monitor user interface input(s) directed to the presented suggestions, and use the user interface input(s) to resolve a single actual purpose for the collection. This resolved single actual purpose can be conveyed to collections engine 120 to enable explicitly assigning (e.g., in a title and/or in other metadata) that actual purpose to the collection in the collections database 122. Additionally or alternatively, the resolved single actual purpose can be conveyed to the collection purpose(s) engine 128 and/or additional content engine 132 so that actual purpose is thereafter utilized for the collection in determining additional electronic content items. As one example, an affirmative user interface input directed to a given suggestion can be used to determine its corresponding potential actual purpose is an actual purpose for the collection and/or a negative user interface input directed to a given suggestion can be used to determine its corresponding potential actual purpose is not an actual purpose.
[0050] Additional system(s) 140 are also illustrated in
[0051] Turning now to
[0052] The candidate purposes engine 124 can access collections database 122 to determine, for the collection, candidate purpose(s) for each electronic content item of the collection 203. In determining the candidate purpose(s) for the electronic content items of the collection, the candidate purposes engine 124 can utilize candidate purposes database 126 and/or other resource(s).
[0053] The collection purpose(s) engine 128 analyzes the candidate purposes for the collection 203, to determine one or more actual purposes for the collection 205. For example, the collection purpose(s) engine 128 can determine a single actual purpose, or multiple potential actual purposes. The actual purpose(s) for the collection 205 can be provided to additional content engine 132 and/or to additional system(s) 140.
[0054] The additional content engine 132 selects, from corpus and based on the actual purpose(s) for the collection 205, one or more additional content items 207. For example, the additional content engine 132 can select an additional content item based on at least one of the actual purpose(s) being assigned to the additional content item.
[0055] The additional content item(s) 207 are provided to the suggestion engine 136, which generates suggestion(s) 209 based on the additional content item(s) 207. The suggestion(s) 209 are transmitted to the client device 110 for graphical and/or audible rendering by the client device 110. In some implementations, user interaction(s) with the suggestion(s) 209 can be transmitted to the collections engine 120. For example, the user interaction(s) can include user interface input(s) to add the additional content item of a suggestion to the collection, which can be transmitted to the collections engine 120 to add the additional content item to the collection in the collections database 122. Also, for example, the suggestion(s) can include a first suggestion tailored to a first potential actual purpose and a second suggestion tailored to a second potential actual purpose, and the interaction(s) can be user interface input(s) that affirm the first suggestion and/or dismiss the second suggestion. Such interaction(s) can be conveyed to the collection purpose(s) engine 128 to enable the collection purpose(s) engine 128 to correspondingly adjust the potential actual purposes for the collection.
[0056] FIG. 2A1 illustrates an example of a user-assembled collection 250A that includes electronic content items 251, 252, 253, and 254. For example, electronic content items 251-254 can be added to the collection 250A through corresponding instances of user interface input provided at the client device 110 (
[0057] Electronic content item 251 is an image of a dress and has determined candidate purposes of wedding 251A, prom 251B, Kentucky Derby 251C, and fundraiser 251D. Further, the candidate purposes 251A-D have corresponding probability measures indicated by parentheticals (i.e., wedding 252A has a probability measure of 0.4 for electronic content item 252). Electronic content item 252 is a webpage focused on center piece ideas and has determined candidate purposes of wedding 252A, prom 252B, baby shower 252C, and fundraiser 252D. Further, the candidate purposes 252A-D have corresponding probability measures indicated by parentheticals (i.e., wedding 252A has a probability measure of 0.5 for electronic content item 252). Electronic content item 253 is an image of a floral arrangement and has determined candidate purposes of wedding 253A, prom 253B, funeral 253C, anniversary 253D, and mother's day 253E. Further, the candidate purposes 253A-E have corresponding probability measures indicated by parentheticals (i.e., wedding 253A has a probability measure of 0.2 for electronic content item 253). Electronic content item 254 is a webpage focused on cakes created by Jane Doe and has determined candidate purposes of wedding 254A, birthday 254B, and baby shower 254C. Further, the candidate purposes 254A-C have corresponding probability measures indicated by parentheticals (i.e., wedding 254A has a probability measure of 0.6 for electronic content item 254). The candidate purposes illustrated in FIG. 2A1 can be determined by candidate purposes engine 124, optionally utilizing candidate purposes database 126 and/or other resource(s).
[0058] Also illustrated in FIG. 2A1 is a determined actual purpose of wedding 260A that has been determined for the collection 250A. For example, the actual purpose of wedding 260A can be determined (e.g., by collection purpose(s) engine 128) based on wedding being a candidate purpose for each of the electronic content items 251-254 (as indicated by candidate purposes 251A, 252A, 253A, and 254A). Also, for example, the actual purpose of wedding 260A can additionally or alternatively be determined based on an average or cumulative measure of the probabilities for wedding being greater than the average or cumulative measure of the probabilities for any other candidate purposes. For example, in FIG. 2A1 the average probability measure for wedding is 0.425 and the cumulative measure for wedding is 1.7, both of which are greater than the average or cumulative measure of the probabilities for any other candidate purposes in FIG. 2A1.
[0059] FIG. 2A2 illustrates an example of rendering suggestions 271A1 and 271A2 for additional content items selected based on assignment of the determined actual purpose wedding 260A, of FIG. 2A1, to the additional content items. In FIG. 2A2, client device 110 is illustrated displaying a graphical interface that is rendering, in saved items portion 281, indications of the content items 251-254 that are part of the collection 250A. The indications of the content items 251-254 are rendered under the heading “Saved Items” to indicate that those are already part of the collection 250A, and the super-heading “Your New Collection” indicates to the user that the graphical interface relates the user's new (and yet unnamed) collection 250A.
[0060] The suggestions 271A1 and 271A2 are rendered in suggestions portion 282A. Suggestion 271A1 is for a corresponding webpage that is directed to local wedding venues, and that can be selected (e.g., by additional content engine 132) based on an assignment of the determined actual wedding purpose (of collection 250A) to that webpage. Suggestion 271A2 is for another corresponding webpage that is directed to gifts for a bridal party (e.g., bridesmaids and/or groomsmen), and that can be selected based on an assignment of the determined actual wedding purpose to that webpage.
[0061] Suggestion 271A1 can be interacted with (e.g., tapped) to cause the client device 110 to navigate to a corresponding content item and/or can be interacted with (e.g., drag-and-drop into saved portion 281A) to add the suggestion 271A1 to the collection 250A. Suggestion 271A2 can also be interacted with in a similar manner. The suggestions 271A1 and 271A2 are rendered under the heading “Suggestions—based on inferred “wedding” purpose” to indicate that those suggestions are being rendered based on the inferred actual purpose of “wedding” 260A for the collection 250A. Further, a selectable “confirm” option is provided that, when selected, can optionally automatically alter the title of the collection 250A (e.g., to include the term “wedding”) and/or to increase a quantity and/or frequency of further suggestions related to the wedding purpose. Yet further, a selectable “alter” option is provided that, when selected, can optionally present other candidate purpose(s) of FIG. 2A1 (e.g., “prom”) to enable the user to select one of the presented other candidate purpose(s) to change the actual purpose of the collection 250A to the selected other candidate purpose. This can result in further suggestions being directed to the alternate selected other candidate purpose and/or automatically altering the tile of the collection 250A based on the selected other candidate purpose.
[0062] FIG. 2B1 is an alternate to FIG. 2A1 and illustrates another example of a user-assembled collection 250B that includes the electronic content items 251, 252, and 253 of collection 250A (FIG. 2A1). However, collection 250B includes electronic content item 255 instead of electronic content item 254. Electronic content item 255 is webpage directed to ticket design and has determined candidate purposes of prom 255B with a probability measure of 0.6 and fundraiser 255B with a probability measure of 0.4.
[0063] Also illustrated in FIG. 2B1 is a determined actual purpose of prom 260B that has been determined for the collection 250B, and that is notably different from the actual purpose of wedding 260A determined for the collection 250A of FIG. 2A1. For example, the actual purpose of prom 260B can be determined (e.g., by collection purpose(s) engine 128) based on prom being a candidate purpose for each of the electronic content items 251, 252, 253, and 255 (as indicated by candidate purposes 251B, 252B, 253B, and 255A). Also, for example, the actual purpose of prom 260B can additionally or alternatively be determined based on an average or cumulative measure of the probabilities for prom being greater than the average or cumulative measure of the probabilities for any other candidate purposes. For example, in FIG. 2B1 the average probability measure for prom is 0.3875 and the cumulative measure for wedding is 1.55, both of which are greater than the average or cumulative measure of the probabilities for any other candidate purposes in FIG. 2B1.
[0064] FIG. 2B2 illustrates an example of rendering a suggestion 271B for an additional content item selected based on assignment of the determined actual purpose prom 260B, of FIG. 2B1, to the additional content item. In FIG. 2B2, client device 110 is illustrated displaying the suggestion 271B as a “card” that can be rendered as an operating system notification, or in another interface. Suggestion 271B can alternatively be rendered in an interface similar to that of FIG. 2A2, but the interface of FIG. 2B2 is illustrated as another example of rendering suggestion(s).
[0065] The suggestion 271B is for a corresponding webpage that is directed to a suggested prom song playlist and that can be selected (e.g., by additional content engine 132) based on an assignment of the determined actual prom purpose (of collection 250B) to that webpage. Suggestion 271B can be interacted with (e.g., tapped) to cause the client device 110 to navigate to a corresponding content item and/or can be interacted with (e.g., long-tap to present a menu) to add the suggestion 271B to the collection 250B. The suggestion 271B is rendered with the text “selected based on inferred ‘prom planning’ purpose of your new collection” to indicate that suggestion 271B is being rendered based on the inferred actual purpose of prom 260B for the collection 250B.
[0066] FIG. 2C1 is an alternate to FIGS. 2A1 and 2B1 and illustrates another example of a user-assembled collection 250C that includes the electronic content items 251, 252, and 253 of collections 250A (FIG. 2A1) and 250B (FIG. 2A2), but does not include the electronic content item 254 of collection 250A or the electronic content item 255 of collection 250B.
[0067] Also illustrated in FIG. 2C1 are the determined potential actual purposes of wedding 260C1 and prom 260C2 that have been determined for the collection 250C. For example, the two potential actual purposes can be determined (e.g., by collection purpose(s) engine 128) based on prom and wedding each being a candidate purpose for each of the electronic content items 251, 252, 253. Also, for example, the two potential actual purposes of prom and wedding can additionally or alternatively be determined based on average or cumulative measures of those purposes being within a threshold of one another and/or satisfying another threshold. For example, in FIG. 2C1 the cumulative measure for prom is 0.95 and the cumulative measure of wedding is 1.1, and both can be selected based on those cumulative measures being within a threshold of one another and/or being statistically meaningfully greater than measures for other candidate purposes.
[0068] FIG. 2C2 illustrates an example of rendering a suggestion 271C1 for an additional content item selected based on having an assignment to the determined potential actual purpose of wedding 260C1, but not having an assignment (or having an assignment with less than a threshold measure) to the determined potential actual purpose of prom 260C2. Further, in FIG. 2C2, a suggestion 271C2 is rendered for another additional content item selected based on having an assignment to the determined potential actual purpose of prom 260C2, but not having an assignment (or having an assignment with less than a threshold measure) to the determined potential actual purpose of wedding 260C1. As described herein, an affirmative interaction with one of the two suggestions can optionally be utilized to determine its corresponding potential actual purpose is the actual purpose of the collection 250C. That actual purpose can then optionally be used (to the exclusion of the other potential actual purpose) in determining further suggestions, in titling the collection 250C, and/or for other purpose(s). For example, an affirmative interaction with suggestion 271C1 can include interacting with suggestion 271C1 to view the corresponding webpage, or dragging-and-dropping the suggestion 271C1 into the suggestion portion 281C of the graphical interface. Additionally or alternatively, a negative interaction with one of the two suggestions can optionally be utilized to determine its corresponding potential actual purpose is not the actual purpose (and/or that the other potential actual purpose is the actual purpose). For example, a negative interaction with suggestion 271C1 can include swiping away or otherwise dismissing the suggestion 271C1.
[0069] Referring now to
[0070] At block 352, the system identifies electronic content items based on their assignment to a collection. In some implementations, an electronic content item of the collection can be added to the collection responsive to one or more user interface inputs that explicitly request the electronic content item be added to the collection.
[0071] At block 354, the system selects an electronic content item of the collection.
[0072] At block 356, the system determines candidate purpose(s) for the electronic content item, and optionally corresponding weight(s) for the candidate purpose(s).
[0073] At block 358, the system determines whether there is another unprocessed electronic content item in the collection. If so, the system performs blocks 354 and 356 for the unprocessed electronic content item. If not, the system proceeds to block 360.
[0074] At block 360, the system determines actual purpose(s), for the collection, based on comparing the candidate purposes for all electronic content items of the collection, and optionally based on their weight(s). For example, the system can select an actual purpose based on it being a corresponding purpose for each of the electronic content items of the collection and/or based on measures for the actual purpose satisfying one or more thresholds.
[0075] At block 362, the system selects additional electronic content item(s) (i.e., in addition to those included in the collection) based on an actual purpose (of the actual purpose(s) determined at block 360) being assigned to the additional electronic content item(s). In some implementations, in selecting the additional electronic content item, the system filters out various additional electronic content items based on those lacking any assignment to the actual purpose(s) for the collection and/or lacking at least a threshold measure for an assignment to the actual purpose(s).
[0076] At block 364, the system causes suggestion(s), for the additional electronic content items selected at block 362, to be rendered at a client device of a user account associated with the collection. The suggestion can include all or portions of (e.g., a snippet of) the additional content item. Optionally, the suggestion is selectable to cause the additional electronic content item to be rendered (in its entirety) at the client device and/or to cause the additional electronic content item to be added to the collection.
[0077]
[0078] User interface input devices 422 may include a keyboard, pointing devices such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a touchscreen incorporated into the display, audio input devices such as voice recognition systems, microphones, and/or other types of input devices. In general, use of the term “input device” is intended to include all possible types of devices and ways to input information into computer system 410 or onto a communication network.
[0079] User interface output devices 420 may include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices. The display subsystem may include a cathode ray tube (CRT), a flat-panel device such as a liquid crystal display (LCD), a projection device, or some other mechanism for creating a visible image. The display subsystem may also provide non-visual display such as via audio output devices. In general, use of the term “output device” is intended to include all possible types of devices and ways to output information from computer system 410 to the user or to another machine or computer system.
[0080] Storage subsystem 424 stores programming and data constructs that provide the functionality of some or all of the modules described herein. For example, the storage subsystem 424 may include the logic to perform selected aspects of methods described herein.
[0081] These software modules are generally executed by processor 414 alone or in combination with other processors. Memory 425 used in the storage subsystem can include a number of memories including a main random access memory (RAM) 440 for storage of instructions and data during program execution and a read only memory (ROM) 442 in which fixed instructions are stored. A file storage subsystem 424 can provide persistent storage for program and data files, and may include a hard disk drive, a floppy disk drive along with associated removable media, a CD-ROM drive, an optical drive, or removable media cartridges. The modules implementing the functionality of certain implementations may be stored by file storage subsystem 424 in the storage subsystem 424, or in other machines accessible by the processor(s) 414.
[0082] Bus subsystem 412 provides a mechanism for letting the various components and subsystems of computer system 410 communicate with each other as intended. Although bus subsystem 412 is shown schematically as a single bus, alternative implementations of the bus subsystem may use multiple busses.
[0083] Computer system 410 can be of varying types including a workstation, server, computing cluster, blade server, server farm, or any other data processing system or computing device. Due to the ever-changing nature of computers and networks, the description of computer system 410 depicted in
[0084] In situations in which the systems described herein collect personal information about users, or may make use of personal information, the users may be provided with an opportunity to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current geographic location), or to control whether and/or how to receive content from the content server that may be more relevant to the user. Also, certain data may be treated in one or more ways before it is stored or used, so that personal identifiable information is removed. For example, a user's identity may be treated so that no personal identifiable information can be determined for the user, or a user's geographic location may be generalized where geographic location information is obtained (such as to a city, ZIP code, or state level), so that a particular geographic location of a user cannot be determined. Thus, the user may have control over how information is collected about the user and/or used.
[0085] In some implementations, a method is provided that includes identifying electronic content items based on the electronic content items having each been assigned to a particular collection of a user account. Each of the electronic content items was assigned to the particular collection responsive to a corresponding instance of one or more user interface inputs provided by a user of the user account. The method further includes determining, for each of the electronic content items, corresponding candidate purposes for the electronic content item. Each of the corresponding candidate purposes for each of the electronic content items defines one or more global actions to which the electronic content item can relate. The method further includes comparing the corresponding candidate purposes, for all of the electronic content items of the particular collection, to determine that a particular candidate purpose, of the corresponding candidate purposes, is an actual purpose for the particular collection. The method further includes selecting a given additional electronic content item from a corpus of additional content items. Selecting the given additional electronic content item is based on the actual purpose, for the particular collection, being assigned to the given additional electronic content item in an electronic database. The method further includes, responsive to selecting the given additional content item, causing a suggestion, for the given additional electronic content item, to be rendered at a client device associated with the user account. The suggestion is selectable to cause the given additional electronic content item to be rendered at the client device and/or to add the additional electronic content item to the particular collection.
[0086] These and other implementations of the technology disclosed herein can optionally include one or more of the following features.
[0087] In some implementations, comparing the corresponding candidate purposes, for all of the electronic content items of the particular collection, to determine that the particular candidate purpose is the actual purpose for the particular collection includes determining that the particular candidate purpose is the actual purpose based on the particular candidate purpose being determined to be one of the corresponding candidate purposes for each of the electronic content items of the particular collection. In some versions of those implementations, the method further includes determining, for each of the electronic content items, a corresponding measure for each of the corresponding candidate purposes for the electronic content item. In some of those versions, each of the corresponding measures indicates a rank of a corresponding one of the candidate purposes, relative to other of the corresponding candidate purposes, for the electronic content item. Further, in some of those versions, determining that the particular purpose is the actual purpose is further based on the corresponding measures determined for the particular candidate purpose for each of the electronic content items of the particular collection. Yet further, in some of those versions, the method further includes: identifying one or more precursor actions that are temporally related to adding a particular electronic content item, of the electronic content items, to the particular collection; and determining the corresponding measures for the particular electronic content item based on correspondence between the one or more precursor actions and the corresponding candidate purposes for the particular electronic content item. The one or more precursor actions were performed prior to adding the particular electronic content item to the particular collection.
[0088] In some implementations, the method further includes determining, for each of the electronic content items of the particular collection, a corresponding measure for each of the corresponding candidate purposes for the electronic content item. Each of the corresponding measures indicates a rank of a corresponding one of the candidate purposes, relative to other of the corresponding candidate purposes, for the electronic content item. In those implementations, comparing the corresponding candidate purposes, for all of the electronic content items of the collection, to determine that the particular candidate purpose is the actual purpose for the particular collection includes: determining that the particular candidate purpose is the actual purpose based on the corresponding measures determined for the particular candidate purpose for each of the electronic content items. In some versions of those implementations, the method further includes identifying one or more precursor actions that are temporally related to adding a particular electronic content item, of the electronic content items, to the particular collection. In those versions, the one or more precursor actions were performed prior to adding the particular electronic content item to the particular collection, and determining the corresponding measures for the particular electronic content item is based on correspondence between the one or more precursor actions and the corresponding candidate purposes for the particular electronic content item.
[0089] In some implementations, selecting the given additional electronic content item from the corpus of additional content items is further based on a particular measure, for the actual purpose, that is assigned to the given additional electronic content item in the electronic database. The particular measure indicates a rank of the actual purpose for the electronic content item.
[0090] In some implementations, the method further includes, responsive to selecting the given additional electronic content item based on the particular purpose being assigned to the given additional content item: causing the suggestion to be rendered at the client device along with a descriptor of the particular purpose. The descriptor of the particular purpose indicates the suggestion is being rendered based on relation of the suggestion to the particular purpose and based on relation of the particular collection to the particular purpose. In some versions of those implementations, the method further includes causing the descriptor, or the related descriptor element, to be selectable at the client device. In some of those versions, selection of the selectable descriptor or related descriptor element causes a confidence measure, of the particular purpose for the particular collection, to be promoted. In some other versions of those implementations, selection of the selectable descriptor or the related descriptor element causes presentation of an interface that enables replacing the particular purpose with another one of the candidate purposes for the particular collection.
[0091] In some implementations, determining, for each of the electronic content items, the corresponding candidate purposes for the electronic content item includes determining the corresponding candidate purposes based on the corresponding candidate purposes being assigned to the electronic content item in the electronic database.
[0092] In some implementations, the particular collection lacks any user inputted descriptor that has a defined relationship to the particular purpose.
[0093] In some implementations, causing the suggestion to be rendered at the client device associated with the user account includes causing the suggestion to be rendered at the client device when the particular collection is being rendered at the client device.
[0094] In some implementations, a particular content item, of the content items of the particular collection, is an image. In some of those implementations, determining the corresponding candidate purposes for the image includes: processing the image, using one or more machine learning models, to predict one or more classifications of one or more objects captured in the image; and determining the corresponding candidate purposes for the image based on the corresponding candidate purposes each being mapped to one or more of the classifications.
[0095] In some implementations, a method is provided that includes identifying electronic content items based on the electronic content items having each been assigned to a particular collection of a user account. The method further includes determining, for each of the electronic content items, corresponding candidate purposes and corresponding measures for the electronic content item. Each of the corresponding candidate purposes for each of the electronic content items defines one or more global actions to which the electronic content item can relate. Each of the corresponding measures defines a corresponding strength of correlation, of one of the corresponding candidate purposes, to the electronic content item. The method further includes comparing the corresponding candidate purposes, for all of the electronic content items of the collection, to determine: a first purpose and a second purpose, of the corresponding candidate purposes. Determining the first purpose is based on a first quantity of occurrences, of the first purpose, amongst the corresponding candidate purposes of the electronic content items and/or is based on first magnitudes of the corresponding measures for the first purpose. Determining the second purpose is based on a second quantity of occurrences, of the second purpose amongst the corresponding candidate purposes of the electronic content items and/or is based on second magnitudes of the corresponding measures for the second purpose. The method further includes selecting a first additional electronic content item from a corpus of additional content items. Selecting the first additional electronic content item is based on an electronic database defining an association of the first purpose to the first additional electronic content item without defining an association of the second purpose to the first additional content item. The method further includes selecting a second additional electronic content item from a corpus of additional content items. Selecting the second additional electronic content item is based on an electronic database defining an association of the second purpose to the second additional electronic content item without defining an association of the first purpose to the first additional content item. The method further includes, responsive to selecting the first additional electronic content item and the second additional content item: causing a first suggestion, for the first additional content item, to be rendered at a client device associated with the user account, and causing a second suggestion, for the second additional content item, to be rendered at the client device. The method further includes selecting either the first purpose or the second purpose as an actual purpose, of the particular collection, based on one or more user interface inputs received responsive to the rendering of both the first suggestion and the second suggestion.
[0096] These and other implementations of the technology disclosed herein can optionally include one or more of the following features.
[0097] In some implementations, selecting either the first purpose or the second purpose as the actual purpose includes selecting the first purpose based on: an affirmative user interface input, of the one or more user interface inputs, that is directed to the first suggestion, and/or a negative user interface input, of the one or more user interface inputs, that is directed to the second suggestion. In some versions of those implementations, the method further includes, subsequent to selecting the first purpose selecting a further additional content item, from the corpus of additional content items, based on selecting the first purpose and based on the first purpose being assigned, in the electronic database, to the further additional content item. Further, those versions further include causing a further suggestion, related to the further additional content item, to be presented at the client device or an additional client device associated with the user account.
[0098] In some implementations, the particular collection lacks any user inputted descriptor that has a defined relationship to the particular purpose.
[0099] In some implementations, causing the first suggestion to be rendered and the second suggestion to be rendered includes causing the first suggestion and the second suggestion to be rendered simultaneously at the client device.
[0100] In some implementations, causing the first suggestion and the second suggestion to be rendered simultaneously at the client device includes causing the first suggestion and the second suggestion to be rendered at the client device when the particular collection is being rendered at the client device.