Using LinkedIn Endorsements to Reinforce an Ontology and Machine Learning-Based Recommender System to Improve Professional Skills

: Nowadays, social networks have become highly relevant in the professional ﬁeld, in terms of the possibility of sharing proﬁles, skills and jobs. LinkedIn has become the social network par excellence, owing to its content in professional and training information and where there are also endorsements, which are validations of the skills of users that can be taken into account in the recruitment process, as well as in the recommender system. In order to determine how endorsements inﬂuence Lifelong Learning course recommendations for professional skills development and en-hancement, a new version of our Lifelong Learning course recommendation system is proposed. The recommender system is based on ontology, which allows modelling the data of knowledge areas and job performance sectors to represent professional skills of users obtained from social networks. Machine learning techniques are applied to group entities in the ontology and make predictions of new data. The recommender system has a semantic core, content-based ﬁltering, and heuristics to perform the formative suggestion. In order to validate the data model and test the recommender system, information was obtained from web-based lifelong learning courses and information was collected from LinkedIn professional proﬁles, incorporating the skills endorsements into the user proﬁle. All possible settings of the system were tested. The best result was obtained in the setting based on the spatial clustering algorithm based on the density of noisy applications. An accuracy of 94% and 80% recall was obtained.


Introduction and Related Studies
Employability requirements have changed to address the new realities and challenges faced by organizations. According to [1] cited by [2], in several fields, some discrepancies emerge between employee competences and the labor market. In view of this, professionals must improve and/or develop their competences and skills according to trends in the labor market in order to be competitive. Nowadays, organizations can use different Social Networks Sites (SNSs) to research into candidates [3], as well as to gather information on labor trends so as to adjust academic plans, analyze student profiles and extract their skills, and identify the most desired skills for the purpose of adjusting curricula [4].
In the professional field, LinkedIn has played a very important role in terms of the dissemination of jobs, where, according to the work presented by one of its missions is to match jobs with suitable professionals [5].
To support this process, the Recommender Systems (RSs) have emerged, which collect the information linking users to items and use it to make relevant and meaningful suggestions. By [6] the RSs base the prediction of user interests, according to their explicit or Table 1. Use of ML in recommender systems.

Ref.
Year Objective Filtering Technique ML Technique Metrics [20] 2015 Recommend LLL courses according to common professional interests Collaborative + ML ML supervised Accuracy/Recall [21] 2018 Recommend courses according to academic profile and jobs on offer Collaborative + Content + ML ML supervised Accuracy/Recovery [22] 2019 Recommend exercises based on information regarding academic performance ML ML non-supervised NDCG **, MAE * and F1 *** [23] 2019 Recommend courses to maximize learning based on past performance ML ML by way of support Accuracy/F1 [24] 2019 Recommend consultancy according to academic-industrial research interests ML ML supervised NDCG [25] 2020 Recommend learning resources according to context, taking colleagues' learning into account ML ML non-supervised Accuracy/Recall/F1 MAE *: Mean absolute error; NDCG **: Normalized Discounted Cumulative Gain; F1 ***: Harmonic mean between precision and recall.
In some cases, ML is used in RSs to make inferences about how past actions correspond to future outcomes. [23] applies this technique to predict future performance based on students' academic record in order to re-schedule courses for target course preparation and exam preparation. [24] proposes an RS for different users in academia, using ML to extract information about research areas of interest to professors from publications and curricula, and then combining them with their background to assign courses and research work for supervisory purposes.
Additionally, semantic web techniques have been combined with ML techniques, allowing knowledge to be exploited from available information, updated and new relationships between data inferred [14]. The combination of an ontology-based recommender system with ML techniques has been used as an approach to improve the accuracy of recommendations, in addition to addressing information overload, with a view to solving cold start problems [26].
Based on the above [2], they propose a hybrid RS to suggest lifelong learning (LLL) courses to improve professional competences for users whose profile is built from their LinkedIn profile data. The RS core involves semantic filtering that uses ontology to model employment sectors and areas of knowledge to represent professional competences. The ontology is updated using events based on professional record profile data extracted from LinkedIn, using ML to cluster entities in order to make predictions about the new data. As a line of future work, they recommend considering the use of LinkedIn endorsements to enrich the user profile and thus improve recommendations.
Recently, there have been several research work oriented analyses of data provided by LinkedIn, which in addition to data related to academic and professional training, also highlights endorsements, which is one of the key features of LinkedIn, asking the viewer to endorse a skill for the candidate as proof of their skill level [27].
In a review of relevant literature, we found the research shown in Table 2, related to the use of LinkedIn endorsements. This is highlighted in [4], in which an RS is proposed that classifies profiles according to skills and peer endorsements, identifying the most desired skills that should be covered by curricula and areas of learning, and suggesting possible corrections in learning programs. [32] indicates that in addition to this information, endorsements of the skills of LinkedIn users can be analyzed to complement the profile.
The system proposed by [32] recommends relevant job opportunities for users seeking employment in the area of information technology, based on the curriculum to be entered into the system. In addition, it makes it easy for recruiters to search for the best talent based on job requirements by analyzing not only the resume, but also LinkedIn endorsements, which could improve the user profile.
Based on the above, an improvement in RS of [2] is proposed, incorporating LinkedIn endorsements as an additional system input. These are taken into account in order to validate the skills determined in the RS profiles to improve recommendations.
In literature on the subject, we found some RSs aimed at developing professional skills through a wide range of training. In this respect, the objective of the RSs proposed by [33][34][35] is to identify the professional competencies that users need to develop in their current job, so that they can be taken into account in their training plan.
For [4], along with RSs, the analysis of SNSs data has become a common practice for collection of information about users, since [36], SNSs such as Facebook and LinkedIn have become integrated into everyday life.
Ref. [37] indicates that social media provide innovative pedagogical frameworks for teaching and learning that allow students to develop digital skills deemed useful for a successful professional career. He also points out that semantic social networks offer a series of advantages related to their strategic use, such as the creation of a network of contacts, which can have an impact on their professional development by connecting with professionals and following labor market trends.
As the use of SNSs has increased decade by decade, so has interest in using SNSs in recruitment and hiring processes [3]. In this sense, for [28], LinkedIn is the most influential web tool in terms of professional use, unlike other SNSs such as Facebook or Twitter, which focus on social relationships. In LinkedIn, users have greater visibility in professional terms, as they can share their training, skills and work experience [4].
For [37], LinkedIn focuses on professional networking and career development, designed to help people make connections, share experiences and resumes, and find jobs. It is also a tool that can be used to find relevant, quality content. According to [3], allowing users to provide written recommendations and endorsements of skills that appear on a user's profile, LinkedIn has also introduced endorsements, in which users are asked to endorse the skills of other users [27].
The data contained in SNSs are very diverse [3], and RSs also obtain information from multiple sources; to handle heterogeneity, they have adopted semantic knowledge representation as one of the theories to help deal with this [26].
Based on this review and lending continuity to the RS presented by [2], it is proposed that LinkedIn skills endorsements be incorporated in order to validate the skills obtained in the user profiling stage to optimize performance and prediction of the continuing education course recommendation system. The system uses LinkedIn user records in the area of software development.
This article is structured as follows: Section 2 details the RS proposal; Section 3 describes the evaluation of the proposal; and Section 4 provides conclusions and recommendations for future research.

Materials
In the field of learning and in personalized recommendation services, different user dimensions, such as personal data, interests, knowledge levels, and context, among others, must be taken into account in order to respond appropriately to their needs [38]. Based on this, LinkedIn records used by [2] were employed to create user profiles, which contained personal, academic and professional data of users, as they in turn contain relevant information to help determine the area of knowledge, skills and labor sector that are taken into account when recommending courses. Additionally, LinkedIn endorsements were incorporated. For the purposes of evaluating the proposal, this was confined to the specific domain of software development.
For user and course profiles, professional skills and job sectors were coded using the taxonomies defined in [2].
The ontology used was stored in Neo4j, and selection of the tool in [2] was based on the fact that it is a NoSQL graph database manager, whereby the relationship is the most important database element representing the interconnection between nodes. This makes it ideal to represent knowledge graphs, allowing nodes and relationships and efficient operations to be managed on them.
As for the different programs that make up the system, the ones developed by [2] were used as a basis and programmed using Python 3. Cypher, the Neo4j query language, was used to query the graph.

Methods
In order to recommend continuing education courses to improve and develop professional skills, a hybrid RS based on ontology and ML is planned to determine the skills to be updated and/or developed according to labor market trends. User profiles are created from their LinkedIn records, taking into account endorsements, in order to validate and determine the level of skills. The recommendation process has three filtering stages at whose core is a semantic filtering, which is combined with filtering by content for the initial prediction of courses, and a heuristic one to obtain the final range of courses to be recommended.
The following is established as a basis for designing the RS: The system input data is obtained from LinkedIn, to create user profiles, and from the web for courses, without requiring any additional information upload by the users.
Courses will be recommended using the skills they develop as a criterion. Skills in the user and course profiles need to be defined under the same terms in the recommendation process.
Modular design allows new algorithms to be incorporated into the system and multiple configuration options offered, as well as including parameterizations for the different algorithms, by enabling or disabling filtering stages in order to validate and evaluate the proposals.
The RS architecture proposed is shown in Figure 1.
The system consists of two main phases: the off-line phase (I), in which the user profiles (A) and (B) are built, definitions are loaded and data models are built from the ontology (C) and ML (D) update processes; an on-line phase (II), in which the course recommendation process is performed, for which purpose the user profile is to be given the recommendation (1) must be built, and which is performed in three filtering stages (2, 3 and 4). The system consists of two main phases: the off-line phase (I), in which the user profiles (A) and (B) are built, definitions are loaded and data models are built from the ontology (C) and ML (D) update processes; an on-line phase (II), in which the course recommendation process is performed, for which purpose the user profile is to be given the recommendation (1) must be built, and which is performed in three filtering stages (2, 3 and 4).

Profile Creation
A semantic profiling based on ontology is performed in order to generate the different profiles used, making use of taxonomies. This process consists of the user profiling process (A) and the course profiling process (B).
After analyzing the records of LinkedIn users and LLL courses extracted from the Web, two taxonomies were then defined to hierarchically code the areas of knowledge and job performance sectors needed for the recommendation process. The levels defined for the areas of knowledge are: area; sub-area; specialty; sub-specialization; and knowledge. For job performance sectors, the hierarchy levels are: sector; field; type; domain; and position.
The following are coded with a taxonomy of areas of knowledge: user skills with their level of specialization (LS) and their degree of updating (DU), the skills to be developed on LLL courses with an LS, and also the skills required to qualify for a course. The job performance sector taxonomy is used to hierarchically code the different positions held by users.
The user profile information is given by: -Demographic information.

Off-Line Phase Profile Creation
A semantic profiling based on ontology is performed in order to generate the different profiles used, making use of taxonomies. This process consists of the user profiling process (A) and the course profiling process (B).
After analyzing the records of LinkedIn users and LLL courses extracted from the Web, two taxonomies were then defined to hierarchically code the areas of knowledge and job performance sectors needed for the recommendation process. The levels defined for the areas of knowledge are: area; sub-area; specialty; sub-specialization; and knowledge. For job performance sectors, the hierarchy levels are: sector; field; type; domain; and position.
The following are coded with a taxonomy of areas of knowledge: user skills with their level of specialization (LS) and their degree of updating (DU), the skills to be developed on LLL courses with an LS, and also the skills required to qualify for a course. The job performance sector taxonomy is used to hierarchically code the different positions held by users.
The user profile information is given by: Job performance sectors. This is a set of hierarchical codes defined by a taxonomy for job performance sectors, their description and dates. -Skill sets, where each skill is coded with three arguments: a hierarchical code that is defined by a taxonomy of areas of knowledge, a level of specialization and degree of update.
Course profile information is provided by: -Demographic information.
-Skills to be developed. Each skill is coded with two arguments: a hierarchical code defined by a taxonomy of areas of knowledge and a level of specialization. -Required skills, where each is coded with a hierarchical code that is defined by a taxonomy of areas of knowledge. -Related skills. These are given by a set of codes of areas of knowledge, where the skills developed on the course may be of interest or complement them.

Ontology and ML
A key element for smooth performance of RSs is to ensure that there is a wealth of semantic data mining, and to prevent the loss of information obtained from data retrieval. Another process associated with this phase aims at building data models to represent the domain of skills and job performance sectors, according to areas of knowledge.
The ontology, in its broadest sense, seeks to represent positions, skills and existing relationships between them. Additionally, it should offer the capacity to represent different groupings of positions under the criterion of similarity according to the skills they use. Likewise, the different relationships that can be found between skills must be represented. The classes defined in the ontology are shown in Table 3. Likewise, class hierarchy is given by the different relationships between classes of ontology as described in Table 4. The ontology is updated in two stages from user profiles: through events (C), where the model is updated with the relationships between job performance sectors and areas of knowledge according to user profile competences; through machine learning (D), the positions of the entities in the ontology are grouped together using the density based spatial clustering of applications with noise algorithm (DBSCAN) and K-means algorithms.
For [39] K-means algorithm mainly uses the Euclidean distance function to measure the similarity between data objects, and the sum of squared errors is used to found spherical clusters with more uniform distribution of data.
The work presented by [40] defines DBSCAN as a clustering algorithm based on data point distribution density. The algorithm can identify the degree of data density and classify the data points in the distribution. At the same time, sporadic data points can be identified as noise, rather than being classified within a class.
In the event driven update, the ontology stores the relationship between the characters and areas of knowledge, which is given by skills with attributes, as well as the number of times that skill is present, its LS average and the promise of DU, which is calculated taking into account the number of users that possess the skill. The relationships are determined, and their attributes calculated, from a training dataset of user profiles via events in the ontology.
For the ontology substrate, new entities, relationships and attributes are defined in the taxonomies and inferences that are allowed to be made, which will be used in semantic filtering. Among the new relationships, synonyms and uses of terms in other languages are contemplated-for the purposes of testing this proposal, the use of terms in Castilian Spanish and English were both considered, due to their common use in the domain used. In the case of areas of knowledge, relationships of the type "is of interest" are used in their entities to indicate that users who possess a skill related to those entities may be interested in developing other skills with other knowledge, in order to obtain a more comprehensive profile.
Additionally, in work performance sectors, the position entities can have "opt for" relationships, where from one position one can opt for similar or higher positions in an orderly relationship defined by a ladder. ' Job performance clusters are created in the machine learning update. An alternative for calculation of related skills involves using ML. It is proposed that unsupervised clustering algorithms be used in instances of position entities, in order to group similar positions, with these groupings being based on the similarity of skills associated with the relevant positions. Job performance charge clustering, based on the similarity of the skill set, can be used to determine the set of related positions for a particular position, or a particular user's skill set. From the job grouping determined, related skills can be established as those skills that appear most frequently in the positions in the grouping, and which the user does not possess.

On-Line Stage
The course recommendation process is carried out at this stage. As shown in Figure 1, this is made up of the objective user profile construction process (1) and recommendation process, which is carried out in three filtering stages (2), (3) and (4).
(1) Process involved in creating the target user profile This process is similar to the profile construction of the off-line stage. It differs in the semantic transduction stage in that it incorporates coding of the endorsements in the user profile. In the information obtained from the LinkedIn record of the user to whom the recommendation is to be made, are the endorsements and use of skill coding algorithms, and the hierarchical code of the area of knowledge is determined. To determine the LS and DU, heuristics are used that take into account the relative frequency of the number of users who endorse the skill. The endorsements are part of the profile of the user to whom the recommendation is to be made and are taken into account in the recommendation process as skills that the user has acquired.

Recommendation process
The recommendation process followed is the one proposed by our previous work [2], where the first stage corresponds to a modification of the semantic filtering algorithm (2) in order to determine the user's own, related and ontological skills, as given by the incorporation of LinkedIn endorsements. Then a second content-based filtering (3) is applied for initial course prediction, and finally, filtering and sorting heuristics (4) are applied for the final recommendation of LLL courses to improve and/or develop professional skills based on a user's record.
The process diagram represented in Figure 2 is followed in order to prepare course recommendations for each user.
(2) Semantic filtering to determine similar skills In order to determine related skills for a user, we first determine his or her related work performance areas using the ontology, based on his or her skills. For this process, the set of work performance sectors where the user's own skills appear is determined and filtered as follows: those related work performance sectors whose skills are covered by a given percentage of the user's skills are selected, and/or those related work performance sectors whose associated skills cover a percentage of the user's own skills are selected. In any case, the user's job performance sectors are excluded from the set of related job performance sectors.

(2) Semantic filtering to determine similar skills
In order to determine related skills for a user, we first determine his or work performance areas using the ontology, based on his or her skills. For t the set of work performance sectors where the user's own skills appear is dete filtered as follows: those related work performance sectors whose skills are c given percentage of the user's skills are selected, and/or those related work p sectors whose associated skills cover a percentage of the user's own skills are any case, the user's job performance sectors are excluded from the set of rela formance sectors.
Alternatively, from the user's job performance sectors it can be determin groupings (clusters) they belong, constructed according to ML algorithms. In new data, i.e., a job performance sector that is not part of any of the cluste Alternatively, from the user's job performance sectors it can be determined to which groupings (clusters) they belong, constructed according to ML algorithms. In the case of new data, i.e., a job performance sector that is not part of any of the clusters obtained during training, it is possible to predict the cluster, to which the user belongs, by making use of the user's skills. Given the groupings, the set of job performance sectors that belong to each of them will form the user's related performance sectors.
In the case of DBSCAN, a core node with a distance less than an epsilon value is located and associated with the cluster, to which it belongs, to predict clustering for new data; in the case of k-means, the centroid with the smallest distance is located and associated with that cluster. In both cases, the difference with one of the similarity functions is used as distance, according to Equation (1).
Finally, which related work performance sectors are deemed prior to the user's work performance sectors are determined in an orderly relationship imposed by a ladder, and these are removed from related performance areas. Subsequently, with sectors of work performance, the user's own and related skills are determined, which are the most frequent skills associated with related sectors of work performance that add value, in other words, that the skill does not exist among the set of skills or, if it does, that it has a higher level of specialization or degree of update than the user's skills; finally, those skills that add value and are included under the relationship "is of interest" in the knowledge network are added to related skills.
Given the inputs: UJS, Set of user job performance sectors. USK, Set of user skills. UESK, Set of validated user skills.
The following Algorithm 1 is used to semantically determine related skills (RSK), the result of modifying the algorithm described in [2], after taking endorsements into consideration: Where: Onto_Get_Jobs(sk) performs job performance sectors whose users have the sk skills registered via events in the ontology and can be configured to use registered skills belonging to the same subspecialty sub-specialization of sk when no job performance sectors are obtained for the same.
Onto_CutOff_Jobs(jobs,sks,uskp,jskp) performs filtering of job performance sectors, js,js ∈jobs, according to a percentage jskp coverage of sks skill set over the skills associated with job performance sector js,js ∈jobs or a percentage skp coverage of sector skills js,js ∈jobs over the sks skill set.
Onto_Cluster_Pred(js) predicts the cluster for a js job sector according to clustering by Machine Learning in the ontology.
Onto_Previous(RJS, U JS), the previous sectors in RJS to U JS according to the orderly relationship given by the ladder in the ontology.

3) Content-based filtering to predict initial course recommendation
In this stage, the algorithm proposed in [2] is applied, where filtering by content is used to filter the courses from the course catalog that raise the level of specialization and/or degree of update of the user's own skills, or help develop the user's related skills. From this filtering, an initial recommendation is obtained, which is refined in the next stage.

(4) Heuristics of filtering and ordering courses for final prediction
The initial course prediction from the previous phase is complemented and filtered using heuristics proposed by [2], while the following is verified for the user profile and course catalog:

1.
That the user has the necessary skills to approach the courses, and otherwise, courses that develop them are selected by applying demographic restrictions; 2.
User demographic restrictions are applied to initial course prediction and to the result of the previous stage; 3.
In the course prediction, the courses whose skills to be developed are the same or a subset of another are eliminated, retaining those with the highest score, to thus determine course recommendation for the user.

Evaluation and Results
According to [7], RS evaluation can be conducted through on-line and off-line experimentation. The work presented by [2] performed off-line RS evaluation. This type of evaluation allows different algorithms and approaches to be assessed, which is used in experimental environments, since the utmost consistency is desired in order to compare the performance of different proposals under the same conditions. Likewise, the off-line evaluation involves metrics to reflect the effectiveness of the system from the user perspective and provide a widely accepted evaluation, due to the robustness of the metrics used.
To evaluate our proposal, and to compare the results with our previous work [2], we performed an off-line evaluation and calculated the metrics used in it (Table 5).

Metrics Description Calculation for the System
Coverage Users to whom the system has made a recommendation, CRi set of recommendations from user u i ∈ U C(S) = |{u i ∈U,CR i ∅}|

Precision
The fraction of the recommendation that is relevant to the user.
Mean absolute error of the given recommendation vs. the recommendation expected by the user, CEi

Recall
Calculates the ratio between recommendation and user preference The portion of recommendations made to the user that the user is not familiar with or has not seen before The fraction of the recommendation that is unexpected and valuable to the user.
Harmonic mean between the precision and recall F 1 = 2 * Precision * Recall

Precision+Recall
RSs are evaluated in batches, with a set of data containing the profiles of both users and courses, as well as user preferences. These were taken from a survey conducted using a Google form, where it was requested that a list of courses be classified in the categories of desirable, preferred, novel and serendipitous, in order to ascertain the preferences of users regarding choice of LLL courses.
The off-line phase of the system was implemented, whereby data were loaded into the Neo4j database that had previously been populated by the ontology substrate definitions. This was updated via events using the training dataset, and clusters of job performance sectors were determined using ML, k-Means and DBSCAN algorithms.
In order to evaluate RS performance and compare it to our previous work, metrics were calculated for each of the following configurations [2]: 1: Content filtering using only the user's own skills; no related skills are determined, although skills of interest are considered; 2: Collaborative filtering using only the user's own work performance sectors; semantically related skills are determined; 3: Semantic filtering using rules to determine related job performance sectors and related skills; 4: Semantic filtering using 75% coverage of user skills to determine related job performance sectors. In other words, those positions that cover 75% of the user's skills were selected as related job performance sectors; 5: Semantic filtering using 50% coverage of skills from the job performance sector to determine related job performance sectors. In other words, those job performance sectors in which the user's skills cover 50% of the skills associated with the position; 6: Semantic filtering using DBSCAN clustering with ε = 0.3, to determine related job performance sectors and semantic rules to determine related skills; 7: Semantic filtering using k-Means clustering to determine related job performance sectors and semantic rules to determine related skills; 8: Semantic filtering using DBSCAN and k-Means clustering to determine related job performance sectors and semantic rules to determine related skills. Each of the configurations described above were run through the different data sets, training, testing and total, obtaining the following results.
The test results are next shown along with the results obtained in the previous work [2], to compare the results and evaluate improvement in the RS.
The results, using the training data (70% of the data set) to validate the model performance, are shown in Table 6. The results obtained from use of the different configurations with the total number of samples from the dataset are shown in Table 7. Finally, the system was run under the different configurations, using the test portion (30%) of data, with the results shown in Table 8. From the results obtained, it can be observed that both this proposal and the system proposed in [2] evidence similar behavior. As such, the configurations showing the best performance in the case of all data sets were semantic filtering using rules to determine related job performance sectors and related skills (3) and semantic filtering using DBSCAN clustering with ε = 0.3 to determine related job performance sectors, and semantic rules to determine related skills (6). However, there was an improvement in MAE and RMSE scores, and a slight increase in precision.
A measure that summarizes both precision and recall is the harmonic mean between them (F1). Table 9 shows the harmonic means for the best performing configurations. From the harmonic mean comparison table, it can be seen in Figure 3, that there is a slight improvement in configuration 6, which makes use of the DBSCAN algorithm, while configuration 3, which corresponds to semantic filtering, remains unchanged. From the different tests, the clustering performed by k-Means evidences an inferior performance, which could be explained by the nature of the domain and distribution of the positions in space. In general, in the graph analysis we observe better clustering (related positions) performed by DBSCAN than that performed by k-Means. Improvements in the recall and serendipity metrics can be associated with use in the ontology and the estimation of associated skills or skills of interest and filtering of positions prior to the current one in an orderly relationship imposed by a ladder.
In our review of different works, we found some similar RS proposals, and so to evaluate the performance of ours it is advisable to compare results. The work by [41] is geared to university students and company coordinators, recommends jobs according to user skills, while that by [21] is designed to recommend courses to students, using multiple data sources. On the other hand, the work by [42] recommends career paths and skills required for different jobs to users, based on their skills and interests. Finally, [35] recommends online courses to professionals according to their professional competences and professional development preferences. Table 10 provides a summary of the results obtained from each of these papers, which use the precision and recall metrics for the evaluation of their RSs, and the best performing configuration from our proposal. When comparing these works with the best results obtained from our proposal, an improvement in metrics of all similar RS proposals can be seen, as can an increase in accuracy, recall and harmonic mean; the latter measures being the combined performance between accuracy and recall. From the different tests, the clustering performed by k-Means evidences an inferior performance, which could be explained by the nature of the domain and distribution of the positions in space. In general, in the graph analysis we observe better clustering (related positions) performed by DBSCAN than that performed by k-Means. Improvements in the recall and serendipity metrics can be associated with use in the ontology and the estimation of associated skills or skills of interest and filtering of positions prior to the current one in an orderly relationship imposed by a ladder.
In our review of different works, we found some similar RS proposals, and so to evaluate the performance of ours it is advisable to compare results. The work by [41] is geared to university students and company coordinators, recommends jobs according to user skills, while that by [21] is designed to recommend courses to students, using multiple data sources. On the other hand, the work by [42] recommends career paths and skills required for different jobs to users, based on their skills and interests. Finally, [35] recommends online courses to professionals according to their professional competences and professional development preferences. Table 10 provides a summary of the results obtained from each of these papers, which use the precision and recall metrics for the evaluation of their RSs, and the best performing configuration from our proposal. When comparing these works with the best results obtained from our proposal, an improvement in metrics of all similar RS proposals can be seen, as can an increase in accuracy, recall and harmonic mean; the latter measures being the combined performance between accuracy and recall.

Discussion and Conclusions
In this paper we have presented a new version of the RS proposed by [2], taking the incorporation of endorsements of user LinkedIn skills to evaluate RS performance into consideration. In the review of literature on LinkedIn endorsements, we noted that very few papers analyze this element. These are more oriented to analyze the validity of endorsements, as an element to be taken into account in the data extracted from SNSs.
The strategy proposed for recommendation of LLL courses was based on establishing a relationship between users according to work performance sectors and professional skills in order to identify those skills that should be improved or developed for their current job, or to access another, higher level job and, based on these identified skills, to determine an initial prediction of courses that may develop them. This strategy made it possible to establish a mechanism for relating the data, which generally speaking, did not initially have relationships on which to base recommendations.
By incorporating the endorsements, it was possible to obtain more information on the user profile, which in turn made it possible to incorporate skills that were not evident in the data related to current employment, and which were useful when refining course recommendation. When evaluating the incorporation of endorsements in creating user profiles, an improvement in RS performance was observed. The configuration that makes use of the DBSCAN algorithm improves the precision value by 3%, and results in a decrease in the root mean square error (RMSE) and mean absolute error (MAE).
When we wanted to compare our proposal with similar works, we did not find RSs that made use of endorsements, therefore, we selected some similar proposals in terms of RSs objectives. One of the main differences focuses on the nature of the data as it was observed that most work was with structured data. The work by [42] obtained data directly from a university database, while [41] obtained them from a data repository used for ML experimentation, and [35] extracted them from employee profiles and the training plan directly from a company. The work by [21], on the other hand, proposed using information from LinkedIn to complement the data entered directly from users through the application or obtained from the university database. From these data a taxonomy was proposed to represent course, job and student information.
The metrics used by most works were found to be recall and accuracy when they were analyzed to compare results with this proposal. In terms of the scores obtained, we can conclude that if we compare them to the results obtained from the tests performed on the total set of data, this proposal improves on the metrics obtained by these previous works by two percentage points in terms of accuracy and 10 percentage points in recall.
Research on LinkedIn endorsements is oriented towards assessing the veracity of endorsements on LinkedIn profiles. [30] propose a framework for assessing the trustworthiness of endorsements. The work of [31] proposes to measure the trustworthiness of job candidates based on their skills and endorsements. Based on this research, one line of future work is to incorporate the validation of endorsements into the RS to determine their veracity when taking them into account for recommendations.
In order to evaluate system behavior for multiple domains, the ontology could be updated with new instances associated with new domains. In order to evaluate system behavior for multiple domains, the ontology could be acted on with new instances associated with new domains, and the use of ontologies already built could also be evaluated, together with new ways to represent areas of knowledge and job performance sectors.
With regard to information sources and given the continuous changes, the use of other SNSs should be evaluated, as well as different platforms such as, RocketReach and DataLead, from where professional profiles can be obtained.
Online applications could also be offered for course recommendations, not only for online evaluation of the system, but also to determine opportunities for improvement based on user suggestions. Funding: This research received no external funding.

Data Availability Statement:
The data presented in this study are available on request from the corresponding authors.