Determining a category recommendation for user content
By generating and analyzing content through client applications, and combining creative tools and location data, the server system enables flexible content classification and efficient discovery, solving the problem of content discovery difficulties in existing systems, and making it easier for users to access relevant content.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-31
- Publication Date
- 2026-07-21
AI Technical Summary
Existing systems have shortcomings in content classification and discovery mechanisms, making it difficult for users to effectively discover content they may be interested in, and they rely on user input with limited classification methods.
Content is generated by the client application and sent to the server system. The content classification system analyzes image and text data, combines creative tools and location data to determine content categories, and aggregates content based on categories, providing a flexible content discovery mechanism.
It enables flexible content categorization and efficient discovery, allowing users to more easily access relevant content based on their interests, reducing reliance on user input and improving content discoverability.
Smart Images

Figure CN117099096B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This patent application is a continuation to U.S. Patent Application No. 17 / 709,225, filed March 30, 2022, which claims the benefit of U.S. Provisional Patent Application No. 63 / 169,063, filed March 31, 2021, entitled “DETERMINING CLASSIFICATION RECOMMENDATONS FOR USER CONTENT,” the entire contents of which are incorporated herein by reference. Background Technology
[0003] Applications running on client devices can be used to generate content. For example, client applications can be used to generate messaging content, image content, video content, audio content, media overlays, documents, creative artwork, combinations thereof, etc. In various cases, this content can be exchanged between client devices via a computing system that allows content transfer between client devices. Attached Figure Description
[0004] In drawings that are not necessarily drawn to scale, the same reference numerals may describe similar parts in different views. For ease of identification of any particular element or action in discussion, one or more most significant digits in the reference numerals indicate the drawing number in which the element was first introduced. Some implementations are shown by way of example rather than limitation.
[0005] Figure 1 It is a graphical representation of an architecture for exchanging data (e.g., messages and associated content) over a network, based on one or more example implementations.
[0006] Figure 2 This is a schematic diagram illustrating data that can be stored in a database on a server system, based on one or more example implementations.
[0007] Figure 3 This is a schematic diagram illustrating an example framework of content that can be generated by a client application based on one or more example implementations.
[0008] Figure 4 It is a graphical representation of an architecture that, based on one or more example implementations, can determine the classification of content items and make content items accessible to users based on the classification of content items.
[0009] Figure 5 It is a graphical representation of an architecture that provides information related to the classification of content items, based on one or more example implementations.
[0010] Figure 6 This is a flowchart illustrating example operations performed by a server system, based on data corresponding to the coverage of content items, according to one or more example implementations.
[0011] Figure 7 This is a flowchart illustrating example operations performed by a server system, based on one or more example implementations, to add content from a page displaying content items associated with a category to a category.
[0012] Figure 8 This is a flowchart illustrating example operations performed by a client device, based on one or more example implementations, to generate content items that can be accessed based on categories.
[0013] Figure 9 This is a flowchart illustrating an example operation for determining content item category recommendations based on at least one of user input and user profile data or category usage data, according to one or more example implementations.
[0014] Figure 10 This is a flowchart illustrating example operations for generating modified user content, including additional alphanumeric content, based on one or more example implementations.
[0015] Figure 11 A diagram illustrating a user interface that includes content associated with a category, based on one or more example implementations.
[0016] Figure 12 It is an illustration of a user interface that adds categories to content based on text input, based on one or more example implementations.
[0017] Figure 13 It is an illustration of a user interface for adding categories to content using creative tools, based on one or more example implementations.
[0018] Figure 14 It is a diagram of a user interface that adds categories to shared content in relation to one or more example implementations.
[0019] Figure 15 It is a diagram of a user interface that adds content to a collection of categorized content, based on one or more example implementations.
[0020] Figure 16 It is a diagram of a user interface that includes options for shared categories, based on one or more example implementations.
[0021] Figure 17 It is a diagram of a user interface for managing content associated with one or more categories, based on one or more example implementations.
[0022] Figure 18 It is a diagram of a user interface that applies augmented reality content items to user content, based on one or more example implementations.
[0023] Figure 19 It is a diagram of a user interface for selecting one or more recipients of user content, based on one or more example implementations.
[0024] Figure 20 It is a diagram of a user interface that displays recommendations for categories of content items based on user input from a client-based application, according to one or more example implementations, and based on at least one of user profile data or category usage data.
[0025] Figure 21 It is a diagram of a user interface for selecting one or more recipients of user content, based on one or more example implementations.
[0026] Figure 22 It is a diagram of a user interface that generates modified user content, including additional text content, based on one or more example implementations.
[0027] Figure 23 It is a block diagram illustrating a representative software architecture that can be used in conjunction with one or more hardware architectures described herein, based on one or more example implementations.
[0028] Figure 24 It is a block diagram illustrating components of a computer system, in the form of a machine, which can read and execute instructions from one or more machine-readable media to perform any or more methods described herein, according to one or more example implementations. Detailed Implementation
[0029] Content can be created using an application executed by a client device. For example, a client application can be used to create messages that can be exchanged between a user's client devices. In these cases, the client application can include at least one of a messaging application or a social networking application. Messages can include content such as text content, video content, audio content, image content, or one or more combinations thereof. The client application can also be used outside of a messaging context to generate at least one of text content, image content, video content, or audio content that can be shared between client devices.
[0030] Client-side applications can be executed by a large number of users (such as thousands or even millions) to generate content. Therefore, the volume of content generated using client-side applications can be substantial. Content generated using client-side applications can vary and be associated with multiple different themes, such as location, events, various objects, individuals, or animals. In many cases, content created using client-side applications is shared with multiple other users. However, in conventional systems, large amounts of content are not curated in a way that allows individuals to easily discover content they might be interested in. Furthermore, it can be challenging for users to publish their content in ways that are additionally discoverable by the user. Typically, conventional systems are limited in how content is categorized and in the channels that can be used to discover content that users are interested in. For example, typical social networking platforms allow users to post content to personal pages or accounts that may include publicly accessible content. However, content publicly posted by users is often discovered based on the user's identity rather than on the topic related to the content. Additionally, the number of ways that conventional systems can categorize content is limited and may depend on user input.
[0031] The systems, methods, techniques, instruction sequences, and computer program products described herein are for classifying content generated using client applications and for accessing content based on one or more categories associated with the content. Content can be generated by a client application executed by a content creator's client device and sent to a server system, which can distribute the content to one or more additional client devices of content recipients. The server system can also determine one or more categories of content and aggregate content belonging to the same category. Based on the category, other users can access the content associated with that category. In various examples, content can be accessed without providing an identifier of the user who created the content.
[0032] In various implementations, the content can be created by a user of the client application. The client application may include social networking functionality. Additionally, the client application may provide messaging functionality. In one or more implementations, the client device may be used in conjunction with the client application to capture content such as image content or video content. The client application may utilize one or more input devices, such as at least one of one or more cameras or one or more microphones on the client device, and control the operation of one or more input devices within the client application. Data corresponding to the content can be used to determine one or more categories of the content. In one or more illustrative examples, a user of the client application may provide data for determining one or more categories of the content. For example, a user of the client application may provide text corresponding to images or videos, such as captions, comments, annotations, or messages, that can be used to determine one or more categories of the content. In at least some examples, the text may include explicit categories of content that can be marked by one or more symbols such as the "#" symbol. Furthermore, a user of the client application may implement a creative tool relative to the content and may determine one or more categories of the content based on this creative tool. Creative tools can alter the appearance of image or video content, add overlays to at least one image or video content, add animations to image or video content, or one or more combinations thereof. They can also determine one or more categories for content based on selecting at least one category identifier from a list of category identifiers corresponding to multiple categories.
[0033] In another example, content-related data can be analyzed to implicitly determine one or more categories of the content. For illustration, image recognition techniques can be used to identify one or more objects included in image or video content. The content can then be categorized based on at least one object included in the image or video content. Furthermore, location data corresponding to a client device can be used to determine one or more categories of the content. In one or more examples, location data can be used to identify one or more events that may occur at or near that location, and one or more categories can be determined based on one or more events related to the content.
[0034] In one or more implementations, the server system can obtain content from multiple client devices of a user of a client application and aggregate content with one or more categories. This allows the system to generate a repository of content with the same or similar categories. Users of the client application can access content associated with a category by providing an identifier corresponding to that category. In various examples, the order in which content is presented to the appropriate user can be based on a ranking of content determined according to one or more user characteristics. For example, the server system can analyze information about a user of the client application regarding one or more characteristics of content associated with a category to determine the level of interest for at least a portion of the content items belonging to that category. Based on these levels of interest, the server system can determine a ranking of multiple content items belonging to that category and, according to this ranking, allow the user to access content items, thereby presenting content items with a relatively high level of interest to the user in one or more user interfaces of the client application, prioritizing those with lower levels of interest.
[0035] Therefore, the systems, methods, techniques, instruction sequences, and computational machine program products described herein provide various implementations to categorize content by offering content discovery mechanisms lacking in conventional systems, enabling content to be accessed by more users if content creators desire it. Furthermore, many different types of data and inputs can be used to determine content categorization, providing flexibility in content categorization not found in conventional techniques and systems. For example, instead of relying on user input to determine the categorization of content items, the categorization can be determined based on characteristics of the content identified by analyzing data associated with the content. In another example, the categorization of content can be identified based on one or more features included in the coverage of the content item.
[0036] Figure 1 This is a graphical representation of architecture 100 for exchanging data (e.g., messages and associated content) over a network. Architecture 100 may include multiple client devices 102. Client devices 102 may individually include, but are not limited to, mobile phones, desktop computers, laptop computing devices, portable digital assistants (PDAs), smartphones, tablet computing devices, ultrabooks, netbooks, multiprocessor systems, microprocessor-based or programmable consumer electronics systems, game consoles, set-top boxes, computers in vehicles, wearable devices, one or more combinations thereof, or any other communication devices that a user can utilize to access one or more components included in architecture 100.
[0037] Each client device 102 may host multiple applications, including client application 104 and one or more third-party applications 106. Users can use client application 104 to create content such as videos, images (e.g., photos), audio, and media overlays. In one or more illustrative examples, client application 104 may include social networking features that enable users to create and exchange content. In various examples, client application 104 may include messaging features that can be used to send messages between instances of client application 104 executed by various client devices 102. Messages created using client application 104 may include videos, one or more images, audio, media overlays, text, content generated using one or more creative tools, annotations, etc. In one or more implementations, client application 104 may be used to view and generate interactive messages, view the locations of other users of client application 104 on a map, chat with other users of client application 104, etc.
[0038] One or more users can be people, machines, or other devices that interact with client devices such as the first client device 102. In example implementations, a user may not be part of architecture 100, but may interact with one or more components of architecture 100 via client device 102 or other means. In various examples, a user may provide input to client device 102 (e.g., touchscreen input or alphanumeric input), and this input may be transmitted to other entities within architecture 100. In this instance, other entities within architecture 100, in response to user input, may transmit information to client device 102 to be presented to the user. Thus, a user can interact with various entities within architecture 100 using client device 102.
[0039] Each instance of client application 104 is capable of transmitting and exchanging data with at least one instance of client application 104, one or more third-party applications 106, or server system 108. The data exchanged between instances of client application 104, between third-party applications 106, and between instances of client application 104 and server system 108 includes functions (e.g., commands to invoke functions) and payload data (e.g., text, audio, images, video, or other multimedia data). Data exchanged between instances of client application 104, between third-party applications 106, and between at least one instance of client application 104 and at least one third-party application 106 can be exchanged directly from instances of applications executed by client device 102 and instances of applications executed by additional client device 102. Furthermore, data exchanged between client applications 104, between third-party applications 106, and between at least one client application 104 and at least one third-party application 106 can be indirectly (e.g., via one or more intermediate servers) from instances of applications executed by client device 102 to another instance of an application executed by additional client device 102. In one or more illustrative examples, one or more intermediate servers used in indirect communication between applications may be included in server system 108.
[0040] Third-party application 106 can be separate from and distinct from client application 104. Third-party application 106 can be downloaded and installed separately by client device 102 from client application 104. In various implementations, third-party application 106 can be downloaded and installed by client device 102 before or after client application 104 is downloaded and installed. Third-party application 106 can be provided by an entity or organization different from the entity or organization providing client application 104. Client device 102 can access third-party application 106 using different login credentials than client application 104. That is, third-party application 106 can maintain a first user account, while client application 104 can maintain a second user account. In some implementations, client device 102 can access third-party application 106 to perform various activities and interactions, such as listening to music and videos, tracking workouts, viewing graphical elements (e.g., stickers), and communicating with other users. As an example, third-party application 106 may include social networking applications, dating applications, bicycle or car sharing applications, shopping applications, transaction applications, game applications, imaging applications, music applications, video browsing applications, exercise tracking applications, health monitoring applications, graphic element or sticker browsing applications, or any other suitable applications.
[0041] Server system 108 provides server-side functionality to client application 104 via one or more networks 110. Depending on some example implementations, server system 108 may be a cloud computing environment. For example, in one illustrative example, server system 108 and one or more servers associated with server system 108 may be associated with a cloud-based application. In one or more implementations, one or more client devices 102 and server system 108 may be coupled via one or more networks 110. One or more portions of one or more networks 110 may be an ad hoc network, intranet, extranet, virtual private network (VPN), local area network (LAN), wireless LAN (WLAN), wide area network (WAN), wireless WAN (WWAN), metropolitan area network (MAN), a portion of the Internet, a portion of the public switched telephone network (PSTN), a cellular telephone network, a wireless network, a Wi-Fi network, a WiMax network, other types of networks, or a combination of two or more such networks.
[0042] Server system 108 supports various services and operations provided to client application 104. Such operations include transmitting data to client application 104, receiving data from client application 104, and processing data generated by client application 104. As an example, this data may include message content, media content, client device information, geolocation information, media comments and overlays, message content persistence conditions, social network information, and live event information. Data exchange within architecture 100 is invoked and controlled via functions available through the user interface (UI) of client application 104.
[0043] Although some functions of architecture 100 are described herein as being performed by client application 104 or server system 108, the location of the functions within client application 104 or server system 108 is a design choice. For example, it may be technically preferred that certain technologies and functions are initially deployed within server system 108, but that technology and functions are later migrated to client application 104 on client device 102 with sufficient processing power.
[0044] Server system 108 includes an application programming interface (API) server 112, which is coupled to application server 114 and provides a programming interface to application server 114. Application server 114 is communicatively coupled to database server 116, which provides easy access to one or more databases 118. One or more databases 118 may store data associated with information processed by application server 114. One or more databases 118 may be storage devices that store information such as unprocessed media content, raw media content from users (e.g., high-quality media content), processed media content (e.g., media content formatted for sharing with and viewing on client device 102), background data associated with media content items, background data associated with user devices (e.g., computing or client device 102), media overlays, media overlay smart windows or smart elements, user data, user device information, media content (e.g., videos and images), media content data (e.g., data associated with videos and images), computing device background data, serialization data, session data items, user device location data, mapping information, interactive message usage data, interactive message metric data, etc. One or more databases 118 may also store information related to third-party servers, client device 102, client application 104, users, third-party application 106, etc.
[0045] API server 112 receives and transmits data (e.g., command and message payloads) between client device 102 and application server 114. Specifically, application programming interface (API) server 112 provides a set of interfaces (e.g., routines and protocols) that client application 104 can call or query to invoke functions of application server 114. API server 112 exposes various functions supported by application server 114, including account registration, login functionality, sending messages from one instance of client application 104 to another instance of client application 104 via application server 114, sending media files (e.g., images, audio, video) from client application 104 to application server 114, and setting up sets of media content (e.g., galleries, stories, message sets, or media sets) for possible access by another client application 104, retrieving the friend list of the user of client device 102, retrieving such sets, retrieving messages and content, adding and deleting friends in the social graph, locating friends within the social graph, and opening application events (e.g., involving client application 104).
[0046] Application server 114 hosts multiple applications and subsystems, including messaging application system 120, media content processing system 122, social networking system 124, and content classification system 126. Messaging application system 120 implements various messaging technologies and functions, particularly involving the aggregation and other processing of content (e.g., text and multimedia content) received from multiple instances of client application 104. For example, messaging application system 120 can deliver messages via wired networks (e.g., the Internet), common old-style telephone service (POTS), or wireless networks (e.g., mobile, cellular, Wi-Fi, LTE, or Bluetooth) using email, instant messaging (IM), short message service (SMS), text, fax, or voice (e.g., Voice over IP (VoIP)) messages. Messaging application system 120 can aggregate text and media content from multiple sources into content collections. These collections are then provided by messaging application system 120 to client application 104. Given the hardware requirements of such processing, additional processor- and memory-intensive data processing can also be performed by messaging application system 120 on the server side.
[0047] Media content processing system 122 is dedicated to performing various media content processing operations, typically relative to the payload of images, audio, or video received at the messaging application system 120, or other content items. Media content processing system 122 may access one or more data storage devices (e.g., database 118) to retrieve stored data used in processing media content and to store the results of the processed media content.
[0048] Social networking system 124 supports various social networking functions and services and makes these functions and services available to messaging application system 120. To this end, social networking system 124 maintains and accesses an entity graph within database 118. Examples of functions and services supported by social networking system 124 include identifying other users of client application 104 with whom a particular user has a relationship or who is “following” the particular user, as well as identifying the user’s following and other entities. Social networking system 124 can access location information associated with each of the user’s friends to determine where they live or are currently geographically located. Additionally, social networking system 124 can maintain a location profile for each of the user’s friends, indicating the geographical location where the user’s friends reside.
[0049] Content classification system 126 can determine one or more categories of content generated using client application 104. Content may include text content, image content, video content, audio content, content annotations, or combinations thereof generated using client application 104. In one or more illustrative examples, content may include image content with one or more annotations. One or more annotations may include overlays that include at least one of text content, content generated using one or more creative tools of client application 104, one or more additional images, or one or more animations. After a user of client device 102 generates content by providing input via client application 104, client device 102 may send data corresponding to that content to server system 108. In various examples, client application content data 128 may be transmitted between client device 102 and server system 108. Client application content data 128 may include data corresponding to content generated using client application 104 and sent from client device 102 to server system 108. Furthermore, client application content data 128 may include data related to client application 104 sent from server system 108 to client device 102. For example, client application content data 128 may include data corresponding to content identified by server system 108 based on one or more requests received from client device 102. Furthermore, client application content data 128 may include data corresponding to content to which the user of client device 102 is the recipient.
[0050] Server system 108 may store at least a portion of client application content data 128 as client application content 130 in database 118. Client application content 130 may include multiple content items 132. Each content item 132 may include one or more images, one or more videos, text, audio, one or more content annotations, or one or more combinations thereof. In various examples, each content item 132 may include a collection of images, videos, text, audio, content annotations, or combinations thereof. Additionally, client application content 130 may include category data 134. Category data 134 may correspond to one or more categories associated with a given content item 132. In one or more illustrative examples, category data 134 may include identifiers corresponding to the respective categories. At least a portion of one or more categories for a given content item 132 may be determined by content classification system 126. In other examples, at least one category for a given content item 132 may be determined by client application 104.
[0051] In one or more implementations, content classification system 126 may analyze a portion of client application content data 128 obtained from client device 102 to determine one or more categories of content generated by client application 104. In various examples, client application content data 128 may include content item 136 corresponding to content items generated by client application 104 and sent to server system 108. Content classification system 126 may analyze data associated with content item 136 to determine one or more categories corresponding to the content item. In one or more examples, the data for content item 136 may include image data, and content classification system 126 may analyze the image data to determine one or more objects included in the image. In these scenarios, content classification system 126 may determine one or more categories of the content item based on at least one object included in the image. In one or more additional examples, content classification system 126 may determine one or more recommendations for categories of the content item based on one or more objects included in the image.
[0052] Additionally, the content classification system 126 can analyze data corresponding to image overlays. For example, a user of client application 104 can use client application 104 to generate text content that can overlay an image, which is captured by a client device or stored by at least one client device 102. In other examples, a user of client application 104 can overlay additional image content or additional video content onto an image or video. In various examples, the overlay can be generated by one or more creative tools of client application 104. In one or more examples, the overlay associated with the image can include a classification identifier. For illustration, the overlay can include text corresponding to the classification identifier. In one or more illustrative examples, the classification identifier can be identified by using a symbol such as the "#" symbol. In these cases, the content classification system 126 can determine the classification of content item 136 based on the classification identifier included in the overlay. The content classification system 126 can also determine the classification of content item 136 based on the creative tool used to generate at least one of the overlay or the identifier of the overlay. In one or more implementations, the overlay can be associated with an identifier based on input from the overlay creator or service provider, making the overlay available to the user of client application 104. In one or more illustrative examples, the identifier for the overlay may include "current time" or "current temperature". In these cases, the classification of content item 136 may correspond to the identifier associated with the overlay.
[0053] In one or more implementations, the content classification system 126 may determine the classification of content item 136 based on one or more classification identifiers selected by the user of client device 102 relative to content item 136. For example, client application 104 may generate a user interface that includes one or more classification identifiers for content item 136. One or more identifiers may include one or more recommendations for the classification of content item 136. In various examples, the classification identifiers included in the user interface that can be selected by the user of client application 104 may be determined by at least one of client application 104 or content classification system 126 based on at least one of the following: overlays associated with content item 136, image content data of content item 136 (such as objects included in an image of content item 136), text data of content item 136, additional annotation data of content item 136, video data of content item 136, or audio data of content item 136. In one or more illustrative examples, when the user of client application 104 is selecting one or more recipients for content item 136, the classification identifiers may be included in the user interface generated by client application 104. In these scenarios, the user interface elements corresponding to the classification identifier can be selected to classify the content item 136 according to the classification associated with the classification identifier.
[0054] After determining one or more categories for content item 136, content classification system 126 can store the content item as part of content item 132 in database 118. Content classification system 126 can also store one or more category identifiers associated with content item 136 as part of classification data 134. In one or more examples, content classification system 126 can store content item 136 in association with one or more categories, such that content item 136 can be retrieved based on the identifiers of the one or more categories associated with content item 136. For illustration, content item 136 can be retrieved in response to a request for content item, the content item corresponding to a category identifier associated with at least one category of content item 136. Thus, content item 136 can be provided to the user of client application 104 as part of a set of content items associated with at least one category of content item 136.
[0055] In one or more illustrative examples, content item 136 may be associated with the category “classic cars”. In these cases, content item 136 may be stored in database 118 relative to an identifier corresponding to “classic cars”. In response to a request for a content item associated with “classic cars”, content classification system 126 may identify and provide content item 136, such that content item 136 may be displayed in the user interface along with one or more additional content items associated with the category “classic cars”. In one or more implementations, content classification system 126 may determine the ranking of content items associated with one or more categories before providing one or more content items in response to a request for content with one or more categories. The ranking of content items may be based on information relevant to the user requesting content associated with one or more categories. For example, the profile information of a user requesting content related to "classic cars" can be analyzed by the content classification system 126 regarding multiple content items associated with the category "classic cars" to determine the order in which at least a portion of the content items associated with the category "classic cars" will be provided to the user via the client application 104.
[0056] Figure 2 This is a schematic diagram illustrating a data structure 200 that can be stored in a database 118 of server system 108 according to one or more example implementations. Although the contents of database 118 are shown as including multiple tables, it should be understood that the data can be stored in other types of data structures (e.g., as an object-oriented database).
[0057] Database 118 may include message data stored in message table 202. In various examples, message data may correspond to one or more short-lived messages with a limited duration. Entity table 204 may store entity data, including entity graph 206. Entities maintaining records in entity table 204 may include individuals, company entities, organizations, objects, locations, events, etc. Regardless of type, any entity whose data is stored in server system 108 can be an identifiable entity. Each entity is assigned a unique identifier and an entity type identifier (not shown).
[0058] Entity graph 206 also stores information about the relationships and associations between entities. For example, such relationships can be social, professional (e.g., working in the same company or organization), interest-based, or activity-based.
[0059] Database 118 can also store annotation data in annotation table 208 as an example of filters. Filters storing data in annotation table 208 are associated with videos or images and applied to videos (whose data is stored in video table 210) or images (whose data is stored in image table 212). In one example, a filter is an overlay displayed as an image or video during presentation to the recipient user. Filters can be of various types, including filters selected by the user from a filter gallery presented to the sender by client application 104 when the sender is composing a message. Other types of filters include geolocation filters (also called geofilters), which can be presented to the sender based on geolocation. For example, based on geolocation information determined by the GPS unit of client device 102, client application 104 can present geolocation filters specific to nearby or particular locations within the user interface. Another type of filter is a data filter, which can be selectively presented to the sender by client application 104 based on other input or information collected by client device 102 during message creation processing. Examples of data filters include the current temperature at a specific location, the current speed of the user's movement, the battery life of the client device 102, or the current time.
[0060] Other annotation data that can be stored in image table 212 are augmented reality content items (e.g., corresponding to an applied lens or augmented reality experience). Augmented reality content items can be real-time special effects and sounds that can be added to images or videos.
[0061] As described above, augmented reality content items, overlays, image transformations, AR images, and similar terms refer to modifications that can be made to a video or image. This includes real-time modifications, which modify an image as it is captured using the device's sensors and then display that image along with the modifications on the device's screen. It also includes modifications to stored content, such as video clips in a gallery that can be modified. For example, in a device that can access multiple augmented reality content items, a user can use a single video clip with multiple augmented reality content items to see how different augmented reality content items will modify the stored clip. For example, by selecting different augmented reality content items for the content, multiple augmented reality content items applying different pseudo-random motion models can be applied to the same content. Similarly, real-time video capture can be used in conjunction with the modifications shown to demonstrate how the video image currently captured by the device's sensors will modify the captured data. Such data may simply be displayed on the screen without being stored in memory, or the content captured by the device's sensors may be recorded and stored in memory with or without modification (or both). In some systems, a preview function can show different augmented reality content items displayed simultaneously in different windows of the display. For example, this can make it possible to view multiple windows with different pseudo-random animations on the monitor at the same time.
[0062] Therefore, using augmented reality content items and various systems, or other such transformation systems that use that data to modify the content, can involve the detection of objects (e.g., faces, hands, bodies, cats, dogs, surfaces, objects, etc.), tracking such objects as they leave or enter the field of view in a video frame and move around the field of view, and modifying or transforming such objects while they are being tracked. In various implementations, different methods can be used to implement such transformations. For example, some implementations may involve generating a 3D mesh model of one or more objects and using transformations and animated textures of the models within the video to implement the transformation. In other implementations, tracking points on the objects can be used to place images or textures (which can be 2D or 3D) at the tracked locations. In even more advanced implementations, neural network analysis of video frames can be used to place images, models, or textures within the content (e.g., images or video frames). Therefore, augmented reality content items refer both to the images, models, and textures used to create transformations within the content and to the additional modeling and analysis information required to implement such transformations using object detection, tracking, and placement.
[0063] Real-time video processing can be performed using any type of video data (e.g., video streams, video files, etc.) stored in the memory of any type of computerized system. For example, a user can load a video file and store it in the device's memory, or a video stream can be generated using the device's sensors. Furthermore, computer-animated models can be used to process any object, such as a human face and parts of the human body, animals, or inanimate objects (such as chairs, cars, or other objects).
[0064] In some implementations, when a specific modification is selected along with the content to be transformed, the element to be transformed is identified by a computing device, and then, if the element to be transformed exists in a video frame, it is detected and tracked. The elements of the object are modified according to the modification request, thereby transforming the frames of the video stream. For different types of transformations, the transformation of the video stream frames can be performed using different methods. For example, for frame transformations primarily involving changing the form of object elements, feature points of each element in the object are calculated (e.g., using an Active Shape Model (ASM) or other known methods). Then, a feature point-based mesh is generated for each of at least one element of the object. This mesh is used for subsequent stages of tracking the elements of the object in the video stream. In the tracking process, the mesh mentioned for each element is aligned with the position of each element. Then, additional points are generated on the mesh. A first set of first points is generated for each element based on the modification request, and a second set of points is generated for each element based on the first set of points and the modification request. The frames of the video stream can then be transformed by modifying the elements of the object based on the first and second set of points and the mesh. In such methods, the background of the modified object can also be changed or distorted by tracking and modifying the background.
[0065] In one or more implementations, transformations that alter some regions of an object using its elements can be performed by calculating feature points for each element of the object and generating a mesh based on those calculated feature points. Points are generated on the mesh, and various regions are then generated based on these points. The elements of the object are then tracked by aligning the regions of each element with the positions of at least one element, and the frames of the video stream can be transformed by modifying the properties of the regions based on modification requests. Depending on the specific modification request, the properties of the mentioned regions can be transformed in different ways. Such modifications can involve: changing the color of the region; removing at least a portion of the region from the frames of the video stream; including one or more new objects in the region based on the modification request; and modifying or distorting the elements of the region or object. Any combination of such modifications or other similar modifications can be used in various implementations. For some models to be animated, some feature points can be selected as control points to determine the entire state space for options used in model animation.
[0066] In some implementations of computer animation models that use face detection to transform image data, a specific face detection algorithm (e.g., Viola-Jones) is used to detect faces in the image. Then, an Active Shape Model (ASM) algorithm is applied to the facial regions of the image to detect facial feature reference points.
[0067] In other implementations, alternative methods and algorithms suitable for face detection can be used. For example, some implementations use landmarks to locate features, which represent distinguishable points present in most of the images considered. For instance, for facial landmarks, the location of the left pupil could be used. Secondary landmarks can be used when the initial landmarks are unrecognizable (e.g., if the person is wearing an eye patch). Such a landmark recognition process can be used for any such object. In some implementations, the set of landmarks forms a shape. The shape can be represented as a vector using the coordinates of the points within it. One shape is aligned with another shape through a similarity transformation (allowing translation, scaling, and rotation) that minimizes the average Euclidean distance between the points of the shapes. The average shape is the average of the aligned training shapes.
[0068] In some implementations, the search begins by finding marker points from an average shape aligned with the position and size of a face determined by a global face detector. This search is then repeated using the following steps until convergence occurs: the shape points are localized using template matching of the image texture around each point to suggest a provisional shape, and then the provisional shape is fitted to a global shape model. In some systems, individual template matching is unreliable, and the shape model pools the results of weak template matchers to form a stronger overall classifier. The entire search is repeated at each level of the image pyramid, from coarse to fine resolution.
[0069] The transformation system can be implemented by capturing image or video streams on a client device (e.g., client device 102) and performing complex image manipulations locally on client device 102, while maintaining an appropriate user experience, computation time, and power consumption. Complex image manipulations can include size and shape changes, mood transformations (e.g., changing a face from frowning to smiling), state transformations (e.g., aging a subject, reducing apparent age, changing gender), style transformations, application of graphic elements, and any other suitable image or video manipulations implemented by a convolutional neural network that has been configured to execute efficiently on client device 102.
[0070] In some example implementations, a computer-animated model for transforming image data can be used by a system where a user can capture an image or video stream (e.g., a selfie) using a client device 102 that operates as part of a messaging client 104 operating on client device 102. A transformation system operating within the messaging client application 104 determines the presence of a face within the image or video stream and provides a modification icon associated with the computer-animated model to transform the image data, or the computer-animated model can be presented as associated with the interface described herein. The modification icon includes a change that can be the basis for modifying the user's face within the image or video stream as part of a modification operation. Once a modification icon is selected, the transformation system initiates a process to transform the user's image to reflect the selected modification icon (e.g., generating a smiley face on the user). In some implementations, once the image or video stream is captured and the specified modification is selected, the modified image or video stream can be presented in a graphical user interface displayed on a mobile client device. The transformation system can implement a complex convolutional neural network on a portion of the image or video stream to generate and apply the selected modification. In other words, once an edit icon is selected, the user can capture an image or video stream and see the modified result displayed in real-time or near real-time. Furthermore, while a video stream is being captured, the edits can be persistent, and the selected edit icon continues to be toggled. Machine-trained neural networks can be used to achieve such edits.
[0071] In some implementations, the graphical user interface (GUI) presenting the modifications performed by the transformation system can provide users with additional interactive options. Such options can be based on the interface used to initiate content capture and selection for a specific computer animation model (e.g., initiated from a content creator user interface). In various implementations, modifications can be persistent after an initial selection of the modification icon. Users can turn modifications on or off by tapping or otherwise selecting a face modified by the transformation system and save it for later viewing or browsing to other areas of the imaging application. In the case of multiple faces being modified by the transformation system, users can globally turn modifications on or off by tapping or selecting a single face modified and displayed within the GUI. In some implementations, individual faces within a group of multiple faces can be modified individually, or such modifications can be toggled individually by tapping or selecting individual faces or a series of individual faces displayed within the GUI.
[0072] As described above, video table 210 stores video data, which, in one or more implementations, is associated with messages whose records are maintained within message table 202. Similarly, image table 212 stores image data, which is associated with messages whose message data is stored in entity table 204. Entity table 204 can associate various annotations from annotation table 208 with various images and videos stored in image table 212 and video table 210.
[0073] Story table 214 stores data about messages and collections of associated image, video, or audio data, compiled into collections (e.g., stories or galleries). The creation of a specific collection can be initiated by a specific user (e.g., each user maintaining a record in entity table 204). A user can create a "personal story" in the form of a collection of content that has been created and sent / broadcast by that user. For this purpose, one or more user interfaces generated by client application 104 may include user-selectable icons that allow the sending user to add specific content to his or her personal story.
[0074] The collection can also constitute a "live story," which is a collection of content from multiple users, created manually, automatically, or using a combination of manual and automatic technologies. For example, a "live story" can constitute a curated stream of user-submitted content from various locations and events. Users on client device 102 with location-enabled services and who are at a co-location event at a specific time can be presented with options, for example, via the user interface of client application 104, to contribute content to a specific live story. Live stories can be identified to users by client application 104 based on user location. The end result is a "live story" told from a community perspective.
[0075] Another type of content collection is called a "location story," which allows users whose client devices 102 are located in a specific geographic location (e.g., at a university or on a university campus) to contribute to a specific collection. In some implementations, contributing to a location story may require secondary authentication to verify that the end user belongs to a specific organization or other entity (e.g., a student on a university campus).
[0076] Database 118 may also store content category data 216 indicating the classification of content items generated by client application 104. For example, content category data 216 may include one or more identifiers of the corresponding category for each content item. In one or more examples, content category data 216 may include one or more lists of category identifiers that can be applied to the corresponding content items. In various implementations, content category data 216 may indicate multiple content items associated with a corresponding content identifier. For example, content category data 216 may indicate a first number of content items associated with a first content identifier (e.g., “keto diet”) and a second number of content items associated with a second content identifier (e.g., “plant-based diet”). Additionally, content category data 216 may indicate one or more category identifiers associated with a corresponding content item. For illustration, content category data 216 may indicate a first content item associated with one or more first content identifiers and a second content item associated with one or more second content identifiers. In one or more illustrative examples, at least one of the one or more first content identifiers may be different from at least one of the one or more second content identifiers.
[0077] Figure 3 This is a schematic diagram illustrating an example framework of content 300 according to some implementations. Content 300 may be generated by client application 104. In various examples, content 300 may be generated by a first instance of client application 104 and transmitted to at least one of a second instance of client application 104 or server system 108. Where content 300 includes messages, content 300 may be used to populate message table 202 stored in database 118 and accessible by application server 114. In one or more implementations, content 300 may be stored in memory as “in transit” or “in flight” data of at least one of client device 102 or application server 114. Content 300 is shown to include the following components:
[0078] Content Identifier 302: A unique identifier that identifies content 300.
[0079] • Content text payload 304: Text that will be generated by the user via the user interface of the client application 104 and can be included in the content 300.
[0080] • Content image payload 306: Image data captured by the camera component of the client device 102 or retrieved from the memory component of the client device 102 and included in the content 300.
[0081] • Content video payload 308: Video data captured by the camera component or retrieved from the memory component of the client device 102 and included in the content 300.
[0082] • Content audio payload 310: Audio data captured by the microphone or retrieved from the memory component of the client device 102 and included in the content 300.
[0083] • Content annotation 312: Annotation data (e.g., filters, stickers, overlays or other enhancements) representing annotations to be applied to the content image payload 306, content video payload 308 or content audio payload 310 of content 300.
[0084] • Content Duration Parameter 314: Parameter value, in seconds, indicates the amount of time that content 300 (e.g., content image payload 306, content video payload 308, content audio payload 310) will be presented or made accessible to the user via client application 104.
[0085] • Content geolocation parameter 316: Geolocation data (e.g., latitude and longitude coordinates) associated with the payload of content 300. The payload may include multiple values of geolocation parameter 316, each value of geolocation parameter 316 being associated with a content item included in content 300 (e.g., a specific image in content image payload 306, or a specific video in content video payload 308).
[0086] • Content Story Identifier 318: An identifier value that identifies one or more content sets (e.g., "story") to which a specific content item in the content image payload 306 of content 300 is associated. For example, multiple images within the content image payload 306 may each be associated with multiple content sets using identifier values.
[0087] • Content Tag 320: Content 300 can be labeled using multiple tags, each tag indicating the subject of one or more content items included in the payload of content 300. For example, in the case where a specific image included in content image payload 306 depicts an animal (e.g., a lion), a tag value indicating the relevant animal can be included within content tag 320. Tag values can be generated manually based on user input or automatically using, for example, image recognition.
[0088] • Content sender identifier 322: An identifier (e.g., system identifier, email address, or device identifier) indicating the user of the client device 102 on which the content 300 is generated and from or from the content 300.
[0089] • Content recipient identifier 324: An identifier (e.g., system identifier, email address, or device identifier) indicating the user of another client device 102 to which the content 300 is addressed or otherwise accessible.
[0090] • Content category identifier 326: An identifier for the category of content items included in content 300. Content item category identifier 326 may be one of several category identifiers associated with content 300. In one or more illustrative examples, content category identifier 326 may correspond to one or more alphanumeric characters or symbols.
[0091] The data (e.g., values) of each component of content 300 can correspond to pointers to locations within tables storing the data. For example, image values in content image payload 306 can be pointers to locations (or addresses) within image table 212. Similarly, values in content video payload 308 can point to data stored in video table 210, values stored in annotation 312 can point to data stored in annotation table 208, values stored in content story identifier 318 can point to data stored in story table 214, and values stored in content sender identifier 322 and content receiver identifier 324 can point to user records stored in entity table 204. Furthermore, the value of content category identifier 326 can point to data stored within a data structure including content category data 216.
[0092] Figure 4 This is a graphical representation of an architecture 400 that can determine the classification of content items and make content items accessible to users based on the classification. Architecture 400 includes a content classification system 126. The content classification system 126 includes a content item classifier 402, a content item storage and retrieval system 404, a content item ranking system 406, and a content item manager 408.
[0093] Content item classifier 402 can analyze data associated with content item 136 to determine one or more categories for content item 136. The data associated with content item 136 can be obtained by content classification system 126 from an instance of client application 104 executed by client device 102. The data analyzed by content item classifier 402 relative to content item 136 may include at least one of text overlay data 412, image or video overlay data 414, image or video data 416, or category identifier data 418. In various examples, at least a portion of the categories determined by content item classifier 402 relative to content item 136 may be a recommendation for a category of content item 136. Based on input obtained via one or more user interfaces displayed in conjunction with client application 104, a user of client application 104 can accept or reject the recommendation for a category of content item 136.
[0094] Text overlay data 412 may correspond to data related to the text content of the image or video content of the overlay content item 136. Text overlay data 412 may indicate one or more alphanumeric characters, one or more symbols, or combinations thereof in the text of at least one of the image or video content of the overlay content item 136. In one or more examples, text overlay data 412 may indicate one or more identifiers for one or more categories. For example, text overlay data 412 may indicate at least one word, letter, or symbol corresponding to one or more category identifiers. In one or more illustrative examples, text overlay data 412 may include symbols indicating identifiers for content categories, such as "#".
[0095] In various examples, content item classifier 402 can analyze the text of text coverage data 412 to determine at least one of letters, words, or symbols associated with at least one text coverage of content item 136. In various examples, content item classifier 402 can implement one or more natural language processing techniques to determine at least one of the letters, words, or symbols in the text coverage. Content item classifier 402 can then determine a similarity level between at least a portion of the text included in the text coverage of content item 136 and at least one of the letters, words, or symbols of a plurality of classification identifiers. The similarity level can indicate the number of at least one of the letters, words, or symbols in the text coverage of content item 136, corresponding to the number of letters, words, symbols, or combinations thereof of at least one classification identifier. The similarity level can also correspond to the order in which groups of letters, words, symbols, or combinations thereof appear in the text coverage of content item 136 relative to the order in which groups of at least one of the letters, words, or symbols of the classification identifiers appear in the text coverage of content item 136. The similarity level between the text covered by content item 136 and the category identifier can increase as the number of words, letters, symbols, or combinations thereof in the text covered by content item 136 increases, provided that these words, letters, symbols, or combinations thereof share commonalities with the words, letters, symbols, or combinations thereof in the category identifier and have an order corresponding to the words, letters, symbols, or combinations thereof in the category identifier. Based on the similarity level between the text included in the coverage of content item 136 and the text of the category identifier, content item classifier 402 can determine one or more categories associated with content item 136. In one or more illustrative examples, content item classifier 402 can determine that at least a portion of the text coverage of content item 136 corresponds to a category identifier based on a similarity level between the category identifier and at least a portion of the text coverage being greater than a similarity threshold. In another example, content item classifier 402 can determine one or more category identifiers that have a relatively high similarity level to at least a portion of the text coverage of content item 136 relative to other category identifiers, and determine that the category corresponding to the one or more category identifiers is associated with content item 136.
[0096] Content item classifier 402 can also analyze image or video overlay data 414 of content item 136 to determine one or more categories of content item 136. Image overlays may include at least a portion of an image captured using a camera device. Image overlays may be associated with images captured by a user of client application 104 that also generated content item 136 using client application 104. In another example, image overlays may be obtained from another user of client application 104 or from a service provider that generates images that can be used as overlays for content items generated using client application 104. Furthermore, image overlays may be generated by at least one user of client application 104 or a service provider using one or more creative tools of client application 104. For example, at least one of one or more drawing tools or painting tools may be used to create image overlays for content item 136. Video overlays may include video captured by one or more users of client application 104 using a camera device. Additionally, video overlays may include video generated by a service provider that generates video overlays for content items. In one or more implementations, video overlays may include animated content.
[0097] In various examples, image or video overlay data 414 may indicate an identifier for at least one of the image or video overlays of content item 136. The identifier for at least one image or video overlay may correspond to a creative tool used to generate at least one image or video overlay. Alternatively, the identifier for the image or video overlay may be assigned by the overlay creator (such as a user of client application 104 or a service provider that generates at least one image or video overlay for the content item). In cases where the image or video overlay data includes an identifier corresponding to the image or video overlay, content item classifier 402 may determine the category of the content item based on the overlay identifier.
[0098] Additionally, the content item classifier 402 can analyze image or video overlay data to determine one or more features of the image or video overlay of content item 136. One or more features may include one or more objects included in the image or video overlay, one or more locations of the image or video overlay, one or more individuals included in the image or video overlay, or one or more combinations thereof. In one or more illustrative examples, the content item classifier 402 may implement object recognition techniques to determine at least one object or individual included in at least one of the image or video overlays of content item 136. In one or more implementations, the content item classifier 402 may implement one or more machine learning techniques to identify at least one object or individual included in the image or video overlay of content item 136. In various examples, the content item classifier 402 may analyze one or more template images stored in database 118 to determine at least one object or individual included in the image or video overlay of content item 136.
[0099] Content item classifier 402 can determine at least one category of content item 136 based on one or more features of image overlay or video overlay of content item 136. For example, content item classifier 402 can identify one or more keywords associated with features of image overlay or video overlay and analyze one or more keywords associated with those features relative to one or more category identifiers. In various implementations, one or more keywords associated with a corresponding object, individual, or location can be stored in database 118 and used by content item classifier 402 to determine the category of content item 136. In one or more illustrative examples, content item classifier 402 can identify one or more keywords associated with at least one of the objects, individuals, or locations of content item 136 in image overlay or video overlay and determine the similarity level between one or more keywords and one or more category identifiers. Based on the similarity level relative to one or more threshold similarity levels or a ranking relative to similarity levels, content item classifier 402 can determine at least one category identifier corresponding to content item 136 that is associated with at least one of the image overlay or video overlay of content item 136.
[0100] Furthermore, content item classifier 402 can determine one or more categories of content item 136 based on at least one of the image data or video data 416 of content item 136. In one or more examples, content item 136 may include one or more images, one or more videos, or both one or more images and one or more videos. For example, a user of client application 104 may use the camera device of client device 102 to capture at least one of one or more images or one or more videos, and use client application 104 to generate content item 136 such that content item 136 includes one or more images or one or more videos. In a manner similar to that previously described with respect to image or video overlay data 414, content item classifier 402 may analyze at least one of the images or one or more videos included in content item 136 to determine one or more objects, one or more individuals, one or more locations, or one or more combinations thereof included in at least one of the images or one or more videos included in content item 136. For example, content item classifier 402 can implement one or more object recognition techniques to identify at least one or more objects or individuals included in at least one of the images or videos included in content item 136. Content item classifier 402 can then identify one or more keywords corresponding to the objects or individuals included in the images or videos of content item 136, and analyze the one or more keywords in relation to the classification identifier of the content item. Based on analyses such as similarity analysis, content item classifier 402 can determine one or more classifications of content item 136 based on one or more features of at least one of the images or videos of content item 136.
[0101] Content item classifier 402 can also analyze category identifier data 418 of content item 136 to determine one or more categories of content item 136. For example, when content item 136 is generated using client application 104, client application 104 can associate one or more category identifiers with content item 136. In various examples, an instance of client application 104 executed by client device 102 can implement at least a portion of the operations performed by content item classifier 402 to determine one or more categories of content item 136 and assign identifiers of such one or more categories to content item 136. For illustration, client application 104 can analyze at least one of text overlay data 412, image or video overlay data 414, or image or video data 416 to determine one or more categories of content item 136. Client application 104 can send identifiers of one or more categories of content item 136 as category identifier data 418 to content classification system 126. Furthermore, category identifier data 418 may include identifiers of categories selected by the user of client application 104. In one or more illustrative examples, client application 104 may cause one or more user interfaces to be displayed, which may include user interface elements selectable to associate categories with content item 136. One or more user interfaces may include a list of categories selectable for content item 136. In one or more examples, one or more user interfaces may include one or more recommendations for categories of content item 136. Selecting a user interface element corresponding to a category identifier may cause client application 104 to associate the corresponding category with content item 136. In these scenarios, category identifier data 418 may indicate one or more identifiers of at least one category selected by the user of client application 104 for content item 136.
[0102] After determining one or more categories for content item 136, content item classifier 402 can operate in conjunction with content item storage and retrieval system 404 to store data related to content item 136 in association with one or more categories in database 118. For example, content item classifier 402 can determine that a first category 420 and a second category 422 correspond to content item 136. Content item storage and retrieval system 404 can store content item 136 in association with the first category 420 and the second category 422 in database 118. In various examples, content item 136 can be stored in a data structure indicating that content item 136 corresponds to the first category 420 and the second category 422. In one or more illustrative examples, content item 136 can be stored in a database table that includes one or more fields corresponding to the categories (such as the first category 420 and the second category 422) associated with content item 136. Database 118 can store data related to multiple additional content items reaching the Nth content item 424, which is associated with one or more categories (such as the first category 420).
[0103] In one or more implementations, the content item storage and retrieval system 404 can retrieve data corresponding to content items based on a request received from a client device 102 executing an instance of client application 104. In various examples, the content item storage and retrieval system 404 can retrieve data related to content items stored in database 118 in response to a request for content associated with one or more category identifiers. For example, server system 108 can receive a request from client device 102 executing an instance of client application 104 for content associated with a corresponding category identifier such as “spring flowers”. In one or more examples, the category identifier can be entered by a user of client application 104 into one or more user interface elements generated by client application 104. In another example, the category identifier can be selected by a user of client application 104 via selecting a user interface element corresponding to the category identifier displayed in the user interface generated by client application 104.
[0104] In response to receiving a request for content associated with one or more categories, the content item storage and retrieval system 404 can retrieve content item data stored in association with one or more categories from the database 118. In various examples, the content item storage and retrieval system 404 can query the database 118 to retrieve one or more content items corresponding to category identifiers included in the request for content. In one or more illustrative examples, the server system 108 can receive a request for content items corresponding to a first category 420. The content item storage and retrieval system 404 can retrieve data corresponding to at least a portion of the content items associated with the first category 420, such as content item 136 and the Nth content item 424.
[0105] In various implementations, the content item ranking system 406 can determine the ranking of content items that indicate the level of attention paid to content items by one or more users of the client application 104. In one or more examples, the content item ranking system 406 can analyze one or more characteristics of multiple content items relative to the characteristics of users of the client application 104 to determine the corresponding ranking of each content item relative to other content items. For illustration, the content item ranking system 406 can analyze the profile information of the users of the client application 104, the user's account information, the content viewed by the user, the amount of time the user has viewed one or more content items, the user's location, the category of the content viewed by the user, the characteristics of the additional users of the client application 104 that the user follows, the characteristics of the additional users of the client application 104 that follow the user, and one or more combinations thereof, to determine one or more characteristics of the users of the client application 104. Additionally, the content item ranking system 406 can analyze one or more categories of content items, one or more locations associated with content items, one or more objects associated with content items, one or more individuals included in content items, characteristics of the user of the client application 104 that created the content item, the number of times the content item was viewed, the amount of time the content item was viewed, characteristics of the user of the client application 104 that viewed the content item, and one or more combinations thereof, to determine one or more characteristics of each content item. Based on the characteristics of the user of the client application 104 and the characteristics of multiple content items, the content item ranking system 406 can determine the ranking of each content item relative to the user, which indicates the level of attention the user pays when viewing the corresponding content item. In one or more illustrative examples, the ranking of the corresponding content item for the user may correspond to the order in which the content items are presented to the user in the user interface of the client application 104. For example, a first content item with a second ranking higher than a second content item may be presented to the user before the second content item in the user interface of the client application 104. In one or more implementations, the second ranking of the second content item may correspond to a level of attention lower than the level of attention of the first content item.
[0106] Content item ranking system 406 can implement one or more computational techniques to determine the ranking of content items relative to one or more users of client application 104. For example, content item ranking system 406 can implement one or more statistical techniques to determine the ranking of content items relative to one or more users of client application 104. In one or more illustrative examples, content item ranking system 406 can implement one or more linear regression modeling techniques to determine the ranking of content items for users of client application 104. Additionally, content item ranking system 406 can implement one or more gradient descent techniques to determine the ranking of content items relative to users of client application 104. Furthermore, content item ranking system 406 can implement one or more machine learning techniques to determine the ranking of content items for users of client application 104. For illustration, content item ranking system 406 can implement one or more neural networks, such as one or more convolutional neural networks, to determine the ranking of content items relative to users of client application 104. In one or more examples, content item ranking system 406 can implement one or more neural networks to determine features of users of client application 104 that can indicate at least a threshold level of attention to one or more content items associated with the content item classification.
[0107] In one or more implementations, the content item storage and retrieval system 404 may operate in conjunction with the content item ranking system 406 to provide content items in response to a request for content related to a given category. For example, the content item ranking system 406 may determine the ranking of individual content items retrieved by the content item storage and retrieval system 404 in response to a request for content related to one or more categories. To illustrate, in response to a request for content related to a first category 420, the content item storage and retrieval system 404 may obtain at least a portion of the content items corresponding to the first category 420 stored in the database 118. The content item ranking system 406 may then determine the ranking of the content items retrieved by the content item storage and retrieval system 404. In various examples, the content item ranking system 406 may determine the ranking of multiple content items based on one or more characteristics of a user requesting content with a corresponding category. Thus, the content item storage and retrieval system 404 and the content item ranking system 406 can operate to provide multiple content items in response to a user's request for category-related content in the client application 104, multiple content items that the user may be more interested in compared to other content items in that category. Therefore, ranking the content items for each user of the client application 104 within a category can be used to customize the presentation of content items for the user based on the respective user's level of interest in the category-related content items.
[0108] Content item manager 408 enables users of client application 104 to view, organize, share, or manage (at least one of) content items associated with categories generated by client application 104. For example, content item manager 408 may operate in conjunction with content item storage and retrieval system 404 to provide user-generated content items with one or more categories to user's client device 102. To illustrate, content item manager 408 may receive a request to view user-created content items with one or more categories, wherein the request is sent in response to one or more inputs provided via one or more user interfaces displayed by client application 104. Content item manager 408 may then send data corresponding to the user's content item for display by client application 104 to user's client device 102. Content item manager 408 may also, based on input obtained by content item manager 408 via client application 104, cause content items to be added to or deleted from at least one of the user's account or profile in client application 104.
[0109] In various examples, the content item manager 408 may provide content items to the client device 102 of a user of the client application 104, such that the user's content items associated with one or more categories are displayed in one or more pages of the client application 104 dedicated to displaying the user's content items with one or more categories. In one or more illustrative examples, content items created by the user that are not associated with at least one category may not be displayed on one or more pages. In one or more implementations, content items created by a user of the client application 104 and associated with at least one category determined by the content classification system 126 may be publicly accessible to other users of the client application 104, while content items created by the user that are not associated with a category determined by the content classification system 126 may be subject to limited access by the user of the client application 104. For illustration, content items not associated with a specific category identifier may be restricted to access by the recipient of the content item specified by the user who created the content item.
[0110] Figure 5This is a graphical representation of an architecture 500 that provides information related to the classification of content items according to one or more example implementations. Architecture 500 may include a first client device 502 operated by a first user 504. Architecture 500 may also include a second client device 506 operable by a second user 508. The first client device 502 and the second client device 506 may store and execute instances of client application 104. The first client device 502 and the second client device 506 may also include one or more cameras that can capture at least one of image content or video content. The first client device 502 may also include one or more input devices that capture audio content, which may correspond to the video content captured by the cameras. The cameras may capture a camera view that may include a live view of the content captured by the cameras. Client application 104 may enable the display of multiple user interfaces via one or more display devices of client device 102.
[0111] Furthermore, architecture 500 may include server system 108. Server system 108 may implement content classification system 126. Server system 108 may be coupled to database 118. Database 118 may store information related to multiple classifications of content items. For example, database 118 may store information related to first classification 510 through Nth classification 512. For example, database 118 may store first classification information 514. In one or more examples, first classification information 514 may indicate an identifier for first classification 510. For illustration, the identifier for first classification 510 may indicate a text string corresponding to first classification 510. The text string may include multiple alphanumeric characters. In one or more additional examples, first classification information 514 may indicate at least one of image content, video content, or audio content identifying first classification 510. Furthermore, first classification 510 may correspond to first content item 516.
[0112] In various examples, the first category information 514 can indicate the usage of the first category 510. The usage of the first category 510 can indicate multiple content items corresponding to the first category 510. Furthermore, the usage of the first category 510 can indicate at least one of the number of times the first category 510 has been shared with users of the client application 104, or the number of times the content items corresponding to the first category 510 have been shared with users of the client application 104. Additionally, the usage of the first category 510 can indicate the number of times a page or dedicated user interface within the client application 104 that includes content items corresponding to the first category 510 has been accessed.
[0113] Database 118 may also store Nth category information 518 corresponding to Nth category 512. In one or more examples, the Nth category information 518 may indicate an identifier for Nth category 512 that is different from the identifier for first category 510. For illustration, the identifier for Nth category 512 may indicate a text string corresponding to Nth category 512. The text string may include multiple alphanumeric characters. In one or more additional examples, the Nth category information 518 may indicate at least one of image content, video content, or audio content that identifies Nth category 512. Additionally, Nth category 512 may correspond to Nth content item 520.
[0114] In various examples, the Nth category information 518 can indicate the usage of the Nth category 512. The usage of the Nth category 512 can indicate multiple content items corresponding to the Nth category 512. Furthermore, the usage of the Nth category 512 can indicate at least one of the number of times the Nth category 512 has been shared with users of the client application 104, or the number of times the content items corresponding to the Nth category 512 have been shared with users of the client application 104. Additionally, the usage of the Nth category 512 can indicate the number of times a page or dedicated user interface within the client application 104, which includes content items corresponding to the Nth category 512, has been accessed.
[0115] The first content item 516 may include user content generated using the client application 104, which has been tagged or otherwise associated with the first category 510. Furthermore, the Nth content item 520 may include user content generated using the client application 104, which has been tagged or otherwise associated with the Nth category 512. In this way, the first content item 516 may be stored in the database 118 in association with the first category 510, and the Nth content item 520 may be stored in the database 118 in association with the Nth category 512. In response to a content request received from a client device executing the client application 104, the content classification system 126 may determine at least one subset of the first content item 516 or a subset of the Nth content item 520 to be displayed via the client application 104. In one or more examples, a request to access content associated with the first category 510 may cause the content classification system 126 to determine a subset of the first content item 516 and cause a user interface including the subset of the first content item 516 to be displayed within the client application 104. In various examples, a subset of the first content items 516 may be determined by the content classification system 126 based on the characteristics of the requesting user. In one or more illustrative examples, the content classification system 126 may determine a group of first content items 516 that a user requesting access to content related to the first category 510 might be interested in based on user characteristics such as the user's demographic information, the user's location information, previous content accessed by the user, or one or more combinations thereof. The content classification system 126 can then make the group of first content items 516 accessible to the user via the client application 104.
[0116] In one or more illustrative examples, a first user 504 may operate a first client device 502 to generate user content 522 within a client application 104. User content 522 may include at least one of video content, audio content, image content, or augmented reality content. In various examples, one or more cameras of the first client device 502 may be used to capture user content 522. User content 522 may be displayed or otherwise accessed via a first user interface 524 of the client application 104. In one or more examples, the client application 104 may display a camera view of the environment, and the client device 102 may generate user content 522 based on at least one of images, video, or audio captured from at least a portion of the environment. In various examples, user content 522 may include modifications to initial user content generated using the client application 104. For example, one or more augmented reality content items may be implemented relative to images and / or video of the initial user content to generate user content 522. In at least some scenarios, at least a portion of user content 522 may be stored in the memory of the first client device 502. In one or more other examples, at least a portion of the user content 522 may be stored in one or more data storage devices, which are remotely located relative to and accessible to the first client device 502.
[0117] The first user interface 524 may also include one or more first user interface (UI) elements 526. One or more first user interface elements 526 may include user interface elements that can be selected to make user content 522 accessible to one or more recipients. One or more first user interface elements 526 may also include one or more additional user interface elements that can be selected to modify user content 522. For illustration, one or more first user interface elements 526 may include one or more user interface elements that can be selected to add at least one of text content, image content, animated content, video content, or audio content to user content 522. Furthermore, one or more first user interface elements 526 may include one or more user interface elements that can be selected to apply one or more artistic tools to user content 522, such as adding lines, shapes, colors, etc. Additionally, one or more first user interface elements 526 may include one or more user interface elements that can be selected to perform one or more augmented reality content items relative to user content 522.
[0118] In response to the selection of a first user interface element 526 to make user content 522 accessible to one or more recipients, a second user interface 528 may be displayed within the client application 104. The second user interface 528 may include a recipient list 530. The recipient list 530 may include one or more recipients who can access content associated with the first user 504. In one or more examples, the recipient list 530 may include one or more additional users of the client application 104. In a scenario where one or more additional users are selected from the recipient list 530 to receive user content 522, one or more messages including user content 522 may be generated and made accessible to one or more additional users. Furthermore, the recipient list 530 may include one or more content sets accessible via the client application 104. When one or more content sets are selected from the recipient list 530, user content 522 may be added to one or more content sets included in the recipient list 530, allowing one or more additional users of the client application 104 to access user content 522 as part of one or more content sets. In various examples, one or more content collections may include content items published by a first user 504. In these cases, the content collections may be specific to the first user 504 and are personal content collections for the first user 504. In one or more additional examples, the content collections included in the recipient list 530 may include content items provided by multiple different users of the client application 104. For example, one or more content collections included in the recipient list 530 may include content items provided by a designated group of users of the client application 104, including the first user 504. Furthermore, one or more content collections included in the recipient list 530 may include content items accessible to most or all users of the client application 104. In other examples, one or more content collections included in the recipient list 530 may include content items curated by an entity that controls, maintains, or creates at least one of the client application 104.
[0119] The second user interface 528 may also include one or more second user interface elements 532. One or more second user interface elements 532 may include one or more user interface elements that are selectable to add recipients included in the recipient list 530 to one or more recipients of the user content 522. Furthermore, one or more second user interface elements 532 may include one or more user interface elements that are selectable to add categories to the user content 522. For example, one or more second user interface elements 532 may include one or more user interface elements that are selectable to cause the user content 522 to be stored in association with one or more categories.
[0120] In one or more illustrative examples, in response to selecting a second user interface element 532 to add a category to user content 522, client application 104 may display a first version of a third user interface 534. The first version of the third user interface 534 may include user content 522 and one or more third user interface elements 536. One or more third user interface elements 536 may include user interface elements configured to capture input related to the category of user content 522. In one or more examples, the user interface element configured to accept input related to the category of user content 522 may be an overlay of the user content. In one or more illustrative examples, the third user interface element 536 may be dedicated to capturing input related to one or more categories of user content 522. Furthermore, one or more user third user interface elements 536 may include a keyboard or other user interface elements to input input related to the category of user content 522. In various examples, input captured by at least one of the third user interface elements 536 may include text input. In one or more additional scenarios, text input may include one or more alphanumeric characters. In at least some examples, the category of user content 522 can be specified by input symbols, such as "#", to begin input captured by a third user interface element 536, which is configured to capture user input related to the category of user content 522.
[0121] In one or more additional illustrative examples, in response to selecting a second user interface element 532 to add user content 522 to a content collection, client application 104 may display a second version of a third user interface 534. In these scenarios, the content collection may include a curated collection of content items. In various examples, the content collection may include content items created by a specified group of content creators. In one or more examples, the specified group of content creators may be selected by an entity that maintains, controls, updates, or creates at least one of the features in client application 104. In response to user input to add user content 522 to the content collection, a third user interface element 536 may be displayed to capture text associated with user content 522. In various examples, the third user interface element 536 may capture text, images, or video annotations associated with user content. In one or more illustrative examples, the third user interface element 536 may capture at least one of a description, comment, or social network post corresponding to user content 522. In these cases, the input provided using the third user interface element 536 may include alphanumeric characters associated with one or more content categories, but may not be specifically designed to capture alphanumeric characters corresponding to content categories.
[0122] In various examples of at least one of the first or second versions of the third user interface 534, alphanumeric characters may be displayed along with one or more recommendations corresponding to the user content 522 and the input using one or more third user interface elements 536. In one or more examples, input data 538 may be generated in response to input captured by one or more third user interface elements 536. In one or more illustrative examples, input data 538 may correspond to alphanumeric characters that correspond to one or more selections of alphanumeric characters input by the first user 504. In at least some implementations, input data 538 may correspond to partially completed categories. That is, input data 538 may be created and updated as input is captured by one or more third user interface elements 536. In this way, input data 538 may include continuous input captured by one or more third user interface elements 536. For example, the first part of input data 538 may include "#b", the second part of input data 538 may include "#br", the third part of input data 538 may include "#bru", the fourth part of input data 538 may include "#brun", the fifth part of input data 538 may include "#brunc", and the sixth part of input data 538 may include "#brunch".
[0123] In one or more examples, the content classification system 126 can generate category recommendations 540 based on input data 538. For illustration, when the server system 108 receives input data 538, the content classification system 126 can generate category recommendations 540 and send them to the first client device 502. Category recommendations 540 can be displayed in a third user interface 534. In various examples, category recommendations 540 can be displayed in the third user interface 534 in combination with input data 538 captured by one or more third user interface elements 536.
[0124] Content classification system 126 can analyze input data 538 to determine one or more category recommendations 540. For example, content classification system 126 can analyze the alphanumeric characters included in input data 538 relative to the alphanumeric characters of multiple content categories to determine a similarity measure between the alphanumeric characters included in input data 538 and the alphanumeric characters of one or more content categories. Content classification system 126 can determine the correspondence between content categories and input data 538 based on determining a similarity measure between the alphanumeric characters of input data 538 and the alphanumeric characters of content categories, which is at least a threshold similarity measure. In one or more examples, content classification system 126 can determine the correspondence between multiple content categories and input data 538 based on a similarity measure between the alphanumeric characters of input data 538 and the alphanumeric characters of content categories, which is at least a threshold similarity measure. In one or more illustrative examples, content classification system 126 can implement at least one of one or more natural language processing techniques or one or more machine learning techniques to determine one or more category recommendations based on input data 538.
[0125] The category recommendation 540 corresponding to the input data 538 can be modified as the input data 538 is modified. For illustration, when additional alphanumeric characters are added to the input data 538, the content classification system 126 can determine one or more additional category recommendations 540 to be displayed via the third user interface 534. In one or more illustrative examples, the input data 538 may include one or more first alphanumeric characters. In these scenarios, the content classification system 126 can determine one or more first category recommendations 540 corresponding to one or more first alphanumeric characters. Subsequently, when additional input is captured by one or more third user interface elements 536, the input data 538 may include multiple second alphanumeric characters, and the content classification system 126 can determine one or more second category recommendations 540 based on the multiple second alphanumeric characters. In this way, as the number of alphanumeric characters included in the input data 538 increases, the content classification system 126 can determine an additional set of category recommendations 540, which may more closely resemble the expected category input by the first user 504 using one or more third user interface elements 536. In at least some examples, the input data 538 includes multiple alphanumeric characters. For example, in response to the deletion of one or more characters from the input, the content classification system 126 can generate one or more additional classification recommendations 540 based on the new alphanumeric characters included in the input data 538 after one or more deletions have occurred.
[0126] In various examples, input data 538 may correspond to a series of alphanumeric characters that represent a misspelling as a content category. In one or more examples, the misspelling may be an error made by the first user 504. In one or more additional examples, the misspelling may be intentional by the first user 504 in an attempt to misrepresent the content item or redirect the content item from one category to another. In at least some examples, the threshold similarity level implemented by the content category system 126 can identify a set of alphanumeric characters that do not perfectly match the alphanumeric characters of the content category, and can specify at least a threshold number of characters that differ from the alphanumeric characters of a given content category. In one or more scenarios, the threshold number of differences between the alphanumeric characters included in input data 538 and the alphanumeric characters of the content category may be based on the total number of alphanumeric characters included in the content category. In one or more illustrative examples, the content category that can be associated with a content item may be a content category curated by a set of entities maintained, controlled, or updated by at least one of the entities associated with server system 108 and / or client application 104. In these cases, the input data 538 includes alphanumeric characters that have at least a threshold similarity to the content category curated by the group.
[0127] In addition to a similarity measure between the alphanumeric characters of the input data and the alphanumeric characters of the content categories, the content classification system 126 may analyze one or more criteria to determine category recommendations 540. For example, the content classification system 126 may analyze the content item viewing history of the first user 504 to determine one or more category recommendations 540. The content item viewing history of the first user 504 may indicate at least one of the categories or types of content items viewed by the first user 504 via the client application 104. In one or more additional examples, the content classification system 126 may analyze at least one of the content categories previously used by the first user 504 or the content categories previously used by users of the client application 104 that have characteristics similar to those of the first user 504 to determine category recommendations 540. The content classification system 126 may also analyze the content categories recently used by the first user 504 to determine category recommendations 540. To illustrate, the content classification system 126 can determine the content categories used by the first user 504 over a period of time, such as the past one hour, the past two hours, the past three hours, the past six hours, the past twelve hours, the past twenty-four hours, the past forty-eight hours, etc., to determine one or more category recommendations 540. In one or more other examples, the content classification system 126 can determine at least a portion of the category recommendations 540 based on the content categories with at least a threshold usage by users of the client application 104. In at least some examples, the content categories with at least a threshold usage by users of the client application 104 can be considered as trending content categories within the client application 104.
[0128] In one or more examples, content classification system 126 can determine a ranking list of category recommendations. Content classification system 126 can analyze multiple candidate categories based on input data 538 and one or more features based on the first user 504 to determine the likelihood that each candidate category is associated with user content 522. Content classification system 126 can rank at least a portion of the candidate categories based on the corresponding likelihood that each category can be associated with user content 522 to generate the ranking list of category recommendations. The ranking list of category recommendations can indicate categories with the highest likelihood of being associated with user content 522 to categories with lower likelihoods of being associated with user content 522. In various examples, the content classification system 126 can analyze at least one of the following: content categories previously selected by the first user 504, content categories viewed by the first user 504, additional content categories similar to the content categories selected by the first user 504, additional content categories selected by a user of a client application 104 with profile information similar to that of the first user 504, content categories selected by the first user within a given time period, or additional user content with similar characteristics to user content 522, to determine a ranked list of candidate categories associated with user content 522.
[0129] Content recommendations 540 can be displayed as an optional option within the third user interface 534. For example, when input data 538 is captured by one or more third user interface elements 536, before or after the first user 504 has completed inputting alphanumeric characters for the intended category of user content 522, at least a portion of the category recommendations 540 can be displayed in the third user interface 534. If the category recommendations 540 include a ranked list of candidate categories, the candidate categories can be displayed in the third user interface 534 in the order they are included in the ranked list. In response to the selection of an option corresponding to the category recommendations 540, the content classification system 126 can determine that the user content 522 is stored in association with the selected category recommendation 540 by the database 118. In this way, the entire string of alphanumeric characters corresponding to a given category does not need to appear in the input data 538 before the content category is associated with the user content 522.
[0130] In one or more illustrative examples, input data 538 can be analyzed relative to classification information associated with one or more categories stored in database 118. For example, content classification system 126 can analyze one or more alphanumeric characters included in input data 538 with one or more alphanumeric characters included in first classification information 514 to determine a first similarity level between input data 538 and first category 510. Furthermore, content classification system 126 can analyze one or more alphanumeric characters included in input data 538 with one or more alphanumeric characters included in Nth classification information 518 to determine a second similarity level between input data 538 and Nth category 512. In one or more examples, content classification system 126 can determine that the first similarity level is at least a similarity threshold level, and the second similarity level is less than the similarity threshold level. In these scenarios, content classification system 126 can determine that first category 510 is included in category recommendation 540. The content classification system 126 can also determine whether the first category 510 is included in the category recommendation 540 based on the first category 510 corresponding to the content item recently viewed by the first user 504 or based on the first category 510 recently used by the first user 504. In response to selecting the first category 510 from the category recommendation 540 displayed in the third user interface 534, the user content 522 can be included in the first content item 516 stored in association with the first category 510.
[0131] In various examples, client application 104 may display additional user interfaces related to categories of content items accessible via client application 104. For example, client application 104 may display a fourth user interface 542 relative to second client device 506. The fourth user interface 542 may include a subset 544 of categorized content items. For illustration, the fourth user interface 542 may include a subset of content items corresponding to a category of content items, such as a first category 510 or an Nth category 512. In one or more examples, the fourth user interface 542 may be displayed in response to a request received by server system 108 from second client device 506 to view content items related to a category. In one or more illustrative examples, the fourth user interface 542 may include one or more pages of the client application dedicated to displaying content items related to a given category. In one or more additional illustrative examples, the subset 544 of categorized content items may include representations of content items associated with a category, such as thumbnails of images comprising at least a portion of the various content items corresponding to the category.
[0132] The fourth user interface 542 may also include one or more fourth user interface elements 546. These elements may be optional to share content associated with a subset 544 of categorized content items. For example, one or more fourth user interface elements 546 may include user interface elements that may be optional to share categories associated with the fourth user interface 542 with other users of the client application 104. In this way, the second user 508 may provide other users of the client application 104 with the option to access content items associated with categories corresponding to content items included in the fourth user interface 542. In one or more additional examples, one or more fourth user interface elements 546 may include user interface elements that may be optional to share one or more content items displayed in the fourth user interface 542 and included in the subset 544 of categorized content items. As a result, the second user 508 may provide one or more additional users of the client application 104 with access to one or more content items associated with categories associated with the fourth user interface 542. In various examples, the representation of each content item included in a subset 544 of categorized content items can be optional to share the individual content items with one or more additional users of the client application 104.
[0133] In one or more examples, selecting the fourth user interface element 546 can cause a category message request 548 to be generated and sent to the server system 108. The category message request 548 can be a request to share a category associated with a subset 544 of category content items based on the selection of the fourth user interface element 546, for sharing the category with at least one additional user of the client application 104. In one or more additional examples, the category message request 548 can be a request to share one or more content items associated with a category corresponding to the subset 544 of category content items. In various examples, selecting one or more subsets 544 of category content items can generate the category message request 548 to share one or more content items with additional users of the client application 104.
[0134] In response to a category message request 548, server system 108 may generate category message data 550. Category message data 550 may include representations of one or more content items corresponding to the selections included in category message request 548. Category message data 550 may also include a category identifier. In one or more other examples, category message data 550 may include additional information about the category, such as multiple content items associated with the category. Client application 104 may use category message data 550 to cause a fifth user interface 552 to be displayed. The fifth user interface 552 may include category message content 554. Category message data 550 may indicate representations of content items associated with a category corresponding to a subset 544 of category content items. In one or more additional examples, category message data 550 may indicate representations of content items shared with additional users of client application 104. Category message content 554 of the fifth user interface 552 may include representations of the content items included in category message data 550. The category message content 554 may also include a category identifier corresponding to the representation of the content item included in the category message data 550 and additional information that may be included in the category message data 550.
[0135] The fifth user interface 552 may also include one or more fifth user interface elements 556. One or more fifth user interface elements 556 may include user interface elements for inputting text content, image content, video content, or animated content related to the categorized message content 554. In various examples, one or more fifth user interface elements 556 may include user interface elements for capturing messages sent in conjunction with a shared categorization or in conjunction with one or more content items associated with a shared categorization. In one or more examples, one or more fifth user interface elements may include keyboard user interface elements for inputting text displayed in the message content user interface elements. One or more fifth user interface elements 556 may also include one or more user interface elements selectable to indicate the recipients of the categorized message content 554. The recipients of the categorized message content 554 may include one or more additional users of client application 104, one or more content collections, one or more additional user groups of client application 104, or at least one of one or more additional client applications available for accessing the categorized message content 554. In response to the selection of at least one recipient of the categorized message content 554, the server system 108 may make the categorized message content 554 accessible to at least one recipient.
[0136] Figures 6 to 10A flowchart is shown illustrating the process of classifying and discovering content created using client application 104. The process may be contained in computer-readable instructions executed by one or more processors, such that the operations of the process may be performed, in part or in whole, by a functional component of at least one of client application 104 or server system 108. Therefore, in some cases, the process described below is an example for reference. However, in other implementations, relative to… Figures 6 to 10 At least some of the operations described in the processing can be deployed on a variety of other hardware configurations. Therefore, relative to... Figures 6 to 10 The described processing is not intended to be limited to server system 108 or client device 102, and can be implemented wholly or partially by one or more additional components. Among the various implementations, relative to... Figures 6 to 10 Some or all of the operations described in the process can be performed in parallel, out of order, or omitted entirely.
[0137] Figure 6 This is a flowchart illustrating example operations of a process 600 performed by a server system according to one or more example implementations for classifying content items based on data corresponding to overlays of content items. At operation 602, process 600 includes receiving content item data from a client device. The content item data may be generated by an instance of a client application executed by the client device. In one or more implementations, the content item data may include image data corresponding to an image. The content item data may also include overlay data indicating the overlay of an image. In one or more examples, an image may be captured by at least one camera device of the client device in response to input from a user of the client device obtained through one or more user interfaces displayed by the client application. Additionally, an overlay may be generated through input obtained from a user of the client application. The overlay may include text content, which includes at least one of words, letters, symbols, or numbers associated with the image. Furthermore, the overlay may include content generated using one or more creative tools of the client application. For illustration, the overlay may include an original image, drawing, illustration, animation, or one or more combinations thereof generated by a user of the client application.
[0138] Processing 600 may also include determining the category of content items at operation 604, at least in part, based on the coverage data. The coverage data can be analyzed to identify category identifiers that may be included in the coverage. In one or more examples, the coverage may include text data indicating the category identifier. Alternatively, the category of the coverage may be determined based on the creative tools used to generate the coverage. Furthermore, the category of the coverage may be determined based on the identifier of the coverage (such as the name of the coverage specified by the creator of the coverage). In various examples, the coverage may be associated with a location, and the category of the coverage may be determined based on that location.
[0139] Furthermore, at operation 606, process 600 may include adding content items to a group of content items with categories. In one or more implementations, content items may be stored in a database in association with categories. In various examples, each content item associated with a category may be stored in association with a category identifier. At operation 608, process 600 may include receiving a request for content items with categories from a second client device. For example, a request including a category identifier may be received from an instance of a client application executed by the second client device.
[0140] Processing 600 may include, at operation 610, identifying at least a portion of a group of content items with a category in response to a request. In various examples, at least a portion of the group of content items with a category may be retrieved from a database using a category identifier. In one or more examples, the content items retrieved from the database with categories may be ranked. The ranking of content items with a category may be determined based on analysis of the characteristics of the content items with a category in relation to the characteristics of the user of the client application, to determine content items with that category that may have at least a threshold level of user attention. In one or more implementations, the ranking of content items may be based at least in part on the characteristics of the creator of the content item. For illustration, the creator of a content item with a public profile relative to the client application may be weighted to support a relatively higher ranking compared to content items created by creators who do not have a public profile about the client application.
[0141] In another implementation, the ranking of content items can be determined based on input from one or more representatives of a service provider offering services related to the client application. For example, a service provider representative might indicate the level of attention a content item receives relative to one or more users of the client application. In these scenarios, the weight of a content item relative to other content items can be modified based on the input obtained from the service provider representative. In various examples, a content item receiving input from a service provider representative indicating a relatively high level of attention might be ranked higher than a content item that does not receive input from that service provider representative. Furthermore, input from a service provider representative could also indicate a lower level of attention from users of the client application, such as when the content item includes content that might not be suitable for users of the client application. In these cases, the content item might be ranked lower than a content item that did not receive input from a service provider representative.
[0142] At operation 612, processing 600 may include sending user interface data to the second client device in response to the request. The user interface data may be configured to generate one or more user interfaces that include at least a portion of the content items. In various examples, one or more user interfaces may display a page dedicated to categorized content items. In one or more implementations, content items may be presented in the user interface in relation to their ranking within the categorized content items. For example, content items with relatively high rankings relative to the user of the second client device may be presented at the top of the page displayed in the user interface. To access content items with relatively low rankings, the user of the second client device can scroll down the page.
[0143] Figure 7 This is a flowchart illustrating example operations of a process 700 performed by a server system, according to one or more example implementations, to add content from a page displaying content items associated with a category to a category. Process 700 includes, at operation 702, receiving a request from a client device executing a client application for a plurality of content items having categories. The request may include at least one of one or more keywords corresponding to a category or category identifier. At operation 704, in response to the request, the plurality of content items having categories can be determined. The plurality of content items can be retrieved from a database storing content items according to their respective categories. In various examples, a query to the database including at least one of one or more keywords or category identifiers can be used to retrieve content items from the database. Additionally, a ranking can be determined for the plurality of content items having categories, indicating the level of attention given to the respective content item relative to the user of the requesting client device.
[0144] Furthermore, at operation 706, processing 700 may include sending user interface data to the client device in response to the request. The user interface data may be configured to generate one or more user interfaces comprising a page including at least one subgroup of multiple content items with categories. In one or more examples, the subgroup of content items displayed on the page may have a higher ranking than additional content items not included on the page. Furthermore, one or more user interfaces may include user interface elements that are selectable to add content items to the categorized content items. In one or more implementations, selection of a user interface element may activate at least one camera on the client device. The at least one camera may be used to capture an image included in the content item. Furthermore, since the user interface element is included in a page dedicated to the content item with the corresponding category because the image is captured in relation to the selection of the user interface element, the category may also be associated with the content item including the image.
[0145] At operation 708, process 700 may include receiving content item data from a client device, including images captured by the client device's camera. The content item data may also indicate a category identifier. Process 700 may further include storing the content item in association with the category identifier in a database at operation 710. Thus, in response to a subsequent request for a content item with a category, the content item can be retrieved in association with the category identifier. In one or more implementations, the content item may include an overlay generated using one or more creative tools of a client application.
[0146] Figure 8 This is a flowchart illustrating example operations of a process 800 performed by a client device to generate content items accessible based on their respective categories, according to one or more example implementations. Process 800 may include receiving input at operation 802 via one or more input devices of the client device. The input may be provided in conjunction with an instance of a client application executed by the client device. In various examples, the input may be for capturing images using at least one camera of the client device. Images may be captured using one or more user interface elements displayed in at least one user interface of the client application. The input may also be used to generate one or more annotations. In various examples, annotations may be generated using one or more creative tools of the client application. Furthermore, the input may be for selecting one or more category identifiers.
[0147] At operation 804, process 800 may include generating a content item including an image based on the input. In addition to the image, the content item may include one or more annotations associated with the image. One or more annotations may include at least one overlay displayed on the image. The at least one overlay may include text content. In various examples, the at least one overlay may include content generated using one or more creative tools of a client application. Furthermore, at operation 806, process 800 may include determining the classification of the image based on at least one of the input or the image. The classification of the image may be determined based on input of at least one identifier indicating the classification. In various examples, the classification may also be determined based on the image's overlay. In one or more implementations, the classification may be determined based on at least one of the objects or individuals included in the image.
[0148] Processing 800 may include, at operation 808, sending a request to a server system for content corresponding to a category. This request may include an identifier for the category. In one or more examples, the request may be generated and sent in response to the selection of a user interface element displayed in a user interface comprising multiple optional user interface elements, each corresponding to a corresponding category. Additionally, at operation 810, processing 800 may include receiving user interface data in response to a request, and at operation 812, processing 800 may include generating one or more user interfaces based on the user interface data, including content items corresponding to the categories. In one or more illustrative examples, one or more user interfaces may include multiple images corresponding to the content items. The content items may be ranked such that content items with a higher level of interest for users of the client device may be displayed at the top of a page included in one or more user interfaces, while content items with a lower level of interest may be displayed at the bottom of the page. In one or more implementations, one or more user interfaces may include at least one content item created by a user of the client device.
[0149] Figure 9 This is a flowchart illustrating example operations of a process 900 that determines content item category recommendations based on at least one of user input and user profile data or category usage data, according to one or more example implementations. At operation 902, process 900 may include receiving first input data to provide content items to one or more recipients. Content items may include at least one of image content, video content, or audio content captured via a client application. In various examples, an instance of the client application may be executed by a client device of a user of the client application. In one or more examples, content items may be associated with an account of a user of the client application. Content items may be captured using at least one of one or more input devices of the client device, such as a camera or microphone. Content items may be displayed in the user interface of the client application. The user interface may include user interface elements selectable to request that content items be sent to one or more recipients. In one or more illustrative examples, one or more recipients may include one or more additional users of the client application. In one or more additional illustrative examples, one or more recipients may include a repository of content items corresponding to the categories of the content items. In these scenarios, multiple content items with the same or similar categories may be stored using a public identifier and accessed by users of the client application.
[0150] Furthermore, at operation 904, process 900 may include generating first user interface data corresponding to the first user interface. The first user interface may include user interface elements to capture alphanumeric characters indicating at least one category of a content item. The first user interface may also include a display of a keyboard or other alphanumeric character input device, which may be used to select alphanumeric characters associated with at least one category of the content item. At operation 906, process 900 may further include recognizing second input data indicating one or more alphanumeric characters captured in the user interface elements.
[0151] Furthermore, at operation 908, processing 900 may include determining a candidate classification group for the content item based on one or more alphanumeric characters. In various examples, a similarity metric may be determined relative to one or more alphanumeric characters input to the user interface element and alphanumeric characters of multiple candidate classifications. In one or more examples, the candidate classification group may have at least a threshold similarity metric relative to one or more alphanumeric characters input to the user interface element. In one or more illustrative examples, the similarity metric may be determined based on the number of one or more alphanumeric characters input to the user interface element that correspond to alphanumeric characters of the candidate classifications. In one or more additional illustrative examples, the similarity metric may be determined based on the order of one or more alphanumeric characters input to the user interface element relative to the alphanumeric characters of the classifications. For example, the similarity metric may be determined based on the number of one or more alphanumeric characters input to the user interface element that match the corresponding alphanumeric characters of the candidate classifications of the content item.
[0152] At operation 910, processing 900 may include analyzing at least one of the user's profile data or the user's content usage data to determine a subset of candidate classification groups for content items. In one or more examples, candidate classifications having a similarity measure that satisfies one or more criteria may be included in the subset of candidate classification groups. One or more criteria may correspond to a threshold similarity measure, which indicates the number of alphanumeric characters input into a user interface element that are identical to one or more alphanumeric characters in a candidate classification. In various examples, the threshold similarity measure may also indicate that the order of one or more alphanumeric characters input into a user interface element corresponds to the order of alphanumeric characters in a classification.
[0153] In one or more additional examples, the frequency of category usage can be used to determine a subset of candidate category groups from a larger group of candidate categories. For example, the number of times a user of a client application has selected a category over a period of time can be determined for each category that a user has associated with a corresponding content item. The number of times a category is selected to be associated with a content item over a period of time can correspond to the frequency of category usage. In one or more examples, categories with at least a threshold frequency of usage can be included in the subset of candidate category groups.
[0154] In various examples, the categorization of additional content items viewed by a user of a client application over a period of time can be used to determine a subset of candidate categorization groups for the content items. For illustration, the categorization of additional content items viewed within a threshold time period starting from the current time can be determined. In this way, the categorization of content items recently viewed by a user of the client application can be used to determine at least a subset of candidate categorization groups.
[0155] In one or more other examples, the category of content items previously selected by the user of the client application relative to the user's additional content items can be determined. In one or more illustrative examples, one or more categories previously selected by the user of the client application relative to the user's additional content items can be identified. The category of content items selected by the user of the client application can be used to determine at least a subset of candidate category groups.
[0156] In one or more illustrative examples, a subset of candidate category groups can be determined based on a combination of the frequency of category usage, the category most recently selected by a user of the client application, the category corresponding to an additional content item viewed by a user of the client application, and a similarity measure between the candidate categories and alphanumeric characters of at least one category of the content item entered by the user of the client application. In one or more additional illustrative examples, a ranking list comprising at least a portion of the subset of candidate category groups can be determined. The ranking list can be determined based on one or more criteria, such as the amount of similarity between multiple alphanumeric characters of the candidate category groups and one or more alphanumeric characters captured in user interface elements, and the order of the multiple alphanumeric characters of the candidate category groups and one or more alphanumeric characters captured in user interface elements. The ranking list can also be determined based on the frequency of category usage by multiple additional users of the client application, the time period elapsed between a user of the client application selecting a corresponding category and the current time, or the number of times a user of the client application viewed content items associated with one or more corresponding categories. In various examples, the ranking list of candidate categories can be displayed in the order of the ranking list in a second user interface.
[0157] Furthermore, at operation 912, processing 900 may include generating second user interface data corresponding to the second user interface, which includes one or more alphanumeric characters and a subset of candidate category groups. In one or more examples, the number of one or more alphanumeric characters may be determined and analyzed relative to a threshold number of alphanumeric characters. In response to the number of alphanumeric characters meeting the threshold number, a subset of candidate category groups may be displayed in the second user interface. In various examples, categories of various classifications displayed in the user interface may also be displayed. Descriptive examples of categories may include "Recently Used," "Trending," "Popular," "Recently Viewed," etc. Additionally, multiple content items corresponding to the respective categories displayed in the second user interface may be displayed.
[0158] At operation 914, the process may include identifying third input data indicating the selection of a candidate category from a subset of candidate category groups. Furthermore, at operation 916, process 900 may include storing content items in association with categories corresponding to candidate categories. In this way, in response to a request from an additional user to access user content corresponding to a category, an additional user of the client application can view the content item.
[0159] Figure 10 This is a flowchart illustrating example operations of a process 1000 for generating modified user content, including additional alphanumeric content, according to one or more example implementations. At operation 1002, process 1000 may include receiving first input data to provide content items to one or more recipients. The content item may include user content, which includes at least one of image content, video content, or audio content captured via a client application. In various examples, an instance of the client application may be executed by a client device of a user of the client application. In one or more examples, the content item may be associated with an account of a user of the client application. The user content of the content item may be captured using at least one of one or more input devices of the client device, such as a camera or microphone. The content item may be displayed in the user interface of the client application. The user interface may include user interface elements selectable to request that the content item be sent to one or more recipients. In one or more illustrative examples, one or more recipients may include one or more additional users of the client application. In one or more additional illustrative examples, one or more recipients may include at least one repository or collection of content items corresponding to the category of the content item. In these scenarios, multiple content items with the same or similar categories can be stored using a common identifier and accessed by users of client applications.
[0160] Furthermore, at 1004, processing 1000 may include generating first user interface data corresponding to a first user interface, which includes selectable user interface elements to make content items accessible to one or more recipients. In one or more examples, one or more recipients may include additional users of the client application, who are contacts of users within the client application. In one or more additional examples, one or more recipients may include a repository of one or more content items, which are accessible to additional users of the client application who are not contacts of users within the client application. In various examples, one or more repositories may be associated with one or more categories of content items.
[0161] At 1006, processing 1000 may include generating second user interface data corresponding to the second user interface. The second user interface may include a first portion comprising user content for a content item. The second user interface may also include a second portion configured to capture alphanumeric content or other content associated with the content item. In this manner, at least one of text content, image content, animated content, video content, or one or more additional annotations associated with the user content may be added to the content item. Furthermore, at 1008, processing 1000 may include identifying input data indicating one or more alphanumeric characters. In various examples, alphanumeric characters may be input via a user input device such as a keyboard or touchscreen display. Alphanumeric characters may correspond to at least one of a description, message, social media post, or one or more additional forms of text content associated with the content item. Furthermore, alphanumeric characters may indicate one or more categories associated with the content item. In one or more examples, when alphanumeric input is captured, the content item and associated text content may be displayed as an overlay on the user interface of multiple recipients displaying the content item. The second user interface may also include one or more candidate categories for the content item based on the alphanumeric input.
[0162] At operation 1010, processing 1000 may further include generating a modified version of the content item, configured to display one or more alphanumeric characters in conjunction with user content. In this way, additional users of the client application who are not contacts of users within the client application can access the content item. In one or more examples, the modified version of the content item may be stored in a content collection curated by an entity that maintains, controls, or updates at least one of the client applications. Furthermore, the content items included in the content collection may be created by a designated group of content creators. That is, the group of content creators capable of providing content items to the content collection is restricted by the entity. Moreover, although there may be restrictions on content creators providing content items to the content collection, access to the content collection may be unrestricted. For illustration, at least substantially all users of the client application can access the content collection. In one or more illustrative examples, the content collection may be a highlighted content collection, comprising content items intended to be highlighted or otherwise indicated by an entity that maintains, controls, or updates at least one of the client applications.
[0163] In one or more illustrative examples, an additional user of the client application can access content items and their corresponding text content by selecting a set of highlighted content within the client application. In various examples, one or more categories may be associated with a content item. In these scenarios, in response to an additional user accessing a content item, at least one of the image or video contents of the content item may be displayed in the additional user interface. Additionally, one or more categories may be displayed. In at least some scenarios, a truncated version of the content item may be displayed. The truncated version of the content item may include the user content of the content item, such as image content, as well as a portion of the text content of the content item. The truncated version may also include one or more categories of the content item. Furthermore, the truncated version of the content item may indicate one or more augmented reality content items applied to the user content of the content item.
[0164] Furthermore, the truncated version may also include at least a portion of the additional content of the content item, such as text content. For illustration, a truncated version of a content item may include both the user content of the content item and a portion of the text content of the content item. In one or more scenarios, the portion of the text content may include only one or more categories associated with the content item. The remaining portion of the text content may be displayed in response to a selection of a user interface element to display a full version of the content item including the entire content item. In one or more additional examples, in addition to the user content, the truncated version of the content item may display text content of a threshold word count. The threshold word count may include one or more categories of the content item. In these cases, the remaining portion of the text content may be displayed in response to a selection of a user interface element to display the entire content item. The entire content item may include the user content, additional content such as text content, identifiers applied to one or more augmented reality content items of the user content, and identifiers included in one or more categories of the text content. The identifiers of one or more augmented reality content items or one or more categories may be optional to access one or more augmented reality content items or a collection of content associated with one or more categories. A truncated version of the content item can be provided to additional users of the client application based on the screen size of the client device displaying the client application's content. Furthermore, a truncated version of the content item can be provided to additional users of the client application based on at least one of the network resources or computing resources of the client device displaying the client application's content.
[0165] In one or more examples, one or more alphanumeric characters may include a category for the content item. In various examples, candidate category groups for the content item can be determined based on one or more alphanumeric characters. In various examples, a similarity metric can be determined relative to one or more alphanumeric characters input to a user interface element and alphanumeric characters of multiple candidate categories. For example, a candidate category group may have at least a threshold similarity metric relative to one or more alphanumeric characters included in the second input data. In one or more illustrative examples, the similarity metric can be determined based on the number of one or more alphanumeric characters in the second input data corresponding to the alphanumeric characters of the candidate categories. In one or more additional illustrative examples, the similarity metric can be determined based on the order of one or more alphanumeric characters in the second input data relative to the alphanumeric characters of the categories. For example, the similarity metric can be determined based on the number of one or more alphanumeric characters in the second input data that match the corresponding alphanumeric characters of the candidate categories of the content item.
[0166] In various examples, a subset of candidate category groups for content items can be determined. This subset can be determined by analyzing at least one of the user's profile data or the user's content usage data. In one or more examples, candidate categories with similarity measures that satisfy one or more criteria can be included in the subset of candidate category groups. One or more criteria may correspond to a threshold similarity measure, which indicates the number of alphanumeric characters in the second input data that are identical to one or more alphanumeric characters in the candidate category. In various examples, the threshold similarity measure may also indicate whether the order of one or more alphanumeric characters input into a user interface element corresponds to the order of alphanumeric characters in the category.
[0167] In one or more additional examples, the frequency of category usage can be used to determine a subset of candidate category groups from a larger group of candidate categories. For example, the number of times a user has selected a category over a period of time can be determined for each category that a user has associated with a corresponding content item. The number of times a category is selected to be associated with a content item over a period of time can correspond to the frequency of category usage. In various examples, categories with at least a threshold frequency of usage can be included in the subset of candidate category groups.
[0168] In one or more examples, the categorization of additional content items viewed by a user over a period of time can be used to determine a subset of candidate categorization groups for the content items. For illustration, the categorization of additional content items viewed within a threshold time period starting from the current time can be determined. In this way, the categorization of content items recently viewed by the user can be used to determine at least a portion of the subset of candidate categorization groups.
[0169] In one or more other examples, the category of the content items previously selected by the user relative to the user's additional content items can be determined. In one or more illustrative examples, one or more categories previously selected by the user relative to the user's additional content items can be identified. The category of the content items selected by the user in the client application can be used to determine at least a subset of the candidate category groups.
[0170] In one or more illustrative examples, a subset of candidate category groups can be determined based on a combination of the frequency of category usage, the category most recently selected by the user, the category corresponding to an additional content item viewed by the user, and a similarity measure between the candidate categories and alphanumeric characters of at least one category of the content item entered by the user. In one or more additional illustrative examples, a ranking list comprising at least a portion of the candidate category groups can be determined. The ranking list can be determined based on one or more criteria, such as the amount of similarity between multiple alphanumeric characters of the candidate category groups and one or more alphanumeric characters included in the second input data, and the order of the multiple alphanumeric characters of the candidate category groups and one or more alphanumeric characters of the second input data. The ranking list can also be determined based on the frequency of multiple additional user usages of categories in the client application, the time elapsed between the user selecting a corresponding category and the current time, or the number of times the user viewed content items associated with one or more corresponding categories. In various examples, the ranking list of candidate categories can be displayed in the order of the ranking list in a second user interface.
[0171] Figure 11 This is an illustration of a user interface 1100, including content associated with a category, implemented according to one or more example implementations. The user interface 1100 can be displayed by a display device of the client device 102. Furthermore, the user interface 1100 can be combined with a client application (such as one executed by the client device 102)... Figure 1 The client application 104 described herein is used for display. The user interface 1100 may include a first portion 1104, which includes user interface elements selectable to view content related to the user's contacts. For example, the first portion 1104 may include a first user interface element 1106, which is selectable to view content related to the user's contacts. Content related to the user's contacts may include at least one of text content, image content, message content, video content, audio content, content generated by one or more creative tools, or annotation content.
[0172] User interface 1100 may also include a second part 1108, which includes user interface elements selectable to access content related to one or more individuals, groups of individuals, or organizations that a user of client device 102 is following using a client application. Users can follow individuals, groups, or organizations by subscribing to content generated or otherwise published by those individuals, groups, or organizations. Figure 11In the illustrative example, the second part 1108 may include a second user interface element 1110, which can be selected to view content related to an individual, group, or organization corresponding to the second user interface element 1110.
[0173] Additionally, user interface 1100 may include a third portion 1112, which includes one or more user interface elements, which may be selectable to view content related to the client application recommended to the user of client device 102. In one or more examples, the content included in the third portion 1112 may have a predicted level of user attention. The predicted level of attention may be determined by the server system based on analysis of user characteristics associated with features of multiple content items. In one or more examples, the third portion 1112 may include a third user interface element 1114, which may be selectable to view content related to an image displayed by the third user interface element 1114. In various examples, the third user interface element 1114 may indicate an identifier 1116 for a category associated with the content displayed by the third user interface element 1114. In one or more implementations, the content included in the third portion 1112 may correspond to one or more categories associated with user-generated content of the client application. For illustration, the server system may determine that content having a category that is the same as or similar to the category of user-generated content may have at least a threshold level of user attention. Figure 11 In the illustrative example, the user of the client application may have pre-generated content related to the category "FunnyPets". Therefore, the server system can determine that additional content related to the category "FunnyPets" may have at least a threshold level of user interest, and include the content item corresponding to the category "FunnyPets" in Part 3, Section 1112.
[0174] Figure 12 This is an illustration of a user interface 1200 that adds categories to content based on text input, according to one or more example implementations. The user interface 1200 can be displayed by a display device of the client device 102. Furthermore, the user interface 1200 can be combined with a client application (such as one executed by the client device 102)... Figure 1 The client application 104 described herein is used for display. The user interface 1200 may include an image 1204. The image 1204 may be captured using at least one camera (e.g., camera 1206) of the client device 102. The user interface 1200 may also include an overlay 1208 displayed on the image 1204. Figure 12In the illustrative example, overlay 1208 includes text content. The text content of overlay 1208 can be entered via keyboard input device 1210 included in user interface 1200.
[0175] In various examples, keyboard input device 1210 can be used to input an identifier of a category that can be associated with at least one of the images 1204 or overlays 1208. For example, user interface 1200 may include user interface element 1212 that can display text 1214 indicating a category of at least one of the images 1204 or overlays 1208. In one or more illustrative examples, text 1214 may include symbols 1216 that can indicate the association of text 1214 with a category of at least one of the images 1204 or overlays 1208. In one or more implementations, selection of additional user interface element 1218 may cause user interface element 1212 to be displayed, allowing a user of client device 1202 to use keyboard input device 1210 to input at least one of text 1214 or symbol 1216 to indicate an identifier of a category of at least one of the images 1204 or overlays 1208. Figure 12 It also includes an additional user interface 1220 corresponding to an additional version of user interface 1200. The additional user interface 1220 includes a final version of overlay 1208, which includes an identifier 1222 corresponding to a category of at least one of image 1204 or overlay 1208. The final version of overlay 1208 may also include text in addition to the identifier 1222. Furthermore, the additional user interface 1220 may include multiple user interface elements 1224 selectable to activate one or more creative tools to generate one or more additional overlays of image 1204.
[0176] Figure 13 This is an illustration of a user interface 1300 for adding categories to content using creative tools, based on one or more example implementations. The user interface 1300 can be displayed by the display device of the client device 102. Furthermore, the user interface 1300 can be combined with a client application (such as one executed by the client device 102)... Figure 1 The client application 104 described herein is used for display. The user interface 1300 may include an image 1304. The image 1304 may be captured using at least one camera (e.g., camera 1306) of the client device 102. The user interface 1300 may also include multiple user interface elements, which may be selectable to perform one or more operations relative to the image 1304. In various examples, the user interface 1300 may include one or more user interface elements to modify the appearance of the image 1304. For example, the user interface 1300 may include user interface element 1308 to generate an overlay of the image 1304.
[0177] In one or more illustrative examples, selection of user interface element 1308 causes client device 102 to generate additional user interface 1310. Additional user interface 1310 may include multiple user interface elements, which are selectable to add various different types of overlays relative to image 1304. For illustration, additional user interface 1310 may include a first user interface element 1312, which is selectable to mention an additional user within an overlay of image 1304, such as by adding a user's identifier as an overlay of image 1304. Additional user interface 1310 may include a second user interface element 1314, which may be selectable to add a category identifier as an overlay to image 1304. Furthermore, additional user interface 1310 may include a third user interface element 1316, which is selectable to add an overlay to image 1304 indicating a location that can be associated with image 1304. Additionally, additional user interface 1310 may include a fourth user interface element 1318 to add an overlay of image 1304 including a group identifier.
[0178] exist Figure 13 In the illustrative example, selection of the second user interface element 1314 may cause the first additional user interface element 1320 to be displayed. The first additional user interface element 1320 may include a second additional user interface element 1322, which may be used to capture text 1324 corresponding to a categorized identifier. The additional user interface 1310 may also include a touch input device keyboard 1326, which includes user interface elements selectable to add letters, numbers, symbols, or characters to the text 1324. In various examples, when letters, numbers, symbols, or characters are added to the text 1324 via the touch input device keyboard 1326, a recommendation for a categorized identifier may be displayed in the first additional user interface element 1320. For example, the first additional user interface element 1320 may include a third additional user interface element 1328, which includes a first recommendation based at least in part on the categorized identifier included in the text 1324 of the second additional user interface element 1322. In addition, the first additional user interface element 1320 may include a fourth additional user interface element 1330, which includes a second recommendation based at least in part on another classification identifier included in the text 1324 in the second additional user interface element 1322.
[0179] Figure 14This is an illustration of a user interface 1400 that adds categories to content in relation to shared content, based on one or more example implementations. The user interface 1400 can be displayed by a display device of the client device 102. Furthermore, the user interface 1400 can be combined with a client application (such as one executed by the client device 102)... Figure 1 The client application 104 described herein is used to display the image. The user interface 1400 may include an image 1404. The image 1404 may be captured using at least one camera (e.g., camera 1406) of the client device 102. The user interface 1400 may include an overlay 1408 indicating the category of the image 1404. Furthermore, the user interface 1400 may include a user interface element 1410, which is optional to cause the client application 104 to generate an additional user interface 1412.
[0180] The additional user interface 1412 may include multiple user interface elements, which are selectable to identify one or more recipients of content items including image 1404 and overlay 1408. For example, the additional user interface 1412 may include a first additional user interface element 1414 to add image 1404 and overlay 1408 to a personal set of users who captured image 1404 using camera 1406. The additional user interface 1412 may also include a second additional user interface element 1416 indicating multiple categories that may correspond to image 1404. Selection of the second additional user interface element 1416 may associate image 1404 and overlay 1408 with the category indicated by the second additional user interface element 1416.
[0181] Additionally, the supplementary user interface 1412 may include a third supplementary user interface element 1418, which includes a fourth supplementary user interface element 1420, a fifth supplementary user interface element 1422, and a sixth supplementary user interface element 1424. The fourth supplementary user interface element 1420 may correspond to text covering 1408. The fifth supplementary user interface element 1422 may correspond to a location associated with image 1404, while the sixth supplementary user interface element 1424 may correspond to one or more objects included in image 1404. Each of the supplementary user interface elements 1420, 1422, and 1424 may be selectable to remove a corresponding category from the second supplementary user interface element 1416. For illustration, selecting the sixth supplementary user interface element 1424 may remove the category "Office Supplies" from the second supplementary user interface element 1416. In addition, the additional user interface 1412 may include at least a seventh additional user interface element 1426, which is optional to share content items including image 1404 and overlay 1408 with the contacts of the user of the client device 102.
[0182] Figure 15 This is an illustration of a user interface 1500 for adding content to a categorized content collection, based on one or more example implementations. The user interface 1500 can be displayed by a display device of the client device 102. Furthermore, the user interface 1500 can be combined with a client application (such as one executed by the client device 102)... Figure 1 The client application 104 described is used for display. The user interface 1500 may include multiple user interface elements corresponding to content items associated with category 1502. For example, the user interface 1500 may include a first user interface element 1504 corresponding to a first content item having category 1502 and a second user interface element 1506 corresponding to a second content item having category 1502. In various examples, the first user interface element 1504 and the second user interface element 1506 may be selectable such that the corresponding content item corresponding to the first user interface element 1504 is displayed in a single page view.
[0183] User interface 1500 may also include a third user interface element 1508 selectable to add content items to category 1502. For example, selecting the third user interface element 1508 may cause client device 102 to display an additional user interface 1510. The additional user interface 1510 may indicate an image 1512 that can be captured by the camera 1514 of client device 102 in response to the selection of the additional user interface element 1516. Selecting the additional user interface element 1516 may cause image 1512 to be captured by camera 1514, and may also cause content items including the image to be categorized according to category 1502. In this way, content items including image 1512 may be added to the set of content items having category 1502 via a page dedicated to content items having category 1502 (such as the page shown in user interface 1500).
[0184] Figure 16 This is an illustration of a user interface 1600 including options for shared categories, implemented according to one or more example implementations. The user interface 1600 can be displayed by a display device of the client device 102. Furthermore, the user interface 1600 can be combined with a client application (such as one executed by the client device 102)... Figure 1The client application 104 described herein is used for display. The user interface 1600 may include multiple user interface elements corresponding to content items associated with category 1602. For example, the user interface 1600 may include a first user interface element 1604 corresponding to a first content item having category 1602 and a second user interface element 1606 corresponding to a second content item having category 1602. The user interface 1600 may also include a third user interface element 1608, which includes a first optional option 1610 for reporting category 1602 as inappropriate, a second optional option 1612 for adding content items to category 1602, and additional options for sharing category 1602 with one or more additional users of the client application 104. In various examples, category 1602 may be shared with one or more additional users of the client application 104 by selecting a fourth user interface element 1614. In one or more implementations, selecting the fourth user interface element 1614 can cause the display of an additional user interface including one or more optional user interface elements, each corresponding to an additional user of the client application 104 that can share category 1602 and content items associated with category 1602. Furthermore, selecting the second optional option 1612 can cause the display of an additional user interface, which can be used to capture images for which content items can be created and associated with category 1602. In one or more illustrative examples, in response to the selection of the second optional option 1612, a user interface identical or similar to the additional user interface 1510 can be displayed.
[0185] Figure 17 This is an illustration of a user interface 1700 for managing content associated with one or more categories, implemented according to one or more example methods. The user interface 1700 can be displayed by a display device of client device 102. Furthermore, the user interface 1700 can be combined with a client application (such as one executed by client device 102)... Figure 1The user interface 1700 is described in the client application 104. The user interface 1700 may include multiple user interface elements, which may be selectable to manage content for the user of the client application 104. The user interface 1700 may include a first user interface element 1702, which is selectable to view one or more content items related to the user of the client application 104. In various examples, the first user interface element 1702 may be selectable to view one or more sets of content items related to the user of the client application 104. Furthermore, the user interface 1700 may include a second user interface element 1704, which is selectable to add content to one or more sets of content related to the user of the client application.
[0186] User interface 1700 may also include a third user interface element 1706 and a fourth user interface element 1708, which may be selectable to view content for users of client application 104 associated with a corresponding category. In one or more examples, the content items corresponding to the third user interface elements 1706 and 1708 may be accessible to a wider audience than the content corresponding to the first user interface elements 1702 and 1704. For illustration, the content corresponding to the first user interface elements 1702 and 1704 may correspond to content accessible to one or more contacts of the user of client application 104. Additionally, the content corresponding to the third user interface elements 1706 and 1708 may be publicly accessible, such as to users of client application 104 who are not included in the user's contacts. Selection of the third user interface element 1706 may cause a full-page version of the content corresponding to the third user interface element 1706 to be displayed in the user interface. Furthermore, selecting the fourth user interface element 1708 allows a full-page version of the content corresponding to the third user interface element 1706 to be displayed in the user interface.
[0187] User interface 1700 may further include a fifth user interface element 1710, which is selectable to view additional content items of the user of client application 104 having at least one category in one or more additional user interfaces. In one or more examples, selection of the fifth user interface element 1710 may cause the content items of the user of client application 104 to be displayed based on at least one of the date, location, or category of the content items. In addition, selection of the fifth user interface element 1710 may cause one or more user interfaces, including user interface elements for adding content items, deleting content items, modifying the category of content items, or combinations thereof, to be displayed. In addition, user interface 1700 may include a sixth user interface element 1712 for viewing content corresponding to the first contact of the user of client application 104 and a seventh user interface element 1714 for viewing content corresponding to the second contact of the user of client application 104.
[0188] Figure 18 This is an illustration of a user interface 1800 that applies augmented reality content items to user content according to one or more example implementations. The user interface 1800 can be displayed via a display device of client device 102. Furthermore, the user interface 1800 can be displayed by a client application, such as client application 104, which includes at least one of messaging functionality or social networking functionality. In one or more examples, the user interface 1800 may include user content 1802 captured within the field of view of at least one camera 1804 of client device 102.
[0189] User interface 1800 may also include a plurality of user interface elements 1806, which may be part of a carousel user interface element used to display the plurality of user interface elements at a given time. In one or more implementations, the user interface elements included in the carousel user interface element may be modified based on input provided to the client device 102, such as at least one of a left swipe input or a right swipe input. Each user interface element in the plurality of user interface elements 1806 may be selectable to perform at least one augmented reality content item associated with the corresponding user interface element of the plurality of user interface elements 1806. Figure 18 In the illustrative example, user interface element 1808 has been selected to enable augmented reality content to be executed to apply visual graphics to user content 1802.
[0190] Figure 19This is an illustration of a user interface 1900 for selecting one or more recipients of user content, based on one or more example implementations. The user interface 1900 can be displayed by a display device of the client device 102. Furthermore, the user interface 1900 can be associated with a client application executed by the client device 102 (e.g., regarding...). Figure 1 The client application 104 described is displayed together. The user interface 1900 may include applications that have already been... Figure 19 The selected augmented reality content modifies the version of user content 1802. User content 1802 can be captured using at least one camera, such as camera 1804, of the client device 102. User interface 1900 may also include user interface element 1902, which can be selected to send user content 1802 to one or more recipients.
[0191] In one or more illustrative examples, the selection of user interface element 1902 may cause client device 102 to generate an additional user interface 1904. The additional user interface 1904 may include multiple user interface elements, which may be selected to identify one or more recipients of user content 1802. For example, the additional user interface 1904 may include a first additional user interface element 1906 to add user content 1802 to highlighted content accessible to a user of the client application. In various examples, the highlighted content may be accessible to a user of the client application who is not a contact of or connected to the user of the client application that generated user content 1802.
[0192] Furthermore, the user interface 1904 may include a second additional user interface element 1908 to add user content 1802 to the personal collection of the user who captured user content 1802 using camera 1804. The additional user interface 1904 may also include a third additional user interface element 1910 to select a category associated with user content 1802. Additionally, the additional user interface 1904 may include at least a fourth additional user interface element 1912, which may be selected to share user content 1802 with the user's contacts on client device 102.
[0193] Figure 20This is an illustration of a user interface 2000 that displays recommendations for categorization of content items based on user input from a client application according to one or more example implementations and based on at least one of user profile data or category usage data. The user interface 2000 can be displayed via a display device of client device 102. Alternatively, the user interface 2000 can be displayed by a client application, such as client application 104, which includes at least one of messaging functionality or social networking functionality. In one or more examples, the user interface 2000 may include user content 1802 captured within the field of view of at least one camera 1804 of client device 102. In various examples, the user interface 2000 may be displayed in response to the selection of user interface elements of an additional user interface 1904 to add categorization to the user content 1802.
[0194] User interface 2000 may include a category display section 2002 and a user input section 2004. The category display section 2002 may include a user interface element 2006 that displays alphanumeric characters entered via the user input section 2004. The category display section 2002 may also display multiple recommendations 2008 for categories of user content 1802. In various examples, the multiple recommendations 2008 may be individually selectable to associate user content 1802 with a selected category. In one or more examples, selecting a single recommendation from the multiple recommendations may cause the selected category to be displayed in the user interface element 2006.
[0195] Figure 21 This is an illustration of a user interface 2100 for selecting one or more recipients of user content 2102 according to one or more example implementations. The user interface 2100 can be displayed by a display device of the client device 102. Furthermore, the user interface 2100 can be associated with a client application (e.g., regarding...) executed by the client device 102. Figure 1 The user interface 2100 is displayed together with the client application 104 described. User content 2102 can be captured using at least one camera of the client device 102. The user interface 2100 may also include a user interface element 2104, which can be selected to send user content 2102 to one or more recipients.
[0196] In one or more illustrative examples, the selection of user interface element 2104 may cause client device 102 to generate additional user interface 2106. Additional user interface 2106 may include multiple user interface elements, which may be selected to identify one or more recipients of user content 2102. For example, additional user interface 2106 may include a first additional user interface element 2108 to add user content 2102 to highlighted content accessible to a user of the client application. In various examples, the highlighted content may be accessible to a user of the client application who is not a contact of or connected to the user of the client application that generated the user content 2102.
[0197] Furthermore, the user interface 2106 may include a second additional user interface element 2110 to add user content 2102 to a personal collection of users who captured user content 2102 using the camera of client device 102. The additional user interface 2106 may also include a third additional user interface element 2112 to select a category associated with user content 2102. Additionally, the additional user interface 2106 may include at least a fourth additional user interface element 2114, which may be selected to share user content 2102 with the contacts of the user of client device 102.
[0198] Figure 22 This is an illustration of a user interface 2200 that generates modified user content, including additional text content, according to one or more example implementations. The user interface 2200 can be displayed via a display device of client device 102. Furthermore, the user interface 2200 can be displayed by a client application, such as client application 104, which includes at least one of messaging functionality or social networking functionality. In one or more examples, the user interface 2200 may include user content 2102 captured within the field of view of at least one camera of client device 102. In various examples, the user interface 2200 may be displayed in response to the selection of user interface elements of an additional user interface 2106, such that the user content 2102 is accessible to a user of a client application who is not a contact of the user who generated the user content 2102.
[0199] User interface 2200 may include an extended version of user interface element 2108. The extended version of user interface element 2108 may include a first portion 2202, which includes user content 2102. Furthermore, the extended version of user interface element 2108 may include a second portion 2204, which is configured to capture at least one of text content, image content, video content, or animated content related to user content 2102. The second portion 2204 may include information related to social network posts corresponding to user content 2102. Additionally, the second portion 2204 may include message-related information, descriptions, or opinions related to user content 2102. In various examples, alphanumeric characters corresponding to one or more content categories may be entered into the second portion 2204. In one or more additional examples, user interface 2200 may include an overlay that includes a thumbnail of user content 2102, information entered into the second portion 2204, and recommendations of content categories related to user content 2102. Recommendations for content categories related to user content 2102 may be based on at least a portion of the text input into the second part 2204 that represents the intended category. In one or more other examples, the user interface 2200 may include a keyboard user interface element to input text into the second part 2204, which serves as an overlay of the user interface 2200.
[0200] Figure 23 This is a block diagram illustrating a system 2300 including an example software architecture 2302, which can be used in conjunction with various hardware architectures described herein. Figure 23 This is a non-limiting example of a software architecture, and it should be understood that many other architectures can be implemented to facilitate the functionality described herein. Software architecture 2302 can be implemented in, for example... Figure 24 The execution is performed on the hardware of machine 2400, which includes processor 2404, memory / storage device 2406, and input / output (I / O) components 2408, etc. A representative hardware layer 2304 is shown, and this representative hardware layer 2304 can represent, for example... Figure 24 The machine 2400. A representative hardware layer 2304 includes a processing unit 2306 having associated executable instructions 2308. The executable instructions 2308 represent executable instructions of the software architecture 2302, including implementations of the methods, components, etc., described herein. Hardware layer 2304 also includes at least one of a memory or storage module memory / storage device 2310, which also has the executable instructions 2308. Hardware layer 2304 may also include other hardware 2312.
[0201] exist Figure 23In the example architecture, software architecture 2302 can be conceptualized as a stack of layers, where each layer provides a specific function. For example, software architecture 2302 may include layers such as operating system 2314, library 2316, framework / middleware 2318, application 2320, and presentation layer 2322. Operationally, application 2320 or other components within a layer can activate API call 2324 through the software stack and receive message 2326 in response to API call 2324. The layers shown are representative in nature, and not all software architectures have all layers. For example, some mobile operating systems or dedicated operating systems may not provide framework / middleware 2318, while other operating systems may provide such a layer. Other software architectures may include additional or different layers.
[0202] Operating system 2314 can manage hardware resources and provide public services. Operating system 2314 may include, for example, a kernel 2328, services 2330, and drivers 2332. Kernel 2328 can serve as an abstraction layer between hardware and other software layers. For example, kernel 2328 may be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, etc. Services 2330 can provide other public services to other software layers. Driver 2332 is responsible for controlling the underlying hardware or interfacing with the underlying hardware. For example, depending on the hardware configuration, driver 2332 may include a display driver, a camera driver, etc. Drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), Drivers, audio drivers, power management drivers, etc.
[0203] Library 2316 provides common infrastructure used by at least one of application 2320, other components, or layers. Library 2316 provides functionality that allows other software components to perform tasks more easily than by directly interfaceing with the underlying operating system 2314 functions (e.g., kernel 2328, services 2330, drivers 2332). Library 2316 may include system libraries 2334 (e.g., the C standard library) that provide functions such as memory allocation, string manipulation, and mathematical functions. Furthermore, library 2316 may include API libraries 2336, such as media libraries (e.g., libraries supporting the rendering and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG), graphics libraries (e.g., OpenGL frameworks for rendering 2D and 3D graphical content on a display), database libraries (e.g., SQLite providing various relational database functions), web libraries (e.g., WebKit providing web browsing functionality), and so on. Library 2316 may also include various other libraries 2438 to provide many other APIs to application 2320 and other software components / modules.
[0204] The framework / middleware 2318 (sometimes referred to as middleware) provides a higher level of common infrastructure that can be used by applications 2320 or other software components / modules. For example, the framework / middleware 2318 can provide various graphical user interface functions, advanced resource management, advanced location services, etc. The framework / middleware 2318 can provide a wide range of other APIs that can be utilized by applications 2320 or other software components / modules, some of which may be specific to a particular operating system 2314 or platform.
[0205] Application 2320 includes built-in applications 2340 and third-party applications 2342. Examples of representative built-in applications 2340 may include, but are not limited to: contact applications, browser applications, book reader applications, location applications, media applications, messaging applications, or game applications. Third-party applications 2342 may include those using Android by entities other than the platform-specific vendor. TM or iOS TM Applications developed using a Software Development Kit (SDK) can be used on platforms such as iOS. TM ANDROID TM , Mobile software running on the phone's mobile operating system or other mobile operating systems. Third-party application 2342 may call API calls 2324 provided by the mobile operating system (such as operating system 2314) to facilitate the functions described herein.
[0206] Application 2320 can use built-in operating system functions (e.g., kernel 2328, services 2330, drivers 2332), libraries 2316, and frameworks / middleware 2318 to create a UI for interacting with the system's user. Alternatively or additionally, in some systems, interaction with the user can occur through a presentation layer such as presentation layer 2322. In these systems, the application / component "logic" can be separated from the aspects of the application / component that interact with the user.
[0207] Figure 24 This is a block diagram illustrating components of a machine 2400, according to some example implementations, capable of reading instructions from a machine-readable medium (e.g., a machine-readable storage medium) and executing any or more of the methods discussed herein. Specifically, Figure 24 A graphical representation of a machine 2400 in the form of an example computer system is shown, within which instructions 2402 (e.g., software, programs, applications, applets, or other executable code) can be executed to cause the machine 2400 to perform any or more of the methods discussed herein. Therefore, the instructions 2402 can be used to implement the modules or components described herein. The instructions 2402 transform the general, unprogrammed machine 2400 into a specific machine 2400 programmed to perform the described and illustrated functions in the described manner. In alternative implementations, the machine 2400 operates as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 2400 can operate as a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Machine 2400 may include, but is not limited to: server computers, client computers, personal computers (PCs), tablet computers, laptop computers, netbooks, set-top boxes (STBs), personal digital assistants (PDAs), entertainment media systems, cellular phones, smartphones, mobile devices, wearable devices (e.g., smartwatches), smart home devices (e.g., smart appliances), other smart devices, web appliances, network routers, network switches, network bridges, or any machine capable of sequentially or otherwise executing instructions 2402 specifying actions to be taken by machine 2400. Furthermore, although only a single machine 2400 is shown, the term "machine" should also be considered to include a collection of machines that individually or jointly execute instructions 2402 to perform any one or more of the methods discussed herein.
[0208] Machine 2400 may include processor 2404, memory / storage device 2406, and I / O unit 2408, which may be configured to communicate with each other, such as via bus 2410. In an example implementation, processor 2404 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, processors 2412 and 2414 capable of executing instruction 2402. The term "processor" is intended to include multi-core processor 2404, which may include two or more independent processors (sometimes referred to as "cores") capable of executing instruction 2402 simultaneously. Although Figure 24 Multiple processors 2404 are shown, but machine 2400 may include a single processor 2412 with a single core, a single processor 2412 with multiple cores (e.g., a multi-core processor), multiple processors 2412, 2414 with a single core, multiple processors 2412, 2414 with multiple cores, or any combination thereof.
[0209] Memory / storage device 2406 may include memory such as main memory 2416 or other memory storage devices, and memory cells 2418, both of which may be accessed by processor 2404, such as via bus 2410. Memory cells 2418 and main memory 2416 store instructions 2402 that implement any one or more of the methods or functions described herein. Instructions 2402 may also reside wholly or partially in main memory 2416, in memory cells 2418, in at least one of processor 2404 (e.g., in the processor's cache memory), or in any suitable combination thereof during execution by machine 2400. Thus, main memory 2416, memory cells 2418, and the memory of processor 2404 are examples of machine-readable media.
[0210] I / O component 2408 may include various components for receiving input, providing output, generating output, transmitting information, exchanging information, capturing measurement results, etc. The specific I / O component 2408 included in a particular machine 2400 will depend on the type of machine. For example, a portable machine such as a mobile phone will likely include a touch input device or other such input mechanism, while a headless server machine will likely not include such a touch input device. It will be understood that I / O component 2408 may include... Figure 24Many other components are not shown. I / O components 2408 are grouped by function only for the sake of simplicity in the following discussion, and this grouping is by no means limiting. In various example implementations, I / O components 2408 may include output components 2420 and input components 2422. Output components 2420 may include visual components (e.g., displays such as plasma display panels (PDPs), light-emitting diode (LED) displays, liquid crystal displays (LCDs), projectors, or cathode ray tube (CRT) displays), auditory components (e.g., speakers), haptic components (e.g., vibration motors, resistance mechanisms), other signal generators, etc. Input components 2422 may include alphanumeric input components (e.g., keyboards, touchscreens configured to receive alphanumeric input, photoelectric keyboards, or other alphanumeric input components), point-based input components (e.g., mice, touchpads, trackballs, joysticks, motion sensors, or other pointing instruments), haptic input components (e.g., physical buttons, touchscreens or other haptic input components that provide positioning or force for touch or touch gestures), audio input components (e.g., microphones), etc.
[0211] In other example implementations, I / O component 2408 may include biometric component 2424, motion component 2426, environmental component 2428, or position component 2430, as well as a wide range of other components. For example, biometric component 2424 may include components for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body posture, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweating, or brainwaves), and identifying a person (e.g., speech recognition, retinal recognition, facial recognition, fingerprint recognition, or EEG-based recognition). Motion component 2426 may include: accelerometer components (e.g., accelerometers), gravity sensor components, rotation sensor components (e.g., gyroscopes), etc. Environmental component 2428 may include, for example, a lighting sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an hearing sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas detection sensor that detects the concentration of hazardous gases for safety purposes or measures pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. Position component 2430 may include a positioning sensor component (e.g., a GPS receiver component), an altitude sensor component (e.g., an altimeter or barometer from which altitude can be obtained), an orientation sensor component (e.g., a magnetometer), etc.
[0212] A wide variety of technologies can be used to implement communication. I / O component 2408 may include communication component 2432, which is operable to couple machine 2400 to network 2434 or device 2436 via coupling 2438 and coupling 2440, respectively. For example, communication component 2432 may include a network interface component or other suitable device to interface with network 2434. In other examples, communication component 2432 may include wired communication component, wireless communication component, cellular communication component, near field communication (NFC) component, etc. Components (e.g.) (Low energy consumption) Components and other communication components that provide communication via other means. Device 2436 can be another machine 2400 or any peripheral device of various peripheral devices (e.g., a peripheral device coupled via USB).
[0213] Furthermore, the communication component 2432 can detect identifiers or include components operable to detect identifiers. For example, the communication component 2432 may include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) codes, Aztec codes, data matrices, data symbols, maximum codes, PDF417, super codes, UCC RSS-2D barcodes, and other optical codes), or an acoustic detection component (e.g., a microphone for identifying audio signals of the tag). Additionally, various information can be obtained via the communication component 1040, such as location via Internet Protocol (IP) geolocation, etc. Location methods include signal triangulation and NFC beacon signals that can indicate a specific location.
[0214] Glossary:
[0215] In this context, "carrier signal" refers to any intangible medium capable of storing, encoding, or carrying transient or non-transient instructions 2402 executed by machine 2400, and includes digital or analog communication signals or other intangible media to facilitate the communication of these instructions 2402. Instructions 2402 can be transmitted or received on networks 110 and 2434 using transient or non-transient transmission media and any of a number of well-known transmission protocols via network interface devices.
[0216] In this context, "client device" refers to any machine 2400 that interfaces with communication networks 110 and 2434 to obtain resources from one or more server systems or other client devices 102. Client device 102 may be, but is not limited to, mobile phones, desktop computers, laptop computers, PDAs, smartphones, tablet computers, ultrabooks, netbooks, laptop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, game consoles, set-top boxes, or any other communication device that a user can use to access network 110 and 2434.
[0217] In this context, "communication network" refers to one or more parts of network 110. The network can be an ad hoc network, intranet, extranet, virtual private network (VPN), local area network (LAN), wireless LAN (WLAN), wide area network (WAN), wireless WAN (WWAN), metropolitan area network (MAN), the Internet, a part of the Internet, a part of the Public Switched Telephone Network (PSTN), a POTS (Plain Old-Style Telephone Service) network, a cellular telephone network, or a wireless network. A network, another type of network, or a combination of two or more such networks. For example, network 110, 2434, or a portion thereof may include a wireless network or a cellular network, and the coupling may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile Communications (GSM) connection, or other types of cellular or wireless coupling. In this example, the coupling can implement any of a variety of data transmission technologies, such as Single Carrier Radio Transmission (1xRTT), Evolved Data Optimization (EVDO), General Packet Radio Service (GPRS), Enhanced Data Rate Evolution of GSM (EDGE), the 3rd Generation Partnership Project (3GPP) including 3G, fourth-generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High-Speed Packet Access (HSPA), Global Microwave Access Interoperability (WiMAX), Long Term Evolution (LTE) standards, other standards defined by various standards-setting organizations, other telematics protocols, or other data transmission technologies.
[0218] In this context, a "transient message" refers to a message that can be accessed for a limited time. Transient messages can be text, images, videos, etc. The access time for a transient message can be set by the message sender. Alternatively, the access time can be a default setting or a setting specified by the receiver. Regardless of the setting technique, the message is transient.
[0219] In this context, "machine-readable medium" means a component, device, or other tangible medium capable of temporarily or permanently storing instructions 2402 and data, and may include, but is not limited to, random access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage devices (e.g., erasable programmable read-only memory (EEPROM)), or any suitable combination thereof. The term "machine-readable medium" should be considered to include a single medium or multiple media capable of storing instructions 2402 (e.g., a centralized or distributed database or associated cache memory and server). The term "machine-readable medium" should also be considered to include any medium or combination of media capable of storing instructions 2402 (e.g., code) executable by machine 2400, such that when executed by one or more processors 2404 of machine 2400, the instructions 2402 cause machine 2400 to perform any or more methods described herein. Accordingly, "machine-readable medium" means a single storage device or apparatus, and a "cloud-based" storage system or storage network comprising multiple storage devices or apparatuses. The term "machine-readable medium" does not include the signal itself.
[0220] In this context, a “component” refers to a device, physical entity, or logic having boundaries defined by functional or subroutine calls, branch points, APIs, or other technologies that provide partitioning or modularity for specific processing or control functions. Components can be combined with other components via their interfaces to perform machine processing. Components can be encapsulated functional hardware units designed for use with other components, and part of a program that typically performs a specific function related to that function. Components can constitute software components (e.g., code implemented on a machine-readable medium) or hardware components. A “hardware component” is a tangible unit capable of performing certain operations and can be configured or arranged in some physical manner. In various example implementations, one or more computer systems (e.g., standalone computer systems, client computer systems, or server computer systems) or one or more hardware components (e.g., processors or processor groups) of a computer system can be configured by software (e.g., an application or application portion) to perform certain operations described herein.
[0221] Hardware components can also be implemented mechanically, electronically, or in any suitable combination thereof. For example, a hardware component may include dedicated circuitry or logic permanently configured to perform certain operations. A hardware component may be a dedicated processor, such as a field-programmable gate array (FPGA) or an ASIC. A hardware component may also include a system of programmable logic or circuitry temporarily configured by software to perform certain operations. For example, a hardware component may include software executed by a general-purpose processor 2404 or other programmable processor. Once configured by such software, the hardware component becomes a specific machine (or a specific component of machine 2400) uniquely tailored to perform the configured function and is no longer the general-purpose processor 2404. It will be understood that decisions to implement hardware components mechanically in dedicated and permanently configured circuitry or in temporarily configured (e.g., configured by software) circuitry may be driven by cost and time considerations. Accordingly, the phrase “hardware component” (or “hardware-implemented component”) should be understood to include tangible entities, i.e., entities physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain way or perform certain operations described herein. Consider implementations where hardware components are temporarily configured (e.g., programmed), eliminating the need to configure or instantiate each hardware component at any given time. For example, in the case where the hardware components include a general-purpose processor 2404 that is configured as a dedicated processor via software, the general-purpose processor 2404 can be configured as different dedicated processors (e.g., including different hardware components) at different times. The software accordingly configures specific processors 2412, 2414, or processor 2404 to constitute a specific hardware component at one time and different hardware components at different times.
[0222] Hardware components can provide information to and receive information from other hardware components. Therefore, the described hardware components can be considered communicationally coupled. In the presence of multiple hardware components, communication can be achieved through signal transmission between or among two or more hardware components (e.g., via appropriate circuitry and buses). In implementations where multiple hardware components are configured or instantiated at different times, such communication between hardware components can be achieved, for example, by storing information in a memory structure accessible to the multiple hardware components and retrieving information from that memory structure. For example, one hardware component can perform an operation and store the output of that operation in a communicationally coupled memory device. Another hardware component can then access the memory device at a subsequent time to retrieve and process the stored output.
[0223] Hardware components can also initiate communication with input or output devices and operate on resources (e.g., collections of information). Various operations of the example methods described herein can be performed, at least in part, by one or more processors 2404 that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors 2404 can constitute processor-implemented components that operate to perform one or more operations or functions described herein. As used herein, "processor-implemented component" refers to a hardware component implemented using one or more processors 2404. Similarly, the methods described herein can be implemented, at least in part, by processors, where specific processors 2412, 2414, or 2404 are examples of hardware. For example, at least some operations of the methods can be performed by one or more processors 2404 or processor-implemented components. Furthermore, one or more processors 2404 can also be configured to support the execution of relevant operations in a "cloud computing" environment or operate as "Software as a Service" (SaaS). For example, at least some operations can be performed by a group of computers (as an example, machine 2400 including processor 2404), wherein these operations are accessible via network 110 (e.g., the Internet) and via one or more appropriate interfaces (e.g., APIs). The execution of some operations can be distributed among processors, not residing solely within a single machine 2400, but deployed across multiple machines. In some example implementations, processor 2404 or components implemented by the processor can reside in a single geographic location (e.g., within a home environment, office environment, or server cluster). In other example implementations, processor 2404 or components implemented by the processor can be distributed across multiple geographic locations.
[0224] In this context, "processor" refers to any circuit or virtual circuit (physical circuitry simulated by logic executed on the actual processor 2404) that manipulates data values according to control signals (e.g., "commands", "opcodes", "machine codes", etc.) and generates corresponding output signals used to operate machine 2400. For example, processor 2404 can be a CPU, RISC processor, CISC processor, GPU, DSP, ASIC, RFIC, or any combination thereof. Processor 2404 can also be a multi-core processor having two or more independent processors 2404 (sometimes referred to as "cores") capable of executing instructions 2402 simultaneously.
[0225] In this context, a "timestamp" refers to a sequence of characters or encoded information that identifies when an event occurred, such as giving a date and time of day, sometimes accurate to a fraction of a second.
[0226] Changes and modifications may be made to the disclosed implementation without departing from the scope of this disclosure. Such changes and other modifications are intended to be included within the scope of this disclosure as set forth in the appended claims.
[0227] The following is a non-restrictive list of numbered aspects of this topic.
[0228] Aspect 1. A method comprising: receiving first input data by a computing system including one or more computing devices to provide content items to one or more receivers, each of the one or more computing devices including a processor and a memory, the content items including at least one of image content or video content captured via a client application, wherein the content items are associated with an account of a user of the client application; generating first user interface data corresponding to a user interface by the computing system, the user interface including alphanumeric characters of user interface elements for capturing identifiers indicating at least one category of the content items; and identifying second input data by the computing system indicating one or more alphanumeric characters captured in the user interface elements; The computing system determines a candidate category group for the content item based on one or more alphanumeric characters in the second input data; the computing system analyzes at least one of the user's profile data or the user's content usage data to determine a subset of the candidate category group for the content item; the computing system generates second user interface data corresponding to a second user interface, the second user interface including the one or more alphanumeric characters and the subset of the candidate category group; the computing system receives third input data indicating the selection of a candidate category included in the subset of the candidate category group; and the computing system stores the content item in association with the category corresponding to the candidate category.
[0229] Aspect 2. The method according to Aspect 1, comprising: receiving a request by the computing system to access user content corresponding to the category; determining by the computing system that the content item corresponds to the category; and generating additional user interface data corresponding to an additional user interface, the additional user interface including the content item and a plurality of additional content items related to the category.
[0230] Aspect 3. The method according to aspect 1 or 2, comprising: determining, by the computing system, the number of times a user of the client application selects to associate an additional content item with the category over a period of time; determining, by the computing system, the usage frequency of the category based on the number of selections of the category over the period of time; determining, by the computing system, that the usage frequency of the category meets a threshold usage frequency; and determining, by the computing system, that the category is included in a subset of the candidate category group based on the usage frequency of the category that meets the threshold usage frequency.
[0231] Aspect 4. The method according to any one of Aspects 1 to 3, comprising: determining by the computing system the number of times an additional content item corresponding to the category has been viewed by a user of the client application; and determining by the computing system, based on the number of times the additional content item has been viewed, that the category is included in a subset of the candidate category group.
[0232] Aspect 5. The method according to Aspects 1 to 4, comprising: determining, by the computing system, a plurality of similarity measures of the one or more alphanumeric characters captured in the user interface element relative to a plurality of categories; determining, by the computing system, that a similarity measure among the plurality of similarity measures satisfies one or more criteria, the similarity measure corresponding to a quantity of similarity between the alphanumeric characters of the category and the one or more alphanumeric characters captured in the user interface element; and determining, by the computing system, that the category is included in a subset of the candidate category group based on the similarity measure satisfying the one or more criteria.
[0233] Aspect 6. The method according to aspects 1 to 5, wherein the one or more recipients include at least one or more users of the client application or one or more repositories having one or more categories of content items.
[0234] Aspect 7. The method according to aspects 1 to 6, comprising: determining by the computing system the number of times the one or more alphanumeric characters satisfy the threshold number of alphanumeric characters; wherein, in response to the number of times the one or more alphanumeric characters satisfy the threshold number of alphanumeric characters, a subset of the candidate classification group is displayed in the second user interface.
[0235] Aspect 8. The method according to aspects 1 to 7, wherein the second user interface indicates: each category of each candidate category of a subset of the candidate category group, the each category corresponding to the frequency of use of content items associated with the respective category, or associated with one or more additional content items viewed by the user; and a corresponding number of content items associated with each candidate category of the subset of the candidate category group.
[0236] Aspect 9. The method according to aspects 1 to 8, comprising: receiving additional user input by the computing system to perform an augmented reality content item relative to user content of the content item; and generating a modified content item by the computing system in response to performing the augmented reality content item relative to user content of the content item; wherein, in response to receiving third input data indicating the selection of the candidate category, the modified content item is associated with the category.
[0237] Aspect 10. The method according to aspects 1 to 9, comprising: determining by the computing system one or more additional categories previously selected by a user of the client application to be associated with additional content items related to the user; and determining by the computing system that the category is included in a subset of the candidate category group based on the fact that the category is included in the one or more additional categories previously selected by the user.
[0238] Aspect 11. A system comprising: one or more hardware processors; and one or more non-transitory computer-readable storage media including computer-readable instructions, which, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations, the operations including: receiving first input data to provide content items to one or more receivers, the content items including at least one of image content or video content captured via a client application, wherein the content items are associated with an account of a user of the client application; generating first user interface data corresponding to a user interface, the user interface including user interface elements to capture alphanumeric characters of identifiers indicating a category of the content items. The process involves: identifying second input data indicating one or more alphanumeric characters captured in the user interface element; determining candidate category groups for the content item based on the one or more alphanumeric characters in the second input data; analyzing at least one of the user's profile data and content usage data to determine a subset of the candidate category groups for the content item; generating second user interface data corresponding to a second user interface, which includes the one or more alphanumeric characters and the subset of the candidate category groups; receiving third input data indicating the selection of a candidate category included in the subset of the candidate category groups; and storing the content item in association with a category corresponding to the candidate category.
[0239] Aspect 12. The system according to aspect 11, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: displaying a plurality of candidate categories in a second user interface, wherein each candidate category is displayed relative to a category.
[0240] Aspect 13. The system according to aspect 11 or 12, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions, which, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: determining the number of times a user of the client application has selected to associate additional content items with the category over a period of time; determining the usage frequency of the category based on the number of selections to the category over the period of time; determining that the usage frequency of the category satisfies a threshold usage frequency; and determining that the category is included in a subset of the candidate category group based on the usage frequency of the category satisfying the threshold usage frequency.
[0241] Aspect 14. The system according to Aspect 13, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions, which, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: determining the number of times a user of the client application has viewed additional content items corresponding to the category; and determining, based on the number of times the additional content items have been viewed, that a first additional category is included in a subset of the candidate category group.
[0242] Aspect 15. The system according to aspect 14, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: determining one or more other categories previously selected by a user of the client application to be associated with additional content items related to the user; and determining that a second additional category is included in a subset of the candidate category group based on the fact that a second additional category is included in the one or more other categories previously selected by the user.
[0243] Aspect 16. The system according to aspect 15, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions, which, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: determining the one or more alphanumeric characters captured in the user interface element relative to a plurality of similarity measures of a plurality of categories; determining that a first similarity measure, a second similarity measure, and a third similarity measure among the plurality of similarity measures satisfy one or more criteria, wherein the first similarity measure and the alphanumeric characters of the category are similar to those captured in the user interface element. The first similarity measure corresponds to the amount of similarity between one or more alphanumeric characters, the second similarity measure corresponds to the amount of similarity between the first additional alphanumeric character of the first additional category and one or more alphanumeric characters captured in the user interface element, and the third similarity measure corresponds to the amount of similarity between the second additional alphanumeric character of the second additional category and one or more alphanumeric characters captured in the user interface element; and based on the first similarity measure, the second similarity measure and the third similarity measure satisfying one or more criteria, it is determined that the category, the first additional category and the second additional category are included in a subset of the candidate category group.
[0244] Aspect 17. One or more non-transitory computer-readable storage media storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the operations including: receiving first input data to provide content items to one or more receivers, the content items including at least one of image content or video content captured via a client application, wherein the content items are associated with an account of a user of the client application; generating first user interface data corresponding to a user interface, the user interface including user interface elements to capture alphanumeric characters of identifiers indicating a category of the content items; and recognizing indications in the user interface. The method includes: second input data consisting of one or more alphanumeric characters captured in an element; determining a candidate category group for the content item based on the one or more alphanumeric characters in the second input data; analyzing at least one of the user's profile data and content usage data to determine a subset of the candidate category group for the content item; generating second user interface data corresponding to a second user interface, the second user interface including the one or more alphanumeric characters and the subset of the candidate category group; receiving third input data indicating the selection of a candidate category included in the subset of the candidate category group; and storing the content item in association with a category corresponding to the candidate category.
[0245] Aspect 18. One or more non-transitory computer-readable media according to aspect 17, storing additional computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform additional operations, the additional operations including: determining a ranking list of categories that includes at least a subset of the candidate classification groups based on one or more criteria; and causing the ranking list of categories to be displayed sequentially within a second user interface.
[0246] Aspect 19. One or more non-transitory computer-readable media according to aspect 18, wherein the one or more criteria include a quantity of similarity between a plurality of alphanumeric characters of the candidate classification group and the one or more alphanumeric characters captured in the user interface element, and the order of the plurality of alphanumeric characters of the candidate classification group and the one or more alphanumeric characters captured in the user interface element.
[0247] Aspect 20. One or more non-transitory computer-readable media according to aspect 18 or 19, wherein the one or more criteria include at least one of the following: the frequency of use of the candidate category group by a plurality of additional users of the client application; the time period elapsed between the user of the client application selecting a corresponding category and the current time; or the number of times the user of the client application views content items associated with one or more corresponding categories.
Claims
1. A method for processing content items, comprising: A computing system comprising one or more computing devices receives first input data to provide content items to one or more receivers, each of the one or more computing devices including a processor and a memory, the content items including at least one of image content or video content captured via a client application, wherein the content items are associated with an account of a user of the client application; The computing system generates first user interface data corresponding to the user interface, the user interface including user interface elements to capture alphanumeric characters of identifiers indicating at least one category of the content item; The computing system identifies second input data indicating one or more alphanumeric characters captured in the user interface elements, wherein the one or more alphanumeric characters correspond to a partially completed classification; The calculation system determines the number of alphanumeric characters that satisfy the threshold for alphanumeric characters in the classification completed by the part. In response to determining the number of times the one or more alphanumeric characters satisfy the threshold of the alphanumeric characters, the computing system determines the candidate classification group of the content item based on the one or more alphanumeric characters in the second input data; The computing system analyzes at least one of the user's profile data or the user's content usage data to determine a subset of candidate category groups for the content items; The computing system generates second user interface data corresponding to the second user interface, wherein the second user interface includes one or more alphanumeric characters and a subset of the candidate classification groups; The computing system receives third input data, which indicates the selection of candidate categories included in a subset of the candidate classification group; and The computing system stores the content items in association with the categories corresponding to the candidate categories.
2. The method according to claim 1, comprising: The computing system receives requests to access user content corresponding to the category; The calculation system determines that the content item corresponds to the category; as well as The computing system generates additional user interface data corresponding to the additional user interface, which includes the content item and multiple additional content items related to the category.
3. The method according to claim 1, comprising: The computing system determines the number of times the client application user selects to associate additional content items with the category over a period of time. The computing system determines the frequency of use of the category based on the number of times the category is selected within the time period. The calculation system determines that the usage frequency of the category meets the threshold usage frequency. as well as The calculation system determines whether a category is included in a subset of the candidate category group based on whether the frequency of use of the category meets the threshold frequency of use.
4. The method according to claim 1, comprising: The calculation system determines the number of times the user of the client application views the additional content item corresponding to the category; as well as The calculation system determines that the category is included in a subset of the candidate category group based on the number of times the additional content item is viewed.
5. The method according to claim 1, comprising: The computing system determines multiple similarity measures of the one or more alphanumeric characters captured in the user interface elements relative to multiple categories; The calculation system determines that one or more similarity measures among the plurality of similarity measures meet one or more criteria, and the similarity measure corresponds to the amount of similarity between the classified alphanumeric characters and the one or more alphanumeric characters captured in the user interface elements; as well as The calculation system determines that the classification is included in a subset of the candidate classification group based on the similarity metric satisfying one or more criteria.
6. The method according to claim 1, wherein, The one or more recipients include at least one of the following: one or more users of the client application; or one or more repositories with one or more categories of content items.
7. The method according to claim 1, comprising: The calculation system determines the number of alphanumeric characters that satisfy the threshold for alphanumeric characters; In response to the number of alphanumeric characters that satisfy the threshold of the number of alphanumeric characters, a subset of the candidate classification group is displayed in the second user interface.
8. The method according to claim 1, wherein, The second user interface indicates: Each category of each candidate category in a subset of the candidate category group, each category corresponding to the frequency of use of content items associated with the respective category, or associated with one or more additional content items viewed by the user; as well as The corresponding number of content items associated with each candidate category of the subset of the candidate category group.
9. The method according to claim 1, comprising: The computing system receives additional user input to execute augmented reality content items relative to the user content of the content items; as well as In response to the execution of the augmented reality content item relative to the user content of the content item, the computing system generates a modified content item; In response to receiving the third input data indicating the selection of the candidate category, the modified content item is associated with the category.
10. The method according to claim 1, comprising: The computing system determines one or more additional categories previously selected by the user of the client application to be associated with additional content items related to the user; as well as The computing system determines that the category is included in a subset of the candidate category group based on the category being included in one or more additional categories previously selected by the user.
11. A system for content item processing, comprising: One or more hardware processors; as well as A non-transitory computer-readable storage medium comprising computer-readable instructions, which, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations, the operations including: Receive first input data to provide content items to one or more receivers, the content items including at least one of image content or video content captured via a client application, wherein the content items are associated with the account of a user of the client application; Generate first user interface data corresponding to the user interface, the user interface including user interface elements to capture alphanumeric characters of identifiers indicating the category of the content item; Identify second input data indicating one or more alphanumeric characters captured in the user interface element, wherein the one or more alphanumeric characters correspond to a partially completed classification; Determine the number of alphanumeric characters that satisfy the threshold for alphanumeric characters in the partially completed classification; In response to determining the number of times the one or more alphanumeric characters satisfy the threshold of the alphanumeric characters, a candidate classification group for the content item is determined based on the one or more alphanumeric characters in the second input data; Analyze at least one of the user's profile data and content usage data to determine a subset of candidate category groups for the content item; Generate second user interface data corresponding to the second user interface, wherein the second user interface includes the one or more alphanumeric characters and a subset of the candidate classification groups; Receive third input data, the third input data indicating the selection of candidate categories included in a subset of the candidate classification group; and The content items are stored in association with the categories corresponding to the candidate categories.
12. The system according to claim 11, wherein, The one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: This allows multiple candidate categories to be displayed in the second user interface, where each candidate category is displayed relative to the respective category of the classification.
13. The system according to claim 11, wherein, The one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: Determine the number of times the client application users selected to associate additional content items with the category over a period of time; The frequency of use of the category is determined based on the number of times the category is selected within the said time period; Determine that the usage frequency of the category meets the threshold usage frequency; and The classification is determined to be included in a subset of the candidate classification group based on the usage frequency of the classification, which meets the threshold usage frequency.
14. The system according to claim 13, wherein, The one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: Determine the number of times users of the client application have viewed the additional content items corresponding to the category; and The first additional category is determined to be included in a subset of the candidate category group based on the number of times the additional content items are viewed.
15. The system according to claim 14, wherein, The one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: Determine one or more other categories previously selected by the user of the client application to be associated with additional content items related to the user; and Based on the second additional category being included in one or more other categories previously selected by the user, it is determined that the second additional category is included in a subset of the candidate category group.
16. The system according to claim 15, wherein, The one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations, the additional operations including: Determine multiple similarity measures of the one or more alphanumeric characters captured in the user interface elements relative to multiple categories; The first, second, and third similarity measures among the plurality of similarity measures are determined to satisfy one or more criteria, wherein the first similarity measure corresponds to the amount of similarity between the alphanumeric characters of the category and the one or more alphanumeric characters captured in the user interface element; the second similarity measure corresponds to the amount of similarity between the first additional alphanumeric characters of the first additional category and the one or more alphanumeric characters captured in the user interface element; and the third similarity measure corresponds to the amount of similarity between the second additional alphanumeric characters of the second additional category and the one or more alphanumeric characters captured in the user interface element; and Based on the fact that the first similarity metric, the second similarity metric, and the third similarity metric satisfy one or more of the criteria, it is determined that the classification, the first additional classification, and the second additional classification are included in a subset of the candidate classification group.
17. A non-transitory computer-readable storage medium storing computer-readable instructions, which, when executed by one or more processors, cause the one or more processors to perform operations, the operations including: Receive first input data to provide content items to one or more receivers, the content items including at least one of image content or video content captured via a client application, wherein the content items are associated with the account of a user of the client application; Generate first user interface data corresponding to the user interface, the user interface including user interface elements to capture alphanumeric characters of identifiers indicating the category of the content item; Identify second input data indicating one or more alphanumeric characters captured in the user interface element, wherein the one or more alphanumeric characters correspond to a partially completed classification; Determine the number of alphanumeric characters that satisfy the threshold for alphanumeric characters in the partially completed classification; In response to determining the number of times the one or more alphanumeric characters satisfy the threshold of the alphanumeric characters, a candidate classification group for the content item is determined based on the one or more alphanumeric characters in the second input data; Analyze at least one of the user's profile data and content usage data to determine a subset of candidate category groups for the content item; Generate second user interface data corresponding to the second user interface, wherein the second user interface includes the one or more alphanumeric characters and a subset of the candidate classification groups; Receive third input data, the third input data indicating the selection of candidate categories included in a subset of the candidate classification group; and The content items are stored in association with the categories corresponding to the candidate categories.
18. The non-transitory computer-readable medium of claim 17, storing additional computer-readable instructions, which, when executed by one or more processors, cause the one or more processors to perform additional operations, the additional operations including: A ranking list of categories, comprising at least a subset of the candidate classification groups, is determined based on one or more criteria. as well as This causes the ranking list of the categories to be displayed sequentially within the second user interface.
19. The non-transitory computer-readable medium according to claim 18, wherein, The one or more criteria include the amount of similarity between multiple alphanumeric characters in the candidate classification group and the one or more alphanumeric characters captured in the user interface element, as well as the order of the multiple alphanumeric characters in the candidate classification group and the one or more alphanumeric characters captured in the user interface element.
20. The non-transitory computer-readable medium according to claim 18, wherein, The one or more criteria include at least one of the following: the frequency of use of the candidate category group by multiple additional users of the client application; the time period between the user's selection of the corresponding category and the current time; or the number of times the user of the client application views content items associated with one or more corresponding categories.
Citation Information
Patent Citations
Friend circle information classification method and device
CN106682008A
Label display method and device, electronic equipment and computer readable medium
CN111291220A