CN114004677A - Method and system for providing recommendations to multiple users - Google Patents

Method and system for providing recommendations to multiple users Download PDF

Info

Publication number
CN114004677A
CN114004677A CN202111299286.4A CN202111299286A CN114004677A CN 114004677 A CN114004677 A CN 114004677A CN 202111299286 A CN202111299286 A CN 202111299286A CN 114004677 A CN114004677 A CN 114004677A
Authority
CN
China
Prior art keywords
user
feature data
feature
data
recommendation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111299286.4A
Other languages
Chinese (zh)
Inventor
胡旻皓
张妤溦
杨亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shengdoushi Shanghai Science and Technology Development Co Ltd
Original Assignee
Shengdoushi Shanghai Technology Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shengdoushi Shanghai Technology Development Co Ltd filed Critical Shengdoushi Shanghai Technology Development Co Ltd
Priority to CN202111299286.4A priority Critical patent/CN114004677A/en
Publication of CN114004677A publication Critical patent/CN114004677A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present application presents a method and system for providing recommendations to a plurality of users. The method comprises the steps of obtaining object characteristic data associated with an object to be recommended and user characteristic data of a plurality of users; determining fused user characteristic data based on user characteristic data and object characteristic data of a plurality of users; and determining object recommendation information of the object to be recommended, which is provided for the plurality of users, based on the fused user characteristic data and the object characteristic data. The recommendation method and the recommendation system can provide an individualized recommendation scheme of an object integrating preferences of multiple users aiming at a recommendation scene in which multiple users participate simultaneously.

Description

Method and system for providing recommendations to multiple users
Technical Field
The present application relates to information recommendation, and in particular, to a method and system for providing recommendations to multiple users.
Background
There is a wide need in many industries to personalize recommendations to the preferences of users. When the ordering system is faced with a scene that a plurality of persons order in an order (i.e. a plurality of persons have a dinner together), the recommendation system also needs to consider the situation that the preference of each of the plurality of users affects the order at the same time.
Therefore, a need exists for an improved user recommendation method and system, particularly a recommendation scheme in a multi-person meal ordering scenario in the catering industry.
Disclosure of Invention
Embodiments of the present application propose methods, systems, electronic devices, and computer storage media for providing recommendations to multiple users in order to solve at least one of the problems described above, and to provide a personalized recommendation scheme that merges objects preferred by multiple users for a recommendation scenario in which multiple users participate simultaneously.
According to an aspect of the application, a method for providing recommendations to a plurality of users is proposed, comprising: acquiring object characteristic data associated with an object to be recommended and user characteristic data of a plurality of users; determining fused user characteristic data based on user characteristic data and object characteristic data of a plurality of users; and determining object recommendation information of the object to be recommended, which is provided for the plurality of users, based on the fused user characteristic data and the object characteristic data.
According to yet another aspect of the application, a system for providing recommendations to a plurality of users is presented, comprising: an interaction unit configured to interact with a plurality of users and present object recommendation information of an object to be recommended provided to the plurality of users; at least one recommendation unit configured to communicate with the interaction unit, obtain object feature data associated with the object to be recommended and user feature data of the plurality of users, determine fused user feature data based on the user feature data and the object feature data of the plurality of users, and determine object recommendation information based on the fused user feature data and the object feature data.
According to yet another aspect of the application, a computer-readable storage medium is proposed, on which a computer program is stored, the computer program comprising executable instructions that, when executed by a processor, implement the method as described above.
According to yet another aspect of the present application, an electronic device is presented, comprising a processor; and a memory for storing executable instructions of the processor; wherein the processor is arranged to execute the executable instructions to implement the method as described above.
By adopting the multi-user recommendation scheme provided by the application, the recommendation specificity of a multi-user participation scene is fully considered, and the optimal balance is achieved on the aspects of characteristic engineering, model generalization capability and instantaneity. On one hand, the method can fill the technical blank that the user preference is dispersed and needs to be fused urgently in a multi-user participation scene; on the other hand, the method can also be applied to other business links involving multi-person decision-making in the future. The proposal comprehensively considers the preferences of a plurality of users, leads the recommendation result to be more scientific, and adopts an attention mechanism to determine the user weight by an algorithm according to the characteristics of the users, the matching degree of the users and the objects to be recommended and the matching degree of the users and the context information. The introduction of the attention mechanism can automatically distinguish the importance of different user preference characteristics under the conditions of a scene and an object to be recommended, and provide differentiated weighting weight, so that the recommendation prediction is more accurate. The recommendation scheme is particularly suitable for a multi-person ordering scene in the catering industry, and can be used for real-time recommendation by combining the preference of each user and dish information in the same order.
Drawings
The above and other features and advantages of the present application will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings.
FIG. 1 is an exemplary logical block diagram of a system architecture for providing object recommendation information to multiple users according to one embodiment of the present application.
Fig. 2 is a block diagram illustrating an exemplary structure of a system for providing object recommendation information to a plurality of users according to an embodiment of the present application.
FIG. 3 is an exemplary flow of a method for providing object recommendation information to a plurality of users according to one embodiment of the present application.
Fig. 4 is a block diagram illustrating an exemplary structure of an electronic device for providing object recommendation information to a plurality of users according to an embodiment of the present application.
Detailed Description
Exemplary embodiments will now be described more fully with reference to the accompanying drawings. The exemplary embodiments, however, may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. In the drawings, the size of some of the elements may be exaggerated or distorted for clarity. The same reference numerals denote the same or similar structures in the drawings, and thus detailed descriptions thereof will be omitted.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the application. One skilled in the relevant art will recognize, however, that the subject matter of the present application can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures, methods, or operations are not shown or described in detail to avoid obscuring aspects of the application.
Mainstream recommendation systems for internet products are generally based on a single user as a recommendation object or sample. Based on the feature information and the context information of each user including the user profile, only the recommendation results seen by the user themselves are affected. For example, in the catering industry, the recommendation system can better support the recommendation scene of one-person code scanning and ordering.
In a scene of recommending a single user, the recommendation is generally completed based on the characteristics of the single user, the matching degree of the user and an object to be recommended, and the matching degree of the user and the context information. The recommendation system scheme of a single user is relatively mature, no additional technical cost is caused when the recommendation system is continuously accessed into a multi-user recommendation scene, and good interpretability is achieved. The scheme of separately recommending a plurality of users or copying the recommendation result of a certain user to the whole situation can continue to exert the learning capability of the artificial intelligence algorithm.
However, there are many obvious differences in the recommendation algorithm compared to a single-user recommendation scenario in a scenario with multiple users participating simultaneously. In a multi-user recommendation scenario, multiple single-user recommendations interact but remain somewhat independent. Multi-user recommendations that fuse user preferences should be a compromise recommendation that takes into account all user preferences (sometimes including contraindications).
Taking the ordering of a catering enterprise as an example, at present, a recommendation system under a multi-person ordering scene mainly has three schemes. The first scheme is that an algorithm supporting single-person meal ordering recommendation in an internet product is continuously used, dishes are continuously and independently recommended to different users related to the same order, and the recommendation algorithm is not restricted by the particularity of a new service scene of ordering by multiple people. The second scheme selects a certain user in the order to recommend, copies the recommendation result and provides the copied recommendation result to other users. The third solution is to provide the food ordering user in a fixed dish configuration or fixed food preparation rule in a targeted manner to a plurality of users without using a recommendation algorithm.
The first solution splits the users in the order into dish recommendations for the single user when ordering, which is still actually a recommendation based on the preferences of the single user. The second scheme is equivalent to a simple replication of a single user order, essentially identical to the first scheme. The third scheme uses fixed dish configuration information, and is actually a pseudo recommendation method that does not use a recommendation algorithm. In the technical schemes of the catering industry, users are still considered separately in feature engineering and model training, and the system cannot automatically learn the scene characteristics of multi-user ordering, so that the actual action of the recommendation system in a multi-user ordering scene is influenced, and better ordering service and smoother product experience cannot be provided for consumers.
In an embodiment of the application, a fused preference based food recommendation scheme is presented in a multi-user scenario where multiple consumers order in the same order in a storefront of the catering industry. Here, food items may include, but are not limited to, dishes, staple foods, beverages, and the like, and ordering may include not only selecting food for consumption in an order, but also selecting food-related services and activities. In some cases, ordering and ordering may be understood equally.
However, those skilled in the art will appreciate that the multi-user recommendation scheme presented herein may also be extended to other multi-user scenarios, where recommendations are made for the same behavior or event by these users. Recommendations may include multi-user oriented product recommendations, advertisement recommendations or placements, navigation route recommendations, and advice information in decision assistance, such as tour path planning that takes into account all team member preferences when navigating a multi-team provided by a travel website platform. The object to be recommended may be an entity object (product or article, such as dish, material) or a non-entity object (such as information or service). The essence of providing recommendations to a user is to provide items of items or information with help and assistance, collectively referred to herein as objects, to the user.
Taking a scenario that multiple consumers in a restaurant store order food in the same order as an example, if all people order food at the same time (for example, the users use mobile devices such as their mobile phones to scan codes, pay attention to public numbers or use tablet computers provided by the store to log in APP or small programs for ordering food), it can be considered that multiple users join the order at the same time, and at this time, the recommendation system outputs recommendation information of food for all users through one recommendation operation. The object recommendation information may be presented in a particular format, such as an ordered menu. The multi-user recommendation information can be seen by all users. At the moment, the recommendation system only carries out recommendation once, and the speed is high. If a plurality of users respectively join the order in turn (for example, the users arrive at a store one by one and use respective mobile phones or respectively use tablet computers to order), the recommendation can be made to the single user who joins the order first, which is equivalent to the single-user recommendation based on the preference of the single user. Then, aiming at the users who join the order later, the recommendation system carries out one-time multi-user recommendation operation aiming at the users (the first user and the users who join later) existing in the current order to obtain multi-user object recommendation information aiming at the users, and the object recommendation information can be displayed on the display interfaces of the mobile devices and/or the tablet computers of the users at the same time. As more users join the order, the recommendation system may perform a new multi-user recommendation calculation for each change in the number of users and provide it to all users in the order. There are also situations when one or some of the users in the order complete the ordering according to the multi-user recommendation information, or it can be considered that the number of users in the order changes or updates, and at this time, the multi-user recommendation can be made and presented to only those users in the order that have not completed the ordering. According to some embodiments of the application, the ordering situation of other users can be provided to those users who have already finished ordering or recommendation information can still be presented after ordering, so that the users can order the food again (for example, add the food).
The recommendation scheme proposed in the present application is described below with reference to a logic block diagram of a system architecture and a process for providing object recommendation information to multiple users, which is shown in fig. 1.
In the recommendation scheme, a weight calculation method of an attention mechanism in a deep learning algorithm such as a neural network model is adopted to perform weighted pooling on user images of different ordering users to obtain user feature data fused with multi-user preference, and then the user feature data is spliced with object features and context features of an object (such as dishes) to be selected to serve as fusion features of probability prediction of ordering or re-ordering of the user.
Attention Mechanism (Attention Mechanism) in the neural network model is a resource allocation scheme for allocating computing resources to more important tasks under the condition of limited computing capacity, and solving the problem of information overload. Generally, in the learning process of the neural network model, the more parameters of the model, the stronger the expression capability of the model, so that the amount of information stored by the model is larger, but this may cause the problem of information overload. By introducing the attention mechanism, the information which is more critical to the current task is focused in a plurality of input information, the attention degree to other information is reduced, and even irrelevant information is filtered out, so that the problem of information overload can be solved, and the efficiency and the accuracy of task processing can be improved. The core idea of the attention mechanism is that all the outputs of the encoder are weighted and combined and then input into the decoder at the current position to influence the output of the decoder. By weighting the output of the encoder, more context information of the original data can be utilized while achieving alignment of the input to the output.
The attention mechanism in the neural network model is similar to the human visual attention mechanism, for example, a target area needing important attention is obtained by scanning a global image, then more attention resources are invested in the area, more detailed information related to the target is obtained, and other irrelevant information is ignored. By means of the mechanism, high-value information can be screened out from a large amount of information rapidly by using limited attention resources. From an interpretability perspective, the attention model is particularly interesting because it allows the user of the model to directly examine the internal workings of the deep learning architecture. For the problem that the input and the output are in a sequence, an important assumption of the attention model is that the learned attention weight represents the correlation between the data to be output currently and some specific position data of the input sequence.
Variants of the attention model can be used to handle unique features of different application domains, such as text summarization, reading comprehension, language modeling, syntactic analysis, and the like. Attention models generally have more applications in three areas: natural Language Generation (NLG), classification, and recommendation systems. The attention model is used for user analysis of the recommendation system, and attention weights can be assigned to items interacted by the user to more effectively acquire long-term and short-term interests. It is clear that not all user interactions with an item are related to their preferences for that item, and that the user's interests will change over time. A self-attention mechanism may be used to find the information items that are historically the most relevant to the user, to improve item retrieval through a collaborative filtering framework, or to make sequential recommendations within an encoder-decoder architecture.
The calculation of the attention value is a very important step in the recommended task process. The calculation of the attention value can be divided into two steps: 1) calculating an attention distribution over all input information; and 2) calculating a weighted average of the input information based on the attention distribution. In this context, the application scenario of attention distribution may be understood as that, considering the input information as an information store, finding and selecting some of the input information in a given query task requires knowing the index position of the selected information. Instead of selecting only one piece of information from a plurality of stored input information (which can be visually understood as rain and dew soaking), a 'soft' selection mechanism is adopted, that is, some information is extracted from all the information, but much more information is extracted from the most relevant information. Weighted averages relate to attention distributions that represent how relevant a certain information component in the input information is to the query task given the query. The result obtained by the query is given by adopting a 'soft' information selection mechanism, namely the process of summarizing the input information by using a weighted average mode to obtain the attention value.
The multi-user recommendation system architecture can be regarded as a large recommendation network model, and comprises a plurality of functional layers or network layers. Hereinafter, these functional layers or network layers are collectively referred to as "layers", which may be understood as an algorithm layer (e.g., an input layer, a hidden layer, an output layer, an active layer, an embedded layer, a pooling layer, a splicing layer, etc.) composed of one or more layers in a network model, or some sub-model or sub-unit for accomplishing the corresponding functions. Each algorithm layer or submodel may employ a separate network model structure, with a complex or simple structure (e.g., with multiple layers or with only one algorithm/function layer).
The system architecture of fig. 1 first obtains user characteristic data, object characteristics (e.g., characteristic data of food) and context characteristics of a plurality of ordering users through the input layer 120. Here, the user feature, the object feature, and the context feature represent features from different data sources or different generation manners, and therefore, the user feature may also be represented as a feature from the user, and the object feature and the context feature may also be represented as a feature from an object (to be recommended) and a feature from a context (recommendation scenario), respectively.
The user characteristic data comprises preference characteristics corresponding to each user, such as the preference characteristic 101-1 of user 1, the preference characteristic 101-2, … of user 2, the preference characteristic 101-N of user N. The user features are user profile information used to characterize user preferences or configuration information, such as user features or user profile features obtained from a single user recommendation process. It should be noted that in a scenario or event (meal ordering) of one-time multi-user recommendation, different users or user groups may have different user characteristic data for the same object to be selected (e.g. dishes). The object characteristics are characteristics related to the attributes of each object itself, and include, for example, names of dishes, cuisine, taste, price, completion time, and the like. Contextual features are information related to historical or current user behavior/events (e.g., ordering), including, for example, the location of the order (beijing, shanghai, or some store in beijing), the time (a day, a period of the day to the store for the order consumption), etc. In fig. 1, the object features and context features are integrated into object feature data 104 to correspond to user feature data (including a plurality of user preference features 101-1 to 101-N), meaning that both are common to all users. The object features and the context features can also be represented separately, and generally, the object features and the context features are integrated and spliced to be beneficial to subsequent processing.
The input data to the input layer 120 typically includes a plurality of feature fields, which may also be considered components of a feature. A feature field refers to a column of input data that corresponds to the concept of a "dimension" of the data, and may also be referred to as a feature column in some cases. For consecutive features, generally "feature" refers to a "feature column". For discrete features, One-hot or Multi-hot processing is usually required, One column in the raw data is converted into multiple feature columns, and multiple feature columns from the same discrete feature are considered to be from the same feature domain. Discrete features are generally referred to as "feature domains," and in the context of continuous features, feature domains and feature columns are equivalent at the data level. Wherein the user characteristic data comprises a plurality of user preference characteristics, each user preference characteristic having a plurality of user characteristic fields. The object feature data includes object features and context features, both having a plurality of object feature fields and a plurality of context feature fields, respectively. In FIG. 1, each user's preference profile may have three user profile fields, 101-1a, 101-1b, and 101-1c, for example. According to embodiments of the application, the user's preference profile may have other numbers of profile fields as well. As also exemplarily shown in fig. 1, the object feature data after the object feature and the context feature are integrated and spliced includes three feature fields. For example, both the object feature and the context feature have three feature fields, respectively, and the three feature fields of the object feature data are formed by integrating or splicing the respective feature fields. It is also possible to simply combine the respective three feature fields of both the object feature and the context feature into six feature fields of the object feature data. Those skilled in the art will also appreciate that the object feature data (as well as object features and contextual features) may include other numbers of feature fields. Each feature domain also has a corresponding feature domain, which includes a plurality of dimensions, so these feature domains are multi-dimensional feature domains and the corresponding feature data are feature data having a plurality of dimensions, e.g., feature domains 101-1a, 101-1b, and 101-1c in FIG. 1 are user preference feature domains having 4 dimensions, respectively, which constitute user preference features 101-1 having 4 dimensions.
The feature data can be classified into discrete feature data and continuous feature data according to the type of data. Discrete feature data typically includes features that have no interrelationship, which are generally not comparable, and they are typically in the form of strings, which may be expressed as categorical variables, for example. The discrete feature data includes, for example, a location feature (city of beijing, shanghai, etc.). For example, the discrete feature field 102-1a corresponding to the feature field 101-1a of the preference feature 101-1 of the user 1 in FIG. 1 represents discrete feature data included in the preference feature of the user 1. The continuous feature data typically has interrelationships and can be compared and sorted, typically numerical variables in numerical form. The continuous characteristic data includes, for example, a transaction amount of dishes for a past period of time. Each input feature data may include discrete feature portions or continuous feature portions.
In order to obtain the fused user feature data, the feature vectors need to be spliced. However, discrete feature data is not suitable for vector stitching, so when discrete variable data or discrete feature parts exist in feature data, discrete features need to be converted into continuous features to form a continuous feature vector. Accordingly, discrete feature data or discrete feature portions may be subjected to an embedding (embedding) process using the embedding layer 121, converting or mapping discrete feature values, such as in the form of character strings, to real number feature vectors. The real number eigenvector is one of continuous eigenvectors and is suitable for vector splicing operation. For successive feature data or portions of the input features, successive feature vectors are formed directly without the need for an embedding process by the embedding layer 121. For example, the embedding layer 121 may be configured to directly output continuous feature vectors without performing embedding processing on continuous feature data or portions thereof. If the input feature data does not contain discrete feature fields, the embedding layer 121 may not be needed.
After the embedding layer 121 outputs the user feature data and the object feature data represented by a plurality of continuous feature vectors, the user feature data and the object feature data are respectively vector-spliced in the first splicing layer 122 to form corresponding spliced vectors as the spliced user feature vector and the spliced object feature vector of the user. Here, concatenation (concat) corresponds to a concatenation (concatenation) operation on vectors. Other splicing operation modes may also exist according to embodiments of the present application. Wherein, each user preference feature in the plurality of user preference features included in the user feature data splices the continuous feature vector (from the continuous feature part and the discrete feature part subjected to embedding processing) included in the user preference feature data into one user preference feature vector. For example, the user preference feature vectors for user 1,2, …, N preference features 101-1, 101-2, …, 101-N are 103-1, 103-2, …, 103-N, respectively. The dimension of the spliced user preference feature vector is the sum of the dimensions of all feature parts of the user preference feature vector, and the spliced user preference feature vector forms a 12-dimensional (4-dimensional x 3) continuous feature vector by taking the 4-dimensional feature domain as an example. For the object feature data, the spliced object feature data vector 105 is also the dimension sum of all feature parts of the object feature data. Since the object feature data is a combination of object features and context features, the dimensions of the object feature data vector 105 can be calculated by the sum of the dimensions of all feature parts of the object feature vector and the dimensions of all feature parts of the context features. For example, if the object feature and the context feature have three 4-dimensional feature domains, respectively, and the object feature and the context feature are integrated into the object feature data, the dimension of the integrated object feature data is still 4-dimensional, and the dimension of the object feature data vector 105 spliced by the first splicing layer 122 can be calculated as 12-dimensional (4-dimensional x 3); splicing the object features and the context features into object feature data), the dimension of the spliced object feature data is 8 dimensions (4+4 dimensions), and the dimension of the object feature data vector 105 spliced by the first splicing layer 122 can be calculated as 24 dimensions (8 dimensions x 3) splicing; when only the two are simply combined into the object feature data, the dimension of the combined object feature data is 8 dimensions (4 dimensions × 2), and the dimension of the object feature data vector 105 spliced by the first splicing layer 122 can be calculated as 24 dimensions (4 dimensions × 3+4 dimensions × 3). In actual use, the dimensions of the object feature data may be different from the dimensions of the user preferred features, and thus the dimensions of the stitched object feature data vector 105 may be different from the dimensions of the stitched user preferred feature vectors 103-1 to 103-N. The dimensions of the object feature data vectors may also be compressed (e.g., to 4-dimensions, 6-dimensions, 12-dimensions, etc.) to reduce the computational load of the model.
Based on the obtained preference feature vectors 103-1 to 103-N and the object feature data vector 105 for each user, a user weighting weight corresponding to each user is calculated through an activation operation by the activation units 131-1 to 131-N using an attention mechanism.
The right dashed box of fig. 1 shows the specific structure of the activation unit. Each activation unit corresponds to a respective user for determining a weighted weight for that user, so that the activation unit, its internal activation sub-model and the corresponding weight output are labeled with the same label as the user's label. For example, the activation unit of the ith user is 131-i, which internally includes an activation sub-model 141-i, and the weight of the activation unit output is 132-i, where i is 1,2, …, N. Each activation cell 131-i has two inputs, one is the stitched user preference feature vector 103-i for user i and the other is the "common" stitched object feature data vector 105. The two vectors are subjected to a second stitching operation by the second stitching layer 123 before being input to the active sub-model 141-i to obtain input feature data in the form of a single vector input that the active sub-model 141-i can recognize, which may also be referred to as first stitching feature data. For example, before the second stitching operation, the user preference feature vector is a 12-dimensional vector, the "common" object feature data vector is 12-dimensional, and the vector input to the activation submodel is a stitched feature vector of 12+ 12-24 dimensions.
The activation submodel 141-i is used for deriving the importance of the matching between the preference feature of the user i and the object feature and the context feature to the multi-user recommendation result, namely the weight in the attention mechanism, based on the matching degree between the preference feature 103-i of the user i and the object feature data 105 (the object feature and the context feature). The output weight of the activation submodel 141-i, which represents the measure of importance as the output weight of the activation unit 131-i, may be in other forms such as a value between [0,1] intervals (e.g., scaling the weight to [0,1] using an activation function), or a value in other weight intervals. The activation submodels 141-i may be implemented using deep learning models, such as a deep neural network model structure, e.g., a deep neural network DNN, a convolutional network CNN, etc., and other models that can implement an attention mechanism may also be used. In embodiments of the present application, other algorithms and models that focus on and simplify the computation of information and features from different sources to obtain weights for corresponding information may also be used. Different activation units 131-i and their internal activation sub-models 141-i are typically used for different users i, i.e. different user preference characteristics 103-i. To simplify the model structure, the same activation unit and its internal activation submodel may also be used. The activation submodel 141-i requires training to optimize the parameters of the model before use based on training sample data consisting of labeled user preference features, object features, and context features. Over time, the parameters of the activation submodels may also be updated to accommodate the updates of the scene.
After the activation unit 131-i obtains the weights 132-1 to 132-N of each user for the multiuser recommendation, respectively, the fused user feature data is determined by the weighting layer 124 and the pooling layer 125 calculation for the multiuser recommendation, respectively.
The weighting layer 124 is used for multiplying the spliced user preference feature vector of each user with the weight of the user output by the activation unit respectively, and calculating the contribution of the user preference vector of each user to attention and the influence of multi-user recommendation. It should be noted that the adoption of the attention mechanism in the recommendation scheme of a single user is generally the comparison between the historical data and the current data of the single user, while the introduction of the attention mechanism in the multi-user recommendation scheme of the present application is based on the comparison between the current data of the object feature and the context feature of the object to be recommended combined by a plurality of users, and therefore, the method is more suitable for the complex requirements of a multi-user recommendation scenario. For example, the stitched user preference feature vector 103-i of the 1 st user is multiplied by the weight 132-1 of user 1 through vector multiplication to obtain a weighted user preference feature vector of user 1. After the weighted user preference feature vectors of all users 1 to N are calculated, the weighted user preference feature vectors of all users are pooled by the pooling layer 125 to obtain a fused user preference feature vector 107. The fused user preference feature vector 107, which may also be referred to as fused user feature data 107, is a vector having the same dimensions as the user preference feature vector 103-i. The fused user feature data 107 can be regarded as a feature of a "fused user" obtained by fusing features of a plurality of users, the "fused user" corresponding to a virtual user having the fused user feature data 107. The pooling process may employ sum pooling (Sum pooling), as well as other pooling algorithms such as max pooling, min pooling, and average pooling. Other types of fusion algorithms, such as aggregation functions, may also be used in accordance with embodiments of the present application.
The merged user feature data 107 is subjected to a third merging operation on the third merging layer 126 and the merged object feature data vector 105 (including the merged object feature vector and the context feature vector) output through the first merging layer 122 to generate second merged feature data, which is used as input feature data of the recommended sub-model 142. The recommendation submodel 142 is the top-level network structure of the entire system. Splicing the fused user feature data 107 with the object feature vector and the context feature vector is equivalent to splicing the 'fused user' as a new single-user feature vector with the 'public' feature vector to obtain a predicted feature vector 108, namely second spliced feature data, and inputting the second spliced feature data into the recommendation sub-model 142. The recommendation submodel 142 recommends information for the determined multi-user object corresponding to users 1 to N based on the output calculated by the input predicted feature vector 108, which may be interpreted as a probability that the object to be recommended appears in the recommendation information, such as a probability of a food (dish) being ordered again. Recommendation information may also take the form of a recommendation score or other recommendation. The recommended objects are ranked based on the probabilities to obtain a ranked list of objects to provide to a particular user or all users of the plurality of users. Similar to the activation submodel, the recommendation submodel 142 may be implemented using a deep learning model, such as a deep neural network DNN, convolutional network CNN, or other neural network model structure. The recommendation submodel 142 requires training to optimize the parameters of the model before use based on training sample data consisting of labeled user preference features, object features, and context features. Over time, the parameters of the activation submodels may also be updated to accommodate the updates of the scene.
Fig. 2 shows an exemplary structure of a system 200 for providing object recommendation information to a plurality of users. Compared with a recommendation system oriented to a single user, the multi-user recommendation system 200 needs to transmit information of users in a current event/scene to the recommendation system when each user sends a request to the recommendation system, and only the multi-user scene needs to transmit information of all users. Then, the recommendation system gives a recommendation result for the fusion preference of the current multiple users.
The recommendation system 200 may include an interaction unit 210, a gateway 220, and at least one recommendation unit 230-1, 230-2, etc.
A plurality of users (user 1 to user N) having user preference features 101-1 to 101-N, respectively, may log in to the interaction unit 210 providing the recommendation system interface through APP/applet running on a mobile phone or tablet device in a restaurant store. In the process of interacting with multiple users, the interaction unit 210 as a data server may obtain a user ID of the user (e.g., a member number of the user, a user identity represented by a mobile phone number, a social account number, etc.), so as to obtain user characteristic data or representation information stored on a local or remote server.
The gateway 220 may select an order having a plurality of users to order according to the user information in each order based on a preset rule or randomly, and provide the selected order to different recommending units 230-1, 230-2, etc. to output object recommendation information. Each of the recommending units 230-1, 230-2, etc. corresponds to the multi-user recommendation architecture or multi-user recommendation network model shown above in connection with fig. 1, which includes various algorithm layers and/or submodels for recommending multiple users. The different recommendation elements may include model structures that implement different AI recommendation algorithms (e.g., including an activation submodel and a recommendation submodel), or may be configured to implement manual recommendation strategies. The adoption of different recommending units can also be called 'barrel dividing' in the catering industry, and the order dividing operation can compare the performances of different recommending models or units, select the optimal recommending unit or update the model parameters in the recommending unit. The performance evaluation criteria of the recommended algorithm model may include, for example, conversion rate (how many of the recommended food items are selected or eaten), customer order ta (transaction amount), and the like. Different performance evaluation criteria can be selected according to different requirements to use the corresponding recommendation model or recommendation unit.
The recommendation result obtained by the recommendation unit is returned to the gateway 220 and further provided to the interaction unit 210, and then the object recommendation information is presented to the user via a display unit such as a touch screen or a display.
The following takes the recommendation unit 230-1 as an example to describe the specific structure of the recommendation unit, wherein the parts similar to the network architecture and flow in fig. 1 will not be described in detail.
The user feature data required for recommendation by the recommendation unit 230-1 is from information obtained from local or remote based on the user ID determined by the interaction unit 210, and the object feature data (object feature and context feature) associated with the object to be recommended may be obtained by the recommendation unit 230-1 from a local or remote object and context feature database based on the order context information provided by the gateway 220, or may be obtained by the interaction unit 210 and/or the gateway 220 from the database based on the order context information and forwarded to the recommendation unit 230-1. The recommending unit 230-1 that obtains these feature data obtains the fused user feature data through the activation unit and the fusion unit, respectively, and outputs object recommendation information by the recommendation sub-model 236 based on the fused user feature data and the object feature data.
When a discrete feature domain exists in at least one of the user preference feature, the object feature and the context feature of each user in the user feature data, it is necessary to convert the discrete feature part into a continuous feature part through the embedding unit 237, and form continuous feature vectors together with the original continuous feature domain in these features and perform a splicing operation in the third splicing unit 238 (corresponding to completing the function of the first splicing layer 122 in fig. 1) to form spliced user feature data and spliced object feature data, respectively. If there are no discrete feature fields but only continuous feature fields in the user preferred feature, object feature and context feature of each user, these continuous feature fields will no longer directly form continuous feature vectors through the embedding operation of the embedding unit 237 and the concatenation is completed by the third concatenation unit 238 to form the concatenated user feature data and the concatenated object feature data.
For each user, the stitched user preference feature vector and the stitched object feature vector and context feature vector (which may also be a stitched "common" object feature data vector) are input to the activation unit. The activation unit is used for determining the corresponding weight of each user through an activation operation based on the two spliced vector inputs. A first splicing unit 231 in the active units (corresponding to the function of completing the second splicing layer 123 in fig. 1) performs splicing operation on the two input vectors again to obtain first splicing feature data as input feature data of the active sub-model 232, and then determines a weight corresponding to the user, i.e., a contribution factor recommended for multiple users, by using an attention mechanism through the active sub-model 232.
The fusion unit is used for weighting and pooling based on the user preference feature vector of each user and the weight of the user to obtain fused user feature data. Wherein the weighting unit 233 multiplies the user preference feature vector of each user by its corresponding weight to obtain a weighted user preference feature vector. The pooling unit 234 pools the weighted user preference feature vectors to obtain a fused user feature data vector.
The merged user feature data is used as the user feature data of the "merged user", and is merged again with the object feature vector and the context feature vector previously output by the third merging unit 238 in the second merging unit 235 (corresponding to the completion of the function of the third merging layer 126 in fig. 1), so as to obtain the second merged feature data as the input feature data that can be used by the recommendation sub-model 236. The recommendation submodel 236 may determine object recommendation information based on input from the "converged user" and object characteristics data in a manner similar to making recommendations for a single user and return to the gateway 220. Here, the object recommendation information may be recommendation information obtained by comprehensively considering the recommendation score ranking and the business rule.
FIG. 3 further illustrates an exemplary flow of a method for providing object recommendation information to a plurality of users according to an embodiment of the application.
The recommendation method mainly comprises a step S310 for obtaining object characteristic data associated with an object to be recommended and user characteristic data of a plurality of users, a step S320 for determining fused user characteristic data, and a step S330 for determining object recommendation information based on the fused user characteristic data and the object characteristic data.
In step S310, a weight corresponding to each user is determined based on the user feature data and the object feature data (including the object feature and the context feature) of each user. Specifically, determining the weight may include stitching the user feature data and the object feature data into first stitched feature data corresponding to each user as input feature data of the activation submodel to determine the weight through an activation operation of the activation submodel using an attention mechanism.
If discrete feature fields are included in the user feature data and the object feature data, discrete feature portions may be converted into continuous feature portions for each of the object feature data and the user feature data, and the converted continuous feature portions may be concatenated with original continuous feature portions in the feature data into continuous feature data vectors, i.e., the concatenated user feature data and the concatenated object feature data. If there is no discrete feature domain in the feature data and only continuous feature parts exist, these original continuous feature parts can be spliced into a continuous feature data vector, i.e. spliced user feature data and spliced object feature data.
In step S320, the corresponding user feature data is weighted using the weights to obtain fused user feature data. And obtaining the fused user characteristic data, namely multiplying the user characteristic data of each user by the corresponding weight to obtain weighted user characteristic data, and then performing pooling to obtain the fused user characteristic data. The fused user feature data may be considered as user feature data of a "fused user".
Step S330 specifically includes splicing the fused user feature data and the object feature data into second spliced feature data as input feature data of the recommendation sub-model, and determining object recommendation information provided to the "fused user" as object recommendation information provided to the plurality of users using the recommendation sub-model.
When the number of the plurality of users in the recommendation scene changes, the object recommendation information may be updated.
By adopting the multi-user recommendation scheme provided by the application, the recommendation specificity of a multi-user participation scene is fully considered, and the optimal balance is achieved on the aspects of characteristic engineering, model generalization capability and instantaneity. On one hand, the method can fill the technical blank that the user preference is dispersed and needs to be fused urgently in a multi-user participation scene; on the other hand, the method can also be applied to other business links involving multi-person decision-making in the future. The proposal comprehensively considers the preferences of a plurality of users, leads the recommendation result to be more scientific, and adopts an attention mechanism to determine the user weight by an algorithm according to the characteristics of the users, the matching degree of the users and the objects to be recommended and the matching degree of the users and the context information. The introduction of the attention mechanism can automatically distinguish the importance of different user preference characteristics under the conditions of a scene and an object to be recommended, and provide differentiated weighting weight, so that the recommendation prediction is more accurate. The recommendation scheme is particularly suitable for a multi-person ordering scene in the catering industry, and can be used for real-time recommendation by combining the preference of each user and dish information in the same order.
It should be noted that although in the above detailed description several modules or units of the system for providing recommendations to a plurality of users are mentioned, this division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the application. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units. The components shown as modules or units may or may not be physical units, i.e. may be located in one place or may also be distributed over a plurality of network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the scheme of the application. One of ordinary skill in the art can understand and implement it without inventive effort.
In an exemplary embodiment of the present application, there is also provided a computer-readable storage medium, on which a computer program is stored, the program comprising executable instructions which, when executed by, for example, a processor, may implement the steps of the method for providing recommendations to a plurality of users as described in any one of the above embodiments. In some possible implementations, various aspects of the present application may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the present application described in the method for providing recommendations to a plurality of users of the present specification, when the program product is run on the terminal device.
A program product for implementing the above method according to an embodiment of the present application may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present application is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable storage medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable storage medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
In an exemplary embodiment of the present application, there is also provided an electronic device that may include a processor, and a memory for storing executable instructions of the processor. Wherein the processor is configured to perform the steps of the method for providing recommendations to a plurality of users in any of the above embodiments via execution of the executable instructions.
As will be appreciated by one skilled in the art, aspects of the present application may be embodied as a system, method or program product. Accordingly, various aspects of the present application may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 400 according to this embodiment of the present application is described below with reference to fig. 4. The electronic device 400 shown in fig. 4 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 4, electronic device 400 is embodied in the form of a general purpose computing device. The components of electronic device 400 may include, but are not limited to: at least one processing unit 410, at least one memory unit 420, a bus 430 that connects the various system components (including the memory unit 420 and the processing unit 410), a display unit 440, and the like.
Wherein the storage unit stores program code executable by the processing unit 410 to cause the processing unit 410 to perform steps according to various exemplary embodiments of the present application described in the present specification for a method for providing recommendations to a plurality of users. For example, the processing unit 410 may perform the steps as shown in fig. 3.
The storage unit 420 may include readable media in the form of volatile storage units, such as a random access memory unit (RAM)4201 and/or a cache memory unit 4202, and may further include a read only memory unit (ROM) 4203.
The storage unit 420 may also include a program/utility 4204 having a set (at least one) of program modules 4205, such program modules 4205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 430 may be any bus representing one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 400 may also communicate with one or more external devices 500 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 400, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 400 to communicate with one or more other computing devices. Such communication may occur via input/output (I/O) interfaces 450. Also, the electronic device 400 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) via the network adapter 460. The network adapter 460 may communicate with other modules of the electronic device 400 via the bus 430. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with electronic device 400, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, or a network device, etc.) to execute the method for providing recommendations to a plurality of users according to the embodiments of the present application.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.

Claims (31)

1. A method for providing recommendations to a plurality of users, comprising:
acquiring object characteristic data associated with an object to be recommended and user characteristic data of the plurality of users;
determining fused user feature data based on the user feature data of the plurality of users and the object feature data; and
and determining object recommendation information of the object to be recommended, which is provided for the plurality of users, based on the fused user characteristic data and the object characteristic data.
2. The method of claim 1, wherein determining fused user feature data based on the user feature data of the plurality of users and the object feature data further comprises:
determining a weight corresponding to each user based on the user characteristic data of each user and the object characteristic data;
weighting the user characteristic data of each user using a weight corresponding to the each user to obtain the fused user characteristic data.
3. The method of claim 2, wherein determining a weight corresponding to each user based on the user characteristic data and the object characteristic data of each user further comprises:
for each user, splicing the user characteristic data of the user and the object characteristic data into first spliced characteristic data of each user;
based on an attention mechanism, the first stitching feature data is subjected to an activation process to determine a weight corresponding to each user.
4. The method of claim 2, wherein weighting the user characteristic data of each user with a weight corresponding to the each user to obtain the fused user characteristic data further comprises:
multiplying the user characteristic data of each user by the weight corresponding to each user to obtain weighted user characteristic data;
the weighted user characteristic data is pooled to obtain fused user characteristic data.
5. The method according to any one of claims 1 to 4, wherein determining object recommendation information for the object to be recommended provided to the plurality of users based on the fused user characteristic data and the object characteristic data further comprises:
splicing the fused user characteristic data and the object characteristic data into second spliced characteristic data;
and determining the object recommendation information of the object to be recommended based on the second splicing characteristic data.
6. The method of claim 3, wherein at least one of the object feature data and the user feature data comprises a discrete feature portion and/or a raw continuous feature portion, and wherein obtaining the object feature data associated with the object to be recommended and the user feature data of the plurality of users further comprises:
in the case that at least one of the object feature data and the user feature data comprises the discrete feature portion, for each of the object feature data and the user feature data comprising the discrete feature portion, converting the discrete feature portion into a continuous feature portion, and stitching the converted continuous feature portion with the original continuous feature portion into the stitched object feature data or the stitched user feature data;
concatenating the original continuous feature portions into the concatenated object feature data or the concatenated user feature data for each of the object feature data and the user feature data, if neither the object feature data nor the user feature data includes the discrete feature portion; and
for each user, stitching the stitched user feature data and the stitched object feature data of the user into the first stitched feature data.
7. The method according to any one of claims 1 to 6, wherein the object feature data comprises object features associated with the object to be recommended and context features associated with a recommendation scene of the object to be recommended.
8. The method according to any one of claims 1 to 7, further comprising:
updating the object recommendation information provided to the plurality of users in a case where a number of users in the plurality of users changes.
9. The method of claim 3, wherein the first splice characteristic data is subjected to an activation process using an activation submodel.
10. The method of claim 5, wherein the object recommendation information for the object to be recommended is determined based on the second stitched feature data using a recommendation submodel.
11. The method of claim 9 or 10, wherein at least one of the activation submodel and the recommendation submodel is implemented using a deep learning model structure or a neural network model structure.
12. The method of claim 11, wherein the deep learning model structure or neural network model structure is matched to the recommendation scenario and/or the type of the user.
13. The method of any one of claims 1 to 7, wherein the object comprises a product and/or a service.
14. The method of claim 13, wherein the recommendation scenario comprises a restaurant order recommendation scenario.
15. The method according to any one of claims 1 to 14, wherein the method is implemented by a program running on a mobile device.
16. A system for providing recommendations to a plurality of users, comprising:
an interaction unit configured to interact with the plurality of users and present object recommendation information of an object to be recommended provided to the plurality of users;
at least one recommendation unit configured to communicate with the interaction unit, obtain object feature data associated with an object to be recommended and user feature data of the plurality of users, determine fused user feature data based on the user feature data of the plurality of users and the object feature data, and determine the object recommendation information based on the fused user feature data and the object feature data.
17. The system of claim 16, wherein the recommendation unit comprises:
an activation unit configured to determine a weight corresponding to each user based on user characteristic data of each user and the object characteristic data;
a fusion unit configured to weight the user feature data of each user using a weight corresponding to the each user to obtain the fused user feature data.
18. The system of claim 17, wherein the activation unit comprises:
a first splicing unit configured to splice, for each user, the user feature data of the user and the object feature data into first spliced feature data with each user;
an activation submodel configured to perform an activation process on the first stitching feature data to determine a weight corresponding to the user using an attention mechanism.
19. The system of claim 17, wherein the fusion unit comprises:
a weighting unit configured to multiply the user characteristic data of each user by a weight corresponding to each user to obtain weighted user characteristic data;
a pooling unit configured to pool the weighted user characteristic data to obtain fused user characteristic data.
20. The system according to any one of claims 16 to 19, wherein the recommending unit comprises:
a second splicing unit configured to splice the fused user feature data and the object feature data into second spliced feature data;
a recommendation sub-model configured to determine the object recommendation information of the object to be recommended based on the second stitching feature data.
21. The system according to claim 18, wherein at least one of the object characteristic data and the user characteristic data comprises discrete characteristic parts and/or original continuous characteristic parts, the recommendation submodel further comprising an embedding unit and a third stitching unit, wherein
In a case where at least one of the object feature data and the user feature data includes the discrete feature portion, for each of the object feature data and the user feature data including the discrete feature portion, the embedding unit converts the discrete feature portion into a continuous feature portion, and the third splicing unit splices the converted continuous feature portion with the original continuous feature portion into the spliced object feature data or the spliced user feature data;
in a case where neither the object feature data nor the user feature data includes the discrete feature part, for each of the object feature data and the user feature data, the third stitching unit stitches the original continuous feature part into the stitched object feature data or the stitched user feature data; and
the first splicing unit splices the spliced user feature data and the spliced object feature data into the first spliced feature data for each user.
22. The system according to any one of claims 16 to 21, wherein the object feature data comprises an object feature associated with the object to be recommended and a context feature associated with a recommendation scene of the object to be recommended.
23. The system according to any one of claims 16 to 22, wherein the recommendation unit is further configured to update the object recommendation information provided to the plurality of users in case the number of users in the plurality of users changes.
24. The system of claim 18, further comprising a gateway unit configured to select different recommendation units to determine the object recommendation information for different recommendation scenarios and/or different users.
25. The system of claim 18, wherein the activation submodel is a deep learning model structure or a neural network model structure.
26. The method of claim 20, wherein the recommendation submodel is a deep learning model structure or a neural network model structure.
27. The system of any one of claims 16 to 22, wherein the object comprises a product and/or a service.
28. The system of claim 27, wherein the recommendation scenario comprises a restaurant order recommendation scenario.
29. The system according to any of claims 16 to 28, wherein the interaction unit is a mobile device.
30. A computer-readable storage medium, on which a computer program is stored, the computer program comprising executable instructions that, when executed by a processor, carry out the method according to any one of claims 1 to 15.
31. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is arranged to execute the executable instructions to implement the method of any of claims 1 to 15.
CN202111299286.4A 2021-11-04 2021-11-04 Method and system for providing recommendations to multiple users Pending CN114004677A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111299286.4A CN114004677A (en) 2021-11-04 2021-11-04 Method and system for providing recommendations to multiple users

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111299286.4A CN114004677A (en) 2021-11-04 2021-11-04 Method and system for providing recommendations to multiple users

Publications (1)

Publication Number Publication Date
CN114004677A true CN114004677A (en) 2022-02-01

Family

ID=79927316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111299286.4A Pending CN114004677A (en) 2021-11-04 2021-11-04 Method and system for providing recommendations to multiple users

Country Status (1)

Country Link
CN (1) CN114004677A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114861035A (en) * 2022-03-18 2022-08-05 泉州万虹文旅有限公司 Tourist destination recommendation system and method based on tourist big data
CN114884888A (en) * 2022-05-10 2022-08-09 北京明略软件系统有限公司 Method and device for flow barreling, electronic equipment and storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114861035A (en) * 2022-03-18 2022-08-05 泉州万虹文旅有限公司 Tourist destination recommendation system and method based on tourist big data
CN114884888A (en) * 2022-05-10 2022-08-09 北京明略软件系统有限公司 Method and device for flow barreling, electronic equipment and storage medium
CN114884888B (en) * 2022-05-10 2024-04-30 北京明略软件系统有限公司 Method and device for traffic barrel division, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US11188831B2 (en) Artificial intelligence system for real-time visual feedback-based refinement of query results
Chen et al. Critiquing-based recommenders: survey and emerging trends
CN112487278A (en) Training method of recommendation model, and method and device for predicting selection probability
KR102407595B1 (en) Method, device and system for providing winery experience service based on metaverse
JP2019537120A (en) Visual search based on image analysis and prediction
US11521143B2 (en) Supply chain disruption advisor
CN109597973A (en) A kind of recommendation, generation method and the device of official documents and correspondence information
CN114004677A (en) Method and system for providing recommendations to multiple users
CN114036398B (en) Content recommendation and ranking model training method, device, equipment and storage medium
CN112672188B (en) Method, equipment and storage medium for recommending anchor
Büyüközkan et al. Intuitionistic fuzzy AHP based strategic analysis of service quality in digital hospitality industry
CN111353299B (en) Dialog scene determining method based on artificial intelligence and related device
Shen et al. A voice of the customer real-time strategy: An integrated quality function deployment approach
US11410111B1 (en) Generating predicted values based on data analysis using machine learning
CN116894711A (en) Commodity recommendation reason generation method and device and electronic equipment
CN107506479B (en) A kind of object recommendation method and apparatus
CN114429384B (en) Intelligent product recommendation method and system based on e-commerce platform
JP5588938B2 (en) Item recommendation apparatus, method and program
KR102273511B1 (en) Mehtod and apparatus for predicting prefernece
Wu et al. The construction of smart city community environment under the application of animation immersion technology integrated into southern Fujian Folk Culture
CN117786234B (en) Multimode resource recommendation method based on two-stage comparison learning
CN116881575B (en) Content pushing method, device, computer equipment and storage medium
KR102596554B1 (en) Method, device and system for providing user-customized start-up guide and consulting service based on artificial intelligence
KR102585901B1 (en) Method and system for improving open market published product content
CN117473457B (en) Big data mining method and system based on digital service

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20220201

Assignee: Baisheng Consultation (Shanghai) Co.,Ltd.

Assignor: Shengdoushi (Shanghai) Technology Development Co.,Ltd.

Contract record no.: X2023310000138

Denomination of invention: Method and system for providing recommendations to multiple users

License type: Common License

Record date: 20230714

EE01 Entry into force of recordation of patent licensing contract