Use Case Social Recommendations
From Library Linked Data
Back to Use Cases & Case Studies page
Background and Current Practice
Current library catalogues allow users to search library holdings by keywords or catalog field values and to sort search results by some of these fields (e.g., a title and a year). They usually do not offer ranking of search results by relevancy to the user.
User activities (e.g., looking at a book in a catalogue or loaning a book) and social network relations provide information that can be useful for offering users better recommendations. Some of this information (e.g., data on loans and page views) may already be available to library information systems while other kinds of information may become available when adding new types of services (e.g., annotations , book lists).
Social recommendations are offered by some online bookstores that may recommend other works based on users' activities (purchases, views, etc.).
Provide users with recommendations or search rankings based on information available about item popularity and user activity.
Use Case Scenario
A) Generic Scenario
1) Application collects social data related to its users and the items in its catalogue (a) as users use the application or (b) acquires this information from other applications.
Kinds of social / activity data:
- lending, buying, reading
- page / item views
- adding to favorites, recommending to others
- adding reviews / annotations
This information may be available as:
- aggregate data related to an item (sales, loans, number of favorites)
- individual data (i.e. users' individual activities) -- provided that data privacy is ensured
Applications may also have access to the social network (graph) information. It may be a part of the application (if the users are allowed to "follow" other users) or may be available from other applications.
2) The application uses this information to rank search results or to provide recommendations.
This functionality can be generic (based only on aggregated item-level data) or personalized (based on individual social data).
In the generic use case the application uses aggregate information (an aggregate of many users' activities associated with items). A user enters a search term and retrieves results ranked by popularity.
- a generic use case may not provide enough information to offer recommendations (other than the "Top 10" lists according to popularity).
The next use case describes personalized recommendations.
B) Personalized recommendations
1) In addition to aggregate data (described above), the application has access to individual users' social / activity data.
This information can be:
- collected by the application (as patrons use it)
- provided by other applications
- available on the Web
In case the information is provided by another application, a user establishes a connection between the applications and authorizes access to his or her social data (favorites, purchases, social graph). Users are motivated to give access to their preference and activity data because they are rewarded by better, personalized recommendations.
Users may also have this information available on the Web (e.g., users' lists of books they've read, along with their ratings).
2) The applications uses the information provided to:
- recommend items of interest
- rank search results
The availability of social data enables the application to do personalized recommendations.
Application of linked data for the given use case
Linked data can be applied:
- for data portability (for supplying social data to the applications)
- to represent aggregate information
- to represent recommendations
[Social] Data portability
RDF data may be used to represent the social data to be supplied to the application:
- activity data
- lists (favorites, ...)
- reviews, annotations
- social network relations
This information may be published on the Web or transferred between applications. When data is provided by applications, this information may be provided by a centralized [web] application or in a decentralized fashion with users each having their "social data vault".
- note: from the point of view of the data-consuming application it does not matter if it is the centralized or decentralized approach is used, data is data.
Linked data may be used to represent aggregate information (sales, loads, etc.) associated with items, as well as the information about the items themselves.
By relying on external sources of item-level information, new applications can be created with little effort. Linked data with common data representations supports the integration of multiple data sources, regardless of their location or provenance.
The aggregate information may need to be provided at different levels of granularity (worldwide, country-level, ...). Applications may use aggregate information acquired from multiple sources.
Outcomes of the social recommendation process -- recommendations or ranked results lists -- may also be represented using linked data. This is similar to how users may provide reading lists (provided the lists may have order and some ranking).
Since recommendations as personal and different users may get different results, it may be useful to be able to access (preserve?) a given set of results / recommendations. This opens up possibilities to share and compare result sets.
Provenance information will be important for results that are personal / user-specific.
Existing Work (optional)
linked data related work:
sharing social data:
- data portability
- (our work on social web data portability - @REF)
- activity streams
recommendations engines, data supporting recommendations:
- The Engineering Behind Twitter’s New Search Experience - a technical description re how Twitter personalized search works
Note: further ideas of what can be added
- music/movie genome projects
- Amazon recommendations -- any references?
- the value / use of user activity (clickstream, etc.) data and personalized results in web search
Related Vocabularies (optional)
Problems and Limitations
linked data related issues:
- information that can be used for social recommendations needs to be available. this includes:
- public information on the web (this will mostly be aggregate, item-level info + book lists provided by users)
- information from other applications -- we need applications that allow users to record and share social / activity data
- information re book "genomes" (genre, etc.) would be helpful (= is needed) in providing recommendations -- though these recommendations would not be "social" as such
- provenance information needs to be recorded (when sharing recommendation results)
- need for ranking and recommendation systems, algorithms
- personalization "bubble" can be an issue -- though shareability of results should help there
- cf http://www.time.com/time/arts/article/0,8599,2071746,00.html - http://www.slate.com/id/2296633/
- the Slate article quotes Google: "We actually have algorithms in place designed specifically to limit personalization and promote variety in the results page"
- see related research discussed in Personalized Filters Yes; Bubbles No
- companies (e.g., search engines) are building user profiles and sharing / selling them
- here we just acknowledge the fact that this is taking place. how does this practice relate to linked data and this use case?
- though orthogonal to the use case (if users provide application w their data, it's their choice) privacy need to be looked at
Related Use Cases and Unanticipated Uses (optional)
- Use_Case_Social_Annotation may provide data that can be used in this use case
Library Linked Data Dimensions / Topics
 re annotations see the Social Annotations use case
See also the JISC usecase on Publish activity data
See also work from Dave Pattern for instance this note on methodology