## 5 The Proposed KM MCC Platform
### Mobile Application
#### 5.3.3. Cloud Backend as a Service
This feature in Azure enables machine learning solutions to easily build, deploy, and share predictive analytics, being very useful for this particular KM platform as a tool to improve the knowledge and information management process. From the construction industry's perspective, this automation reduces the time that professionals have to spend searching for relevant information. Content-based Recommender Systems provide recommendations to users based on comparing items or products to the items that a user showed interest in. A user profile in these systems represents explanations of product characteristics that the user chose before. These explanations are illustrated by a set of characteristics or features describing the products in a user profile. The act of producing recommendations usually includes comparing features of items unseen or unrated by the user with his or her profile content description. The items that are similar enough to the user's profile are recommended to him or her [83]. Many Recommender Systems are centered around the use of various machine learning and data mining algorithms to predict user evaluations for items, or for learning how to correctly rank items for a user [89]. Figure 10 shows the current version of the cloud-based lesson recommendation system that aims to group the LL available in the system and to map the user's behavior and preferences to such clusters. To achieve such a task, the LL is represented by vectors in a N-dimensional space, where N is the number of features to be considered for their classification. The format of the LL proposed by [PERSON] et al. [57] and used in this cloud-based mobile platform is a mix of structured and unstructured data, which is important to consider in the formation of these vectors. The fields for lessons triggers and disciplines are examples of structured data, as they have to be selected from a list predetermined by the system administrator. These features can be directly represented in a vector. On the other hand, the fields for case description and learning are examples of unstructured data, as they are unrestricted texts that can exhibit the full complexity of natural language [90]. A common approach to dealing with free text fields is to convert the free text to a structured representation. For example, each word may be viewed as an attribute, with a Boolean value indicating whether the word is in the article or with an integer value indicating the number of times the word appears in the text [90]. Nevertheless, at the time of consolidating the attribute space of all lessons, such an approach induces a sparse matrix because words that may be present in one lesson will not necessarily be present in others and the word length of the texts is variable. To reduce this dimensionality, Principal Component Analysis (PCA) can be used [91], resulting in a representation of the free texts that has substantially fewer dimensions and is more sparse than using the whole spectrum of different words present in them. The N-dimensional space will be the sum of the dimensions from the structured data and the unstructured data after PCA. Finally, when the lessons are represented as vectors, they are grouped by similarity using K-mean clustering, which uses an iterative algorithm that minimizes the sum of distances from each object to its cluster centroid, over all clusters. The algorithm moves objects between clusters until the sum cannot be decreased any further [91]. To map the user's preferences to the resulting clusters, the profile of each user is built considering the lessons he or she had written or approved and his or her most read lessons and/or topics. This information allows the scoring of each cluster of lessons. Then, the system recommends unread lessons from all clusters, prioritizing lessons from clusters with the highest scores for that user.