Efficient search and display of items on a digital platform based on generated digital personas
An item pipeline using a large-language model efficiently organizes item listings under personas and themes, addressing inefficiencies in traditional digital platforms by automating curation and improving user experience through accurate and scalable search results.
Patent Information
- Application Number
- PCT/US2024/061977
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-26
- Filing Date
- 2024-12-26
- Publication Date
- 2025-07-03
AI Technical Summary
Existing digital platforms face inefficiencies in presenting item listings to users, often requiring users to scroll through large, unorganized lists of items, and manual curation is time-consuming and cumbersome, especially with vast databases.
Implementing an item pipeline that uses a large-language model to generate metadata based on personas and item themes, generating embeddings to identify relevant listings, and allowing curators to refine results, reducing the need for manual hand-picking and hand-ordering.
Provides organized and efficient presentation of item listings, improving user experience by categorizing items under personas and themes, reducing time and effort in curation, and leveraging historical data for scalable and accurate search results.
Smart Images

Figure US2024061977_03072025_PF_FP_ABST
Abstract
Description
EFFICIENT SEARCH AND DISPLAY OF ITEMS ON A DIGITAL PLATFORM BASED ON GENERATED DIGITAL PERSONASCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. § 119(e) ofU.S. Patent Application No. 63 / 614,772, entitled “SELECTING AND DISPLAYING ITEMS ON A DIGITAL PLATFORM BASED ON GENERATED DIGITAL PERSONAS,” filed December 26, 2023. The disclosure of the foregoing application is incorporated herein by reference in its entirety for all purposes.BACKGROUND
[0002] An exchange platform enables exchange of goods, content, and services between end users and providers. Providers can list or provide their goods, contents, and services on the exchange platform, and end users obtain the goods, content, and services from the providers via the exchange platform. The exchange platform can include front-end systems that interface with users and providers and can include back-end systems that carry out computations based on user and provider inputs and generate exchange outcomes.
[0003] A user device, or an application running on the user device, can communicate with the exchange platform, which can provide a user interface for display on the user device, via which the user can search for item listings. For example, the user interface can include a search field that accepts text from the user. The user interface can communicate the search text to the exchange platform, which can utilize a search engine to access item listings based on the search text. The exchange platform can then provide the item listings to the user interface on the user device to display the item listings. Typically, the item listings are displayed as a list to the user and the user scrolls the list to identify the desired item. Upon selecting the desired item, the user interface can allow the user to acquire the item.SUMMARY
[0004] In one aspect, this application discusses one or more user interfaces that provide a categorized and organized listing of items to the user on a digital platform. The user interfaces can display to a user on the user interface a set of persona tiles that represent a digital persona (or just “persona”). A persona can represent a grouping of item themes. In some instances, thepersona can represent a type of interest, hobby, personal trait, or attribute associated with one or more persons or represent an occasion. A user can review the set of persona tiles and select one of the persona tiles that most closely aligns with the attributes of the person or an occasion for which the user intends to acquire an item. Upon selection of a persona tile, the user can be presented with a set of curated listings that closely relate to the selected persona and are logically organized in sub-categories related to the selected persona tile. An item pipeline can generate the curated listings provided to the user. In particular, the item pipeline can be utilized in generating a curated listings database that takes into consideration various personas and item themes, that are sub-categories of personas, and generates related listings selected from a listings database. The curated listings database can store the curated listings as well as associated persona and / or item theme information. The items pipeline can use large-language-models to generate metadata (e.g., item tags, queries and tiles). In some instance, the metadata (e g., queries) can be utilized by the items pipeline to select listings from query-listings pairs that are related to the item themes. In some instances, the metadata can be used by an embeddings generator to generate embeddings. The embeddings can be used to search the listings database to generate the listings related to the personas and item themes. The related listings can be published and stored in the curated listings database in relation to the associated personas and item themes. The items pipeline can be rerun by a curator to generate a modified related listings before publishing the listings, if the previously generated related listings are not satisfactory.
[0005] One general aspect includes a method. The method also includes generating, using a large language model, metadata related to a plurality of items based on a prompt including an item theme and a persona, where the item theme includes a type of an item and the persona includes a grouping of one or more item themes, the metadata including at least one of titles, tags, or queries; identifying a plurality of listings from a listings database including un-curated listings based on a recommendation engine, the recommendation engine receiving as input at least one of the metadata or the item theme and generating as output the plurality of listings. The method also includes receiving, from the user interface, an input to publish the plurality of listings. The method also includes in response to the input, storing the plurality of listings in a curated items database in association with at least one of the persona or the item theme. The method also includes receiving, from a user device, a request for item listings, the request including at least one of the persona or the item theme. The method also includes retrieving, from the curated items database the pluralityof listings and at least one of the persona or the item theme. The method also includes providing the plurality of listings to the user device.
[0006] Implementations may include one or more of the following features. The method may include: generating, by the recommendation engine, one or more embeddings based on the metadata and the item theme; identifying, by the recommendation engine, listings from the listings database based on the one or more embeddings; generating ranked listings from the identified listings based on a ranking function; and providing the ranked listings as the plurality of listings to a user interface. The one or more embeddings includes a first embedding and a second embedding, the method may include: generating the first embedding based on the item theme and the metadata including titles, tags and queries; determining a first plurality of listings that have embeddings related to the first embedding; generating the second embedding based on the item theme and the metadata including queries; determining a second plurality of listings that have embeddings related to the second embedding; and determining the plurality of listings based on a union of the first plurality of listings and the second plurality of listings. The first plurality of listings related to the first embedding include listings that have embeddings in a coordinate system of the first embedding, the embeddings being one of (i) no more than a threshold distance from the first embedding and (ii) n-th closest to the first embedding. The method may include: generating a first intermediate plurality of listings that have embeddings related to the first embedding; ranking the first intermediate plurality of listings based on a neural network trained to rank listings in terms of an item selection function; generating the first plurality of listings from a subset of the first intermediate plurality of listings having corresponding ranking that is greater than a first threshold value; generating a second intermediate plurality of listings that have embeddings related to the second embedding; ranking the second intermediate plurality of listings based on the neural network; and generating the second plurality of listings from a subset of the second intermediate plurality of listings having corresponding ranking that is greater than a second threshold value.
[0007] The method may further include: receiving, from the user interface, a modified prompt including modifications to at least one of the item theme or the persona; generating, using the large language model, modified metadata based on the modified prompt; generating one or more modified embeddings based on the modified metadata and the item theme; determining a modified plurality of listing related to the one or more modified embeddings; generating modified ranked listings from the modified plurality of listings based on the ranking function; displaying themodified ranked listings on a user interface; randomizing the modified ranked listings includes randomly changing a ranking of listings in the modified ranked listings. The method may include: filtering the modified ranked listings prior to displaying on the user interface. The un-curated plurality of digital components is an un-curated plurality of listings, the plurality of digital components is a plurality of listings, the method may include operations of any one -38. The method may include: providing, via the GUI, a selectable list of personas and receiving, via the GUI, the persona selected from the list of personas. The metadata includes one or more queries, the method may include: identifying the plurality of listings based on: searching, using the one or more queries, a query-listing dataset including a plurality of query-listings pairs for matches between the one or more queries and queries in the plurality of query-listing pairs; combining listings of the plurality of query-listings pairs that have corresponding queries that result in a hit from searching the query-listing dataset with the one or more queries, where combining the listings results in an intermediate plurality of listings; and filtering the intermediate plurality of listings based on a ranking function to generate the plurality of listings. The method may include: ranking listings in each of the plurality of query-listings pairs based on (1) an average position of a listing in a user search result, and (2) an item selection function related to gift appropriateness of a listing. The average position of the listings is determined by averaging positions of the listings in user search results in the last predetermined number of days.
[0008] One general aspect includes one or more non-transitory computer-readable storage media encoded with instructions that when executed by one or more computers cause the one or more computers to perform operations. The one or more non - transitory computer - readable storage media also includes generating, using a large language model, metadata related to a plurality of items based on a prompt including an item theme and a persona, where the item theme includes a type of an item and the persona includes a grouping of one or more item themes, the metadata including at least one of titles, tags, or queries; identifying a plurality of listings from a listings database including un-curated listings based on a recommendation engine, the recommendation engine receiving as input at least one of the metadata or the item theme and generating as output the plurality of listings. The media also includes receiving, from the user interface, an input to publish the plurality of listings. The media also includes in response to the input, storing the plurality of listings in a curated items database in association with at least one of the persona or the item theme. The media also includes receiving, from a user device, a request foritem listings, the request including at least one of the persona or the item theme. The media also includes retrieving, from the curated items database the plurality of listings and at least one of the persona or the item theme. The media also includes providing the plurality of listings to the user device.
[0009] Implementations may include one or more of the following features. The computer storage media the operations may include: generating, by the recommendation engine, one or more embeddings based on the metadata and the item theme; identifying, by the recommendation engine, listings from the listings database based on the one or more embeddings; generating ranked listings from the identified listings based on a ranking function; and providing the ranked listings as the plurality of listings to a user interface. The one or more embeddings includes a first embedding and a second embedding, the operations may include: generating the first embedding based on the item theme and the metadata including titles, tags and queries; determining a first plurality of listings that have embeddings related to the first embedding; generating the second embedding based on the item theme and the metadata including queries; determining a second plurality of listings that have embeddings related to the second embedding; and determining the plurality of listings based on a union of the first plurality of listings and the second plurality of listings. The first plurality of listings related to the first embedding include listings that have embeddings in a coordinate system of the first embedding, the embeddings being one of (i) no more than a threshold distance from the first embedding and (ii) n-th closest to the first embedding. The method may include: generating a first intermediate plurality of listings that have embeddings related to the first embedding; ranking the first intermediate plurality of listings based on a neural network trained to rank listings in terms of an item selection function; generating the first plurality of listings from a subset of the first intermediate plurality of listings having corresponding ranking that is greater than a first threshold value; generating a second intermediate plurality of listings that have embeddings related to the second embedding; ranking the second intermediate plurality of listings based on the neural network; and generating the second plurality of listings from a subset of the second intermediate plurality of listings having corresponding ranking that is greater than a second threshold value. The metadata includes one or more queries, the operations may include: identifying the plurality of listings based on: searching, using the one or more queries, a querylisting dataset including a plurality of query-listings pairs for matches between the one or more queries and queries in the plurality of query-listing pairs; combining listings of the plurality ofquery-listings pairs that have corresponding queries that result in a hit from searching the querylisting dataset with the one or more queries, where combining the listings results in an intermediate plurality of listings; and fdtering the intermediate plurality of listings based on a ranking function to generate the plurality of listings. The computer storage media the operations may include: ranking listings in each of the plurality of query-listings pairs based on (1) an average position of a listing in a user search result, and (2) an item selection function related to gift appropriateness of a listing. The average position of the listings is determined by averaging positions of the listings in user search results in the last predetermined number of days.
[0010] Another general aspect includes a system comprising a processor and a memory, the processor configured to execute instructions for performing operations recited in the above method.
[0011] One general aspect includes a method. The method also includes generating, using a large language model, metadata related to a plurality of digital components based on a prompt including a theme and a persona, where the theme includes a type of the digital component and the persona includes a grouping of one or more themes, the metadata including at least one of titles, tags, or queries; identifying a plurality of digital components from a first database including uncurated list of digital components based on a recommendation engine, the recommendation engine receiving as input at least one of the metadata or the digital component theme and generating as output the plurality of digital components. The method also includes receiving, from the user interface, an input to publish the plurality of digital components. The method also includes in response to the input, storing the plurality of digital components in a second database. The method also includes receiving, from a user device, a request for digital components, the request including at least one of the persona or the theme. The method also includes retrieving, from the second database, the plurality of digital components and at least one of the persona or the theme. The method also includes providing the plurality of digital components to the user device.
[0012] Implementations may include one or more of the following features. The method where the plurality of digital components is a plurality of items, where the theme is an item theme, where the type of digital component is a type of an item, where the first database is a listings database including un-curated listings, and where the second database is a curated items database. The method including operations recited in any one of the above methods.
[0013] One general aspect includes a method. The method also includes providing a user interface displaying a plurality of persona tiles, each of the persona tiles including an indicator of a personal characteristic of a recipient; providing, on the user interface, a set of item icons associated with at least one persona tile of the plurality of persona tiles, each item icon of the set of item icons corresponding to an item theme, wherein the item theme includes a type of an item and the persona includes a grouping of one or more item themes. The method also includes receiving, at the user interface, a user selection of a persona tile of the plurality of persona tiles and a user selection of an item of icons from the set of item icons. The method also includes communicating, with a remote server, the user selection of the persona tile and the user selection of the item of icons. The method also includes receiving, from the remote server, a set of listings that are generated based on one of (i) embeddings of the persona tile and the item of icons or (ii) searching, using one or more queries, a query-listings dataset including a plurality of querylistings pairs for matches between the one or more queries and queries in the plurality of queries- listings pairs. The method also includes providing, on the user interface, the set of listings.
[0014] Implementations may include one or more of the following features. The method may include: providing on the user interface a quiz interface including a plurality of icons representing at least one of a gift target, an occasion, and a gift target interest, receiving, via the quiz interface, a selection of icons from the plurality of icons; communicating, with the remote server, the selection of icons; receiving, from the remote server, a plurality of personas that are generated based on embeddings of the selection of icons; and providing, on the user interface, the plurality of personal tiles based on the plurality of personas. The method may include: responsive to receiving a selection of a listing from the set of listing, providing a gift delivery communication interface including at least one of an option to include a gift teaser, an option to select a theme for a gift teaser, an option to record a video message, and an option to include a sneak peek. The method may include: responsive to receiving a user selection of the option to record the video message, providing a video recording user interface to the user to record a video message. The method may include: providing on the user interface selectable scheduling information for communication of the video message, communicating the video message to a gift recipient based on selected scheduling information. The method may include: providing, by the user interface, a gift notification including an option to select at least one of a play icon to play a video message recorded by a sender and a communication interface to enter a reply to the sender, thecommunication interface including at least one of a text interface, an audio interface, or an audiovisual interface.
[0015] Another general aspect includes one or more non-transitory computer-readable storage media encoded with instructions that when executed by one or more computers cause the one or more computers to perform operations recited in the above method. Another general aspect includes a system may include a processor and a memory, the processor configured to execute instructions for performing operations recited in the above method.
[0016] One general aspect includes a method. The method also includes providing a user interface displaying a plurality of persona tiles, each of the persona tiles including an indicator of a personal characteristic of a recipient; providing, on the user interface, a set of item icons associated with at least one persona tile of the plurality of persona tiles, each item icon of the set of item icons corresponding to an item theme, wherein the item theme includes a type of an item and the persona includes a grouping of one or more item themes. The method also includes receiving, at the user interface, a user selection of a persona tile of the plurality of persona tiles and a user selection of an item of icons from the set of item icons. The method also includes communicating, with a remote server, the user selection of the persona tile and the user selection of the item of icons. The method also includes receiving, from the remote server, a set of digital components that are generated based on one of (i) embeddings of the persona tile and the item of icons or (ii) searching, using one or more queries, a query-digital component dataset including a plurality of query-digital components pairs for matches between the one or more queries and queries in the plurality of queries-digital components pairs. The method also includes providing, on the user interface, the set of digital components. The set of digital components is a set of listings, the method further comprising operations recited in any one of claims 24-29.
[0017] One general aspect includes a method. The method also includes receiving, via a graphical user interface (GUI), a prompt including at least one of an item theme and a persona. The method also includes obtaining, from a large language model, metadata related to a plurality of items based on at least one of the item theme and the persona, the metadata including at least one of titles, tags and queries. The method also includes displaying, via the GUI, the metadata generated by the large language model, the metadata representing computer formatted text associated with at least one of the titles, tags and queries. The method also includes obtaining, using an item pipeline from a database including un-curated listings, a plurality of listings relatedto the metadata, the plurality of listings ranked based on a ranking function, the plurality of listings including a plurality of images of items. The method also includes displaying, by the GUI, the plurality of listings.
[0018] Implementations may include one or more of the following features. The method may include: receiving, via the GUI, at least one user modification to the metadata; displaying, via the GUI, modified metadata and a modified plurality of listings including a modified plurality of images of items; receiving, via the GUI, a user input to publish the modified plurality of listings; and in response, publishing the modified plurality of listings. The method may include: providing an interface to receive queries input; responsive to receiving queries input, sending the queries input to the item pipeline. The method may include: receiving from the item pipeline a modified plurality of listings including modified plurality of images of items; receiving, via the GUI, a user input to publish the modified plurality of listings; and in response, publishing the modified plurality of listings. The method may include: receiving from the item pipeline a plurality of queries used for generating the plurality of listings; providing, via the GUI, the plurality of queries with a selection interface that allows removing a particular query from the plurality of queries; receiving, via the GUI, an input that removes one or more of the plurality of queries; sending, to the items pipeline, identities of one or more of the plurality of queries that were removed.
[0019] Another general aspect includes a one or more non-transitory computer-readable storage media encoded with instructions that when executed by one or more computers cause the one or more computers to perform operations recited in the above method. Another general aspect includes a system comprising a processor and a memory, the processor configured to execute instructions for performing operations recited in the above method.
[0020] One general aspect includes a method for generating a list of digital components. The method also includes receiving, via a graphical user interface (GUI), a prompt including at least one of an item theme and a persona. The method also includes obtaining, from a large language model, metadata related to a plurality of items based on at least one of the item theme and the persona, the metadata including at least one of titles, tags and queries. The method also includes displaying, via the GUI, the metadata generated by the large language model, the metadata representing computer formatted text associated with at least one of the titles, tags and queries. The method also includes obtaining, using an item pipeline from a database including un-curated plurality of digital components, a plurality of digital components related to the metadata, theplurality of digital components ranked based on a ranking function, the plurality of digital components including a plurality of images of items. The method also includes displaying, by the GUI, the plurality of digital components. The un-curated plurality of digital components is an uncurated plurality of listings, the plurality of digital components is a plurality of listings, the method further comprising operations of any one of the above methods.
[0021] Particular aspects of the subject matter described in this specification can be implemented to realize one or more of the following advantages. For example, the innovations described in this specification can improve the arrangement of information on user interfaces provided by digital platforms, particularly in the context of platforms that include a large amount of content / li stings to be presented in response to user search queries. In particular, unlike traditional approaches where the item listings, resulting from a keyword search, are provided as a list of tens or hundreds (or even more) of items to the user, the item listings using the approaches discussed in this application are provided in an organized manner, with the listings organized based on personas and further sub-categorized based on themes within the persona. In this manner, the user can more easily and quickly make a selection of the item. The approaches discussed herein allow the user to navigate through categories and listings associated with those categories, rather than, as in traditional approaches, scroll through page-after-page of listings that were generated based on keyword searches.
[0022] The application also discusses an item pipeline that can be used to efficiently generate a curated items listings database. The items pipeline can use a large-language model to generate metadata related to personas and item themes. The metadata generated by the large-language model is then used to generate embeddings and to find related listings in the listings database based on the embeddings. Using the large-language model to generate the metadata can leverage the vast resources used to train the large-language model to generate a more accurate and comprehensive metadata, which can improve the listings search that is based on the metadata. Thus, the use of the large-language model can improve the accuracy of the search results. Further, the process of running queries based on persona and item themes to identify related listings and to categorize the listings based on the persona and item themes can be time consuming. This is partly a function of the large number of listings in the listings database (hundreds of thousands to millions). The metadata used for searching the listings database can be difficult to generate asspecific titles, tags, and queries related to the persona and item themes. Using the large-language model can alleviate this difficulty, and provide accurate and comprehensive metadata, which, in turn, can result in more accurate search for listings that are related to the personas and item themes.
[0023] Traditional approaches to selecting listings to be presented to the user based on user queries can be time consuming or cumbersome. For instance, traditionally curators would have to select item themes, search the database for the item themes, and then hand-pick and hand-order the listings to recommend to the user. As an example, the curator may curate content for a page entitled “Minimalist Earrings” and hand-pick listings A, B, and C to recommend on the page. When listing A sells out, goes out of season, or wanes in popularity, the user experience can degrade. The curator can address this by hand-picking and hand-ordering new listings over time. This also involves regenerating metadata that is used to search the listings database to acquire the new listings. But this requires an inordinate amount of time in instances where the item database includes hundreds of thousands of listings.
[0024] Using the items pipeline, the curator may only need to select the persona and / or the item theme. Based on the selection, the items pipeline can generate the underlying metadata using an LLM and allow the curator to edit or override the metadata if the resulting listings are not satisfactory. The items pipeline provides a feedback loop where the curator can quickly alter the metadata and see the results of the changes in terms of different plurality of listings. If the plurality of listings are satisfactory, the curator can publish the listings and the published listings would be presented to the user when the user selects the associated persona and / or the item theme. If the plurality of listings are not satisfactory, the curator can readily modify the metadata to generate a new plurality of listings. The listings generated by the items pipeline are also ranked and filtered. The items pipeline eliminates the need to hand-pick and hand-order listings, while still preserving control over the generated listings by providing an interface to modify the metadata. As a result, continuous upkeep of the listings can be eliminated.
[0025] In some instances, the items pipeline uses historical search results to determine listings to recommend (e.g., query-listings dataset 1810, Figure 18) for each query presented by the user, rather than using live search of the listings. This approach is not only easier to scale, but is also more efficient and less time consuming as the historical search results and associated data can be collected and processed beforehand instead of being carried out in real time.
[0026] The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure l is a block diagram of an example environment in which an exchange platform facilitates an exchange of goods, services, or content between providers and users.
[0028] Figure 2 is a block diagram of a user interface provided to a user on the user device.
[0029] Figure 3 shows an example user interface including a plurality of personal tiles.
[0030] Figure 4 shows an example user interface including another example of a plurality of persona tiles.
[0031] Figure 5 shows an example user interface with a set of item icons.
[0032] Figure 6 shows an example set of listings displayed to the user on the user interface.
[0033] Figure 7 shows a flow diagram of an example process for providing a set of listings on a user interface.
[0034] Figure 8 shows an example quiz interface.
[0035] Figure 9A shows a portion of an example gift delivery communication interface.
[0036] Figure 9B shows additional portions of the example gift delivery communication interface.
[0037] Figure 10 shows an example gift teaser interface provided to a recipient.
[0038] Figure 11A shows a block diagram of an example item pipeline that can be used to generate a set of listings.
[0039] Figure 11B shows a block diagram of a first example item pipeline 1100 that can be used to generate a set of listings.
[0040] Figure 12 shows an example prompt that can be provided to a large language model (LLM).
[0041] Figure 13 shows a list of personas and item themes for which the LLM can be requested to generate metadata.
[0042] Figure 14 shows an example of metadata output by the LLM.
[0043] Figures 15 and 16 show the generation of a first plurality of listings and the second plurality of listings based on ranking.
[0044] Figure 17 shows an example process for generating curated listings based on the recommendation engine discussed in Figure 1 IB.
[0045] Figure 18 shows a block diagram of a second example item pipeline that can be used to generate a set of listings.
[0046] Figure 19A depicts an example query-listings dataset.
[0047] Figure 19B depicts an example listing interleaving technique that can be utilized by the item pipeline shown in Figure 18.
[0048] Figure 20 shows an example process for generating curated listings of items in relation to the approach depicted in Figure 18.
[0049] Figure 21 shows an example process for generating curated listings of items that covers the approaches depicted in Figures 17 and 20.
[0050] Figures 22-26 show various user interfaces for generating and publishing curated listings.
[0051] Figure 27 shows a flow diagram of an example process for generating listings.
[0052] Figure 28 is a block diagram of computing devices that can be used to implement the systems and methods described in this document.
[0053] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION
[0054] In one aspect, this application discusses one or more user interfaces that provide a categorized and organized listing of items to the user on a digital platform. In particular, the user interface can display, to the user, persona tiles that each represent a digital persona, where a digital persona (which may also be referred to simply as persona) indicates grouping of item themes. In some instances, the persona can refer to a type of interest, hobby, personal trait, or attribute associated with one or more persons or the persona can include an occasion. Examples of digital personas can be, among others, “The Gardener,” “Music Lover,” and “Art Enthusiast,” and occasions can include “The Wedding,” “The Birthday,” and “The Father’s Day.” The user can view a list of persona tiles and select the persona tile that most closely aligns with the attributes of a person for which the user intends to acquire an item. In some instances, the user interface can provide item themes that are sub -categories of one or more personas. Examples of item themescan include “The Groom,” and “The Bride” that can be considered as sub -categories of the persona “The Wedding.” The user can also select an item theme that may even more closely align with the attributes of the item recipient.
[0055] The user interface accepts the selection of the persona tile and / or the item theme and communicates the selection to an exchange platform’s server(s). The exchange platform can use the persona and / or the theme item information and search a curated listing database, which includes a set of listings that are stored in association with personas and item themes. In particular, the set of listings are categorized based on broad categories as personas but also sub-categories such as themes within the personas. The exchange platform can communicate the resulting set of listings in addition to the persona and themes categories information to the user interface on the user device. The user interface provides the received information from the exchange platform’s server(s) to the user on the user interface in a manner that categorizes the listings under personas and themes within the personas. As a result, the user is presented with listings that are logically arranged and make it easier and quicker for the user to select the desired item from the listings.
[0056] In another aspect, the application discusses an item pipeline that generates a curated set of listings that are stored in a curated listings database. The item pipeline receives information on personas and item themes and uses a large-language-model engine (LLM) to generate metadata that, in part, can be used to search for listings in a listings database. The metadata can include, for example, search queries, listing tags, and listing titles related to a persona and item theme. The metadata (with or without additional information) can be utilized by an embeddings generator to generate embeddings and the embeddings can be used to search for listings in a listings database that are related to the persona and item theme. A curator can review the search results to determine whether the search results match or are consistent with the personas and item themes. The curator can store the listings in a curated database along with information on the personas and the item themes. The curator may also rerun the LLM engine to generate a new set of listings until the generated set of listings pass the curator’ s review. It should be noted that the listings in the curated database can be periodically updated, thereby providing dynamic and new content to the user accessing the platform.
[0057] These and additional features are described in more detail below.
[0058] Figure 1 is a block diagram of an example environment 100 in which an exchange platform facilitates an exchange of goods, services, or content between providers and users. Theexample environment 100 includes a network 104, such as a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof. The network 104 connects one or more user devices 102, one or more provider devices 106, an exchange platform 110, and one or more external sources 108.
[0059] User device 102 and provider device 106 are electronic devices that are capable of requesting and receiving content and resources over the network 104. Examples of such devices include personal computers, mobile communication devices, digital assistant devices, and other devices that can send and receive data over the network 108.
[0060] The exchange platform 110 is a computing platform that can be operated and maintained by an exchange service provider. The exchange platform 110 enables providers to list their items on the exchange platform 110 and enables users to obtain the item listed on the exchange platform 110. As depicted in the block diagram of Figure 1, the exchange platform 110 is depicted as a single block with various sub-blocks. However, while the exchange platform 110 could be a single device or single set of devices, this specification contemplates that the exchange platform 110 could also be a group of devices, or even multiple different systems that communicate with each other to enable the exchange of goods, services, and / or content on the platform. Exchange platform 110 could also be a provider of items or may be an entity different from the provider, as shown in Figure 1.
[0061] A provider uses an application 106-A executing on a provider device 106 to communicate with the exchange platform 110 to, for example, create or manage listings of items of provider on the exchange platform 110 and / or perform other appropriate tasks related to the exchange platform 110 (e.g., transfer an amount to the provider based on items obtained by users). The application 106-A can transmit data to, and receive data from, the exchange platform 110 over the network 104. The application 106-A can be implemented as a native application developed for a particular platform or a particular device, web browser that provides a web interface, or another appropriate type of application. The application 106-A can present and detect user interactions (e.g., user’s touch, mouse clicks, etc.) with various interfaces that enable, for example, the provider to create and manage listings of the provider’s items on the exchange platform 110.
[0062] Users of a user device 102 can use an application 102 -A to communicate with the exchange platform 110 to, for example, view listings of items, search for items, obtain items, and / or perform other appropriate tasks related to the exchange platform 110. In some examples,listings of items can include data that is associated with items or services that are for sale on the exchange platform 110. For example, the data can include images, text, multimedia, etc. associated with an item or service that is listed for sale. In some examples, listings of items are not limited to data associated with items or services provided for sale on the exchange platform 110 and can refer to data associated with other digital components that may be provided on the exchange platform 110 or other electronic platforms. Digital components can refer to a discrete unit of digital content or digital information (e.g., a video clip, an audio clip, a multimedia clip, an image, text, or another unit of content). A digital component can electronically be stored in a physical memory device as a single file or in a collection of files, and digital components can take the form of video files, audio files, multimedia files, image files or text files. The techniques discussed herein can be applied to listings of items as well of listings of digital components provided on the exchange platform 110 or other platforms. The listings of digital components can be stored and processed in a manner similar to the listings of items discussed herein.
[0063] The application 102-A can transmit data to, and receive data from, the exchange platform 110 over the network 104. The application 102-A can be implemented as a native application developed for a particular platform or a particular device, web browser that provides a web interface, or another appropriate type of application. The application 102-A can present and detect user interactions (e.g., user's touch, mouse clicks, etc.) with various interfaces that enable, for example, the user to view listings of items, search for items, obtain items, and / or perform other appropriate tasks related to the exchange platform 110. Examples of user interfaces that can be provided by the application 102-A are discussed in detail herein with reference to Figures 2-10.
[0064] The exchange platform 110 includes one or more front-end servers 112 and one or more back-end servers 114. The front-end servers 112 can transmit data to, and receive data from, user devices 102 and provider devices 106, over the network 104. For example, the front-end servers 112 can provide to, applications 102-A and 106-A executing on user devices 102 and provider devices 106, respectively, interfaces and / or data for presentation with the interfaces. The front-end servers 112 can also receive data specifying user interactions with the interfaces provided by the front-end servers 112 to user devices 102 and provider devices 106. The front-end servers 112 can update the interfaces, provide new interfaces, and / or update the data presented by the interfaces presented in applications 102-A and 106-A, respectively, based on user / provider interactions with user devices 102 and provider devices 106.
[0065] The front-end servers 112 can also communicate with the back-end servers 1 14. For example, the front-end servers 112 can identify data to be processed by the back-end servers 114, e.g., data specifying information necessary to create listings requested by a provider 106, data specifying the quantity of a given item that a user of user device 102 is requesting to obtain. The front-end servers 112 can also receive, from the back-end servers 114, data for a particular user of a user device 102 or a provider device 106, and transmit the data to the appropriate user device 102 or provider device 106 over the network 104.
[0066] The back-end server 114 can include an item pipeline 116, a large-language-model (LLM) engine 120, and a listings search engine 130. As used in this specification, the term engine refers to hardware, e.g., one or more data processing apparatuses, that execute software that performs a set of tasks. Although Figure 1 depicts two engines, the operations of these engines as described in this specification may be performed, wholly or in part, by one or more other engines. In other words, some implementations may include more than the two engines depicted in Figure 1 to perform the operations described in this specification. Alternatively, some implementations may include fewer engines to perform the operations described in this specification. Further still, even if an implementation includes the same two engines depicted in Figure 1, the operations performed by one of these engines, as described in this specification, may be performed by one or more of the other engines.
[0067] The item pipeline 116 manages the creation and modification of listings of items based, in part, on the interaction of the user devices 102 with the front-end servers 112. For example, the item pipeline 116 can receive information including selected personas as well as selected item icons from the user devices 102. Personas can refer to a particular type of interest, hobby, personal trait, or attribute associated with a person. In response, the item pipeline 116 can provide a set of listings for display on the user devices 102. The item pipeline 116 can generate the set of listings based on the information provided by the user devices 102. The LLM engine 120 can generate metadata (e.g., tags, tiles, and queries) that can be used for generating the curated item listing data 126, which can store listings that are categorized based on personas. The listings search engine 130 can perform searches in the item listings database 124 and the curated items listings database 126. It should be noted that the back-end servers 114 can include additional components that are not explicitly shown in Figure 1. For example, components such as transaction processing while supported by the back-end servers 114 is not shown in Figure 1.
[0068] The front-end servers 112 can communicate with a user interface on the user devices 102. For example, as discussed further herein, the user devices can include a user interface that allows the user to select one or more persona tiles related to a subject for whom the user is intending to purchase an item and select one or more item icons related to the personal tiles. The user interface on the user devices 102 can communicate the selected persona and the selected item icon to the front-end servers 112, which, in turn, can communicate the information to the back-end servers 114.
[0069] The item engine 116 can also receive from the front end-servers 112, data specifying attributes of an item listing that a provider 106 may want to modify. For example, provider 106, through application 106-A, may seek to modify one or more attributes of the provider’s item listed on the exchange platform 110. The modified attributes are communicated from the application 106-A to front-end server 112 over network 104. The item engine 116 in turn receives from the front end-servers 112, data specifying attributes of the item listing that the provider 106 wants to modify. The attributes to be modified may include, for example, the quantity of available items and the amount required to obtain the item. The item engine 116 can use the data about the modified attributes to modify the listing for the item on the exchange platform 110. The item engine 116 can then use the modified attributes to update the item’s attributes stored in the current item listing data 124.
[0070] The item engine 116 can also receive from the front-end servers 112, data specifying a user’s request to view one or more listings of items, search for items, and / or obtain an item. If a user searches for an item or a type of item on the exchange platform, the user’s query is received by front-end servers 112, which in turn sends the query to the item pipeline 116. In some instances, the back-end server 114 can include a separate listing search engine 130 that can use the data specified in the query to identify the appropriate listings stored in the item listing data 124. The item pipeline 116 communicates the identified listing(s) to the front-end servers 112, which in turn provides a particular listing or a summary of listings for presentation on the application 102-A. If a summary of listings is presented to the user in application 102-A, the user can select a link for one listing from among the summary of listings. The user’s selection of the link is received by the front-end server 112, which interprets the user’s selection as a request for data about the particular listing. The front-end servers 112 request item pipeline 116 to provide data about the particular listing, which the item pipeline 116 obtains from the curated item data storage device 126. Theitem engine 116 responds to the front-end servers 1 12 with the obtained data, which is then provided by the front-end servers 112 to the application 102-A in the form of a page showing a listing for the item. For example, as discussed in additional detail below, the user can select a persona that identifies a type of interest, hobby, personal trait, or attribute associated with a person. Once selected, the application 102-A can communicate the selected persona to the front-end server 112, which, in turn, can communicate the selected persona to the back-end servers 114. The item pipeline or the listings search engine 130 can search the curated items database 126 to retrieve listings of items associated with the persona as well as any sub-categories or headings under which the listings are to be organized. This information can be provided by the front-end servers 112 to the application 102-A, which can display the listings arranged based on persona and sub-categories associated with the persona.
[0071] When a user views a listing for an item on the exchange platform displayed on the application 102-A, the user may decide to obtain the item. The user may select a button (or other appropriate user interface element) on the interface presented on application 102-A, which may result in the front-end servers 112 providing a different user interface to the user where the user can enter pertinent details (e.g., quantity of the item, the destination address, payment information) to begin the fulfillment process for purchasing the item. Upon submitting this information (e.g., by clicking a submit button on the user interface), the details entered by the user along with attributes of the item that the user wants are received by the front-end servers 112 and passed to the item engine 116. The item engine 116 evaluates whether the received data is valid (e g., whether the quantity of the item requested by the user is the same or less than the available quantity of the item, whether the shipping address is correct, whether the payment information is correct).
[0072] If the data received from the user is invalid, the item engine 116 sends a message to the front-end servers indicating that the request is denied along with a reason explaining why the request was denied (e.g., credit card was not approved or invalid shipping address). The front-end servers 112 can provide a new user interface for presentation in application 102-A, in which the user is notified that the user’s request was unsuccessful.
[0073] If, however, the data received from the user is valid, the item engine 116 processes the payment using the received payment information and sends a message, including the received user data, to the appropriate provider to begin the fulfillment process. The item engine 116 may store purchase information about the item (e.g., identifier of the user purchasing the item, the quantityof the item purchased, the amount provided for the item, the date of purchase) in a purchase data storage device 128. The purchase data storage device 128 can include one or more databases (or other appropriate data storage structures) stored in one or more non-transitory data storage media (e.g., hard drive(s), flash memory, etc.). Subsequently, the item engine 116 can send a message to the front-end servers 112, indicating that fulfillment processing has begun. Upon receiving this message from the item engine 116, the front-end servers 112 can provide a new user interface for presentation in application 102-A, in which the user is notified that the user’s request was successful and that the order processing has begun.
[0074] Figure 2 is a block diagram of a user interface 200 provided to a user on the user device. Although the depicted interfaces may be provided within a browser application of the user device, the same interfaces may also be provided within a native application associated with the exchange platform and executing on the user device. For example, the user interface 200 can be provided to the user on the user device 102 shown in Figure 1. While Figure 1 refers to the user interface 200 in singular, it should be noted that the user interface 200 can include multiple user interfaces, and, in particular, to various user interfaces provided at various stages of interaction with the user on the user device. In one aspect of the user interface 200, the approach to the user selecting an item to purchase is based on providing the user broad categories or personas from which to begin the search for an item. The listings of items eventually provided to the user can be based on the personas and one or more additional categories (such as one or more narrower categories).
[0075] Figure 2 shows a user interface 200 at a first stage of interaction with the user, in which stage, the user interface 200 provides the user with a plurality of persona tiles 202. The persona tiles 202 can include several tile shaped icons or selectable entities on the user interface 202.
[0076] Figure 3 shows an example user interface including a plurality of personal tiles 300. The plurality of persona tiles 300 can be arranged, for example, in a row as shown in Figure 3. In some other examples, the plurality of persona tiles 300 can be arranged in a column, in an array of rows and columns, or in any arrangement on the user interface 200. Each persona tile in the plurality of personal tiles 300 can be rectangular in shape, however, the shape shown in Figure 3 is only an example. The persona tiles 300 can have any shape such as, for example, a regular or irregular polygonal, oval, or circular shape. Each persona tile can include one or more of text, image, video, pattern, etc., that can convey to the user a particular type of interest, hobby, personaltrait, or attribute associated with a person. For example, the persona tile 300 shown in Figure 3 include text related to interests, hobbies, personal traits, or attributes associated with a person such as “The Beauty Guru”, “The Cheese Lover,” “The Video Gamer,” “The Maximalist,” and “The Dog Lover.” The text on the persona tiles indicates the category associated with each tile. In some instances, the text can be static or dynamic, i.e., the text can be rolling across the tile. In some instances, the text may be absent, but appear when the user hovers a pointer over the tile. The persona tiles 300 shown in Figure 3 also include images related to the category indicated by the text. For example, the persona tile showing the text “The Cheese Lover,” includes an image that shows cheese servings. The images can also be dynamic, in that the images may change with respect to time or when the user hovers a pointer over the persona tile.
[0077] In some instances, the personas and the item themes can be manually generated. In some other examples, the personas and themes can be generated using large language models (LLMs). For example, a curator can pre-train the LLM on data that facilitates generation of personas and item themes or can fine-tune a pre-trained LLM to facilitate the generation of personas and item themes.
[0078] In some examples, the images displayed in a persona tile can be based on images of one or more item listings associated with the persona. As mentioned above, the persona tiles 300 may include additional indicators such as video or other patterns. While Figure 3 shows only five persona tiles 300, the user interface 200 can display fewer or more persona tiles. For example, the user may view additional persona tiles by interacting with the scroll buttons 302. The user interface 200 may include additional indicators such as, for example, text that instructs the user to select one or more persona tiles. The persona tiles can be selectable (using the user interface 200), and can link to a page generated by the exchange platform 110 that displays to the user a set of curated listings accessed from a curated item listings database 126.
[0079] Figure 4 shows an example user interface including another example of a plurality of persona tiles 400. In persona tiles 400 shown in Figure 4 are similar to the persona tiles 300 shown in Figure 3 in that the persona tile 400 are also related to categories associated with a person. But unlike the persona tiles 300, which were related to interests, hobbies, personal traits, or attributes associated with a person, the persona tiles 400 are instead related to occasions or events. For example, the persona tiles 400 can include text indicators such as “Housewarming,” “JustBecause,” “Wedding,” and “Engagement,” which can refer to occasions or events. The user can interact with the scroll buttons 402 to access additional persona tiles 400.
[0080] The persona tiles 300 and 400 can be selectable. That is, the user interacting with the user device 102 can select a persona tile by way of a peripheral such as, for example, a touch screen, mouse pointer, an electronic pencil, etc. Selection of the persona tiles 202 (Figure 2) can cause the user interface 200 to communicate the selection to the front-end server 112 over the network 104. The front-end server 112, in turn, can communicate the selection to the item pipeline 116.
[0081] The item pipeline 116, responsive to receiving the selection of the persona, can provide a set of item icons, which are communicated to the user device 102. The user interface 200 at the user device 102 can provide the set of item icons 204 for the user’s selection. In some examples, the set of item icons 204 can include selectable icons, where each of the set of item icons 204 can include text, images, video, or patterns that indicate a sub-category related to the subject. In some examples, the sub-category can be related to the category associated with the selected persona tile, while in some examples, the sub-category may be un-related to the category associated with the selected persona tile. For example, responsive to the user selecting the persona tile with the text indicator “Wedding,” the set of item icons 204 can include sub-categories such as “The Bride,” “The Groom,” etc., that are related to the category “Wedding.” In some other examples, the set of item icons 204 can include sub-categories such as “The Nature Lover,” or “The Hiker,” etc., which may be unrelated to, or may not be sub-categories of, the selected persona tile category of “Wedding.” In some instances, the personas can have a hierarchical structure, with sub-hierarchies defined for each persona. Nevertheless, the sub-categories may not be unique to the persona. For example, sub-categories such as “The Plant Parent” can be in the hierarchical structure of more than one personas, such as “Housewarming,” “Wedding” or “The Maximalist.” In some instances, a persona can be included as a sub-category within a hierarchical structure of another persona. For example, “The Nature Lover”, (which is shown in Figure 5 below as an item icon 500) can be a persona or can be a sub-category to other personas. Having a flexible or non-rigid hierarchical structure can allow selection of various combinations of categories, which, in turn, can enable providing a user a larger set of combinations of categories for selecting items.
[0082] Figure 5 shows an example user interface with a set of item icons 500. The set of item icons 500 can have structural features that are similar to that of the plurality of persona tiles 300or 400 discussed herein with reference to Figures 3 and 4. For example, the set of icons 500 can include rectangular selectable areas that include text, images, videos, or patterns. The set of item icons 500 include some item icons that are related to the category “The Wedding” of the selected persona tile (e.g., “The Groom,” and “The Bride”) and some item icons that are not necessarily sub-categories of the category “The Wedding” (e.g., “The Outdoor Gamer” or “The History Buff’). Nevertheless, the set of item icons 500 provide additional criteria or categories that can aid in the selection of an item for the subject.
[0083] In some examples, the user interface 200 can provide both the plurality of persona tiles 202 and the set of item icons 204 at the same time such that the user can view both the persona tiles 202 and the item icons 204 simultaneously. In such instances, the item icons 204 may be provided independently of the selection of the persona tile by the user. In some instances, the set of item icons 204 may be provided on the user interface 200 as a pop-up when the user hovers over any one of the plurality of persona tiles 202.
[0084] Once the user selects one item icon from the set of item icons 204, the user interface 200 can communicate the information of the selected item icon to the front-end server 112, which, in turn, can communicate the information to the item pipeline 116. The item pipeline 116 can utilize the information of the selected persona tile and the selected item of icons to generate a set of listings. While the process of generating the set of listings is discussed in further detail herein, the item pipeline 116 can generate the set of listings from the item listing data 124 or the curated item listing data 126 based on embeddings of the selected persona tile and the selected item icon. The user interface 200 can receive the set of listings from the item pipeline 116 via the front-end server 112 and over the network 104, and provide the set of listings to the user. Referring again to Figure 2, the user interface 200 can provide the received set of listings to the user on the user interface 200 for the user to select.
[0085] Figure 6 shows an example set of listings displayed to the user on the user interface 200. The set of listings 600 can include individual listing 608, which can include an image of the item and a price of the item. In some examples, the listing 608 can include selectable areas which when selected by the user over the user interface 200 can initiate multimedia that provide additional information of the listing 608. The user interface 200 may also include additional information from the item pipeline 116 such as headings under which some of the set of listings are to be displayed. For example, the user interface 200 can receive headings 610 such as “Picksfor the Bride Gifts,” or “Bridal Hair Accessories,” under which a related group of listings can be positioned. The user interface 200 may display only a subset of the set of listings received from the item pipeline 116. The user interface 200 can provide the user with selectable icons 604 (“Show More”), which when selected by the user can display additional listings to the user.
[0086] The set of listings 600 can be related to the persona selected by the user. In some instances, the listings 600 can be related to both the persona and the item theme selected by the user. In some examples, the various headings can include the selected persona as well as various item themes (e.g., “Picks for Bride Gifts”, etc.) under which the listings have been sub categorized. The set of listings 600 can be obtained from the back-end servers 114, which can access the curated items listings database 126 for the set of listings associated with the selected persona (and item themes). This information is provided to the front-end servers 112, which, in turn, provide the set of listings to the application 102-A for display to the user on the user interface 200. The user interface 200 presents the listings in a categorized and organized manner that is logical for the user to view. In particular, the presentation of the listings in terms of persona and item themes allows the user to quickly identify the items the user wishes to purchase.
[0087] The item pipeline 116 or the front-end server 112 can generate a format (e.g., in HTML, JavaScript, etc.) in which the set of listings are to be presented on the user interface 200. Once the user interface 200 receives a selection of a listing, the user interface 200 can provide the user with the landing page associated with the selected listings to view additional information and purchase options.
[0088] Figure 7 shows a flow diagram of an example process 700 for providing a set of listings on a user interface. The process 700 can be executed on any computing device, e.g., the user device 102. For example, the process 700 can be executed by the application 102-A running on the user device 102.
[0089] The process 700 includes providing a user interface displaying a plurality of persona tiles (702). At least some aspects of this process step are discussed herein in relation to Figures 2- 4. In particular, Figure 2 shows a user interface 200 that displays a plurality of persona tiles 202. The user interface 200 can be the interface provided by the application 102-A running on the user device 102. In another example, the application 102-A can display the plurality of persona tiles 300 or the plurality of persona tiles 400 (occasions related persona tiles) shown in Figures 3 and 4, respectively. In some examples, the application 102-A can receive the information on the userinterface and the plurality of persona tiles from the exchange platform 110. For example, the user may select or type in a universal resource locator (URL) associated with the front-end servers 112 (e.g., a web-server). The application 102-A can send a request to the URL for content, and in return, can receive information on the user interface and the plurality of tiles from the front-end servers 112.
[0090] The process 700 also includes providing, on the user interface, a set of item icons associated with at least one persona tile of the plurality of persona tiles (702). In some examples, the application 102-A can receive, on the user interface, a selection from the user of a persona tile of the plurality of persona tiles. Responsive to the selection of the persona tile, the application 102-A can send information about the selected persona tile to the exchange platform 110 over the network 104. Subsequent to sending information about the selected persona tile to the exchange platform 110, the application 102-A can receive from the exchange platform 110 a set of item icons associated with the selected persona tile for display on the user device 102. At least one aspect of providing a set of item icons associated with at least one persona tile is discussed herein in relation to Figures 2 and 5. For example, Figure 2 shows a set of item icons 204 displayed on a user interface 200, and a set of item icons 500 displayed on a user interface. In another example, the application 102-A can receive the set of item icons regardless of whether the user has selected a persona tile. For example, the application 102-A can receive both the plurality of persona tiles and the set of item icons for displaying on the user device 102 on the user interface.
[0091] The process 700 can also include receiving, at the user interface, user selection of a persona tile and a user selection of an item icon (706) and communicating, with a remote server, the user selection of the persona tile and the user selection of the item icon (708). As mentioned above, in some examples, the user selection of the persona tile can precede the selection of the item icon. In the instance where the application 102-A initially only provides the plurality of persona tiles on the user interface, the user interface first receives a selection of a persona tile, the application 102-A then communicates the selection to the remote server (such as the exchange platform 110), the application 102-A subsequently receives a set of item icons from the exchange platform 110, and provides the set of item icons on the user interface for selection by the user. Once the user selects an item icon, the application 102-A communicates information about the selected item icon to the remote server. In the instance where the application 102-A provides both the plurality of persona tiles and the set of item icons simultaneously on the user interface, theapplication 102-A may receive the selection of the persona tile followed by the selection of the item icon, and communicate information of the selected persona tile and the selected item icon to the remote server.
[0092] The process 700 also includes receiving, from the remote server, a set of listings that are generated based on embeddings of the persona tile and the item icon selected by the user (710). As discussed herein at least in relation to Figures 2 and 6, the user interface 200 can display a set of listings 206 and 600, which can be received from the exchange platform 110 responsive to the application 102-A communicating the selected persona tiles and / or the selected item icon. The set of listings can include individual listings that can include an image of an item and a price of the item. In some examples, the listing can include selectable areas which when selected by the user over the user interface can initiate multimedia that provide additional information of the listing. Further, the listings received from the exchange platform 110 are based on embeddings of the persona tile and the item icon selected by the user. Additional details of how the exchange platform 110 generates the set of listings based on the embeddings are discussed herein at least in relation to Figures 11A-27.
[0093] Referring again to Figure 2, the user interface 200 can also include a quiz interface 208 that can determine one or more of the plurality of persona tiles 202 to be displayed to the user. The quiz interface 208 can ask the user one or more questions that help determine which persona tiles to be displayed to the user.
[0094] Figure 8 shows an example quiz interface 800. In particular, the quiz interface 800 can be utilized to implement the quiz interface 208 shown in Figure 2. The quiz interface 800 can include a set of questions and corresponding options that can be selected to answer the set of questions. For example, the quiz interface 800 includes a first question 802 and a first set of selectable options or answers 804, a second question 806 and a second set of selectable options or answers 808, and a third question 810 and a third set of selectable options or answers 812. The questions can be displayed in text, image, or multimedia (e.g., audio and / or video). The set of selectable options or answers can be selectable icons that include text, image, or multimedia. The user can answer one or more of the set of questions by selecting the corresponding options or answers. Once the selections have been made, the user can click on “Show Gift Ideas,” which can cause the quiz interface 800 to send the user selections to the front-end server 112. The front-end server 112 can send the information contained in the user selections to the item pipeline 116, whichcan generate one or more persona tiles and send the generated persona tiles to the quiz interface 800. For example, the exchange platform 110 can maintain a list of embeddings of personas and the associated persona tiles. The item pipeline 116 can generate embeddings of the user selections on the quiz interface 800 and determine the nearest persona embeddings. The item pipeline 116 can then generate a list of personas and persona tiles based on determining the nearest persona embeddings. The front-end servers 112 can then provide the list of persona tiles to the application 102- A. The user interface 200 can provide the generated persona tiles as part of the plurality of persona tiles 202.
[0095] Referring again to Figure 2, the user interface 100 can provide a gift delivery communication interface 210 that allows the user to include a gift teaser for the recipient of a purchased item. As part of the user transaction for purchasing one or more of the item corresponding to the listings 206, the user can be presented with an option to send a communication to the recipient. The communication (e.g., email, messaging, push notification, etc.) can include, for example, a notification that provides details about a gift that has been purchased along with notes, instructions and other related information such as an identity of the item, the sender, the recipient, the expected date of arrival, etc. In some examples, the communication can be referred to as a “gift teaser.”
[0096] Figure 9A shows a portion of an example gift delivery communication interface 900. The interface 900 shown in Figure 9A can be utilized to implement the gift delivery communication interface 210 shown in Figure 2. The interface 900 can include a gift teaser option 902, which when selected by the user can provide the user with additional interfaces that allow the user to include a communication intended for the recipient as a gift teaser. The interface 900 can also include a Preview link 904, which when selected by the user, can display a preview of the interface 906 that will be shown to the recipient. The preview interface 906 can be overlaid on the interface 900 on which the Preview Link 904 is displayed. However, in some other examples, the preview interface 906 can be displayed separately without being overlaid on the gift delivery communication interface 900.
[0097] Figure 9B shows additional portions of the example gift delivery communication interface 900. In particular, Figure 9B shows the gift teaser interface 908 for allowing the user to include a message for the recipient of the purchased item. The gift teaser interface 908 can include an option 920 to include a gift teaser, an option 910 to select a theme for the gift teaser, an option912 to record a video message for the recipient, an option 914 to include a sneak peek for the recipient, an option 916 to set scheduling information for when the gift teaser is to be delivered to the recipient, and an option 918 to include a textual message to the recipient. In some examples, when the user selects the option 920 to include a gift teaser, the user can be presented with additional options such as the option 910 to select at theme, the option 912 to record a video, the option 914 to include a sneak peek, and an option 916 to schedule the delivery of the gift teaser. In some examples, all the above options can be enabled for the user to select. The option 910 to select a teaser theme can invoke a theme interface (not shown) to allow the user to select a theme. The themes can define the various characteristics of the gift teaser message sent to the recipient. For example, the theme can include seasonal themes, which, in turn, can have corresponding color, images, patterns, that can be presented with the gift teaser message to the recipient. Selection of the option 912 to record a video message can invoke a camera recording application or other video recording interface on the user device 102 for recording the video message from the user. A replay option 922 can also be included to allow the user to replay the recorded video, and either remove or re-record the video message. The option 914 to include a sneak peek can cause the front-end servers 112 to send a message to the recipient indicating an upcoming gift for the recipient. By selecting the option 916 to schedule the delivery of the gift teaser, the front-end servers 112 can deliver a message to the recipient including the gift teaser at the selected date and / or time.
[0098] In some examples, the front-end servers 112 can receive the recorded video message from the user device 102 and store the video message at the exchange platform 110. For instance, the exchange platform 110 can include a video message database (not shown) and a back-end video server (not shown) coupled with the video message database. The front-end server 112, upon receiving the video message, can provide the video message to the back-end video server, which, in turn, can store the video message in the video message database. The back-end server can store the video in the video message database in association with information of the user generating the video message, the intended recipient of the video message, a secure token associated with the video message, or otherwise any data that can be used to identify the video message. In some other examples, the front-end server 112 can store the video message at a third-party server (not shown) such as a cloud server. The front-end server 112 can receive the video message from the user device 102 and communicate the video message to the third-party server. The front-end server 112 can in addition communicate to the third-party sever additional information associated withthe video message such as information of the user generating the video message, the intended recipient of the video message, a secure token associated with the video message, or otherwise any data that can be used to identify the video message.
[0099] The exchange platform 110 can utilize one or more modes of communication to send a message to the recipient. The message can include one or more of a message (e.g., textual message 918) from the user, a message indicating that the recipient has received a gift and a message from the user along with information on how to access the message from the user and information on the gift. The exchange platform 110 can send the message to the recipient via email, via text, or via social media (e.g., X, Whatsapp, Instagram, etc.). The exchange platform 110 can include a communication module that, for example, can utilize application programmable interface (API) associated with one or more of the social media platforms to send messages to the recipient’s social media account. The information to access the message form the user and information about the gift can be provided based on one or more of a URL, a QR code encoding the URL, where QR code can be scanned by a camera on the recipient’s device, a code to verify access to the video message, or any other information that can provide the recipient access to the user generated message and / or information about the gift. The URL can be a web address of a gift teaser interface that can provide the recipient with additional information regarding the gift and / or the message from the user.
[0100] Figure 10 shows an example gift teaser interface 1000 provided to a recipient. In particular, the gift teaser interface 1000 can be generated by the front-end server 112 or the back- end servers 114 based on the options selected by the user on the gift delivery communication interface. The gift teaser interface 1000 can include at least one of an option 1002 to select a play icon to play a video message recorded by the sender, and a communication interface 1004 to enter a reply to the sender. Once the user selects the option 1002 to select the play icon, the gift teaser interface 1000 can invoke a video interface 1006 in which the video message recorded by the sender is displayed. The video interface 1006 can record a video in a format that is compatible with the format that the sender’s communication device is configured to display the video. In some instances, the video can be compressed using compression protocols such as H.265. In some instances, the video can be encrypted to keep the communication between the recipient and the sender secure. The communication interface 1004 shown in Figure 10 is a textual interface, however, in some other examples, the gift teaser interface 1000 can include an option to recordand send a video message as well. Once the recipient enters the reply and selects an option to send the reply, the reply can be communicated to the sender via one or more modes of communication such as email, text, push notification, notification on social media account(s) associated with the sender, etc.
[0101] As mentioned herein, the user interfaces on the user devices 102 can communicate with the item pipeline 116 to receive information to provide to the user. The item pipeline can be used to generate the set of listings that are provided to the user based on the user selection of persona tiles and item icons. The item pipeline and its associated operation is further described with reference to FIG. 11A.
[0102] Figure 11 A shows a block diagram of an example item pipeline 1100 that can be used to generate a set of listings. For example, the item pipeline 1100 can be utilized to generate a set of listings corresponding to a persona and an item theme. It should be noted that the persona can include occasions, as discussed herein in relation to Figure 4. The item theme can indicate a subcategory of the persona and can include information from the selected item icons 204 discussed above at least in relation to Figure 2. The generated set of listings and the corresponding item theme can be stored in the curated item listing database 126 in association with the persona and / or the item theme. When the user, on the user interface, selects a persona or an item theme, the item pipeline 1100 can retrieve the set of listings or the item theme and the associated set of listings from the curated item listing database 126, and provide the set of listings and the item theme to the user interface. The user interface can then provide or display the item theme and the set of listings to the user on the user device.
[0103] The item pipeline 1100 can include a trained large language model (LLM) 1106 and a recommendation engine 1160. The LLM 1160 can include models such as the generative pretrained transformer (GPT), Gemini, LLaMA, Granite, etc. The LLM 1106 can be implemented, for example, by the LLM engine 120 (Figure 1). The LLM 1106 can be utilized to generate metadata 1130, which, in turn, can be utilized to identify listings from the items listing database 124 that match the metadata. The LLM 1106 can generate the metadata 1130 based on persona information 1104 and item theme information 1102 provided by a curator. Using the LLM to generate the metadata can result in metadata that takes advantage of the vast resources that are normally used to train the LLM. In particular, the LLM can generate more accurate and more comprehensive metadata information compared to a manually generated metadata. The LLMgenerated metadata, when used to identify listings from the items listing database 124, can more accurately identify the listings. Thus, using the LLM to generate the metadata can improve the accuracy of the listings identification process. As discussed herein, persona information can indicate characteristics of the subject or recipient. In some instances, the characteristics can include interests or hobbies of the subject. In some other examples, the characteristics can include occasions such as, for example, birthdays or holidays. The item theme information 1102 can indicate a sub-category of the persona information. For example, if the persona information includes “the gardener,” the item theme information can include “gardening tools,”, “spring plants,” etc.
[0104] The LLM 1106 is utilized to generate metadata 1130 in a specific format that can be used by the recommendation engine 1160 to search the items listings database that includes uncurated listings 1164. In some examples, the LLM 1106 can include an interface to receive a prompt that specifies the input to the LLM 1106, where the input includes the persona information 1104, the item theme information 1102, as well as formatting requirements (e.g., JSON format) for generating the metadata 1130 (at least one example of the interface is discussed herein in relation to Figures 22-26).
[0105] The recommendation engine 1160 can accept as input at least one of the metadata 1130 generated by the LLM 1106, the persona 1104 or the item theme 1102 and based on the at least one input, identify a plurality of listings 1162. The plurality of listings 1162 can be associated with at least one of the persona 1104 or the item theme 1102. The plurality of listings 1162 identified by the recommendation engine 1160 can be presented to a curator on a user interface. The curator can review the plurality of listings 1162 on the user interface and determine whether the plurality of listings can be published. Responsive to receiving an input to publish the plurality of listings, the recommendation engine 1160 can store the plurality of listings 1162 in the curated item listing database 126 in associated with at least one of the persona or the item theme. As discussed herein, the recommendation engine 1160 provides a platform for a curator to refine the listings that are provided to the user responsive to receiving user selected personas and / or item themes.
[0106] The item pipeline 1100 can provide the curator with a preview of the listings that would be shown to the user responsive to the user providing at least one of a persona or an item theme used to generate the listings. The curator can evaluate whether the plurality of listings arerepresentative of the persona and / or the item theme. If the plurality of listings are indeed representative, then the curator can elect to publish and store the plurality of listings in the curator item listing database 126 in association with at least one of the persona or the item theme. If the curator determines that the plurality of listings are not representative of the persona or item theme, the item pipeline 1100 can provide the curator with the ability to modify the output of the LLM 1106, which, in turn, can result in a different plurality of listings. In this manner, the item pipeline 1100 can incorporate curator feedback to modify the identified plurality of listings until the listings are representative of the persona and / or the item theme.
[0107] The recommendation engine 1160 can be implemented using least two approaches described herein. With a first approach, the recommendation engine 1160 can be based on generating embeddings from the metadata 1130 generated by the LLM 106 and the item theme 1102 and using the embeddings to identify the plurality of listings from the un-curated listings 1164 stored in the item listings database 124. In another approach, the recommendation engine 1160 can be based on generating the plurality of listings based in part on metadata in the form of a plurality of queries generated by the LLM 1106 based on the persona 1104 and / or the item theme 1102. The item pipeline can maintain a query listings dataset which includes a plurality of queries and a plurality of listings corresponding to the plurality of queries. The recommendation engine 1160 can select query-listings pairs based on the queries generated by the LLM 1106, and combine the listings from the selected query-listings pairs to generate the plurality of listings for review by the curator. In some examples, the item pipeline 1100 can be run multiple times to generate multiple listings which can be combined to form the plurality of listings. For example, only a subset of the metadata generated by the LLM 1106 may be provided to the recommendation engine during each run of the items pipeline 1100. The plurality of listings corresponding to each of the subsets of the metadata can be combined to generate the plurality of listings representative of the entire metadata.
[0108] Figure 11B shows a block diagram of a first example item pipeline 1100 that can be used to generate a set of listings. In particular, the first example item pipeline is based on the first approach discussed above in which the recommendation engine 1160 can generate embeddings from the metadata and the item theme and use the embeddings to identify a plurality of listings. The metadata 1130 can be generated based on prompts provided to the LLM 1106 via a userinterface. At least one example of the prompt provided to the LLM 1106 is discussed in Figure 12.
[0109] Figure 12 shows an example prompt 1200 that can be provided to the LLM 1106. The prompt 1200 includes a request to generate search queries, listing tags, and listing titles based, in part, on the persona information 1104 and the item theme information 1102. The search queries 1112, the listing tags 1110, and the listing titles 1108 in combination form the metadata 1130. The prompt 1200 specifies various steps that the LLM 1106 should take to generate the queries, tags, and titles, and to verify the results. The prompt 1200 can also specify the output format of the queries, tags, and titles. In the example shown in Figure 12, the prompt 1200 instructs the LLM 1106 to generate the queries, tags, and titles, in the JSON format. However, the JSON format is only an example, and that other implementations may request other types of formats. Typically, the requested format can depend on the input format requirement of the embeddings generator 1132. The prompt 1200 can also provide an example, which the LLM 1106 can utilize, to generate the queries, tags, and titles.
[0110] Figure 13 shows a list of personas and item themes for which the LLM 1106 can be requested to generate metadata. In the examples shown in Figure 13, the personas can include “The Bookworm,” and “The Zen Seeker,” while the item themes can include “Blind date with a Book,” “Literary Quote Wall Decals,”, “Aromatherapy Diffuser Necklace,” etc. The prompt 1200 can request the LLM 1106 to generate metadata for each of the pairs of personas and item themes. In some examples, the LLM 1106 can be a publicly available LLM, such as ChatGPT, that is trained on a large amount of data from a variety of sources. In some examples, the LLM 1106 can be pre-trained at least in part on data related to the user interactions with the exchange platform 110 and in particular with the metadata in relation to personas and item themes. Training the LLM on the data generated by user interaction with the exchange platform 110 can result in the LLM generating queries and metadata that are more accurate and more closely resemble the queries provided by the users. The metadata and the queries can more accurately reflect trends in the marketplace, in particular when the LLM is pre-trained or fine-tuned with user data.
[0111] Figure 14 shows an example of metadata 1400 output by the LLM 1106. In particular, Figure 14 shows the metadata 1400 includes listing tags, listing titles, and listing queries. The metadata 1400 is generated for the persona “The Bookworm,” and the item theme “Blind Date With a Book.” Other personas and item themes (e.g., those shown in Figure 13) can producedifferent metadata. It should be noted that one or more of the tags and titles generated by the LLM 1106 may not be similar to or match the tags and titles of listings stored in the item listings database 124. The generated metadata here can be partially or completely unique from that of the listings stored in the item listings database 124. This allows the LLM 1106 to generate a more comprehensive metadata that includes relatively more variety that a manually generated metadata.
[0112] Referring again to Figure 11A, the metadata 1130 generated by the LLM 1106 in addition to the item theme information 1102 can be provided to the embeddings generator 1132. Generally, the embeddings generator 1132 can generate embeddings corresponding to the metadata and the item theme, and return a plurality of listings 1134 related to the embeddings. The plurality of listings 1134 are generated based on comparison of the embeddings generated by the embeddings generator 1132 with embeddings of item listings stored in the items listing data 124. In some examples, the plurality of listings can be generated by the embeddings generator 1132 and / or the listings search engine 130 (Figure 1). For example, the plurality of listings 1134 can include listings that have embeddings in a coordinate system of the embeddings generated from the metadata and the item theme information. In addition, the embeddings generator 1132 can determine the listings based on the listings being one of (i) no more than a threshold distance from the embedding of the metadata and the item theme information, and (ii) n-th closest to the embeddings of the metadata and the item theme information. The embeddings generator 1132 can utilize, for example, trained neural networks to generate the embeddings.
[0113] In some examples, the embeddings generator 1132 can include a first embeddings generator 1114 and a second embeddings generator 1116. The first embeddings generator 1114 can generate a first embedding and the second embeddings generator can generate a second embedding. The first embeddings generator 1114 can generate the first embedding based on the item theme information 1102 and the listing titles 1108 generated by the LLM 1106. The second embeddings generator 1116 can generate the second embedding based on the metadata 1130, i.e., the listing titles 1108, the listing tags 1110, and the queries 1112. The first listings encoder 1118 can determine or identify a first plurality of listings that have embeddings related to the first embeddings, while the second listings encoder 1120 can determine or identify a second plurality of listings that have embeddings related to the second embedding. The first listings encoder 1118 and the second listings encoder 1120 can identify their respective listings based on the listings that have embeddings that are (i) no more than a threshold distance from the respective first or secondembedding or (ii) n-th closest to the respective first or second embedding. The embeddings generator 1132 can combine the first plurality of listings and the second plurality of listings to generate the plurality of listings 1134. In some examples, the embeddings generator 1132 can determine a union of the first plurality of listings and the second plurality of listings to generate the plurality of listings 1134. In some examples, the embeddings generator 1132 can utilize other techniques to determine the plurality of listings 1134 from the first plurality of listings and the second plurality of listings.
[0114] In some examples, the embeddings generator 1132 can filter the listings generated by the first listings encoder 1118 and the second listings encoder 1120 based on an item selection function. For example, the embeddings generator 1132 can generate or identify a first intermediate plurality of listings that have embeddings related to the first embedding. Similarly, the embeddings generator 1132 can determine a second intermediate plurality of listings that have embeddings related to the second embedding. The embeddings generator 1132 can rank the first intermediate plurality of listings based on a neural network trained to rank listings in terms of an item selection function. The neural network and the item selection function can be specific to an implementation. For example, the neural network can be trained on item listings that have at least one associated purchase. The item selection function can be selected in various ways. In one example, the item selection function can provide a probability that a listing would result in a purchase based on historical purchase rate, click rate, product type, price, historical performance of the shop providing the listing, etc., associated with the listing. In some examples, the item selection function can be an off-the-shelf model that can infer whether a listing is gift appropriate with a score from 0.0 to 1.0, or have “high curatorial quality” with a score from 0.0 to 1.0. In some instances, the item selection function can be based on a liner combination of factors such as estimated purchase rate, and a weighted gift appropriateness factor. In some instances, the item selection function can be utilized as a threshold filter where the listings with gift appropriateness ratings that are below a threshold are removed. The embeddings generator 1132 can then remove those listings from the first intermediate plurality of listings that are below a predetermined threshold rank value. Similarly, the embeddings generator 1132 can generate a second intermediate plurality of listings that have embeddings related to the second embedding. The embeddings generator 1132 can rank the second intermediate plurality of listings based on theneural network, and remove those listings from the second intermediate plurality of listings with ranks below the predetermined rank value.
[0115] Figures 15 and 16 show the generation of a first plurality of listings and the second plurality of listings based on ranking. In particular, the first intermediate and the second intermediate plurality of listings are shown as dots on the coordinate space. The listings that have rankings below the predetermined rank value are not considered. The remainder of the listings form the first plurality of listings and the second plurality of listings, which, in turn, are combined to generate the plurality of listings 1134 (Figure 11 A). In some examples, the first intermediate and the second intermediate plurality of listings can be filtered before being combined. For example, filtering by the filter block 1126 (discussed below) can be applied to the first and second intermediate plurality of listings. Figures 15 and 16 show an example where listings that are filtered out are shown with a superimposed cross. These crossed out listings are not considered, and the reminder of the listings are combined to form the plurality of listings.
[0116] The items pipeline 1100 further includes a ranking function block 1122, a randomizer block 1124, and a filters block 1126. The ranking function block 1122 can rank the plurality of listings and remove those that have a rank below a predetermined threshold rank value. In some examples, a trained neural network can be utilized to implement the ranking function block 1122, where the neural network can be trained on ranked listings. The randomizer block 1124 can randomize the order of the plurality of listings. In some scenarios, only a subset of the plurality of listings are provided to a user for viewing (e g., the first k listings, where k can have a range between about 1 to 100). In some such instances, a randomizer can help display a different subset of plurality of listings each time the items pipeline is run. This can reduce the risk of some listings never being provided to the user. The filters block 1126 can further filter the plurality of listings by removing one or more listings based on keyword blocklists, mature restrictions, or shopping filters. In some examples, the filter block 126 can compare the information of the plurality of listings with a list of keywords that indicate some restrictions on the publishing of the listings. For example, some mature content related listings may not be appropriate for certain personas. In such instances, the filters block 1126 can identify the listings that have a hit with regards to restricted keywords and remove those items from the plurality of listings.
[0117] The items pipeline 1100 can also include a publish block 1128 which can receive a user input to publish the plurality of listings. In some examples, the publish block 1128 canautomatically publish the plurality of listings without any input from the user. Specifically, publishing the plurality of listings can include storing the plurality of listings and the item theme in the curated item listings database 126 in association with the persona. In some examples, the publish block 1128 can also provide a curator a user interface to view the plurality of listings. If the curator is not satisfied with the plurality of listings corresponding to the persona and the item theme, the curator can change one or more aspects of the item pipeline 1100 and re-run the pipeline to generate an updated plurality of listings. For example, the curator may initially provide a persona as “The Gardener” and the item theme as “Succulents.” The resulting plurality of listings generated by the item pipeline 1100 may not include the desired type of listings. The curator can then change the prompt provided to the LLM 1106 to generate a different metadata 1130, which can result in an updated plurality of listings. In some instances, the curator may change at least one of the persona information 1104 or the item theme 1102. When the item pipeline 1100 is rerun, the LLM 1106 can generate modified metadata. The embeddings generator 1132 can generate modified embeddings based on the modified data, and identify a modified plurality of listings related to the modified embeddings. The modified plurality of listings can be filtered through the ranking function block 1122, the randomizer block 1124, and the filters block 1126 to be presented to the curator.
[0118] If the curator is satisfied with the listings generated by the items pipeline 1100, the curator can instruct the items pipeline 1100 to publish the results. That is, the curator can instruct the items pipeline 1100 to store the plurality of listings in the curated items listings database 126.
[0119] The plurality of listings are stored in the curated items listings database 126 with the associated persona. Thus, when the user uses a user interface, such as the user interface 200 shown in Figure 2, a persona tile associated with the persona can be displayed to the user. When the user selects a persona, the back-end server(s) 114 can access the curated item listings database 126 and select a set of listings that are associated with the selected persona. The selected set of listings can include listings that are sub -categorized into item themes associated with the persona, an example of which his shown in Figure 6. Thus, the listings presented to the user can be more user friendly and logically arranged. This is in contrast with traditional search queries, where the search engine merely does keyword search of listings and produces several matching listings in a unwieldy list format.
[0120] Figure 17 shows an example process 1700 for generating a curated listings of items. In particular, the process 1700 depicts the process for generating curated listings of items using the first approach for implementing a recommendations engine. The process 1700 includes generating, using a large language model, metadata related to a plurality of items based on a prompt including an item theme and a persona (1702). At least one aspect of this process step has been discussed above in relation to Figures 11-16. In particular, as shown in Figure 11A, the LLM engine 1106 receives persona 1104 and item theme 1102 information and generates metadata 1130, which can include tiles 1108, tags 1110, and queries 1112. LLM engine 1106 can be utilized to generate the metadata that is more accurate and comprehensive in relation to manually generated metadata.
[0121] The process 1700 further includes generating one or more embeddings based on the metadata and the item theme (1704). As discussed herein in relation to Figure 11A, the embeddings generator 1132 can generate embeddings based on the metadata 1130 and the item theme 1102 information. In some examples, the embeddings generator 1132 can generate a first embeddings based on the metadata and the item theme and a second embeddings based on the metadata alone.
[0122] The process 1700 also includes determining a plurality of listings related to the one or more embeddings and generate a ranked listings based on the ranked function (1706). As discussed above in relation to Figure 11A, the embeddings generator 1132 can use listings encoders to determine a plurality of listings 1134 based on matching the embeddings to embeddings of item listings. The embeddings generator 1132 can select a plurality of listings that are within a predetermined distance from the first and second embeddings. A ranking function 122 can rank the plurality of listings and remove those listings that have a rank below a predetermined threshold.
[0123] The process 1700 further includes receiving an input to publish the ranked listings, and store the ranked listings and the item theme in a curated items database (1708). As discussed above in relation to Figure 11 A, the publish block 1128 can receive user input to publish the ranked listings, in some examples, publishing the ranked listings can include storing the ranked listings and the item theme in the curated item listings database 126 in association with the persona. In some examples, the publish block 1128 can also provide a curator a user interface to view the ranked listings. If the curator is not satisfied with the ranked listings corresponding to the persona and the item theme, the curator can change one or more aspects of the item pipeline 1100 and re-run the pipeline to generate updated ranked listings. Once published, the ranked listings can be used to provide item listings to a user interface.
[0124] The process 1700 also includes receive, from a user device, a request for item listings, the request including a persona (1710). As discussed above in relation to Figure 1 and Figure 11 A, the application 102- A can present to the user on the user device 102 a user interface that provides persona tiles, which the user can select. Once selected, the application 102-A can communicate the selected persona to the exchange platform 110. The item pipeline 116 or the listings search engine 130 can receive the persona information to carry out a search. In some instances, the user interface 200 can also present item icons representing item themes for user selection. The application 102-A can also send the selected item theme to the exchange platform 110.
[0125] The process 1700 further includes retrieving from the curated items database the ranked listings and the item theme associated with the persona and provide to the user device (1712). As discussed in relation to Figure 1, the item pipeline 116 or the listings search engine 130 can use the persona information and the item theme information received from the user device 102 to search the curated item listings database 126. The resulting ranked listings previously stored in relation to the persona and / or the item theme is provided to the user device 102. The ranked listing retrieved from the curated item listings database 126 can include the listings organized under the persona requested and can include further categorization based on the item themes. One example of the item listings retrieved and provided to the user device 102 is discussed herein in relation to Figure 6.
[0126] Figure 18 shows a block diagram of a second example item pipeline 1800 that can be used to generate a set of listings. As discussed above, the recommendation engine 1160 can be implemented using one or more approaches. An example of a first approach has been discussed in relation to Figures 11B-17. Figure 18 presents the second approach. In particular, the recommendation engine 1160 can be based on generating the plurality of listings based in part on metadata in the form of a plurality of queries generated by the LLM 1106 based on the persona 1104 and / or the item theme 1102. The item pipeline can maintain a query listings dataset which includes a plurality of queries and a plurality of listings corresponding to the plurality of queries. The recommendation engine 1160 can select query-listings pairs based on the queries generated by the LLM 1106, and combine the listings from the selected query -listings pairs to generate the plurality of listings for review by the curator.
[0127] The second example pipeline 1800 includes the LLM 1106 that is similar to the LLM 1106 discussed in relation to Figure 11A. The LLM 1106 can be provided with prompts that instruct the LLM 1106 to generate one or more queries 1808. In some respects, the prompt provided to the LLM 1106 can be similar to the prompt 1200 discussed herein in relation to Figure 12. For example, the prompt 1200 can be modified to include steps and instructions to generate a desired number of search queries by selecting a number for the variable { {num search queries}} (as specified in Step 1) and skipping Steps 3-6 related to generating titles and tags. In some other implementations, the prompt 1200 can be used without modifications, but the results related to only search queries can be selected. In such instances, the LLM 1106 can generate metadata similar to the metadata 1130 discussed above in relation to Figure 11 A and 1 IB.
[0128] The recommendation engine 1806 can use the queries 1808 to search a query -listings dataset 1810, which can include a plurality of query -listings pairs. In particular, the recommendations engine 1806 can search the queries of each of the query -listings pairs in the query listings dataset 1810 to determine whether the queries 1808 generated by the LLM 1106 match with any of the queries of the query-listings dataset 1810. In some instances, each query in a query-listings pair can include one or more words. The recommendations engine can consider the search a hit if at least one word of the query 1808 generated by the LLM 1106 matches at least one word of the query of a query-listings pair. If no word in the query 1808 generated by the LLM 1106 matches with any word in a query of a query -listings pair, the recommendations engine 1806 can consider that search as a miss. In some other examples, the recommendation engine 1806 can consider a search to be a hit only if all the words in the query 1808 generated by the LLM 1106 matches all of the words in the query of a query-listings pair. In yet other examples, the recommendation engine 1806 can consider a search to be a hit if a threshold number of words match between the query 1808 and the query of the query-listings pair. In this manner, the recommendations engine 1806 can determine which query -listings pairs of the plurality of querylistings pairs of the query -listings dataset 1810 result in a hit for each of the queries 1808 generated by the LLM 1106. Figure 18 shows that n query-listings pairs of the plurality of query-listings pairs result in a hit.
[0129] The second example item pipeline 1800 can include a combine block 1812. The recommendations engine 1806 can combine listings of the plurality of query-listings pairs that have corresponding queries that result in a hit. In particular, the listings of n query-li stings pairsthat resulted in a hit can be combined by the combine block 1812 to generate an intermediate plurality of listings 1814. In some examples, the recommendations engine 1806 can combine the listings of all the query-listings pairs that result in a hit by taking a union of the listings to generate the intermediate plurality of listings 1814. In some examples, the combine block 1812 can pick listings from each of the n query -listings pairs in a random order to generate the intermediate plurality of listings. In some other examples, the combine block 1812 can interleave the listings.
[0130] The second example item pipeline 1800 can include a filter block 1816 that filters the intermediate plurality of listings 1814. In some examples, filtering can include operations similar to those discussed herein in relation to the filter block 1126 with respect to Figure 1 IB. That is, filtering can remove one or more listings from the intermediate plurality of listings 1814 based on keyword blocklists, mature restrictions, or shopping filters. In some examples, the filter block 1816 can compare the information of the intermediate plurality of listings 1814 with a list of keywords that indicate some restrictions on the publishing of the listings. For example, some mature content related listings may not be appropriate for certain personas or item themes. In such instances, the filter block 1816 can identify the listings in the intermediate plurality of listings that have a hit with regards to restricted keywords and remove those listings. The recommendations engine 1806 can filter the intermediate plurality of listings 1814 to generate the plurality of listings 1818.
[0131] Figure 19A depicts an example query-listings dataset 1900. The query-listings dataset 1900 can be utilized in implementing the query-listings dataset 1819 discussed herein in relation to Figure 18. The query -listings dataset 1900 can include a plurality of query-listings pairs 1902. Each query-listings pair 1902 can include a query 1904 and a corresponding set of listings 1906. The query -listings pairs 1902 can be based on historical user search activity and the actual search results received in response to the search activity. For example, the query 1902 can represent an actual search carried out by a user on a user device 102 (Figure 1) on an application 102-A that communicates the search query to the front-end servers 112, which in turn can communicate the search query to the back-end servers 114. The back-end servers 114 can search the items listings database 124 using the search query. The listings received from the item listings database 124 and the corresponding search query received from the user can form one query-listings pair.
[0132] The listings in one or more query-listings pairs can be ranked or ordered. For example, the ranking can be based on one or more factors such as the listing’s average position in the searchresults for the corresponding query over the previous predetermined number of days. The predetermined number of days can include a range between one to 100 days, for example. Another factor can include a score assigned to the listing by an item selection function discussed previously in relation to Figure 1 IB. The item selection function can provide a score to the listings based on whether the listing is suitable as a gift, or whether the listings has been indicated as high quality by a curator based on curatorial standards (such as quantity and quality of photos, description of the item, etc.). The items pipeline can periodically review the ranking or order of the listings in the query-listing dataset. For example, the items pipeline can re-rank or re-order the listings in one or more of the query-listings pairs on a daily basis.
[0133] Maintaining the ranking / ordering of the listings in the query-listings dataset 1900 can ensure that high quality listings are recommended by the recommendations engine 1806 to the curator for publishing. The curator can review the plurality of listings 1818 generated by the recommendations engine 1806 can determine whether the listings are representative of the items themes generated by the LLM 1808. If the curator determines that the listings are indeed representative of the item themes, the curator can instruct the items pipeline to publish the listings. Responsive to receiving the input to publish the listings, the items pipeline can store in the curated items listings database 126 the listings in association with the item theme generated by the LLM 1808. Thus, subsequently if a user selects an item theme that is present in the curated items listings database 126, the listings associated with the item theme can be presented to the user. In some examples, the query-listings dataset 1900 can be stored in one of the databases of the exchange platform 110 (Figure 1). In some examples, the query-listings dataset 1900 can be stored in a keyvalue database, a relational database, a table data structure, etc.
[0134] Figure 19B shows a block diagram of an example interleaving technique for combining listings. In particular, the interleaving technique can be utilized by the combining block 1812 (Figure 18) for combining listings from the n query-li stings pairs that resulted in a hit. Figure 19B shows three query-listings pairs: a first query-listings pair 1952, a second query-li stings pair 1954, and a third query-listings pair 1956. Both the first query listings pair 1952 and the second querylistings pair 1954 include three ordered listings while the third query-listings pair 1956 includes two listings. An interleave block 1958 (which can implement the combine block 1812) can interleave the listings in the three query-listings pairs and generate an intermediate plurality of listings 1960. In one approach, the interleave block 1958 can select one listing from each query-listings pair in decreasing order. For example, the interleaving block 1958 can select the first listing from the first query-listings pair 1962, then the first listing from the second query -listings pair 1954, followed by the first listing from the third query -listings pair 1956 to form the first three listings (indicated as “first group”) of the intermediate plurality of listings 1960. The interleaving block 1958 can repeat this process to select the next three listings (indicated as “second group”) in the intermediate plurality of listings 1960 by selecting the second listing from each of the three query-li stings pairs. Finally, the interleaving block 1958 can select the next two listings by selecting the last two listings in each of the first query -listings pair 1952 and the second querylistings pair 1954 (as there is no third listing in the third query -listings pair 1956).
[0135] In some instances, each listing in the query-listings pair can have an associated score associated with it. For example, the score can represent an average rank of the listing in search results for the associated query. As an example, Figure 19B shows the scores associated with each listing in the query-listings pairs. The interleaving block 1958 can take the score into consideration when selecting an order for the listings in the intermediate plurality of listings 1960. For example, the interleaving block 1958 can arrange the first three listings (in the “first group”) in an order of decreasing scores. In some instances, all the listings in the intermediate plurality of listings can be arranged in the order of decreasing scores. In some other examples, the interleaving block 1958 can arrange the listings in each group randomly.
[0136] Figure 20 shows another example process 2000 for generating curated listings of items. In particular, the process 2000 depicts the process for generating curated listings of items using the second approach for implementing a recommendations engine. The process 2000 includes generating, using a large language model, metadata related to a plurality of items based on a prompt including an item theme and a persona (2002). At least one aspect of this process step has been discussed above in relation to Figures 11 A and 18, where the LLM engine 1106 receives a prompt that includes at least one of a persona or an item theme and in response generates metadata that includes one or more queries 1808.
[0137] The process 2000 can also include searching, using one or more queries in the metadata, a query-listing dataset that includes a plurality of query -listings pairs for matches between the one or more queries and queries in the plurality of query-listing pairs (2004). At least one aspect of this process step has been discussed above in relation to Figures 18 and 19, where the recommendation engine 1806 can search the query-listings dataset 1900 using the one or morequeries 1808 generated by the LLM 1106. The recommendations engine 1806 can search whether one or more words in each query 1808 matches one or more words of the query of each query - listings pair 1902. If one or more words in the query 1808 are found in the query 1904 of a querylistings pair 1902, then that query-listings pair 1902 can be considered as resulting in a hit. If no words from a query 1808 match with any words in the query 1904, then the recommendation engine can consider the query-listings pair 1902 as resulting in a miss.
[0138] The process 2000 also includes combining listings of the plurality of query-li stings pairs that have corresponding queries that result in a hit form searching the query -listings dataset with the one or more queries (2006). As discussed above in relation to Figure 18, the recommendations engine 1806 can include a combine block 1812 that combines the listings of the query-listings pairs 1902 that result in a hit. The output of the combine block 1812 can be an intermediate plurality of listings 1818. In some examples, as discussed in relation to Figure 19B, the combine block 1812 can be implemented as an interleave block 1958 that interleaves the listings from the query-listings pairs that result in a hit to generate the intermediate plurality of listings. The intermediate plurality of listings 1818 (or 1960 in Figure 19B) can be filtered using the filter block 1816 to generate a plurality of listings. The plurality of listings can be provided to the curator for review. The recommendations engine 1806 can, upon receiving an indication from the curator via a user interface, store the plurality of listings in the curated item listing database 126 (2008).
[0139] The process 2000 also includes receiving, from a user device, a request for item listings, the request including the item theme (2010). As discussed above in relation to Figure 2, the user can select one or more personas via the persona tiles 202 and the one or more item themes via the item icons 204. As discussed above in relation to Figures 1, 2 and Figure 18, the application 102- A can present to the user on the user device 102 a user interface that provides persona tiles 202, which the user can select. Once selected, the application 102 -A can communicate the selected persona to the exchange platform 110. The item pipeline 116 or the listings search engine 130 can receive the persona information to carry out a search. In some instances, the user interface 200 can also present item icons representing item themes for user selection. The application 102- A can also send the selected item theme to the exchange platform 110.
[0140] The process 2000 further includes retrieving from the curated items database the plurality of listings and the item theme and providing to the user device (2012). As discussed inrelation to Figure 1, the item pipeline 1 16 or the listings search engine 130 can use the persona information and the item theme information received from the user device 102 to search the curated item listings database 126. The resulting plurality of listings previously stored in relation to the persona and / or the item theme is provided to the user device 102. The plurality of listing retrieved from the curated item listings database 126 can include the listings organized under the persona requested and can include further categorization based on the item themes. One example of the item listings retrieved and provided to the user device 102 is discussed herein in relation to Figure 6.
[0141] Figure 21 shows an example process 2100 for generating curated listings of items that covers the approaches depicted in Figures 17 and 20. In particular, the process 2100 shown in Figure 21 can include generating, using a large language model, metadata related to a plurality of items based on a prompt including at least one of an item theme or a persona (2102). At least one aspect of this process step has been discussed above in relation to Figures 11A, 1 IB, and 18, where the LLM engine 1106 receives a prompt that includes at least one of a persona 1104 or an item theme 1102 and in response generates metadata that includes one or more queries 1808. In some instances, the metadata may also include titles 1108, tags 1110, and queries 1112.
[0142] The process 2100 also includes identifying a plurality of listings from a listings database including un-curated listings based on a recommendation engine, the recommendation engine receiving as input at least one of the metadata or the item theme and generating as output the plurality of listings (2104). As discussed above, the recommendation engine 1106 can receive as input metadata (including one or more queries) 1130, item themes 1102, or personas 1104. The recommendation engine 1106, based on this input, can identify a plurality of listings 1162 that are associated with at least one of the persona 1104 or the item theme 1102. The recommendations engine can utilize one or more approaches to identifying the plurality of listings. For example, the recommendation engine 1106 can take the approach discussed in relation to Figure 1 IB where the recommendations engine generates embeddings of the metadata and item theme and identifies uncurated listings from the item listings database 124 that are related to the embeddings. The recommendation engine 1106 may also take the approach discussed in relation to Figure 18, where the recommendation engine identifies the plurality of listings based on searching for queries generated by the LLM in query-listings dataset that includes query-listings pairs.
[0143] The process 2100 can also include receiving an input to publish the listings and storing the listings and the associated item theme or persona in a curated items database (2106). As discussed above in relation to Figure 11A, the recommendations engine 1106 can receive via a user interface an input from a curator indicating publishing the plurality of listings associated with an item theme and / or a persona. The recommendations engine 1106 can store the plurality of listings and the associated item theme and / or persona in the curated item listing database 126.
[0144] The process 2100 can further include receiving, from a user device, a request for item listings, the request including the item theme (2108). As discussed above in relation to Figure 2, the user can select one or more personas via the persona tiles 202 and the one or more item themes via the item icons 204. As discussed above in relation to Figures 1, 2 and Figure 11 A, the application 102-A can present to the user on the user device 102 a user interface that provides persona tiles 202, which the user can select. Once selected, the application 102-A can communicate the selected persona to the exchange platform 110. The item pipeline 116 or the listings search engine 130 can receive the persona information to carry out a search. In some instances, the user interface 200 can also present item icons representing item themes for user selection. The application 102-A can also send the selected item theme to the exchange platform 110.
[0145] The process 2100 further includes retrieving from the curated items database the plurality of listings and the item theme and providing to the user device (1712). As discussed in relation to Figure 1, the item pipeline 116 or the listings search engine 130 can use the persona information and the item theme information received from the user device 102 to search the curated item listings database 126. The resulting plurality of listings previously stored in relation to the persona and / or the item theme is provided to the user device 102. The plurality of listing retrieved from the curated item listings database 126 can include the listings organized under the persona requested and can include further categorization based on the item themes. One example of the item listings retrieved and provided to the user device 102 is discussed herein in relation to Figure 6.
[0146] As discussed herein, the items pipeline can facilitate curation of listings where the listings associated with specific item themes and / or personas are stored in the curated item listings database 126. The items pipeline can provide a user interface to the curator to review the plurality of listings and indicate whether to publish the plurality of listings, modify the plurality of listings,or reject the plurality of listings. At least one example of such user interfaces is discussed in relation to Figures 22-26.
[0147] Figures 22 and 23 show a first example graphical user interface 2200 for interacting with the items pipeline. In particular, Figures 22 and 23 show the user interface that a curator can interact with to review the plurality of listings generated by the items pipeline. The first example user interface 2200 can include information about the persona (here “Mother’s Day”) along with some additional information such as whether the plurality of listings associated with the persona are published. The first example user interface 2200 also can include a list of associated item themes. The curator can select one of the associated item themes to review the plurality of listings. For example, the curator can select the item theme “silk pillowcases for mom” in the list. Responsive to the curator selecting the item theme, the first example user interface 2200 can present to the user a view of the plurality of listings 2202 associated with the persona “Mother’s Day,” and the item theme “silk pillow cases.” The first example user interface 2200 also shows a window 2204 where metadata generated by the LLM 1106 is displayed to the curator as well as the resulting plurality of listings 2202. The LLM 1106 generates the metadata based on the prompt “silk pillowcases for mom.”
[0148] The curator can view the plurality of listings 2202 and determine whether the listings are representative of the selected persona and item theme. If the curator determines that the listings are indeed representative of the persona and item theme, the curator can select the publish button 2206 to publish the listings. This will cause the items pipeline to store the plurality of listings in the curated item listings database 126 in association with the persona and the item theme. If the curator determines that the plurality of listings 2202 are not representative of the persona and the item theme, the curator can modify the metadata in the window 2204 and run the search again based on the modified metadata by pressing the “Run” button 2208. This results in a new plurality of listings 2202 being presented to the curator. The curator can thus modify the metadata until a desired plurality of listings 2202 are generated, at which time, the curator can press the publish button 2206 to publish the plurality of listings 2202. The first example user interface 2200 shown in Figures 22 and 23 can correspond to the first approach to implementing the recommendation engine described in relation to Figure 1 IB.
[0149] Figures 24 and 25 show a second example user interface 2400 for interacting with the items pipeline. In particular, the user interface 2400 can correspond to the second approach toimplementing the recommendation engine described in relation to Figure 18. The second example user interface 2400, similar to the first example user interface can include information about the persona (here “The Wellness Enthusiast,”) and the item theme (here “Teeth”). The second example user interface also provides a search query window 2402 that allows the curator to enter specific search queries for which to generate the plurality of listings. As an example, Figure 24 shows the search query “Teeth themed gifts” entered by the curator. The interface can also include a “Submit” button 2406, which when pressed by the curator, will cause the items pipeline to run the recommendations engine. In particular, the items pipeline can run the recommendation engine 1806 associated with the second approach to implementing the recommendation engine 1106 discussed in relation to Figure 18.
[0150] Once the curator presses the submit button 2406, the second example user interface 2400 presents the curator with a plurality of listings 2402 identified by the recommendations engine. In addition, the interface displays a list of queries 2404 generated by the LLM 1106 responsive to providing the LLM with the persona and the item theme. The interface 2400 also includes indications associated with each of the queries on whether the query resulted in any hits in the query -listings dataset. For example, the query “dental jewelry” had a hit in the query-listings dataset but the query “tooth-shaped accessories” did not have a hit in the query-listings dataset. The interface 2400 allows the curator to review the plurality of listings 2402 to determine whether the listings are representative of the item theme or the persona. If the curator determines that the plurality of listings 2402 are indeed representative of the item theme or the persona, the curator can publish the listings. The interface 2400 also provides the curator with the ability to add or remove queries. For example, the curator can remove the queries that did not result in a hit in the query-li stings dataset. In addition, the curator can add new queries in the window 2406 and press the “Add” button 2408. Figure 26 shows the interface 2400 where the curator has added the query “tooth cups” and removed the queries that did not result in a hit in the query-listings dataset. The plurality of listings 2402 reflect the addition of the new query. If the curator determines that the plurality of listings 2402 are representative of the item theme and / or the persona, the curator can press the “submit” button, which will result in the plurality of listings being stored in the curated item listing database 126 in association with at least one of the item theme or the persona.
[0151] The techniques discussed herein can provide several technical benefits. For example, the plurality of listings generated by the item pipeline can reduce network traffic, reduce memoryrequirement of the user device, and improve the performance of the user device. For example, the items pipeline provides a curated set of listings associated with user selected criteria such as personas, item themes, or queries. The curated set of listings reduces the number and size of the search results to be transmitted to the user device while still providing relevant search results. In contrast, traditional systems will merely rank the search results but transmit most if not all of the search results to the user device. As a result, the traditional approach imposes bandwidth and network traffic constraints on the user device and network connected to the user device. But the techniques discussed herein reduce the amount of data that needs to be transmitted to the user device and therefore, reduce the bandwidth and network traffic constraints on the user deice and the network connected to the user device.
[0152] Figure 27 shows a flow diagram of an example process 2700 for generating a plurality of listings. The process 2700 includes receiving, via a graphical user interface (GUI), a prompt including at least one of an item theme and a persona (2702). At least one example of the GUI has been discussed above in relation to Figure 23, in which the GUI 2200 can receive a prompt “silk pillowcases for mom,” from the user. At least one other example of a prompt is also discussed in relation to Figure 12, where the prompt provides step-by-step instructions to the LLM 1106 for generating metadata. In some instances, the prompt can be typed in by the user. In some other instances, the user can select a prompt from a prepared list of prompts.
[0153] The process 2700 includes obtaining, from an LLM, metadata related to a plurality of items based on at least one of the item theme and the persona (2704) and displaying, on the GUI, the metadata, where the metadata represents computer formatted text associated with titles, tags or queries (2706). At least one example of these process steps has been discussed herein in relation to Figure 23, where the window 2204 shows metadata obtained from an LLM. The LLM 1106 can generate the metadata based at least one the prompt provided by the user (e.g., “silk pillowcases for mom” or the prompt shown in Figure 12). The metadata obtained from the LLM can be displayed to the user for review and editing (e.g., in window 2204 shown in Figure 23). The metadata can include formatted text (e.g., JSON formatting) associated with titles, tags or queries. In some instances, the metadata may include only queries (which can be utilized by the recommendation engine 1806 shown in Figure 18). In some other instances, the metadata can include formatted text associated with titles, tags and queries, one example of which is shown in Figure 14.
[0154] The process 2700 includes obtaining, using an item pipeline, from a database including un-curated listings, a plurality of listings related to the metadata (2708). At least one example of the item pipeline has been discussed herein in relation to Figures 11A, 11B, and 18. The items pipelines can generate a plurality of listings related to the metadata generated by the LLM. In some instances, such as those discussed in relation to Figure 11B, the plurality of listings can be generated based on titles, tags, queries and item themes. In some other instances, such as those discussed in relation to Figure 18, the plurality of listings can be generated based on queries only. The plurality of listings can be filtered and ranked based on filtering criteria and ranking functions, examples of which have been discussed herein in relation to Figures 1 IB and 18.
[0155] The process 2700 further includes displaying, by the GUI, the plurality of listings (2710). The plurality of listings can be displayed to the curator for review by the GUI. The plurality of listings can provide the user with a preview of the listings that, if published, would be presented to a user when the user selects the associated persona and / or item theme. As an example, Figures 23, 25, and 26 shows plurality of listings (2202 and 2402) that are displayed to the curator.
[0156] The items pipelines discussed herein can use a large-language model to generate metadata related to personas and item themes. The metadata generated by the large-language model is then used to generate embeddings and to find related listings in the listings database based on the embeddings. Using the large-language model to generate the metadata can leverage the vast resources used to train the large-language model to generate a more accurate and comprehensive metadata, which can improve the listings search that is based on the metadata. Thus, the use of the large-language model can improve the accuracy of the search results. Further, the process of running queries based on persona and item themes to identify related listings and to categorize the listings based on the persona and item themes can be time consuming. This is partly a function of the large number of listings in the listings database (hundreds of thousands to millions). The metadata used for searching the listings database can be difficult to generate as specific titles, tags, and queries related to the persona and item themes. Using the large-language model can alleviate this difficulty, and provide accurate and comprehensive metadata, which, in turn, can result in more accurate search for listings that are related to the personas and item themes.
[0157] Traditional approaches to selecting listings to be presented to the user based on user queries can be time consuming or cumbersome. For instance, traditionally curators would have to select item themes, search the database for the item themes, and then hand-pick and hand-orderthe listings to recommend to the user. As an example, the curator may curate content for a page entitled “Minimalist Earrings” and hand-pick listings A, B, and C to recommend on the page. When listing A sells out, goes out of season, or wanes in popularity, the user experience can degrade. The curator can address this by hand-picking and hand-ordering new listings over time. This also involves regenerating metadata that is used to search the listings database to acquire the new listings. But this requires an inordinate amount of time in instances where the item database includes hundreds of thousands of listings.
[0158] Using the items pipeline, the curator may only need to select the persona and / or the item theme. Based on the selection, the items pipeline can generate the underlying metadata using an LLM and allow the curator to edit or override the metadata if the resulting listings are not satisfactory. The items pipeline provides a feedback loop where the curator can quickly alter the metadata and see the results of the changes in terms of different plurality of listings. If the plurality of listings are satisfactory, the curator can publish the listings and the published listings would be presented to the user when the user selects the associated persona and / or the item theme. If the plurality of listings are not satisfactory, the curator can readily modify the metadata to generate a new plurality of listings. The listings generated by the items pipeline is also ranked and fdtered. The items pipeline eliminates the need to hand-pick and hand-order listings, while still preserving control over the generated listings by providing an interface to modify the metadata. As a result, continuous upkeep of the listings can be eliminated.
[0159] In some instances, the items pipeline uses historical search results to determine listings to recommend (e.g., query-listings dataset 1810, Figure 18) for each query presented by the user, rather than using live search of the listings. This approach is not only easier to scale, but is also more efficient and less time consuming as the historical search results and associated data can be collected and processed beforehand instead of being carried out in real time.
[0160] Figure 28 is a block diagram of computing devices 2800, 2850 that may be used to implement the systems and methods described in this document, either as a client or as a server or plurality of servers, or in cloud computing environments. Computing device 2800 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Computing device 2850 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, smartwatches, head-worn devices, and other similarcomputing devices. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations described and / or claimed in this document.
[0161] Computing device 2800 includes a processor 2802, memory 2804, a storage device 2806, a high-speed interface 2808 connecting to memory 2804 and high-speed expansion ports 2810, and a low speed interface 2812 connecting to low speed bus 2814 and storage device 2806. Each of the components 2802, 2804, 2806, 2808, 2810, and 2812, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor 2802 can process instructions for execution within the computing device 2800, including instructions stored in the memory 2804 or on the storage device 2806 to display graphical information for a GUI on an external input / output device, such as display 2816 coupled to high speed interface 2808. In other implementations, multiple processors and / or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 2800 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
[0162] The memory 2804 stores information within the computing device 2800. In one implementation, the memory 2804 is a computer-readable medium. In one implementation, the memory 2804 is a volatile memory unit or units. In another implementation, the memory 2804 is a non-volatile memory unit or units.
[0163] The storage device 2806 is capable of providing mass storage for the computing device 2800. In one implementation, the storage device 2806 is a computer-readable medium. In various different implementations, the storage device 2806 may be a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine- readable medium, such as the memory 2804, the storage device 2806, or memory on processor 2802.
[0164] The high-speed controller 2808 manages bandwidth-intensive operations for the computing device 2800, while the low speed controller 2812 manages lower bandwidth-intensiveoperations. Such allocation of duties is exemplary only. In one implementation, the high-speed controller 2808 is coupled to memory 2804, display 2816 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 2810, which may accept various expansion cards (not shown). In the implementation, low-speed controller 2812 is coupled to storage device 2806 and low-speed expansion port 2814. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
[0165] The computing device 2800 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 2820, or multiple times in a group of such servers. It may also be implemented as part of a rack server system 2824. In addition, it may be implemented in a personal computer such as a laptop computer 2822. Alternatively, components from computing device 2800 may be combined with other components in a mobile device (not shown), such as device 2850. Each of such devices may contain one or more of computing device 2800, 2850, and an entire system may be made up of multiple computing devices 2800, 2850 communicating with each other.
[0166] Computing device 2850 includes a processor 2852, memory 2864, an input / output device such as a display 2854, a communication interface 2866, and a transceiver 2868, among other components. The device 2850 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Each of the components 2850, 2852, 2864, 2854, 2866, and 2868, are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.
[0167] The processor 2852 can process instructions for execution within the computing device2850, including instructions stored in the memory 2864. The processor may also include separate analog and digital processors. The processor may provide, for example, for coordination of the other components of the device 2850, such as control of user interfaces, applications run by device 2850, and wireless communication by device 2850.
[0168] Processor 2852 may communicate with a user through control interface 2858 and display interface 2856 coupled to a display 2854. The display 2854 may be, for example, a TFT LCD display or an OLED display, or other appropriate display technology. The display interface 2856 may comprise appropriate circuitry for driving the display 2854 to present graphical andother information to a user. The control interface 2858 may receive commands from a user and convert them for submission to the processor 2852. In addition, an external interface 2862 may be provided in communication with processor 2852, so as to enable near area communication of device 2850 with other devices. External interface 2862 may provide, for example, for wired communication (e.g., via a docking procedure) or for wireless communication (e.g., via Bluetooth or other such technologies).
[0169] The memory 2864 stores information within the computing device 2850. In one implementation, the memory 2864 is a computer-readable medium. In one implementation, the memory 2864 is a volatile memory unit or units. In another implementation, the memory 2864 is a non-volatile memory unit or units. Expansion memory 2874 may also be provided and connected to device 2850 through expansion interface 2872, which may include, for example, a SIMM card interface. Such expansion memory 2874 may provide extra storage space for device 2850, or may also store applications or other information for device 2850. Specifically, expansion memory 2874 may include instructions to carry out or supplement the processes described above, and may include secure information also. Thus, for example, expansion memory 2874 may be provided as a security module for device 2850, and may be programmed with instructions that permit secure use of device 2850. In addition, secure applications may be provided via the SIMM cards, along with additional information, such as placing identifying information on the SIMM card in a non-hackable manner.
[0170] The memory may include for example, flash memory and / or MRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory 2864, expansion memory 2874, or memory on processor 2852.
[0171] Device 2850 may communicate wirelessly through communication interface 2866, which may include digital signal processing circuitry where necessary. Communication interface 2866 may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through radio-frequency transceiver 2868. In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other suchtransceiver (not shown). In addition, GPS receiver module 2870 may provide additional wireless data to device 2850, which may be used as appropriate by applications running on device 2850.
[0172] Device 2850 may also communicate audibly using audio codec 2860, which may receive spoken information from a user and convert it to usable digital information. Audio codec 2860 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 2850. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music fdes, etc.) and may also include sound generated by applications operating on device 2850.
[0173] The computing device 2850 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 2880. It may also be implemented as part of a smartphone 2882, personal digital assistant, or other similar mobile device.
[0174] Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs, computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0175] These computer programs, also known as programs, software, software applications or code, include machine instructions for a programmable processor, and can be implemented in a high-level procedural and / or object-oriented programming language, and / or in assembly / machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and / or device, e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0176] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and apointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0177] The systems and techniques described here can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component such as an application server, or that includes a front end component such as a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here, or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication such as, a communication network. Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
[0178] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0179] As used in this specification, the term “module” is intended to include, but is not limited to, one or more computers configured to execute one or more software programs that include program code that causes a processing unit(s) / device(s) of the computer to execute one or more functions. The term “computer” is intended to include any data processing or computing devices / sy stems, such as a desktop computer, a laptop computer, a mainframe computer, a personal digital assistant, a server, a handheld device, a smartphone, a tablet computer, an electronic reader, or any other electronic device able to process data.
[0180] A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims. While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may bespecific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment.
[0181] Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
[0182] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0183] Particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, some processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results.
[0184] What is claimed is:
Claims
CLAIMS1. A method, comprising: generating, using a large language model, metadata related to a plurality of items based on a prompt including an item theme and a persona, wherein the item theme includes a type of an item and the persona includes a grouping of one or more item themes, the metadata including at least one of titles, tags, or queries; identifying a plurality of listings from a listings database including un-curated listings based on a recommendation engine, the recommendation engine receiving as input at least one of the metadata or the item theme and generating as output the plurality of listings; receiving, from the user interface, an input to publish the plurality of listings; in response to the input, storing the plurality of listings in a curated items database in association with at least one of the persona or the item theme; receiving, from a user device, a request for item listings, the request including at least one of the persona or the item theme; retrieving, from the curated items database the plurality of listings and at least one of the persona or the item theme; and providing the plurality of listings to the user device.
2. The method of claim 1, further comprising: generating, by the recommendation engine, one or more embeddings based on the metadata and the item theme; identifying, by the recommendation engine, listings from the listings database based on the one or more embeddings; generating ranked listings from the identified listings based on a ranking function; and providing the ranked listings as the plurality of listings to a user interface.
3. The method of claim 2, wherein the one or more embeddings includes a first embedding and a second embedding, the method comprising: generating the first embedding based on the item theme and the metadata including titles, tags and queries; determining a first plurality of listings that have embeddings related to the first embedding; generating the second embedding based on the item theme and the metadata including queries; determining a second plurality of listings that have embeddings related to the second embedding; and determining the plurality of listings based on a union of the first plurality of listings and the second plurality of listings.
4. The method of claim 3, wherein the first plurality of listings related to the first embedding include listings that have embeddings in a coordinate system of the first embedding, the embeddings being one of (i) no more than a threshold distance from the first embedding and (ii) / / -th closest to the first embedding.
5. The method of claim 4, comprising: generating a first intermediate plurality of listings that have embeddings related to the first embedding; ranking the first intermediate plurality of listings based on a neural network trained to rank listings in terms of an item selection function; generating the first plurality of listings from a subset of the first intermediate plurality of listings having corresponding ranking that is greater than a first threshold value; generating a second intermediate plurality of listings that have embeddings related to the second embedding; ranking the second intermediate plurality of listings based on the neural network; and generating the second plurality of listings from a subset of the second intermediate plurality of listings having corresponding ranking that is greater than a second threshold value.
6. The method of claim 2, comprising: receiving, from the user interface, a modified prompt including modifications to at least one of the item theme or the persona; generating, using the large language model, modified metadata based on the modified prompt; generating one or more modified embeddings based on the modified metadata and the item theme; determining a modified plurality of listing related to the one or more modified embeddings; generating modified ranked listings from the modified plurality of listings based on the ranking function; displaying the modified ranked listings on a user interface;7. The method of claim 2, further comprising: randomizing the modified ranked listings prior to displaying on the user interface, wherein randomizing the modified ranked listings includes randomly changing a ranking of listings in the modified ranked listings.
8. The method of claim 2, further comprising: filtering the modified ranked listings prior to displaying on the user interface.
9. The method of claim 2, further comprising: providing, via the GUI, a selectable list of personas and receiving, via the GUI, the persona selected from the list of personas.
10. The method of claim 1, wherein the metadata includes one or more queries, the method further comprising: identifying the plurality of listings based on: searching, using the one or more queries, a query-listing dataset including a plurality of query-listings pairs for matches between the one or more queries and queries in the plurality of query-listing pairs;combining listings of the plurality of query-listings pairs that have corresponding queries that result in a hit from searching the query -listing dataset with the one or more queries, wherein combining the listings results in an intermediate plurality of listings; and filtering the intermediate plurality of listings based on a ranking function to generate the plurality of listings.
11. The method of claim 10, further comprising: ranking listings in each of the plurality of query-listings pairs based on (1) an average position of a listing in a user search result, and (2) an item selection function related to gift appropriateness of a listing.
12. The method of claim 11, wherein the average position of the listings is determined by averaging positions of the listings in user search results in the last predetermined number of days.
13. One or more non-transitory computer-readable storage media encoded with instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: generating, using a large language model, metadata related to a plurality of items based on a prompt including an item theme and a persona, wherein the item theme includes a type of an item and the persona includes a grouping of one or more item themes, the metadata including at least one of titles, tags, or queries; identifying a plurality of listings from a listings database including un-curated listings based on a recommendation engine, the recommendation engine receiving as input at least one of the metadata or the item theme and generating as output the plurality of listings; receiving, from the user interface, an input to publish the plurality of listings; in response to the input, storing the plurality of listings in a curated items database in association with at least one of the persona or the item theme; receiving, from a user device, a request for item listings, the request including at least one of the persona or the item theme; retrieving, from the curated items database the plurality of listings and at least one of the persona or the item theme; andproviding the plurality of listings to the user device.
14. The computer storage media of claim 13, the operations further comprising: generating, by the recommendation engine, one or more embeddings based on the metadata and the item theme; identifying, by the recommendation engine, listings from the listings database based on the one or more embeddings; generating ranked listings from the identified listings based on a ranking function; and providing the ranked listings as the plurality of listings to a user interface.
15. The computer storage media of claim 14, wherein the one or more embeddings includes a first embedding and a second embedding, the operations further comprising: generating the first embedding based on the item theme and the metadata including titles, tags and queries; determining a first plurality of listings that have embeddings related to the first embedding; generating the second embedding based on the item theme and the metadata including queries; determining a second plurality of listings that have embeddings related to the second embedding; and determining the plurality of listings based on a union of the first plurality of listings and the second plurality of listings.
16. The computer storage media of claim 15, wherein the first plurality of listings related to the first embedding include listings that have embeddings in a coordinate system of the first embedding, the embeddings being one of (i) no more than a threshold distance from the first embedding and (ii) / / -th closest to the first embedding.
17. The method of claim 16, comprising: generating a first intermediate plurality of listings that have embeddings related to the first embedding;ranking the first intermediate plurality of listings based on a neural network trained to rank listings in terms of an item selection function; generating the first plurality of listings from a subset of the first intermediate plurality of listings having corresponding ranking that is greater than a first threshold value; generating a second intermediate plurality of listings that have embeddings related to the second embedding; ranking the second intermediate plurality of listings based on the neural network; and generating the second plurality of listings from a subset of the second intermediate plurality of listings having corresponding ranking that is greater than a second threshold value.
18. The computer storage media of claim 13, wherein the metadata includes one or more queries, the operations further comprising: identifying the plurality of listings based on: searching, using the one or more queries, a query-listing dataset including a plurality of query-listings pairs for matches between the one or more queries and queries in the plurality of query-listing pairs; combining listings of the plurality of query-listings pairs that have corresponding queries that result in a hit from searching the query -listing dataset with the one or more queries, wherein combining the listings results in an intermediate plurality of listings; and filtering the intermediate plurality of listings based on a ranking function to generate the plurality of listings.
19. The computer storage media of claim 18, the operations further comprising: ranking listings in each of the plurality of query-listings pairs based on (1) an average position of a listing in a user search result, and (2) an item selection function related to gift appropriateness of a listing.
20. The computer storage media of claim 19, wherein the average position of the listings is determined by averaging positions of the listings in user search results in the last predetermined number of days.21 . A system comprising a processor and a memory, the processor configured to execute instructions for performing operations recited in claims 1-12.
22. A method, comprising: generating, using a large language model, metadata related to a plurality of digital components based on a prompt including a theme and a persona, wherein the theme includes a type of the digital component and the persona includes a grouping of one or more themes, the metadata including at least one of titles, tags, or queries; identifying a plurality of digital components from a first database including un-curated list of digital components based on a recommendation engine, the recommendation engine receiving as input at least one of the metadata or the digital component theme and generating as output the plurality of digital components; receiving, from the user interface, an input to publish the plurality of digital components; in response to the input, storing the plurality of digital components in a second database; receiving, from a user device, a request for digital components, the request including at least one of the persona or the theme; retrieving, from the second database, the plurality of digital components and at least one of the persona or the theme; and providing the plurality of digital components to the user device.
23. The method of claim 22, wherein the plurality of digital components is a plurality of items, wherein the theme is an item theme, wherein the type of digital component is a type of an item, wherein the first database is a listings database including un-curated listings, wherein the second database is a curated items database, the method further comprising operations recited in any one of claims 2-12.
24. A method, comprising: providing a user interface displaying a plurality of persona tiles; providing, on the user interface, a set of item icons associated with at least one persona tile of the plurality of persona tiles, each item icon of the set of item icons corresponding to anitem theme, wherein the item theme includes a type of an item and the persona includes a grouping of one or more item themes; receiving, at the user interface, a user selection of a persona tile of the plurality of persona tiles and a user selection of an item of icons from the set of item icons; communicating, with a remote server, the user selection of the persona tile and the user selection of the item of icons; receiving, from the remote server, a set of listings that are generated based on one of (i) embeddings of the persona tile and the item of icons or (ii) searching, using one or more queries, a query-li stings dataset including a plurality of query-listings pairs for matches between the one or more queries and queries in the plurality of queries-listings pairs; providing, on the user interface, the set of listings.
25. The method of claim 24, further comprising: providing on the user interface a quiz interface including a plurality of icons representing at least one of a gift target, an occasion, and a gift target interest, receiving, via the quiz interface, a selection of icons from the plurality of icons; communicating, with the remote server, the selection of icons; receiving, from the remote server, a plurality of personas that are generated based on embeddings of the selection of icons; and providing, on the user interface, the plurality of personal tiles based on the plurality of personas.
26. The method of claim 24, further comprising: responsive to receiving a selection of a listing from the set of listing, providing a gift delivery communication interface including at least one of an option to include a gift teaser, an option to select a theme for a gift teaser, an option to record a video message, and an option to include a sneak peek.
27. The method of claim 26, further comprising: responsive to receiving a user selection of the option to record the video message, providing a video recording user interface to the user to record a video message.
28. The method of claim 27, further comprising: providing on the user interface selectable scheduling information for communication of the video message, communicating the video message to a gift recipient based on selected scheduling information.
29. The method of claim 24, further comprising: providing, by the user interface, a gift notification including an option to select at least one of a play icon to play a video message recorded by a sender and a communication interface to enter a reply to the sender, the communication interface including at least one of a text interface, an audio interface, or an audio-visual interface.
30. One or more non-transitory computer-readable storage media encoded with instructions that when executed by one or more computers cause the one or more computers to perform operations recited in claims 24-29.
31. A system comprising a processor and a memory, the processor configured to execute instructions for performing operations recited in claims 24-29.
32. A method, comprising: providing a user interface displaying a plurality of persona tiles; providing, on the user interface, a set of item icons associated with at least one persona tile of the plurality of persona tiles, each item icon of the set of item icons corresponding to an item theme, wherein the item theme includes a type of an item and the persona includes a grouping of one or more item themes; receiving, at the user interface, a user selection of a persona tile of the plurality of persona tiles and a user selection of an item of icons from the set of item icons; communicating, with a remote server, the user selection of the persona tile and the user selection of the item of icons;receiving, from the remote server, a set of digital components that are generated based on one of (i) embeddings of the persona tile and the item of icons or (ii) searching, using one or more queries, a query-digital component dataset including a plurality of query-digital components pairs for matches between the one or more queries and queries in the plurality of queries-digital components pairs; providing, on the user interface, the set of digital components.
33. The method of claim 9, wherein the set of digital components is a set of listings, the method further comprising operations recited in any one of claims 24-29.
34. A method, comprising: receiving, via a graphical user interface (GUI), a prompt including at least one of an item theme and a persona; obtaining, from a large language model, metadata related to a plurality of items based on at least one of the item theme and the persona, the metadata including at least one of titles, tags and queries; displaying, via the GUI, the metadata generated by the large language model, the metadata representing computer formatted text associated with at least one of the titles, tags and queries; obtaining, using an item pipeline from a database including un-curated listings, a plurality of listings related to the metadata, the plurality of listings ranked based on a ranking function, the plurality of listings including a plurality of images of items; and displaying, by the GUI, the plurality of listings.
35. The method of claim 34, further comprising: receiving, via the GUI, at least one user modification to the metadata; displaying, via the GUI, modified metadata and a modified plurality of listings including a modified plurality of images of items; receiving, via the GUI, a user input to publish the modified plurality of listings; and in response, publishing the modified plurality of listings.
36. The method of claim 34, further comprising: providing an interface to receive queries input; responsive to receiving queries input, sending the queries input to the item pipeline.
37. The method of claim 36, further comprising: receiving from the item pipeline a modified plurality of listings including modified plurality of images of items; receiving, via the GUI, a user input to publish the modified plurality of listings; and in response, publishing the modified plurality of listings.
38. The method of claim 36, further comprising: receiving from the item pipeline a plurality of queries used for generating the plurality of listings; providing, via the GUI, the plurality of queries with a selection interface that allows removing a particular query from the plurality of queries; receiving, via the GUI, an input that removes one or more of the plurality of queries; sending, to the items pipeline, identities of one or more of the plurality of queries that were removed.
39. One or more non-transitory computer-readable storage media encoded with instructions that when executed by one or more computers cause the one or more computers to perform operations recited in claims 34-38.
40. A system comprising a processor and a memory, the processor configured to execute instructions for performing operations recited in claims 34-38.
41. A method for generating a list of digital components, comprising: receiving, via a graphical user interface (GUI), a prompt including at least one of an item theme and a persona;obtaining, from a large language model, metadata related to a plurality of items based on at least one of the item theme and the persona, the metadata including at least one of titles, tags and queries; displaying, via the GUI, the metadata generated by the large language model, the metadata representing computer formatted text associated with at least one of the titles, tags and queries; obtaining, using an item pipeline from a database including un-curated plurality of digital components, a plurality of digital components related to the metadata, the plurality of digital components ranked based on a ranking function, the plurality of digital components including a plurality of images of items; and displaying, by the GUI, the plurality of digital components.
42. The method of claim 8, wherein the un-curated plurality of digital components is an uncurated plurality of listings, the plurality of digital components is a plurality of listings, the method further comprising operations of any one of claims 34-38.
Citation Information
Patent Citations
Mobile device application rating
US20150006677A1
Search with autosuggest and refinements
US20180349399A1
Binary representations of objects
US20220050849A1
Systems and methods for generating recommendations
US20220245704A1
Gift Transaction System Architecture
US20230043917A1