Information pushing method and electronic device
Patent Information
- Application Number
- CN202211351328.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-31
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2042-10-31
AI Technical Summary
[0003]目前很多智能家居设备都具备用户交互功能,例如,用户说“我想吃酸菜鱼”,但是冰箱里没有酸菜了,冰箱依据谱聚类算法,获取与酸菜鱼相似最近的几道推荐菜,例如:红烧鲤鱼、清蒸鱼、水煮鱼、酸菜排骨,其中距离“酸菜鱼”最近的推荐菜“红烧鲤鱼”,会根据相似度最高的规则推荐给用户,但是用户可能并不喜欢吃这道菜,不符合用户的口味和饮食习惯,即推荐结果不满足用户需求
Smart Images

Figure CN118013302B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information processing technology, and in particular to an information push method and electronic device. Background Technology
[0002] Clustering algorithms classify data based on similarity. They have applications in many fields, including mathematics, computer science, statistics, biology, and economics. In these diverse applications, numerous clustering techniques have been developed, used to describe data, measure similarity between different data sources, and categorize data sources into different clusters.
[0003] Many smart home devices now have user interaction functions. For example, if a user says, "I want to eat sauerkraut fish," but there is no sauerkraut in the refrigerator, the refrigerator uses a spectral clustering algorithm to get the most similar recommended dishes to sauerkraut fish, such as braised carp, steamed fish, boiled fish, and sauerkraut ribs. Among them, the recommended dish "braised carp" which is closest to "sauerkraut fish" will be recommended to the user according to the rule of the highest similarity. However, the user may not like this dish, and it does not match the user's taste and eating habits. In other words, the recommendation result does not meet the user's needs. Summary of the Invention
[0004] This application provides an information push method and electronic device to implement an information recommendation mechanism that integrates clustering results with user corpus information, and pushes the most suitable recommendation information to the user.
[0005] This application provides an information push method, including:
[0006] When it is determined that information needs to be pushed, a clustering result is generated by pre-processing a clustering algorithm to divide a preset sample point into clusters; the clustering result includes at least one cluster, and each cluster includes at least one sample point;
[0007] Candidate sample points are determined based on the clustering results, and a comprehensive score for each candidate sample point is determined based on user corpus information obtained during user interaction. Push information is then output to the user based on the comprehensive score of each candidate sample point, and the push information includes information on the push sample point finally selected from the candidate sample points.
[0008] This method, when it is determined that information push is needed, firstly uses a clustering algorithm to cluster preset sample points to generate clustering results, wherein the clustering results include at least one cluster, and each cluster includes at least one sample point; then, based on the clustering results, candidate sample points are determined, and based on user corpus information obtained during user interaction, a comprehensive score is determined for each candidate sample point; and push information is output to the user based on the comprehensive score of each candidate sample point, the push information including information of the push sample point finally selected from the candidate sample points, thereby realizing an information recommendation mechanism that integrates clustering results with user corpus information, and can push the most suitable recommendation information to the user.
[0009] In some implementations, determining candidate sample points based on the clustering results includes:
[0010] Obtain the target sample points of the user's current interaction;
[0011] Based on the target sample point and the clustering result, an information push range is determined from the clustering result, and the information push range includes at least one candidate sample point associated with the target sample point.
[0012] In some implementations, determining the information push range from the clustering results based on the target sample points and the clustering results includes:
[0013] Based on the target sample point and the clustering results, candidate sample points with a similarity exceeding a preset threshold are determined from the clustering results.
[0014] In some implementations, determining candidate sample points from the clustering results that have a similarity exceeding a preset threshold with the target sample point includes:
[0015] In the clustering results, the cluster to which the target sample point belongs is determined;
[0016] Based on the distance of the feature vectors between the target sample point and other sample points within the cluster to which the target sample point belongs, a preset number of candidate sample points that are closest to the target sample point are determined.
[0017] In some implementations, the user corpus information includes: user sentiment corpus analysis results;
[0018] The results of the user sentiment corpus analysis include one or a combination of the following three items:
[0019] Emotional words, degree words, and negative words;
[0020] Among them, the emotional words are divided into positive words and negative words;
[0021] The degree words are divided into high degree words, normal degree words and low degree words, and different degree words correspond to different weights.
[0022] In some implementations, determining the comprehensive score for each candidate sample point based on user corpus information obtained during user interaction includes:
[0023] For each of the aforementioned candidate sample points:
[0024] A first score is determined for the user interaction corpus containing the candidate sample point, and a second score is determined for the user interaction corpus containing the components of the candidate sample point; wherein, the first score is calculated based on the user corpus information of the user interaction corpus containing the candidate sample point; and the second score is calculated based on the user corpus information of the user interaction corpus containing the components of the candidate sample point.
[0025] The sum of the first score and the second score is used as the comprehensive score for the candidate sample point.
[0026] In some implementations, before obtaining the user corpus information, the method further includes:
[0027] The negative words contained in the user interaction corpus are replaced with synonyms and words containing negation.
[0028] In some embodiments, the method further includes:
[0029] The number of sentences in user interaction corpus containing the same candidate sample point of negative sentiment type within a preset time period is counted. When the number of sentences exceeds a preset threshold, the candidate sample point is deleted from the information push range. The negative sentiment type of user interaction corpus contains an odd number of negative words.
[0030] In some embodiments, the method further includes:
[0031] The system counts the number of sentences in user interaction corpora containing the same candidate sample point with positive sentiment within a preset time period. When the number of sentences exceeds a preset threshold, a preset marker is set for the candidate sample point. The preset marker indicates that the candidate sample point can be given priority recommendation, or the preset marker indicates that the user can be prompted to exclude the candidate sample point and experience other recommended sample points.
[0032] The method of outputting push information to the user based on the comprehensive score of each candidate sample point includes: outputting push information to the user based on the comprehensive score of each candidate sample point and the preset tag.
[0033] Another embodiment of this application provides an electronic device including a memory and a processor, wherein the memory is used to store program instructions, and the processor is used to call the program instructions stored in the memory and execute any of the methods described above according to the obtained program.
[0034] Furthermore, according to embodiments, for example, a computer program product for a computer is provided, which includes software code portions that, when the product is run on the computer, perform the steps of the methods defined above. The computer program product may include a computer-readable medium on which the software code portions are stored. Furthermore, the computer program product may be directly loaded into the computer's internal memory and / or sent via a network through at least one of an upload process, a download process, and a push process.
[0035] Another embodiment of this application provides a computer-readable storage medium storing computer-executable instructions for causing the computer to perform any of the methods described above. Attached Figure Description
[0036] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0037] Figure 1 A schematic diagram illustrating the overall flow of an information push method provided in an embodiment of this application;
[0038] Figure 2 This is a schematic flowchart of a method for determining candidate sample points based on the clustering results provided in an embodiment of this application.
[0039] Figure 3 A flowchart illustrating the method for determining the similarity between two sample points provided in an embodiment of this application;
[0040] Figure 4 A flowchart illustrating the method for determining candidate sample points from the clustering results that have a similarity exceeding a preset threshold with the target sample point, as provided in this embodiment of the application.
[0041] Figure 5 A flowchart illustrating a method for determining a comprehensive score for each candidate sample point based on user corpus information obtained during user interaction, as provided in an embodiment of this application.
[0042] Figure 6 A flowchart illustrating the candidate sample point filtering mechanism provided in this application embodiment;
[0043] Figure 7 A flowchart illustrating the special labeling mechanism for candidate sample points provided in this application embodiment;
[0044] Figure 8 A schematic diagram of the overall flow of the recipe recommendation method provided in the embodiments of this application;
[0045] Figure 9 A flowchart illustrating the user sentiment scoring calculation mechanism in the recipe recommendation method provided in this application embodiment;
[0046] Figure 10 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0047] Figure 11 This is a schematic diagram of the structure of an information push device provided in an embodiment of this application. Detailed Implementation
[0048] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0049] This application provides an information push method and electronic device to implement an information recommendation mechanism that integrates clustering results with user corpus information, and pushes the most suitable recommendation information to the user.
[0050] The method and apparatus are based on the same concept of the application. Since the methods and apparatus solve problems in similar ways, the implementation of the apparatus and methods can refer to each other, and the repeated parts will not be described again.
[0051] The terms "first," "second," etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0052] The following examples and embodiments are to be understood as illustrative only. While this specification may refer to "a," "an," or "some" examples or embodiments in several places, this does not mean that every such reference relates to the same example or embodiment, nor does it mean that the feature applies only to a single example or embodiment. Individual features of different embodiments may also be combined to provide other embodiments. Furthermore, terms such as "comprising" and "including" should be understood not to limit the described embodiments to consisting only of those features mentioned; such examples and embodiments may also include features, structures, units, modules, etc., not specifically mentioned.
[0053] The various embodiments of this application will now be described in detail with reference to the accompanying drawings. It should be noted that the order in which the embodiments are presented in this application represents only a chronological order and does not represent the superiority or inferiority of the technical solutions provided by the embodiments.
[0054] See Figure 1 This application provides an information push method, including:
[0055] S101. When it is determined that information push needs to be performed, a clustering result is generated by pre-processing a clustering algorithm to divide a preset sample point into clusters; the clustering result includes at least one cluster, and each cluster includes at least one sample point;
[0056] in:
[0057] The determination that information push is needed can occur for various reasons, such as: a user interacting with the refrigerator via voice, saying "I want to eat sauerkraut fish now," but the refrigerator doesn't have sauerkraut or fish, in which case the refrigerator determines that information push is needed; or, the user actively requests the refrigerator to recommend a recipe (in which case the user doesn't need to say the target recipe), etc. In other words, the preconditions for triggering the information push method in this application embodiment can be determined according to actual needs, and there can be one or more triggering conditions to trigger the execution of step S101. This application embodiment does not impose limitations on these conditions.
[0058] The clustering algorithm mentioned is, for example, the spectral clustering algorithm, but it can also be other clustering algorithms, such as hierarchical clustering, k-means algorithm, EM algorithm, DBSCAN algorithm, OPTICS algorithm, Mean Shift algorithm, etc. This application embodiment does not limit the specific clustering algorithm.
[0059] The preset sample points are, for example, preset recipes (which may involve the preparation of desserts, pastries, or dishes). That is, the clustering method provided in this application embodiment can be applied to the clustering and division of recipes. For example, multiple preset recipes can be divided into multiple categories based on their ingredients. For example, multiple preset recipes (which can be specifically called recipes when they involve the preparation of dishes) can be divided into categories such as home-style dishes, Sichuan cuisine, Cantonese cuisine, Shandong cuisine, Hunan cuisine, Northeastern cuisine, Huaiyang cuisine, etc. Each category of recipes has one or more recipes.
[0060] The step described here, determining the pre-generated clustering results from the clustering algorithm used to divide the preset sample points, can be understood as calling the pre-generated clustering results. Of course, it is also possible to generate the latest clustering results in real time before each information push, and this application does not impose any restrictions on this.
[0061] It should be noted that the examples in this application use recipes as sample points for illustration, but are not limited to the application scenarios of recipes. The technical solutions provided in this application can also be applied to other application scenarios.
[0062] S102. Based on the clustering results, candidate sample points are determined, and based on the user corpus information obtained during the interaction with the user, a comprehensive score for each candidate sample point is determined. Push information is output to the user based on the comprehensive score of each candidate sample point, and the push information includes information on the push sample point finally selected from the candidate sample points.
[0063] in:
[0064] The user corpus information includes, for example, the results of user sentiment corpus analysis. In other words, this application embodiment can determine the comprehensive score of each candidate sample point based on the user sentiment corpus analysis results obtained during user interaction, and output push information to the user based on the comprehensive score of each candidate sample point. The push information includes information about the push sample point finally selected from the candidate sample points, thereby realizing an information recommendation mechanism that integrates clustering results with user sentiment, and can push the most suitable recommendation information to the user.
[0065] The information of the final selected push sample point, such as the final confirmed recommended recipe.
[0066] In some implementations, see Figure 2 The step of determining candidate sample points based on the clustering results includes:
[0067] S201. Obtain the target sample point of the user's current interaction;
[0068] S202. Based on the target sample point and the clustering result, determine the information push range from the clustering result, wherein the information push range includes at least one candidate sample point associated with the target sample point.
[0069] For example, if a user interacts with the refrigerator via voice and says, "I want to eat pickled fish now," then "pickled fish" is the target sample point.
[0070] At least one candidate sample point associated with the target sample point, such as a recipe belonging to the same cluster as "pickled fish", or a recipe containing the same main ingredients as "pickled fish", etc. The specific method for determining the information push range is not limited in this application embodiment, and can be determined according to actual needs. There can also be one or more methods for determining the information push range.
[0071] In some implementations, determining the information push range from the clustering results based on the target sample points and the clustering results includes:
[0072] Based on the target sample point and the clustering results, candidate sample points with a similarity exceeding a preset threshold are determined from the clustering results.
[0073] For example, to find the n recipes most similar to "pickled fish" from the clustering results, there are multiple ways to determine the similarity, such as judging based on the distance between the feature vectors of the recipes.
[0074] Of course, other methods can also be used to determine the similarity between two sample points, see [link to relevant documentation]. Figure 3 ,For example:
[0075] S301. Generate a clustering result image based on the clustering results, wherein the clustering result image includes an icon for each sample point, and the closer the distance between the icons of any two sample points, the more similar the two sample points are;
[0076] For the target sample point:
[0077] S302. On the clustering result image, determine the region centered on the target sample point;
[0078] S303. Based on the distance between the target sample point and the sample points in the region, determine the candidate sample points whose similarity to the target sample point exceeds a preset threshold. For example, sample points whose distance to each other is less than a preset value are used as candidate sample points, where the closer the distance, the higher the similarity.
[0079] Regarding the region centered on the target sample point, for example, on the clustering result image, a circular region with the target sample point as the center and R as the radius is determined, or a region of other shapes. The size of the region can be preset or determined by gradually adjusting using preset rules.
[0080] In some implementations, see Figure 4 The step of determining candidate sample points from the clustering results whose similarity to the target sample point exceeds a preset threshold includes:
[0081] S401. In the clustering results, determine the cluster to which the target sample point belongs;
[0082] S402. Based on the distance between the feature vectors of the target sample point and other sample points within the cluster to which the target sample point belongs, determine a preset number of candidate sample points that are closest to the target sample point within the cluster to which the target sample point belongs.
[0083] In some implementations, the user corpus information includes: user sentiment corpus analysis results;
[0084] The results of the user sentiment corpus analysis include one or a combination of the following three items:
[0085] Emotional words, degree words, and negative words;
[0086] Among them, the emotional words are divided into positive words and negative words;
[0087] The degree words are divided into high degree words, normal degree words and low degree words, and different degree words correspond to different weights.
[0088] in:
[0089] The emotional words, for example:
[0090] Positive words: like, love, want...;
[0091] Negative words: hate, loathe...
[0092] The emotional words, for example:
[0093] High-level words: very, especially, extremely;
[0094] Normal degree words (without prefixes);
[0095] Low-level words: a little, somewhat...
[0096] Different degree words correspond to different weights. For example, the weights of the three degrees mentioned above are represented by μ1, μ2, and μ3, respectively. The scoring weights are defined differently for different degree words. For example, μ1 has a weight of 1, μ2 has a weight of 0.5, and μ3 has a weight of 0.2.
[0097] The negation words, such as "no" or "not".
[0098] In some implementations, see Figure 5 The step of determining a comprehensive score for each candidate sample point based on user corpus information obtained during user interaction includes:
[0099] For each candidate sample point:
[0100] S501. Determine the first score of the user interaction corpus containing the candidate sample point and the second score of the user interaction corpus containing the components of the candidate sample point.
[0101] The first score is calculated based on user corpus information containing the candidate sample point; for example, the first score can be calculated based on one or more words among sentiment words, degree words, and negation words in the user interaction corpus containing the candidate sample point.
[0102] The second score is calculated based on user corpus information containing the components of the candidate sample point. These components, for example, in the candidate sample point "scrambled eggs with tomatoes," may include "tomatoes" and "eggs." Therefore, the second score can be calculated based on one or more words from the sentiment words, degree words, and negation words in the user interaction corpus containing "tomatoes" and / or "eggs." This is because the ingredients used in a recipe reflect user preferences to some extent. For example, if a user has stated "I don't like tomatoes," even if "scrambled eggs with tomatoes" is the candidate recipe with the highest similarity to the target recipe, the user's explicit dislike of tomatoes during the interaction will still influence the recommendation results. Therefore, the ingredients used in candidate recipes are also included in the scoring mechanism. Alternatively, candidate recipes containing ingredients that the user explicitly dislikes can be directly deleted from the candidate recipe set. For example, if the user interaction corpus contains phrases like "I don't like tomatoes," then the "scrambled eggs with tomatoes" recipe will be deleted from the candidate recipe set and not considered as a recommendation candidate.
[0103] S502. The sum of the first score and the second score is used as the comprehensive score of the candidate sample point.
[0104] In some implementations, before obtaining the user corpus information, the method further includes:
[0105] The negative words contained in the user interaction corpus are replaced with synonyms and words containing negation.
[0106] For example, replacing "dislike" with "don't like" makes it easier to count the number of times negative words appear in single-sentence user interaction corpora containing the same recipe, thus facilitating score calculation based on "negative words".
[0107] In some implementations, see Figure 6 The method further includes:
[0108] S601. Count the number of sentences in user interaction corpus containing the same candidate sample point with negative sentiment type within a preset time period;
[0109] S602. When the number of sentences exceeds a preset threshold, the candidate sample point is deleted from the information push range, wherein the user interaction corpus of the negative sentiment type contains an odd number of negative words.
[0110] In other words, this application provides a filtering mechanism for candidate sample points, such as a filtering mechanism for candidate recipes. Specifically, for example, if a user says "I don't like scrambled eggs with tomatoes" five times within a week, then this candidate recipe "scrambled eggs with tomatoes" will be excluded, even if it has the highest overall rating, and will not be recommended. The application of this filtering mechanism improves the flexibility of the user rating mechanism.
[0111] In some implementations, see Figure 7 The method further includes:
[0112] S701. Count the number of sentences in user interaction corpus containing the same candidate sample point with positive sentiment type within a preset time period;
[0113] S702. When the number of sentences exceeds a preset threshold, a preset marker is set for the candidate sample point. The preset marker is used to indicate that the candidate sample point can be given priority recommendation, or the preset marker is used to indicate that the user can be prompted to exclude the candidate sample point and experience other recommended sample points.
[0114] The method of outputting push information to the user based on the comprehensive score of each candidate sample point includes: outputting push information to the user based on the comprehensive score of each candidate sample point and the preset tag.
[0115] In other words, this application provides a special marking mechanism for candidate sample points. For example, if the number of sentences containing positive emotional type user interaction data for the same candidate recipe in the past week exceeds a set threshold (e.g., l1), or the rating reaches a relatively high threshold (e.g., l2), then the candidate recipe will be marked separately. For example, a preset mark can be set to indicate that when recommending to users, the candidate recipe can be given priority (if the user particularly likes it, continue to recommend it to cater to the user's preferences); or the recommendation of the candidate recipe can be excluded, reminding the user to try a different recipe and experience other cuisines.
[0116] Alternatively, as an implementation method, before outputting the recommended recipe, it can be considered whether the ingredients involved in the recommended recipe are in the refrigerator. If so, they will be output as the final recommendation to the user. Otherwise, other recommended recipes can be considered. For example, the final selection can be carried out according to the comprehensive score, and the recipe with the highest comprehensive score and all relevant ingredients (at least including the main ingredients) in the refrigerator can be selected and recommended to the user.
[0117] In summary, this application proposes a comprehensive scoring mechanism that integrates positive and negative sentiment words. The user interaction corpus is divided into sentiment words, degree words, and negation words. Different weights are assigned to different degrees, and the positive or negative score of each score is determined by the frequency of the negative word. Finally, a comprehensive score of positive and negative sentiment words is obtained, which more clearly and accurately describes user preferences, provides users with more reasonable interactive recommendation information, and improves the intelligence and humanization of the product.
[0118] The following is a specific example illustrating a recipe recommendation method that integrates spectral clustering algorithm with user sentiment rating mechanism, as described in this application. Based on a corpus analysis method that integrates spectral clustering algorithm with user sentiment rating mechanism, a scoring method is established that divides recipes into sentiment words, degree words, and negative words. Positive and negative scores are combined to obtain recipe rating tags. Recommendations are made based on scores and similarity, allowing users to obtain recommended recipes with the highest similarity to their target recipes and that conform to their habits. In this embodiment, web crawlers are used to obtain relevant recipe data. The ingredients for each dish in the recipe are preprocessed, ordered according to their importance in the recipe (main ingredients first, auxiliary ingredients last), with weights assigned based on the order of importance, and the sum of the weights is 1. A vector is constructed based on the weight distribution of the ingredients for each dish. In this embodiment, the input to the spectral clustering algorithm is the vector data constructed from the recipe ingredients, and the output of the spectral clustering algorithm is the clustering result divided according to the similarity of the ingredients. Then, the recipe information (target recipe) from user interaction is obtained, the cluster of recipes in which the target recipe belongs is obtained, and the n candidate recipes that are closest to the target recipe are obtained with the target recipe as the center. The sentiment scoring mechanism algorithm is invoked, and the similarity and sentiment score are combined to output the recommended recipes with high similarity and high score, so as to achieve a more humanized interaction.
[0119] See Figure 8 The main process of the recipe recommendation method provided in this embodiment includes:
[0120] 1. Obtain the ingredients for each dish in the recipe. The ingredients are ordered according to their importance in the recipe, with the main ingredients first and the auxiliary ingredients last. The weights are set according to the order of the ingredients, and the sum of the weights is 1. Construct a vector based on the weight distribution of the ingredients for each dish and input the recipe data.
[0121] The recipe uses ingredients including main ingredients and side ingredients, ordered by main ingredients first and side ingredients last. The total number of ingredient types is N, and the number of side ingredients is m. The first main ingredient has a weight of 1 / N, the sum of the weights of the m side ingredients is 1 / N, the weight of each side ingredient is 1 / mN, and the weights of the remaining main ingredients are:
[0122] (1-1 / 2-1 / N) / (Nm).
[0123] 2. Normalize the weights of ingredients in the recipe.
[0124] Specifically, referring to the above formula (1-1 / 2-1 / N) / (Nm), the weights are divided between 0 and 1 to complete the normalization.
[0125] 3. Calculate the similarity adjacency matrix W for each recipe, that is, calculate W for any two recipes. The formula for calculating W is as follows:
[0126]
[0127] Where d(v) i ,v j W represents the Euclidean distance between two samples (i.e., two recipes), and σ represents the preset scale parameter, which is a constant. W changes with the value of σ.
[0128] 4. Construct the degree matrix, the calculation formula is as follows:
[0129]
[0130] This step involves calculating the sum of the elements in each row of the similarity matrix W.
[0131] 5. Calculate the Laplace matrix L:
[0132] L=D ij -W ij
[0133] 6. Calculate the eigenvalues of L, sort the eigenvalues from smallest to largest, take the first k eigenvalues, and calculate the eigenvectors of the first k eigenvalues.
[0134] 7. Implement spectral clustering and output clustered recipe information, i.e., output the clustering results of the recipes.
[0135] It should be noted that the above steps can all be implemented using existing algorithms. That is, how to perform clustering in this embodiment can be implemented using existing technologies. Therefore, the specific steps involved will not be described in detail.
[0136] 8. Use the user sentiment rating mechanism to obtain the rating tags of candidate recipes.
[0137] 9. Output the recommended recipe with the highest rating and the highest similarity.
[0138] The specific processing flow of the user sentiment scoring mechanism invoked is as follows: Figure 9 As shown, the specific content is as follows:
[0139] After obtaining the current cluster of recipes obtained by clustering recipes with similar ingredient information using a spectral clustering algorithm, the target recipe required for user interaction is obtained. The information of the target recipe and its cluster are retrieved, and the distance (i.e., similarity) between the target recipe and all recipes in that cluster is calculated, centered on the target recipe. The distance calculation formula is as follows:
[0140]
[0141] Where k represents the vector dimension of the k dishes in the cluster where the target recipe is located, x i y represents the vector of recipe i among k dishes in the cluster containing the target recipe. i This represents a vector representing the target recipe. This vector is a feature vector.
[0142] Based on the distance values, obtain the n recipes that are closest to the target recipe. In other words, the closer the distance between the feature vectors of two sample points, the higher the similarity between the two sample points.
[0143] Invoking the user sentiment scoring calculation mechanism:
[0144] Within a certain timeframe (i.e., a preset duration), a large amount of user interaction data will be generated during the intelligent interaction between the user and the refrigerator. This user interaction data often carries emotional connotations. For example, in the user interaction data "I want to eat oranges," "want" can be defined as a positive emotion, while in the user interaction data "I hate oranges the most," "hate" can be defined as a negative emotion. Therefore, the user interaction data can be categorized into at least one or more of the following three categories: emotion words, degree words, and negation words.
[0145] Here, w represents emotion words, w1 is positive words (like, love, want, etc.), and w2 is negative words (dislike, loathe, etc.). In some implementations, in the emotion scoring calculation mechanism, some negative words such as "dislike" are replaced with synonyms and negative words with negative words, such as "dislike". This is used to count the number of times negative words appear in single-sentence user interaction corpora containing the same recipe, thereby facilitating score calculation.
[0146] Degree words are represented by μ, and there are three types of degree words, represented by μ1, μ2, and μ3 to indicate different degrees (weights). μ1 represents high degree words, such as "very," "especially," and "extremely." μ2 represents normal degree words without prefixes. μ3 represents low degree words, such as "somewhat" and "a little." The scoring weights for different degree words are defined differently. For example, μ1 has a weight of 1, μ2 has a weight of 0.5, and μ3 has a weight of 0.2.
[0147] Negative words such as "no" or "not" are used. The frequency of these negative words determines whether the user's sentiment towards the recipe is positive or negative, avoiding situations where a negation of a negation indicates affirmation. For example, the user interaction corpus "I don't dislike potatoes" is an affirmative statement, belonging to the positive sentiment type. Therefore, an odd number of negative words indicates negation (negative sentiment), while an even number indicates affirmation (positive sentiment). In other words, by counting the occurrences of negative words in a single sentence, we can determine whether the sentence belongs to the negative or positive sentiment type. That is, if an odd number of negative words appear in a single sentence, it is considered a negative sentiment type; otherwise, it is considered a positive sentiment type.
[0148] Alternatively, for user interaction corpora with positive emotions, the judgment can be made by combining positive words and negative words. For example, if a user interaction corpus does not contain negative words but only positive words, such as "like" but not "no", then the user interaction corpus can also be judged as a user interaction corpus with positive emotions.
[0149] In some implementations, a recipe filtering mechanism is set up. A threshold f is pre-defined for the number of sentences containing negative sentiment within the user interaction corpus that describe the same recipe (any recipe). If, within a certain timeframe, such as the past week, the number of user interaction sentences containing negative sentiment related to the same candidate recipe exceeds the threshold f (e.g., a user says "I don't like scrambled eggs with tomatoes" 5 times in a week), and 5 is greater than f, then the candidate recipe "scrambled eggs with tomatoes" is excluded, even if its overall rating is high. This filtering mechanism improves the flexibility of the user rating mechanism.
[0150] In some implementations, a special labeling mechanism for recipes is set up. When the number of sentences in user interaction corpora with positive emotional types containing the same candidate recipe exceeds a set threshold (e.g., l1) within a preset time period, such as within the past week, or the rating reaches a relatively high threshold (e.g., l2), the candidate recipe is individually labeled. For example, a preset label is set to indicate that the candidate recipe can be given priority recommendation (if the user particularly likes it, continue to recommend it to cater to the user's preferences); or the candidate recommendation is excluded to remind the user to try something different and experience other cuisines.
[0151] In some implementations, the ingredients used in the target recipe reflect user preferences to some extent. For example, if the user interaction corpus states "I don't like tomatoes," even though the candidate recipe with the highest similarity to the target recipe is scrambled eggs with tomatoes, the user's explicit dislike of tomatoes during the interaction will still influence the recommendation. Therefore, the ingredients used in the target recipe are also included in the scoring mechanism. Alternatively, candidate recipes containing ingredients that the user explicitly dislikes can be directly deleted from the candidate recipe set. For example, if the user interaction corpus contains phrases like "I don't like tomatoes," then the recipe "scrambled eggs with tomatoes" will be deleted from the candidate recipe set and not considered as a recommendation candidate.
[0152] After the above processing, the comprehensive score for each candidate recipe in the candidate recipe set is calculated using, for example, the following formula:
[0153]
[0154] in:
[0155] s j This represents the comprehensive score of candidate recipe j in the set of candidate recipes (i.e., the information push range) that belong to the same cluster as the target recipe and have a similarity greater than a preset threshold.
[0156] S j Indicates candidate recipe j;
[0157] l represents the number of sentences in the user interaction corpus that contain candidate recipe j within the preset time period;
[0158] s1 represents the initial defined score of candidate recipe j;
[0159] μ represents the weight of degree words in the user interaction corpus containing candidate recipe j;
[0160] n represents the number of times the negative word appears in a single sentence of user interaction corpus containing candidate recipe j;
[0161] In other words, This represents the overall score of the corpus containing recipe j.
[0162] S jm This indicates the ingredients involved in candidate recipe j, such as main ingredients;
[0163] h represents the number of sentences in the user interaction corpus that contain ingredient m within the preset time period;
[0164] s2 represents the initial definition score of the ingredients used in candidate recipe j;
[0165] Wherein, s1 is the initial defined score of candidate recipe j, and s2 is the initial defined score of the ingredients used in the candidate recipe. Since the effect of negative emotions will directly affect the user's degree of aversion to the recipe, in some embodiments, the initial score of s2 can be set much higher than s1. For example, s2 can be set to an integer multiple of s1 according to the actual situation.
[0166] In other words, This represents the overall score of the corpus containing ingredients from recipe j.
[0167] In summary, the scores of all relevant corpora for candidate recipe j are summed up, that is, the scores of the corpora related to the recipe in recipe j are obtained. Scores of all corpus related to the ingredients in recipe j Sum the results to obtain the final score s for candidate recipe j. j .
[0168] In other words, by using the above-mentioned sentiment scoring mechanism, we can finally use the above formula to obtain the comprehensive score of each of the multiple candidate recipes that are highly similar to the target recipe.
[0169] As can be seen, the embodiments of this application ultimately achieve comprehensive recommendation based on the comprehensive rating tags and similarity values (distance between feature vectors) of candidate recipes, and output the final recommended recipes, such as the one or more recipes with the highest comprehensive rating.
[0170] It should be noted that in this embodiment, negative sentiment words are included in the scoring primarily to account for the rare cases where users repeatedly say they want to eat a dish they dislike, or where users use positive sentiment words but they are mistakenly identified as negative sentiment words. Therefore, directly excluding recipes containing negative sentiment words is inaccurate. By including both positive and negative sentiment words in the scoring, with negative sentiment words initially receiving a higher score than positive sentiment words, a comprehensive score is obtained. Recipes with higher scores are more in line with user preferences and expectations.
[0171] In summary, this embodiment proposes a corpus analysis method based on spectral clustering algorithm and user sentiment scoring mechanism by embedding a user sentiment scoring mechanism into the spectral clustering algorithm. This results in more accurate output and a better interactive effect. The user sentiment scoring mechanism extracts sentiment, degree, and negation words as keywords from various types of interactive corpora. It analyzes each sentence as a unit of target corpus, using a specific time period as the target time. It analyzes multiple relevant target information in the interactive corpus, performing comprehensive analysis and calculation to obtain a more accurate and reasonable target output. Furthermore, a filtering mechanism is added to the user sentiment scoring mechanism to avoid mechanically sorting based on scores, increasing the flexibility of the corpus analysis method based on spectral clustering algorithm and user sentiment scoring mechanism, and increasing the selectivity of the output.
[0172] The following describes the device or apparatus provided in the embodiments of this application. Explanations or examples of the same or corresponding technical features as those described in the above methods will not be repeated hereafter. The device or apparatus provided in the embodiments of this application may be, for example, a smart home appliance, such as a refrigerator or a control device within a refrigerator.
[0173] See Figure 10 The electronic device provided in this application embodiment includes:
[0174] Processor 600 is used to read the program from memory 620 and execute the following procedures:
[0175] When it is determined that information needs to be pushed, a clustering result is generated by pre-processing a clustering algorithm to divide a preset sample point into clusters; the clustering result includes at least one cluster, and each cluster includes at least one sample point;
[0176] Candidate sample points are determined based on the clustering results, and a comprehensive score for each candidate sample point is determined based on user corpus information obtained during user interaction. Push information is then output to the user based on the comprehensive score of each candidate sample point, and the push information includes information on the push sample point finally selected from the candidate sample points.
[0177] In some implementations, determining candidate sample points based on the clustering results includes:
[0178] Obtain the target sample points of the user's current interaction;
[0179] Based on the target sample point and the clustering result, an information push range is determined from the clustering result, and the information push range includes at least one candidate sample point associated with the target sample point.
[0180] In some implementations, determining the information push range from the clustering results based on the target sample points and the clustering results includes:
[0181] Based on the target sample point and the clustering results, candidate sample points with a similarity exceeding a preset threshold are determined from the clustering results.
[0182] In some implementations, determining candidate sample points from the clustering results that have a similarity exceeding a preset threshold with the target sample point includes:
[0183] In the clustering results, the cluster to which the target sample point belongs is determined;
[0184] Based on the distance of the feature vectors between the target sample point and other sample points within the cluster to which the target sample point belongs, a preset number of candidate sample points that are closest to the target sample point are determined.
[0185] In some implementations, the user corpus information includes: user sentiment corpus analysis results;
[0186] The results of the user sentiment corpus analysis include one or a combination of the following three items:
[0187] Emotional words, degree words, and negative words;
[0188] Among them, the emotional words are divided into positive words and negative words;
[0189] The degree words are divided into high degree words, normal degree words and low degree words, and different degree words correspond to different weights.
[0190] In some implementations, determining the comprehensive score for each candidate sample point based on user corpus information obtained during user interaction includes:
[0191] For each of the aforementioned candidate sample points:
[0192] A first score is determined for the user interaction corpus containing the candidate sample point, and a second score is determined for the user interaction corpus containing the components of the candidate sample point; wherein, the first score is calculated based on the user corpus information of the user interaction corpus containing the candidate sample point; and the second score is calculated based on the user corpus information of the user interaction corpus containing the components of the candidate sample point.
[0193] The sum of the first score and the second score is used as the comprehensive score for the candidate sample point.
[0194] In some embodiments, before acquiring the user corpus information, the processor 600 is further configured to read the program in the memory 620 and execute the following processes:
[0195] The negative words contained in the user interaction corpus are replaced with synonyms and words containing negation.
[0196] In some embodiments, the processor 600 is also configured to read a program from the memory 620 and perform the following processes:
[0197] The number of sentences in user interaction corpus containing the same candidate sample point of negative sentiment type within a preset time period is counted. When the number of sentences exceeds a preset threshold, the candidate sample point is deleted from the information push range. The negative sentiment type of user interaction corpus contains an odd number of negative words.
[0198] In some embodiments, the processor 600 is also configured to read a program from the memory 620 and perform the following processes:
[0199] The system counts the number of sentences in user interaction corpora containing the same candidate sample point with positive sentiment within a preset time period. When the number of sentences exceeds a preset threshold, a preset marker is set for the candidate sample point. The preset marker indicates that the candidate sample point can be given priority recommendation, or the preset marker indicates that the user can be prompted to exclude the candidate sample point and experience other recommended sample points.
[0200] The method of outputting push information to the user based on the comprehensive score of each candidate sample point includes: outputting push information to the user based on the comprehensive score of each candidate sample point and the preset tag.
[0201] In some embodiments, the electronic device provided in this application further includes a transceiver 610 for receiving and sending data under the control of a processor 600.
[0202] Among them, Figure 10In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (processor 600) and memory (memory 620). The bus architecture can also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 610 can be multiple elements, including a transmitter and a receiver, providing a unit for communicating with various other devices over a transmission medium.
[0203] In some embodiments, the electronic device provided in this application further includes a user interface 630. The user interface 630 may be an interface that can connect to external or internal devices, including but not limited to keypads, displays, speakers, microphones, joysticks, etc.
[0204] The processor 600 is responsible for managing the bus architecture and general processing, while the memory 620 can store the data used by the processor 600 when performing operations.
[0205] In some embodiments, the processor 600 may be a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a CPLD (Complex Programmable Logic Device).
[0206] See Figure 11 Another embodiment of this application provides an information push device including:
[0207] The first unit 11 is used to determine the clustering results generated by pre-processing a clustering algorithm to divide preset sample points when it is determined that information push needs to be performed; the clustering results include at least one cluster, and each cluster includes at least one sample point;
[0208] The second unit 12 is used to determine candidate sample points based on the clustering results, and to determine a comprehensive score for each candidate sample point based on user corpus information obtained during user interaction, and to output push information to the user based on the comprehensive score of each candidate sample point, wherein the push information includes information on the push sample point finally selected from the candidate sample points.
[0209] In some implementations, determining candidate sample points based on the clustering results includes:
[0210] Obtain the target sample points of the user's current interaction;
[0211] Based on the target sample point and the clustering result, an information push range is determined from the clustering result, and the information push range includes at least one candidate sample point associated with the target sample point.
[0212] In some implementations, determining the information push range from the clustering results based on the target sample points and the clustering results includes:
[0213] Based on the target sample point and the clustering results, candidate sample points with a similarity exceeding a preset threshold are determined from the clustering results.
[0214] In some implementations, determining candidate sample points from the clustering results that have a similarity exceeding a preset threshold with the target sample point includes:
[0215] In the clustering results, the cluster to which the target sample point belongs is determined;
[0216] Based on the distance of the feature vectors between the target sample point and other sample points within the cluster to which the target sample point belongs, a preset number of candidate sample points that are closest to the target sample point are determined.
[0217] In some implementations, the user corpus information includes: user sentiment corpus analysis results;
[0218] The results of the user sentiment corpus analysis include one or a combination of the following three items:
[0219] Emotional words, degree words, and negative words;
[0220] Among them, the emotional words are divided into positive words and negative words;
[0221] The degree words are divided into high degree words, normal degree words and low degree words, and different degree words correspond to different weights.
[0222] In some implementations, determining the comprehensive score for each candidate sample point based on user corpus information obtained during user interaction includes:
[0223] For each of the aforementioned candidate sample points:
[0224] A first score is determined for the user interaction corpus containing the candidate sample point, and a second score is determined for the user interaction corpus containing the components of the candidate sample point; wherein, the first score is calculated based on the user corpus information of the user interaction corpus containing the candidate sample point; and the second score is calculated based on the user corpus information of the user interaction corpus containing the components of the candidate sample point.
[0225] The sum of the first score and the second score is used as the comprehensive score for the candidate sample point.
[0226] In some implementations, before acquiring the user corpus information, the second unit 12 is further configured to:
[0227] The negative words contained in the user interaction corpus are replaced with synonyms and words containing negation.
[0228] In some embodiments, the second unit 12 is further used for:
[0229] The number of sentences in user interaction corpus containing the same candidate sample point of negative sentiment type within a preset time period is counted. When the number of sentences exceeds a preset threshold, the candidate sample point is deleted from the information push range. The negative sentiment type of user interaction corpus contains an odd number of negative words.
[0230] In some embodiments, the second unit 12 is further used for:
[0231] The system counts the number of sentences in user interaction corpora containing the same candidate sample point with positive sentiment within a preset time period. When the number of sentences exceeds a preset threshold, a preset marker is set for the candidate sample point. The preset marker indicates that the candidate sample point can be given priority recommendation, or the preset marker indicates that the user can be prompted to exclude the candidate sample point and experience other recommended sample points.
[0232] The method of outputting push information to the user based on the comprehensive score of each candidate sample point includes: outputting push information to the user based on the comprehensive score of each candidate sample point and the preset tag.
[0233] It should be noted that the division of units in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.
[0234] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0235] This application provides a computing device, which may specifically be a desktop computer, portable computer, smartphone, tablet computer, personal digital assistant (PDA), etc. The computing device may include a central processing unit (CPU), memory, input / output devices, etc. Input devices may include a keyboard, mouse, touchscreen, etc., and output devices may include display devices, such as a liquid crystal display (LCD) or a cathode ray tube (CRT).
[0236] The memory may include read-only memory (ROM) and random access memory (RAM), and provides the processor with program instructions and data stored in the memory. In the embodiments of this application, the memory may be used to store the program of any of the methods provided in the embodiments of this application.
[0237] The processor executes any of the methods described in the embodiments of this application according to the program instructions stored in the memory.
[0238] This application also provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform any of the methods described in the above embodiments. 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 electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.
[0239] This application provides a computer-readable storage medium for storing computer program instructions used in the apparatus provided in the above-described embodiments, including a program for performing any of the methods provided in the above-described embodiments. The computer-readable storage medium may be a non-transitory computer-readable medium.
[0240] The computer-readable storage medium can be any available medium or data storage device that a computer can access, including but not limited to magnetic storage (e.g., floppy disks, hard disks, magnetic tapes, magneto-optical disks (MOs), etc.), optical storage (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor storage (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND flash), solid-state drives (SSDs)).
[0241] It should be understood that:
[0242] The access technology used by entities in a communication network to transmit traffic can be any suitable current or future technology, such as WLAN (Wireless Local Access Network), WiMAX (Microwave Access Global Interoperability), LTE, LTE-A, 5G, Bluetooth, infrared, etc.; in addition, embodiments may also apply wired technologies, such as IP-based access technologies, such as wired networks or fixed lines.
[0243] An embodiment suitable for implementation as software code or as part thereof and for operation using a processor or processing function is independent of the software code and can be specified using any known or future-developed programming language, such as high-level programming languages such as Objective-C, C, C++, C#, Java, Python, Javascript, other scripting languages, etc., or low-level programming languages such as machine language or assembler.
[0244] The implementation of the embodiments is hardware-independent and can be implemented using any known or future-developed hardware technology or any combination thereof, such as microprocessors or CPUs (central processing units), MOS (metal-oxide-semiconductor), CMOS (complementary MOS), BiMOS (bipolar MOS), BiCMOS (bipolar CMOS), ECL (emitter-coupled logic), and / or TTL (transistor-transistor logic).
[0245] The embodiments may be implemented as individual devices, apparatuses, units, components or functions, or in a distributed manner. For example, one or more processors or processing functions may be used or shared in the process, or one or more processing segments or processing portions may be used and shared in the process, wherein one or more physical processors may be used to implement one or more processing portions dedicated to a particular process as described.
[0246] The device can be implemented by a semiconductor chip, a chipset, or a (hardware) module that includes such a chip or chipset.
[0247] The implementation can also be implemented as any combination of hardware and software, such as ASIC (Application-Specific IC (Integrated Circuit)) components, FPGA (Field Programmable Gate Array) or CPLD (Complex Programmable Logic Device) components or DSP (Digital Signal Processor) components.
[0248] The embodiments can also be implemented as computer program products, including a computer-usable medium in which computer-readable program code is embodied, the computer-usable program code being adapted to perform the processes described in the embodiments, wherein the computer-usable medium may be a non-transitory medium.
[0249] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0250] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0251] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0252] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0253] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. An information push method, characterized in that, The method includes: When it is determined that information needs to be pushed, a clustering result is generated by pre-processing a clustering algorithm to divide a preset sample point into clusters; the clustering result includes at least one cluster, and each cluster includes at least one sample point; Candidate sample points are determined based on the clustering results; The negative words in the user interaction corpus are replaced with synonyms and words containing negation. For each candidate sample point: a first score is determined for the user interaction corpus containing the candidate sample point, and a second score is determined for the user interaction corpus containing the components of the candidate sample point; wherein, the first score is calculated based on the user corpus information of the user interaction corpus containing the candidate sample point; the second score is calculated based on the user corpus information of the user interaction corpus containing the components of the candidate sample point; the sum of the first score and the second score is taken as the comprehensive score of the candidate sample point, wherein the candidate sample point has an initial defined score S1, and the components of the candidate sample point have an initial defined score S2, wherein S2 is higher than S1; The number of sentences in the negative sentiment type of user interaction corpus containing the same candidate sample point within a preset time period is counted. When the number of sentences exceeds a preset threshold, the candidate sample point is deleted from the information push range. The negative sentiment type of user interaction corpus contains an odd number of negative words. Based on the comprehensive score of each candidate sample point, push information is output to the user, and the push information includes information on the push sample point finally selected from the candidate sample points.
2. The method according to claim 1, characterized in that, The step of determining candidate sample points based on the clustering results includes: Obtain the target sample points of the user's current interaction; Based on the target sample point and the clustering result, an information push range is determined from the clustering result, and the information push range includes at least one candidate sample point associated with the target sample point.
3. The method according to claim 2, characterized in that, The step of determining the information push range from the clustering results based on the target sample points and the clustering results includes: Based on the target sample point and the clustering results, candidate sample points with a similarity exceeding a preset threshold are determined from the clustering results.
4. The method according to claim 3, characterized in that, The step of determining candidate sample points from the clustering results whose similarity to the target sample point exceeds a preset threshold includes: In the clustering results, the cluster to which the target sample point belongs is determined; Based on the distance of the feature vectors between the target sample point and other sample points within the cluster to which the target sample point belongs, a preset number of candidate sample points that are closest to the target sample point are determined.
5. The method according to claim 2, characterized in that, The user corpus information includes: user sentiment corpus analysis results; The results of the user sentiment corpus analysis include one or a combination of the following three items: Emotional words, degree words, and negative words; Among them, the emotional words are divided into positive words and negative words; The degree words are divided into high degree words, normal degree words and low degree words, and different degree words correspond to different weights.
6. The method according to claim 2, characterized in that, The method further includes: The system counts the number of sentences in user interaction corpora containing the same candidate sample point with positive sentiment within a preset time period. When the number of sentences exceeds a preset threshold, a preset marker is set for the candidate sample point. The preset marker indicates that the candidate sample point can be given priority recommendation, or the preset marker indicates that the user can be prompted to exclude the candidate sample point and experience other recommended sample points. The method of outputting push information to the user based on the comprehensive score of each candidate sample point includes: outputting push information to the user based on the comprehensive score of each candidate sample point and the preset tag.
7. An electronic device, characterized in that, include: Memory, used to store program instructions; A processor is configured to invoke program instructions stored in the memory and execute the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
User personalized shopping behavior-based commodity recommendation method
CN106708821A
Article recommendation method and device, electronic equipment and storage medium
CN112036980A