User segmentation using comparative learning enhanced by user-user scoring
The neural network uses the user-user score enhancement comparison learning method to generate user embeddings, which solves the waste of computing resources and user experience problems caused by existing user segmentation technology, and achieves more efficient user segmentation and resource utilization.
Patent Information
- Application Number
- CN202411828442.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-26
- Filing Date
- 2024-12-12
- Publication Date
- 2025-06-27
AI Technical Summary
When existing user segmentation technology processes large amounts of user data, it leads to excessive consumption of computing resources, inaccurate search results, inefficient recommendation systems, inaccurate delivery of marketing content, resulting in decreased user experience and waste of resources.
By using neural networks for training, user embedding is generated by using user-user rating enhanced contrast learning methods to achieve user segmentation. The method is trained through user vectors and user-user scores, identify similar and dissimilar users, and cluster user embeddings to generate user segments.
This method reduces the consumption of computing resources, improves the relevance of search results and recommendations, reduces the number of user queries and storage device I/O, improves the accuracy of marketing content, and reduces operating costs.
Smart Images

Figure CN120217187A_ABST
Abstract
Description
Technical Field
[0001] The present application specifically relates to user segmentation using contrastive learning enhanced by user-user scoring. Background Art
[0002] A listing platform (e.g., an e-commerce website) is an online platform that provides products, services, digital content (e.g., music, videos, etc.), or other items to users. In the case of providing a huge number of available items, the listing platform includes functions such as search, recommendation, and marketing content delivery to help users find items of interest on the platform. Generally, the listing platform adopts user segmentation techniques to support these functions. User segmentation is the process of dividing users into groups (i.e., user segments) based on various characteristics or behaviors of the users. Summary of the Invention
[0003] Some aspects of the present technology relate to techniques for using a neural network to generate user segments and the like for users of a listing platform, where the neural network is trained using contrastive learning enhanced by user-user scores. According to some aspects, the neural network is initially trained on user vectors and user-user scores. Based on user data tracked by the listing platform (including behavioral data regarding user interactions with the listing platform), user vectors are generated for users of the listing platform. Based on the interactions of users with the same items on the listing platform, user-user scores are generated for pairs of users. In some cases, a user graph is generated, where each node corresponds to each user, and the nodes are connected by edges with edge weights corresponding to the user-user scores.
[0004] The neural network is trained using contrastive learning with user vectors and user-user scores. The user-user scores are used to select positive samples (similar users) and negative samples (dissimilar users). The user vectors from the samples are provided as inputs to the neural network, which generates user embeddings. A loss is determined based on the user embeddings and is used to update the neural network. A loss function (e.g., a contrastive loss function, a triplet loss function, a quadruplet loss function, etc.) is used to determine the loss, which makes the neural network minimize the distance between the user embeddings of positive samples and maximize the distance between the user embeddings of negative samples.
[0005] Once trained, the neural network is used to generate user embeddings by providing user vectors as inputs to the neural network. User segmentation is performed by clustering the user embeddings into clusters, where each cluster provides a user segment. In some aspects, a generative model is used to generate text for the title or description of each user segment based on the user data of the users within each cluster.
[0006] The present invention content is provided to introduce, in a simplified form, a selection of concepts that are further described below in the detailed description. The present invention content is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to assist in determining the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Embodiments of the present technology are described in detail below with reference to the accompanying drawings, in which:
[0008] Figure 1 is a block diagram showing an exemplary system according to some embodiments of the present disclosure;
[0009] Figure 2 is a block diagram showing an example process for training a neural network to generate user embeddings using a triplet loss;
[0010] Figure 3 is a block diagram showing an example process for user segmentation by generating user embeddings using a trained neural network and clustering the embeddings;
[0011] Figure 4 is a flowchart showing a method for performing user segmentation using contrastive learning enhanced by user-user ratings according to some embodiments of the present disclosure;
[0012] Figure 5 is a flowchart showing a method for training a neural network to generate user embeddings for user segmentation according to some embodiments of the present disclosure;
[0013] Figure 6 is a flowchart showing a method for generating a title or description for user segments according to some embodiments of the present disclosure; and
[0014] Figure 7 is a block diagram of an exemplary computing environment suitable for use in embodiments of the present disclosure. DETAILED DESCRIPTION OVERVIEW
[0015] Understanding user behavior and preferences is crucial for supporting various functions of a listing platform, including search result optimization, recommendation systems, and personalized marketing content delivery. Creating quality user segments is one way to obtain this understanding. The finer and more accurate the user segments, the more precise the search results, recommendations, and tagged content that can be provided to the user. In addition, one challenge faced by some listing platforms is to identify user segments across various item categories in a scalable manner.
[0016] Although user segmentation supports multiple tools for targeting or otherwise discovering items of interest on a listing platform, the drawbacks of existing user segmentation techniques often result in the consumption of an unnecessary amount of computing resources (e.g., I / O costs, network packet generation costs, throughput, memory consumption, etc.). For example, inaccurate user segmentation may result in delivering less-than-ideal search results to a user, causing the search system to fail to enable the user to effectively find items of interest. In terms of recommendations, poor user segmentation may cause the recommendation system to select and provide recommended items that the user is not interested in. Defective user segmentation may similarly cause a marketing content delivery system to provide marketing content that is irrelevant to the user.
[0017] Due to the defects of existing user segmentation techniques for searching, users typically have to submit multiple queries before finding the desired item. For example, a user may issue a first query to a search engine, which returns a set of search results for a given item. The user can browse the search results and select certain search results to access the corresponding items. The selection of items causes the retrieval of items from various content sources. Additionally, in some cases, applications that support these items are launched to present the items. In terms of recommendations, when there are insufficient recommended items, the user can select certain items to view the item pages and find that these items are not what the user is looking for. As discussed above, this typically causes the user to resort to query-based search, which may involve issuing a large number of queries to try to identify relevant items.
[0018] These repeated inputs result in increased consumption of computing resources, etc. For example, repeated user queries result in packet generation costs that have an adverse impact on computer network communication. Each time a user issues a query, the content or payload of the query is typically supplemented with header information or other metadata within packets in TCP / IP and other protocol networks. Therefore, when this function is multiplied by all the inputs required to obtain the desired data, repeatedly generating this metadata and sending it over the computer network incurs throughput and latency costs. In some cases, these repeated inputs (e.g., repeated clicks, selections, or queries) increase storage device I / O (e.g., excessive physical read / write head movement on non-volatile disks), because each time a user inputs unnecessary information (e.g., enters several queries), the computing system often has to access the storage device to perform a read operation or a write operation, which is both time-consuming and error-prone, and ultimately wears out components (e.g., read / write heads). Additionally, if a user repeatedly issues queries, it is costly because processing the queries consumes a large amount of computing resources. For example, for some search engines, it may be necessary to calculate a query execution plan each time a query is issued, which requires the search system to find the least-cost query execution plan to fully execute the query. This reduces throughput and increases network latency, and wastes valuable time.
[0019] In terms of marketing content delivery, resources are wasted on delivering marketing content that is irrelevant to users. Inefficiency is caused by data being spread to inaccurate audiences due to insufficient user segmentation. When content is sent to some users who have little or no interest in the presented information, the lack of targeted content delivery results in unnecessary pressure on network bandwidth. In addition, storage resources are occupied by storing irrelevant content on the server, leading to data volume inflation and increased operating costs. Besides causing waste in computing resource allocation, the flaws in current user segmentation methods also cause marketers to miss opportunities because the potential impact of their messages is diluted among a vast number of uninterested recipients.
[0020] Given these drawbacks of existing user segmentation techniques, aspects of the techniques described herein improve the functionality of the computer itself in the following ways: training a neural network via contrastive learning enhanced by user-user scores, and employing the trained neural network to generate user embeddings that achieve improved user segmentation.
[0021] According to aspects of the techniques described herein, a neural network is initially trained to generate user embeddings such that the user embeddings encode information about users, including their interests in items provided by a listing platform. The neural network is trained on a training dataset that includes: (1) user vectors, including user features for each user; and (2) user-user scores, which reflect the degree of similarity between users.
[0022] Based on user data tracked by a listing platform, a user vector is generated for each user. The user data tracked by the listing platform and used to generate the user vector includes behavioral data about user interactions with the listing platform. In some cases, the behavioral data includes category-specific behavioral data, where the user interaction is an interaction with an item within a specific item category to achieve category-specific user segmentation.
[0023] User-user scores between user pairs are generated based on the interactions of users with the same items on the listing platform. Among two users, the more interactions with the same item, the higher the user-user score. In some cases, the user-user score is calculated by weighting different types of user interactions to reflect that some types of user interactions are more important (e.g., item purchase reflects item interest more than item view). In some configurations, a user graph is generated, where each node represents a user and the edges between the nodes have edge weights corresponding to the user-user scores.
[0024] Using a user vector and user-user scores, a neural network is trained via contrastive learning to generate user embeddings. According to some aspects, user-user scores are used to identify positive samples (similar users) and negative samples (dissimilar users). The neural network is trained by iteratively performing the following: selecting samples; providing the user vectors from the samples as inputs to the neural network to generate user embeddings; calculating a loss based on the user embeddings; and updating the neural network (e.g., network weights) based on the loss. The loss function used to train the neural network encourages the neural network to push the user embeddings of positive samples closer together and the user embeddings of negative samples farther apart.
[0025] Once trained, the trained neural network is used to generate user embeddings from user vectors. Specifically, the user vectors of each of a plurality of users are provided as inputs to the neural network, and the neural network generates a user embedding for each user. The user embeddings are then clustered in the embedding space to provide user clusters. Each user cluster provides a user segment. In some aspects, a generative model is employed to generate text for a title and / or description of each user segment by providing user data of the users in each user segment to the generative model.
[0026] Aspects of the techniques described herein provide several improvements over existing user segmentation techniques. By training a neural network for similar and dissimilar users based on co-item interactions, users are mapped to representations in an embedding space where the distance between similar customers is minimized and the distance between different customers is maximized. This allows users to be clustered into highly similar user segments. Additionally, when considering category-specific data, more refined user segments can be generated across various item categories.
[0027] This improved user segmentation results in less computational resource consumption as compared to the prior art. For example, the improved user segmentation provides more relevant search results and recommendations, thus allowing users to access relevant search results more quickly. This eliminates (or at least reduces) duplicate user queries since the search results include items relevant to the user. Accordingly, aspects of the techniques described herein reduce computational resource consumption, such as processing power and network bandwidth. For example, a user query (e.g., an HTTP request) will only need to traverse the computer network once (or fewer times as compared to the prior art). In terms of marketing, marketing content can be better customized for users, thereby improving network bandwidth by reducing the delivery of marketing content that is irrelevant to the user.
[0028] In a similar manner, aspects of the techniques described herein improve storage device usage and disk I / O. As described above, insufficient search results and recommendations due to insufficient user segmentation can lead to duplicate user queries. This in turn can lead to multiple traversals of the disk. In contrast, these aspects described herein reduce storage device I / O because the amount of input provided by the user is reduced, and thus the computing system does not have to access the storage device as often to perform read or write operations. As a result, there is less wear on components such as read / write heads because disk I / O is significantly reduced. For marketing content delivery, improved user segmentation reduces the amount of irrelevant content stored and also reduces the disk traversals caused by retrieving irrelevant marketing content. Example System for User Segmentation Using Contrastive Learning Enhanced by User-User Ratings
[0029] Now referring to the drawings, Figure 1 FIG. 1 is a block diagram illustrating an example system 100 for performing user segmentation for a listing platform using a neural network, the neural network being trained via contrastive learning enhanced by user-user ratings. It should be understood that this and other arrangements described herein are presented only as examples. Other arrangements and elements (e.g., machines, interfaces, functions, command and function groupings, etc.) may be used to supplement or replace the shown arrangements and elements, and some elements may be omitted altogether. Moreover, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in combination with other components and implemented in any suitable combination and location. The various functions described herein that are performed by one or more entities may be executed by hardware, firmware, and / or software. For example, the various functions may be executed by a processor that executes instructions stored in a memory.
[0030] System 100 is an example of a suitable architecture for implementing certain aspects of the present disclosure. Among other components not shown, system 100 includes any number of user devices 102A through 102N, a listing platform 104, and a user segmentation system 106. Figure 1 Each of the illustrated user devices 102A through 102N, listing platform 104, and user segmentation system 106 may include one or more computer devices, such as the Figure 7 computing device 700 discussed below. As Figure 1As shown, user devices 102A through 102N, list platform 104, and user segmentation system 106 can communicate via network 108, which can include, but is not limited to, one or more local area networks (LANs) and / or wide area networks (WANs). Such network environments are common in offices, enterprise-wide computer networks, intranets, and the Internet. It should be understood that any number of user devices and servers can be employed within system 100 within the scope of the present technology. Each can include a single device or multiple devices that cooperate in a distributed environment. For example, both list platform 104 and user segmentation system 106 can be provided by multiple server devices that together provide the functionality of list platform 104 and user segmentation system 106 as described herein. Additionally, other components not shown can also be included within the network environment.
[0031] Each of user devices 102A through 102N can be a client device on the client side of operating environment 100, while list platform 104 and user segmentation system 106 can be on the server side of operating environment 100. Both list platform 104 and / or user segmentation system 106 can include server-side software designed to work in conjunction with client-side software on user devices 102A through 102N to implement any combination of the features and functions discussed in this disclosure. For example, each of user devices 102A through 102N can include an application (not shown) for interacting with list platform 104 and / or user segmentation system 106. The application can be, for example, a web browser or a dedicated application for providing functions such as those described herein. This division of operating environment 100 is provided to show an example of a suitable environment, and no particular combination of list platform 104 and user segmentation system 106 is required to remain a separate entity for each implementation. For example, in some aspects, user segmentation system 106 is part of list platform 104. Although operating environment 100 shows a configuration with separate user devices, list platform, and user segmentation system in a networked environment, it should be understood that other configurations that combine aspects of the various components can be employed.
[0032] Each of user devices 102A through 102N can include any type of computing device that can be used by a user. For example, in one aspect, the user device can be as described herein with respect to Figure 7The types of computing device 700 described. By way of example and not limitation, each of user devices 102A through 102N may be embodied as a personal computer (PC), laptop computer, cellular or mobile device, smart phone, tablet computer, smart watch, wearable computer, personal digital assistant (PDA), MP3 player, global positioning system (GPS) or device, video player, handheld communication device, gaming device or system, entertainment system, in-vehicle computer system, embedded system controller, remote control, appliance, consumer electronic device, workstation, or any combination of these described devices, or any other suitable device capable of presenting notifications. Different users may be associated with each of user devices 102A through 102N and may interact with listing platform 104 and / or user segmentation system 106 via user devices 102A through 102N.
[0033] Listing platform 104 may be implemented using one or more server devices, one or more platforms with corresponding application programming interfaces, cloud infrastructure, and the like. Listing platform 104 generally provides user devices 102A through 102N with a listing of items (physical or digital) that are available for purchase, lease, streaming, download, etc. For example, listing platform 104 may include an e-commerce platform where the listed products or services are available for purchase by users of user devices 102A through 102N when they navigate to listing platform 104. As other examples, listing platform 104 may include a rental platform that lists various items available for rent (e.g., equipment, tools, real estate, vehicles, contract workers) or a media platform that lists digital content items (e.g., digital content for streaming / downloading).
[0034] The functionality of listing platform 104 includes providing an interface that is capable of presenting a listing of items to users of listing platform 104. The listing of items that may be sold / leased / consumed via listing platform 104 is stored by item listing data warehouse 118. Each item listing may include a description associated with the item, including one or more of the following: price in currency, reviews, an image of the item, shipping options, ratings, item condition, dimensions of the item, color of the item, etc. In some aspects, each item is associated with one or more categories including a meta-category and a leaf-category. For example, each meta-category may be divided into sub-categories (or branch-categories), while leaf-categories are not divisible.
[0035] In accordance with aspects of the technology described herein, the listing platform 104 tracks user data of users who interact with the listing platform 104 and stores the user data in the user data warehouse 120. The user data tracked and stored for a user includes behavioral data regarding the user's interaction with the listing platform 104 via a user device (such as one of user devices 102A to 102N). Behavioral data generally can include information regarding any user interaction with the listing platform 104 via the user device. In some aspects, the behavioral data includes user interactions independent of any single item, such as searches (e.g., the queries submitted for the searches, filtering / sorting of search results), browsing, and engagement with content (e.g., marketing content). In some aspects, the behavioral data includes information regarding user interactions with specific items available via the listing platform (e.g., viewing an item, placing a bid on an item, watching an item, adding an item to a wish list, submitting a question about an item, posting a review of an item, adding an item to a shopping cart, purchasing an item, etc.).
[0036] In additional aspects, the user data warehouse 120 also stores non-behavioral data of the users. Non-behavioral data includes any data regarding the user that is independent of the user's interaction with the listing platform 104. Non-behavioral data can include any type of user demographics, such as age, gender, geographical location, income, marital status, language, hobbies / interests. Non-behavioral data can also include information regarding the user device used by the user to access the listing platform (e.g., the type of the device (e.g., PC, mobile device, game console, etc.)) and the application used to access the listing platform 104 (e.g., the browser, the type of the browser, a dedicated application for the listing platform 104, etc.).
[0037] The user segmentation system 106 uses a neural network to generate user segments for users of the listing platform, and the neural network is trained by contrastive learning enhanced with user-user scores. As will be described in further detail below, in some aspects, the user segmentation system 106 generates user vectors for users of the listing platform based on the user data tracked by the listing platform. The user segmentation system 106 also generates user-user scores for pairs of users based on the user interactions with items on the listing platform. The user segmentation system 106 uses the user vectors and the user-user scores as training data to train the neural network. After training the neural network, the user segmentation system 106 uses the trained neural network by providing the user vectors as inputs to the neural network to generate user embeddings. Then, the user segmentation system 106 clusters the user embeddings to generate user segments.
[0038] As Figure 1As shown, the user segmentation system 106 includes a user vector component 110, a user-user scoring component 112, a network training component 114, and a user segmentation component 116. The components of the user segmentation system 106 can be components other than other components that provide additional functions in addition to the features described herein. The user segmentation system 106 can be implemented using one or more server devices, one or more platforms with corresponding application programming interfaces, cloud infrastructure, and the like. Although the user segmentation system 106 is shown in the configuration of Figure 1 as being separate from each of the user devices 102A to 102N and the listing platform 104, it should be understood that in other configurations, some functions of the user segmentation system 106 can be provided on the listing platform 104 and / or the user devices 102A to 102N.
[0039] In some aspects, the functions performed by the components of the user segmentation system 106 are associated with one or more applications, services, or routines. Specifically, such applications, services, or routines can run on one or more user devices, servers, can be distributed across one or more user devices and servers, or be implemented in the cloud. Additionally, in some aspects, these components of the user segmentation system 106 can be distributed across a network (including one or more servers and client devices in the cloud), and / or can reside on the user devices. Further, these components, the functions performed by these components, or the services performed by these components can be implemented at an appropriate abstraction layer of the computing system (e.g., the operating system layer, the application layer, the hardware layer, etc.). Alternatively or additionally, the functions of these components and / or the technical aspects described herein can be performed at least in part by one or more hardware logic components. For example, but not limited to, illustrative types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), and the like. Moreover, although the functions are described herein with respect to the specific components shown in the example system 100, it is contemplated that in some aspects, the functions of these components can be shared or distributed among other components.
[0040] The user vector component 110 of the user segmentation system 106 generates a user vector for each user of the listing platform 104 based on user data tracked and stored in the user data warehouse 120. According to some aspects of the techniques described herein, a user's user vector is a feature vector that includes multiple features from the user's user data. As discussed above, any user data of a user stored in the user data warehouse 120 can be used to generate the user's user vector. This can include behavioral data, non-behavioral data, or a combination thereof. Each portion of the behavioral data and / or non-behavioral data can form a feature of the user vector. In some cases, when generating the user vector, an autoencoder is used to compress some or all of the features. For example, such compression can reduce the time required to process the user vector (e.g., during network training).
[0041] In some aspects, the user vector component 110 uses general behavioral features to generate the user vector. General behavioral features are features of the user vector that are based on behavioral data of the user's interactions across item categories on the listing platform 104. In one particular configuration, each of these general behavioral features is tracked across different time windows and compressed using an autoencoder, e.g., to reduce training time.
[0042] In some configurations, the user vector component 110 generates user vectors specific to a given item category. This allows for category-specific user segmentation. In such a configuration, the user vectors are generated at least in part based on category-specific behavioral features (although in some aspects, both the category-specific behavioral features discussed above and general behavioral features are used to generate the category-specific user vectors). Category-specific behavioral features are features of the user vector that are based on behavioral data identifying user interactions associated with a specific category of items. In one particular configuration, the user vector component 110 uses three types of category-specific behavioral features to generate the user vector. The first type of category-specific behavioral features includes a set of category-specific behavioral features specific to the selected category collected across various time windows. The second type of category-specific behavioral features includes a set of features describing the average item embeddings of the user's interactions within the selected category over a specific time period (e.g., the past 90 days). In some aspects, the item embeddings are generated from a machine learning model that uses a multimodal approach to represent items, the multimodal approach connecting item title representations, item image representations, and leveraging item co-occurrences in the item view sequence from the user session. However, other types of item embeddings can be employed. The third type of category-specific behavioral features is the category-level breakdown of the items that the user has interacted with within the selected category.
[0043] The user-user rating component 112 generates a score between user pairs based on the interactions of users with items on the listing platform 104. These scores are referred to herein as user-user scores. In some aspects, the user-user score for a pair of users is determined as a function of the number of times the two users interact with the same item. The user-user rating component 112 accesses the behavioral data of each user in the user data warehouse 120 to determine these counts. The types of user interactions with items obtained from the user data warehouse 120 can include, for example, item views, bids, offers, watches, questions submitted for an item, adding an item to a shopping cart, and purchasing an item, etc. In some cases, the user-user rating component 112 determines the user-user score based on items across item categories. In other cases, the user-user rating component 112 determines the user-user score based only on items within a specific item category.
[0044] In some configurations, the user-user rating component 112 determines the user-user score between two users based on user interactions with the same item, regardless of the type of interaction with each item. For example, a first user may have added an item to a shopping cart, while a second user may have added the item to a wish list. In other configurations, the user-user score between two users is determined based on user interactions with the same item only when the users have the same type of interaction for each item. For example, both users view a certain item, or both users purchase a certain item. In such a configuration, different types of user interactions of a user with an item (e.g., a first user adds an item to a shopping cart while a second user adds the item to a wish list) are not counted.
[0045] In some configurations, the user-user rating component 112 applies different weights to different types of user interactions to determine the user-user score. This reflects that some types of user interactions can be considered more important than other types of user interactions. By way of example only and not limitation, the following is a formula for determining the user-user score w between two users i and j: where view includes views of the same item; bowa includes the following user interactions with the same item: bid, offer, watch, ask a question to the seller; bc includes the following user interactions with the same item: buy it now, add to cart; and purchase includes the purchase of the same item. The score for user interaction k can be calculated as follows: where is the size of the set of items interacted with by user i, is the size of the set of items interacted with by user j, is the size of the intersection of the items that users i and j interact with, and N is a normalization factor used to keep all user-user scores between 0 and 1.
[0046] In some aspects, the user-user scoring component 112 generates a user graph, where each node represents a user, and two nodes are connected by an edge in the user graph based on the users' interactions with items. Specifically, the user-user score between two users is used as the edge weight of the edge between the two users in the graph. In some configurations, two users are connected in the user graph if their user-user score is non-zero (i.e., two users are connected in the graph if there has been any user interaction with the same item). In other configurations, two users are connected in the user graph only if their user-user score meets a non-zero threshold (i.e., two users are connected in the graph only if a specific threshold level of user interaction with the same item has been met).
[0047] The network training component 114 uses the user vectors generated by the user vector component 110 and the user-user scores from the user-user scoring component 112 to train a neural network to generate user embeddings, which serve as representations of users in an embedding space. The embedding space (sometimes also referred to as the latent vector space) is a mathematical representation in which user vectors are transformed by the neural network into user embeddings. A user embedding is a vector representation of a user in the embedding space of the neural network model. As will be described in further detail below, the embedding space facilitates clustering of users based on, for example, geometric properties of the user embeddings of users in the embedding space. The neural network is trained such that similar users tend to have user embeddings that are close in the embedding space, while dissimilar users tend to have user embeddings that are not close in the embedding space.
[0048] The neural network trained by the network training component 114 includes multiple layers. In some aspects, the layers of the neural network include an input layer and at least one hidden layer that generates user embeddings from the user vectors provided as input to the input layer. Each layer includes neurons. Different types of layers and networks connect neurons in different ways. A neuron can have weights, an activation function that defines the output of the neuron given an input (including the weights), and an output. The weights are adjustable parameters that enable the network to produce the correct output.
[0049] According to some aspects of the described technology, the network training component 114 trains a neural network using a contrastive learning method where user vectors and user embeddings act as training data. Specifically, the network training component 114 selects positive and negative samples based on user-user scores. Positive samples include user pairs with user-user scores that meet a threshold, while negative samples include user pairs with user-user scores that do not meet the threshold. Various configurations can use a zero threshold or a non-zero threshold. In generating a user-user graph, positive samples can include user pairs where the nodes are connected, while negative samples can include user pairs where the nodes are not connected, regardless of the edge weight (i.e., zero threshold). In additional configurations, positive samples can include user pairs where the nodes are connected in the user graph and the edge weight meets a non-zero threshold.
[0050] The neural training component 114 uses positive and negative samples to train the neural network in a way that encourages the neural network to generate user embeddings from user vectors, in which the distance between user embeddings in the embedding space of positive samples is minimized, while the distance between user embeddings in the embedding space of negative samples is maximized.
[0051] During training, the weights associated with each neuron of the neural network can be updated. Initially, the neural network can include random weight values or pre-trained weight values that are adjusted during training. In one aspect, backpropagation is used to train the neural network to update the weights. The backpropagation process includes forward propagation, a loss function, backpropagation, and weight update. This process is repeated using the training data. For example, each iteration can include: providing user vectors from one or more positive and / or negative samples as input to the neural network, which generates user embeddings for each user vector; determining a loss based on a comparison of the user embeddings; and updating the neural network based on the loss. The goal is to update the weights of each neuron (or other model component) so that the neural network produces user embeddings where the user embeddings of similar users are positioned closer in the embedding space, while the user embeddings of dissimilar users are positioned farther apart. Once trained, the weights associated with a given neuron can remain fixed. Other data passed between neurons can change in response to a given input. Retraining the network with additional training data can update one or more weights in one or more neurons.
[0052] The network training component 114 can use any of a number of different loss functions to train the neural network. By way of example and not limitation, the network training component 114 can use a contrastive loss function, a triplet loss function, or a quadruplet loss function.
[0053] The contrastive loss function operates on user pairs from positive samples or user pairs from negative samples. In the case of positive samples, an iteration can involve providing user vectors of two users from a positive sample as input to a neural network that generates user embeddings from each user vector, calculating a loss based on these two user embeddings, and adjusting the weights of the neural network to minimize the distance between the user embeddings in the embedding space. In the case of negative samples, an iteration can involve providing user vectors of two users from a negative sample as input to a neural network that generates user embeddings from each user vector, calculating a loss based on these two user embeddings, and adjusting the weights of the neural network to maximize the distance between the user embeddings in the embedding space.
[0054] The triplet loss function operates on three users - an anchor user, a positive user (a positive example relative to the anchor user; i.e., the anchor user and the positive user form a positive sample), and a negative user (a negative example relative to the anchor user; i.e., the anchor user and the negative user form a negative sample). In other words, the triplet loss approach uses positive and negative samples that share the same anchor user. An iteration using triplet loss can involve providing user vectors of the three users as input to a neural network, generating user embeddings from each user vector, calculating a loss based on these three user embeddings, and adjusting the weights of the neural network to minimize the distance between the user embeddings of the anchor user and the positive user, while maximizing the distance between the user embeddings of the anchor user and the negative user. The quadruplet loss can be an extension of the triplet loss, where a second negative user is also employed (i.e., a second negative example relative to the anchor user; i.e., the anchor user and the second negative user form a second negative example).
[0055] To account for the varying similarity between different user pairs as reflected by the user - user scores (i.e., the higher the user - user score, the greater the similarity between two users), in some configurations, the loss employs a penalty factor that is a function of the user - user score between users. The penalty factor causes the user embeddings of user pairs with higher user - user scores to be pushed closer to each other in the embedding space relative to the user embeddings of other user pairs with lower user - user scores. In other words, the penalty factor causes the neural network to be trained to generate user embeddings whose similarity in the embedding space is based on the user - user scores.
[0056] In some aspects, the neural network trained by the network training component is a siamese neural network. The siamese neural network includes two or more identical networks / sub-networks that share the same weights and architecture and operate in tandem on separate inputs. For example, in the case of contrastive loss for positive samples, the siamese neural network includes two identical networks, where the first network receives the user vector of a first user from a positive sample as input and outputs the user embedding of the first user, and the second network receives the user vector of a second user from the positive sample as input and outputs the user embedding of the second user. In the case of triplet loss, the siamese neural network includes three identical networks: a first network that generates a user embedding from the user vector of an anchor user; a second network that generates a user embedding from the user vector of a positive user; and a third network that generates a user embedding from the user vector of a negative user. During training, the weights of each network of the siamese neural network are updated similarly based on the computed loss. In other words, the updated weights for each iteration are the same across the multiple networks.
[0057] Figure 2 A block diagram illustrating an example iterative process 200 for training a siamese neural network to generate user embeddings using triplet loss according to some aspects is provided, and the example iterative process 200 can be performed, for example, by the user segmentation component 116. For illustrative purposes only, Figure 2 is provided as an example of triplet loss. As discussed above, other types of losses, such as contrastive loss and quadruplet loss, can be used according to different aspects of the techniques described herein.
[0058] As Figure 2 shown, the siamese neural network includes three networks 204A, 204B, and 204C that share the same weights. The user vector 202A of the positive user is provided as input to network 204A, which generates the user embedding 206A of the positive user. The user vector 202B of the anchor user is provided as input to network 204B, which generates the user embedding 206B of the anchor user. The user vector 202C of the negative user is provided as input to network 204C, which generates the user embedding 206C of the negative user.
[0059] A loss 208 is determined based on the user embeddings 206A, 206B, 206C. In the current example, the loss 208 is based on the following triplet loss function: where i refers to the anchor user; j refers to the positive user; k refers to the negative user; is the pairwise Euclidean distance between the user embedding of the anchor user and the user embedding of the positive user in the embedding space; is the pairwise Euclidean distance between the user embedding of the anchor user and the user embedding of the negative user in the embedding space; and m is a margin that defines the distance threshold by which similar and dissimilar pairs should be separated in the space. is a penalty factor on, which is used to account for the degree of similarity between the anchor user and the positive user based on the user-user score of the anchor user and the positive user, and can be defined as follows: where, is the user-user score between the anchor user and the positive user.
[0060] Referring again to Figure 1 , the user segmentation component 116 employs a neural network trained by the network training component 114 to facilitate performing user segmentation by grouping users into clusters, where each user cluster includes a user segment. Specifically, the user segmentation component 116 provides the user vectors generated by the user vector component 110 for each user as inputs to the trained neural network, which generates the user embedding of each user in the embedding space. Then, the user segmentation component 116 clusters the user embeddings in the embedding space, thereby providing user clusters. The user segmentation component 116 can cluster the user embeddings using any of a variety of clustering techniques: for example, centroid-based clustering (e.g., k-means clustering), similarity-based clustering (hierarchical clustering), density-based clustering (e.g., density-based spatial clustering of applications (DBSCAN)), or distribution-based clustering (e.g., Gaussian mixture model (GMM)), etc.
[0061] In some aspects, the user segmentation component 116 also generates a title and / or description for each user segment (i.e., user cluster). For example, the user segmentation component 116 can generate a title such as "Laptop enthusiasts" for one user segment and a title such as "Mobile device enthusiasts" for another user segment. The user segmentation component 116 can employ a generative model to generate the title / description for each user segment. To generate the title / description for a given user segment, information about the users from that segment (e.g., user data from the user data warehouse 120) is provided as input to the generative model, which generates the text of the title and / or description based on the user data. In some aspects, the user data is provided to the generative model with a prompt indicating how the generative model should generate the title or description. This can include instructions on whether to generate a title and / or description and the length of the content being generated (e.g., the number of words or sentences).
[0062] Generative models typically can include a language model, which includes a set of statistical or probabilistic functions that perform natural language processing (NLP) to understand, learn, and / or generate human natural language content. For example, a language model can be a tool that determines the probability of a given sequence of words occurring in a sentence or natural language sequence. In short, it can be a model trained to predict the next word in a sentence. When a language model is trained on a large amount of data, it is called a large language model (LLM). Some examples of LLMs are GOOGLE's BERT and OpenAI's GPT-3 and GPT-4. The capabilities of these models range from writing simple essays to generating complex computer code (all of which are done with limited supervision or even no supervision). Thus, an LLM can include a deep neural network that is very large (billions to hundreds of billions of parameters) and is trained on a large amount of text to understand, process, and generate human natural language. These models can predict future words in a sentence, allowing them to generate sentences in a way similar to how humans speak and write.
[0063] In some configurations, the generative model used by the user segmentation component to generate the titles / descriptions of user segments is a pre-trained model (e.g., GPT-4) that has not been fine-tuned. In other configurations, the generative model is a model built and trained from scratch or a pre-trained model that has been fine-tuned. In such a configuration, training data can be used to train or fine-tune the generative model. For example, the training data can include user pair data of a group of users with titles / descriptions (e.g., titles manually generated to serve as ground truth data for training purposes), and the generative model 208 is trained to fit the training data. During training, the weights associated with each neuron can be updated. Initially, the generative model can include random weight values or pre-trained weight values that are adjusted during training. On the one hand, backpropagation is used to train the generative model. The backpropagation process includes forward propagation, a loss function, backpropagation, and weight update. The process is repeated using the training data. For example, each iteration can include: providing the user data of a group of users as input to the model, generating an output through the generative model, comparing the model output with the titles / descriptions paired with the input user data (e.g., calculating the loss), and updating the model based on the comparison. The goal is to update the weights of each neuron (or other model components) so that the generative model can generate useful titles and / or descriptions from the user data of a group of users. Once trained, the weights associated with a given neuron can remain fixed. Other data passed between neurons can change in response to a given input. Retraining the network with additional training data can update one or more weights in one or more neurons.
[0064] Figure 3A block diagram is provided showing an example process 300 for user segmentation using a trained neural network, which example process 300 may be performed, for example, by a user segmentation component 116. As Figure 3 shown, a user vector 302 is provided for a user. The user vector 302 in this example includes a feature set that includes general behavior features 304 and category-specific behavior features 306. Since the user vector 302 in this example includes category-specific behavior features, it supports category-specific user segmentation. It should be understood that the user vector 302 is provided by way of example only and not limitation. In other aspects, the user vector may include any combination of general behavior features, category-specific behavior features, and non-behavioral features (e.g., user demographics).
[0065] The user vector 302 is provided as an input to a trained neural network 308 (e.g., a neural network trained by a Figure 1 network training component 114). The trained neural network 308 generates a user embedding 310 for the user, which provides a numerical representation of the user in an embedding space 312. Similarly, user vectors for other users are provided as inputs to the trained neural network 308, and the trained neural network 308 generates a user embedding for each user. User clusters are generated by clustering the user embeddings in the embedding space 312. Each user cluster in the embedding space 312 includes a user segment. Although Figure 3 not shown in the figure, a title and / or description may be generated for each user segment. For example, user data for a user cluster may be provided as an input to a generative model that outputs a title and / or description for the user segment based on the user data. An example method for user segmentation using contrastive learning enhanced by user-user ratings
[0066] Now referring to Figure 4 , a flowchart is provided showing an overall method 400 for performing user segmentation using contrastive learning enhanced by user-user ratings. The method 400 may be performed, for example, by a Figure 1 user segmentation system 106. Each block of the method 400 and any other method described herein includes a computational process performed using any combination of hardware, firmware, and / or software. For example, various functions may be performed by a processor executing instructions stored in a memory. The method may also be embodied as computer-usable instructions stored on a computer storage medium. These methods may be provided by a stand-alone application, service, or hosted service (stand-alone or in combination with another hosted service) or a plug-in for another product, to name a few.
[0067] As shown in block 402, a user vector is generated for a user of the listing platform. The user vector for a given user is generated based on user data tracked by the listing platform for that given user. The user data may include behavioral data regarding user interactions with the listing platform. In some cases, the behavioral data includes general behavioral data and / or category-specific behavioral data, where the general behavioral data includes user interactions with items listed on the listing platform across all item categories, and the category-specific behavioral data includes only user interactions with items within a specific item category. The user data may also include non-behavioral data, such as user demographic data.
[0068] As shown in block 404, a user-user score between users is generated. The user-user score for a given pair of users is determined based on interactions of the two users with the same items listed on the listing platform. In some cases, when determining the user-user score, different types of user interactions of the two users with the same item are counted; while in other cases, when determining the user-user score, only the same type of user interactions of the two users are counted. In some configurations, the user-user score is generated by applying different weights to different types of user interactions.
[0069] As shown in block 406, a neural network is trained using the user vector and the user-user score as training data. Specifically, the user-user score is used to identify positive and negative samples. Given the positive and negative samples, the neural network is trained by iteratively performing the following operations: selecting a sample, providing the user vector from the sample as an input to the neural network to generate a user embedding, calculating a loss based on the user embedding, and updating the neural network (e.g., network weights) based on the loss. According to some aspects, at block 406, a method such as method 500 described below is used to train the neural network. Figure 5 to train the neural network.
[0070] As shown in block 408, a user embedding is generated from the user vector using the trained neural network resulting from the training at block 406. Specifically, the user vector of each of a plurality of users is provided as an input to the neural network, which generates a user embedding for each user. As shown in block 410, the user embeddings are clustered in the embedding space to provide user clusters. Each user cluster provides a user segment. Clustering may be performed using clustering techniques such as centroid-based clustering (e.g., k-means clustering), similarity-based clustering (hierarchical clustering), density-based clustering (e.g., applied density-based spatial clustering (DBSCAN)), or distribution-based clustering (e.g., Gaussian mixture model (GMM)), to name a few. In some configurations, a title and / or description is also generated for each user segment.
[0071] Figure 5 is a flowchart showing a method 500 for training a neural network. The method 500 can be performed, for example, by Figure 1 the network training component 114. As shown in block 502, one or more positive samples and / or negative samples are obtained based on user-user scores generated between pairs of users who have interacted with a listing platform. Positive samples identify pairs of users whose user-user scores meet a threshold (which can be zero or non-zero). Negative samples identify pairs of users whose user-user scores do not meet the threshold. In some cases, the user-user score is an edge weight from a user graph. The samples obtained at block 502 are based on the type of loss employed (e.g., contrastive loss, triplet loss, quadruplet loss, etc.). By way of example only and not limitation: in the case of a contrastive loss function, either positive or negative samples are obtained; in the case of triplet loss, both positive samples (i.e., an anchor user and a positive user) and negative samples (i.e., an anchor user and a negative user) are obtained; and in the case of quadruplet loss, positive samples (i.e., an anchor user and a positive user) and two negative samples (i.e., an anchor user and two different negative users) are obtained.
[0072] As shown at block 504, user vectors from the samples obtained at block 502 are provided as inputs to a neural network to generate user embeddings for each user. As shown in block 506, a loss is calculated based on the user embeddings. The loss determined at block 506 uses a loss function based on the type of loss used, such as a contrastive loss function, a triplet loss function, a quadruplet loss function, etc. In some aspects, the loss function applies a penalty factor based on the user-user score between two users to positive samples to account for the degree of similarity between the two users reflected by the user-user scores of the two users. At block 508, based on the loss determined at block 506, the weights of the neural network are updated, for example by using backpropagation, to update the neural network. As shown in the return to block 502, the process of updating the neural network is repeated through multiple iterations using various samples from the training data (i.e., user vectors and user-user scores).
[0073] Figure 6 is a flowchart showing a method 600 for naming user segments. The method 600 can be performed, for example, by Figure 1performed by the user segmentation component 116. As shown in block 602, a user cluster is selected. At block 604, the users in the cluster are identified and, as shown at block 606, the user data of those users is accessed. The user data can be obtained, for example, from a user data warehouse of the listing platform, which stores information about user interactions with the listing platform. As shown in block 608, the user data is provided as input to a generative model, which can include an LLM that is trained to generate titles and / or descriptions based on the user data of a set of users. Given the user data, the generative model generates text for a title and / or description of the user cluster. Exemplary Operating Environment
[0074] Embodiments of the present disclosure have been described. Below, an exemplary operating environment in which embodiments of the technology can be implemented is described to provide a general context for various aspects of the present disclosure. Specifically, first referring to Figure 7 , an exemplary operating environment for implementing embodiments of the technology is shown and generally designated as computing device 700. Computing device 700 is only one example of a suitable computing environment and is not intended to imply any limitation as to the scope of use or functionality of the technology. Nor should computing device 700 be construed as having any dependency or requirement related to any one or combination of the illustrated components.
[0075] The technology can be described in the general context of computer code or machine - available instructions, including computer - executable instructions (such as program modules) executed by a computer or other machine (such as a personal data assistant or other handheld device). Generally, program modules, including routines, programs, objects, components, data structures, etc., refer to code that performs particular tasks or implements particular abstract data types. The technology can be practiced in a variety of system configurations, including handheld devices, consumer electronics, general - purpose computers, more specialized computing devices, etc. The technology can also be practiced in a distributed computing environment where tasks are performed by remote processing devices linked through a communication network.
[0076] Referring to Figure 7 , computing device 700 includes a bus 710 that directly or indirectly couples the following devices: a memory 712, one or more processors 714, one or more presentation components 716, an input / output (I / O) port 718, input / output components 720, and an illustrative power supply 722. Bus 710 represents one or more buses (such as an address bus, a data bus, or a combination thereof). Although for clarity, Figure 7Each box is represented by a line, but in reality, depicting the various components is not so clear, and metaphorically, the lines would be more accurately gray and fuzzy. For example, a rendering component such as a display device can be considered an I / O component. Additionally, the processor has a memory. The inventors recognize this as the nature of the art and reiterate Figure 7 The figures only illustrate exemplary computing devices that can be used in conjunction with one or more embodiments of the present technology. There is no distinction between categories such as "workstation", "server", "laptop computer", "handheld device", etc., because all of these categories are within Figure 7 the scope and are considered with reference to "computing device".
[0077] Computing device 700 generally includes various computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 700 and includes volatile and non-volatile media, removable and non-removable media. By way of example and not limitation, computer-readable media can include computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data.
[0078] Computer storage media includes, but is not limited to: RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage devices, magnetic tape cartridges, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by computing device 700. The terms "computer storage medium" and "computer storage media" do not themselves include signals.
[0079] Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism and includes any information delivery media. The term "modulated data signal" refers to a signal that has been set or changed in such a manner as to encode information in the signal and that has one or more characteristics. By way of example and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
[0080] The memory 712 includes computer storage media in the form of volatile and / or non-volatile memory. The memory can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid state memory, hard disk drives, optical disk drives, etc. The computing device 700 includes one or more processors that read data from various entities such as the memory 712 or the I / O component 720. The presentation component 716 presents data indications to the user or other devices. Exemplary presentation components include display devices, speakers, printing components, vibration components, etc.
[0081] The I / O port 718 allows the computing device 700 to be logically coupled to other devices including the I / O component 720, some of which may be built-in. Illustrative components include microphones, joysticks, gamepads, satellite dishes, scanners, printers, wireless devices, etc. The I / O component 720 can provide a natural user interface (NUI) that processes air gestures, voice, or other physiological inputs generated by the user. In some cases, the input can be sent to appropriate network elements for further processing. The NUI can implement any combination of the following: speech recognition, touch and stylus recognition, facial recognition, biometric recognition, gesture recognition both on and near the screen, air gestures, head and eye tracking, and touch recognition associated with the display on the computing device 700. The computing device 700 can be equipped with a depth camera such as a stereoscopic camera system, an infrared camera system, an RGB camera system, and combinations thereof for gesture detection and recognition. Additionally, the computing device 700 can be equipped with an accelerometer or gyroscope capable of detecting motion.
[0082] The present technology has been described with reference to specific embodiments that are intended in all respects to be illustrative and not restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the present technology pertains without departing from the scope of the present technology.
[0083] The various components used herein have been identified, and it should be understood that any number of components and arrangements may be employed to achieve the desired functions within the scope of the present disclosure. For example, for clarity of concept, the components in the embodiments depicted in the figures are shown with lines. Other arrangements of these and other components may also be implemented. For example, although some components are depicted as single components, many of the elements described herein may be implemented as discrete or distributed components or in combination with other components and in any suitable combination and location. Some elements may be omitted entirely. Additionally, as described below, the various functions performed by one or more entities described herein may be performed by hardware, firmware, and / or software. For example, the various functions may be performed by a processor executing instructions stored in a memory. Thus, other arrangements and elements (e.g., machines, interfaces, functions, command, and function groupings) may be used in addition to or in place of the shown arrangements and elements.
[0084] The embodiments described herein may be combined with one or more of the specifically described alternatives. Specifically, the claimed embodiments may include references to more than one other embodiment in the alternatives. The claimed embodiments may specify additional limitations of the claimed subject matter.
[0085] The subject matter of the embodiments of the present technology has been specifically described herein to meet statutory requirements. However, the present specification itself is not intended to limit the scope of the patent. Instead, the inventors have contemplated that the claimed subject matter may also be embodied in other ways in combination with other existing or future technologies to include different steps or combinations of steps similar to those described in this document. Additionally, although the terms "step" and / or "block" may be used herein to denote different elements of the methods employed, such terms should not be construed as implying any particular order among or between the various steps disclosed herein, unless and except when the order of the individual steps is explicitly described.
[0086] For the purposes of the present disclosure, the word "comprising" has the same broad meaning as the word "including", and the word "access" includes "receiving", "referencing", or "retrieving". Additionally, the word "communicating" has the same broad meaning as the words "receiving" or "transmitting", which are facilitated by a software- or hardware-based bus, receiver, or transmitter using the communication media described herein. Additionally, unless otherwise stated, words such as "a" and "an" include the plural as well as the singular. Thus, for example, in the presence of one or more features, the constraint of "a feature" is satisfied. Additionally, the term "or" includes conjunctive, disjunctive, and both (a or b thus includes a or b, and a and b).
[0087] For purposes of the foregoing detailed discussion, embodiments of the present technology are described with reference to a distributed computing environment; however, the distributed computing environment described herein is merely exemplary. Components can be configured to perform novel embodiments of the embodiments, where the term "configured to" can mean "programmed to" perform a particular task or implement a particular abstract data type using code. Further, while embodiments of the present technology can generally be referenced to the technical solution environments and diagrams described herein, it should be understood that the described technology can be extended to other implementation contexts.
[0088] As can be seen from the foregoing, the technology is well-suited to achieve all of the objectives and purposes set forth above, as well as other obvious and inherent advantages of the system and method. It should be understood that certain features and sub-combinations are useful and can be employed without reference to other features and sub-combinations. This is contemplated by the claims and is within the scope of the claims.
Claims
1. One or more computer storage media storing computer usable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising: generating a plurality of user vectors for a plurality of users based on the user data tracked by the list platform; generating a plurality of user-user scores between the plurality of users based on user interactions with items on the listing platform; training a neural network to generate user embeddings using the plurality of user vectors and the plurality of user-user scores to provide a trained neural network; causing the trained neural network to generate a plurality of user embeddings by providing at least a portion of the plurality of user vectors as input to the trained neural network; as well as A plurality of clusters is generated using at least a portion of the plurality of user embeddings.
2. One or more computer storage media according to claim 1, wherein: Each user vector of the plurality of user vectors comprises one or more selected from the group consisting of: one or more general behavioral characteristics; one or more category-specific behavioral characteristics; and one or more non-behavioral characteristics.
3. The one or more computer storage media of claim 1, wherein: When generating the plurality of user vectors, an autoencoder is used to compress at least a portion of the user data.
4. The one or more computer storage media of claim 1, wherein: The plurality of user-user scores are generated by applying different weights to different types of user interactions with items on the listing platform.
5. The one or more computer storage media of claim 1, wherein: The plurality of user-user scores are generated by using only user interactions with items within a specified category of items.
6. The one or more computer storage media of claim 1, wherein: Generating the plurality of user-user scores includes generating a user graph, wherein each node of the user graph corresponds to one of the plurality of users, and the nodes are connected with edges having edge weights corresponding to the user-user scores.
7. The one or more computer storage media of claim 1, wherein: The neural network includes a twin network.
8. The one or more computer storage media of claim 1, wherein: Training the neural network comprises: identifying positive samples and negative samples based on the user-user scores; and A loss function is employed that minimizes the distance between embeddings of positive samples and maximizes the distance between embeddings of negative samples.
9. The one or more computer storage media of claim 8, wherein: The loss function includes a penalty factor as a function of the user-user score.
10. The one or more computer storage media of claim 1, wherein: The operations also include: Selecting a first user cluster; accessing a portion of user data tracked by the listing platform for users in the user cluster; and By providing the portion of the user data as input to a generative model, the generative model is caused to generate text of a title and / or description of the first user cluster.
11. A computer-implemented method comprising: generating a plurality of user vectors for a plurality of users from user data tracked by a listing platform, the user data comprising general behavior data and category-specific behavior data corresponding to items within a specified item category on the listing platform; generating a user graph, wherein each node corresponds to a user of the plurality of users and the nodes are connected with edges having edge weights corresponding to user-user scores determined by applying different weights to different types of user interactions with items on the listing platform; The plurality of user vectors and the user graph are used as training data, and a neural network is trained through multiple iterations to provide a trained neural network, each iteration comprising: Selecting one or more positive samples and / or one or more negative samples based on node connections in the user graph; causing the neural network to generate a set of user embeddings from user vectors corresponding to each user in the one or more positive samples and / or the one or more negative samples; Determine a loss based on the set of user embeddings, and updating the neural network based on the loss; generating a plurality of user embeddings using the trained neural network by providing at least a portion of the plurality of user vectors as input to the trained neural network; and A plurality of user segments are generated by clustering the user embeddings from the plurality of user embeddings.
12. The computer-implemented method of claim 11, wherein: The user-user score is determined by using only user interactions with items within the specified item category.
13. The computer-implemented method of claim 11 , wherein: A positive sample in the one or more positive samples includes a first pair of users connected in the user graph, and a negative sample in the one or more negative samples includes a second pair of users not connected in the user graph.
14. The computer-implemented method of claim 11, wherein: The positive samples in the one or more positive samples include a first pair of users having an edge weight that satisfies a threshold in the user graph, and the negative samples in the one or more negative samples include a second pair of users that are not connected in the user graph or have an edge weight that does not satisfy the threshold in the user graph.
15. The computer-implemented method of claim 11, wherein: The neural network comprises a twin neural network having three sub-networks; wherein selecting the one or more positive samples and / or the one or more negative samples comprises selecting an anchor user, a positive user, and a negative user; and wherein the loss comprises a ternary loss.
16. The computer-implemented method of claim 12, wherein: The loss is determined using a loss function that includes a penalty factor as a function of the user-user score.
17. A computer system comprising: processor; as well as A computer storage medium storing computer usable instructions that, when used by a processor, cause the computer system to perform operations comprising: generating training data including a plurality of user vectors and a plurality of user-user scores, the plurality of user vectors being generated for a plurality of users based on user data tracked by a listing platform, the plurality of user-user scores being generated between pairs of users among the plurality of users based on user interactions with items on the listing platform; training the neural network using the training data to provide a trained neural network; causing the neural network to generate a plurality of user embeddings from at least a portion of the user vectors; and A plurality of user segments are generated by clustering the user embeddings from the plurality of user embeddings.
18. The computer system of claim 17, wherein: The plurality of user vectors are generated using category-specific behavioral features associated with items in a particular category of items.
19. The computer system of claim 17, wherein: The neural network is trained in the following way: identifying positive samples and negative samples based on the user-user scores; and A loss function is employed that minimizes the distance between embeddings of positive samples and maximizes the distance between embeddings of negative samples.
20. The computer system of claim 17, wherein: The loss function includes a penalty factor as a function of the user-user score.