Keywords

1 Introduction

Nowadays, there is a growing interest in sport climbing. Specifically, outdoor climbing has become a popular tourism activity for novices and experts. In some countries, such as Italy, Greece, Spain, and Turkey, climbing has become a foremost advertised activity that is used for attracting many tourists. Thousands of rock-climbing regions have been developed and registered in electronic climbing guidebooks, which have been made available worldwide. In this scenario, some companies have been focusing their business on actively supporting climbers, by providing them reliable, easily accessible, and updated information, even via novel information technology tools.

For example, a local company Vertical-LifeFootnote 1 in South Tyrol (Italy) offers to prospective visitors an electronic climbing guidebook, which is accessible through a rich websiteFootnote 2. In addition to the e-guidebook, climbers can find there e-services that allow them to leave feedback in the form of comments, ratings, and grades for the routes that they have climbed (logbook functionality). Another similar example of such type of information tools is illustrated by UKClimbingFootnote 3. Their website provides online descriptions and maps for many climbing areas, mostly located in Europe. Furthermore, in Australia, climbers can browse ‘the Crag’Footnote 4 website, which focuses on outdoor climbing routes in this country.

By complementing these websites, ancillary mobile apps have been developed; they allow to discover and log climbing routes [1,2,3,4,5]. Climbers can use them to track their progress in training. These apps are also used to maintain updated information on the climbing routes, in collaboration with local guides, by collecting crowd-based feedback on the featured routes.

This information repository is evolving day by day and is of great interest to the companies operating in this tourism sector. They aim to expand their penetration and role by providing climbers with the most essential information, and in the most easily usable way. In particular, they would like to match climbers’ needs with personalized recommendations for routes that suit the climbers’ expectations and limitations, such as the maximum difficulty level of the route the climber can climb, the desired duration and length of the route, or it’s safety level, which is influenced by the changing mountain rocks’ state. It is worth stressing that the available technologies and tools use manual input acquired via the system GUI (query) for establishing a match between a target climber (user’s preferences) and the recommendable routes. This is burdensome and tends to decrease the usage of the existing tools.

To address this problem, we illustrate here a range of techniques and tools that enable us to learn semi-automatically climbers’ preferences, by leveraging their explicit feedback given in a climbing app. Moreover, we illustrate how the routes recommendations can be delivered to climbers in specialized websites and apps. We focus on a system prototype and its GUI, that we are developing for one of the above-mentioned companies, namely, Vertical-Life. Recommendations are also tailored to the climber by considering one of the most important aspects, i.e., the desired difficulty level of the searched routes. Moreover, since the difficulty of a route is often subjective, this subjectivity is estimated by machine learning models that predict how difficult a given route will be perceived, specifically by each climber. Exploiting that estimation module, we have developed an interface for personalized recommendations for outdoor climbing. Ultimately, the recommendations given to a user are based on the knowledge of the user’s preferred routes, which is derived from the logged climbing activities in the app, and by the goal of the climber (e.g., routes useful for training).

The paper is structured as follows: in Sect. 2, we discuss the related work. In Sect. 3, we describe the building blocks used for computing recommendations. In Sect. 4, we sketch the GUI which have been designed to illustrate and explain the recommendations. Finally, Sect. 5 discusses the contribution and concludes the work by listing some future developments.

2 Related Work

Recommender systems (RSs) for climbers fall in the more general area of decision support systems developed for recreational sports, such as hiking and trekking. In all these sports, the user has a common problem, namely to match the trail’s or route difficulty level with the hiker’s or climber’s ability. One notable study was conducted by Calbimonte et al. in [6,7,8], where they outlined the problem of matching hiker to hiking trails according to the hiker’s physical level and trail’s difficulty characteristics. The authors have developed a semantic model to represent the hikes using Semantic Web ontologies and have built user profiles via a questionnaire, which requires users to fill in the information manually. In another article, Vias et al. [9] address the problem of hiking path difficulty assessment by measuring the time needed to complete the hike and acquiring user preferences via manually entered search criteria. The main limitation of such a system is that users are required to enter information by hand and previous user/system interactions are not exploited.

To overcome the above-mentioned limitations, we introduce here an approach aimed at semi-automatically understanding user preferences through their feedback. In recommender systems, users’ needs and wants are typically learned via explicit and implicit feedback [10]. In [11], we have proposed the first idea of the application of such a mixed approach: explicit feedback is obtained with manual input data through a mobile app and implicit feedback is obtained in the form of sensor data. It is worth noting that, in marathon running, Smyth et al. [12,13,14] have also developed the athlete’s profile by using sensor data and case-based reasoning. However, their methods are hardly applicable for climbing as they require data collection from sensors on a large scale, and sensors for climbing have just been developed.

More specifically to sport climbing, Draper et al. in [15, 16] have focused on the problem of assessing routes’ difficulty, and developed a unified table to compare grading scales between several countries. They discuss the issues related to the design of a unified grading system and outline the most important features that affect the grading of a route. They note that the difficulty of a route is subjective, as it depends on a climber’s characteristics (including years of climbing experience, training frequency, preference for the climbing style, etc.). However, they have not solved the problem of how to measure the climber’s perceived difficulty of a route.

A few works have tackled the route difficulty grade assessment problem with computational methods. For example, Kempen in [17] formalized climbing routes description by using a linguistic approach and found some relationship between a sequence of movements to climb a route and the route’s grade. Furthermore, in [18,19,20] the authors applied deep learning to assess difficulty grades from images of routes on artificial climbing walls for indoor climbing. However, these approaches are not sufficient to explain a climber’s perceived route difficulty, therefore, more research is required to solve the target problem.

In conclusion, there is a lack of technologies for understanding and predicting climbers’ preferences and perceptions. It is therefore challenging to develop a recommender system capable of suggesting suitable climbing routes with the right difficulty grade that the climber can and wants to climb.

3 Climber and Route Profiling

To solve the outlined problems, we have designed a content-based recommender system that aims to suggest routes related to the ones the climber practiced most often in the past [10]. For this purpose, we have modeled climbers’ habits (preferences) and matched them with the recommendable routes’ characteristics. Figure 1 shows the recommender system (RS) logical schema. The used data comprises a logbook of ascents and climbing routes information obtained from Vertical-Life e-guidebook and app. The RS has two computational components: the climbing grade prediction model (explained in Sect. 3.1) and the content-based RS algorithm, discussed in the following and in Sect. 4, where also the interaction design is presented. The system first supports climbers in selecting a region of interest, namely, a climbing crag, which is a climbing area with relevant routes within. This search is enabled by a specifically designed map interface (Fig. 2). Then, within a selected crag the user is suggested with recommended routes (Fig. 3).

Fig. 1.
figure 1

Logical schema of the proposed recommender system for crags and climbing routes.

To identify proper recommendations for a target climber, we make three working assumptions. First, climbers usually choose routes with which they are familiar and require the climbing styles they have practiced before. The second assumption is that climbers avoid the moves they dislike, but for training purposes, they need to climb them, otherwise, they may be proficient in one specific style, but lagging in another one. The third assumption is related to the climbing routes that are easier than expected: they are considered to be good for motivational purposes because individuals would be more motivated to continue the training when they climb a specified grade with less effort, as they would think that they achieved a certain level in training. These assumptions need to be validated with climbers’ feedback and they are here considered to generate a first working prototype.

Table 1. Example of a climber’s profile.

To explain how recommendations are computed, we first describe the climber’s profile. Then, in the next section, we show how the RS can suggest crags according to the climber’s profile, and how three types of recommendations for routes are generated: routes with climbers’ favorite moves, routes good for training and routes for boosting the climber’s motivation.

A climber’s profile is built from the logbook of her ascents inserted via the Vertical-Life company’s website and smartphone application. Table 1 shows aggregated logbook data for one climber and the derived climber’s profile. We consider four categories of climber’s preferences: climbing discipline, climbing grade, climbing style and wall steepness. The row marked with ‘#’ shows the number of recorded climbs for each possible value of the category, ‘%’ is the percentage of ascents in each category, \(PD_c\), \(PG_c\), \(PS_c\), \(PH_c\) are the generated sets of preferred climber’s disciplines, grades, styles and wall steepness/hill, respectively. These sets contain, for each category, the values appearing in the largest number in logbook records. \(DS_c\) instead, is the set of least climbed styles by the profiled climber (‘disliked’ styles).

  • Climbing discipline. We adopt the classification by Hörst [21, 22], according to which the disciplines of climbing are: bouldering, sport or traditional (trad) climbing. Sport and trad climbing may further be subdivided in: single-pitch (routes within 10–45 m) or multi-pitch (routes consist of several pitches). We assume that climbers would like to receive recommendations for new routes of the discipline they most often climb. For instance, the climber profiled in Table 1 prefers sport-single-pitch to other disciplines and is likely to be interested to receive this type of recommendation.

  • Climbing grade. Each route has a grade that measures its difficulty. Climbers often climb the grades they feel comfortable with, that is, routes they find challenging but within their capabilities. Draper et al. [16] proposed International Rock Climbing Research Association (IRCRA) scale to aid comparison between various route grading systems that are employed between countries. For the purpose of illustration, we use the French grading scale that has a linear relationship with the IRCRA scale. Table 1 shows a climber who most often climbs 6c+ and 7a routes on the French scale.

  • Climbing style. Additionally, each route can be characterized by a climbing style that suggests the movements required for completing the ascent. We adopt the six styles featured in the Vertical-Life guidebooks, namely, athletic, cruxy, endurance, crimpy, sloper, technical. The styles of routes that a climber most often climbs are used to model the climber’s preferences for favorite moves. The climber profiled in Table 1 most often ‘endurance’ style climbs.

  • Wall steepness (hill). Climbing rocks differ according to steepness, i.e., the angle that the rock wall forms with the horizontal plane. Some of them have a steepness of around 90\(^{\circ }\) (e.g., El Capitan in Yosemite, US), and some even close to 120\(^{\circ }\) (e.g., Rodellar, Spain). Climbers often have a preferred steepness range which may be associated with the intensity of their training. As in the 8a.nu e-guidebook, we classify the routes into four groups according to the steepness of the rock wall: ‘slab‘ (\(\le \)88\(^{\circ }\)), ‘vertical‘ (88\(^{\circ }\)–95\(^{\circ }\)), ‘overhanging‘ (95\(^{\circ }\)–165\(^{\circ }\)) and ‘roof‘ (\(\ge \)165\(^{\circ }\)). For example, the climber profiled in Table 1 prefers to climb ‘overhang’ walls.

In summary, each climber is profiled by an array of five sets of favorite values for the four considered categories and one set of less favored styles: \(c_p=\left( PD_c,PG_c,PS_c,DS_c,PH_c\right) \). A climber can have more favorite values for each category: for example, they could prefer both ‘bouldering’ and ‘sport single’.

A climbing route has a similar vector representation \(r_i=\left( r_{id},r_{ig},R_{is},r_{ih} \right) \). However, \(r_{id},r_{ig},r_{ih}\) are single values describing the route’s discipline, grade and hill, respectively. While instead \(R_{is}\) is a set of styles that a route requires to be used to climb. For example, a route can require both ‘endurance’ and ‘athletic’ styles.

3.1 Climbing Grade Prediction Model

It is well-known in the climbing community that a route’s grade is a subjective opinion, often given by the author of a guidebook [23]; a climber, upon completing the ascent, may disagree. This is an important aspect that a climbing RS needs to account for. Indeed, a climber may be served better if the recommendation is customized to suggest to the climber the routes that she would perceive as having the desired grade than suggesting the routes whose official grade is the desired one. To this end, we have develop a component that predicts what would be the climber’s perceived grade of a route and visualizes this prediction in the interface. Section 4 introduces a scenario in which we take advantage of the grade prediction component to recommend routes for boosting climber’s motivation.

We conducted a preliminary study on perceived climbing grade prediction. We developed a linear regression model using a data set of climbers’ records about their ascents collected through the Vertical-Life app. The data set included climbers’ feedback about the routes’ grades. Climbers often agreed with the official grades, however, in about 8% of the records, the climbers registered a different grade, up to 3 grades harder or easier than officially stated. To predict the grade that a climber (c) would assign to a route (r) after attempting the ascent, we used domain knowledge to extract a set of features. A more detailed account of our approach is presented in [24]. In a nutshell, these features capture: how the target climber tends to deviate from the official route’s grade (og) in her grading (cmd(cog)), how the target route is graded by the community of climbers (\(md^{Y}(r)\)) and how environmental factors influence grading of the target climber (\(cmd^{M}(c,og)\)). Equation 1 shows the learned linear regression model that predicts the climber’s perceived grade of the route (cg(cr)).

$$\begin{aligned} \begin{aligned} cg(c,r)&= 0.027 + 0.998 \cdot og + 0.410 \cdot cmd(c,og) \\&+ 1.051 \cdot md^{Y}(r)+ 0.279 \cdot cmd^{M}(c, og) \end{aligned} \end{aligned}$$
(1)

The official route grade has the largest contribution to the prediction, although the features related to the grading behavior of the climbers have significant weights in the model. The RMSE of the linear model was compared to that of a baseline model, which predicts that a climber would agree with the official route grade. In 10-fold cross-validation we obtained RMSE error of 0.176 for the linear model, significantly lower than the baseline error of 0.191. In conclusion, the features identified important knowledge that contributes to the correct prediction of a climber’s perceived difficulty grade of a route.

4 Recommendations and GUI

Crags Recommendation. As already mentioned, firstly, the climber is offered recommendations for crags that contain some relevant routes. The designed map GUI shows all the crags within a target region and clearly indicates the recommended ones. In fact, for each recommended crag, we give to the climber an overall idea of the potential relevance of the crag by identifying routes that satisfies three criteria: 1) routes of a climber’s favorite discipline, 2) routes with the predicted grades she mostly climbs; 3) routes of the climber’s favorite styles and wall’s steepness. More formally, these are the routes that fulfill the following condition:

$$\begin{aligned} (r_{id} \in PD_c) \wedge (r_{ig} \in PG_c) \wedge (\exists s \in R_{is}: s \in PS_c) \wedge (r_{ih} \in PH_c) \end{aligned}$$
(2)

where \(\exists s \in R_{is} : s \in PS_c\) means that there is at least one element in set \(R_{is}\) that is also in \(PS_c\). If there is at least one route in the crag that satisfy the above condition, we recommend the crag.

Figure 2 shows the GUI prototype for crag recommendation. The selected area here is the Arco region, located in Trentino, Italy. Arco is a famous destination for climbers, as it offers more than 8,000 climbing routes. The red circles indicate recommended crags, or clusters of crags, generated for the climber who is profiled in Table 1. Some crags are grouped together and form a cluster; a purple circle indicates a cluster and the number of crags is shown within. To inspect all the crags separately, the user should zoom in. Finally, we remark that each crag recommendation is accompanied by an explanation. The explanation follows the knowledge graph-based explainable recommendations approach described by Zhang et al. [25]. An example of an explanation sentence, for the climber’s profile given in Table 1, is shown in the pop-up window in the figure.

Fig. 2.
figure 2

Crags recommendation and explanation GUI. The pop-up window with an explanation is generated for the climber profiled in Table 1. The bright red color presents a cluster of 18 crags for which the explanation is given. The user needs to zoom in to visualize the recommended crags within the cluster.

Climbing Route Recommendations. When the crag is selected, the system should show the routes within the crag that have been generated by the RS. Such suggestions are supposed to help the climber to choose a suitable route, as some crags may include more than 100 routes, and it could be tedious and error-prone to visualize all the routes. The recommendations are organized in three separate lists: for favorite moves, for training, and to boost the climber’s motivation.

Recommendations for Favorite Moves. The first recommendation list is generated according to the first working assumption presented in Sect. 3: among all the routes in the selected crag, the system ranks and shows the routes which have the climbing style, grade and discipline mostly preferred by the climber. Hence, if \(r_i=\left( r_{id},r_{ig},R_{is},r_{ih} \right) \) is a route, and \(c_p=\left( PD_c,PG_c,PS_c,DS_c,PH_c\right) \) is the target climber profile, then \(r_i\) is recommended if the following condition holds:

$$\begin{aligned} (r_{id} \in PD_c) \wedge (r_{ig} \in PG_c) \wedge (\exists s \in R_{is}: s \in PS_c), \end{aligned}$$
(3)

We note that the climbing styles of a route (\(R_{is}\)) specify the movements needed for ascending this route, and if the climber often climbs the routes with this style, it means that she likes these movements. The ranking of the visualized routes is based on their degree of matching with the climber’s favorite wall’s steepness: routes are sorted by increasing the value of the absolute difference of the route steepness and the climber’s favorite steepness. For instance, Fig. 3 shows recommendations in the crag Massone (Arco, Italy): it is one of the first developed crags in Arco, with around 285 routes. In this example, the system shows the list of recommended climbing routes for favorite moves at the preferred grade level 7a.

In addition to the ‘Grade’ column (which is the official grade), the GUI includes a column named ‘Perceived grade’ where the grade computed by the prediction model explained in Sect. 3.1 is shown. The ‘Recommendations’ red button is used to visualize the lists of recommendations within the crag.

Fig. 3.
figure 3

Recommendation for climbing routes within the crag: routes with the climber’s favorite move. The ‘Perceived grade’ column shows the predicted perceived difficulty of the route.

Recommendations for Training. The second working assumption presented in Sect. 3 is considered to produce another recommendation list containing the routes with a climbing style which the target climber has practiced less, but, for the training purpose, should instead be tried.

Fig. 4.
figure 4

Profile graphs for two climbers: Climber 1 climbs endurance style; Climber 2 climbs every style.

For instance, Fig. 4 shows the ratio of climbing styles (computed as the number of climbs with a particular style divided to the overall number of climbs) for two climbers: climber 1 practices ‘endurance’, but does not train ‘technical’ style, whereas climber 2 practices every style, thus, she/he is better trained. The routes that are therefore recommended for training satisfy the following condition:

$$\begin{aligned} (r_{id} \in PD_c) \wedge (r_{ig} \in PG_c) \wedge (\exists s \in R_{is}: s \in DS_c) \end{aligned}$$
(4)

Moreover, these training routes should not have a steepness too different from the climber’s favorite one, otherwise, it would be too difficult to climb them. Furthermore, the training process should be made gradually, starting from the least different steepness. Thus, the recommendations are sorted by increasing the value of the absolute difference of the route steepness and the climber’s favorite steepness. The GUI of this recommendation list is not shown here for lack of space.

Recommendations to Boost Climber’s Motivation. The final recommendation list implements the third working assumption discussed in Sect. 3 and makes a direct usage of the perceived grade prediction model. This list includes only the routes that are predicted to be perceived by the climber as easier than officially classified. When the climber will try these routes, she may justify this predicted perception as due to his skills. The GUI for this type of recommendation is here omitted is for lack of space.

5 Discussion and Conclusions

In this work, we have proposed a new concept of an RS for climbing routes recommendation based on the climber profile built semi-automatically by using mobile and web application data derived from the logs of the climber’s ascents. The described RS opens the door to a new generation of climbing e-guidebooks, providing important recommendations to their users based on individual preferences and climbing routes characteristics. The task is challenging as it requires the solution of many problems such as understanding climbing grades, how climbers grade routes in general, routes characteristics, training process of sportsmen; these problems have not yet attracted much research activity and few technologies have been developed to solve them.

In a future step, a pilot study will be conducted to derive an early assessment of the proposed prototype system. Then, a large-scale evaluation of the system will be in order. Several features of the presented prototype must be improved. Firstly, the proposed perceived grade prediction model depends on a climber’s origin, as in some countries the grades are overestimated in general, and it becomes a standard within this region, thus, the assessment varies between climbing regions and depends also on the styles trained by the climber, and this should be considered in the future. Secondly, the recommendations for training could be improved by using additional heuristics. For instance, the system now recommends outdoor routes with the styles less liked by the climber. However, it would be also useful to recommend indoor routes which are similar to the outdoor one, to better prepare a climber for a target outdoor route.

Thirdly, the proposed climber profile could also be extended by considering additional climbing disciplines (e.g., ice-climbing), styles (s.a., pinches, dynamic), and by leveraging implicit feedback (i.e., climbing performance metrics obtained through sensor data). It will also be important to consider the environmental and economic impact of the recommended climbing activities, i.e., by trying to contribute to the preservation of territories while not neglecting the economic growth [26]. Moreover, by considering the potential crag congestion produced by too many climbers at the same crag, the system could also try to better distribute climbers in the recommended crags [27].

Finally, although this work focuses on the climbing domain, we believe that the approach may be adapted to other similar sport activities, such as, hiking, trekking, trail running, via ferrata and mountain biking.