In the newer, narrower sense, collaborative filtering is a method of making automatic [predictions(filtering) about the interests of a [userby collecting preferences or [taste information from [many userscollaborating). The underlying assumption of the collaborative filtering approach is that if a person A has the same opinion as a person B on an issue, A is more likely to have B’s opinion on a different issue than that of a randomly chosen person. For example, a collaborative filtering recommendation system for preferences in [television programming could make predictions about which television show a user should like given a partial list of that user’s tastes (likes or dislikes).[[3 Note that these predictions are specific to the user, but use information gleaned from many users. This differs from the simpler approach of giving an [average(non-specific) score for each item of interest, for example based on its number of [votes
In the more general sense, collaborative filtering is the process of filtering for information or patterns using techniques involving collaboration among multiple agents, viewpoints, data sources, etc. Applications of collaborative filtering typically involve very large data sets. Collaborative filtering methods have been applied to many different kinds of data including: sensing and monitoring data, such as in mineral exploration, environmental sensing over large areas or multiple sensors; financial data, such as financial service institutions that integrate many financial sources; or in electronic commerce and web applications where the focus is on user data, etc. The remainder of this discussion focuses on collaborative filtering for user data, although some of the methods and approaches may apply to the other major applications as well.