Keywords

1 Introduction

George Siemens discussed in his article “Connectivism: A Learning Theory for the Digital Age” [1] how current learning theories have become influenced and limited by the rapid advancements in human technology. The increasing integration of information technology (IT) in production phases of nearly every industry section leads to a growing complexity of corresponding working processes. Consequently, employees have to update their knowledge and skills on a regular basis. Facing the challenges of the up-coming fourth Industrial Revolution (“Industry 4.0”), a user-centered, just-in-time, on-demand and extra-occupational lifelong learning procedure is needed [2].

At the same time, the Web 2.0 credo of so-called “prosumers” - people being consumer and producer of content - plus technologies like social networks, forums and blogs furnish a huge amount of data each day, which results in an information overload. Individuals are no longer capable of independently filtering and converting all available information into required knowledge. According to the statement “collecting knowledge through collecting people” by Karen Stephenson [3], Connectivism theory views the learning process as networking with other people having specific knowledge in order to exchange required information. For acquiring new knowledge, know-where is more important than know-what and know-how: “the pipe is more important than the content within the pipe” [1].

The Open University of Netherlands have done research in this field and developed a solution [4] that finds fitting peer tutors concerning a given question of a user and connects the participants on a wiki page in order to find a solution collaboratively. For this, the underlying algorithm analyzes:

  • thematic competence that takes into consideration if the user has successfully finished any question-related courses within the learning environment, the time expired since completion, and the whole study time of that course(s);

  • tutor competence that is derived from activity within the system and ratings of given answers;

  • eligibility that gives an evaluation of the similarity according expertise and knowledge background of the learners;

  • and availability that depends on the workload of a user taking into account the number of past participations in answering questions.

This approach is characterized by some major deficits that don’t fulfill the previously mentioned demand of a user-centered lifelong learning procedure. Individual preferences according specific situations (learning, authoring, tutoring, etc.), learner types, social connections and more are not considered here. Furthermore, it’s just an indirect type of asynchronous, text-based communication via a wiki page. Both synchronous communication methods and different transmission data like audio and video are not part of the above concept.

Consequently, we introduce a solution that overcomes these deficits. Required background information according basic models are given in the following Sect. 2. Subsequently, the algorithm is depicted and afterwards a prototype in terms of a live chat tool will be presented. The last chapter summarizes the outcomes of this contribution and gives an outlook for future work.

2 Basic Models

This contribution presents an approach that supports the essential tasks of Connectivism by automatically connecting users of a social learning environment who are familiar to a specific topic in so-called “Connectivist Context-Aware Communication (Co3) Channels”. For this, the fundamental understanding of contents, users, context respectively context-awareness and communication channels are clarified in the following sections.

2.1 Content Model

Based on the ideas of [5], a hierarchically structured content model is used to depict semantically linked learning materials (Fig. 1). At the lowest level, an object consists of one content (text, audio, video, etc.) and a set of descriptive keywords. One level higher, an ordered list of objects and a set of comprehensive topics form a unit. Finally, at least one unit and a set of overall learning objectives are the basis for one module, which is also described by all keywords attached to the included units and objects.

Fig. 1.
figure 1

Content diagram

In the derived mathematical model there’re sets of IDs (encoded as natural numbers) for contents CONS (Eq. 1), objects OBJS (Eq. 2), units UNIS (Eq. 3) and modules MODS (Eq. 4), as well as keywords KEYS (Eq. 5). Thus, a single object Obj (Eq. 6), unit Uni (Eq. 7) and module Mod (Eq. 8) are depicted by 5-tuples including an ID, one content ID (in case it’s an object) respectively a tuple of object IDs (in case it’s a unit) or a tuple of unit IDs (in case it’s a module), a set of predecessors and successors, and a set of keywords. Consequently, learning modules are described by an ordered list of units, that in turn consists of ordered lists of objects. In this way, learning paths are modeled.

$$\begin{aligned} CONS&= \left\{ c \in \mathbb {N} \left| \begin{array}{c} \text {c is content ID}\end{array}\right. \right\} \end{aligned}$$
(1)
$$\begin{aligned} OBJS&= \left\{ o \in \mathbb {N} \left| \begin{array}{c} \text {o is object ID} \end{array}\right. \right\} \end{aligned}$$
(2)
$$\begin{aligned} UNIS&= \left\{ u \in \mathbb {N} \left| \begin{array}{c} \text {u is unit ID} \end{array}\right. \right\} \end{aligned}$$
(3)
$$\begin{aligned} MODS&= \left\{ m \in \mathbb {N} \left| \begin{array}{c} \text {m is module ID} \end{array}\right. \right\} \end{aligned}$$
(4)
$$\begin{aligned} KEYS&= \left\{ k \in \mathbb {N} \left| \begin{array}{c} \text {k is keyword ID} \end{array}\right. \right\} \end{aligned}$$
(5)
$$\begin{aligned} Obj =\,&(o, c, PREO, SUCO, KEYO | \\&o \in OBJS \text {, object ID} \nonumber \\&c \in CONS \text {, content ID} \nonumber \\&PREO \subseteq OBJS \text {, predecessor objects} \nonumber \\&SUCO \subseteq OBJS \text {, successor objects} \nonumber \\&KEYO \subseteq KEYS \text {, object's keywords}) \nonumber \end{aligned}$$
(6)
$$\begin{aligned} Uni =\,&(u, (o_r), PREU, SUCU, KEYU | \\&u \in UNIS \text {, unit ID} \nonumber \\&o_r \in OBJS, r \in \mathbb {N} \text {, object IDs} \nonumber \\&PREU \subseteq UNIS \text {, predecessor units} \nonumber \\&SUCU \subseteq UNIS \text {, successor units} \nonumber \\&KEYU \subseteq KEYS \text {, unit's keywords}) \nonumber \end{aligned}$$
(7)
$$\begin{aligned} Mod =\,&(m, (u_s), PREM, SUCM, KEYM | \\&m \in MODS \text {, module ID} \nonumber \\&u_s \in UNIS, s \in \mathbb {N} \text {, unit IDs} \nonumber \\&PREM \subseteq MODS \text {, predecessor modules} \nonumber \\&SUCM \subseteq MODS \text {, successor modules} \nonumber \\&KEYM \subseteq KEYS \text {, module's keywords}) \nonumber \end{aligned}$$
(8)

2.2 Context and Context-Awareness

Abowd et al. name a system context-aware “if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task” [6]. Furthermore, the authors describe context in terms of two general categories: primary and secondary context information. The first one includes four basic information that are required to clearly describe a situation: identity (Who?), location (Where?), activity (What?), and time (When?). Secondary context information includes all other information about entities and the situation that can be derived from primary ones, for example getting a telephone number by looking up a name (identity) in a directory. Our derived definition of context \(C_e\) (Eq. 9) includes all primary and secondary information of an entity e as an ordered list regarding a specific time.

$$\begin{aligned}&C_{e}(t) = C_{e} = \left( C_1, \ldots , C_n \right) \\ \forall c \,\in \,&C_j \in C_{e}, j=1 \ldots n: c \in \mathbb {N} \nonumber \end{aligned}$$
(9)

Each information is modeled as a set or a tuple \(C_j\), which encodes the information as natural numbers. For instance, the location of an entity could be described by longitude and latitude given as a decimal number in degree which in turn could be represented as a natural number by separating mantissa and exponent.

2.3 User Model

In analogy to the content model, the set USRS (Eq. 10) consists of all existing user IDs. A single user Usr is described by a 2-tuple including a user ID (Who?) and context information (Eq. 11). The latter one is composed of different user data (Eq. 12):

  • \(C_{Sit}\): situation including current activity (What?) and cyber location (Where?);

  • \(C_{His}\): last consumed learning objects;

  • \(C_{Mod}\): progress, time, and evaluation of registered learning modules;

  • \(C_{Exp}\): experiences and skills;

  • \(C_{Int}\): general interests;

  • \(C_{Tar}\): specific learning targets;

  • \(C_{Rat}\): general activity rating within the learning environment;

  • \(C_{Rev}\): community reviews of given answers;

  • \(C_{Lan}\): spoken languages;

  • \(C_{Rol}\): activity ratings of specific learning objects regarding different roles;

  • \(C_{Soc}\): social connections within the learning environment;

  • \(C_{Com}\): preferred communication types.

$$\begin{aligned} USRS&= \left\{ u \in \mathbb {N} \left| \begin{array}{c} \text {u is user ID} \end{array}\right. \right\} \end{aligned}$$
(10)
$$\begin{aligned} Usr&= \left( u, C_{u} \left| \begin{array}{c} u \in USRS \text {, user ID} \\ C_{u} \text {, user's context} \end{array}\right. \right) \end{aligned}$$
(11)
$$\begin{aligned} C_u =\,&(C_{Sit}, C_{His}, C_{Mod}, C_{Exp}, C_{Int}, C_{Tar},\nonumber \\&C_{Rat}, C_{Rev}, C_{Lan}, C_{Rol}, C_{Soc}, C_{Com}) \end{aligned}$$
(12)

2.4 Communication Channel Model

Following Shannon’s mathematical theory of communication [7], a simplified model is derived. A communication channel is a 2-tuple Co (Eq. 13) that includes a set of participating entities ENT (Eq. 14) and a set of the connections LINK (Eq. 15) between them. In analogy to the term “nodes” that is used in Connectivism [1], an entity could be a user but also non-human things like a database or a software agent.

$$\begin{aligned}&Co = \left( ENT, LINK\right) \left| \begin{array}{c} \forall e_i,e_j \in ENT: \\ \exists (e_i,e_j) \in LINK \wedge \exists (e_j,e_i) \in LINK \end{array}\right. \end{aligned}$$
(13)
$$\begin{aligned}&ENT \subseteq \left\{ e \in \mathbb {N} \left| \begin{array}{c} \forall e_i, e_j \in ENT: e_i \ne e_j \wedge i \ne j \end{array}\right. \right\} \\&\vert ENT \vert \ge 2 \Longrightarrow ENT \ne \emptyset \nonumber \end{aligned}$$
(14)
$$\begin{aligned}&LINK \subseteq \left\{ (u,v) \left| \begin{array}{c} u,v \in ENT, u \ne v \end{array} \right\} \right. \\&\vert LINK \vert \ge 2 \Longrightarrow LINK \ne \emptyset \nonumber \end{aligned}$$
(15)

All entities are connected to each other in order to exchange information in duplex mode in a directed, connected graph. One example of such a communication channel are public online chats like Chatting.com [8]. Each user of the service is connected to each other and can share textual information.

2.5 Co3 Channel Model

Based on the above definitions and taking into account the specific requirements of Connectivism theory that were explained in the first chapter, so-called “Connectivist, Context-Aware Communication (Co3) Channels” connect entities within a communication network in order to support individual learning processes.

As an extension of a regular communication channel Co (Sect. 2.4), a \(\textit{Co}^\textit{3}\) channel (Eq. 16) is a 3-tuple including a set \(\textit{ENT}^{C}\) (Eq. 17) of participating entities e plus attached context information \(C_{e}\), a set LINK of connections between them (Eq. 18), and a membership function \(\omega \) (Eq. 19) that determines if an entity is included in \(\textit{ENT}^{C}\).

$$\begin{aligned}&Co^3 = \left( {ENT^C}, LINK, {\omega }\right) \left| \begin{array}{c} \forall (u, C_u), (v, C_v) \in ENT^C: \\ \exists (u,v) \in LINK \wedge \exists (v,u) \in LINK \end{array}\right. \end{aligned}$$
(16)
$$\begin{aligned}&ENT^{C} \subseteq \left\{ {(e, C_e)} \left| \begin{array}{c} \forall u, v \in ENT^C: \\ u \ne v \wedge C_{u} \ne C_{v} \end{array}\right. \right\} \\&ENT^C \ne \emptyset , \vert ENT^C \vert \ge 2 \nonumber \end{aligned}$$
(17)
$$\begin{aligned}&LINK \subseteq \left\{ (u,v) \left| \begin{array}{c} u,v \in ENT, u \ne v \end{array} \right\} \right. \\&LINK \ne \emptyset , \vert LINK \vert \ge 2 \nonumber \end{aligned}$$
(18)
$$\begin{aligned}&\omega (C_{e}): C_{e} \longmapsto \left[ 0, 1 \right] \\&\forall (e, C_e) \in ENT^C: \omega (C_e) > 0 \nonumber \end{aligned}$$
(19)

In contrast to classical sets, \(\textit{ENT}^{C}\) is a fuzzy set, because \(\omega \) calculates a degree (a real number in the interval from 0 to 1) of belonging to this set for each entity. Here, \(\textit{ENT}^{C}\) is called a “Connectivist Communication Network (CCN)” [9]. The presented approach by van Rosmalen et al. [4] is one solution to build a CCN. In the following chapter, a new one is introduced.

3 Peer Finding Algorithm for Co3 Channels

For connecting entities within CCNs, this chapter presents the individual components of the membership function \(\omega \). Although, there’re a lot of use cases in learning environments for such a solution [10], this contribution focuses on a peer finding strategy that overcome the mentioned disadvantages of the solution by van Rosmalen et al. [4].

The function \(\omega \) in Eq. 20 calculates for every individual within a learning network a value between 0 and 1 by dividing every value by the maximum (Eq. 21). The result represents a kind of helpfulness probability. The higher this value is the higher the probability is that this user might help the person asking for peer support. For this, different context information of the network participants are considered in the individual evaluations of four major categories (Eq. 22) that are depicted in the following sections.

$$\begin{aligned} \omega (C_u) = \frac{\omega '(C_u)}{\omega '_{MAX}} \end{aligned}$$
(20)
$$\begin{aligned} \omega '_{MAX}&= \omega '(C_a) \Longleftrightarrow (a, C_a) \in ENT^C \wedge \\ \nonumber&\forall (b, C_b) \in ENT^C : \omega '(C_b) \le \omega '(C_a) \end{aligned}$$
(21)
$$\begin{aligned} \omega '(C_u) = \omega '_{ThCo}(C_u) + \omega '_{TuCo}(C_u) + \omega '_{ThRe}(C_u) + \omega '_{SeRe}(C_u) \end{aligned}$$
(22)

3.1 Thematic Competence

Similar to the described approach by van Rosmalen et al. [4], the evaluation of the thematic competence of a user is one aspect of the membership function. Based on the introduced content model (Sect. 2.1), a person seeking for help can directly initialize the Co3 channel while consuming a specific learning object o. Then, the thematic competence of each user u will be evaluated using Eq. 23. The first part of the formula checks if the learning object o, which is the basis of the seeker’s question, has already visited by the user. In other words, it’s determined if o is part of the history \(C_{His}\) (Eq. 25) by using the helping function \(\textit{f}_{incl}\) (Eq. 24). This returns 1 if it’s included, 0 else. Any longer, the learner’s registered modules \(C_{Mod}\) (Eq. 26) are analyzed. Here, the individual progress (between 0 and 100), totally spent time (stated in hours) and evaluation grade (between 0 and 100) are summed. The time being absent from learning the content (stated in months) is subtracted.

(23)
$$\begin{aligned} f_{incl}(M, N)&= {\left\{ \begin{array}{ll} 1: \exists x \in M \wedge \exists y \in N \wedge x=y \\ 0: else. \end{array}\right. } \end{aligned}$$
(24)
$$\begin{aligned} C_{His}&= \left\{ h \in OBJS \left| \begin{array}{c} \text {h is an object ID, u visited} \end{array}\right. \right\} \end{aligned}$$
(25)
$$\begin{aligned} C_{Mod}&= \left( m_n, p_n, t_n, a_n, e_n \left| \begin{array}{c} m \in MODS \text {, module ID} \\ \text {p : progress of module m} \\ \text {t : time spent for module m} \\ \text {a : time absent from module m} \\ \text {e : evaluation grade of module m} \\ p, t, a, e, n \in \mathbb {N} \end{array}\right. \right) \end{aligned}$$
(26)

Only modules that include the object o are considered. For this, \(\textit{f}_{incl}\) checks if o is included in the set OBJ(m) (Eq. 27) that consists of all objects that are part of module m’s units. As a third component of this category, individual experiences \(C_{Exp}\) (Eq. 29) given as keywords are taken into account by comparing them with all keywords KEYS(m) (Eq. 28) that describe a module, also including keywords of attached units and objects.

$$\begin{aligned} OBJ(m)&= \left\{ o \in OBJS \left| \begin{array}{c} o \in Uni_2 \wedge u = Uni_1 \wedge \\ u \in Mod_2 \wedge m = Mod_1 \end{array}\right. \right\} \end{aligned}$$
(27)
$$\begin{aligned} KEYS(m)&= KEYM \bigcup _{i=0}^s KEYU_i \bigcup _{j=0}^r KEYO_j \\ \nonumber&\Leftrightarrow \begin{array}{c} m = Mod_1 \wedge KEYM = Mod_5 \wedge \\ Uni_1 \in Mod_2 \wedge KEYU_i = Uni_5 \wedge \\ Obj_1 \in Uni_2 \wedge KEYO_j = Obj_5 \end{array} \end{aligned}$$
(28)
$$\begin{aligned} C_{Exp}&= \left\{ e \in KEYS \left| \begin{array}{c} \text {e is keyword ID of an experience of u} \end{array}\right. \right\} \end{aligned}$$
(29)

3.2 Thematic Relation

In contrast to the approach by van Rosmalen et al. [4], our algorithm not only takes into account the thematic competence, but also user’s interest about the content. We assume a higher intrinsic motivation to help, because both learners share a common desire.

According to the general distinction between coarse- and fine-grained objectives during learning processes [11], user’s general interests \(C_{Int}\) (Eq. 31) and specific learning targets \(C_{Tar}\) (Eq. 32) are analyzed by doing a keyword matching (Eq. 30). For this, the set of keywords KEYO that describe the object o are used.

$$\begin{aligned} \omega '_{ThRe}(C_u, KEYO)&= \alpha _{Int} * f_{incl}\Big (C_{Int},KEYO\Big ) \\ \nonumber&+ \alpha _{Tar} * f_{incl}\Big (C_{Tar},KEYO\Big ) \end{aligned}$$
(30)
$$\begin{aligned} C_{Int} = \left\{ i \in KEYS \left| \begin{array}{c} \text {i is keyword ID of an interest of u} \end{array}\right. \right\} \end{aligned}$$
(31)
$$\begin{aligned} C_{Tar} = \left\{ t \in KEYS \left| \begin{array}{c} \text {t is keyword ID of a target of u} \end{array}\right. \right\} \end{aligned}$$
(32)

3.3 Tutor Competence

In analogy to the concept by van Rosmalen et al. [4], user’s tutor competence (Eq. 33) is evaluated by an activity rating \(C_{Rat}\) (Eq. 34) plus a reviews rating \(C_{Rev}\) (Eq. 35). While the former one is determined by specific points for different interactions with the learning system (for example being online, editing content, sharing materials, etc.), the latter one is based on a crowd ranking for previously given answers within CCNs.

$$\begin{aligned} \omega '_{TuCo}(C_u) = \alpha _{Rat}*C_{Rat} + \alpha _{Rev}*C_{Rev} \end{aligned}$$
(33)
$$\begin{aligned} C_{Rat}&= \left\{ a \in \mathbb {N} \left| \begin{array}{c} \text {a is general activity rating of u} \end{array}\right. \right\} \end{aligned}$$
(34)
$$\begin{aligned} C_{Rev}&= \left\{ r \in \mathbb {N} \left| \begin{array}{c} \text {r is review rating of given answers} \end{array}\right. \right\} \end{aligned}$$
(35)

3.4 Seeker Relation

The major difference between our solution and the approach by van Rosmalen et al. [4] is the consideration of individual preferences of the seeker who is asking for help. For this, the evaluation function (Eq. 36) gets additional context information \(C_{S}\) (Eq. 37) of the seeker.

(36)
$$\begin{aligned} C_S = \Big (\left\{ l_s\right\} , (r_{au}, r_{tu}, r_{as}), u_s, \left\{ c_s\right\} , lo_s, ac_s, on_s\Big ) \end{aligned}$$
(37)

This tuple includes the following data:

  • \(\{l_s\}\): a set of languages that are preferred by the seeker;

  • ( \(r_{au}, r_{tu}, r_{as}\) ): a tuple including preferred roles (for example: (1, 0, 1) means that the seeker prefers authors and assessors);

  • \(u_{s}\): the seeker’s user ID to check social connection;

  • \(\{c_s\}\): preferred communication types;

  • \(lo_{s}\): current cyber location of the seeker;

  • \(ac_{s}\): preferred activity of the user;

  • \(on_{s}\): preferred online status of the user (0 – offline, 1 – online).

At first, speech comprehension is validated by comparing the preferred languages \(l_{s}\)of the seeker with all languages \(\textit{C}_{Lan}\) (Eq. 38) that are spoken by user u. If the seeker only wants specific user roles to join, \(\textit{C}_{Rol}\) (Eq. 39) of the user is analyzed. Based on a similar approach like for evaluating tutor competence (Sect. 3.3), a user gets a rating for author, tutor and assessment activity concerning every learning object.

$$\begin{aligned} C_{Lan}&= \left\{ l \in \mathbb {N} \left| \begin{array}{c} \text {l is language ID, u speaks} \end{array}\right. \right\} \end{aligned}$$
(38)
$$\begin{aligned} C_{Rol}&= \left( o_m, au_m, tu_m, as_m \left| \begin{array}{c} o \in OBJS \text {, object ID} \\ \text {au : author rating regarding o} \\ \text {tu : tutor rating regarding o} \\ \text {as : assessment rating regarding o} \\ au, tu, as, m \in \mathbb {N} \end{array}\right. \right) \end{aligned}$$
(39)

Assuming the seeker only wants to communicate with known people, social connections \(\textit{C}_{Soc}\) (Eq. 40) within the learning environment are analyzed. It’s checked, if the seeker’s user ID \(u_{s}\) is included in the social connections \(\textit{C}_{Soc}\) of the user.

$$\begin{aligned} C_{Soc} = \left\{ s \in USRS \left| \begin{array}{c} \text {s is user ID, connected with u} \end{array}\right. \right\} \end{aligned}$$
(40)

Based on the selected communication type of the Co3 channel (Fig. 2) only users who also prefer this type are selected (\(\textit{C}_{Com}\), Eq. 41).

$$\begin{aligned} C_{Com} = \left\{ c \in \mathbb {N} \left| \begin{array}{c} \text {c is communication type ID, preferred by u} \end{array}\right. \right\} \end{aligned}$$
(41)
Fig. 2.
figure 2

Different communication types

Fig. 3.
figure 3

Weight parameters based on an empirical study

In addition, the current situation \(\textit{C}_{Sit}\) (Eq. 42) of the user might play an important role. This includes the current location of the user represented as the underlying content (cyber location), the current activity (for example reading or editing the content) and the current online status (online or offline).

$$\begin{aligned} C_{Sit} = \left( t, lo, ac, on \left| \begin{array}{c} t \in \mathbb {N} \text {, timestamp} \\ lo \in CONS \text {, location of u at t} \\ ac \in \mathbb {N} \text {, activity ID of u at t} \\ on \in \left\{ 0, 1\right\} \text {, online status of u at t} \end{array}\right. \right) \end{aligned}$$
(42)

3.5 Weight Parameters

Each of the presented evaluation functions \(\omega '\) includes weight parameters \(\alpha \) that are necessary to balance the membership function \(\omega \). In order to determine these values, an empirical study was carried out in terms of a questionnaire asking about the importance of different points regarding computer-supported collaborative work/learning (CSCW/L) in peer networks. Each element was rated by over 700 participants on a scale from 0 (“unimportant” or “not true at all”) to 5 (“very important” or “very true”). As a result, Fig. 3 reveals derived values for the weight parameters. While the progress and evaluation of a related learning module, as well as the user’s role regarding a specific content were evaluated as rather unimportant, besides to a same language level the current situation of users, especially concerning interests and targets, play the most important roles.

4 Live Chat Prototype

Based on the introduced mathematical model, a first prototype was realized in terms of a live chat tool [9, 10] that is fully embedded into the web 3.0 teaching and learning environment Wiki-Learnia [12]. If a user has a problem regarding the underlying content, a live chat can be initialized by clicking on “Dynamic Chat” in the help menu (upper screenshot in Fig. 4).

Fig. 4.
figure 4

Live chat prototype

Subsequently, a pop-up window appears in which the seeker can check different options:

  • friends-only: add users being in seeker’s social connections;

  • authors-only: add users who were active as author regarding this object;

  • tutors-only: add users who were active as tutor regarding this object;

  • assessors-only: add users who were active as assessor regarding this object;

After defining the target audience (default: all), the peer finding algorithm is executed. According the current situation of a user (\(\textit{C}_{Sit}\)), online users being on the same content page and doing the same activity (either reading or editing the content) are invited by the tool. The algorithm doesn’t evaluate the workload of a user like it’s done by van Rosmalen et al. [4]. Every user can decide for themselves to join the live chat (middle screenshot in Fig. 4). If the invitation is accepted, a chat pop-up window appears on the current page. Given answers can be rated by the chat participants (lower screenshot in Fig. 4). At the end, the question of the seeker plus the highest ranked answer are automatically attached to a frequently asked questions (FAQ) section under the corresponding content.

5 Summary and Outlook

As an extension of the existing approach by van Rosmalen et al. [4], a user-centered model for finding and connecting people within CCNs was introduced. The abstract mathematical model allows several practical realizations of the idea, which is independent of the communication type. Indeed, a live chat tool was implemented as a first prototype of the concept, that will be tested with about 200 participants of the Junior Studies project [13] at the University of Rostock in Winter 2017. While the solution by van Rosmalen et al. [4] only considers an asynchronous communication via a wiki page, our model supports all possible ways of information exchanges within social learning environments.

Since everybody has own preferences according the weights of each part of the algorithm, a machine learning approach should be included that automatically adapt the \(\alpha \) values for every user. Furthermore, a dynamic variant of Co3 channels will be developed. By means of latent semantic analysis mechanisms, the solution will react to changing discussion topics within the communication channel.