Recommending Open Linked Data in Creativity Sessions using Web Portals with Collaborative Real Time Environment

: In this paper we describe a concept of the recommender system for collaborative real time web based editing in the context of creativity sessions. The collaborative real time editing provides creativity teams of which members are physically distributed with an emulation of the synchronous collaboration where presence of the team members is required simultaneously (e.g., brainstorming, meetings). The concept of recommendation is based on matchmaking the currently performed activities at the user interface and external linked open data provided through SPARQL endpoints. The real time propagation of the changes in editor and recommendation is achieved by reverse AJAX and observer pattern. An experiment in the area of the creativity domain shows that the recommendation in collaborative real time editing activities are useful in task performance, guidance, and inspiration.


Introduction
Web portals are used to aggregate information from external sites and provide value added services to them.Portals are composed of portlets which can range from data provision widgets to independent applications.In this paper we will look at portals which contain applications such as collaborative real time editors and will utilize them for recommendation purposes.
Collaborative real time editing has recently emerged as an effective means for people to collaborate on joint tasks.There are several real time collaborative editors available such as Adobe Buzzword1 or ZOHO2 for text editing or MxGraph3 graph editing software.
Recommender systems have been widely studied in relation to product advertisements or information items.This was mostly done in the context of personal information seeking and exploration.However, additional resources are also helpful in more complex collaborative situations.Tasks such as a brainstorming or finding a new solution can be enhanced by having on the fly information about related information resources on the web.These resources can help to inspire team members in creativity sessions or focus on unsolved parts of the problem while getting the solved parts recommended from the web.We argue that for such systems, recommendations can be computed due to the rich context the system can capture from user activities.
In this paper we describe a concept of the recommender system for collaborative real time web based tools used within web portals for creativity sessions.As pointed in [Hausenblas, 2009], linked open data resources are growing very fast and can already provide benefits for users of web applications where they are used.The linked open data web provides interlinked cloud of data from different domains which can be processed with semantic web technologies.Therefore, the concept of recommendations is based on the context of collaborative work and uses linked open data resources to provide recommendations.The main contribution of the paper is the concept of recommendation which considers the collaborative real time activities of users in creativity sessions into account and which shows improvements in work productivity.
The rest of the paper is structured as follows.[Section 2] discusses our proposal in the context of related work.[Section 3] discusses a motivating scenario for our work.[Section 4] provides a solution to close to real time propagation of changes in editing and recommendations.[Section 5] describes a solution to recommendation of domain specific advices from linked open data and based on context of work.[Section 6] describes a proof of concept implementation of the concept in the area of creativity domain.[Section 7] discuss a case study with an experiment from a creativity domain which shows improvements in idea generation process, inspiration for new ideas, and guidance.[Section 9] summarizes the paper and provides an outlook to future work.

Related Work
Creativity plays an important role in many learning activities, but how to enhance creativity with the support of modern technologies tools deserves further studies.Collaborative creativity systems such as [Forster, 2009] provide the possibility to share ideas and more importantly generate ideas collaboratively.It allows users to take part in creativity sessions, through a Web interface.In [Huang et al., 2007] a game-based collaborative creativity support system called Idea Storming Cube is proposed.Its aim is to support creative thinking and help a user form a perspective of "shift thinking habit".The system analyses the knowledge acquired from the history of user inputs and compares it with the ideas possessed by the domain expert and other users in the current brainstorming group.The system is designed to provide use, goal and context-sensitive supports and by doing so to stimulate more divergent thinking.Although Idea Storming Cube does not provide support from technologies we have used and adapted in this work, it looks back to history of actions in order to provide contextualized assistance.A similar approach has been proposed in [Yang and Lee, 2008].The idea generation of the systems is based on a stimulus-response model.The system gives specific stimuli to help the user to generate ideas.It follows a predefined problem template or history of activity, every stimulus has thus to be defined before.The disadvantage however is that this feature makes the approach dependent and less flexible.
Web 2.0 is also introduced to creative processes.[Forster, 2008] has investigated how Web 2.0 based applications could be used to support and improve creative problem solving in distributed teams.Creative process is divided to divergent phase (generate ideas) and convergent phase (organize, discuss, select and rank ideas).Both needs an electronic support.In contrast to the existing Web 2.0 tools for synchronous collaboration among distributed teams which can support divergent phase of the creative process, the convergent phase is not well supported.Therefore, [Forster, 2008] tries to develop a Web-based virtual whiteboard, which is capable of supporting various creativity techniques.However, this virtual whiteboard requires users to have a good knowledge of the creativity techniques.All the ideas are stored in virtual cards in the whiteboard.In [Santanen et al., 2000], a cognitive network model is defined.This is a causal model of creative solution generation for problem solving domains, which is grounded in mechanisms of human cognition, hypothesized to exist within all individuals, regardless of their intelligence level, socio-economic status, or other variable personal attributes.Guided by this model, [Santanen et al., 2000] describes a new group support system based technique which is called direct brainstorming.In our approach we go beyond the models and systems presented in the above described papers by providing further support for recommendations from open linked data which is applicable not only to creativity whiteboards but in general to any collaborative editing work.

Motivating Scenario
Let's consider a collaborative scenario for a brainstorming and creativity.Brainstorming is usually performed within a group of people, in our context group of users, to generate new ideas to solve a problem.Brainstorming can be supported by so called creativity techniques to guide the generation of ideas.Creativity techniques are a common practice in idea generation, which is an activity to retrieve existing knowledge from memory and to combine them into novel ones [Paulus and Brown, 2007].In most cases a creativity technique is like a process that should guide humans to come up with new ideas.Various models of the creative process have been described over time, such as Wallas-Model [Wallas, 1926] and IPC-Model [Schmid, 1995.].A subset of creativity techniques can be represented electronically as a set of questions or statements [Dolog et al., 2009].For example, the creativity technique 5W1H stands for the 6 question words (what, why, where, when, who and how).By applying for example the 5W1H [Hart, May 1996] you follow these questions and use the answers for them as an input for later questions again.The idea of creativity techniques is to help you to think in several directions, because it is a common human behaviour sticking to one direction that is preferred.
Besides the guidance of specific technique such as the 5W1H, teams can benefit from additional suggestions in problem solving.Consider for example a scenario where a team has to come up with a new device for routing a signal from mobile phones in the areas where an infrastructure does not yet exist.Typical conditions are low energy consumption by the routing device and finding the cheapest path from one mobile phone to another.Here, suggestions from similar solutions might help to inspire the problem solving team.These suggestions might come not only from solutions made by colleagues but also from external solutions if published and shared on accessible location.It might help to see how such devices for low energy consumption are constructed, which materials are used, how dense should the network of routing devices be and so on.As we can see, already these questions have specific question words in them such as "How", "What", and so on which are exactly the guiding questions from 5WH1H.In this paper we provide a solution for such a recommendation for real time editing in creativity session where the solution is based on data resources provided in the linked data cloud.The questions from a creativity technique are used as a semantic context knowledge for queries to the external repositories when asking for suggestions.

Realizing Real Time Propagation of Changes in Editing and in Recommendations with Portlets
With the advancements of the web portal technologies it is now possible to realize the real time collaborative editing even with external components.There are two fundamental issues necessary to plug such editors to portals for further use: -Programming interface which can be used to access usage context of the collaborative activities.
-Real time extension allowing for synchronization between participating user browsers.Programming interface for accessing the usage context should allow for getting data from possibly external applications for further processing.There are various options.We have used the combination of java script functions and objects with direct web remoting (DWR) [Zammetti, 2008].We have used the DWR especially because it is also a library which allows for emulating real time updates behaviour for participating web browsers.
The general architecture is designed as a centralized client/server architecture.Meaning that the model layer is handled by the server and clients can show a representation of the model.The centralized server pattern is used to ensure consistency in the graph models and collaborative editors.The architecture is outlined in [Fig.1].
The real time collaboration on sketches in creativity sessions is based on synchronization of work performed under different instances of editors in distributed fashion.Traditional way of performing real-time synchronization between web clients is limited by the HTTP protocol.A client creates a request for a web page and the server responds with the source of the page.In order to create a traditional real-time synchronization in collaborative editors would involve every client constantly asking the server whether there are new updates.This creates a performance and scalability problems.An example of using this technique could be old chat rooms refreshing every second or so, and updating the screen accordingly.
Close to real time synchronization is provided by so called reverse AJAX.AJAX it is not a technology by itself, but a technique using existing technology.Of course it is not possible to actually push data from the server directly to the clients, without them asking for it, but it can be emulated at a performance level, which is close to real-time.
There is a lot of different implementations of this technique, but the most widely used is the DWR framework [Zammetti, 2008].We have used the so called Holding the connection open at all times leads to the question of whether or not it will create thread starvation.Normally it will, but the DWR framework comes with implemented strategies to resolve the issue and ensure that the solution is scalable [Zammetti, 2008].
DWR is implemented client side by adding auto generated javascript libraries.The libraries are auto generated by a DWR servlet running on the tomcat server.Thereby eliminating synchronization issues, the client will automatically get the last compiled server interface.
Collaborative editing uses a shared model, which different client represents and is able to manipulate.In order to create the one-to-many dependency between the model and the clients, an observer pattern is applied [Gamma et al., 1995].[Fig. 3] shows the class diagram of the observer pattern applied to the sketch model as well as the recommendation model.In both cases, the models are observed by the clients.This design creates transparency for the developer and allows for further extensions to other editor types, such as idea editors, topic

Recommendation of External Resources in Real Time Editing
With the goal of enhancing the editor's capabilities, we implemented an idea recommender component aiming at supporting users during the creativity process.The value of recommendations in technology-enhanced systems has been evidenced in other works such as [Feng et al. [2008]] and [Yu et al. [2007]].In general, the recommendations stand as a supportive element by supplying additional ideas that might be useful for users to carry out a creativity task or to get inspiration for a possible solution.To suggest ideas of value, we need to be aware of the context.Therefore, the editor needs to expose what previous idea the user wants the recommendation to be based upon.Additionally, in order to provide users with semantically enhanced suggestion, the recommender system needs to be aware of the creativity technique (in our particular case, 5W1H).Thus, besides the previous idea, our recommendations take into account the interrogatives from the 5W1H creativity technique.To achieve such semantic suggestions, we benefit from semantic relations mapped in ontologies from Linked Open Data on the Web [Ruiz-Montiel and Aldana-Montes [2009] i.e. ontology properties, to find matching semantics.For example, the interrogative "What?" from the creativity technique 5W1H contains "sub*", "type*" and "kind*".The wild card "*" is used to allow syntax variations it might exist such as "subClassOf" or "subPartOf".Provided such translation, the component then builds a search query, accesses a public available SPARQL end point4 and searches for triples where the subject contains the current idea and the predicate contains one of the search words from the mapping list.The result set's objects form the suggested statements which are presented in the user interface.Provided the inputs, i.e. the selected idea plus the statement information, a SPARQL query5 runs over ontologies from Linked Open Data published on the Web.In particular, Linked Open Data is about using the Web to connect related data that wasn't previously linked, or using the Web to lower the barriers to linking data currently linked using other methods [Hausenblas, 2009].We therefore take advantage of semantic data available on the Web for finding "idea" relations described in triples.[Fig.4] illustrates a triple with the subject workshop and the object conference linked through the property isPartOf.If workshop is a idea A in the Idea diagram, the tool could suggest conference as another idea because it was found in a given ontology conference.owl.
Particularly, for this study, we are querying relations from two SPARQL end point Dbpedia6 and Snorql7 , however more end points can be added to the model.Dbpedia is a community effort to extract structured information from Wikipedia and make this information available on the Web, whereas Snorql is a semantic Web initiative for indexing available Semantic Web documents on the Web.These SPARQL endpoints were chosen because an expressive amount of ontologies available for querying data on the Web.The Jena framework8 was utilized for the whole ontology searching and handling.In the following we show a reduced version of a Sparql query which retrieves all objects which a part of a subject labelled by "House".Note that we are independent of the ontology schema.
SELECT distinct ?oWHERE { ?s ?p ?o .?s rdfs:label ''House"@en .FILTER regex(?p,''part")} The whole component (and thus the functionality described above) is implemented as a sovereign component.There are no dependencies to the surrounding system, so including it to different systems is rather simple.It takes two parameters: the base word and the interrogative statement.The base word is in this environment the selected idea, which will become the parent node for generated idea(s).The latter parameter, the statement, is the current creativity technique's statement.The service returns a simple list of Strings, where each is one suggested idea.No further filtering mechanisms are applied to the suggested items, only a minor quality control is realized: duplicate suggestions and identical responses to the base word are removed.More sophisticated mechanisms like ontology filtering however are considered for future works.This also applies to the ranking of recommendations.At the current implementation, the ranking is the same as provided by the SPARQL endpoints.A re-ranking feature customized by our component is also part of our plans for future works.Directions

Realization through Idea Trigger Portal
Ideatrigger is a portal application built on Liferay9 and integrated with mx-Graph10 , which is a JavaScript library using built-in browser capability to provide an interactive drawing and diagramming solution.As shown in [Fig.5], it includes five portlets: 1. Session management portlet.This portlet is responsible for session management.When a new user joins, (s)he can either create a new session or connect to an existing session.Each session has an independent idea graph; users connecting to the same session can work together.

Creativity technique portlet.
This portlet is responsible for getting statements from the selected creativity techniques, which are stored in a topic map on the server.
3. Recommendation portlet.The recommendation portlet is responsible for search related elements from third party semantic data resources using a SPARQL query.The user needs to select one idea in IdeaEditorPortlet, which is then used to compose the SPARQL query.
4. Idea editor portlet.This portlet is the most frequently used portlet, which applies mxGraph JavaScript library to provide drawing functionality.All the ideas generated are placed in this portlet.Users can select which idea they want to use as the parent idea, which is used to compose SPARQL query.
5. Sketch editor portlet.This portlet is responsible for the idea demonstration.Users can illustrate their ideas with drawings in the SketchEditorPortlet.It is also built with the mxGraph JavaScript library.

Evaluation Study
In the evaluation study we examine our proposed approach for strengths and weaknesses.To evaluate it we have performed a case study in the domain of creativity within the Ideatrigger portal as implemented and described above.
The goal of the evaluation was to examine whether the recommendations indeed support the creativity process.Besides we evaluated the performance of recommendations itself in recommend relevant ideas.

Evaluation Methodology
In order to evaluate the efficiency of the recommendations in supporting the idea generation process, we compared the performance of group of users generating ideas with and without the support of recommendations.In total, 24 participants mostly students of the Computer Science Department11 at Aalborg University in Denmark took part of the experiment.We decided to work with participants of the age range 20-25, with similar background level although knowing that this is never guaranteed.This arrangement was made to minimize that one group was favoured over the others even before the experiment.
The participants were distributed equally along 6 groups called A, B, C, D, E and F and inquired to solve an unusual task of general domain.We defined groups A, B and C as control groups and therefore had to solve the task without the support of the recommendations, while the test groups D, E and F solved the tasks with the support of the recommendations.Groups who used the system without recommendations did not repeat the evaluation with the support of recommendations to avoid that they could have improved on the performance in the second time.Furthermore, the participants were not allowed to use other resources such as the Internet or books, when looking for inspiration for new ideas.
The participants have been asked to generate ideas in a domain, which is different from their day life activities.This was to ensure that they are not restricted by preconditions of the domain learned as part of their expertise to see their creativity even in a short period of time.The task was "To tame a wild animal " (see [Section 8.1]).No time restriction was established so that the participants could use their creativity without any sort of pressure.The groups were monitored to assure that the tool was correctly used and the creativity technique was followed methodologically correct.
After ending the task, each group was requested to explain the final diagram in order to assure that the ideas followed a logic sense and were not arbitrarily chosen.In a sequence, the group members were interviewed about the obstacles faced during the experiment and asked for improvements of the tool.Finally, we computed and compared the performance of the groups in order to judge whether the recommendations have contributed for the creativity process.The evaluation assessment as well as the obtained results are presented in the following sections.

Evaluation Assessment
The evaluation assessment was twofold: -Analysis and comparison of final diagrams between the control groups A, B and C against the test groups D, E and F. This evaluation was based on a empirical observation on how the diagrams were built and quality of the final product.We judged the originality of the whole story, the creativity in correlating ideas, the objectiveness to solve the task and the amount of ideas created by each group.
-Performance analysis of the recommendations in suggesting new ideas to support the creativity process.For this assessment, only the test groups D, E and F were considered.The recommendations' performance was measured by group satisfaction on the received recommendations and the results were expressed in terms of precision and recall.

Analysis of diagrams created by groups
In total 136 ideas were created along all groups, being 106 user generated and 30 retrieved from the recommendations by the system.As illustrated in [Table 2], groups A, B and C created their diagrams with 18, 18 and 19 ideas respectively, whereas groups D, E and F created their diagrams with 23, 26 and 29 ideas respectively.Importantly, we observe that 49% (on average) of ideas created from groups D, E and F were retrieved from the recommendations.This percentage shows the active role of recommendations during the idea generation process.An important observation from the group dynamics in the experiment is that groups D and F asked for recommendation if the group members had no idea in mind whereas group E asked for recommendations arbitrarily.This observation sounds as a subject of research for future work on how the recommendations should be considered in the 5W1H methodology.It is important to state that not all ideas in the diagram were queried for recommendations since there was no requirement for that in the experiment.All groups managed to find a reasonable solution for the given task.To explain briefly, group A decided to tame a Tiger by giving milk and meat.Group B chose to tame a crocodile by giving it a chicken.Group C wanted to tame a Camel by giving it some rest and using it only for tourist riding.Group D went for taming monkeys with bananas.Group E decided to tame a Spider by feeding it with insects and bugs in his natural habitat.Finally group F opted for taming a cub jaguar by an expert aiming at security.The average time to carry out the task was 15 minutes for the control groups and 20 minutes for the test groups.This difference was due to the need of analysing the ideas suggested from the recommendations.In summary, we judged all groups objectives in the task with plus or minus detail.[Table 3] presents a overview of the amount of ideas per group.
[Table 3] shows the ideas created by each group on the way to solve the task.Although the test groups share some ideas with the control group, we observed the use of technical and scientific terms by groups D, E and F. For instance, the third idea at group D, "Eukaryote" was a taxonomic idea added to the diagram in order specify which kind of animals was being considered.Major attention to group E which utilized a number of scientific terms for Spiders such as "Chelicerata", "Arachnida" and "Tarantulas".When later questioned about such an inspiration, the group participants admitted that they were retrieved from the semantic recommendations.From a semantic web perspective, it seems that the participants of group E found a specific ontology about Spiders on the Web.

Performance of Recommendations
We qualitatively and quantitatively evaluated the performance of the recommendation in supporting the idea generation process.The qualitative assessment was based on the group satisfaction expressed by their ratings and opinions on the received recommendations whereas a quantitative analysis (expressed in terms of precision and recall [Baeza-Yates and Ribeiro-Neto [1999]]) analysed the efficiency of recommendations in suggesting relevant ideas that eventually help the groups to solve their tasks.

Qualitative Assessment
Participants of groups D, E, F were requested to rate the set of recommendations utilized during the solution of the task.The recommendation process is detailed in [Section 5].The ratings ranged from 1 to 5, where 1 signifies that the recommendations were completely irrelevant to an observed idea and 5 means that the set of recommendations were very relevant to an observed idea in the current diagram.Additionally, we collected the comments/opinions on the given ratings in order to collect further feelings unable to be expressed through the ratings.4], on average 55,9% of the recommendations were rated with highest ratings (4-5) whereas 44,1% of them were rated with the lowest values (1-2-3).This result is evidenced when we look at each group individually.The overall outcome shows that the participants were satisfied with the set of recommendations during the idea generation process.
The justification for such ratings was reflected in the participants' comments.In general, the recommendations that received high ratings express the satisfaction of the participants by receiving help from the system.On the other hand, the negative comments were mainly due to the fact that the recommendations do not consider the other ideas in the diagram.Below, we present three examples of positive and negative comments respectively.
Examples of negative comments on the recommendations: -"Some suggested ideas were completely disconnected to the current diagram.".
-"...some recommendations did not consider the previous ideas in the diagram.".These numbers indicate that the recommendations indeed provide relevant suggestions for a given queried idea and interrogative.Although the recall was only fair, we consider this as promising result given that usually the group participants never pick many recommendations at once.The F-measure results show the mean performance of recommendation, which is currently sufficient but the recall should be improved.A valuable consideration is to recall that the recommendations supported not only the based work (i.e.idea in the diagram) but also the interrogative of the creativity technique.This means that the recommendations actually depend on the interrogative entry.

Interview with the groups
After creating the diagrams, the groups were interviewed about the dynamics of the experiments, the problems they faced and what could be improved.Each group was interviewed after finishing their tasks.All groups responded to a common questionnaire about potential problems that they had encountered while solving the task.Groups A, B and C also responded on how the generation of ideas could be supported by the ideaTrigger tool, whereas the groups D, E, and F responded how the recommendations contributed the group during the creativity process.
-Question 1: Which problems did your group encounter while creating the ideas to solve the task?Most of the problems shared by the three groups were related to the lack of background to solve such an unusual task.The users claimed that at some point the group got stuck and it took a while until new ideas come out.They also reported the willingness to consult articles related to the task theme in order to gather more ideas when they were stuck.
-Question 2: How could the generation of ideas be supported by the ideaTrigger tool?Participants of Group A suggested that a introductory video or article should be provided in order to inspire the "ideation" process.Group B and C proposed candidate ideas could be suggested by tool from a recommendation mechanism.Further, such recommendations should consider the history of ideas created in order to generate ideas with the context of the story line.
All groups suggested that previous diagrams should be recalled as a matter of comparison with the currently developed diagram.
-Question 3: How did the recommendations contribute with your group during the creativity process?First, it is important to state that all groups approved the use of recommendation during the idea generation process.Participants of groups D noted that many of the recommended ideas had a taxonomic relation to the current ideas in the diagram.This improved the quality of the final diagram by adding more specialized terms.Groups E and F said that the recommendations were crucial for the moments while they were stuck with no idea in mind.Further they stated that 60% of recommended items have not been thought by the group members.Although the recommendations were seen as a positive resource to the Ideatrigger portal, some of them disregarded the previously created ideas in the diagram and therefore were out of context and could not be utilized.
Further investigation with the participants revealed that the recommendations play a very important role not only in finding new ideas but also inspiring on other ideas.We discovered another advantage of the mechanism: guidance.Even though users do not use the ideas recommended, they could lead users to take a particular direction.

Points of Improvement
Although the experiment showed preliminary results which are promising, more complex SPARQL queries can be applied by considering the history of ideas created.At the present approach, a single entity is considered.Another point of improvement is to consider the domain of the task in order to constraint the recommendation by the context which is being issued.This issue was motivated by some participants who argued that some of the suggested ideas did not relate to the performed task.Furthermore, a filtering and ranking system must be considered for future improvements.Directions includes, contextual ranking where there recommended ideas analyse the similarity with all existing ideas in the diagram or a personalized ranking where the ranking considers individual user generated ideas.

Conclusion and Future Works
This paper demonstrates how open linked data can be applied to provide recommendations in collaborative real time editing.It describes a solution for close to real time propagation of changes in both, editing (idea generation) and recommendation.The experiment was performed to reveal how recommendations from external sources can assist users during the creative process.Our study showed that Idea Trigger tool supported with the recommendations can be useful by helping users to discover new ides and inspire them to create new ideas.As future work, it is intended to improve the recommendations taking into account the further attributes of the context such as the history of ideas and perform improvements on the ranking of recommendations.

Figure 1 :
Figure 1: Outline of the centralized client/server architecture.

Figure 2 :
Figure 2: Sequence diagram showing the comet technique.

Figure 3 :
Figure 3: Observer pattern applied to the sketch editor.

Table 1 :
Bizer et al. [2009]]].Mapping between 5W1H interrogatives and intended ontology properties idea and clicking on a recommendation button), the statement suggestion component translates the creativity technique's statement into a list of search words.Such translation works through a mapping mechanism (see[Tab.1])that maps 5W1H interrogatives to intended ontology properties.The goal of this mapping is to translate the creativity interrogatives into computable statements,

Table 2 :
Overview of Ideas per Group

Table 3 :
Overview of Ideas per Group

Table 4 :
Overview of Recommendation Ratings per Group

Table 5 :
Mean of Precision, Recall and F-Measure