Abstract
Since the advent of Web 2.0 culture, there as been an explosion of data on the internet. The traditional service model based on the search engine can no longer meet the increasing demand for personalized service. Taking the Douban film review platform as an example in this paper, we propose a method to model user preferences and detect preference drift. Based on a hierarchical topic tree and tilted time window, we design a hierarchical classification tree, named HAT-tree, to maintain the history of the user’s preferences at multi-topic and multi-time granularity. We identify the user’s primary historical preferences, predict their future primary preferences and also detect user preference drift. The proposed algorithm can find the user’s long-term and short-term preferences, detect the user’s explicit and implicit preference drift, and highlight the importance of the user’s more recent preferences. Many experiments are carried out on multiple data sets, and the experimental results show that the proposed method is more accurate than other similar algorithms of user preference drift detection.
Introduction
With the development of information technology and social networking [2, 1, 3], a large number of applications have emerged, such as Twitter, Facebook, Weibo, YouTube, Douban, etc., which brought convenience and greatly enriched our lives. Although we can now enjoy the convenience of the Internet, we frequently spend unnecessary time and energy trying to find the resources we really need in the vast ocean of available data. What’s worse, due to the limitations of the search conditions and algorithms, the results returned by the search engines often fail to meet the user’s needs entirely.
When an application such as those mentioned above is used, certain data about the interaction will be recorded. The time the user logs in or out, the duration of the visit, and the details of the activities will be recorded. These details may include personal opinions, the sharing or forwarding of others’ opinions, as well as ratings given and comments made on published messages. This information about a particular user contains his/her preferences. We identify two possible categories for user preferences. Firstly, a user’s preferences can be categorized by their expected duration. Long-term preference is expected to stay relatively constant over time, while short-term preference might change more frequently [4]. Secondly, user preferences can be categorized by how they are presented. Certain preferences can be expressed explicitly while other, implicit preferences, may be difficult to express directly but present the user’s potential unconscious tendencies [5].
Effectively capturing the dynamic changes of user preference is one of the most critical tasks when building user preference models[6, 7]. Building the user’s time-varying preference model can help to provide more qualified services. For example, timely news can be recommended to users by capturing their changing preferences[8]; analyzing the user’s recent shopping-related activities can also assist in pushing the appropriate advertisements to the user at the right time[9]. These methods often use the forgetting curve model or time decay model to simulate the changing trend of users’ preferences and then predict users’ future preferences and detect their possible preferences drift. However, both the forgetting curve model and the time decay model are forgetting strategies abstracted from the forgetting characteristics of all users, ignoring the personalized characteristics of each user.
Various time-varying preferences of users consist of stable long-term and volatile short-term ones. Long-term preferences are focused on relatively few topics and endure for a long time, while short-term ones are more varied but also more short-lived [10]. In order to quickly capture the changes in users’ preferences, the sliding time window model is also widely used to obtain users’ recent preferences. A longer window can be used to discover a user’s long-term preferences, while a shorter window used to discover a user’s short-term preferences. However, due to the diversity of the changes in users’ preferences, it is difficult to choose a time window of the appropriate size to capture all users’ long-term or short-term preferences.
In detecting user preferences drift, the sparsity of user data leads to the decline of the accuracy of the user preference model and the failure of drift detection, which is one of the most significant challenges researchers face. In order to minimize the problems caused by user data sparseness, many existing methods find similar user groups using clustering methods [11] and detect the preference changes of each user group. Then we can easily judge the drift of user preferences according to whether the preferences of the user group drift. However, judging user interest drift by user group interest drift can improve the accuracy of drift detection to a certain extent, which loses the judgment of personalized user interest drift. In addition, as time goes by and user behavior characteristics change, user groups also need to be adjusted constantly, which will significantly increase the algorithm’s complexity.
In this paper, we comprehensively analyze movie reviews and evaluations on the Douban platform to learn about user preferences at multi-time and multi-topic granularity, and design a hierarchy classification tree named HAT-tree to compressedly maintain user’s preferences and their weights at multi-topic and multi-time granularity. By mining the HAT-tree, we can quickly find user’s long-term and short term preferences, and the explicit and implicit preferences, thus simultaneously detect preference drift and distinguish drift types. Additionally, in order to adapt to different application scenarios, two coefficients
The rest of this paper is organized as follows. Section 2 presents work related. Section 3 gives some definitions and proposes our method. Section 4 discusses the preference model at multi-time and multi-topic granularity. Section 5 proposes the method of mining the user’s primary and detecting preferences drift. Section 6 explains the experimental results. Section 7 summarizes the work of this paper.
Related works
User preference refers to the psychological tendency to explore a certain subject matter or to engage in a particular activity, usually described by topics. Therefore, the essence of preference drift detection is to find changes in the set of topics that express the user’s interests.
Concept drift detection
With the development of internet application technology, the quantity of data generated on the Internet shows an explosive growth trend. More and more learning algorithms are designed to classify, and to extract valuable information from the available data. However, as time goes by and hidden environmental changes occur, to a greater or lesser extent the inherent qualities of the data also change. Widmer and Kubat call such changes the concept drift problem [12]. When detecting concept drift, a model is usually used to predict the value of a target variable. The concept is said to drift if the target variable changes over time [13]. The drift detection algorithm can be classified by the approach adopted, of which we identify three: (a) instance selection or window-based approach, (b) weight-based approach, and (c) ensemble of classifiers approach.
The instance selection methods store the most appropriate data in memory and train a classifier for drift detection. Most of these methods use a sliding window model [15, 14] to maintain data within the most recent fixed-size time window and detect possible conceptual drift. The user chooses the size of the sliding window, and a small-sized window is suitable for finding and detecting the short-term concept drift, while a large-sized window is used to detect the long-term concept drift. In order to detect the concept drift within an adaptive window, some researchers have also proposed a size-varied window model [16].
The weight-based methods [17] assign a certain initial weight to the newly generated instance and gradually attenuate the weight of the instance as time passes by [16]. When the weight of an instance is less than a given value or equal to 0, it is deleted from the training data set. Similar to the instance selection methods based on the sliding window model, these methods consider that the new instances play a more important role in concept drift detection than the old ones.
At present, a classification method commonly used in concept drift detection algorithms includes SVM [17], decision trees [18], Bayesian classification [19], clustering [20], and logistic regression [21]. In order to improve the accuracy of the algorithm, many research works also use ensemble classifiers for concept drift detection, that is, they comprehensively analyze the output of multiple classifiers, and finally define a classifier according to the results of different classifications. In order to improve the adaptability of the algorithm, some ensemble classifiers methods also give each classifier a certain weight to adjust the impact of each classifier on the final classification result.
With the rapid development of big data technology, application layers in various industries are emerging, generating a large amount of business data. Due to the diversity of applications, the data in some applications (such as online learning, stock trading, Etc.) appears as a non-stationary dynamic data stream [23, 22]. One of the most critical tasks is to detect concept drift from these dynamic data streams in machine learning [24]. The research on recursive concept drift and concept evolution in the data stream also attracts researchers’ attention [23, 25]. Also, the multilevel imbalance of concept drift is a challenge for many real-world applications [26].
Preference drift detection
Since the advent of Web 2.0 culture, there as been an explosion of data on the internet. The traditional service model that relies on search engines for data retrieval cannot meet the needs of individual users and is replaced by a personalized recommendation service model based on the user’s preferences [28, 27]. A personalized recommendation system is able to understand a particular user’s needs and push the relevant resources by learning the user’s preferences.
Establishing a preference model for the user is one of the critical tasks of a personalized recommendation system. In recent years, scholars have proposed a variety of methods to establish user preference models according to their implicit and explicit footprints [29]. Li et al. [30] proposed a contextualized and personalized user preference model for location-associated social networks and used multiple logistic regression methods to extract and predict user preferences. Zheng et al. [31] analyzed microblog content to learn user hobbies, and proposed a time topic model to analyze user behavior and predict potential friends. In order to solve the problem of extracting user preference from social media, Kang et al. [32] map the social media information to the relevant categories of news media by using the Wikipedia knowledge system, thereby improving the accuracy of the user preference model.
However, as time goes by and the working and living environment changes, the user’s preferences may also change. One of the essential capabilities of a recommendation system is detecting drift in the user’s preferences and changing the recommendation strategy accordingly. In order to detect the drift in user preference over time and improve the quality of personalized services, David et al. [33] convert email content into themes using WordNet [34] ontology information, analyze the type of concept drift, and then filter the spam. Escoffeo et al. [35] proposed an algorithm to predict the mutations of concepts in the high-speed data stream. Demšar et al. [36] developed a monitoring system to detect conceptual drift on the data stream at multiple levels. In order to reduce the influence of preference drift on recommendation, Sun et al. [11] used a clustering method to find user preferences, and to detect preference drift they used a time impact factor matrix. They subsequently predicted user preference drift using a linear regression method. Zhang et al. [37] considered the uncertainty of time characteristics and user behavior, and used fuzzy set theory to construct a fuzzy user preference consistency model.
With the rapid popularization of intelligent mobile devices and the significant growth in mobile applications, it has become easier to obtain dual information of user behavior history and location trajectory simultaneously. Therefore, the recommendation of interest points [27, 38] based on location service has become a hot topic in current research and plays an increasingly important role in related applications.
Definitions
In this section, we will first present several definitions used in this paper and then propose the problem to be discussed.
Definition of user preference
Generally, an individual’s preference relates to a feeling or an emotion that may cause his/her attention to focus on a certain object, event, or process. While improving the quality of user services, user preference can also create added value for applications. Therefore, it is vital to discover and describe user preference and extract valuable information for real-world applications.
During a certain period of time, a user may be interested in multiple topics simultaneously. Thus a set of topics is customarily used to represent the user’s preferences. The words “
.
(User preference) Given a time window
For example, the set
Since the number of times (or total time) that users participate in the activities in different time windows may be variable, it is difficult to judge which topic the user is more interested in based only on the participation rate or duration. In order to compare the user’s preferences in different time windows, we first normalize the weights of the user’s preferences in each time window. Given the set of user’s preferences UI in the time window
where
.
(Primary/secondary preference) Suppose UI is the preference set of a user in time window
Suppose
There are several techniques we can use to determine a value for the preference weight threshold
.
(Preference drift) Assume
Two cases of preference drift can be identified. (1) If one of the user’s primary preferences changes to a secondary one or changes in the opposite direction, we consider
Suppose that PUI
Hierarchical classification tree
Generally speaking, before watching a movie, a potential viewer can make a preliminary judgment by considering, for instance, the genre, introduction, director, or actors of the movie and decide whether to watch it or not. In this paper, we extract keywords that accurately describe a movie’s plot from its introduction. Based on a semantic knowledge network similar to Wordnet [34] and Hownet [39], we analyze the semantics of the keywords and their interconnections and classify the keywords hierarchically.
In a hierarchical classification tree, as shown in Fig. 2a, the scope of the topic represented by a parent node contains the scope of the topics represented by all of its child nodes. The topics respectively represented by parent and child nodes could be thought of as the user’s parent preference and child preferences.
.
(Parent/Child preference) Suppose
In the hierarchical classification tree of user’s preferences shown in Fig. 2, the node “Military” is the parent of “Vietnam War”. So we call “Military” the parent preference of “Vietnam War”, and “Vietnam War” one of the child preferences of “Military”. Obviously, among a user’s preferences, a parent preference is vague and thought of as the rough understanding of the preference. However, a child preference is subtle and thought of as the precise understanding of the preference. When pushing resources to users, it is necessary to understand the more precise preferences in order to obtain better recommendation effects.
Computation the preference weight
Usually, a user’s preference weight on a certain topic is synthetically determined by the weight of the user’s explicit and implicit preference for that topic. In the Douban movies, the number of times an individual watches films in specific topic categories reflects the degree to which the user is interested in those topics. The more watching actions in a given time window, the more the user is interested in the topic. In addition, people also watch movies of different topics in different behavioral ways and are willing to evaluate the movies they watch. These evaluations and behavioral characteristics expose the user’s personalized preferences explicitly or implicitly. A positive comment and a high rating means the user is interested in the movie. On the contrary, a negative comment and a low rating means that the user dislikes the movie.
Next, we will discuss the methods to calculate the degree to which a user is interested in a topic based on explicit and implicit information. After that, we propose a quantitative evaluation system to calculate the weights for different topics.
Explicit preference weights
In Douban Movies, a user can intuitively express his/her preferences in a movie by rating. The score reflects the degree to which the user is interested in the movie. Besides that, the user can also express his deep feelings about the movie by making a comment. Text analysis and language understanding technologies are needed to accurately extract the information embedded in the comment to evaluate the user’s opinion.
Douban movies allows the user to express his/her degree of interest on a five tier rating system, denoted as
When users evaluate a movie, they need to give at least a rating or a comment. If the user gives a rating If the user posts a comment and gives a rating on a movie simultaneously, and the rating level If the user gives both a rating and a comment on a movie, and the rating level
User ratings and comments are two ways that user preference can be expressed explicitly. Therefore, we use the
According to the user’s explicit index, we define the weight of the user’s explicit preference on movie
where
According to the analysis mentioned above and the Eq. (2), the range of the user’s explicit preference index on movie
Based on the above analysis, we can conclude that the weight of the user’s explicit preference is always no less than the explicit preference index. From this, we can also draw the following two exciting properties.
.
When the value of parameter
.
The greater the value of parameter
Besides learning an individual’s explicit preferences from the comments, we can also determine the user’s implicit preferences by analyzing their movie-watching behavior. In general, we can learn about the user’s implicit preferences based on two general principles. First, if a user is more interested in a topic, he/she will watch more movies in that topic category. Secondly, if a user watches movies of a specific topic more frequently and regularly, we believe the user is more interested in the topic. Next, we learn the implicit preference by studying the user’s movie-watching behavior and discuss the method of calculating the weight of implicit preference.
Given two topics
Generally, the total number of movies a user watches could differ in two time windows of the same size. So the preference weight of the user on two topics might be different even though the numbers of movies watched in the two topic categories are the same. In order to compare the user’s preferences in different time windows, we first use function
According to the normalized implicit preference index, we can easily differentiate the weights of the user’s implicit preferences on each topic. Then given a topic
where
.
When the value of parameter
.
The greater the value of parameter
We have discussed the methods to calculate the weight of the user’s explicit preferences based on the ratings and comments and the weight of implicit preferences based on the movie-watching behavior, respectively. Next, we calculate the integrated weight of the user’s preferences on a topic by considering both explicit and implicit preferences for that topic.
Without loss of generality, we can think that a user watches
According to the previous Eqs (3)–(5) can be rewritten as follows Eq. (6)
According to the analysis of the Eqs (3) and (4), the value range of
The integrated weight of a user’s preference on topic
If If If both If
In a larger time window, a user might be interested in movies on a range topics. Of these preference topics, the user might be interested in some preferences for only a short time, while other interests may last a long time. In order to discover the user’s long-term and short-term preferences, we first split the user’s movie-watching logs into data segments according to a predefined time window called the
In order to be able to push the interested resources to the user precisely, it is necessary to accurately learn the user’s recent preferences, as well as long-term and short-term preferences. However, it is very costly to keep the weights of a user’s long-term preferences in each time-unit window, because it will take tens or even hundreds of counters. As shown in Fig. 1, we design a tilted-time window model to divide the time window by month into a series of slots, where the last three slots respectively represent the three most recent months, including the current month. The sizes of the time windows represented by the subsequent slots grow at an exponential rate, represent a quarter, a half year, one year, etc. If the user log is monthly divided into batches
Tilted-time window frame with logarithmic-like partition.
The user’s short-term preferences are variable, but the long-term ones are stable. Users can continuously maintain a short-term preference for a short time, perhaps covering only a few individual time windows. However, a long-term preference’s lifetime might cover tens or hundreds of time windows. In order to efficiently maintain the weight of the user’s long and short-term preferences, a time window model, as shown in Fig. 1 is designed to compress the weights of user’s preferences in the time windows with multi-time granularity.
Given two integers
In Section 4, we have discussed the hierarchical classification tree used to express the hierarchical relationships of user preference topics. Moreover, a tilted-time window model is designed to compress the weights of the user’s preferences over the historical time window. Based on this, we will design a user preference model named hierarchical classification tree with tilted-time window (abbreviated as HAT-tree), which can dynamically maintain user preferences at multi-time and multi-topic granularity.
An example of hierarchical classification tree with tilted-time window.
As shown in Fig. 2, in a HAT-tree, all nodes contain four fields: iName, pLink, and tLink, where iName registers which topic this node represents, pLink links to the parent node in the HAT-tree, and tLink links a tilted-time window table which is embedded into the node. In the time window table which is embedded in a tree node on the HAT-tree, there are several entries to store the weights of the user’s interest in the topic represented by the tree node. Each entry contains five fields: tSeqNo, max, min, Weight and stamp. tSeqNo registers a tilted-time window which is represented by the sequence number of the starting time-unit window, max and min register the maximum and minimum time window between two viewing actions of movies associated with the topic represented by iName. Weight registers the explicit weight of user’s preference in the tilted-time window, and stamp registers the last date the table is updated.
When building the user’s preference model using a HAT-tree, the user’s movie-watching behavior log is divided into batches named
[b] Incrementally updating HAT-tree
logs: newly generated log in current batch
Updated HAT-tree with logs being processed. Create a pointer tp to point the root of HT, set
topic
As shown in Algorithm 2, when the current batch of logs is fed into Algorithm 2, the log record is processed one by one, as shown on lines 2–21. As shown in lines 3–4, the algorithm records a user’s evaluation on movie
.
On a HAT-tree, an ancestor node represents a coarser topic, while a child node represents a more delicate topic. In the tilted-time window table linked to a node in the HAT-tree, more delicate time windows are used to save recent preferences, but coarser time windows are used to keep historical preferences.
.
Supposing that Node
This section will analyze the user’s historical log and build a user preference model with multi-time and multi-topic granularity. Based on the model, we analyze the trend of a user’s preference and detect the possible preference drift.
Mining primary preferences
The individual’s preferences are in constant flux. New interests develop from factors such as hobbies, recommendations by friends, and social trends, while the intensity of older interests fade. In any time window, an individual may be interested in a wide range of topics simultaneously. The weights of the preferences that a user is interested in may differ significantly. When recommending resources to the user according to his/her preferences, it is necessary to distinguish between primary and secondary preferences in order to improve the relevance and accuracy of the recommendations.
When a user evaluates the watched movie, the generated log is analyzed and processed by Algorithm 2, and the user’s preferences are incrementally updated to the HAT-tree. Therefore the user’s primary preferences in a given time window can be obtained by mining the user’s HAT-tree using Algorithm 5.1. As shown in line 4–8, all nodes on the HAT-tree are traversed, and the weights of the preferences represented by the nodes in given time window
[ht] Mining top-k primary preferences
the top-k primary preferences.
Get the set of tilted-time windows that cover
Create a set of tuple
a topic
Sort UI in descending order of weight UI is not null and flag is true flag = false
As mentioned in Section 3.1, the user’s primary preferences can be distinguished from secondary ones by a given threshold
Predicting preference weight
Studying user preferences and pushing compatible resources is one of the essential tasks of the Douban movie review platform. In the previous section, we discussed mining the user’s primary preferences from a HAT-tree. However, these preferences are always changing. Some primary historical preferences may become less critical, and some secondary or newly generated preferences may become primary interests in the future. In order to detect the possible drift in a user’s preferences in advance, we need to not only mine the user’s current primary preferences from the HAT-tree, but also predict the user’s primary preferences of the future.
Normally, the historical weight of a user’s preference, regardless of its age, will affect the weight of his/her future preference. At the same time, we also believe that current preference weights have a much greater impact on the future weights than historical weights have. Based on these two understandings, a regression analysis method based on EMA (Exponential Moving Average) is presented to predict the weights of the user’s future preferences. Let
where
Simply, we can use
When the user’s historical preference weights are known, the current time window’s predictive weight is determined by the coefficient
where
The optimal solution of
As the previous discussion shows, user preferences may drift over time due to various factors. Applications like Douban movies always hope to capture the changes in user preferences to adjust their recommendation strategies on time in order to provide the best service. In this section, we present an efficient algorithm to detect the drift in user preferences.
Suppose PUI
where
Function
According to the possibility of combinations of
Possibilities of the values of
When it is necessary to detect the state of user preference drift, we only need to calculate the value of the drift indicator
In this section, we will first introduce the experimental environment and then discuss the performance of the proposed method, and compare it with similar algorithms.
Experimental environment and datasets
All of the experiments were performed on a PC with a I7-8550U processor and 16 GB of main memory running on Win10. All programs were written in JDK 1.8.
Two datasets of movie reviews, Douban movie reviews, and MovieLens, were used in the experiment. The former data set, obtained from the Douban movie platform (movie.douban.com), contains user ratings and reviews, while the latter, obtained from the GroupLens platform (grouplens.org/datasets/movielens), only contains user ratings, and no comments.
Douban Movie reviews contains about 1.86 M comments and ratings on 149 k movies given by 398 users from July 31, 2005, to March 2, 2019. According to the annual average number of comments, the Douban Movie reviews platform is divided into three datasets named DS1, DS2, and DS3 respectively, and the annual average in these groups is less than 1000, greater than or equal to 1000 but less than 2000, and not less than 2000 respectively. Table 2 describes the data characteristics of the three datasets.
Distribution characteristics of the data sets
Distribution characteristics of the data sets
As shown in Table 3, two datasets MoiveLens-1M and MoiveLens-10M [40] were also used to compare the proposed method to similar methods. Compared with the dataset of Douban Movie Reviews, the dataset of MovieLens lacks movie introductions and user comments. Therefore, two simplified treatments are applied when conducting the proposed algorithm on MovieLens. First, it is not necessary to extract finer granularity interest topics from the movie’s introduction. Second, the value of
Introduction to the datasets of MovieLens
This section first introduces the parameters used in the performance evaluation experiments. Then performs a series of experiments on the data set to evaluate the influence of the various parameters on the algorithm’s performance and analyzes the experimental results.
Experiment parameters
In the performance evaluation experiments, we set the values of each parameter of the algorithm in the value range as shown in Table 4, and arbitrarily combined the values of the parameters. Nearly 780,000 experiments were conducted on data set DS1, DS2, and DS3, respectively.
Description of the parameter values
Description of the parameter values
According to the analysis in Section 4.2, two factors affect the weight of a particular preference: the user’s movie-watching behavior and comments, which represent implicit and explicit preference respectively. Among these the user’s explicit preference, manifested in the comments made, is the more influential factor. Two parameters,
The correctness of drift detection as 
As shown in Fig. 3, when the value of the parameter
When changing the value of parameters
When constructing the hierarchical classification tree of user preferences, we adopt a multi-granularity time window to maintain the weight history of each user preference, which allows us to distinguish between long-term and short-term preferences. Then, both short and long-term preference drift could be detected. We subsequently performed a series of experiments to verify the accuracy of the proposed method in detecting long and short-term preference drift.
The correctness of drift detection as 
In the experiments, we find the user’s long-term or short-term preferences by changing the size of the predictive time window
As discussed in Section 3.1, the top-
The experimental results also show that the algorithm’s correctness on data set DS3 is always greater than that on data set DS2 and DS1 irrespective of the value of
Performance evaluation on
Predicting user preference is one of the most pivotal steps in preference drift detection. Generally speaking, a user’s preferences may drift over time, and when predicting future preferences, the influence of recent preferences is more important than the influence of historical preferences. Therefore, when predicting the weight of preference in the future time window, the algorithm uses the decay factor
The value of
Accuracy on explicit and implicit preference drift detection
We have discussed that preference drift can be classified as either implicit drift or explicit drift in Section 5.3. Implicit drift refers only to weight changes in the user’s primary preference set, while the elements in the set remains unchanged. These represent moderate changes in the user’s preferences. On the other hand, explicit drift refers to changes in elements of the user’s primary preference set, representing a sharper change in the user’s preference.
In order to evaluate the algorithm’s ability to detect explicit and implicit preference drift, we also performed a set of experiments to analyze the correctness of each user’s explicit and implicit drift in the three sets of data. The average accuracies of explicit and implicit preference drift in the three data sets are shown in Table 5.
The accuracy on explicit and implicit preference drift detection
The accuracy on explicit and implicit preference drift detection
The correctness of the proposed method as 
As shown in Table 5, for the three data sets, the accuracy of explicit drift detection is higher than that of implicit drift detection. The user’s primary preferences represent the most important and most stable set of preferences. Generally speaking, the user’s primary preferences are not expected to drift significantly in a short-term time window. However, the weight order of the primary preferences may change slowly over time. Therefore, the correctness of explicit preference drift detection is often takes priority over that of implicit preference drift detection. In addition, the experimental results show that both explicit and implicit drift detection in the DS3 data set is more accurate than for the other two sets. The main reason is that the more movies a user watches and the more reviews the user posts, the easier it is to analyze and learn the user’s true preferences.
In this section, a series of experiments on MovieLens [40] were conducted to compare the proposed method with several similar methods, including two UDD methods [37] and the DTDM [11] method. The internationally accepted measurement metric MAE(Mean Absolute Error) was used in the compare experiments, and the equation to calculate MAE is as follows.
where
Some experiments were conducted on the dataset MovieLens-1M to compare the proposed method with the two UDD methods [37], and the experimental results are shown in Table 6. The MAE of the proposed algorithm is slightly poorer than that of the CF-based UDD method but clearly better than that of the Content-based UDD method.
MAEs of four methods on MovieLens-1M
Both UDD methods construct a fuzzy user preference model based on fuzzy set theory and build the relationship between the movies and the user’s ratings by fuzzifying the movie attributes. In addition, an explicit user rating relationship can be obtained by discarding the noise data beyond given confidence. The content-based UDD method constructs the fuzzy relationship between movies and user’s preferences by calculating the similarity between the movie content and the user comments. However, The data set provides little information, so it is not easy to determine a user’s exact practical preferences. In order to solve the problem of low accuracy caused by the sparsity of the dataset, the CF-based UDD method collaboratively recommends movies to the user based on the similarities between users and so improves the accuracy of prediction. However, the CF-Based UDD method needs to establish the collaboration matrix between the movies and the users and calculate the similarity between the users, which is very taxing and time consuming. While the proposed method can effectively learn the user’s actual preferences by analyzing the explicit and implicit preferences of other users. The importance of the user’s recent preferences can be emphasized by using the Exponential smoothing technique which serves to attenuate the weight of historical preferences. Therefore, the proposed algorithm has an obvious advantages compared with the Content-based UDD method. Although the correctness of the method in this paper is slightly lower than that of the CF-based UDD method, the expansibility and algorithm efficiency of the CF-based UDD method are far lower than that of our method.
Second, the proposed method is also compared to the DTDM method [11] by conducting experiments on both MovieLens-1M and MovieLens-10M. In this experiment, the parameters of the proposed method are the same as those in the first comparison experiment, except that the user’s data in the last five-time windows is used as the test data. The mean absolute errors (MAEs) of two methods on the datasets of MovieLens-1M and MovieLens-10M are shown in Table 7. When the comparative experiments are conducted on MovieLens-1M, the proposed method is obviously better than the DTDM method, but it is slightly inferior to the DTDM method when the experiments are performed on MovieLens-10M.
MAEs of two methods on MovieLens-1M and MovieLens-10M
A clustering method is used in the DTDM method to find similar user groups in MovieLens, and the user’s interest in the future can be predicted based on the similarities of the users in a group. The correctness of the DTDM method is greatly affected by the characteristics of the data and the correctness of the clustering results. the data in MovieLens is very sparse, which will lead to the low accuracy of the DTDM method. Additionally, after a significant change in the user set or a significant drift in their interests, the users need to be re-clustered to discover the new user interest groups. Therefore, the DTDM method is not suitable for situations where incremental detection drift in user interest is required. In comparison, the proposed method analyzes the explicit and implicit features of user interests and build a user interest model at multiple topic granularities and multiple time granularities. As time passes by, user interests and their weights can be incrementally saved to the model. When it is needed, the weight history of user interest can be quickly obtained from the model, and its weight in the future can ben forecasted by a prediction model based on EMA. In addition, the proposed method can also detect the drift in users’ long-term and short-term interests.
On the Douban review platform, users rate and review the movies they watch. By analyzing the user’s movie-watching behavior, comments and ratings, we learn their explicit and implicit preferences, and design a hierarchical classification tree named HAT-tree to maintain these preference characteristics at multi-topic and multi-time granularity. Based on HAT-tree, we mine the user’s primary preferences in continous time window, and then detect possible preference drift. The proposed algorithm can discover the user’s long-term and short-term preferences and detect explicit as well as implicit drift. Experimental results show that this method performs well and has apparent advantages over other similar algorithms.
Footnotes
Acknowledgments
This work was partly supported by the National Natural Science Foundation of China (No. 61962024, 61772245, 61866014, 61806075), and the Jiangxi Province Department of Education Fund under grant (No. GJJ190258, GJJ190254).
