text:
Digital Libraries/Recommender systems

Module name
Recommender Systems

Scope
This module addresses the concepts underlying Recommender Systems, along with the different design approaches, recommenders in current use and challenges.

Learning objectives:
By the end of this module, the student will be able to:
 * a. Articulate how and why recommender systems are used
 * b. Demonstrate an understanding of different approaches to modeling recommender systems
 * c. Apply this knowledge to the design of recommender systems.
 * d. Explain the challenges involved in design of recommender systems

5S characteristics of the module:

 * a. Stream: Recommendations can be provided for search of various digital objects such as text, images, audio and video.
 * b. Structure: Recommender Systems aim to structure content present in the digital libraries as a vector of items for each user so as to meet the requirements tailored to an individual and to provide only the items that relate to the user. Recommendations can be structured as hyperlinks to related information.
 * c. Scenarios: Relates to the process where the user queries his need and related information on the search query is provided to the user based upon his current query term and his profile. Explicit feedback is a scenario where the user provides input of his preferences to the recommender. Implicit feedback is a scenario where the system gathers information about user in an implicit manner through user behavior.
 * d. Space: Recommender systems estimate the conditional probability of relevant items in a probabilistic space. The similarity between user’s prior search items and the universe of alternatives could also be computed in a vector space. User’s prior search history and a profile describing other characteristics are stored in a physical space.
 * e. Society : Recommendation seekers, computer programmers, librarians, and recommendation providers

Level of effort required:

 * a. Prior Reading : 1 hour
 * b. In Class Time : 4 hours
 * c. Out of class exercises : 3 hours

Relationships with other modules:

 * a. Recommender System should display relevant information that meets the needs of the user and hence this module should be taught after Module 6-a: Info needs, relevance
 * b. Recommender System is a type of Personalization and hence should be taught after 7-g: Personalization

Prerequisite knowledge required:

 * a. None

Introductory remedial instruction:

 * a. None

Recommender Systems

 * Recommender Systems are part of Information Retrieval Systems that attempt to present information that would be of interest to the user. A recommender system would compare the user’s profile with that of his/her previous history or the similar profiles of other users with similar interests or background and provide top k references that are relevant to the current item of interest. Recommender systems attempt to reduce information overload and retain customers by selecting a subset of items from a universal set based on user preferences. A preference may reflect an individual mental state concerning a subset of items from the universe of alternatives. Individuals form preferences based on their experience with the relevant items, such as music, games, food etc. The recommendation serves as a filter onto the whole, often inaccessible, universe.

 * A typical scenario for modern recommendation systems is an online portal with which a user interacts. Typically, a system presents a summary list of items to a user, and the user selects among the items to receive more details on an item or to interact with the item in some way. E-commerce sites like amazon.com present a page with a list of individual products and then allow the user to see more details about a selected product and to purchase the product. A web server typically has a database of items and dynamically constructs web pages with a list of items. Because there are often many more items available in a database than would easily fit on a web page, it is necessary to select a subset of items to display to the user or to determine an order in which to display the items, especially those which might be of interest to the user and also possibly result in a purchase or customer retention/satisfaction for the e-commerce portal.

 * Recommendation Systems are referred to as Community Filtering in some texts with Item Based Community Filtering relating to the Content Based Approach and User Based Community Filtering mapping to the Collaborative Filtering Approach which would discussed in the following sections. Similarly User based Active Filtering and User Based Passive Filtering refer to the explicit and implicit collection of user data.

Content Based Recommenders(CB)

 * Content Based Recommender Systems are those that provide recommendations for an item based upon the user’s current query item/information need itself and also the user’s profile, if it exists. User characteristics are gathered over time and profiled automatically based upon a user’s prior feedback and choices. Hence such a system not only retrieves information related to the current item, it also tries to ensure that the retrieved recommendations match the user’s preferences.

 * The content-based approach to recommendation has its roots in the information retrieval (IR) classification community, and employs many of the same techniques. The recommender problem could be stated as extending the text categorization problem using a classifier such as Naïve Bayes. The training set consists of the items that the user found interesting. These items form training instances that all have an attribute. This attribute specifies the class of the item based on either the rating of the user or on implicit evidence.

 * Given:
 * A document space X

 * A fixed set of classes C = {c1, c12, c3,……….. cj}
 * The set of classes could be binary with only two classes: relevant or nonrelevant.

 * A training set D of labeled documents with each labeled document belonging to a class in C. User’s documents and their corresponding classification based on prior history and explicit feedback are part of the training set.

 * Using a learning method or learning algorithm, we then wish to learn a classifier γ that maps documents to classes:
 * γ : X → C

 * Given: a description d ∈ X of a document
 * Determine: γ(d) ∈ C, that is, the classes that are most appropriate for d, ordered on basis of probabilistic scores.

 * Feature selection could then be employed to select only a subset of relevant data in the training set for classification. Thus a Content-Based recommendation system selects items based on the correlation between the content of the items, the user’s preferences and other training data.

 * A pure Content-Based system has disadvantages. Generally, only a very shallow analysis of certain kinds of content can be supplied. Even for text documents the representations capture only certain aspects of the content, and there are many others that would influence a user’s experience. For Web pages, for instance, IR techniques often completely ignore aesthetic qualities, all multimedia information (embedded text in images), and network factors such as loading time.

Collaborative Filtering

 * Collaborative Filtering is a social environment based method of recommendation used to propose items which like-minded users favor (and the active user has not yet seen). These recommendations match a user’s needs based upon information gathered over time from other people having interests matching that of the current user. This approach gives recommendations based on correlation between users. Collaborative Filtering is the pivot of modern day recommender systems. Collaborative Filtering is effective since people’s tastes are typically not orthogonal.  A Collaborative Filtering scheme aims to make suggestions to users based upon his/her previous likings and also the preferences of like-minded users i.e. users falling into similar categories/groups/communities as the current user.

 * The Collaborative Filtering problem could be stated as below:
 * Let U be the set of users
 * U = (U1, U2……………… ,Um)
 * and I be the set of items
 * I = (I1, I2……………… ,In)
 * User Ui could provide a rating for an item Iij either through explicit feedback from that user or rated implicitly through the user’s prior search history, purchase history, browsed pages etc.

 * Now the aim of a Collaborative Filtering scheme would be to find the list of likely items Iaj for the current user denoted by Ua..The likeliness could be based on prediction which is a numerical value, Pa,j, expressing the predicted likeliness of item for an active user Ua.

 * a. Methods of Collaborative Filtering:

 * Most of the collaborative filtering algorithms can be divided into two main categories - Memory-based (user-based) and Model-based (item-based) approaches.

 * i. Memory-based Approach: Memory-based algorithm uses the entire user-item database for generating a prediction. The most widely used algorithm, k-Nearest Neighbor (kNN) algorithm is as follows:

 * a. Identify the ratings of the user and represent it as a sparse vector.
 * b. Define the similarity measure between two sparse vectors. The commonly used measures are (i) the Pearson correlation coefficient which is used in statistics to measure the degree of correlation between two variables and (ii) the Cosine similarity measure which is used in information retrieval to compare between two documents.
 * c. Find various users that have rated the item in question and are most similar to the active user. This constitutes the user’s neighborhood. (The active/target user is the one to whom a recommendation has to be produced based on prediction).
 * d. Compute prediction of the active user’s rating for the item in question by calculating the weighted average of the ratings given to that item by other users from the neighborhood.

 * Once a neighborhood of users is formed, these systems use different algorithms to combine the preferences of neighbors to produce a prediction or top-N recommendation for the active user. The variants of this algorithm are (i) k-Nearest Neighbor using the Pearson correlation (kNN Pearson), (ii) kNN using Cosine similarity measure (kNN Cosine) and (iii) the popularity predictor (Popularity).

 * ii. Model-based Approach:

 * Model-based collaborative filtering computes the item recommendation using similar approach as its method-based equivalent. But these algorithms take a probabilistic approach and envision the process as computing the expected value of a user prediction, provided his/her ratings on other items. The model is built using different machine learning algorithms such as Bayesian network, clustering, and rule-based approaches.
 * The Bayesian network model formulates a probabilistic model for the problem. The clustering model interprets this filtering as a classification problem and groups similar users in same class. It estimates the probability that a particular user is in a particular class and hence computes the conditional probability of ratings. The rule-based approach applies association rule discovery algorithms to find association between co-purchased items and then generates item recommendation based on the strength of the association between items. Support Vector Machine is an example of a model-based filtering approach.

 * iii. Community-Based Collaborative Filtering for Classification

 * Collaborative filtering can also be interpreted as a form of classification, where classes are formed based on different rating values. Virtually any supervised learning algorithm can be applied to perform classification (i.e. prediction). To predict a rating, we need to classify the item into one of the classes representing rating values. The model based Support Vector Machines (SVMs) are a popular classification technique backing in statistical theory. The standard kNN algorithm (using Pearson and Cosine as the similarity measures) with SVM classifier and SVM regression can also be used for computing classification. If the rating is to be predicted on a continuous scale, regression approach can be used instead of classification.

 * b. Challenges in Collaborative Approaches:
 * a. Sparse User Feedback:Sparse user feedback is the single greatest bottleneck in a collaborative filtering scheme. Thus, the number of users maybe small relative to the volume of information in the system. Because there is a very large or rapidly changing database), then there is a danger of the coverage of ratings becoming very sparse, thinning the collection of recommendable items.
 * b. Unusual Preferences:Another problem concerns a user whose tastes are unusual compared to the rest of the population there will not be any other users who are particularly similar, leading to poor recommendations.
 * c. Over-specialization:Overspecialization, sometimes referred to as the ‘banana’ problem, also arises since frequently purchased items, such as bananas in a grocery market basket, will always be recommended. Conversely, some products are seldom bought more than a few times in a lifetime (e.g., locks) and thus suffer from a low number of evaluations.
 * d. Cold Start:This problem concerns the issue that the system cannot draw any inferences for users or items about which it has not yet gathered sufficient information. Hence any new item would suffer from a lack of data and hence would have no positive evaluations. Similarly, when a recommender system starts, it has data from few users.

Hybrid Systems

 * Disadvantages of the Collaborative Filtering and Content Based approaches can be solved by combining the two into a hybrid method. Many hybrid approaches use two recommendation algorithms and combine their results in some manner, such as combining the results by their relevance, mixing the output of the two algorithms, switching from CB into CF once the cold-start phase is over, or using the output of one algorithm as input to the second algorithm.
 * Hybrid recommendation systems help overcome problems mentioned in the above approaches and can produce outputs which outperform single component systems by combining these multiple techniques. The most common hybridizing methodology is combining different techniques of different types, for example, mixing content based and community filtering approaches.  It is also possible to mix different techniques of the same type, like naïve Bayes based Content Based Recommendation plus kNN based Collaborative Filtering

 * Types of Hybrid Recommender Systems:
 * a. Burke (2002) introduced a taxonomy for the hybrid recommendation systems. He classified them into seven categories, weighted, switching, mixed, feature combination, feature augmentation, cascade, and meta-level.
 * b. Weighted hybrid: This hybrid combines scores from each component using linear formula. Therefore, components must be able to produce recommendation scores which can be linearly combinable.
 * c. Switching hybrid: This kind of hybrid is used for selecting one recommender among candidates. This selection is made according to the situation it is experiencing.  The criterion for the selection like confidence value or external criteria, should exist, and the components might have different performance with different situations.
 * d. Mixed hybrid: This is a hybrid which is based on the merging and presentation of multiple ranked lists into one. Each component of this hybrid should be able to produce recommendation lists with ranks and the core algorithm of mixed hybrid recommendation merges them into a single ranked list.  The issue here is how the new rank scores should be produced.  One simple example is adding each rank score like CF_rank (3) + CN_rank (2)  Mixed_rank (5).
 * e. Feature combination hybrid: There exists two very different recommendation components for this hybrid, contributing and actual recommender. The actual recommender works with data modified by the contributing one.  The contributing one injects features of one source to the source of the other component. In a feature combination hybrid, collaborative data is treated as a feature and a content-based approach is used on this data.
 * f. Cascade hybrid: The cascade hybrid involves a staged process. In this technique, one recommendation technique is employed first to produce a coarse ranking of candidates and a second technique refines the recommendation from among the candidate set. The secondary recommender is just a tie breaker and does refinements.
 * g. Feature augmentation hybrid: This is similar to the cascade hybrid but different in that the contributor generates new features. The resulting information (ranking or classification) from the first technique is used by the second as an added feature. It is more flexible and adds smaller dimensions than the feature combination method.
 * h. Meta-level hybrid – In the meta-level approach, two recommendation techniques are combined by using the model produced by one as input for the other

 * A simple example can illustrate the benefits of such hybrid systems. For example, suppose one user has rated the cricket page from cricinfo.com favorably, while another has rated the cricket page from cricnext.com favorably. Pure collaborative filtering would find no match between the two users. However, content analysis can show that the two items are in fact quite similar, thus indicating a match between the users. Such systems analyze the content of items that users rate favorably to build content-based profiles of user interest. They then apply collaborative filtering techniques to identify other users with similar interests.

 * New items (which are not rated) would be assigned a rating automatically, based on the ratings assigned by the community to other similar items. Item similarity would be determined according to the items' content-based characteristics.

User Profiles

 * A profile of the user’s interests is used by most recommendation systems. This profile may consist of a number of different types of information reflecting user preferences and behavior. The most important tradeoff to consider in user modeling is to minimize user side effort while maximizing the expressiveness of the representation.
 * Explicit approaches to user modeling allow the user to retain control over the amount of personal information supplied to the system, but require dedicated investment of time and effort. Implicit approaches, on the other hand, minimize effort, collect huge amounts of data, and make the social element to recommender systems important. Yet they may be inaccurate if users don’t logon, or if logs are unclear, and may raise ethical issues.
 * Explicit Learning: Explicit Learning requires direct intervention of the user in providing feedback.
 * Examples of explicit data collection include the following:
 * a. Asking a user to rate an item on a sliding scale.
 * b. Ranking a collection of items qualitatively.
 * c. Presenting the user with binary choices for selection.
 * d. Requesting a list of preferences from the user.
 * A new user preference elicitation strategy needs to ensure that the user does not:
 * a. Abandon a lengthy signup process, and
 * b. Lose interest in re-turning to the site due to the low quality of initial recommendations.
 * Opinions could be asked of items based upon measures like their popularity or entropy.
 * Implicit Data Collection:In implicit feedback the user’s interests are inferred by observing the user’s actions, which is more convenient for the user but more difficult to implement.
 * The idea is to gather user preference in a manner transparent to the user by observation, to serve as a substitute for explicit ratings. Most of the techniques for implicitly gathering and exploiting user information are based on methods and algorithms from machine learning and data mining, which attempt to discover relevant patterns or trends from large and diverse data sources. These techniques are largely based on heuristics
 * For example the construction of the user's profile may be automated by integrating information from other user activities, such as browsing histories. If, for example, a user has been reading information about a particular movie director from a media portal, then the associated recommender system would automatically propose that director’s movies releases when the user visits the online video portal.
 * Examples of implicit data collection include the following:
 * a. Observing the items that a user views in an online store.
 * b. Analyzing item/user viewing times
 * c. Keeping a record of the items that a user purchases online.
 * d. Obtaining a list of items that a user has listened to or watched on his/her computer.
 * e. Analyzing the user's social network and discovering similar likes and dislikes
 * Recommender Systems also strike a balance between:
 * a. Long-term modeling: Long time modeling of a person’s evolving interests, preferences, knowledge, goals, and social networks that will be required to help people manage their personal digital libraries during a lifetime of use.
 * b. Short term user modeling: Short term user modeling which reflects the current trends in general and also those of the user.

Ubiquitous Computing and Recommender Systems

 * Ubiquitous computing is a model of human-computer interaction in which information processing is thoroughly integrated into everyday objects and activities. In ubiquitous computing, access to information sources such as digital libraries is not only possible in many locations, but is dynamically adaptive with regard to a person’s location as well as the artifacts and interaction devices and other people in those locations. For example, when visiting a museum, one might automatically be presented with information selected from the museums digital library as one moves through the galleries. Such systems must have adaptation to the shifting context of use, in order to personalize and contextualize information access regarding libraries.
 * Applications such as tourist and restaurant guides, navigation aids and shopping systems make recommendations based on user activities and behavior patterns. A car navigation system could recommend routes based on the driver’s travel patterns such as routes that are more serene, suggest routes that might have food chains matching the user’s taste etc.
 * Websites could make use of location specific information of the user and provide recommendations based upon local choices. Online collaboration tools like Google Wave could provide the names or e-mail contacts of people or groups having expertise in a particular area.
 * Thus Recommendation systems can help people cope with information overload in ubiquitous computing environments and provide seamless preferences to the user based upon the current context and need.

Recommender Systems in current use

 * Amazon: Amazon.com uses recommendations as a targeted marketing tool in many email campaigns and on most of its Web sites’ pages, including the Amazon.com homepage. Clicking on the “Your Recommendations” link leads customers to an area where they can filter their recommendations by product line and subject area, rate the recommended products, rate their previous purchases, and see why items are recommended. Rather than matching the user to similar customers, item-to-item collaborative filtering matches each of the user’s purchased and rated items to similar items, then combines those similar items into a recommendation list. To determine the most-similar match for a given item, the algorithm builds a similar-items table by finding items that customers tend to purchase together. The key to item-to-item collaborative filtering’s scalability and performance is that it creates the expensive similar-items table offline. The algorithm’s online component - looking up similar items for the user’s purchases and ratings scales independently of the catalog size or the total number of customers.
 * Stumble Upon: StumbleUpon is an online recommendation portal which integrates peer-to-peer and social networking principles with one-click blogging to create an emergent content referral system. It automates the collection, distribution and review of web content within an intuitive social framework, providing users with a browsing experience similar to surfing channels on television. This architecture scales to millions of users.
 * StumbleUpon combines collaborative human opinions with machine learning of personal preferences to create virtual communities of like-minded users. Rating websites update a personal profile (weblog) and generates peer networks of users linked by common interest. These social networks coordinate the distribution of web content in a way such that users are rendered pages explicitly recommended by friends and peers. This social content discovery approach automates the "word-of-mouth" referral of peer-approved websites and simplifies web navigation.

Challenges in Recommender Systems

 * Interface design: The recommender systems should have an interface design which provides a good user experience. The User interface should be modeled in such a way the user does not get tired providing explicit feedback and also the recommendation list should be displayed in an uncluttered manner which not only captures the attention of the user but also provides it in a non intrusive fashion.
 * Amount of Data: One of the issues facing recommender systems is that they need a lot of data to effectively make recommendations. The industry leaders in recommendations like Google, Amazon, Netflix, etc are those with a lot of consumer user data: A good recommender system initially needs item data (from a catalog or other form), then it captures and analyzes user data (behavioral events), and then the appropriate algorithm is carried out. The more item and user data a recommender system has to work with, the stronger the chances of getting good recommendations.
 * Unpredictable Items: There are some items that people either love or hate in equally strong terms. There are movies that the puritans rubbish but the commoner’s love. These types of items are difficult to make recommendations on, because the user reaction to them tends to be diverse and unpredictable. Music especially has lot of cases like this where the uses likes both soft rock (MLTR) or heavy metal bands (Metallica).
 * Dynamically Changing data: Recommender systems mostly do a long term profiling of users and hence biased towards the old and have difficulty showing new. The past behavior of users would not always be a good tool because the trends are always changing. Hence a simple algorithmic approach would find it difficult to keep up with current trends in fast changing domains such as fashion.
 * Scalability: A recommender system would need to make millions of recommendations to millions of users across the globe especially in the case of collaborative filtering algorithms which might need to compute the K nearest neighbors at runtime and hence recommender systems should be scalable across various sizes and types of data and users.
 * Changing User Preferences: While a user may have a particular intention when browsing a portal like amazon.com, the next day the user might have a different intention. A classic example is that one day the user might be searching books, but the next day the same user could be searching for house hold appliances. Hence a recommender systems should not take all decisions based on prior content and also should be able to make an intelligent choice based on current context.
 * Shilling Attacks: An underhanded and cheap way to increase recommendation frequency is to manipulate or trick the system into doing so. This can be done by having a group of users (human or agent) use the recommender system and provide specially crafted opinions” that cause it to make the desired recommendation more often. For example, it has been shown that a number of book reviews published on Amazon.com are actually written by the author of the book being reviewed. A consumer trying to decide which book to purchase could be misled by such reviews into believing that the book is better than it really is. This is known as shilling attack and recommender systems should protect against these attacks.
 * Privacy Issues: Recommender system users who rate items across disjoint domains face a privacy risk. An identity compromise could happen because of the following:
 * a. Using explanations of recommendations to deduce connections
 * b. Combining connection information with other available data to deduce people’s personal details.
 * A recommender system must protect the individual’s right to privacy and protect him/her against malicious identity hackers.

Required readings for faculty

 * i. Saverio Perugini, Marcos A. Gonzalves, Edward A. Fox (September 2004). Recommender Systems Research: A Connection-Centric Survey, J. Intell. Inf. Syst., Vol. 23, No. 2. pp. 107-143. DOI: http://dx.doi.org/10.1023/B:JIIS.0000039532.05533.99
 * ii. Greg Linden, Brent Smith, and Jeremy York (January 2003). Amazon.com recommendations: Item-to-item collaborative filtering. IEEE Internet Computing, 7(1):76–80. DOI: http://doi.ieeecomputersociety.org/10.1109/MIC.2003.1167344
 * iii. L. Terveen and W. Hill. Beyond recommender systems: Helping people help each other. In HCI in the New Millennium, J. Carroll, Ed. Addison Wesley, 2001. DOI: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.2437
 * iv. Balabanovic, M. and Shoham, Y. (1997). Fab: Content-Based, Collaborative Recommendation. Communications of the ACM, 40(3), 66–72. DOI: http://doi.acm.org/10.1145/245108.245124
 * v. Baudisch, P. (1999). Joining Collaborative and Content-based Filtering. In Proceedings of the ACMCHI Workshopon Interacting with Recommender Systems. Pittsburgh, PA: ACM Press. DOI: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.2812
 * vi Lynch, C. (2001). Personalization and Recommender Systems in the Larger Context: New Directions and Research Questions (Keynote Speech). In Proceedings of the Joint DELOS-NSFWorkshop on Personalisation and Recommender Systems in Digital Libraries (pp. 84–88). Dublin, Ireland. DOI: http://www.citeulike.org/group/884/article/634842
 * vii. Michael J. Pazzani, Daniel Billsus (May 2007), Content-Based Recommendation Systems, pp. 325-341, The Adaptive Web, Peter Brusilovsky, Alfred Kobsa, Wolfgang Nejdl (Ed.), Lecture Notes in Computer Science, Springer-Verlag, Berlin, Germany, Lecture Notes in Computer Science, Vol. 4321, 978-3-540-72078-2. DOI: http://dx.doi.org/10.1007/978-3-540-72079-9_10
 * viii. Miha Grcar, Blaz Fortuna, Dunja Mladenic, Marko Grobelnik. 2005. kNN Versus SVM in the Collaborative Filtering Framework. WebKDD. 1-2. http://www.springerlink.com/content/p871073356835258/

Required readings for students

 * i. Smeaton, Alan F. and Callan, Jamie (2005) Personalisation and recommender systems in digital libraries. International Journal on Digital Libraries, 57 (4). pp. 299-308. ISSN 1432-1300. DOI : http://doi.acm.org/10.1145/948716.948720
 * ii. San-Yih Hwang, Shi-Min Chuang (2004),  "Combining article content and Web usage for literature recommendation in digital libraries",  Online Information Review,  Vol.28,  No. 4. DOI:  www.emeraldinsight.com/10.1108/14684520410553750
 * iii. Micheline Beaulieu, Pia Borlund, Peter Brusilovsky, Matthew Chalmers,Cliord Lynch, John Riedl, Barry Smyth, Umberto Straccia, and Elaine Toms (May 2003). Personalisation and recommender systems in digital libraries, Technical Report Joint DELOS-NSF Working Group. http://www.citeulike.org/user/claudioferreira/article/532560
 * iv. Belkin, N. J. and Croft, W. B. 1992. Information filtering and information retrieval: two sides of the same coin?. Commun. ACM35, 12 (Dec. 1992), 29-38. DOI: http://doi.acm.org/10.1145/138859.138861
 * v. Janet Webster, Seikyung Jung, Jon Herlocker. November 2004. Collaborative Filtering: A New Approach to Searching Digital Libraries. Royaume-Uni. 177-191. DOI: http://www.citeulike.org/group/1732/article/198207
 * vi. Badrul Sarwar, George Karypis, Joseph Konstan, and John Reidl. 2001. Item-based collaborative filtering recommendation algorithms. ACM, (April 2001), 285 – 295. DOI: http://doi.acm.org/10.1145/371920.372071.

Exercises / Learning activities

 * 1. Usage and Analysis of a recommendation system in use: (20 minutes)
 * Amazon is considered a leader in online shopping and particularly recommendations. Develop a class activity which would allow the students to have a hands-on use of a recommender system and gather insights into its working.
 * Steps to be followed:
 * i. Visit www.amazon.com and create an account.
 * ii. Choose a category of items for which you provide ratings. Note how the explicit feedback works in Amazon,
 * iii. Search for an item in an item category for which you have provided feedback and then search for an item in a category for which you have not provided feedback. How are the recommendations based? What recommendation methods discussed above does Amazon follow.
 * iv. Is there implicit feedback? If yes, how do you think does the implicit feedback work in Amazon.
 * v. View the daily sample of recommendations and check if they match your interests.
 * vi. Prepare a report for the above questions with suitable reasoning.

 * 2. Delicious – Tag Based Recommendations (20 minutes): Delicious is a Social Bookmarking service, which saves bookmarks online, shares them with other people, and see what other people are bookmarking. It shows the most popular bookmarks being saved across many areas of interest. In addition, its search and tagging tools helps keep track of a person’s entire bookmark collection and finds tasty new bookmarks from similar people.
 * Do the following:
 * i. Visit delicious.com. Register and learn about tags and bookmarks.
 * ii. Explain how delicious uses tags to provide recommendations.
 * iii. Architecture of Participation is a Web 2.0 concept in which a community of users contributes to the content or to the design and development process. How is the architecture of participation used efficiently in delicious? Discuss about this being an essential part in future web-based recommenders.
 * iv. Is popularity a good measure of recommendation? Discuss the merits and de-merits
 * v. Prepare a report on the above.

 * 3. Comparison of Recommendation Engines for multimedia: (25 minutes)
 * Music and Movie recommenders are gaining popularity over the internet.
 * Compare and contrast the following recommender systems which provide movie/music recommendations. Comparisons could also include the types of features, the recommendation techniques adopted and user experience.
 * Tabulate the differences and similarities.
 * http://www.liveplasma.com/
 * http://www.pandora.com/ (The music genome project)
 * http://www.music-map.com/
 * http://www.whattorent.com/newuser.php

 * 4. Analysis of a constant time adaptability algorithm: Eigentaste 5.0 (25 minutes)
 * Visit http://eigentaste.berkeley.edu/user/index.php which contains the jester application for recommending personalized jokes.
 * i. What recommendation technique do you think does this application use based upon your interaction with the application? Why? The recommendation engine uses an algorithm known as Eigen Taste. The paper could be downloaded at http://www.ieor.berkeley.edu/~goldberg/pubs/Eigentaste-Info-Retrieval-Journal.pdf. Read the paper and answer the questions below:
 * ii. What standard techniques does this algorithm follow?
 * iii. What are the novel approaches adopted by this algorithm?

 * 5. Discussion on Ubiquitous Recommender Systems: (30 minutes)
 * Note: This discussion would be more appropriate for an audience in the CS or Human Computer Interaction (HCI) domains.
 * Ubiquitous recommender systems seem to be the future of recommender systems. A simple example of an ubiquitous recommender would be a Global Positioning System (GPS) device which not only give directions to a person driving a car but also provides a list of the user’s favorite food chains along the route or alternate routes which would contain these chains.
 * Involve the class in a discussion based activity on Ubiquitous recommenders. Divide the class into groups. Each group could discuss the different ways in which ubiquitous recommenders could be used with wide ranging applications and also about possible problems (eg. privacy) that could plague these systems.
 * The groups initially gather information among themselves and afterwards a representative from each group puts forward the views of the group before the class.
 * A moderator and time keeper are chosen to record, track and monitor these brainstorming sessions.
 * The various points are ranked by the moderator and the outcome of the discussion pasted on the class wiki page.

 * 6. User based Filtering (15 minutes)
 * Everyone's a Critic (EaC) is a film community website which is based on collaborative filtering algorithm in order to obtain the film recommendations from people who share similar tastes in film.
 * Develop a class activity which would allow the students to have a hands-on use of recommender systems based on user-based filtering algorithm and gather insights into its working.

 * Steps to be followed:
 * i. Create an account in http://www.everyonesacritic.net/
 * ii. Rate the movies based on these three methods – category, movie title, browsing movies.
 * iii. Select “Find critics like me” to view the list of critics who have rated the movies similar to the user.
 * iv. Note the type of recommendation technique employed by this recommender system: content based or collaborative filtering. Why is this approach user-based? And note if the feedback implicit or explicit.
 * v. Note if the list of movies in the selected critic’s list contains movies not rated by the user matching the user’s interest.
 * vi. Note what happens when the user tries to search for similar critics before rating any movies. How is this related to challenges of collaborative filtering. Suggest some solution for this problem.

 * 7. Item based Filtering (15 minutes)
 * Pandora is a recommender system that uses item-based collaboration filtering approach. The idea is to categorize music based on its attributes. It calculates the similarity of item like a piece of music in terms of its genetic makeup.
 * Develop a class activity which would allow the students to have a hands-on use of recommender systems based on item-based filtering algorithm and perceive clear understanding on its working.
 * Steps to be followed:
 * Create an account in http://www.pandora.com/
 * Create a new station by typing a favorite artist or song.
 * Note the type of collaborative filtering employed by this recommender system: user-based or item-based (as discussed in section 8). And note if the feedback implicit or explicit.
 * Look for the songs recommended by the system. Note if there is similarity among the playlist generated based on the attributes of the song.

 * 9. Compare and Contrast Methodologies (20 minutes)
 * Compare and contrast the approaches used in exercises g and h. Provide a case-study on any two recommender systems (like amazon.com, ebay.com, netflix.com etc.) other than EaC and Pandora.
 * In class, break the students into groups of 3 or 4. Have them discuss the differences and challenges in the methodologies used in these systems and provide suggestions to improve the technique. Each group prepares a Word document or PowerPoint slides (5 minutes) and presents it to the class (10 minutes).

Evaluation of learning outcomes

 * In their answers to the discussion questions, students demonstrate an understanding of:
 * a. Need for recommender systems
 * b. Different approaches to modeling recommender systems
 * c. Advantages and Disadvantages of the approaches
 * d. Alternate design strategies
 * e. Current and future use of recommender systems.

Glossary

 * CB Recommender – Content Based Recommender
 * CF - Collaborative Filtering
 * DL – Digital Library
 * WWW – World Wide Web
 * GPS – Global Positioning Service.
 * Scalability: The ability and ease with which a service may increase in size; where size may be defined as number of users, throughput of questions and responses, etc.
 * Probabilistic model: a document retrieval model based on a probabilistic interpretation of document relevance (to a given user query).
 * Vector space model is an algebraic model for objects as vectors of identifiers, such as, for example, index terms.

Additional useful links

 * a. Marko A. Rodriguez, David W. Allen, Joshua Shinavier, and Gary Ebersole. A recommender system to support the scholarly communication process. May 2009. DOI: http://www.citeulike.org/group/4576/article/4505139
 * b. Ramakrishnan, N., Keller, B.J., Mirza, B.J., Grama, A.Y., and Karypis, G. (2001). Privacy Risks in Recommender Systems. IEEE Internet Computing, 5(6), 54–62. DOI: http://doi.ieeecomputersociety.org/10.1109/4236.96883
 * c. Stumble Upon Free web-browser extension which acts as an intelligent browsing tool available at: www.stumbleupon.com
 * d. Real-time Collaborative Filtering at http://www.timelydevelopment.com/demos/RealtimeCollaborativeFiltering.aspx
 * e. Synthese Recommender Home at http://lab.cisti-icist.nrc-cnrc.gc.ca/synthese/synthesemain
 * f. Jester’s Eigentaste algorithm at http://eigentaste.berkeley.edu/user/index.php
 * g. Pandora music recommender at http://www.pandora.com/
 * h. E-commerce Recommendation System at http://www.bridgewell.com/ec%20portal.html

Concept map
See VTech Concept Map server under “Dlcurric” folder.

Contributors

 * a. Developers:
 * Dr. Edward Fox
 * Ashwin Palani
 * Venkatasubramaniam Ganesan
 * b. Reviewers:
 * Seungwon Yan
 * John Ewers
 * Nagarajan Kuppuswami
 * Ashwin Khandeparker

title: Digital Libraries/Recommender systems


text:
Digital Libraries/Crawling

Module name
Crawling

Scope
This module covers the basic concepts of Web crawling, policies, techniques and how this can be applied to Digital Libraries.

Learning objectives:
By the end of this module, the student will be able to:
 * a. Explain the basic concepts of Web crawling.
 * b. Explain the architecture of a simple crawler.
 * c. Explain policies followed by a crawler.

5S characteristics of the module:

 * a. Stream: HTML, CSS, JavaScript and other web designing languages, text, videos, images and other Internet media type
 * b. Structure: Refers to the structure of the Web, which in the form of a directed graph called the Web Graph in which the nodes are Web Pages and the edges are the hyperlinks connecting them.
 * c. Scenarios: Scenarios relates to the process followed by the crawler in order to scans the web and make copies of the pages visited by it.
 * d. Space: The World Wide Web and the physical storage issues faced by the crawlers such as a search engine repository where the data collected by the crawler is stored.
 * e. Society : Managers, Computer Programmers academia involved with the development and maintenance of Web Crawlers, bots and computer programs, as well as authors of Web sites.

Level of effort required:

 * a. Prior Reading : 2 hours
 * b. In Class Time : 4 hours
 * 1. 2 hours for understanding the basic functions of a crawler along with its working and evaluation.
 * 2. 2 hours for class activity.

Relationships with other modules:

 * a. 3-a: Collection development/selection policies]]
 * b. 3-e: (7-e): Web (push) Publishing]]
 * c. 4-a: Information architecture (e.g., hypertext, hypermedia)]]
 * d. 7-a: Indexing and searching
 * e. 9-f: Cost/economic issues]]

Prerequisite knowledge required:

 * a. None

Introductory remedial instruction:

 * a. None

Web Basics
The internet is a worldwide system of interconnected digital networks that use the standard internet protocol Suite( TCP/IP) to connect us all together. It can be thought of as a network of networks consisting of millions of private and public, academic, government , and business networks that are connected together by a large number of electronic and optical network technologies. The internet consists of a vast amount of digital information, the most common of which is the interconnected hypertext documents which makes up the World Wide Web (WWW).

In the late 1980s Sir Timothy John "Tim" Berners-Lee then a scientist at CERN invented the World Wide Web to share information among scientists working in different universities and institutions around the world. However, web usage caught up to such an extent that now a significant amount of the human population has access to it and uses it on a daily basis. The World Wide web is based on a simple client- server design 1) The client which is usually a web browser, communicates with a server through a simple protocol called the HyperText Transfer Protocol(HTTP) and 2)the server which receives a request from a client, responds by sending back the desired information in the form of asynchronous payloads(text, images, audio ,video and other forms of information) encoded in a simple language called the hypertext markup language(HTML).

In order to know how a crawler works, we need to know a little more about the world wide web and its structure. In this example, we shall consider static web pages and try to visualize how they are connected together to better understand how they are crawled. A static web page is a web page whose content does not change from one request to it from the next. As a result, we can view the web as a directed graph consisting of static web pages connected together by hyperlinks in which each web page is considered as a node and each hyperlink is considered as an edge.

 * Web Crawlers
 * A web crawler is an automated computer program that browses the World Wide Web by following certain policies as mentioned by its creator. Its main purpose is to create a copy of all the web pages visited by it for later analysis by a search engine. The search engine usually will index this for providing faster and efficient searches. A crawler may also be used as a means of automating website maintenance tasks by checking the validity of html links of web pages and the code within it. Another way using the crawler is in a destructive manner. For example, gathering specific types of information from the World Wide Web such as harvesting e-mail addresses (usually for spam).
 * A web crawler is known by many names like ants, automatic indexers, bots, and worms and Web spider. The process by which a web crawler browses the World Wide Web is called Web Crawling or spidering. Many sites, especially search engines use this as means of creating a fresh copy of the World Wide Web in their repository

 * Inner working of a crawler
 * A crawler may be thought of as a bot who roams the World Wide Web by following his master’s commands. A crawler usually starts with one or more URLs which is called the seeds. It picks a URL from this set and downloads the corresponding web page. This fetched page is then processed to extract the digital information as well as the links (each of which points to another page) from this page. The extracted digital information is fed into an indexer. The extracted links are then added to a URL Frontier which consists of web pages which the crawler has not explored yet. This entire process can be visualized as traversing a web graph. The URLs from the frontier are recursively visited based on a set of predetermined policies.

 * Crawler Architecture
 * The process of crawling is a complex process which can be broken down into a few functional components which work together to make crawling possible. These components are:
 * The URL Frontier which is a set of all the URLs which the crawler has not yet explored. It could be called the to-do list of the crawler that contains the list of URLs not visited by the crawler
 * A DNS resolution module which is used to determines the web server from which the web page is fetched as specified by the URL.
 * A fetch module which is used to retrieve a web page as specified by the URL
 * A parsing module, which is used to extract the contents and links from a web page.
 * A duplicate elimination module, which determines whether an extracted link is already present in the URL frontier or has already been fetched by the crawler.
 * The process of crawling can be performed by a single system or a distributed system with different nodes running simultaneously an instance of this process.

Crawling policies

 * In order to crawl the web, we have to be aware of the obstacles that a crawler may face during its crawl. These characteristics of the web are:
 * a. It’s very large volume
 * b. It’s really fast rate of change and
 * c. It’s dynamic page generation

 * These characteristics combined together produce a myriad variety of crawable URLs.

Even with the fastest computers and very high bandwidth, downloading the whole World Wide Web may take months. Due to this constraint, crawlers need to prioritize the pages it downloads. The fast rate of change implies that due to the constant updating of web pages, by the time a crawler downloads all the pages from a site, it is highly likely that the web page has been updated or deleted, or that new pages have been added to the website. Another major obstacle that has been faced by many crawlers is the dynamically generated web pages based on user input which makes it difficult for crawlers to avoid retrieving duplicate content. Endless combinations of HTTP GET (URL- based) parameters exist, of which only a small set returns unique content. For example let us consider a simple online shopping portal, which provides different options to users, as specified through HTTP GET parameters in the URL. If there exists five ways to sort the products (eg. Price, popularity ), four choices of thumbnail size and an option to enable or disable product description, then the same set of content can be accessed by forty different URLs, all of which will be linked to the same site. This mathematical combination creates problems for crawlers, as they must parse through all these pages containing relatively small changes in order to fetch unique content.
 * As Edwards et al. noted, "Given that the bandwidth for conducting crawls is neither infinite nor free, it is becoming essential to crawl the Web in not only a scalable, but efficient way, if some reasonable measure of quality or freshness is to be maintained."
 * The behavior of a crawler is the outcome of a combination of the following policies:
 * a. a selection policy that states which pages to download,
 * b. a re-visit policy that states when to check for changes to the pages,
 * c. a politeness policy that states how to avoid overloading Web sites, and
 * d. a parallelization policy that states how to coordinate distributed Web crawlers.

 * Selection policy
 * Due to the large size of the web, even a large search engine can only download a fraction of the publically available Web. A study by Lawrence and Giles showed that no search engine indexes more than 16% of the Web in 1999. Hence, a crawler usually downloads only a part of the World Wide Web. Due to this, it is highly desirable that this fraction contains as many “useful” pages as possible.
 * In order to achieve this, the crawler should be able to recognize the importance of a page and prioritize it. Some methods of assigning the importance of a page are described in the next topic. Designing a good selection policy has an additional difficulty; it must work with a fraction of the Web, as the complete set of Web pages is not known during crawling.
 * a. Restricting followed links: A crawler may only want to visit HTML(static text) pages and avoid all other internet media types. In order to make this possible, a crawler may make a HTTP HEAD request to determine a web resource’s internet media type before requesting the entire page. However, to avoid making numerous HEAD requests, a crawler may examine the URL of a resource and download only those pages ending with a particular sequence of characters like .html, .htm, .asp, .aspx, .php, or a slash. The down side of this strategy is that it may cause numerous HTML Web resources to be unintentionally skipped.
 * Some crawlers may also avoid URLs containing the character “?” in order to avoid spider traps that may cause the crawler to download an infinite number of URLs from a web site. However, this strategy is unreliable if the site uses URL rewriting to simplify its URLs.
 * b. Path Ascending crawling: Some crawlers try to download as many resources as possible from a particular Web site. That way a crawler would ascend to every path in each URL that it intends to crawl. For example, when given a seed URL of http://animals.org/eliphant/baby/description.html, it will attempt to crawl /elephant/baby/, /elephant/, and /.
 * A Path- ascending crawler is very effective in finding isolated resources and resources which would have resulted in no inbound links on a regular crawl.
 * Many path-ascending crawlers are also known as Harvesters since they're used to "harvest" or collect all the content(like all the photos from a gallery) from a specific page or host.
 * c. Focused Crawling: A focused crawler or topical crawler is a web crawler that attempts to download pages that are similar to each other and are relevant to a pre-defined topic or set of topics. In Topical crawling, the crawler assumes that the topic is given whereas in focused crawling, the crawler also assumes that some labeled examples of relevant and non relevant pages are available. Topical crawling was first introduced by Menczer whereas focused crawling was first introduced by Chakrabarti.
 * A focused crawler ideally would like to download only web pages that are relevant to a particular topic and avoid downloading all others. Hence a focused crawler needs to predict the probability that a link to a particular page is relevant before actually downloading the page. One possible way of doing this is to consider the anchor text of links as the predictor.
 * Another way to achieve a focused crawl is to determine the relevance of a page after downloading its contents. The relevant pages are indexed and their contained URLs are added to the URL frontier and the pages which fall below a relevance threshold are discarded.
 * d. Crawling the Deep Web: The deep Web (also called Deepnet,the invisible Web, dark Web or the hidden Web) refers to World Wide Web content that is not part of the surface Web, which is indexed by standard search engines. These pages are usually created by submitting queries to a database. A regular crawler will usually be unable to find such pages unless pointed by a link from another page.
 * One way to access the deep Web is by using federated search based search engines. Some search tools such as Science.gov are being designed to retrieve information from the deep Web. These tools work by identifying and interacting with searchable databases. Hence they provide us with a means of accessing the content of the deep Web.

 * Re-visit policy
 * The Web is considered to be very large in volume. Its size coupled with its dynamic nature makes it very difficult to crawl. Even crawling a fraction of the web may take a really long time, usually measured in weeks or months. By the time a crawler has finished a single full cycle of its crawl, they Web would have changed in many ways. Many of the crawled pages would have been updated or deleted whereas some pages would have even been added to the Web.
 * From the search engines point of view, having an outdated copy of a resource reduces its credibility and reliability. As a result a search engine would like to have an updated copy of the Web. The most used cost functions used to measure this are freshness and age.
 * Freshness: This is a binary measure that indicates whether a copy is accurate or not. Hence its value could be either 0 or 1.
 * Age: This is a measure which indicates how outdated the local copy is.
 * One of the main objectives of a crawler is to keep the average freshness of pages in its repository as high as possible, or to keep the average age of pages as low as possible. These two objectives cannot be directly compared. Since in the first case, the crawler is just concerned with how many pages are out-dated, while in the second case, the crawler is concerned with how old the local copies of pages are.
 * Next we shall look at two simple revisiting policies:
 * a. Uniform Policy: Implies re-visiting all pages in the collection with the same frequency, regardless of their rates of change.
 * b. Proportional Policy: Implies re-visiting more often the pages that change more frequently.

 * Politeness policy
 * A crawler is capable of retrieving data much quicker and in greater depth than a human can. As a result they can have a crippling effect on the performance of a site. Since a crawler can access multiple pages at the same time at speeds much larger than that designed by the website (for humans), a server would have a really hard time keeping up with these requests especially if multiple crawlers access the website at the same time.
 * As noted by Koster, the use of Web crawlers is useful for a number of tasks, but comes with a price for the general community. ::* The costs of using Web crawlers include:
 * a. network resources, as crawlers require a considerably higher bandwidth and operate for longer periods of time with high degrees of parallelism
 * b. server overload, since crawlers can access servers that are much higher than an average human can
 * c. poorly-written crawlers, which can crash servers or routers, or which download pages they cannot handle; and
 * d. personal crawlers that, if deployed by too many users, can disrupt the whole network and even the Web servers.
 * To tackle some of these problems, usually Web servers have both implicit and explicit policies which state the rate at which a crawler can visit a website. These politeness policies must be respected by the crawler. An example of this is the robots exclusion protocol which we have discussed earlier. We could also specify a "Crawl-delay:" parameter in the robots.txt file in order to indicate the delay between requests.

 * Parallelization policy
 * a. Multithreaded Crawler: Sequential crawling may be inefficient as most of the time either the CPU is idle (during disk or network access) or the network interface is idle (during CPU processing). In order to tackle this problem we use Multithreading which optimizes CPU utilization as well as the network bandwidth. In a multithreaded crawler, each thread locks the URL Frontier while selecting a URL that it will crawl. After it has picked a URL, it unlocks the frontier so that other threads can access it and pick a URL. While a URL is added to the frontier, the frontier is again locked to maintain consistency. The locking is necessary in order to prevent duplicates or crawling the same URLs since the Frontier is now shared among many crawling loops.
 * b. Keeping Crawlers at bay: Many hosts on the World Wide Web place certain portions of their web site off limits to a web crawler. This message is communicated to a crawler through a robots.txt file. This standard is known as the Robots Exclusion Protocol. The robots.txt file is placed at the root of the URL hierarchy of that site so that the crawler reads it at its first contact with a particular site. Below is an example of a robots.txt file that disallows all crawlers except the crawler called “myCrawler” from visiting the URLS that are placed in the file hierarchy starting with the name “/mysite/privateFiles/”
 * c. URL Normalization: Another important process that we should be aware of is URL normalization. URL normalization is the process by which a URL is modified or standardized as required. URL normalization is used to transform a URL into a normalized or canonical form in order to determine if two syntactically different URLs are equivalent. Web crawlers use URL normalization in order to avoid adding duplicates to the URL frontier.
 * d. Evaluation of a Crawler: A crawler may be classified as a good crawler depending on the type and the quality of information it fetches. Since the World Wide Web is dynamic and a website may update its pages periodically, it is important that a crawler fetches pages that are “useful”. However, a major problem that a crawler faces is recognizing these useful pages. Since a crawler is an automated program, it should be capable of understanding what the contents of a web page mean and classify them as important or not. Hence in order to evaluate a crawler, we need to see the usefulness of the pages fetched by the crawler as well as the crawl time of a crawler.

Web Page Importance
These are some of the methods that have been used in order to access the importance of a web page and hence its “usefulness”:

 * a. Keywords in documents: If a page contains some or all the keywords in a particular query, the page may be considered as relevant. We may also consider the frequency of occurrence within the page.
 * b. Similarity to seed pages: The pages corresponding to the seed URLs are used to measure the importance of the crawled pages. This is done by calculating the cosine similarity of a document (containing seed pages combined together) and the crawled page. This is used as the page’s relevance score.
 * c. Similarity to a query: Comparing the user query and the resulting pages that are fetched by the crawler and looking at its similarity (whether the user needs are met) gives us an idea of the importance of the web page.
 * d. Classifier Score: A classifier ( bot ) may be trained by a human to identify the pages that are relevant to the needs of the users. This classifier may then provide automated scores to each crawler page based on its relevance. The training is done by specifying a small sample of relevant pages as positive examples.
 * e. Link-based popularity: using algorithms such as Page Rank or HITS, which provide popularity estimates of each of the crawled pages. A simpler method would be to use just the number of in-links to the crawled page to derive similar information. Many variations of link based methods using topical weights are choices for measuring topical popularity of pages.
 * f. Retrieval System Rank: N different crawlers are started from the same seed and allowed to run till each crawler gathers P pages. The entire set of N*P pages collected from the crawler are ranked against the initiating query or description using a retrieval system such as SMART. The rank provided by the retrieval system for a page is used as its relevance score.

Required readings for faculty

 * i. Pant, Gautam; Srinivasan, Padmini; Menczer, Filippo (2004), "Crawling the Web” http://web.archive.org/web/20040707144524/http://dollar.biz.uiowa.edu/~pant/Papers/crawling.pdf (12/8/2009)
 * ii. Christopher D Manning, Prabhakar Raghavan, Hinrich Schutze “An Introduction to Information Retrieval” (Pages 443-469) http://nlp.stanford.edu/IR-book/information-retrieval-book.html (12/8/2009)
 * iii. Cho, J.; Garcia-Molina, H.; Page, L. (1998-04), "Efficient Crawling Through URL Ordering", Seventh International World-Wide Web Conference, Brisbane, AustraliaBorgman, C. L. (2003). http://ilpubs.stanford.edu:8090/347/ (12/8/2009)
 * iv. Heydon, Allan, Najork, Marc (1999-06-26) Mercator: A Scalable, Extensible Web Crawler http://web.archive.org/web/20041122071908/http://www.cindoc.csic.es/cybermetrics/pdf/68.pdf (12/8/2009)
 * v. Cristian Duda,Chong Zhou, Gianni Frey, Donald Kossmann. “AJAXSearch: Crawling, Indexing and Searching Web 2.0 Applications “

http://web.archive.org/web/20091007051536/http://www.dbis.ethz.ch/research/publications/AjaxSearchVLDB08.pdf (12/8/2009)

Required readings for students

 * i. Pant, Gautam; Srinivasan, Padmini; Menczer, Filippo (2004), "Crawling the Web” http://web.archive.org/web/20040707144524/http://dollar.biz.uiowa.edu/~pant/Papers/crawling.pdf (12/8/2009)
 * ii. Christopher D Manning, Prabhakar Raghavan, Hinrich Schutze “An Introduction to Information Retrieval” (Pages 443-469) http://nlp.stanford.edu/IR-book/information-retrieval-book.html (12/8/2009)

IR-related resources from Wikipedia and other sources

 * i. Web Crawler: http://en.wikipedia.org/wiki/Web_crawler (12/8/2009)
 * ii. Web Crawler: http://www.devbistro.com/articles/Misc/Implementing-Effective-Web-Crawler (12/8/2009)
 * iii. Focused Crawler: http://en.wikipedia.org/wiki/Focused_crawler (12/8/2009)

Exercises / Learning activities

 * In this exercise, we shall be using an open source Web Crawler and assess its effectiveness. A few crawlers that are easy to use have been listed below:
 * 1. PHP Crawler
 * 2. Heritrix Web Crawler.
 * Students can use NutchWax and WayBack to index and search through crawled data.
 * In addition to these we have the following open source crawlers which you can use:
 * 1. Aspseek
 * 2. arachnode.net
 * 3. DataparkSearch
 * 4. GNU Wget
 * 5. GRUB
 * 6. ht://Dig
 * 7. HTTrack
 * 8. ICDL Crawler
 * 9. mnoGoSearch
 * 10. Nutch
 * 11. Pavuk
 * 12. YaCy
 * There is no restriction on the type of crawlers used for the exercise. These are just suggestions in order to help the student to choose a crawler.
 * Perform a crawl on a website, for example http://www.cs.vt.edu. Make sure that the crawler takes at least an hour to perform the crawl. After the crawl, examine the quality of the web pages fetched by the crawler and if the pages retrieved by the crawler are relevant to your user query. After the analysis prepare a 20 min presentation on the results of your analysis using terms you have recently learnt in this module. You will be graded on your ability of explaining your analysis of the crawl with terms relevant to the module and web crawlers. After the presentation there will be a 10 min question session where other students may ask the presenter with questions regarding their presentation.

 * Suggestion to the instructor:
 * An instructor may make this exercise more specific by giving a specific crawler to use along with a URL and a user query in order to maintain consistency of the crawled content

Evaluation of learning outcomes

 * In their presentation, the students need to analyze and give a brief presentation about their findings based on the content taught in this module. The students should show good understanding of the Web Crawler basics, the Crawler architecture, and Crawler policies

Glossary

 * URL: Uniform Resource Locator
 * WWW: World Wide Web
 * HTTP: Hypertext Transfer Protocol
 * Crawler: A Web crawler is a computer program that browses the World Wide Web in a methodical, automated manner.
 * Web Page: A webpage or web page is a document or resource of information that is suitable for   the World Wide Web and can be accessed through a web browser.
 * SMART: Self-Monitoring, Analysis, and Reporting Technology From http://www.wikipedia.org/

Additional useful links

 * Some commercial Web Crawlers:
 * a. Winweb Crawler: http://www.winwebcrawler.com/index.htm (12/8/2009)
 * b. Spinn3r: http://spinn3r.com/ (12/8/2009)
 * c. Advanced Site Crawler: http://www.innovative-sol.com/sitecrawler/index.htm (12/8/2009)
 * d. Website Ripper Copier: http://www.tensons.com (12/8/2009)

Concept map
See VTech Concept Map server under "Dlcurric" folder

Contributors

 * a. Developers:
 * Dr. Edward Fox
 * Ashwin S Khandeparker
 * b. Reviewers:
 * Seungwon Yang
 * John Ewers
 * Tarek Kanan
 * Ashwin Palani

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Digital Libraries/Crawling


text:
User talk:London~enwikiversity

 Hello London, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:18, 2 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:18, 2 February 2010 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called London. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name London~enwikiversity that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:42, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 06:14, 19 April 2015 (UTC)

title: User talk:London~enwikiversity


text:
User talk:Thaum1el

 Hello Thaum1el, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:18, 2 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:18, 2 February 2010 (UTC)

title: User talk:Thaum1el


text:
User talk:Joejill67

 Hello Joejill67, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:18, 2 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:18, 2 February 2010 (UTC)

title: User talk:Joejill67


text:
User talk:Dddaviddd

 Hello Dddaviddd, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:18, 2 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:18, 2 February 2010 (UTC)

title: User talk:Dddaviddd


text:
User talk:Vistopia80

Sanjay Sonah
Your comments on Sanjay Sonah with a fake biography are inappropriate content for Wikiversity. Please visit Help:Guides for a guide on what is appropriate content for Wikiversity. If you have any questions, please visit Colloquium. Ottava Rima (talk) 15:40, 2 February 2010 (UTC)

title: User talk:Vistopia80


text:
User:Csell/ema6136

The molar specific heat of pure C, as Graphite, at constant volume may be fit reasonably well with Einstein's quantum model of a simple harmonic oscillator (SHO) crystal, if the material's characteristic Einstein temperature is selected as θE = 900 K.

1) Use a convenient computer math package to develop a plot of the molar specific heat, Cv [J/mol-K], of graphite, from 0 K to 500 K. Has the specific heat of graphite reached the Dulong and Petit classical limit of about 25 J/mol-K at 500 K?  Explain briefly.

2) Using Einstein's formula for Cv, calculate and then plot the constant volume entropy function, S(T) [J/mol-K], for graphite versus temperature. The standard molar entropy for graphite at 298 K is listed in the CRC Handbook of Chemistry and Physics as S298 = 5.7 J/mole-K. Compare your calculated entropy answer at 298 K, based on the quantum SHO crystal, to the Handbook's tabulated experimental datum for C as graphite, and provide a reason explaining any discrepancy.

3) Again apply the quantum SHO model and compute the change in the Helmholtz free energy, ΔF(T,V) of C upon: a) slowly warming one g-atom of graphite at constant volume from 0 K to 250 K. b) Compute the isochoric (constant volume) change in Helmholtz free energy upon further heating graphite from 250 K to 500 K.

4) Explain any differences found for ΔF in answers 3(a) and 3(b), given that you are changing the temperature of the graphite crystals in both examples by the same amount, i.e., 250 K.

title: User:Csell/ema6136


text:
Votian/Orthography

== Orthography ==

Russian orthography (1784.-1790.)
The first samples of Votic were written in former Russian orthography (1784-1790).

=== Miscellaneous Latin based orthography (19.-20. centuries) ===

Following collectors used various Latin based  systems.
 * Henrik Gabriel Porthan  1802.
 * Gabriel Rein  and Engla Groundstroem around 1840.
 * Antal Reguly  (Kattila dialect) 1841.
 * Elias Lönnrot  (Kattila dialect) 16.–24. December 1844.
 * Andreas Johan Sjögren  ( Kreevin dialect, Vaipooli dialect ...) 1846-1852.
 * David Emanuel Daniel Europaeus  1853.
 * August Ahlqvist  (Kattila dialect) three winter months between 1854-1855.
 * Ferdinand Johann Wiedemann  ( Kreevin dialect) 1871.
 * Oskar Andreas Ferdinand (Antti) Lönnbohm (Mustonen)  1883.
 * Vihtori Alava  1901.
 * Eemil Nestor Setälä  (Vaipooli dialect) 1909.
 * Axel Borenius(-Lähteenkorva)  1928.
 * Väinö Salminen  1928.

Native Cyrillic orthography for Jõgõperä dialect (1922.)
Native Cyrillic  orthography of Jõgõperä dialect was proposed by Dmitri Tsvetkov in his (The first) Votic grammar (1922).

Uralic Phonetic Alphabet
A lot of Votic heritage was published in Estonia by Paul Ariste,  Elna Adler  and others using different versions of  Uralic Phonetic Alphabet.

Estonian orthography of the biggest dictionary of Votic language (1990.)
The biggest Dictionary of Votic language (Словарь водского языка - Vadja keele sõnaraamat) by Elna Adler  and  Merle Leppik uses Estonian orthography, where  is replaced with õ,  macron  with doubled vowel and л with l etc.

Yet  k, p, t  never mark geminates  as they do in the middle of Estonian words, but single  fortis   plosives the way they are pronounced in the beginning of Estonian words and in Uralic Phonetic Alphabet.

New orthography for Western Votic dialects
A new Latin based orthography of  Western Votic dialects was proposed by Mehmet Muslimov.

title: Votian/Orthography


text:
User:Alaayman

Here To Help
Hi I'm new here

I want to help

Hope I can

Alaayman 23:09, 2 February 2010 (UTC)

title: User:Alaayman


title: File:Egm6341.s10.mtg17.djvu


title: File:Egm6341.s10.mtg18.djvu


text:
User talk:Alaayman

 Hello Alaayman, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --AFriedman (talk) 04:30, 3 February 2010 (UTC)

 Woof! My name is Jack Russell. I am a dog and a Wikiversity mascot. I am pretty new around Wikiversity. Perhaps we can learn together! Tail wag...

English speaker userbox
I'm very impressed that you found the language Userboxes and how to add them after being on Wikiversity for such a short time. By the way, most people look for Userboxes on the main Userpage, not the User talk page. I've moved your Userbox there. Is that OK? I look forward to seeing what else you'll be doing with Wikiversity. --AFriedman (talk) 07:09, 3 February 2010 (UTC)

Well Thank's for the welcoming and yes it's OK that you moved the Userbox. and please fell free to give me more tips, I have already learned a lot from studying the way you wrote your welcome message.
 * I'm looking for more.
 * OH and thank you too [[Image:Jack-Russell-Terrier.jpg |48px]] Jack Russell I will be glade to help you when I can, I have learned something from you too.

--Alaayman 16:49, 3 February 2010 (UTC)

Very cool use of templates! Thanks for the thank you note. Would you like to join Welcoming committee? Also, do you have any specific thoughts about what you would like to add to Wikiversity, or what you would like to get out of the site?

If you'd like to learn more about how to use the wiki markup language, you may want to take this free online mini-course. I took the course last year with Nellie Deutsch and Patricia Schlicht, and I highly recommend it. --AFriedman (talk) 02:06, 4 February 2010 (UTC)

title: User talk:Alaayman


text:
Talk:Modern China: China since 1945 and the Modern World

Expandsion
I've added to the leadership section under each decade. 210.176.69.125 06:45, 3 February 2010 (UTC)


text:
User talk:RjorjorjoHW2

 Hello RjorjorjoHW2, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:17, 3 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:17, 3 February 2010 (UTC)

title: User talk:RjorjorjoHW2


text:
User talk:Wingzero

 Hello Wingzero, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:18, 3 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:18, 3 February 2010 (UTC)

title: User talk:Wingzero


text:
User talk:TurokeProdigee

 Hello TurokeProdigee, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:18, 3 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:18, 3 February 2010 (UTC)

title: User talk:TurokeProdigee


text:
User talk:Bnordgren

 Hello Bnordgren, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:18, 3 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:18, 3 February 2010 (UTC)

title: User talk:Bnordgren


text:
User talk:Rallen7753

 Hello Rallen7753, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Mu301Bot 08:18, 3 February 2010 (UTC)

Feel free to leave a message on my talk page if you have any questions or need help. --mikeu talk 08:18, 3 February 2010 (UTC)

title: User talk:Rallen7753


text:
User:Queenlynnie

Currently working in an IT company in Nairobi,Kenya. -Wanjiru 03/02/10.

title: User:Queenlynnie


text:
History skills

This page outlines basic skills in the subject of History.

Introductory note
In the United Kingdom educational system, the skills demonstrated here are essential to pass the GCSE level 2 qualification and are then used for a foundation on GCE Advanced level History, a level 3 qualification.

Analysing sources
Analysing a source is one of the key basic skills in History. When referring to a "source" in itself, we mean a source of information, meaning obviously that it is something that gives information, regardless of what that information actually is. Now this can be anything, from a historical quote, to someone stating their experiences, to a radio broadcast, a newspaper, a book, or anything of the sort. Of course as stated, these things all have one thing in common, providing information. However, this does not mean every source should be judged with the same value, as there are different factors that determine the worth of various sources to historians.

As a result, it is important to look at a source of information carefully and think "is this correct?". When doing so, one should aim to firstly compare the source in question with another source of information on the same subject. Make notes of any differences between them, when doing so, you will realise that sources of information do indeed vary greatly, and there are numerous reasons to why:

Types of Sources
Sources of information come in different types, this is something that helps historians establish their historical worth.

 * Primary Source- A primary source of information (also called original source), is a source which comes directly from the subject it is related to. To expand on this further, primary sources are "first hand sources", meaning they created from the direct knowledge of an event, situation or person. Meaning a primary source is a direct interpretation and analysis of something and stems from no other work.

An example of a primary source, would be a witness account from someone who experienced a major event.

Primary sources offer a direct analysis on a topic, but we cannot always be so sure they are correct. Why? Because being primary sources they are going to be very easily subject to inaccuracy bias and exaggeration, consider the following points to why this is:

A) Not the full picture- There is a chance that the information which primary sources provide, do not give the full picture and viewpoint on a particular event. Mostly because they are "one place, one time" sources and because they are created at the time of the event. Meaning they cannot analyse the consequences/effects of the particular subject, hence the individual viewpoint they give on the is going to significantly differ and as a result reflect the values of the time rather than give a full historical picture.

For example, here is a primary source, an account of the great depression in 1929:

"You imagine the New York of today, with people everywhere you go asking for money, well it was ten times worse than that,"

The source outlines that New York was poor in the great depression, this is possibly correct, but in relation to point A. We can see being a primary source that it tells us only what happened from the eyes of the man who experienced it here, as a result it does not explain what caused it to happen, or any other perspective on it other than his own.

B) Opinion- Primary sources are more subject to the persons opinion being reflected in the context. This is because with witness accounts, they are usually only going to see their own view on what happened rather than see that of another, which relating back to point A can give an unclear picture. To explain this, we use the background of the sources to evaluate their bias. For example, if we were to evaluate sources on the kristallnacht, one from a jewish victim another from a nazi soldier. You will see that the Jewish victims account would describe the event to be far more dramatic, awful and disastrous, on the basis that they were the victim and would inveitably would present it as such. Whilst the Nazi soldier's account would likely be giving a more righteous field to his account, seeing it as more justified and as a result minimizing his description of how severe the event was.

title: History skills


text:
User talk:Routerone

 Hello Routerone, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Gbaor 13:04, 3 February 2010 (UTC)

 Hi! My name is WikiversityJack. I am a pumpkin and a Wikiversity mascot. My aunt told me that fun + learning = Wikiversity. Let me know if I can help you out.

title: User talk:Routerone


text:
User talk:Brittany-3

 Hello Brittany-3, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. After you leave a comment on a talk page, remember to sign and date; it helps everyone follow the threads of the discussion. The signature icon in the edit window makes it simple. To get started, you may

 * Take a guided tour and learn to edit.
 * Visit a (kind of) random project.
 * Browse Wikiversity, or visit a portal corresponding to your educational level: pre-school, primary, secondary, tertiary, non-formal education.
 * Find out about research activities on Wikiversity.

 * Read an introduction for teachers and find out how to write an educational resource for Wikiversity.
 * Give feedback about your initial observations
 * Discuss Wikiversity issues or ask questions at the colloquium.
 * Chat with other Wikiversitans on #wikiversity-en.

And don't forget to explore Wikiversity with the links to your left. Be bold to contribute and to experiment with the sandbox or your userpage, and see you around Wikiversity! If you're a twitter user, please follow http://twitter.com/Wikiversity. --Gbaor 13:05, 3 February 2010 (UTC)

 Hi! My name is WikiversityJack. I am a pumpkin and a Wikiversity mascot. My aunt told me that fun + learning = Wikiversity. Let me know if I can help you out.

title: User talk:Brittany-3


title: File:Eas4200c.f08.1.djvu


title: File:Eas4200c.f08.2.djvu


title: File:Eas4200c.f08.3.djvu


title: File:Eas4200c.f08.4.djvu


title: File:Eas4200c.f08.5.djvu


title: User:L0ll0


title: File:Eml4500.f08.1.djvu


title: File:Eml4500.f08.2.djvu


title: File:Eml4500.f08.3.djvu


title: File:Eml4500.f08.4.djvu


title: File:Eml4500.f08.5.djvu


title: File:Eml4500.f06.1.djvu


title: File:Eml4500.f06.2.djvu


title: File:Eml4500.f06.3.djvu


title: File:Eml4500.f06.4.djvu


title: File:Eml4500.f06.5.djvu


text:
User:Sundog105/ESSOR

European Secure Software Radio Programme. A European Union central working group that is attempting to standardize software-defined radio features and interoperability among member nations. The goal of the ESSOR program activities is to study and develop a secure Software Defined Radio (SDR) architecture based on Joint Tactical Radio System (JTRS) standards with an associated certification toolset. The development of an interoperable, secure high-data-rate waveform compliant with this standard is an integral part of the program. [ http://ftp.rta.nato.int/public//PubFullText/RTO/MP/RTO-MP-IST-083///MP-IST-083-04.doc, UNCLASSIFIED/UNLIMITED]

title: User:Sundog105/ESSOR


title: File:Egm6322.s09.1.djvu


title: File:Egm6322.s09.2.djvu


title: File:Egm6322.s09.3.djvu


title: File:Egm6322.s09.4.djvu


title: File:Egm6322.s09.5.djvu


text:
User:KarlieWatson

=Humanities I/The Commons=

title: User:KarlieWatson


text:
User:CitizenDin

User:CitizenDin/Calculus1

title: User:CitizenDin


title: User:CitizenDin/Calculus1


title: File:Egm6341.s10.mtg15.djvu


title: File:Egm6341.s10.mtg16.djvu


text:
User:Wish peace88

ja:利用者:Wish peace88

title: User:Wish peace88