Generating and delivering content stacks using machine learning models
The content stack generation system addresses the inflexibility and inefficiency of existing digital content systems by using a machine learning model to generate a unified interface for accessing and interacting with content items, improving flexibility and reducing computing resource consumption.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- DROPBOX INC
- Filing Date
- 2024-02-27
- Publication Date
- 2026-06-30
AI Technical Summary
Existing digital content systems lack flexibility and efficiency, requiring multiple applications and excessive computing resources to access and interact with different types of content items, and provide inefficient user interfaces that require numerous navigation actions.
A content stack generation system using a machine learning model generates a stack-forming graph to analyze relationships between digital content items and user accounts, providing a unified interface to access and interact with content items from various locations without separate applications, and reduces navigation and computing resource consumption.
The system enhances flexibility and efficiency by condensing multiple applications into a single interface, reducing navigation operations and computing resources, while providing seamless access to relevant content items.
Smart Images

Figure 2026521300000001_ABST
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims the priority and benefit of U.S. Patent Application No. 18 / 344,041, filed on June 29, 2023, and U.S. Patent Provisional Application No. 63 / 505,970, filed on June 2, 2023. Each of the aforementioned applications is hereby incorporated by reference in its entirety.
Background Art
[0002] Advances in computing devices and network technologies have given rise to various innovations in the storage and access of cloud - based digital content. For example, online digital content systems can provide access to digital content items across devices worldwide. Existing systems can also synchronize changes to shared digital content across different types of devices operating on different platforms. In fact, modern online digital content systems can provide access to digital content for users to collaborate across diverse physical locations and across diverse computing devices. However, despite these advances, existing digital content systems continue to have many drawbacks, particularly in terms of flexibility and efficiency.
[0003] As mentioned earlier, some existing digital content systems lack flexibility. In particular, many existing systems are rigidly stuck in the traditional paradigm of providing access to content items using files and folders that can be navigated through interaction with the client device. For example, some existing systems provide access to stored content items through drill-down navigation within a folder hierarchy and / or through a search function to find the directory of the searched content item. To access other types of content items, such as websites or other web-based content items that are not stored on the client device (not stored in a separate folder directory on the user account's cloud server), existing systems often require the use of a completely separate application (e.g., separate from the folder / file management application). In fact, to provide access to web-based content items and stored content items, existing systems may require separate computer applications (e.g., a web browser application and a file management application) even to access content items on a common topic. Furthermore, if a user account communicates about one or more content items and / or edits (or interacts with) a content item, many existing systems require yet another separate application to facilitate such communication and editing (or other interaction).
[0004] Many existing digital content systems are also inefficient, at least in part, due to their lack of flexibility. More specifically, many existing systems consume excessive amounts of computing resources, such as processing power and memory, by running separate applications to access stored content items, access web-based content items, and communicate between client devices. In addition, some existing systems provide inefficient user interfaces that require numerous navigation actions performed via the client device to access desired content and / or functionality. For example, existing systems often require numerous drill-down operations to navigate folders to access content items. Nevertheless, even systems that facilitate faster access to content items through search still require numerous navigation actions across different interfaces and applications to access different types of content items, to communicate across (and between) client devices regarding content items, and / or to edit (or otherwise interact with) content items.
[0005] Therefore, existing digital content systems have several drawbacks. [Overview of the project]
[0006] Embodiments of this disclosure use a machine learning model to generate a content stack, a non-temporary computer-readable medium, and a method to solve and / or benefit from one or more of the aforementioned or other problems in the art. In some implementations, the disclosed system generates a stack-forming graph representing the relationships between digital content items in a content management system and user accounts. Using the stack-forming graph, in some embodiments, the disclosed system generates a content stack and proposes the content stack to the user account as a collection of content likely to be relevant to the user account (for example, for a particular task, meeting, project, etc.). For example, in some embodiments, the disclosed system generates an account-specific stack-forming graph based on signals indicating the relationships between user accounts and content items, and the relationships between content items themselves. In some implementations, the disclosed system determines the topic features of the content items and compares the topic features to topic prompts associated with the user account. Using comparison metrics, in some embodiments, the disclosed system selects a set of content items relevant to a task or workflow associated with the user account. The disclosed system optionally provides the user account with the set of content items in the content stack.
[0007] The following description illustrates additional features and benefits of the disclosed methods, non-temporary computer-readable media, and one or more embodiments of the system. In some cases, such features and benefits will be apparent to those skilled in the art who are interested in this disclosure, or can be learned by practicing the disclosed embodiments. [Brief explanation of the drawing]
[0008] A more detailed explanation will be provided below with reference to the attached drawings, with one or more embodiments being described in more specific and detail.
[0009] [Figure 1] Figure 1 shows an illustrative diagram of an environment in which a content stack generation system operates according to one or more embodiments.
[0010] [Figure 2] Figure 2 shows an illustrative diagram of a content stack generation system that generates a content stack according to one or more embodiments.
[0011] [Figure 3] Figure 3 shows an exemplary diagram of a content stack generation system that utilizes a large-scale language model to analyze a stack formation graph according to one or more embodiments.
[0012] [Figure 4] Figure 4 shows an illustrative diagram of a content stack generation system that adapts the content stack over time according to one or more embodiments.
[0013] [Figure 5] Figure 5 shows an exemplary content stack displayed via a graphical user interface according to one or more embodiments.
[0014] [Figure 6] Figure 6 shows a graphical user interface display of an exemplary content stack and exemplary user interaction options for the exemplary content stack, according to one or more embodiments.
[0015] [Figure 7] Figure 7 shows an illustrative diagram of a content stack generation system that modifies one or more content items in a content stack according to one or more embodiments.
[0016] [Figure 8] Figure 8 shows a flowchart of a series of operations for generating a content stack according to one or more embodiments.
[0017] [Figure 9] Figure 9 shows a block diagram of an exemplary computing device for implementing one or more embodiments of the present disclosure.
[0018] [Figure 10] Figure 10 shows a network environment for a content management system according to one or more embodiments. [Modes for carrying out the invention]
[0019] This disclosure describes one or more implementations of a content stack generation system that can determine a set of content items related to a user account and provide the set of content items to the user account as a content stack. In particular, in some implementations, the content stack generation system generates a stack formation graph representing the relationship between digital content items in a content management system and a user account. The content stack generation system can use the stack formation graph to generate a content stack and propose that content stack to the user account as a collection of content likely to be relevant to the specific needs of the user account. For example, in some embodiments, the content stack generation system generates an account-specific stack formation graph based on signals indicating the relationship between the content items of the user account and the mutual relationships of the content items. In some implementations, the content stack generation system determines the topic characteristics of the content items and compares those topic characteristics with topic prompts associated with the user account. Using a comparison metric, the content stack generation system can select a set of content items relevant to the tasks, projects, questions, meetings, workflows, or other needs of the user account.
[0020] In particular, a content stack generation system can provide a content stack containing content items that assist a user account in various activities such as prioritizing tasks, sharing projects, creating documents, retrieving answers and other content, summarizing communications, and orchestrating computing applications. For illustrative purposes, in some implementations, a content stack generation system ingests content items from various sources (e.g., file databases, email applications, calendars, messaging applications, the internet, etc.). The content stack generation system can extract content items into unary features and / or binary relations, embed these unary features and / or binary relations into a latent vector space, thereby generating feature vectors for the content items (e.g., topic features, as described below). The content stack generation system can determine the distances between feature vectors and group content items into topic clusters. Furthermore, the content stack generation system can determine the distance between feature vectors and the user account's current needs (e.g., topic prompts, as described below). Based on the distance of the topic clusters and / or the user account's needs for the content items, the content stack generation system can provide the user account with contextual recommendations for content (e.g., content stacks, as described below).
[0021] A content stack generation system can group content items into content stacks based on various properties of content items and user accounts, such as the title, URL, or content of a webpage, and / or the user account's navigation patterns regarding the webpage (e.g., past visits to the page, time spent on the page, whether the user account has navigated back and forth between pages, whether the user account is currently on the page, whether the user account arrived on the page from another related webpage, etc.). Furthermore, a content stack generation system can group content items based on the meeting description and / or the user account's relationships with other user accounts within the meeting. In some cases, a content stack generation system may group content items for a user account primarily based on the account data of other user accounts. For example, if a user account is a new user account, the content stack generation system may provide the user account with relevant content items based on the user account's relationships with other user accounts (e.g., the supervisor account and / or other accounts in the team), even though the new user account has not yet performed any account activities related to the content items.
[0022] The content stack generation system offers various technical advantages compared to existing digital content systems. For example, the content stack generation system can improve flexibility compared to conventional systems. In fact, some conventional systems are rigidly fixed to the hierarchical structure of conventional folders and files for accessing content items, while the content stack generation system utilizes a stack formation graph and a large language model to adaptively access and provide content items from a wide range of locations, including locally stored content items and content items hosted on a server (e.g., content items stored on a website or in the cloud). Even compared to existing systems that can access different types of content items such as websites and stored content items, the content stack generation system can enhance flexibility because it can provide access to content items from web locations and other server locations (by utilizing a large language model to analyze the stack formation graph) without requiring a completely separate application for accessing web-based content items than the application for accessing stored content items (stored locally or in the cloud). Further, when a user account communicates with one or more content items and / or edits a content item (or interacts with the content item in other ways), unlike many existing systems that require a separate application to facilitate such interaction, the content stack generation system directly integrates external applications such as a web browser, a chat application, and an email client within a common user interface to facilitate interaction with (or about) the content item.
[0023] Due at least partly to its improved flexibility, content stack generation systems can also be more efficient than existing digital content systems. For example, in contrast to traditional systems that consume excessive amounts of computing resources (such as processing power, storage capacity, and memory) by running separate applications to access stored content items, access web-based content items, and communicate between client devices, content stack generation systems can condense many functions into a single application and a single interface. For instance, a content stack generation system can directly embed multiple external applications within a single user interface, thereby reducing the navigation load of traditional systems that require many navigation actions across different interfaces and applications. Furthermore, a content stack generation system reduces the number of drill-down operations required to access content items by providing a content stack for direct access to the relevant content items (e.g., using a single click or a single text query). As a result, content stack generation systems not only improve navigation efficiency but also improve computational efficiency by reducing the computing resources required to run many different applications at once.
[0024] Furthermore, a content stack generation system can improve the efficiency of computer storage usage. In particular, a content stack generation system can provide a content stack as a set of links to content items, enabling users to interact with content items within a content stack as if they were stored together, even when actual content items may be stored in various locations within a content management system (e.g., various different folders). Because a content stack generation system provides content stacks as a set of links, it can provide a seamless user experience, while reducing or minimizing the computer storage required for content items, as only a single copy of a particular content item needs to be stored in order for the content stack generation system to include links to that particular content item in multiple different content stacks (as opposed to creating multiple different copies of the same content item to store in multiple different folders).
[0025] As demonstrated by the preceding discussion, this disclosure utilizes various terms to describe the features and benefits of the content stack generation system. Further details regarding the meaning of these terms as used in this disclosure are provided below. For example, as used herein, the term “digital content item” (or “content item”) means a digital object or digital file containing information that can be interpreted by a computing device (e.g., a client device) to present information to a user. A content item may include files or folders such as digital text files, digital image files, digital audio files, web pages, websites, digital video files, web files, links, hyperlinked video files streamable from web pages, calendar events, contact cards, text message threads, direct message threads, chat group threads, social media feeds, social media posts, news articles, headlines, technical support tickets, digital document files, or any other type of file or digital object. A content item may have specific file types or file formats that may differ for different types of content items (e.g., digital documents, digital images, digital video, or digital audio files). In some cases, a content item may refer to a remotely stored (e.g., cloud-based) item or link (e.g., a link or reference to a cloud-based or web-based content item). A content item may include content clips that represent, link to, and / or reference individual selections or segmented sub-parts of content from a larger content item. For example, a content item could be a clipped portion of a web page, an audio recording transcript, a video conference recording transcript, or another content item or source.Content items are editable or modifiable and can be shared from one user account (or client device) to another. In some cases, content items can be modified simultaneously and / or at different times by multiple user accounts (or client devices). Furthermore, content items can contain metadata associated with other content items.
[0026] As a subset of content items, “web content items” or “web-based content items” refer to content items accessible over the internet, such as web pages, websites, or cloud-based content items that are not accessed locally. For example, web content items can refer to internet-based content items, such as content items identified by or located at a URL address. Web content items may include content items coded or defined by HTML, JavaScript, or another internet language. In some cases, web content items may include content items accessible via a web browser through the HTTP(S) protocol (or any other internet protocol).
[0027] As used herein, the term “machine learning model” refers to a computer representation that is tunable (e.g., trained) based on an input to approximate an unknown feature used to produce a corresponding output. In particular, a machine learning model may include computer implementations that utilize algorithms for predicting known data by learning from known data and analyzing known data to produce an output that reflects patterns and attributes of the known data. For example, a machine learning model may include, but is not limited to, neural networks (e.g., convolutional neural networks, iterative neural networks, or other deep learning networks), decision trees (e.g., gradient-boosted decision trees), association rule learning, inductive logic programming, support vector learning, Bayesian networks, regression-based models (e.g., censored regression), principal component analysis, or combinations thereof. In some embodiments, a content stack generation system utilizes a large-scale language machine learning model in the form of a neural network.
[0028] Similarly, as used herein, the term “neural network” refers to a machine learning model that can be trained and / or tuned based on inputs to determine classification and / or scores, or to approximate an unknown function. For example, a neural network can include a model of interconnected artificial neurons (e.g., arranged in layers) that communicate and learn to approximate a complex function and produce an output based on the inputs provided to the neural network. In some cases, a neural network refers to an algorithm (or set of algorithms) that implements deep learning techniques for modeling high-level abstractions in data. A neural network can include various layers, such as an input layer, one or more hidden layers, and an output layer, each performing a task for processing the data. For example, a neural network can include a deep neural network, a convolutional neural network, a recurrent neural network (e.g., LSTM), a graph neural network, or a generative adversarial neural network. Depending on the training, a neural network can be a large-scale language model.
[0029] In relation to this, as used herein, the term “large-scale language model” refers to a machine learning model trained to perform the task of generating or identifying content items in response to trigger events (e.g., user interactions such as text queries and button selections). In particular, a large-scale language model may be a neural network (e.g., a deep neural network) with many parameters trained on large amounts of data (e.g., unlabeled text) using a specific learning technique (e.g., self-supervised learning). For example, a large-scale language model may include parameters trained to generate or identify content items based on various contextual data, including graph information from stack-forming graphs and / or historical user account behavior.
[0030] Here, additional details regarding the content stack generation system are provided with reference to the drawings. For example, Figure 1 shows a schematic diagram of an exemplary system environment for implementing the content stack generation system 102 in one or more implementation forms. An overview of the content stack generation system 102 is described in relation to Figure 1. Subsequently, a more detailed description of the components and processes of the content stack generation system 102 is provided in relation to the following figures.
[0031] As shown in the figure, the environment includes a server device 106, a client device 108, a database 114, a third-party system 116, and a network 112. Each component of the environment can communicate via the network 112, which can be any suitable network on which computing devices can communicate. An exemplary network is described in more detail below in relation to Figures 9-10.
[0032] As described above, the exemplary environment includes a client device 108. The client device 108 may be one of a variety of computing devices, including a smartphone, tablet, smart TV, desktop computer, laptop computer, virtual reality device, augmented reality device, or another computing device as described in relation to Figures 9-10. The client device 108 can communicate with the server device 106, a third-party system 116, and / or a database 114 via the network 112. For example, the client device 108 can receive user input from a user interacting with it (e.g., via a client application 110) to, for example, access, generate, modify, and / or share one or more content items, collaborate with co-users on different client devices, or select user interface elements. Furthermore, the content stack generation system 102 on the server device 106 can receive information about various interactions with content items and / or user interface elements based on the input received by the client device 108 (e.g., to access content items, interact with content blocks, or perform some other action).
[0033] As shown in the figure, the client device 108 may include a client application 110. In particular, the client application 110 may be a web application, a native application installed on the client device 108 (e.g., a mobile application, a desktop application, etc.), or a cloud-based application in which all or part of the functionality is performed by the server device 106. Based on instructions from the client application 110, the client device 108 may present or display information, including an interface for presenting content items (e.g., via an embedded application), from the content management system 104 or other network location.
[0034] As shown in Figure 1, the exemplary environment also includes a server device 106. The server device 106 can generate, track, store, process, receive, and / or transmit electronic data such as digital content items, interface elements, interactions with digital content items, interactions with interface elements, and / or interactions between user accounts or client devices. For example, the server device 106 may receive data from the client device 108 in the form of topic prompts in order to perform a specific task or to generate or retrieve a specific content item. Furthermore, the server device 106 can send data to the client device 108 in the form of an interface containing content items related to performing the requested task. In fact, the server device 106 can communicate with the client device 108 to send and / or receive data over the network 112. In some implementations, the server device 106 includes a distributed server, which includes several server devices distributed across the network 112 and located in different physical locations. The server device 106 may include one or more content servers, application servers, communication servers, web hosting servers, machine learning servers, and other types of servers.
[0035] As shown in Figure 1, the server device 106 may also include a content stack generation system 102 as part of the content management system 104. The content management system 104 can communicate with the client device 108 to perform various functions related to the client application 110, such as managing user accounts, managing content collections, managing content items, and facilitating user interaction with content collections and / or content items. In fact, the content management system 104 may include a network-based smartphone cloud storage system for managing, storing, and maintaining content items and associated data across a large number of user accounts, including user accounts that collaborate with each other. In some embodiments, the content stack generation system 102 and / or the content management system 104 utilize a database 114 to store and access information such as digital content items.
[0036] As shown in Figure 1, the content stack generation system 102 may include a large-scale language model 118 and a stack formation graph 120. In particular, the content stack generation system 102 may utilize a large-scale language model 118 integrated with the content management system 104 and / or the stack formation graph 120 (for example, trained with data from the content management system 104 and / or the stack formation graph 120). For example, the stack formation graph 120 may store or encode relational information to define the relationships between user accounts in the content management system 104 (and / or other server locations) and content items. From the stack formation graph 120, the large-scale language model 118 may generate or identify content items to provide to the client device 108 in response to user interaction via the interface. For example, the large-scale language model 118 may generate a content stack for the user account most closely related to the topic prompt received from the client device 108, as determined via the stack formation graph 120.
[0037] Figure 1 further illustrates the third-party system 116. In particular, the third-party system 116 can host or accommodate the large language model 118 (for example, as an alternative to the server device 106 that hosts or accommodates the large language model 118) for access by the content stack generation system 102. For example, the third-party system 116 may include a server location that hosts the large language model 118, which is outside the content stack generation system 102. In some cases, the third-party system 116 is outside the content stack generation system 102, but the content stack generation system 102 can access and utilize the large language model 118 by analyzing the stack formation graph 120 on the server device 106 to generate or identify content items.
[0038] Figure 1 shows a content stack generation system 102 located on a server device 106, but in some implementations, the content stack generation system 102 may be implemented by one or more other components of the environment (for example, it may be located entirely or partially on one or more other components of the environment). For example, the content stack generation system 102 may be implemented by a client device 108 and / or a third-party device. For example, the client device 108 may download all or part of the content stack generation system 102 to be implemented independently of or together with the server device 106.
[0039] In some implementations, the environment may have different arrangements of its components, as well as different numbers or sets of components. For example, client device 108 can bypass network 112 and communicate directly with content stack generation system 102 on server device 106. As another example, the environment may include a database 114 located outside of server device 106 (e.g., communicating via network 112), or located on server device 106, third-party system 116, and / or client device 108.
[0040] As described, in some implementations, the content stack generation system 102 determines the relevant content items for a user account and generates a content stack containing the relevant content items. For example, Figure 2 shows a content stack generation system 102 that communicates with a user account and generates a content stack for the user account, according to one or more embodiments.
[0041] In particular, Figure 2 shows a content stack generation system 102 that identifies user account 202. In some embodiments, the content stack generation system 102 determines account profile data and / or account activity data for user account 202. For example, the content stack generation system 102 can identify recent activity data such as web browser history, file access, and communication with other user accounts (e.g., email, text messages, group chats) to determine user account 202's current interests, tasks, workflows, projects, and / or data needs. As will be described in more detail below, the content stack generation system 102 can use the account profile data and / or account activity data to determine data needs for user account 202 (for example, in the form of topic prompts).
[0042] As described above, in some implementations, the content stack generation system 102 generates and / or utilizes a stack formation graph to define the relationships between content items and user accounts. For example, in some embodiments, the content stack generation system 102 generates an account-specific stack formation graph 204 (specific to user account 202) which includes nodes and edges. To illustrate, the content stack generation system 102 identifies the body of a content item (for example, including all content items in the content management system 104, or including a subset of content items in the content management system 104 that are close to user account 202 in a larger stack formation graph) and a group of user accounts associated with user account 202. For each content item associated with user account 202, the content stack generation system 102 generates a node representing the content item. Furthermore, for each user account associated with user account 202, the content stack generation system 102 generates a node representing the user account.
[0043] To illustrate further, in some implementations, the content stack generation system 102 connects the nodes of the stack formation graph 204 with edges (e.g., connecting lines between two nodes) that each represent a relationship between two content items, two user accounts, or a content item and a user account. Typically, edges with short lengths indicate close relationships between nodes. For example, a short edge length between two nodes may indicate that two content items (represented by the nodes) are similar or otherwise related (e.g., created by the same user account, viewed by the same user account, and stored in a common folder). As another example, a short edge length between two nodes may indicate that two user accounts (represented by the nodes) communicate frequently with each other and / or are located in similar positions within the organizational ontology. In yet another example, a short edge length between two nodes may indicate that a content item (represented by one node) is likely to be created, modified, shared, accessed, and / or accessed by a user account (represented by the other node).
[0044] As described above, in some embodiments, the content stack generation system 102 utilizes a large-scale language model to analyze relationships defined in the stack formation graph. For example, the content stack generation system 102 utilizes a large-scale language model 206 to associate nodes in the stack formation graph 204 with topic features and to determine a subset of nodes in the stack formation graph 204 related to topic prompts. As will be further described below, the content stack generation system 102 can utilize the large-scale language model 206 to generate embedding representations of content items in a latent feature vector space representing various content topics. Furthermore, the content stack generation system 102 can utilize the large-scale language model 206 to group content items according to topic features to facilitate the suggestion of accurate content stacks based on topic prompts.
[0045] As also mentioned, in some implementations, the content stack generation system 102 accesses databases containing content items (e.g., database 114, data storage on server device 106, data storage on client device 108, etc.). For example, the content stack generation system 102 accesses database 208 to identify, retrieve, and / or store content items related to topic prompts corresponding to user account 202. In some embodiments, the content stack generation system 102 accesses multiple databases to identify, retrieve, and / or store content items. In some cases, the content stack generation system 102 generates new content items and adds those new content items to database 208. Furthermore, as described above, the content stack generation system 102 can access web-based content items via the Internet.
[0046] As discussed above and as will be discussed in more detail below, in some embodiments, the content stack generation system 102 generates one or more content stacks to be provided to the user account. For example, the content stack generation system 102 generates a content stack 210. As shown in Figure 2, the content stack 210 may include several content items of various content types, such as calendar items, digital documents, digital videos, digital images, web pages, and / or other content item types. For example, the content stack generation system 102 identifies nodes in the stack formation graph 204 that are closely related to topic prompts in the user account 202. For example, the content stack generation system 102 identifies topic prompts based on the user account 202's recent activity and / or user input from the user account 202, and locates a set of nodes in the stack formation graph 204 that have topic features close to the feature representation of the topic prompt. Once the set of nodes is identified, the content stack generation system 102 presents the set of content items corresponding to the set of nodes to the user account 202 in the form of a content stack 210.
[0047] To further illustrate, in some implementations, the content stack generation system 102 generates the content stack 210 by utilizing a large-scale language model 206 to determine the topic features of some (or all) of the content items represented by the stack formation graph 204, and identifying relevant content items that should be included in the content stack 210 based on the topic features. For example, the content stack generation system 102 utilizes the large-scale language model 206 to transform the content items into a feature space that indicates the topic of the content items (e.g., the subject to which the content items relate, based on their content). As described below, in some embodiments, the content stack generation system 102 identifies the topic prompts of the user account 202 (e.g., based on the current or recent activity of the user account). The content stack generation system 102 compares the topic features of the content items with the topic prompts of the user account 202 to determine the set of content items to include in the content stack 210.
[0048] As described above, in one or more embodiments, the content stack generation system 102 utilizes a large language model and / or a stack formation graph to generate or identify content items in order to provide a display to a user account. In particular, the content stack generation system 102 generates or identifies content items based on user interactions by analyzing the user interactions together with the stack formation graph (for example, via the large language model). Figure 3 illustrates how, in one or more embodiments, content items are generated or identified to provide a display in a content stack by utilizing a large language model and a stack formation graph.
[0049] As shown in Figure 3, in some implementations, the content stack generation system 102 generates and utilizes a stack formation graph 304 (e.g., a stack formation graph 204 or similar) for user account 302. In some embodiments, the content stack generation system 102 generates a user account-specific stack formation graph 304 for user account 302. The stack formation graph 304 defines relationships related to user account 302, including relationships with content items and relationships with other user accounts. In some embodiments, the content stack generation system 102 generates a system-wide stack formation graph, which includes nodes for user account 302 and also includes nodes for content items and other user accounts within the entire content management system 104 and / or for a specific organizational ontology (e.g., a company or team of collaborating user accounts). In fact, the content stack generation system 102 can generate multiple stack formation graphs, including those specific to user account 302 and those for the entire system (or entire team, entire organization, etc.).
[0050] As shown in the figure, the content stack generation system 102 uses nodes to represent user accounts and content items, and edges to represent relationships between nodes, to generate a stack formation graph 304 (for example, shorter distances represent stronger or closer relationships than longer distances). To generate the stack formation graph 304, the content stack generation system 102 monitors or detects user account behavior over time. For example, the content stack generation system 102 monitors user account access, sharing, commenting, editing, receiving, clipping (e.g., generating content items from other content items), and / or other user interactions over time to determine the frequency, relevance, and / or total number of user interactions between content items and / or other user accounts (user account 302, user accounts collaborating with user account 302, and / or similar user accounts). In some cases, the content stack generation system 102 further utilizes a large-scale language model 306 (e.g., large-scale language model 206 or another neural network) to determine topic features related to content items. In fact, in some implementations, the content stack generation system 102 uses one or more machine learning models (e.g., neural networks) to generate, modify, and maintain the stack formation graph 304 to predict or determine the relationships between content items and user accounts. For example, the content stack generation system 102 generates the stack formation graph 304 by using a machine learning model to embed content items into a latent vector space (e.g., representing the topical features of various content items).
[0051] In some implementations, the content stack generation system 102 generates a stack formation graph 304 as a three-dimensional stack formation graph. For example, the content stack generation system 102 generates the nodes and edges of the stack formation graph 304 as vectors in a three-dimensional space that can be visually represented in a graphical user interface. In one embodiment, the content stack generation system 102 utilizes higher dimensions to represent the stack formation graph 304. For example, the content stack generation system 102 can generate the nodes and edges of the stack formation graph 304 in an n-dimensional vector space.
[0052] In some implementations, the content stack generation system 102 generates a stack formation graph 304 based on content-based signals and account-based signals associated with content items and user accounts. For example, the content stack generation system 102 determines content-based signals from multiple content items associated with a user account 302 (e.g., all or some of the content items in the content management system 104). Content-based signals can indicate the configuration of multiple content items, such as relationships between content items. For example, the content stack generation system 102 determines that a particular content item has the same or related author accounts, editor accounts, and / or viewer accounts. In some cases, the content stack generation system 102 determines that a particular content item is in a similar location (e.g., in the same folder, associated with the same project, containing similar content). Furthermore, the content stack generation system 102 can identify content-based signals from the content within a content item, such as the title of the content item, the URL of the content item, links within the content item, text within the content item, and / or images within the content item. These types of content-based signals can indicate relationships between content items. The content stack generation system 102 uses these types of content-based signals to classify content items and generate nodes in the stack formation graph 304 that represent the content items, as well as edges between nodes that represent the relationships between content items.
[0053] Furthermore, in some embodiments, the content stack generation system 102 determines account-based signals for user account 302. These account-based signals may indicate content interaction data and account data associated with user account 302. For example, the content stack generation system 102 may determine one or more access patterns of user account 302 that have content items. For illustrative purposes, the content stack generation system 102 may determine that user account 302 has recently and / or frequently opened a particular content item. In addition, or alternatively, the content stack generation system 102 may determine that user account 302 has created, edited, shared, and / or viewed a particular content item. Furthermore, the content stack generation system 102 may track user account 302's navigation patterns through a directory of content items to determine potentially relevant content items for user account 302. Additionally, the content stack generation system 102 may determine which computing applications were used to access a particular content item. These types of content interaction data can indicate relationships between user account 302 and content items. As a result, based on the content interaction data, the content stack generation system 102 can construct a stack formation graph 304 that shows the relationships between the user account 302 and specific content items (for example, short edges between nodes indicating close relationships).
[0054] Furthermore, in some implementations, the content stack generation system 102 can determine account data associated with user account 302. For example, the content stack generation system 102 can identify the interaction patterns of user account 302 with other user accounts in the content management system 104. As an example, the content stack generation system 102 can determine that user account 302 frequently communicates and / or shares content items with certain other user accounts, reports directly to other user accounts, and / or is grouped into teams with certain other user accounts. In addition, the content stack generation system 102 can determine the similarity between user account 302 and other user accounts based on the account's demographic information, web browser history, similarity of navigation or access patterns with content items, and / or co-access proximity between accounts. These types of account data can indicate relationships between user account 302 and other user accounts. Therefore, based on the account data, the content stack generation system 102 can construct a stack formation graph 304 that shows these relationships between user account 302 and other user accounts (e.g., short edges between nodes indicating close relationships).
[0055] As shown in the figure, the stack formation graph 304 includes nodes and edges for content items and user accounts associated with user account 302. In some cases, the content stack generation system 102 generates larger nodes the more frequently user account 302 interacts with each content item and user account. In these and other cases, the content stack generation system 102 generates edges that have a length or distance indicating the closeness of the relationship between nodes. For example, the content stack generation system 102 generates edges between nodes to reflect the frequency and / or relevance of interactions with each content item (or topic) and user account. In some embodiments, the content stack generation system 102 generates edges that reflect the type of user interaction with content items and user accounts (e.g., editing indicates a closer relationship than sharing, and sharing indicates a closer relationship than access). In fact, the content stack generation system 102 can generate a stack formation graph 304 based on a combination of the number, relevance, frequency, and type of user interactions between user account 302 and other user accounts associated with that user account 302 (for example, those collaborating with user account 302 or collaborating within the same ontology as user account 302).
[0056] In relation to this, in some implementations, the content stack generation system 102 applies filtering logic to content-based signals indicating the composition of content items in the content management system 104. For example, the content stack generation system 102 analyzes content-based signals of a large number of content items (e.g., a large set of content items in the content management system 104) to determine that some of the large number of content items may be excluded from the stack formation 304 for user account 302 (i.e., account-specific stack formation). For example, the content stack generation system 102 uses predetermined filtering logic to filter out some of the content items from the construction of the stack formation graph 304. For illustrative purposes, the content stack generation system 102 may exclude content items that user account 302 has accessed in the past but not recently. The content stack generation system 102 may determine that these content items are no longer of interest to user account 302. As an additional example, user account 302 may have only visited the web page for a short time or received links only from accounts that are not relevant. Therefore, the content stack generation system 102 can provide a computationally efficient content stack by reducing the size of the stack formation graph 304.
[0057] As further shown in Figure 3, the content stack generation system 102 analyzes the stack formation graph 304 using a large-scale language model 306. More specifically, the content stack generation system 102 uses the large-scale language model 306 to analyze user interactions from user account 302 (e.g., text queries, selection of interface elements, acceptance of calendar events, opening of team messaging threads, etc.) and, in response, analyzes the stack formation graph 304 to generate or identify content items 308. For example, the content stack generation system 102 generates or identifies content item 308 as a content item with a high probability of matching a topic prompt.
[0058] In some embodiments, to generate or identify content items 308, the content stack generation system 102 determines input intent (e.g., topic prompt) from user interactions. More specifically, the content stack generation system 102 utilizes a large-scale language model 306 to process user interactions, such as selecting interface elements to execute one or more predefined processes or entered text queries, in order to determine input intent. For example, the content stack generation system 102 utilizes the large-scale language model 306 to generate a set of input intent predictions using model parameters learned during model training (e.g., training on a large set of user interactions and corresponding ground truth input intents). In some cases, the content stack generation system 102 selects the input intent prediction with the highest probability as the input intent for a user interaction. For example, the content stack generation system 102 may determine an input intent to access a specific content item, an input intent to collect relevant documents for a team meeting, an input intent to generate an email to a specific recipient, an input intent to summarize a document, an input intent to answer a question on a specific topic, an input intent to identify a user account associated with a project, or an input intent to schedule a meeting. The content stack generation system 102 can compare the selected input intent prediction with a node in the stack formation graph 304 to identify (or generate a new content item) a content item related to the input intent. Therefore, the content stack generation system 102 can generate or identify a content item 308 based on the input intent. The content stack generation system 102 can add the content item 308 to the content stack of user account 302.
[0059] In some implementations, the content stack generation system 102 establishes multiple profiles for a single user account. For example, the content stack generation system 102 creates a work profile and a social profile for user account 302. Based on these different profiles, the content stack generation system 102 can generate and provide different content stacks that target the different interests and / or needs of the user account.
[0060] In some implementations, the content stack generation system 102 generates personalization profiles for users that can persist across different systems and / or environments. For example, the content stack generation system 102 can facilitate changes in jobs and / or roles within an organization. Specifically, the content stack generation system 102 can generate personalization profiles for users of user account 302 and associate those personalization profiles with new user accounts for those users.
[0061] Furthermore, in some implementations, the content stack generation system 102 exposes the content stack to other user accounts within the content management system 104. For example, based on input from user account 302, the content stack generation system 102 can share the content stack with other user accounts, thereby providing the flexibility to offer a dynamic container of shared knowledge across organizational ontologities.
[0062] As described above, in some implementations, the content stack generation system 102 adapts the content stack based on user account activity. For example, Figure 4 shows a content stack generation system 102 that updates the content stack over a period of time according to one or more embodiments.
[0063] For illustrative purposes, Figure 4 shows a content stack generation system 102 that generates a content stack 402 for a user account. As shown in the figure, the content stack generation system 102 provides the content stack 402 on November 1st as a proposed stack of content items related to "Project 3". For example, the content stack 402 may include several digital documents and web pages, among other possible content items. As mentioned above, the content stack generation system 102 can determine that these content items are related to the specific needs of the user account. For example, the content stack generation system 102 provides content items in the content stack 402 related to a project (e.g., "Project 3") undertaken by the user account.
[0064] Over a certain period, the content stack generation system 102 monitors the user account activity of a user account to determine potential changes to the content stack 402. For example, Figure 4 shows the content stack generation system 102 providing a content stack 404 updated on February 1st as a proposed content stack associated with "Project 3," based on updates and project progress associated with the user account. For example, when a user account takes on a project (or any other workflow or task), additional content items may become associated with that user account. For illustrative purposes, other files such as additional documents and calendar events may become associated with the project. Thus, the content stack generation system 102 can modify the project's content stack and present the modified content stack.
[0065] To further explain, Figure 4 shows a content stack generation system 102 providing a further updated content stack 406 on May 1st as a proposed content stack related to "Project 3". For example, as a user account progresses through the project, the content stack generation system 102 may determine that certain content items that were previously in the content stack are no longer relevant. Therefore, the content stack generation system 102 updates the content stack to ensure that the included content items are currently relevant to the user account. As shown in Figure 4, the content stack generation system 102 removed several content items (e.g., digital documents, web pages, and calendar events) from the further updated content stack 406 (e.g., May 1st) which was part of the updated content stack 404 (e.g., February 1st).
[0066] In other words, the content stack generation system 102 can monitor changes in the user account activity and / or content item corpus and manage the content stack accordingly. For example, the content stack generation system 102 identifies one or more changes in the content item configuration, changes in account data, and / or new content interaction data. Based on these changes and / or new data, the content stack generation system 102 decides to update content-based signals for content items and / or account-based signals for user accounts. The content stack generation system 102 can then generate an updated stack formation graph that may include some or all of the nodes in the original (or most recent) stack formation graph, as well as additional nodes for new content items (e.g., newly created content items or newly associated content items). The content stack generation system 102 can then modify the content stack to reflect the updates in the stack formation graph. For example, the content stack generation system 102 determines a comparison metric between the nodes in the updated stack formation graph and the topic prompts of the user account. Using these comparison metrics, the content stack generation system 102 determines a new set of relevant content items to include in the updated content stack.
[0067] In some cases, the content stack generation system 102 applies filtering logic to update the content stack. For example, the content stack generation system 102 may observe that content items that a user account frequently accessed in the past are no longer frequently accessed or have not been accessed for a long period of time. In such cases, the content stack generation system 102 may remove the content items from the content stack.
[0068] As described above, in some implementations, the content stack generation system 102 generates a content stack as a proposed collection of related content and provides it to the user account. For example, Figure 5 shows a content stack generation system 102 that provides a content stack for display via a graphical user interface, according to one or more embodiments.
[0069] For example, Figure 5 shows a graphical user interface for a client device 500 that displays a calendar event 502 for a "team meeting". In some implementations, the content stack generation system 102 uses a large language model 118 to analyze the calendar event 502 and define topic prompts for the calendar event 502. For example, the content stack generation system 102 determines topic prompts based on a description of the calendar event 502 and / or account data of participants (e.g., other user accounts) invited to the calendar event 502.
[0070] Based on topic prompts, the content stack generation system 102 can generate a content stack 504 to propose to the user account. For example, Figure 5 shows the content stack generation system 102 proposing a content stack 504 that includes digital documents, digital video camera footage, and web pages. The content stack generation system 102 provides the proposed content stack 504 as containing content items that are likely to be relevant to a team meeting. In this way, the content stack generation system 102 can provide flexibility by providing relevant content items in a single user interface, thereby reducing the need for the user account to drill down into a folder hierarchy and / or to use multiple computing applications to access the same content items.
[0071] As described above, in some implementations, the content stack generation system 102 generates topic prompts for user accounts. For illustrative purposes, the content stack generation system 102 can detect triggers that signal new topic needs for a user account. For example, the content stack generation system 102 can determine the intent of a user account by detecting web browser history, open tabs in the web browser, calendar events, file access patterns, the duration of the user account in a role within the organizational ontology, the current team project or attempt the user account is participating in, whether the user account is currently in a virtual meeting, and / or determining the type of meeting for the user account (e.g., work meeting, social meeting, etc.). Based on the predicted intent of the user account, the content stack generation system 102 can determine topic prompts to suggest a new (or updated) content stack. The content stack generation system 102 can dynamically generate topic prompts (and the resulting content stacks) to present relevant content to the user account in real time (e.g., during a meeting, when a new project is assigned, etc.). In addition, when generating topic prompts (and consequently content stacks), the content stack generation system 102 may consider content-based signals in the file corpus of the content management system 104, third-party connection services, and / or web-based content that the user account has not previously accessed (but may be relevant).
[0072] As described above, in some implementations, the content stack generation system 102 generates a content stack using topic prompts. For example, the content stack generation system 102 compares content items with topic prompts. In particular, the content stack generation system 102 compares nodes in the stack formation graph with topic prompts. For nodes that have topic features similar to the topic prompt, the content stack generation system 102 can include corresponding content items in the content stack. For example, the content stack generation system 102 determines which nodes in the stack formation graph satisfy the similarity threshold for the topic prompt.
[0073] More specifically, in some embodiments, the content stack generation system 102 determines a comparison metric between the nodes of the stack formation graph and the topic prompts. For example, the content stack generation system 102 determines the cosine similarity between the topic features of a content item and the topic prompt. To illustrate, in some implementations, the content stack generation system 102 generates topic feature vectors representing the nodes of the stack formation graph. For example, the content stack generation system 102 uses a large-scale language model to embed content items into a feature vector space representing the topic or description of the content items. In some cases, the topic features are in the same vector space as the topic prompts. The content stack generation system 102 can determine the distance between the topic features of a node and the topic prompts. For example, the content stack generation system 102 determines the cosine distance between the topic prompt and the topic feature vector of the node. Other examples, though not limited to them, include the content stack generation system 102 determining the distance between topic features and topic prompts by determining correlation metrics, Minkowski distances (e.g., Euclidean distance, Manhattan distance, Chebyshev distance), Canberra distances, Hamming distances, or some other similarity metrics.
[0074] In some embodiments, the content stack generation system 102 generates a content stack by determining clusters of nodes around relevant nodes. For example, the content stack generation system 102 first identifies relevant content items for topic prompts (i.e., relevant nodes). Utilizing edge distances in the stack formation graph, the content stack generation system 102 can identify additional relevant content items by identifying nodes near the first relevant node. For example, the content stack generation system 102 identifies nodes separated from the first relevant node by edges having a length shorter than a threshold length. Utilizing these nodes clustered around the first relevant node, the content stack generation system 102 can input content items corresponding to the nodes in the cluster into the content stack.
[0075] In some implementations, the content stack generation system 102 provides (or adds content items to) a content stack containing action items, decisions, or tasks decided during a team meeting. For example, the content stack generation system 102 uses a transcript of a video conference or audio recording to identify action items from the meeting, scrapes the action items (e.g., paragraphs describing those action items) from the transcript, and generates new content items for those action items. The content stack generation system 102 can generate new nodes for the new content items in one or more stack formation graphs and update the content stack for a user account (e.g., content stack 504).
[0076] In some cases, the content stack generation system 102 generates a content stack based on prompts from a user account. For example, a user account may enter a text query requesting relevant files and / or web pages for a particular question or task. The content stack generation system 102 generates a topic prompt based on the text query and then, as described above, can use that topic prompt to determine the relevant content items. Furthermore, the content stack generation system 102 can utilize a large-scale language model to generate a topic prompt based on the specific content item that the user account is currently interacting with.
[0077] In some embodiments, the content stack generation system 102 adds the proposed labels to the content stack. For example, the content stack generation system 102 includes a text description at the top of the stack that indicates the topic of the stack. Furthermore, the content stack generation system 102 can generate sub-descriptions of the content stack, such as section-level descriptions (about sections of content items in the stack) and / or item-level descriptions (about individual content items in the stack). In some implementations, the content stack generation system 102 uses a large-scale language model (or another machine learning model) to generate the descriptions. In some implementations, the content stack generation system 102 retrieves (pushes) the descriptions from the metadata of the content items.
[0078] As described above, in some implementations, the content stack generation system 102 provides the user account with various interaction options with the content stack. For example, Figure 6 shows a content stack generation system 102, according to one or more embodiments, that provides a content stack for display via a graphical user interface having selection elements for saving, opening, and editing the content stack.
[0079] For example, Figure 6 shows a graphical user interface for a client device 600 displaying task item 602 for "Task 7". In some implementations, the content stack generation system 102 utilizes a large language model 118 to analyze task item 602 and define topic prompts for task item 602. For example, the content stack generation system 102 determines topic prompts based on a description of task item 602 and / or account data of accounts associated with task item 602 (e.g., other user accounts contributing to the task item, such as reviewer accounts).
[0080] Based on topic prompts, the content stack generation system 102 can generate a content stack 604 to propose to the user account. For example, Figure 6 shows the content stack generation system 102 proposing a content stack 604 that includes digital documents, digital videos, and web pages. The content stack generation system 102 provides the proposed content stack 604 as containing content items that are likely to be relevant to task 7. In some implementations, the content stack generation system 102 provides the user account with selectable options for interacting with the content stack 604.
[0081] For example, the content stack generation system 102 may allow a user account to select a save option 606 to save the content stack 604. By saving the content stack, the user account has the option to store metadata associated with the content stack, which allows the user account to later retrieve the exact content items presented in the content stack 604. In contrast, in some cases, the user account may choose not to save the content stack and instead rely on the content stack generation system 102 to generate a new content stack for the same topic prompt at a later date. In some cases, the content stack generation system 102 determines that the body of the content items is substantially the same as the topic prompt and therefore generates a content stack identical to the previous content stack. In other cases, the content stack generation system 102 determines that there are changes to the body of the content, such as new content items that are likely to be related to the topic prompt, and the content stack generation system 102 generates a new (or updated) content stack that reflects the changes (e.g., including new content items).
[0082] To further illustrate account interaction with a content stack, Figure 6 shows that the content stack generation system 102 can provide a user account to select an open option 608 to open a content stack 604. For example, the content stack generation system 102 can generate a user interface for opening, viewing, editing, saving, and / or closing content items in the content stack 604. In some embodiments, the content stack generation system 102 provides a user interface for opening multiple content items in the content stack 604 simultaneously in a single user interface.
[0083] Furthermore, in some implementations, the content stack generation system 102 provides the user account with editing options 610 for modifying the content stack 604. For example, the content stack generation system 102 can adapt the content stack 604 based on input from the user account, such as input to include a specific content item, exclude a specific content item, or change the order in which content items are presented.
[0084] In some implementations, the content stack generation system 102 stores a content stack containing answers to search queries. For example, the content stack generation system 102 uses a large-scale language model (or another machine learning model) to determine answers to search queries and inputs the answers into the content stack along with other content items related to the search queries. In some cases, the content stack generation system 102 searches within one or more files to find answers to search queries and inputs the answers from one or more files into the content stack.
[0085] As described above, in some implementations, the content stack generation system 102 provides an interface for editing one or more content items within the content stack. For example, Figure 7 shows a content stack generation system 102 that integrates a content editing application within the content stack interface, according to one or more embodiments.
[0086] For example, Figure 7 shows a content stack 702 (for example, a proposed content stack for "Project 3" on November 1). In some implementations, the content stack generation system 102 communicates with the API of a content editing application to provide a content stack interface 704 containing the content editing application. For illustrative purposes, the content stack generation system 102 can generate a virtual desktop or application within the application for content editing. For example, the content stack generation system 102 provides a content stack interface 704 that displays content items of the content stack and renders an editing window within the content stack interface 704 for modifying content items. For example, the content stack generation system 102 can interface with one or more of the following: document processing applications, spreadsheet applications, slide presentation applications, email applications, messaging applications, calendar applications, image editing applications, video editing applications, web page creation applications, text editing applications, task tracking applications, and / or code development applications. The content stack generation system 102 can receive user input within the editing window in the content stack interface 704. For example, the content stack generation system 102 can detect edits to content items within the editing window.
[0087] Based on edits made to content items, the content stack generation system 102 can save the content items. For example, Figure 7 shows a content stack 706 which is the same as content stack 702 but reflects that one or more content items in the stack have been saved. Thus, the content stack generation system 102 can provide flexibility by enabling user accounts to edit and save content items in a single user interface (for example, without having to open the content items in a separate computing application).
[0088] In some implementations, the content stack generation system 102 provides the content stack within a computing application. In some implementations, the content stack generation system 102 provides the content stack within a widget on the desktop or home screen of a client device. In some implementations, the content stack generation system 102 provides the content stack within the start page of a web browser.
[0089] As described above, in some embodiments, the content stack generation system 102 provides additional flexibility to existing systems by enabling user accounts to resume tasks or workflows that were previously interrupted, by quickly providing relevant content to user accounts without requiring them to drill down into directories or lists of content items within computing applications.
[0090] Figures 1 to 7, the corresponding text, and examples provide several different methods, systems, devices, and non-temporary computer-readable media of the content stack generation system 102. In addition to the foregoing, one or more embodiments can also be described with respect to flowcharts involving actions to achieve a particular result, as shown in Figure 8. Figure 8 may be performed with more or fewer actions. Furthermore, the actions may be performed in a different order. In addition, the actions described herein may be repeated or performed in parallel with each other, or in parallel with different instances of the same or similar actions.
[0091] As described above, Figure 8 shows a flowchart of a series of operations 800 for generating a content stack according to one or more embodiments. While Figure 8 shows operations according to one embodiment, alternative embodiments may omit, add, rearrange, and / or modify any of the operations shown in Figure 8. The operations in Figure 8 can be performed as part of a method. Alternatively, non-temporary computer-readable media, when executed by one or more processors, may include instructions that cause a computing device to perform the operations in Figure 8. In some embodiments, a system can perform the operations in Figure 8.
[0092] As shown in Figure 8, the sequence of operations 800 includes an operation 810 that determines a content-based signal indicating the configuration of content items, an operation 820 that determines an account-based signal indicating content interaction data and account data, an operation 830 that generates a stack-forming graph, and an operation 840 that generates a content stack containing a set of content items corresponding to the nodes in the stack-forming graph.
[0093] In particular, operation 810 may include determining a content-based signal indicating the configuration of multiple content items from multiple content items associated with a user account in the content management system; operation 820 may include determining an account-based signal indicating content interaction data and account data associated with a user account in the content management system; operation 830 may include generating a three-dimensional stack-forming graph based on the content-based signal and the account-based signal, comprising nodes representing multiple content items and user accounts in the content management system and edges representing the relationships between multiple content items and user accounts in the content management system; and operation 840 may include generating a content stack from the three-dimensional stack-forming graph, comprising sets of content items corresponding to the nodes in the three-dimensional stack-forming graph.
[0094] Furthermore, in some embodiments, operation 810 may include determining a content-based signal indicating the configuration of multiple content items accessible by the content management system; operation 820 may include determining an account-based signal indicating content interaction data and account data for a user account of the content management system; operation 830 may include generating a three-dimensional stack-forming graph containing nodes representing multiple content items based on the content-based signal and the account-based signal; and operation 840 may include generating a content stack from the three-dimensional stack-forming graph containing a set of content items corresponding to nodes that satisfy a similarity threshold for a topic prompt.
[0095] Furthermore, in some implementations, operation 810 may include determining a content-based signal indicating the configuration of multiple content items from multiple content items associated with a user account of the content management system; operation 820 may include determining an account-based signal indicating content interaction data and account data associated with the user account of the content management system; operation 830 may include generating a stack-forming graph including nodes representing multiple content items and edges representing the relationships between multiple content items based on the content-based signal and the account-based signal; additional operations may include determining a comparison metric between at least some of the nodes of the stack-forming graph and topic prompts; and operation 840 may include generating a content stack including a set of content items corresponding to nodes that have a comparison metric that satisfies a similarity threshold.
[0096] In particular, in one or more implementations, a set of operations 800 may include determining a content-based signal indicating the configuration of multiple content items, which includes determining one or more relationships between multiple content items. Alternatively or additionally, a set of operations 800 may include determining a content-based signal indicating the configuration of multiple content items, which includes filtering multiple content items based on predetermined filtering logic.
[0097] Furthermore, in one or more embodiments, a series of operations 800 may include determining an account-based signal indicating content interaction data and account data, which in turn includes determining one or more user account access patterns to multiple content items, or user account interaction patterns with multiple user accounts. Alternatively or additionally, a series of operations 800 may include determining an account-based signal indicating content interaction data and account data, which in turn includes determining one or more user account access patterns to multiple content items, or user account interaction patterns with other user accounts in the content management system.
[0098] Furthermore, in one or more implementations, the sequence of operations 800 includes generating a three-dimensional stack-forming graph, which in turn involves utilizing a machine learning model to determine the relationships between multiple content items and user accounts. Alternatively, or additionally, the sequence of operations 800 may include generating a three-dimensional stack-forming graph, which in turn involves utilizing a machine learning model to embed multiple content items into a latent vector space. Alternatively, or additionally, the sequence of operations 800 may include generating a stack-forming graph, which in turn involves utilizing a machine learning model to determine the relationships between multiple content items.
[0099] Furthermore, in one or more embodiments, a set of operations 800 may include generating a content stack containing a set of content items by utilizing a large language model to determine topic features of at least some of the content items and identifying a set of content items based on the topic features. Alternatively, or additionally, a set of operations 800 may include generating a content stack by utilizing a large language model to determine topic features of at least some of the content items and identifying a set of content items by comparing the topic features with topic prompts. Alternatively, or additionally, a set of operations 800 may include determining a comparison metric by determining the cosine distance between topic prompts and topic feature vectors representing nodes in a stack-forming graph. Alternatively, or additionally, a set of operations 800 may include generating a content stack by determining clusters of nodes separated by edges having lengths shorter than a threshold length.
[0100] Furthermore, in one or more implementations, the sequence of operations 800 includes providing a content stack containing a set of content items for display via a graphical user interface, and modifying at least one content item from the set of content items based on receiving input from a user account. Alternatively, or additionally, the sequence of operations 800 may include providing a content stack containing a set of content items for display via a graphical user interface on a client device, and modifying at least one content item from the set of content items based on input from the client device. Alternatively, or additionally, the sequence of operations 800 may include providing a copy of the set of content items in the content stack to a client device associated with a user account, and modifying at least one content item from the set of content items based on input from the client device.
[0101] Furthermore, in one or more embodiments, the sequence of operations 800 includes generating a personalization profile for a user of a user account and associating the personalization profile with a new user account for that user. Alternatively, or additionally, the sequence of operations 800 may include generating a personalization profile for a user of a user account and associating the personalization profile with a new user account of a content management system.
[0102] In addition, in some implementations, a set of actions 800 includes determining an update to at least one of content-based signals or account-based signals based on at least one of changes in the configuration of multiple content items or new content interaction data; generating an updated stack-forming graph that includes at least some of the nodes of the stack-forming graph based on the update to at least one of the content-based signals or account-based signals; determining a new comparison metric between at least some of the nodes of the updated stack-forming graph and topic prompts; and modifying the content stack based on the new comparison metric.
[0103] Embodiments of the present disclosure may include or utilize a dedicated or general-purpose computer, for example, one or more processors and system memory, among other computer hardware, as will be described in more detail below. Embodiments within the scope of the present disclosure also include physical media and other computer-readable media for transporting or storing computer-executable instructions and / or data structures. In particular, one or more of the processes described herein may be embodied at least in part in a non-temporary computer-readable medium and implemented as instructions executable by one or more computing devices (e.g., any of the media content access devices described herein). Generally, a processor (e.g., a microprocessor) receives instructions from a non-temporary computer-readable medium (e.g., memory), executes those instructions, and thereby executes one or more processes, including one or more of the processes described herein.
[0104] A computer-readable medium can be any available medium that can be accessed by a general-purpose or dedicated computer system. A computer-readable medium that stores computer-executable instructions is a non-temporary computer-readable storage medium (device). A computer-readable medium that carries computer-executable instructions is a transmission medium. Thus, embodiments of the present disclosure may include at least two distinctly different types of computer-readable mediums, namely, a non-temporary computer-readable storage medium (device) and a transmission medium.
[0105] Non-temporary computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid-state drives ("SSDs") (e.g., based on RAM), flash memory, phase-change memory ("PCM"), other types of memory, other optical disk storage devices, magnetic disk storage devices, or other magnetic storage devices, or any other media that may be used to store desired program code means in the form of computer-executable instructions or data structures and may be accessed by a general-purpose or dedicated computer.
[0106] A “network” is defined as one or more data links that enable the transfer of electronic data between computer systems and / or generators and / or other electronic devices. When information is transferred to or provided to a computer via a network or another communication connection (wired, wireless, or a combination of wired and wireless), the computer appropriately recognizes that connection as a transmission medium. A transmission medium can be used to carry desired program code means in the form of computer-executable instructions or data structures and may include network links and / or data links that can be accessed by a general-purpose or dedicated computer. The above combination should also be included within the scope of computer-readable media.
[0107] Furthermore, upon reaching various computer system components, program code in the form of computer-executable instructions or data structures can be automatically transferred from the transmission medium to a non-temporary computer-readable storage medium (device) (or vice versa). For example, computer-executable instructions or data structures received via a network or data link may be buffered in RAM within a network interface generator (e.g., a "NIC") and then ultimately transferred to computer system RAM and / or a non-volatile computer storage medium (device) within the computer system. Therefore, it should be understood that non-temporary computer-readable storage media (devices) can be included in computer system components that also (or primarily) utilize the transmission medium.
[0108] Computer executable instructions include, for example, instructions and data that, when executed by a processor, cause a general-purpose computer, a dedicated computer, or a dedicated processing device to perform a specific function or group of functions. In some embodiments, computer executable instructions are executed by a general-purpose computer, transforming the general-purpose computer into a dedicated computer implementing the elements of this disclosure. Computer executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or source code. While the subject matter has been described in language specific to structural features and / or methodological behavior, it should be understood that the subject matter as defined in the appended claims is not necessarily limited to the features or behaviors described above. Rather, the features and behaviors described are disclosed as exemplary forms of implementing the claims.
[0109] Those skilled in the art will understand that this disclosure can be implemented in network computing environments having many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, tablets, pagers, routers, switches, and the like. This disclosure can also be implemented in distributed system environments where both local and remote computer systems, linked over a network (by wired data links, wireless data links, or a combination of wired and wireless data links), perform tasks. In a distributed system environment, program generators may be located on both local and remote memory storage devices.
[0110] Embodiments of this disclosure may also be implemented in a cloud computing environment. As used herein, the term “cloud computing” refers to a model for enabling on-demand network access to a shared pool of configurable computing resources. For example, cloud computing may be used in the market to provide ubiquitous and convenient on-demand access to a shared pool of configurable computing resources. The shared pool of configurable computing resources may be rapidly provisioned via virtualization, released with less administrative effort or service provider interaction, and then scaled accordingly.
[0111] Cloud computing models can comprise a variety of features, such as on-demand self-service, broad network access, resource pooling, rapid resilience, and measurement services. Cloud computing models can also offer various service models, such as Software-as-a-Service (SaaS), Web Services, Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). Cloud computing models can also be deployed using different deployment models, such as private clouds, community clouds, public clouds, and hybrid clouds. Furthermore, in this specification, "cloud computing environment" refers to an environment where cloud computing is employed.
[0112] Figure 9 shows a block diagram of an exemplary computing device 900 that may be configured to perform one or more of the processes described above. It should be understood that one or more computing devices, such as computing device 900, may represent the computing devices described above (e.g., server device 106, client device 108). In one or more embodiments, computing device 900 may be a mobile device (e.g., a mobile phone, smartphone, PDA, tablet, laptop, camera, tracker, watch, wearable device, etc.). In some embodiments, computing device 900 may be a non-mobile device (e.g., a desktop computer or another type of client device). Furthermore, computing device 900 may be a server device that includes cloud-based processing and storage capabilities.
[0113] As shown in Figure 9, the computing device 900 may include one or more processors 902, memory 904, storage device 906, input / output interface 908 (or "I / O interface 908"), and communication interface 910, which may be communicatively coupled via a communication infrastructure (e.g., bus 912). While the computing device 900 is shown in Figure 9, the components shown in Figure 9 are not intended to be limiting. Additional or alternative components may be used in other embodiments. Furthermore, in certain embodiments, the computing device 900 may include fewer components than those shown in Figure 9. The components of the computing device 900 shown in Figure 9 will now be described in more detail.
[0114] In certain embodiments, the processor 902 includes hardware for executing instructions, such as instructions that constitute a computer program. To execute instructions, but not limited to, the processor 902 may retrieve (or fetch) instructions from internal registers, internal cache, memory 904, or storage device 906, decode them, and execute them.
[0115] The computing device 900 includes memory 904 coupled to the processor 902. Memory 904 may be used to store data, metadata, and programs for execution by the processor. Memory 904 may include one or more volatile and non-volatile memories, such as random access memory ("RAM"), read-only memory ("ROM"), solid-state disk ("SSD"), flash memory, phase-change memory ("PCM"), or other types of data storage devices. Memory 904 may be internal memory or distributed memory.
[0116] The computing device 900 includes a storage device 906 for storing data or instructions. The storage device 906 may include, but not exclusively, the non-temporary storage media described above. The storage device 906 may include a hard disk drive ("HDD"), flash memory, a Universal Serial Bus ("USB") drive, or a combination thereof, or other storage devices.
[0117] As shown, the computing device 900 includes one or more I / O interfaces 908, which are provided to enable a user to provide input (such as user strokes) to the computing device 900, receive output from the computing device 900, or transfer data to and from the computing device 900. These I / O interfaces 908 may include a mouse, keypad or keyboard, touchscreen, camera, optical scanner, network interface, modem, other known I / O devices, or a combination of such I / O interfaces 908. The touchscreen may be operated with a stylus or a finger.
[0118] The I / O interface 908 may include one or more devices for presenting output to the user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In certain embodiments, the I / O interface 908 is configured to provide graphical data to the display for presentation to the user. The graphical data may represent one or more graphical user interfaces and / or any other graphical content, and may fulfill certain embodiments.
[0119] The computing device 900 may further include a communication interface 910. The communication interface 910 may include hardware, software, or both. The communication interface 910 provides one or more interfaces for communication (e.g., packet-based communication) between the computing device and one or more other computing devices or one or more networks. For example, but not limited to, the communication interface 910 may include a network interface controller ("NIC") or network adapter for communicating with Ethernet® or other wired-based networks, or a wireless NIC ("WNIC") or wireless adapter for communicating with wireless networks such as Wi-Fi. The computing device 900 may further include a bus 912. The bus 912 may include hardware, software, or both that connect the components of the computing device 900 to each other.
[0120] The components of the content stack generation system 102 may include software, hardware, or both. For example, the components of the content stack generation system 102 may include one or more instructions stored in a computer-readable storage medium and executable by a processor in one or more computing devices, such as client devices or server devices. When executed by one or more processors, the computer-executable instructions of the content stack generation system 102 can cause a computing device to perform the methods described herein. Alternatively, the components of the content stack generation system 102 may include hardware, such as a dedicated processing device for performing a particular function or group of functions. Alternatively, the components of the content stack generation system 102 may include a combination of computer-executable instructions and hardware.
[0121] Furthermore, the components of the content stack generation system 102 can be implemented, for example, as one or more operating systems, as one or more standalone applications, as one or more modules of an application, as one or more plugins, as one or more library functions or functions that can be called by other applications, and / or as a cloud computing model. Thus, the components of the content stack generation system 102 can be implemented as standalone applications such as desktop or mobile applications. Furthermore, the components of the content stack generation system 102 can be implemented as one or more web-based applications hosted on a remote server. The components of the content stack generation system 102 can also be implemented as a mobile terminal application or a suite of "apps".
[0122] Figure 10 is a schematic diagram showing a network environment 1000 in which one or more embodiments of the content stack generation system 102 may be implemented. For example, the content stack generation system 102 may be part of a content management system 1002 (for example, a content management system 104). The content management system 1002 can generate, store, manage, receive, and transmit digital content (such as digital content items). For example, the content management system 1002 can send and receive digital content to and from a client device 1006 via a network 1004. In particular, the content management system 1002 can store and manage collections of digital content. The content management system 1002 can manage the sharing of digital content between computing devices associated with multiple users. For example, the content management system 1002 can facilitate the sharing of digital content between users of the content management system 1002.
[0123] In particular, the content management system 1002 can manage the synchronization of digital content across multiple client devices 1006 associated with one or more users (between multiple client devices 1006). For example, a user can edit digital content using a client device 1006. The content management system 1002 can cause the client device 1006 to send the edited digital content to the content management system 1002. The content management system 1002 then synchronizes the edited digital content on one or more additional computing devices.
[0124] In addition to synchronizing digital content across multiple devices, one or more embodiments of the content management system 1002 can provide efficient storage options for users with large collections of digital content. For example, the content management system 1002 can store a collection of digital content on the content management system 1002, while the client device 1006 stores only reduced-size versions of the digital content. The user can navigate and view reduced-size versions of the digital content (e.g., thumbnails of digital images) on the client device 1006. In particular, one way a user can experience digital content is by viewing reduced-size versions of the digital content on the client device 1006.
[0125] Another way for users to experience digital content is by selecting a reduced-size version of the digital content and requesting a full-resolution or high-resolution version from the content management system 1002. Specifically, when a user selects a reduced-size version of the digital content, the client device 1006 sends a request to the content management system 1002 requesting the digital content associated with the reduced-size version. The content management system 1002 can respond to the request by sending the digital content to the client device 1006. Then, upon receiving the digital content, the client device 1006 can present it to the user. In this way, the user can access a large collection of digital content while minimizing the amount of resources used on the client device 1006.
[0126] The client device 1006 may be a desktop computer, laptop computer, tablet computer, personal digital assistant (PDA), in-car or out-of-car navigation system, smart TV, virtual reality (VR) or augmented reality (AR) device, handheld device, wearable device, smartphone or other mobile phone or mobile phone, or mobile game device, other mobile device, or other suitable computing device. The client device 1006 may run one or more client applications, such as a web browser (e.g., Microsoft Windows Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome, Opera, etc.) or a native or dedicated client application (e.g., Dropbox Paper for iPhone or iPad, Dropbox Paper for Android, etc.), to access and view content via the network 1004.
[0127] Network 1004 may represent a network or collection of networks (such as the Internet, a corporate intranet, a virtual private network (VPN), a local area network (LAN), a wireless local area network (WLAN), a cellular network, a wide area network (WAN), a metropolitan area network (MAN), or a combination of two or more such networks) from which a client device(s) 1006 can access the content management system 1002.
[0128] The use of terms such as “first,” “second,” and “third” in the foregoing description and the attached claims does not necessarily imply a specific order or number of elements. Generally, terms such as “first,” “second,” and “third” are used to distinguish different elements as general identifiers. Unless it is indicated that terms such as “first,” “second,” and “third” imply a specific order, these terms should not be understood to imply a specific order. Furthermore, unless it is indicated that terms such as “first,” “second,” and “third” imply a specific number of elements, these terms should not be understood to imply a specific number of elements. For example, a first widget may be described as having a first aspect, and a second widget may be described as having a second aspect. The use of the term “second aspect” in relation to a second widget is to distinguish such an aspect of the second widget from the “first aspect” of the first widget, and does not necessarily imply that the second widget has two aspects.
[0129] In the foregoing description, the present invention has been described with reference to certain exemplary embodiments. Various embodiments and aspects of the present invention are described with reference to the details discussed herein, and the accompanying drawings illustrate various embodiments. The above description and drawings are illustrative of the present invention and should not be construed as limiting the present invention. Numerous specific details are described in order to provide a complete understanding of the various embodiments of the present invention.
[0130] The present invention can be embodied in other specific forms without departing from the spirit and basic features of the invention. The embodiments described herein should be considered in all respects to be illustrative and not limiting. For example, the methods described herein may be performed in fewer or more steps / operations, or the steps / operations may be performed in a different order. Furthermore, the steps / operations described herein may be repeated or performed in parallel with each other, or in parallel with different instances of the same or similar steps / operations. Accordingly, the scope of the invention is indicated not by the foregoing description but by the appended claims. All modifications that fall within the meaning and scope of the equivalents of the claims should be encompassed within those scopes.
Claims
1. A computer implementation method, Determining a content-based signal that indicates the configuration of multiple content items from multiple content items associated with a user account in a content management system, With respect to the user account of the content management system, determine an account-based signal that indicates content interaction data and account data associated with the user account. Based on the content-based signal and the account-based signal, Nodes representing the multiple content items and multiple user accounts within the content management system, An edge representing the relationship between the plurality of content items and the plurality of user accounts in the content management system, To generate a stack formation graph that includes, From the aforementioned stack formation graph, a content stack is generated that includes a set of content items corresponding to the nodes in the stack formation graph, Computer implementation methods including
2. The computer implementation method according to claim 1, wherein determining the content-based signals indicating the configuration of the plurality of content items includes determining one or more relationships between the plurality of content items.
3. The computer implementation method according to claim 1, wherein determining the account-based signals indicating the content interaction data and the account data includes determining one or more of the user account's access patterns to the plurality of content items or the user account's interaction patterns with the plurality of user accounts.
4. The computer implementation method according to claim 1, wherein generating the stack formation graph includes utilizing a machine learning model to determine the relationships between the plurality of content items and the plurality of user accounts.
5. Generating the content stack that includes the set of content items is Determine the topic characteristics of at least some of the aforementioned multiple content items, Identify the set of content items based on the aforementioned topic features. The computer implementation method according to claim 1, further comprising using a large-scale language model for this purpose.
6. To provide the content stack, which includes the set of content items, for display via a graphical user interface, Based on receiving input from the user account, modify at least one content item from the set of content items, The computer implementation method according to claim 1, further comprising:
7. To generate a personalization profile for the user of the aforementioned user account, The computer implementation method according to claim 1, further comprising associating the personalization profile with a new user account for the user.
8. It is a system, At least one processor, When executed by the at least one processor, the system Determining a content-based signal that indicates the configuration of multiple content items accessible by the content management system, Determining account-based signals that indicate content interaction data and account data for user accounts of the aforementioned content management system, Based on the content-based signal and the account-based signal, a stack-forming graph is generated which includes nodes representing the multiple content items. From the aforementioned stack formation graph, a content stack is generated that includes a set of content items corresponding to nodes that satisfy a similarity threshold for a topic prompt, A non-temporary computer-readable storage medium containing an instruction to perform the following: A system equipped with these features.
9. The system according to claim 8, wherein determining the content-based signal indicating the configuration of the plurality of content items includes filtering the plurality of content items based on predetermined filtering logic.
10. The system according to claim 8, wherein determining the account-based signals indicating the content interaction data and the account data includes determining one or more of the user account's access patterns to the plurality of content items or the user account's interaction patterns with other plurality of user accounts of the content management system.
11. The system according to claim 8, wherein generating the stack formation graph includes using a machine learning model to embed the plurality of content items into a latent vector space.
12. Generating the aforementioned content stack means A large-scale language model is used to determine the topic features of at least some of the aforementioned multiple content items, The set of content items is determined by comparing the aforementioned topic features with the aforementioned topic prompt, The system according to claim 8, including the above.
13. When the instruction is executed by the at least one processor, the system To provide the content stack, which includes the set of content items, for display via the graphical user interface of a client device, Modify at least one content item of the set of content items based on input from the client device, The system according to claim 8, further comprising the following:
14. When the instruction is executed by the at least one processor, the system, To generate a personalization profile for the user of the aforementioned user account, Associating the personalization profile with a new user account in the content management system, The system according to claim 8, further comprising the following:
15. When running on at least one processor, the computing device, Determining a content-based signal that indicates the configuration of multiple content items from multiple content items associated with a user account in a content management system, With respect to the user account of the content management system, determine an account-based signal that indicates content interaction data and account data associated with the user account. Based on the content-based signal and the account-based signal, A node representing the aforementioned multiple content items, Edges representing the relationships between the aforementioned multiple content items, To generate a stack formation graph that includes, To determine a comparison index between at least some of the nodes in the stack formation graph and the topic prompt, To generate a content stack containing a set of content items corresponding to nodes that have a comparison metric that satisfies the similarity threshold, A non-temporary computer-readable storage medium containing instructions to perform an action.
16. The non-temporary computer-readable storage medium according to claim 15, wherein generating the stack formation graph includes utilizing a machine learning model to determine the relationships between the plurality of content items.
17. The non-temporary computer-readable storage medium according to claim 15, wherein determining the comparison index includes determining the cosine distance between the topic prompt and the topic feature vector representing the node of the stack formation graph.
18. The non-temporary computer-readable storage medium according to claim 15, wherein generating the content stack includes determining a cluster of nodes separated by edges having a length shorter than a threshold length.
19. When the instruction is executed by the at least one processor, it is directed to the computing device. Providing a copy of the set of content items in the content stack to the client device associated with the user account, Modify at least one content item of the set of content items based on input from the client device, A non-temporary computer-readable storage medium according to claim 15, which further enables the following.
20. When the instruction is executed by the at least one processor, the computing device will be: Based on at least one of the changes in the configuration of the plurality of content items or new content interaction data, a decision is made to update at least one of the content-based signals or the account-based signals. Based on the update to at least one of the content-based signals or the account-based signals, an updated stack-forming graph is generated, which includes at least some of the nodes of the stack-forming graph. To determine a new comparison index between at least some of the nodes in the updated stack formation graph and the topic prompt, Modifying the content stack based on the new comparison metrics, A non-temporary computer-readable storage medium according to claim 15, which further enables the following.