User:Yuan/Web Recommendation

= Web Recommendation =

1.Overview
The recommendation systems are introduced from introducing their function, in detail, which benefits can recommendation systems bring to us and why we need them. In section 4 "User Modeling", I mentioned user modeling which we should know before recommendation. A lot of data information used by recommendation algorithms is presented in this section. Besides I describe the user model structures to help us understand this part better. In section 5 "Recommendation Approaches", three important recommendation approaches are introduced, focusing on the algorithms and formulas. A short comparison between different recommendation approaches is given as well. At last, a short conclusion and quiz are presented to help us understand the whole chapter better.

2.Introduction
In previous chapters, technical architecture and operating principles of search engine were discussed, especially the personalisation of search results. This chapter introduces recommendation systems which are systems to make search results more personalized.

Recommendation Systems are software tools and techniques providing suggestions for items to be of use to a user. It plays an important role in the websites because of the fast development of online technologies. A growing number of customers have demands on high quality services while surfing the Internet and easy-to-use operating interfaces. On the other hand, the service providers also hope to improve their services to satisfy the users. Everyone would like to see a friendly human-computer interaction. A well designed recommendation system will give users the right recommendations at the right time. These recommendations might be interesting to particular users or suit users' needs and wants, even more, they give recommendations that users are not interested in before but useful to the users indeed. However, recommendation systems we use now may be still not good enough to satisfy both service providers' and users' needs although their benefits are obvious. So people keep researching in this field to develop better recommendation systems.

3.Recommendation system function
Recommendation system plays an important role in various websites nowadays. More and more e-commerce websites and media companies keep developing recommendation system as a part of services they provide. Both service providers and users benefit from exploiting recommendation system. A recommendation system is typically introduced by service providers to increase their profits.

For commercial recommendation system, the service providers will sell more items when compared to without using recommendation systems. This may be the most important function which recommendation system provides. They probably sell additional sets of items because the items recommended by the system are likely to satisfy the users' needs. Moreover, the number of items sold tends to be increased when a recommendation system exists to help users find what they want easily, rather than the users just browse through the information arbitrarily without a recommendation. In addition, the recommendation system will help sell the items which are difficult to be found but are still appropriate to niche markets.

On the other hand, recommendation systems increase user satisfaction and loyalty to the web site. A good recommendation system can improve the user experience when they find the recommendations are relevant, interesting and useful. Users will enjoy using the system and also have high evaluations to the web site. A lot of recommendation systems collect information from user preferences in previous interactions to compute recommendations. When a user use the recommendation system for a long time, his or her user profile will contain more information so that the recommendations provided by the system should be effectively customized. Consequently, the user loyalty to the web site will be increased as well.

By using recommendation systems, services providers can better know what the users want. They analyze the information collected from user interactions explicitly or predicted by the system to describe users' preferences. The service provider may then decide to re-use this knowledge for a number of other goals such as improving the management of the item’s stock or production.

What can users benefit from recommendation systems? Recommendation system can help users find items they may be interested in. When users browse the items without any specific intention of choosing some, the recommendation system would show the items that most likely attract the users. These items probably satisfy some user needs and wants. Besides, the recommendation system can also recommend some items to users in order with ranking by the prediction of how much the users will be interested in or how relevant to users' needs.

4.1 Introduction
"User Modeling is the process of creating and updating a user model, by deriving user characteristics from user data - which is either data that is explicitly provided by the user or data that stems from indirect events and observations." A user model can contain different characteristics of users, such as user interests, user backgrounds, user tasks and even user moods. The user data may contain various information associated with users, like demographics, friends or relationships, social media, device information, location, browsing history and so on. Some of the information is easy to obtain, some is not.

The characteristics of users may be provided by the users explicitly, then the information is simply systematically presented in the user model. This information can be collected by using forms or questionnaires as a first use of a system. Besides, we can acquire the information from user interactions with the system. Moreover, users will give feedback to the system which is an important part in recommendation system, and the feedback could be put into user data.

However, if we couldn't obtain the characteristics from the users directly, the information could be inferred from the original data, namely, the elements in the user model are estimated by the system. It can classify users by user behaviors, detect the patterns to infer items that users may be interested in, or matching user behaviors with other users.

4.2.1 Flat user model
Flat model, shown in Figure 1, is a collection of variables which represent different user characteristics and their corresponding values. These variables may be combined at will for adaptation decisions in the form of basic rules. For example, a rule might indicate that if a user's age is lower than eighteen and the user is female a selection of news items interesting to young females should be made. Due to the flatness of the model, it is hard to make more complex deductions.



4.2.2 Hierarchical user model
Hierarchical models are different from flat models, they do not only represent user characteristics but also the relations between these user characteristics. Stereotype is a useful mechanism for building hierarchical models of individual users on the basis of a small amount of information about them. A stereotype is a collection of frequently occurring characteristics of users. For example, when a doctor is mentioned, we could consider that he or she is probably over thirty, well-educated, has high income and high social status, is well-respected in society. Maybe not all of these attributes are correct to any particular doctor, but people would tend to assume them until shown otherwise. Users could be classified into common stereotypes by gathering their characteristics.

A system is able to use stereotype effectively by containing two kinds of information: stereotypes and triggers. Stereotypes could be treated as a set of attribute-value combinations that describe groups of system users. Users can be characterized by the collection of attributes and their values. The system domain and tasks will determine which particular set of attributes would be used. Triggers are those events whose occurrence signals the appropriateness of particular stereotypes. So, for example, if a user immediately uses an advanced construct in a system, that should serve as a trigger for the "expert-user" stereotype, which should then be activated. When a stereotype is activated, the predictions it makes about various characteristics should be incorporated into the model of the user.

There are some other hierarchical user models such as domain overlay model, logic-based model and so on. Some user models and user modeling approaches was discussed in our flipped classroom session flipped classroom session.

5.1 Content-based filtering
Content-based filtering recommends items that are similar to the ones that the user liked in the past. The similarity of items is calculated based on the features associated with the compared items.

For example, if a user has rated an action movie with a high score in previous time, then the system tends to recommend other action movies to this user. The content-based approach to recommendation has its roots in the information retrieval community, and employs many of the same techniques. Text documents are recommended based on a comparison between their content and a user profile.

The items are represented in structured data or unstructured data. Items information is often stored in database table as structured data in which there is a small number of attributes, each item is described by the same set of attributes, and there is a known set of values that the attributes may have. However, the items are usually described as text documents without well-defined attributes and their corresponding values. We should convert the unstructured text to the structured representation while the text is often represented in natural language. A widely used algorithm to abstract the features of the items in the system is tf-idf.

5.1.1 TF-IDF
The term frequency-inverse document frequency (TF- IDF) measures the significance of a word appearing in documents. If a word appears many times in an article and appears little in other articles, then this word is available to be used for classification. TF means the frequency of a term appears in the document.


 * $$ \mathrm{tf_{i,j}} = \frac{n_{i,j}}{\sum_k n_{k,j}}$$

$$n_{i,j}$$ means how many times the term $$i$$ appears in $$d_{j}$$，while $$\sum_k n_{k,j}$$ sums up the times of all terms appear in $$d_{j}$$.

The inverse document frequency (IDF) is a measure of whether the term is common or rare across all documents. The core idea of IDF is that if the number of documents containing the term is less, IDF is higher. It is obtained by dividing the total number of documents by the number of documents containing the term, and then taking the logarithm of that quotient.


 * $$ \mathrm{idf_{i}} = \log \frac{|D|}{|\{j: t_{i} \in d_{j}\}|}$$

with


 * $$|D|$$：the total number of documents
 * $$ |\{ j: t_{i} \in d_{j}\}| $$：the number of documents which contain term $$ t_{i} $$ ($$ n_{i,j} \neq 0$$）if this term doesn't exist in corpus，then it will be divided by zero which is not allowed，so $$1 + |\{j : t_{i} \in d_{j}\}|$$ is widely used.

Overall the term $$i$$ frequency-inverse document $$j$$ frequency
 * $$ \mathrm{tf_{i,j}idf_{i,j}} = \mathrm{tf_{i,j}} \times \mathrm{idf_{i}} $$

After computing TF-IDF, we should put the results in the table to present the document structured. Here is an example of how to compute TF-IDF written by John Bruntse Larsen in 2013.


 * Document 1: Trees can be trees in nature or trees in computer science.
 * Document 2: It can be dangerous to be in caves.
 * Document 3: In nature, monkeys can live in trees or caves.

This table shows TF-IDF of the nine words in Document 1, where the letter-case is ignored. Trees is the most relevant followed by computer and science.

5.1.2 Cosine Similarity
There are many methods to compute the similarity between documents. Cosine similarity is a simple one.
 * $$\text{similarity} = \cos(\theta) = {A \cdot B \over \|A\| \|B\|} = \frac{ \sum\limits_{i=1}^{n}{A_i \times B_i} }{ \sqrt{\sum\limits_{i=1}^{n}{(A_i)^2}} \times \sqrt{\sum\limits_{i=1}^{n}{(B_i)^2}} }$$

with
 * $$\theta$$ is the angle between vector A and vector B.

For example, we still use the data above. The term-document matrix for the three sentences with TF-IDF values shows in Table 2.

Then I want to calculate similarity between Document 1 and Document 2 compared with the similarity between Document 1 and Document 3.

$$\text{sim(Document 1, Document 2)} = \frac{0.016\times 0.045 }{ 0.081\times 0.052} = 0.166$$

$$\text{sim(Document 1, Document 3)} = \frac{0.048 \times 0.020 + 2 \times (0.016 \times 0.020) + 0.023 \times 0.020 }{ 0.081\times 0.083}= 0.297$$

According to this method, Document 1 and Document 3 are more similar than Document 1 and Document 2.

Cosine similarity is an easy method to calculate the similarity between documents, but it doesn't consider the sparse problems and synonyms that two words may have the some meaning. Besides, when some new documents added or the data keeps updating, the IDF values are changed frequently and are computed every update time.

5.1.3 Latent Semantic Indexing
As we know, the cosine similarity method can not classify the synonyms. However, the latent semantic indexing could classify the synonyms because the assumption of Latent Semantic Indexing is that words that are highly related often occur in the same documents. Latent Semantic Indexing doesn't just use the term-document matrix directly, it will give some changes to the matrix by applying Singular Value Decomposition (SVD). SVD is used to describe the important intrinsic of a m*n matrix.

Assuming that M is a m*n matrix, an SVD exists


 * $$M = U \Sigma V^*, \,$$

where U is a m×m real or complex unitary matrix, Σ is an m×n rectangular diagonal matrix with non-negative real numbers on the diagonal, and V* (the conjugate transpose of V, or simply the transpose of V if V is real) is an n×n real or complex unitary matrix. The diagonal entries Σi,i of Σ are known as the singular values of M. The m columns of U and the n columns of V are called the left-singular vectors and right-singular vectors of M, respectively.

The singular value decomposition and the eigenvalue decomposition are closely related. Namely:

The left-singular vectors of M are eigenvectors of MM*. The right-singular vectors of M are eigenvectors of M*M. The non-zero singular values of M (found on the diagonal entries of Σ) are the square roots of the non-zero eigenvalues of both M*M and MM*. .

The singular value is similar to eigenvalue, also in descending order in the matrix Σ. In addition, the singular value is decreasing fast, in most situations, 10% or even 1% singular values could occupy over 99% of the sum of all singular values. Here, we can redefined the SVD as:


 * $${A_{(m \times n)}} \approx U_{(m \times r)}  \Sigma _{(r \times r)}V^*_ {(r \times n)}, \,$$

Here, r is much smaller than m and n. The consequence of the right three matrices multiplication will be a matrix that approximates the matrix A. r is more similar to n, then the result will be more similar to A. However, the sum of the size of the three matrices at the right side is much smaller than the size of original matrix A, so that we can store the right three matrices $$ U, \Sigma, V $$ instead of matrix A to compress the space.

Latent Semantic Indexing doesn't only apply SVD but highly depends on it. The three matrices $$ U, \Sigma, V $$ have very clear meaning in Latent Semantic Indexing. In the first matrix $$ U $$, each row represents a kind of words with relevant meanings, every non-zero element shows the importance of each word in this kind of words, and the value is larger, the importance is bigger. While each column in the third matrix $$ V $$ shows the kind of articles with the same topic, likewise, every element expresses the importance of each article in this kind. The second matrix $$ \Sigma $$ represents the relevance between the words classes and articles classes. Therefore, we just need to implement SVD to matrix A once, we are able to classify the synonyms and the articles at the same time. For example, doing SVD with two-dimensional to the term-document matrix which shows the information of those three sentences. We could got the matrices like following (source from John Bruntse Larsen 2013 ):


 * $$\mathbf{U} = \begin{bmatrix}

0.08 & 0.01 \\    0.00 & 0.00 \\    0.03 & 0.39 \\   0.00 & 0.00 \\    0.03 & 0.01 \\    0.03 & 0.01 \\    0.70 & -0.01 \\    0.70 & -0.01 \\    0.00 & 0.52 \\    0.00 & 0.52 \\    0.00 & 0.52 \\    0.00 & 0.03 \\    0.00 & 0.03 \\    0.00 & -0.21 \end{bmatrix} $$ $$\mathbf{\Sigma} = \begin{bmatrix} 0.61 & 0.00 \\    0.00 & 0.12  \end{bmatrix} $$ $$\mathbf{V} = \begin{bmatrix} 1.00 & 0.002 \\    -0.002 & 1.00 \\    0.004 & 0.07  \end{bmatrix} $$

The matrix $$ U$$ shows the feature of each word (trees, can, be, in, nature, or, computer, science, it, dangerous, to, monkeys, live, caves), and the matrix $$ V $$ shows the feature of each document (Document 1, Document 2, Document 3). The singular value matrix $$\Sigma$$ shows the relevance between each row of $$U$$ and each column of $$V$$, the bigger the singular value is, the more relevance.

If we want to get query features of Document 1 by summing up the corresponding term vectors in $$ U$$, such as:

listDoc.1 =[trees, be, nature, or, computer, science]

queryDoc.1= $$ \begin{bmatrix} 0.08 \\   0.01  \end{bmatrix}+\begin{bmatrix} 0.03 \\   0.39  \end{bmatrix}+\begin{bmatrix} 0.03 \\   0.01  \end{bmatrix}+\begin{bmatrix} 0.03 \\   0.01  \end{bmatrix}+\begin{bmatrix} 0.70 \\   -0.01  \end{bmatrix}+\begin{bmatrix} 0.70 \\   -0.01  \end{bmatrix}=\begin{bmatrix} 1.57 \\   0.40  \end{bmatrix}$$

Then we can calculate the similarity between Document 1 and Document 2 or Document 3 using another two matrices.

$$ \text{sim(queryDoc.1, Doc.2)}=\frac{ 0.61(1.57 \times (-0.002)) + 0.12(0.40 \times 1.00)} {\sqrt{1.57^2 \times 0.61 + 0.40^2 \times 0.12} \times \sqrt{(-0.002)^2 \times 0.61 + 1.00^2 \times 0.12} }=0.11$$

$$ \text{sim(queryDoc.1, Doc.3)}=\frac{ 0.61(1.57 \times 0.004) + 0.12(0.40 \times 0.07)} {\sqrt{1.57^2 \times 0.61 + 0.40^2 \times 0.12} \times \sqrt{0.004^2 \times 0.61 + 0.07^2 \times 0.12} }=0.24$$

Obviously, Document 1 is more similar to Document 3 rather than Document 2, the result is same as we using cosine similarity methods.

We can acquire the synonyms from documents, then the document retrieval becomes the semantic level instead of searching the keywords. In this way, our retrieval and storage size will be reduced because of compressing the document sets. Furthermore, it will improve the user experience, when a user input a word, we could find it in the synonyms sets.

5.1.4 Short Comings
A pure content-based recommendation system has some disadvantages. It always makes a rudimentary analysis ignoring many influencing factors. It focuses on the text documents but can't capture the useful features from items in some other domains like music or video. Another problem is over-specialization. When the system can only recommend items scoring highly against a user’s profile, the user is restricted to seeing items similar to those already rated. Often this is addressed by injecting a note of randomness. In the context of information filtering, for example, the crossover and mutation operations (as part of a genetic algorithm) have been proposed as a solution. Additionally, content-based recommendation system gets the recommendations from the users' self-information. That means the only factor influencing future performance are a users' own ratings.

5.2 Collaborative filtering
"Collaborative filtering methods are based on collecting and analyzing a large amount of information on users’ behaviors, activities or preferences and predicting what users will like based on their similarity to other users." It uses people-to-people correlation to calculate the similarity between a user and other users. It will recommend items what other similar users have liked rather than recommend items which the user himself liked in the past like content-based recommendation approach does. Simply saying, collaborative filtering methods focus on analysis of users instead of items.

5.2.1 User-based recommendation algorithm
The core idea of user-based recommendation algorithm is to provide recommendations based on the options of other users. It is supposed that the target user’s ratings for the items such as movies, books, etc. are similar to that of his nearest-neighbors. The target user’s rating for an item can be predicted by combining the ratings of his nearest-neighbors. The neighbors should be ranked by the different levels of similarity with the user. There are several methods to compute the similarity between the user and his neighbors, such as cosine similarity, Euclidean distance, Pearson correlation distance and so on.

Firstly, the users’ judgments or ratings are explicitly represented by a m × n user–item ratings matrix ($$r(i, j)$$), where m is the number of users, n is the number of items; the element $$r(i, j)$$ represents the rating of user i on item j. So that the system could use the data to compute the similarity between users.

Euclidean distance can capture the distance between two points in different number of dimensions. If p = (p1, p2,..., pn) and q = (q1, q2,..., qn) are two points in Euclidean n-space, then the distance from p to q, or from q to p is given by:

$$\mathrm{d}(\mathbf{p},\mathbf{q}) = \mathrm{d}(\mathbf{q},\mathbf{p}) = \sqrt{(q_1-p_1)^2 + (q_2-p_2)^2 + \cdots + (q_n-p_n)^2} = \sqrt{\sum_{i=1}^n (q_i-p_i)^2}.$$

We can treat $$p$$ and $$q$$ as the two users and $$p_i$$ and $$q_i$$ as the items ratings they want to compare. As a consequence, the Euclidean distance will be the similarity between the two users.

Pearson's correlation coefficient when applied to a sample is commonly represented by the letter r and may be referred to as the sample correlation coefficient or the sample Pearson correlation coefficient. We can obtain a formula for r by substituting estimates of the covariances and variances based on a sample into the formula above. That formula for r is:


 * $$r = \frac{\sum ^n _{i=1}(X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum ^n _{i=1}(X_i - \bar{X})^2} \sqrt{\sum ^n _{i=1}(Y_i - \bar{Y})^2}}$$

After ranking the nearest neighbors, we should pick top-N of them and put them in a list as $$S_u(u_k)$$. Then a set of top-N similar users towards user k can be generated according to:

$$S_u(u_k)= { {u_a| rank S_u(u_k,u_a) \leq N, x(a,m) \not= \phi}}$$

where $$S_u(u_k,u_a)$$is the similarity between users k and a. $$x(a,m) \not= \phi$$ means the rating is known.

Consequently, the predicted rating $$x(k,m)$$ of test item m by test user k is computed as:


 * $$ x(k,m) = \bar{u_k} + \frac{\sum _{u_a \in s_u(u_k)} s_u(u_k,u_a) (x(a,m)-\bar {u_a})}{\sum _{u_a \in s_u(u_k)} s_u(u_k,u_a)}$$

Where $$u_k$$ and $$u_a$$ is the average rating made by users k and a, respectively. We could know from this formula that we just compare with other users whose ratings have been known.

User-based recommendation algorithm is easy to understand and is also used widely in recommendation systems. It can dig out the user hidden interests and needs. However, it is not perfect. Firstly, in real recommendation systems, the items which are rated by users constitute very small percent of the total items, and even many of the rated items have very small rates like just one or two people rate these items. Consequently, the matrix that represents the user-item ratings must be sparse and take a long time or a high cost to compute. So the nearest-neighbors we found might not be accurately as we expected, as a result the recommendation will have a poor quality. Secondly, the sociability of user-based recommendation algorithm is not good. The similarity computation has relationship with both user and item numbers. Thirdly, it will be difficult to implement user-based recommendation algorithm to provide useful recommendations to a new user at the beginning, because there is little information about this user.

5.2.2 Item-based recommendation algorithm
The algorithm looks into the set of items the target user has rated and computes how similar they are to the target item x and then selects k most similar items {x1, x2 ,. . ., xk}. At the same time their corresponding similarities are also computed. Once the most similar items are found, the prediction is then computed by taking a weighted average of the target user’s ratings on these similar items. Simply saying, item-based recommendation algorithm has two major parts: similarity computation and prediction generation. Similarity computation has several methods like cosine, correlation, adjusted cosine and so on. Their calculation theories are same as we mentioned before, the difference is that it focuses on the comparison among the items instead of the users. After the most similar items are picked out, we should apply the prediction generation. Here I introduce two common methods to generate predictions: weighted sum and regression. Weighted sum is of course a method to sum up the ratings given by the user on items similar to the target item. Then the prediction of the user on the target item could be acquired by computing the sum. The prediction of user u on item i $$P_(u,i) $$can be denoted as:


 * $$ P(u,i) = \frac{\sum _{n \in N} s(i,n) \times R_(u,n)}{\sum _{n \in N} |s(i,n)|}$$:

where


 * N is a set of all similar items.
 * $$s(i,n)$$ is the similarity between the target item i and all similar items.
 * $$R(u,n)$$ is the rating of user u on item n.

Each rating is weighted by the corresponding similarity $$s(i,n)$$ between item i and item n.

The other method is regression which is similar to weighted sum but not totally same. This method doesn't use the similar items ratings directly, instead of that, it uses linear regression model to get an approximation of ratings. So the formula is very similar to the weighted sum formula, the only change is the parameter $$R(u,n)$$ which mortified based on a linear regression model.


 * $$\bar R_n= \alpha \bar R_i+ \beta + \epsilon $$

$$\alpha $$ and $$\beta $$ are determined by going over both of the rating vectors. $$\epsilon $$is the error of the regression model.

5.3 Hybrid Recommendation Systems
We all know that collaborative recommendation is probably the most familiar, most widely implemented and most mature of the technologies, but it still has its disadvantages such as sparsity or "cold-start". There are many other recommendation approaches like contend-based recommendation as we mentioned before. Demographic recommendation system which can classify users based on their user profiles and recommend items with demographic classes. The benefit of a demographic approach is that it may not require a history of user ratings of the type needed by collaborative and content-based techniques. Knowledge-based systems recommend items based on specific domain knowledge about how certain item features meet users' needs and preferences and, ultimately, how the item is useful for the user. The core idea of Knowledge-based system is to find the relations between the items and the user needs. Here is a table showing the comparison of those several kinds of recommendation systems.

We can see from this table, each recommendation approach has its own benefits also shortcomings. The Hybrid Recommendation Systems aim to combine the different recommendation approach and make them suit for each other to reduce the disadvantages they have respectively and to increase their good aspects as an entire recommendation system.

There are seven common methods to make a hybrid recommendation system shown in table 4:

Collaborative filtering and contend-based filtering are combined most often, they have already been hybrid with the methods mentioned above except meta-level method. In the year 1999, Pazzani successfully combined collaborative filtering with demographic and contend-based filtering with demographic using weighted method. In the same year, knowledge-based combined with Collaborative filtering is made by feature augmentation methods. There are some other combination of recommendation approaches have possibility to be created and we are looking forward to seeing more and more combinations appear in the future.

6.Conclusion
Generally speaking, the core ideas of what I presented in previous sections have been learned from the recommendation class on the MOOC. I would say the recommendation system tends to be more popular and bring profits to both providers and users. Researches on user modeling were started very early, and hierarchical user model is used much more often than flat user model. Although many advanced user model structures appear, the stereotype is a basic mechanism for building hierarchical models of individual users. To mention the recommendation approaches, I think collaborative filtering and contend-based filtering are two important approaches. The recommendation provided by contend-based filtering depends on the items the user liked in the past, unlike it, collaborative filtering provides recommendations relaying on the items the other similar users liked. The basic idea for recommendation algorithm is to compute the similarities. Cosine similarity is the simple one that can be used to compute similarities between items and items, as well as between users and users. Latent semantic indexing is another method that can be used to classify the synonyms and reduce the store size. Euclidean distance, Pearson correlation distance can compute the similarities between the users. Finally, hybrid recommendation systems aim to combine two of the recommendation approaches as a whole recommendation system. In this way, the disadvantages of each solo recommendation approach tend to be reduced and the advantages can be saved. People have created several hybrid recommendation systems successfully and effectively used in different fields. There are some hybrid have been determined that have the possibility to be created but still not successful until now. So in the future, people should keep developing and improving the hybrid recommendation systems with some new techniques.

After learning web recommendations, collective intelligence and human computing will be introduced in next chapters.

7.Quiz
{which of the reasons may cause service providers to exploit recommendation systems are true:} + Increase the number of items sold. + Sell more diverse items. + Increase the user satisfaction. + Increase user fidelity. + Better understand what the user wants.

{which are true about user model:} + A user model represents a collection of personal data associated with a specific user. - Flat user model is not used any more. + Stereotype based user models are based on demographic statistics. - Stereotype based user models just contain one kind of information, namely stereotypes. + A stereotype is a collection of frequently occurring characteristics of users.

{which are true:} - IDF represents the frequency of the term appears in the document. + TF-IDF measures the significance of a word appearing in documents. - Singular value decomposition is same as eigenvalue decomposition. - Cosine similarity can not be zero.

{which are true:} + Content-based system learns to recommend items that are similar to the ones that the user liked in the past + Many Web sites adopt simple and effective personalization solutions based on demographics.

- Collaborative filtering doesn't need the rating history of the users - knowledge-based recommenders also have sparsity problems

{which are true:} + A weighted hybrid recommender is one in which the score of a recommended item is computed from the results of all of the available recommendation techniques present in the system. + cascade hybrid involves a staged process - Switching hybrid is inherently ordered - feature augmentation hybrid is order-insensitive.