News intelligent recommendation system based on emotion protection

By constructing a news and user feature matrix, combining fuzzy clustering and time series models, predicting user emotional status and adjusting the news recommendation ratio, the problem that the news recommendation system fails to consider user emotional changes, and personalized recommendation and emotional protection are achieved.

CN113343120BActive Publication Date: 2024-12-27HARBIN UNIV OF SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110606444.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-05-28
Publication Date
2024-12-27
Estimated Expiration
2041-05-28

AI Technical Summary

Technical Problem

The existing news recommendation system fails to effectively consider the user's emotional changes and the positive and negative impact of news content, resulting in users' possible reception of too much negative news, affecting their emotions and social public safety.

Method used

A news intelligent recommendation system based on emotion protection was designed, and the news feature matrix and user feature matrix were constructed using the BERT model, combining fuzzy clustering and time series models, predicting user emotional states, and adjusting the news recommendation ratio through Bayesian method. Make sure the recommended news meets the emotional needs of users.

Benefits of technology

Real-time monitoring and accurate prediction of user emotional changes is achieved, preventing users from receiving too much negative news, reducing the risk of depression, and protecting public safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113343120B_ABST
    Figure CN113343120B_ABST
Patent Text Reader

Abstract

The present invention proposes a news intelligent recommendation system based on emotional protection. It includes: 1. Using the BERT pre-training model to extract news features and feature words of the text, and constructing a news feature matrix through news feature vectors; 2. Emotional filtering of text information to establish an emotional grading model, and emotional grading of user comments, news titles and content to distinguish their negative and positive levels; 3. Clustering news tags through a clustering algorithm, assigning weights to the news browsed by the user according to the emotional level of user comments and the user behavior time, and constructing a user matrix with user feature information; 4. Predicting the user's emotional level in the next time period with the time series of user emotions; 5. Generate a recommendation table by calculating the similarity between the user and the news vector, predict the user's emotional state, and recommend news in proportion with the Bayesian method to achieve dynamic push. The present invention prevents negative energy and negative public opinion from causing psychological harm to users and endangering social public security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the fields of computer software, artificial intelligence, and recommendation systems, and in particular relates to an intelligent news recommendation system based on emotion protection. Background Art

[0002] At the dawn of the internet, there was relatively little data and information available online, and human interaction with the internet was limited. Therefore, websites generally only needed to present their information to users in a categorized manner. However, as human interaction with the internet increased, information grew exponentially. Retrieving the data users needed by browsing through information sequentially became too slow, so search engines became a common means of retrieval. Furthermore, the development of mobile internet and the Internet of Things further enriched the content and forms of the internet, leading to a continuous increase in data and ushering in an era of data explosion.

[0003] With the increase in computer processing power and the development of internet communication technology, facing the information overload on the internet, more and more internet companies are adopting recommendation systems to recommend information to users. Recommendation systems are designed to solve the problem of users accessing services without clear requirements and the content of the services overloads the user. The system cannot display all the information at once and must sort the content according to specific rules. Traditional methods use analysis to predict the content that users will be most interested in, and then present the top recommended information to the user.

[0004] Typically, recommendation systems make recommendations by collecting personal information about users, such as their region, gender, age, and occupation, to label them. They also collect content attributes such as title, category, and time. They then leverage user interaction data and historical records to build models, learn about users' interests, and provide precise, personalized recommendations.

[0005] Traditional recommendation methods include collaborative filtering, content-based, deep learning, and machine learning. Collaborative filtering relies primarily on user ratings, making it difficult to predict shifts in user interests. Content-based methods, on the other hand, suffer from low accuracy when data is sparse. The recent rise of machine learning and deep learning offer improved recommendation performance compared to the previous two methods when dealing with large amounts of data. However, with smaller amounts of data, effective recommendation models cannot be selected and the user cold start problem persists.

[0006] Current news push platforms all use recommendation systems to push news of interest to users. Furthermore, the recommendations generated by these methods only consider whether the recommendations are of interest to the user, but fail to consider whether the content is acceptable to the user and beneficial to the user. For example, if a user is detected to be very interested in a certain type of news, relevant news may be pushed to them daily, and the user will always open the pushed news. This only meets the user's needs in terms of news push. However, it ignores the user's emotional changes after reading the news and the positive or negative emotions of the news content itself. As a result, users may see negative news every day, which exacerbates their negative emotions, thereby affecting their physical and mental health and public safety, and may even become a tool for those with ulterior motives to change the direction of online public opinion.

[0007] Despite the rapid development of the internet, news of many emergencies still causes panic in some people and shifts the direction of online public opinion. News recommendation systems are currently exhibiting the aforementioned issues: they fail to consider the impact of user sentiment and recommendation results. This leads to the rapid spread of negative and even unverified news online, causing panic without any mitigation measures.

[0008] Social media platforms, such as Weibo and Zhihu, have become the primary means for internet users to access news due to their real-time, interactive, and diverse nature. The rise of social media has provided a convenient way for the public to express and share their thoughts on hot topics, selecting topics and customizing content. User comment data, serving as the foundation for user sentiment, provides a comprehensive reflection of users' cognition, attitudes, tendencies, and behaviors regarding emergency-related events. User comments provide textual data for comprehensive analysis of changing user sentiment trends.

[0009] Current sentiment analysis methods primarily focus on sentiment lexicon-based approaches and machine learning-based approaches. Sentiment lexicon-based approaches primarily construct sentiment lexicons, comparing sentiment words within a text with words in the sentiment lexicon to identify corresponding sentiment tendencies. This approach requires manual construction of sentiment lexicons, which are difficult to fully cover. Machine learning-based approaches require large-scale corpus datasets for computer learning, as well as extensive amounts of manually annotated data to determine the sentiment of the text. Summary of the Invention

[0010] (1) Technical issues to be resolved

[0011] In order to realize the recommendation of news in the news push system by considering not only whether the user is interested but also the changes in the user's emotional trend, the present invention designs the screening process of news push. First, in order to extract the main words of the article to construct the news feature matrix, a BERT (Bidirectional Encoder Representation The BERT pre-trained model is introduced to perform sentiment classification on news content and user comments by converting the hidden layer sequence into a vector. The sentiment of news content and comments is graded using fuzzy clustering. News tags are then clustered using a clustering algorithm. Weights are assigned to the news browsed by users based on their sentiment values ​​and the time factor of their behavior. The user interest distribution is represented by the assigned news weights and news tag classification. A user matrix is ​​constructed using user feature information. A user behavior time series is generated based on the chronological order. The time series model is used to predict the user's emotional state in the next time period. Finally, a recommendation list is generated by calculating the similarity between the user vector and the news vector. The news in the recommendation list is divided into different emotional news categories based on the user sentiment predicted by the time series model.

[0012] (2) Technical solution

[0013] In order to quickly filter out a list of news that each user prefers from a large amount of news and user information, and to predict the user's emotional state towards the information, the present invention aims to provide an emotional protection-based news intelligent push system, comprising:

[0014] (1) News feature matrix module, which uses the BERT pre-training model to extract news feature information and construct a news feature matrix;

[0015] (2) Sentiment grading module, which establishes a sentiment grading model to perform sentiment grading on user comments, news titles, and content;

[0016] (3) User feature matrix module, which clusters news tags through clustering algorithms, assigns weights to news browsed by users based on the sentiment level of user comments and the time of user behavior, and constructs a user matrix using user feature information;

[0017] (4) User emotion prediction module, which builds a model based on the time sequence of user emotion trends and predicts the user's emotion level in the next time period;

[0018] (5) News push module generates a recommendation list by calculating the similarity between user vectors and news vectors, and sets the proportion of each level of news in the recommended news based on the Bayesian method according to the predicted user emotional state.

[0019] A news intelligent push system based on emotional protection. The titles, content, and user comments of news on news websites are stored in a computer database in the form of text. Since data in natural language form cannot be numerically calculated, the BERT model is used for pre-training to generate corresponding word vectors in the news feature matrix construction module. Keywords are further extracted, and then the feature information of the news, such as the time of news release and the author of the release, is added to construct the matrix. The news is represented by a vector, NEWS = (n_param_1, n_param_2, ..., n_param_p). The parameters in the vector represent the attributes of the news. The specific steps of the news feature matrix construction module are as follows:

[0020] Step 1_1: Load news content, news headlines, and user comments in the system as corpus data, clean the corpus data, and initialize the BERT pre-training model parameters;

[0021] Step 1_2: Use the BERT model to convert the text into vectors and compare the text content with the prepared non-feature vocabulary to remove non-feature words in the text content, and then segment the text based on the non-feature words.

[0022] Step 1_3: Calculate the Euclidean distance between the vector corresponding to each word after segmentation and all other words in turn and add them up. Take the top N items with the highest results as the feature words corresponding to the news article.

[0023] Step 1_4: Digitally represent the news feature information, merge it with the word vector of the news feature words, and fill it into the news vector. The news vector is then stored in the news matrix.

[0024] The news feature matrix construction process is described.

[0025] A news intelligent push system based on sentiment protection. Unlike e-commerce or movie websites, news website users' evaluation of news content does not have a rating mechanism. Therefore, user comments are the data that best reflects user attitudes. Therefore, a sentiment grading model is established to grade the sentiment of user comments. The specific process of the sentiment grading module is as follows:

[0026] In Step 2_1, the vectors corresponding to the entire news or comment text trained by the BERT model are averaged and maximized along the dimension of sequence length, where sequence length represents the length of the entire text sequence. These vectors are then combined to form a vector, text_sum, which represents the content of the entire news or comment.

[0027] Step 2_2, take k words with the most positive sentiment, calculate the mean of the vectors corresponding to these k words to generate the emotion standard vector emotion_normal;

[0028] Step 2_3: Subtract the text_sum from the emotion_normal for each news item and comment to filter out the influence of non-emotional factors in the text_sum vector, and assign the result to the vector NEW_e to represent the emotional feature.

[0029] Step 2_4: Establish a sentiment classification model to classify the sentiment feature vector NEW_e, as follows:

[0030] Step 2_4_1, randomly select sentiment feature vectors NEW_e_c1, NEW_e_c2, NEW_e_c3, NEW_e_c4, NEW_e_c5 as positive sentiment, compare positive sentiment, neutral sentiment, compare negative sentiment and the category center of negative sentiment, divide the samples into five categories, and the distance d_ij between the sample NEW_ei and the category center NEW_e_cj is expressed by the exponential similarity coefficient. The specific formula is as follows:

[0031]

[0032] where s k =1 / n*Σ(NEW_eik-NEW_k) 2 , Where n is the number of samples, s is the characteristic dimension of the sample vector;

[0033] Step 2_4_2, obtain the fuzzy classification matrix U through the fuzzy C-means clustering algorithm. The solution formula of U is as follows:

[0034] Among them, u_ij represents the membership of sample i to category j, m is the fuzzy coefficient, and c is the number of categories;

[0035] Step 2_4_3, initialize the parameter μ of the probability c-means clustering, the value of μ is

[0036] Step 2_4_4, the objective function and constraints of the possible C-means clustering are as follows:

[0037]

[0038]

[0039] Step 2_4_5, derive the membership function and category center according to the following formula:

[0040] u_ij=(1+(d_ij 2 / μi 1 / (m-1) ) -1 ,

[0041]

[0042] Step 2_4_6, set the threshold ε and the fuzzy coefficient m. When ||△c_i||<ε is satisfied, the algorithm stops iterating and outputs the optimal fuzzy classification matrix U and category center matrix C.

[0043] Step 2_4_7, sort the class vectors in the center matrix C according to the Euclidean distance difference d_j with the emotion standard vector emotion_normal;

[0044] Step 2_5: Sort the sentiment levels by the size of d_j. The smallest value is ranked fifth, i.e., positive sentiment level, and the largest value is ranked first, i.e., negative sentiment level. The optimal fuzzy classification matrix can be used to determine the degree of membership of each news item and comment. This means that the sentiment level can be determined by the numerical value of the membership degree.

[0045] The description of the sentiment grading module is completed.

[0046] A news intelligent push system based on emotion protection, when mining user characteristics, first clusters news tags using a clustering algorithm to represent user interests, then assigns weights to the news browsed by users based on their emotion levels and the time factor of their behavior, and represents the distribution of user interests based on the assigned news weights. Furthermore, the user feature information is used to construct a user matrix. The user feature matrix construction module is as follows:

[0047] Step 3_1: Determine the sliding window radius r. A circular shape with a radius of r and a randomly selected news label vector NEW_L1 as the center vector is used as the sliding window. Calculate the Euclidean distance L between all remaining news label vectors and the center point NEW_L1. Calculate the news label vectors whose distance from NEW_L1 is less than or equal to r and add them to the set M. These points belong to cluster c1.

[0048] Step 3_2, calculate the offset vector N from the center vector NEW_L1 to all elements in the set in sequence i , get the offset vector N=N1+N2+…+N N ;

[0049] Step 3_3, the center vector NEW_Li moves a distance |N| in the direction of increasing density;

[0050] Step 3_4, repeat the above operation until the offset value is less than the threshold K, mark the center vector NEW_Li at this time; and continue to repeat the above operation until all points are classified;

[0051] Step 3_5: Mark the frequency of each news label vector according to each class, and take the class with the highest frequency as the class to which the news label vector belongs;

[0052] Step 3_6: Use the user's most recent browsing time as the timestamp, subtract the browsing time of the remaining news from the timestamp, divide by the time precision, and normalize to obtain the time weight corresponding to each news item. For example, if the timestamp is t, the time of browsing news item i is ti, the time weight Pti = 1 / (1+((t-ti) / m)), where m is the time precision.

[0053] Step 3_7: Assign a weight Wi to the news i browsed by the user, Wi = Pti * emotioni, where Pti is the time weight and emotioni is the emotional level of the user's comment;

[0054] Step 3_8, accumulate and sum the user's interest level according to the news feature word type to obtain the total weight of the user's interest in each news type. Since the news weight Wi = Pti*emotioni, when accumulating and summing the weights, not only the influence of positive emotions but also the influence of negative emotions are taken into account, which can more comprehensively express the user's interest. The final user interest User_label_1 = (W1*NEW_S1_k1+W2*NEW_S2_k1+…+Wn*NEW_Sn_k1),…, User_label_n = (W1*NEW_S1_kn+W2*NEW_S2_kn+…+Wn*NEW_Sn_kn), where User_label_n represents the user's interest level in the nth type of news, Wn represents the weight of the nth news, and NEW_Sn_kn represents the similarity of the news to the nth type of news;

[0055] Step 3_9: Weight the user's interest in n types of news into an n-dimensional vector User_label, User_label = [User_label_1, User_label_2, ..., User_label_n]; where News_label_n represents the similarity between the news label belonging to the nth interest category and the center vector of that category. If there is no news label belonging to the nth interest category, the value of the nth dimension is 0;

[0056] Step 3_10: The user interest vector User_label is combined with the user feature information and filled into the user vector. The user vector is then stored into the user matrix, and the user feature matrix is ​​constructed.

[0057] The process of building the user feature matrix module is described.

[0058] A news intelligent push system based on emotion protection. In order to consider the influence of the user's emotional state in the news recommendation system, the user's emotional state in the next time period is predicted based on the time sequence marking of the user's emotional trend. Therefore, a time series model is used to predict the user's emotions. First, the user's historical behavior data is used to establish a user time series. The user time series is a 2*n dimensional matrix indexed by time and arranged in chronological order, where n is the total number of news the user has browsed; then, the user's uncommented behavior in the user time series is supplemented by calculating the user's emotional bias Ud and the news's own emotional value Nd according to the proportion w, where w is a number between 0 and 1. Finally, a time series model is established to predict the user's emotional state emotion(t) in the next time period, where t is the time of the next stage; the user emotion prediction module is as follows:

[0059] Step 4_1: Read user behavior data and convert the time data to create a time series sequence. Use user behavior time as the index and user emotion information as the content, i.e., sequence = ((time_1, emotion_1), (time_2, emotion_2), ..., (time_n, emotion_n)).

[0060] Step 4_2: Fill in the blanks in the time series and calculate the user emotion bias Ud, Ud = (emotion_1 + emotion_2 + ... + emotion_n) / m, where m is the number of news items for which the user has emotional comments. Use Ud to fill in the blanks in the sequence.

[0061] Step 4_3: Use the unit root test to determine whether the created time series is a stationary series. If there is no unit root, it is a stationary series, that is, the p-value is greater than the significance level (0.05), where p is the number of autoregressive terms in the series. Otherwise, perform a difference operation on the created time series to generate a new time series.

[0062] Step 4_4, perform first-order difference operation on the time series in the difference operation, and repeat the stationarity test. The stationarity test proves that the time series after the first-order difference operation is a stationary series. The first-order difference operation process is: sequence1 = (time_1, emotion_1), (time_2, emotion_2-emotion_1), ..., (time_n, emotion_n-emotion_n-1));

[0063] Step 4_5: Perform a white noise test on the time series and use the LB statistic test to determine whether the p-value is less than 0.05; if it is less than 0.05, it proves that it is a non-white noise sequence, otherwise perform a high-order difference operation;

[0064] Step 4_6, initialize the values ​​of m, p, q, a, and b. The user's emotion level in the next time period is expressed as: emotion_n+1=m+a*emotion_1+...+a*emotion_n+1-p+b*emotion_1+...+b*emotion_n+1-q, where m is a constant, q is the number of moving average items, a and b are the autoregressive weight and moving average weight, respectively.

[0065] Step 4_7: Optimize parameters using the minimum Bic criterion method, where Bic = ln(n)k–2ln(L), where k is the number of parameters, n is the number of samples, and L is the likelihood function. Substitute the optimal parameter results into the above formula to establish the final time series model. The model can be used to predict the user's sentiment level in the next time period.

[0066] The user emotion prediction process is described.

[0067] A news intelligent push system based on emotion protection generates a recommendation list by calculating the similarity between the user vector and the news vector when recommending news to users. When calculating the similarity between the user vector and the news vector, the user matrix and the news matrix are first used to calculate the similarity sim_g(U,N) between the user's interests and the news content to generate a list of candidate news recommendations. The details are as follows:

[0068] Step 5_1: Select news vectors that have not been viewed by the user from the news matrix according to the user ID and store them in a waiting list, i.e., waitlist = (NEWS_1, NEWS_2, ..., NEWS_N);

[0069] Step 5_2, calculate the content similarity sim_g(U,N) between the news vector in the waitlist and the user vector: sim_g(U,N) = [(U1-N1)^2+(U2-N2)^2+…+(Uq-Nq)^2]^1 / 2;

[0070] Step 5_3: Normalize the content similarity sim_g(U,N) between the user vector and the news vector: sim_g(U,N)=1 / (1+sim_g(U,N));

[0071] Step 5_4: Sort the calculated sim_g(U, N) in descending order and store the corresponding news IDs in the list of recommended news to be selected;

[0072] Step 5_5. Further, in an emotional protection-based news intelligent push system, when dynamically pushing news, the news ratio of each level in the news recommendation list is set according to the predicted user emotional state through a news ratio division algorithm, and a news recommendation list is generated and pushed to the user. The details are as follows:

[0073] Step 5_5_1, divide the news sequence of each user according to the time interval t, and the divided N_i represents the news sequence corresponding to user i: N_i = (T_1, T_2, …, T_t), where T_t = (News_e1 + News_e2 + … + News_en) / n, News_en represents the emotion level value corresponding to the news browsed by the user, and T_t represents the average emotion level of the news in the time period t. Similarly, divide the comment sequence of each user according to the time interval t, and the divided U_ie represents the comment sequence corresponding to user i: U_ie = (T_e1, T_e2, …, T_et), T_et = (emotion_te1 + emotion_te2 + … + emotion_ten) / n, where T_et represents the average emotion level of user i in the time period t, and emotion_ten represents the emotion level value of user i's comment;

[0074] Step 5_5_2: Initialize the user emotion level probability P(U_ei) = E_im / E_n, and the news emotion level probability P(N_ei) = N_im / N_n, where E_im represents the number of occurrences of the i-th level emotion in the entire user comment sequence, E_n represents the number of occurrences of all emotion levels in the entire user comment sequence, N_im represents the number of occurrences of the i-th level emotion news in the entire user news sequence, and N_n represents the number of occurrences of all emotion level news in the entire user news sequence;

[0075] Step 5_5_3: Initialize the probability of browsing news with level j given that the user's emotion level is i, P(N_ej|U_ei) = N_j / U_i, where U_i represents the total number of users with level i emotion in all user sequences, and N_j is the total number of news with level j emotion in all user sequences with level i emotion.

[0076] Step 5_5_4, calculate the emotion probability of user i P(U_ei) = E_i_m / E_i_n, the news emotion level probability of user i P(N_ei) = N_i_m / N_i_n, if P(U_ei) = 0, then set P(U_ei) = P(U_e), if P(N_ei) = 0, then set P(N_ei) = P(N_e);

[0077] Step 5_5_5, calculate P(N_ej_k|U_ei_k), which is the probability that the news viewed by user k is of level j when his emotion level is i. Take all news sequences when user k has emotion level i, set the sentiment value of news with emotion level j to 1 in the news sequence, and set the sentiment value of the rest to 0. At this time, the sample distribution satisfies the Bernoulli distribution, and the probability distribution function is P(N_ej_k|U_ei_k) NEW_emotion *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion , therefore, the likelihood function is as follows: L(P) = P(N_ej_k|U_ei_k) NEW_emotion_1 *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion_1 *

[0078] P(N_ej_k|U_ei_k) NEW_emotion_2 *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion_2 *..*

[0079] P(N_ej_k|U_ei_k) NEW_emotion_n *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion_n ;

[0080] The maximum likelihood estimate of P(N_ej|U_ei) can be obtained from the above formula:

[0081] P(N_ej_k|U_ei_k)=(NEW_emotion_1+NEW_emotion_2+..+NEW_emotion_n) / n,

[0082] If P(N_ej_k|U_ei_k)=0, then let P(N_ej_k|U_ei_k)=P(N_ej|U_ei);

[0083] In Step 5_5_6, use the Bayesian method to calculate P(U_ei_k|N_ej_k), which is the probability that user k has a sentiment level of i when browsing news with a sentiment level of j. The calculation formula for P(U_ei_k|N_ej_k) is as follows:

[0084] P(U_ei_k|N_ej_k)=P(N_ej_k|U_ei_k)*P(U_ei) / P(N_ej);

[0085] Step 5_5_7: Take the user's emotion T_et for the next time period predicted by the time series model. The ratio of the emotional news for the next period of dynamic push is P(T_et+1|N_e1):P(T_et+1|N_e2):P(T_et+1|N_e3):P(T_et+1|N_e4):P(T_et+1|N_e5), where T_et+1 represents an emotional state one level higher than the predicted user emotion T_et. If T_et is 5, then T_et+1=T_et makes the user maintain the most positive emotion.

[0086] Step 5_5_8: When user k generates a new behavior sequence T_t+1, it is iteratively updated in the following way:

[0087] First jump to Step_5 and calculate P(N_ej_k|U_ei_k) after adding the new behavior sequence of user k;

[0088] Secondly, calculate P(U_ei1), which is the probability that the user's comment sentiment is level i in the user's new behavior sequence;

[0089] Finally, update the value of P(U_ei_k|N_ej_k) according to the formula P(U_ei_k|N_ej_k)=P(N_ej_k|U_ei_k)*P(U_ei_k|N_ej_k) / P(U_ei1), and then jump to Step_7 for recommendation.

[0090] Step 5_6: According to the ratio divided by the above news ratio division algorithm, N news items are selected in order from the candidate news recommendation list and added to the news recommendation list. The number of news items of each sentiment level is Ni, where Ni = N*P(T_et+1|N_ei) / ((P(T_et+1|N_e1)+P(T_et+1|N_e2)+P(T_et+1|N_e3)+P(T_et+1|N_e4)+P(T_et+1|N_e5));

[0091] The news push process is described.

[0092] (3) Beneficial effects

[0093] The present invention has the following advantages: by performing natural language processing on user comments, news headlines, and content, text can be converted into digital vectors for easier data calculation and modeling. By establishing a sentiment analysis model to effectively reflect user emotional changes and the social impact of news, the emotional level of user reactions can be accurately monitored. Furthermore, by incorporating the influence of time, the shift in user interests can be more accurately predicted, facilitating more precise personalized recommendations for users.

[0094] By incorporating time into the time series model, we can not only reflect user interest shifts but also accurately grasp their emotional levels and trends, preventing them from falling into depression and suppressing negative emotions. This can also help prevent significant public opinion from causing psychological harm to users, and prevent negative public opinion from spreading too quickly online, potentially damaging public order and endangering public safety. BRIEF DESCRIPTION OF THE DRAWINGS

[0095] Figure 1 This is a module flow chart of the news intelligent recommendation system based on emotion protection.

[0096] Figure 2 This is the implementation flow chart of the news intelligent recommendation system based on emotion protection. DETAILED DESCRIPTION

[0097] The following embodiments of the present invention are described in further detail with reference to the accompanying drawings and examples. The following examples are used to illustrate the present invention but are not intended to limit the scope of the invention.

[0098] Example 1: Constructing a news feature matrix.

[0099] Step 1_1: Load news content, news headlines, and user comments in the system as corpus data, clean the corpus data, and initialize the BERT pre-training model parameters;

[0100] Step 1_2: Use the BERT model to convert the text into vectors and compare the text content with the prepared non-feature vocabulary to remove non-feature words in the text content, and then segment the text based on the non-feature words.

[0101] Step 1_3: Calculate the Euclidean distance between the vector corresponding to each word after segmentation and all other words in turn and add them up. Take the top two items with the highest results as the feature words corresponding to the news article.

[0102] Set the vector after word segmentation to:

[0103] word1=[0.25,0.32,0.18,…,0.67];

[0104] word2=[0.35,0.64,0.37,…,0.82];

[0105] word3=[0.25,0.32,0.15,…,0.66];

[0106] The sum of the Euclidean distances between word1, word2, and word3: word1_d = ((word1-word2)) 2 ) 1 / 2 +((word1-word3) 2 ) 1 / 2 ;

[0107] Similarly, we calculate word1=2_d, word3_d, set word1_d=0.82, word2_d=0.79, word3_d=0.66, then word1 and word2 are the feature words of this news;

[0108] Step 1_4: Digitally represent the news feature information, merge it with the word vector of the news feature words, and fill it into the news vector. The news vector is then stored in the news matrix.

[0109] Assume that news feature information includes publisher, news source, and author, with publisher represented as 0.11, news source as 0.12, and author as 0.13;

[0110] The merged news vector NEWS is [0.11, 0.12, 0.13, 0.25, 0.32, …, 0.66].

[0111] Example 2: Sentiment rating.

[0112] Step 2_1: Randomly select sentiment feature vectors as positive sentiment, compare positive sentiment, neutral sentiment, negative sentiment, and the category center sum of negative sentiment, and divide the samples into five categories. Set the feature vectors as follows:

[0113] NEW_e_c1=[0.52,0.35,…,0.68];

[0114] NEW_e_c2=[0.62,0.38,…,0.82];

[0115] NEW_e_c3=[0.18,0.97,…,0.98];

[0116] NEW_e_c4=[0.27,0.48,…,0.64];

[0117] NEW_e_c5=[0.72,0.16,…,0.23];

[0118] Set sample NEW_e1 = [0.93, 0.28, ..., 0.45], vector dimension is 10, then the distance from the category center NEW_e_c1

[0119] in Where n is the number of samples;

[0120] Step 2_2, obtain the fuzzy classification matrix U through the fuzzy C-means clustering algorithm. The solution formula of U is as follows:

[0121] Among them, u_ij represents the membership of sample i to category j, m is the fuzzy coefficient, and c is the number of categories;

[0122] Step 2_3, initialize the parameter μ of the probability c-means clustering, the value of μ is

[0123] Step 2_4, the objective function and constraints of the possible C-means clustering are as follows:

[0124]

[0125]

[0126] Step 2_5, derive the membership function and category center according to the following formula:

[0127] u_ij=(1+(d_ij 2 / μi 1 / (m-1) ) -1 ;

[0128]

[0129] Step 2_6, take the threshold ε = 0.001 and the fuzzy coefficient m = 3. When ||△c_i|| < ε is satisfied, the algorithm stops iterating and outputs the optimal fuzzy classification matrix U and category center matrix C;

[0130] Step 2_7, sort the categories according to the Euclidean distance difference d_j between the category vector in the center matrix C and the emotion standard vector emotion_normal;

[0131] Set emotion_normal = [0.52, 0.39, ..., 0.71], and after iteration NEW_e_c1 = [0.55, 0.42, ..., 0.68], then d_1 = ((0.55-0.52) 2 +(0.42-0.39) 2 +…+(0.71-0.68) 2 ) 1 / 2 ;

[0132] The emotional levels are sorted according to the size of d_j, with the smallest one being the fifth level, i.e., the positive emotional level, and the largest one being the first level, i.e., the negative emotional level.

[0133] Suppose a vector in U is (0.5, 0.2, 0.1, 0.1, 0.1), which means that this type of comment has a 0.5 probability of belonging to the positive emotion category, a 0.2 probability of belonging to the relatively positive emotion category, a 0.1 probability of belonging to the neutral emotion category, a 0.1 probability of belonging to the relatively negative emotion category and a 0.1 probability of belonging to the negative emotion category. It should be classified as positive emotion, and its corresponding emotion level value is 5; when a vector is (0.2, 0.2, 0.2, 0.2, 0.2), it means that the probability of belonging to each emotion category is the same, and it is classified as the neutral emotion category, and its corresponding emotion level value is 3.

[0134] Example 3: Constructing a user feature matrix.

[0135] Step 3_1, r = 2, with a randomly selected news label vector NEW_L1 as the center vector and a circle with a radius of 2 as the sliding window, sequentially calculating the Euclidean distance L between all news label vectors and the center point NEW_L1, and marking the news label vectors with a distance less than or equal to r from NEW_L1 into the set M, i.e., these points belong to cluster c1;

[0136] Step 3_2, then calculate the offset vector N from the center vector NEW_L1 to all elements in the set i , get the offset vector N=N1+N2+…+N N ;

[0137] Set the offset vector N1 = [1.0, 2.0, ..., 1.0], N2 = [2.0, 2.0, ..., 3.0], ..., Nn = [3.0, 4.0, ..., 3.0], then N = [6.0, 8.0, ..., 7.0];

[0138] Step 3_3, the center vector NEW_Li moves in the direction of increasing density (6.0 2 +8.0 2 +…+7.0 2 ) 1 / 2 distance;

[0139] Step 3_4: Continue the above operation until the offset is less than the threshold value 5, and mark the center vector NEW_Li at this time. Continue to repeat the above operation until all points are classified;

[0140] Step 3_5: Based on the frequency of each class marking each news vector, the class with the highest frequency is taken as the class to which the point belongs;

[0141] Step 3_6: Use the user's most recent browsing time as the timestamp, subtract the browsing time of the remaining news from the timestamp, divide it by the time precision, and normalize it to obtain the time weight corresponding to each news item;

[0142] Assume that the timestamp t=1620392811 and the time of browsing news 1 t1=1610392415, m=86400, then the time weight Pt1=1 / (1+((1620392811-1610392415) / 86400))=0.008;

[0143] Step 3_7: Assign a weight Wi to the news i browsed by the user, where Wi = Pti * emotioni. Assuming the emotional level of news 1 is 4, then W1 = 0.008 * 4 = 0.032.

[0144] Step 3_8: Accumulate and sum the user's interest level according to the news feature word type to obtain the total weight of the user's interest in each news type. Assume that user 1 browses 3 news items. Then user 1's interest level in the first type of news is User_label_1 = (W1*NEW_S1_k1+W2*NEW_S2_k1+W3*NEW_Sn_k1), where Wn represents the weight of the nth news item and NEW_Sn_kn represents the similarity of the news item to the first type of news item.

[0145] Step 3_9: Weight the user's interest in n types of news into an n-dimensional vector User_label, where User_label = [User_label_1, User_label_2, …, User_label_n];

[0146] Step 3_10, the interest vector User_label is combined with the user feature information and filled into the user vector, and the user vector is stored in the user matrix;

[0147] Set the user characteristic information including user gender and user age, and represent the user as 0.2 and the user age as 0.18.

[0148] The merged user vector USER is [0.2, 0.18, 0.032…, 0.085].

[0149] Example 4: User sentiment prediction.

[0150] Step 4_1: Create a user time series sequence = ((time_1, emotion_1), (time_2, emotion_2), …, (time_n, emotion_n)) with time sequence as index and user emotion level as content.

[0151] Set the user time series to ((20210105,1),(20210114,2),…,(20210510,5)), there are 20 user browsing behaviors in total, and there are 15 news with emotional comments;

[0152] Step 4_2: Fill in the blank items in the time series and calculate the user sentiment bias Ud, Ud = (1 + 2 + ... + 5) / 15, and use Ud to fill in the blank items in the sequence;

[0153] Step 4_3: Test whether the created time series is a stationary series by unit root. If there is no unit root, it is a stationary series, that is, the p-value is greater than the significance level (0.05), where p is the number of autoregressive terms in the series. Otherwise, perform a difference operation on the created time series to generate a new time series.

[0154] Step 4_4, perform first-order difference operation on the time series in the difference operation, and perform stationarity test again. The stationarity test proves that the time series after the first-order difference operation is a stationary series. The sequence after the first-order difference operation is: sequence1 = ((20210105, 1), (20210114, 1), …, (20210510, 4));

[0155] Step 4_5: Perform a white noise test on the time series and use the LB statistic test to determine whether the p-value is less than 0.05; if it is less than 0.05, it proves that it is a non-white noise sequence, otherwise perform a high-order difference operation;

[0156] Step 4_6, initialize m = 1, p = 2, q = 5, a = 0.6, b = 0.4, and the user's emotion level in the next time period is expressed as:

[0157] emotion_n+1=1+0.6*emotion_1+...+0.6*emotion_n+1-2+0.4*emotion_1+...+0.4*emotion_n+1-5;

[0158] Step 4_7, use the minimum BIC criterion method to tune the parameters. Set the tuned m = 1, p = 3, q ​​= 4, a = 0.4, b = 0.6. Then the user's emotion level in the next time period is emotion_n+1 = 1 + 0.4*emotion_1 + ... + 0.4*emotion_n+1-3 + 0.6*emotion_1 + ... + 0.6*emotion_n+1-4.

[0159] Example 5: News ratio division.

[0160] Step 5_1: Divide user 1's news sequence into 72-hour time intervals. The results of the news sequence N_1 and news subsequence T_i after the division are as follows:

[0161] N_1=(1.33,2.66,3.66);

[0162] T_1=(1,2,…,5);

[0163] T_2=(2,4,…,1);

[0164] T_3=(1,4,…,3);

[0165] Similarly, each user's comment sequence is divided into 72-hour time intervals. The results of setting the divided user comment sequence U_1e and comment subsequence T_ei are as follows:

[0166] U_1e=(3.66,3.42,2.42),;

[0167] T_e1=(3,4,…,5);

[0168] T_e2=(3,2,…,1);

[0169] T_e3=(3,3,…,2);

[0170] Step 5_2: Set the initial user sentiment level probability P(U_ei) and news sentiment level probability P(N_ei) as follows:

[0171] P(U_e1)=0.1, P(U_e2)=0.2, P(U_e3)=0.1, P(U_e4)=0.3, P(U_e5)=0.3;

[0172] P(N_e1)=0.1, P(N_e1)=0.1, P(N_e1)=0.3, P(N_e1)=0.2, P(N_e1)=0.3;

[0173] Step 5_2: Initialize the probability of browsing news with level j when the user’s emotion level is i, and set P(N_ej|U_ei) = N_j / U_i. For example, P(N_e1|U_e1) = 0.2, which means that the probability of a user browsing news with emotion level 1 when the emotion level is 1 is 0.2.

[0174] Step 5_4, calculate the emotion probability of user i P(U_ei) = E_i_m / E_i_n, the news emotion level probability of user i P(N_ei) = N_i_m / N_i_n, if P(U_ei) = 0, then set P(U_ei) = P(U_e), if P(N_ei) = 0, then set P(N_ei) = P(N_e);

[0175] Step 5_5, calculate P(N_ej_k|U_ei_k), which is the probability that the news viewed by user k is of level j when his emotion level is i. Take all news sequences when user k has emotion level i, set the sentiment value of news with emotion level j to 1 in the news sequence, and set the sentiment value of the rest to 0. At this time, the sample distribution satisfies the Bernoulli distribution, and the probability distribution function is P(N_ej_k|U_ei_k) NEW_emotion *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion , so the likelihood function is as follows:

[0176] L(P)=P(N_ej_k|U_ei_k) NEW_emotion_1 *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion_1 *P(N_ej_k|U_ei_k) NEW_emotion_2 *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion_2 *..*P(N_ej_k|U_ei_k) NEW_emotion_n *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion_n ;

[0177] The maximum likelihood estimate of P(N_ej|U_ei) can be obtained from the above formula as P(N_ej_k|U_ei_k)=(NEW_emotion_1+NEW_emotion_2+..+NEW_emotion_n) / n. If P(N_ej_k|U_ei_k)=0, then let P(N_ej_k|U_ei_k)=P(N_ej|U_ei);

[0178] Step 5_6: Calculate P(U_ei_k|N_ej_k) using the Bayesian method. This is the probability that user k has a sentiment level of i when browsing news with a sentiment level of j. The calculation formula for P(U_ei_k|N_ej_k) is as follows:

[0179] P(U_ei_k|N_ej_k)=P(N_ej_k|U_ei_k)*P(U_ei) / P(N_ej);

[0180] Step 5_7: Assume that the user's emotion in the next time period predicted by the time series is 4. Then the ratio of the emotional news in the next period of dynamic push is P(5|1):P(5|2):P(5|3):P(5|4):P(5|5)=1:1:2:2:4.

[0181] Step 5_8: When user k generates a new behavior sequence T_t+1, it is iteratively updated in the following way:

[0182] First jump to Step_5 and calculate P(N_ej_k|U_ei_k) after adding the new behavior sequence of user k;

[0183] Secondly, calculate P(U_ei1), which is the probability that the user's comment sentiment is level i in the user's new behavior sequence;

[0184] Finally, update the value of P(U_ei_k|N_ej_k) according to the formula P(U_ei_k|N_ej_k)=P(N_ej_k|U_ei_k)*P(U_ei_k|N_ej_k) / P(U_ei1), and then jump to Step_7 for recommendation.

[0185] According to the ratio divided by the above news ratio division algorithm, 20 news items are selected in order from the candidate news recommendation list and added to the news recommendation list. The number of news items of each sentiment level is as follows:

[0186] N1=20*1 / (1+1+2+2+4)=2;

[0187] N2=20*1 / (1+1+2+2+4)=2;

[0188] N3=20*2 / (1+1+2+2+4)=4;

[0189] N4=20*2 / (1+1+2+2+4)=4;

[0190] N5=20*4 / (1+1+2+2+4)=8;

[0191] Finally, it should be noted that the above examples are only used to illustrate the technical methods of the present invention, rather than to limit them. Although the present invention has been described in detail with reference to the above examples, those skilled in the art should understand that they can still modify the technical solutions described in the above examples, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the examples of the present invention.

Claims

1. The news intelligent recommendation system based on emotion protection is characterized by: (1) News feature matrix module: extracts news feature information through the BERT pre-training model to construct a news feature matrix; (2) Sentiment classification module: Establish a sentiment classification model to classify user comments, news titles and content; (3) User feature matrix module: cluster news tags through clustering algorithms, assign weights to news browsed by users based on the sentiment level of user comments and user behavior time, and construct a user feature matrix based on user feature information; (4) User emotion prediction module: This module builds a model by marking the user emotion trends in chronological order and predicting the user's emotion level in the next time period; (5) News push module: Generates a recommendation list by calculating the similarity between the user vector and the news vector, and sets the proportion of each level of news in the recommended news according to the Bayesian method based on the predicted user emotional state; The news feature matrix module includes: Step 1_1, load the news content, news titles, and user comments in the system to form the corpus data, clean the corpus data, and initialize the BERT pre-training model parameters; Step 1_2, convert the text into vector form through the BERT model, eliminate non-feature words in the text content by comparing the text content with the pre-set non-feature vocabulary, and segment the text based on non-feature words; Step 1_3, calculate the Euclidean distance between the vector corresponding to each word after word segmentation and all other words in turn and add them up, and set the top N items with the highest results as the feature words corresponding to the news; Step 1_4, digitally represent the feature information of the news, merge it with the word vector of the feature word of the news and fill it into the news vector, and save the news vector in the news matrix; The news feature matrix construction process is described; The sentiment grading module includes: Step 2_1: Calculate the mean and maximum of the vectors corresponding to the news and comment texts trained by the BERT model according to the dimension of sequencelength, where sequencelength represents the length of the entire text sequence, and merge them into a vector text_sum, which represents the content of the entire news and comment; Step 2_2, select k words with the most positive sentiment tendency, calculate the mean of the vectors corresponding to the k words to form the emotion standard vector emotion_normal; Step 2_3, calculate the difference between text_sum and emotion_normal corresponding to each news and comment to eliminate the influence of non-emotional factors in the text_sum vector, and assign the result to the vector NEW_e as the emotional feature; Step 2_4, establish a sentiment classification model to achieve classification processing of sentiment feature vector NEW_e; The specific description is: Step2_4_1, randomly select emotional feature vectors NEW_e_c1, NEW_e_c2, NEW_e_c3, NEW_e_c4, NEW_e_c5 as positive emotions, compare positive emotions, neutral emotions, compare negative emotions and the category center of negative emotions, divide the samples into five categories, and the distance d_ij between the sample NEW_ei and the category center NEW_e_cj is expressed by the exponential similarity coefficient. The specific formula is defined as: ; in , , where n is the number of samples and s is the characteristic dimension of the sample vector; Step 2_4_2, calculate the fuzzy classification matrix U through the fuzzy C-means clustering algorithm. The solution formula of U is defined as: ; Among them, u_ij represents the membership of sample i to category j, m is the fuzzy coefficient, and c is the number of categories; Step2_4_3, initialize the parameter μ of the possible C-means clustering, The value of μ is ; Step2_4_4, the objective function and constraints of the possibility C-means clustering are defined as: ; ,maxi{u_ij}>0; Step2_4_5, the membership function and category center calculation formula are: u_ij = (1+(d_ij 2 / μi 1 / (m-1) ) -1 ; ; Step2_4_6, set the threshold ε and fuzzy coefficient m. When ||Δc_i||<ε is satisfied, the algorithm stops iterating and outputs the optimal fuzzy classification matrix U and category center matrix C; Step 2_4_7, rank d_j according to the difference between the Euclidean distance between the category vector in the center matrix C and the emotion standard vector emotion_normal; Step 2_5, sort the sentiment levels according to the values ​​of d_j, the smallest value is the fifth level, set as the positive sentiment level, and the largest value is the first level, set as the negative sentiment level; obtain the membership degree of each news and comment belonging to the sentiment level through the optimal fuzzy classification matrix, and calculate the sentiment level through the numerical value of the membership degree; The sentiment grading module is described; The user feature matrix module includes: Step 3_1, determine the sliding window radius r, take the randomly selected news label vector NEW_L1 as the center vector and the circle with radius r as the sliding window, calculate the Euclidean distance L between the remaining news label vectors and the center point NEW_L1 in turn, calculate the news label vectors with a distance less than or equal to r from NEW_L1 and mark them into the set M, and define the point as belonging to cluster c1; Step 3_2, calculate the offset vector N from the center vector NEW_L1 to all elements in the set in turn i , get the offset vector N=N1+N2+…+N N ; Step 3_3, the center vector NEW_Li moves a distance of |N| in the direction of increasing density; Step 3_4, repeat the above operation until the offset value is less than the threshold K, and mark the obtained center vector NEW_Li; Continue to repeat the above operation until all points are classified; Step 3_5, according to the marking frequency of each class for each news label vector, select the class with the largest frequency as the class kind to which the news label vector belongs; Step 3_6, taking the user's most recent browsing time as the timestamp, calculate the difference between the browsing time and the timestamp of the remaining news, divide it by the time precision for normalization, and obtain the time weight corresponding to each news; set the timestamp as t, the time of browsing news i as ti, and the time weight Pti=1 / (1+((t-ti) / m)), where m is the time precision; Step 3_7, assign weight Wi to the news i browsed by the user, Wi=Pti*emotioni, where Pti is the time weight and emotioni is the emotional level of the user's comment; Step 3_8, accumulate and sum the user's interest level according to the news feature word type, obtain the total weight of the user's interest in each news type, set the news weight Wi = Pti * emotioni, and quantify the user's interest digitally as: User_label_1=(W1*NEW_S1_k1+W2*NEW_S2_k1+…+Wn*NEW_Sn_k1),…, User_label_n=(W1*NEW_S1_kn+W2*NEW_S2_kn+…+Wn*NEW_Sn_kn), Among them, User_label_n represents the user's interest in the nth type of news, Wn represents the weight of the nth news, and NEW_Sn_kn represents the similarity of the news to the nth type of news; Step 3_9: The user’s interest in n types of news is weighted and represented as an n-dimensional vector User_label: User_label=[User_label_1, User_label_2,…, User_label_n], where News_label_n represents the similarity between the news label belonging to the nth interest category and the center vector of that category. If there is no news label belonging to the nth interest category, the value of the nth dimension is set to 0; Step 3_10, the user interest vector User_label is combined with the user feature information and filled into the user vector, and the user vector is saved into the user matrix, and the user feature matrix is ​​constructed; The process of constructing the user feature matrix module is described; The user emotion prediction module includes: Step 4_1, read the user behavior data and convert the time data to create a time series sequence; use the user behavior time as the index and the user emotion information as the content. sequence=((time_1, emotion_1), (time_2, emotion_2),…, (time_n, emotion_n)); Step 4_2, fill in the blank items in the time series and calculate the user emotion bias Ud, Ud = (emotion_1 + emotion_2 + ... + emotion_n) / m, where m is the number of news items for which the user has emotional comments, and use Ud to fill in the blank items in the sequence; Step 4_3, use the unit root test to determine the stationarity of the created time series. If there is no unit root, it is a stationary series, and the result is that the p value is greater than the significance level (0.05), where p is the number of autoregressive terms in the series; otherwise, perform a difference operation on the created time series to generate a new time series; Step 4_4, perform first-order difference operation on the time series in the difference operation, repeat the stationarity test, and prove that the time series after the first-order difference operation is a stationary series through the stationarity test. The first-order difference operation process is: sequence1=(time_1,,emotion_1),(time_2,emotion_2-emotion_1),…,(time_n,emotion_n-emotion_n-1)); Step 4_5, perform a white noise test on the time series and determine the p value through the LB statistic test. If P < 0.05, it proves that it is a non-white noise sequence. Otherwise, perform a high-order difference operation; Step 4_6, initialize m, p, q, a, b values. The user's emotion level in the next time period is expressed as: emotion_n+1=m+a*emotion_1+ ...+ a*emotion_n+1-p + b*emotion_1+...+ b*emotion_n+1-q, where m is a constant, q is the number of moving average items, a and b are autoregressive weight and moving average weight respectively; Step 4_7, perform parameter optimization using the minimum bic criterion method, where bic=ln(n)k–2ln(L), k is the number of parameters, n is the number of samples, and L is the likelihood function. By implanting the optimal parameter calculation results, the final time series model is established, and the user's emotion level in the next time period is predicted through the model; The user sentiment prediction process is described; The news push module includes: Step 5_1, select the news vectors that have not been browsed by the user from the news matrix according to the user ID and store them in the waiting list, which is expressed as: waitlist=(NEWS_1, NEWS_2,…, NEWS_N); Step 5_2, calculate the content similarity sim_g(U,N) between the news vector and the user vector in the waitlist: sim_g(U,N)=[(U1 -N1 )^2 +(U2 -N2 ) ^2 +…+(Uq -Nq ) ^2 ] ^1 / 2; Step 5_3, normalize the content similarity sim_g(U,N) between the user vector and the news vector: sim_g(U,N)=1 / (1+ sim_g (U,N)); Step 5_4, sort the calculated sim_g(U,N) in descending order and store the corresponding news IDs in the list of recommended news to be selected; Step 5_5, in a news intelligent push system based on emotion protection, when dynamically pushing news, the proportion of news at each level in the news recommendation list is set according to the predicted user emotional state through a news proportion division algorithm, and a news recommendation list is generated and pushed to the user; The specific description is: Step5_5_1, divide the news sequence of each user according to the time interval t, and the divided N_i represents the news sequence corresponding to user i N_i= (T_1,T_2,…,T_t), where T_t=(News_e1+News_e2+…+News_en) / n, News_en represents the emotional level value corresponding to the news browsed by the user, and T_t represents the average emotional level of the news in the time period t. The comment sequence of each user is divided according to the time interval t, and the divided U_ie represents the comment sequence corresponding to user i, U_ie=(T_e1,T_e2,…,T_et), T_et=(emotion_te1+emotion_te2+…+emotion_ten) / n, where T_et represents the average emotional level of user i in the time period t, and emotion_ten represents the emotional level value of user i’s comment; Step5_5_2, initialize the user emotion level probability P(U_ei) = E_im / E_n, the news emotion level probability P(N_ei) = N_im / N_n, where E_im represents the number of times the i-th level emotion appears in all user comment sequences, E_n represents the number of times all emotion levels appear in all user comment sequences, N_im represents the number of times the i-th level emotion news appears in all user news sequences, and N_n represents the number of times all emotion level news appears in all user news sequences; Step 5_5_3, initialize the probability of browsing news with level j when the user's emotion is level i, P(N_ej|U_ei)=N_j / U_i, where U_i represents the total number of users with level i emotion in all user sequences, and N_j is the total number of news with level j emotion in all sequences with level i emotion; Step5_5_4, calculate the emotion probability of user i P(U_ei) = E_i_m / E_i_n, the news emotion level probability of user i P(N_ei) = N_i_m / N_i_n, if P(U_ei) = 0, then set P(U_ei) = P(U_e), if P(N_ei) = 0, then set P(N_ei) = P(N_e); Step 5_5_5, calculate P(N_ej_k|U_ei_k), given the probability that the news browsed by user k is at level j when his emotion is at level i; select all news sequences when user k’s emotion is at level i, set the emotion value of news at level j in the news sequence to 1, and the rest to 0. At this time, the sample distribution satisfies the Bernoulli distribution, and the probability distribution function is: P(N_not_k|U_not_k) NEW_emotion *(1-P(N_not_k|U_not_k)) 1-NEW_emotion , Therefore, the likelihood function is defined as: L(P)=P(N_ej_k|U_ei_k) NEW_emotion_1 *(1-P(N_ej_k|U_ei_k)) 1-NEW_emotion_1 * P(N_not_k|U_not_k) NEW_emotion_2 *(1-P(N_not_k|U_not_k)) 1-NEW_emotion_2 *..* P(N_not_k |U_not_k) NEW_emotion_n *(1- P(N_not_k |U_not_k)) 1-NEW_emotion_n ; The maximum likelihood estimate of P(N_ej|U_ei) obtained by calculation is: P(N_ej_k |U_ei_k)=(NEW_emotion_1+NEW_emotion_2+..+NEW_emotion_n) / n, If P(N_ej_k |U_ei_k)=0, then set P(N_ej_k |U_ei_k)= P(N_ej|U_ei); Step 5_5_6, calculate P(U_ei_k|N_ej_k) by Bayesian method. The probability that user k has a sentiment level of i when browsing news with a sentiment level of j is calculated using the formula of P(U_ei_k|N_ej_k): P(U_ei_k|N_ej_k)=P(N_ej_k|U_ei_k)* P(U_ei) / P(N_ej); Step 5_5_7, select the user's emotion T_et in the next time period predicted by the time series model, and the proportion of each emotional news in the next stage of dynamic push is: P(T_et+1|N_e1):P(T_et+1|N_e2):P(T_et+1|N_e3):P(T_et+1|N_e4):P(T_et+1| N_e5), Where T_et+1 represents an emotional state one level higher than the predicted user emotion T_et. If T_et is equal to 5, then T_et+1 = T_et makes the user maintain the most positive emotion; Step 5_5_8, when user k generates a new behavior sequence T_t+1, the iterative update process is described as: First, jump to Step_5 and calculate P(N_ej_k|U_ei_k) after adding the new behavior sequence of user k; Secondly, calculate P(U_ei1), where P(U_ei1) is the probability that the user's comment sentiment is level i in the user's new behavior sequence; Finally, update the value of P(U_ei_k|N_ej_k) according to the formula P(U_ei_k|N_ej_k)=P(N_ej_k|U_ei_k)*P(U_ei_k|N_ej_k) / P(U_ei1), and then jump to Step_7 for recommendation; Step 5_6, obtain the division ratio according to the news ratio division algorithm, select N news in the list of recommended news to be selected and fill them into the list of recommended news, where the number of news of each emotional level is Ni, where Ni=N*P(T_et+1|N_ei) / ((P(T_et+1|N_e1)+P(T_et+1|N_e2)+P(T_et+1|N_e3)+P(T_et+1|N_e4)+P(T_et+1|N_e5)); The news push process is described.