IA sur les données de C2C

J’ai réalisé de l’apprentissage automatique (machine learning) à partir des descriptions des itinéraires C2C sur les départements 05, 38, 73, 74. Mon but était d’estimer les activités liées aux sorties.

Les résultats sont plutôt bons avec 90% de réussite sur la meilleure prédiction. Voilà un résumé :

Tel quel, c’est peu utile pour C2C, mais cela pourrait être utilisé pour :

  • Faire des propositions lors de la création d’itinéraires
  • Etudier la qualité des descriptions.
    ** Par exemple, comme montré dans l’article, certaines descriptions sont à faire. Un système de règles (longueurs, mots valises) permettrait de détecter certains cas mais pas tous.
    ** Certains itinéraires sont peut-être liés à la mauvaise activité
  • Faire de la détection d’entités comme les sommets et points de passage => suggestion de liens
  • Faire des suggestions de sorties en fonction de l’historique
    *…

Si vous avez des idées n’hésitez pas à enrichir cette liste !

5 Likes

Super intéressant !

Génial !

C’est un projet perso pour le fun, ou c’est dans un cadre universitaire ?

C’est les 2 : un projet perso pour mettre en pratique des connaissances apprise lors de ma formation

Bonjour Antoine,

Merci de partager ton travail et les résultats de ton étude.
Comment as-tu défini tes 2 ensembles d’itinéraires pour l’apprentissage et le test de performance? Est-ce que tu as suffisamment d’itinéraires pour les activités ayant le moins de contributions ?
Je vois très bien l’intérêt du ML pour détecter des erreurs dans le remplissage des itinéraires, par contre je ne vois pas ce que tu peux faire pour suggérer des sorties en fonction de l’historique. Pourrais-tu nous en dire un peu plus ?

Définition des ensembles apprentissage/test : alléatoire à partir de l’ensemble des sorties (14000+), 20% pour le test.

Est-ce que tu as suffisamment d’itinéraires pour les activités ayant le moins de contributions ?
Non, la slackline, la raquette et le VTT sont mal estimés et souvent cachés par des activités proches

La recommandation pourrait s’appuyer sur l’historique des sorties de l’utilisateur + le calcul de la similarité entre les sorties. Cette similarité peut se faire par addition de diverses contributions : propriétés directes (activité, difficulté, localisation) et indirectes (analyse textuelle des descriptions, commentaires, saison de pratique…)

A ton avis, si le critère de qualité (ex complétude) est recalculé pour tous les itinéraires de la base, est-ce que ce serait utile pour affiner la classification ? L’idée sous-jacente est: peut-on calculer automatiquement la qualité d’un itinéraire à partir d’une base d’itinéraires déjà labellisés? Ça simplifierait le travail pour tous les nouveaux itinéraires.
J’ai plus de craintes avec l’exploitation des sorties. On touche à des documents perso, il ne faudrait pas mettre la main dans un engrenage dangereux, même si au départ c’est pour une bonne raison.

Cool ! Juste un truc: le partage entre training/test set aléatoire lorsque les classes déséquilibrées (pour les activités c’est le cas) n’est pas optimal :), il est possible de prendre ça en compte (même si dans le cas de c2c l’imbalance n’est pas trop prononcée).

Sinon pour le choix de l’embedding, tu as utilisé fasttext pour une raison particulière ? (de ce que j’ai lu BERT est plutôt un peu meilleur non ?)

En tout cas belle utilisation pratique de machine learning !

En traitement statistique, il y a 2 phases :

  • Modelisation (apprentissage + test) sur un maximum de données. On pourrait ajouter des données (itinéraires). Mais les changements seraient pour le moment minimes sauf pour les activités avec faibles nombre d’itinéraires. Il faudrait surtout retirer les descriptions vides ou bidon (« à compléter »…)

  • Inférence (prédiction), utilisation du modèle, quantité de calcul bien plus faible si modèle paramétrique (ne demande pas toutes les données d’apprentissage).

Je suis un peu pessisimste pour un calcul auto pertinent de la qualité d’un document, il y a pas mal de critères très compliqués pour une machine, pour ne pas dire hors de porté : (schéma précis, description permettant de ne pas se paumer…)

Par contre, il y a un sujet qui serait plus réalisable, et ultra plus utile pour l’utilisateur : juger la qualité de l’itinéraire en lui même. Et je pense que c’est très faisable :

  • Pour l’apprentissage, tu as une base facile d’itinéraire de qualité reconnu (tu prends les 100 plus belles de Rébuffat, plus d’autres listes facilement accessibles. Pour les itis pourris, c’est un peu plus chiant à trouver, mais pas non plus la mort. Au pire, avec un thread sur le forum, intitulé « quelles sont vos pires bouses », tu as ta liste.
  • Puis tu fais le meme genre d’analyse que celle faites par @tonio_73, en utilisant le vocabulaire utilisé dans les sorties

Je fantasme sur ce truc depuis pas mal de temps :slight_smile:

Je pense que c’est une mauvaise idée : une bouse pour l’un est majeure pour un autre, bien souvent.
Ou alors tu rêves d’un algo de recommandation, adapté à l’utilisateur, genre netflix : « vous devriez aimer telle voie »

Dans l’idée c’est séduisant, mais dans la pratique on est maintenant conscient de tous les biais que ca provoque :
1- restriction de la pratique autour du même style d’itinéraires (tu aimes les voies Cambon ? Tiens en voilà une autre)
2- concentration autour des mêmes itinéraires,
3- Non prises en compte des spécificité difficilement quantifiables

par exemple ces 3 voies sont ED-, en terrain d’aventure :
https://www.camptocamp.org/routes/54252/fr/rocher-d-archiane-paroi-rouge
https://www.camptocamp.org/routes/133602/fr/le-grand-manti-diedre-du-brouillard
https://www.camptocamp.org/routes/54947/fr/rocher-du-midi-voie-de-la-face-e-voie-coupe-
Pourtant elles n’ont pas grand chose à voir.

ENfin, plus profondément, est ce que l’âme de nos pratiques, ce n’est pas justement l’autonomie et la responsabilité dans le choix de l’itinéraire ? Est ce qu’un algo de recommandation n’est pas la négation même de l’alpinisme ?

2 Likes

Un algo de recommandation est utile, mais en se basant sur des critères objectifs, comme les cotations, dénivelés, qualité du rocher (encore inexistant en info chiffrée).
Ca permet de donner une liste des itinéraires alentour correspondant grossièrement à l’activité de l’itinéraire ou sortie.
Car pour une activité donnée, il y a de nombreuses sous activités (ex : ski de pente raide ou raid en ski, voie peu ou sur-équipée en escalade, rando sur ou hors sentier ou avec refuge en rando pédestre, rando glaciaire ou face N mixte en alpi, etc).
Pas besoin d’IA pour cela a priori.

Je suis pas hyper convaincu, ca fait depuis qu’on parcourt la montagne pour le plaisir qu’on en fait des bouquins et tu trouveras dans à peu près toutes les descriptions de voies des adjectifs subjectifs.

Après, j’abonde dans tes remarques sur la difficulté à avoir un résultat satisfaisant. Et +1 Bubu, pris tout seul, ça ne voudra rien dire, il faudra le coupler avec les critères objectifs pour que veuille dire quelque chose pour un individu X. Juste j’ai confiance dans les chances d’arriver à un résultat qui pourra sera utile à pas mal de monde.

C’est vrai, mais alors que le livre est ecrit par un homme, et que du coup les gens savent qu’il est subjectif, l’algo est pris par la plupart des gens comme un demi dieu purement mathématique, qui donne des avis objectifs et adaptés que tout le monde croit parfaits.

Bon cela dit, c’est l’évolution inévitable de C2C…

Idée sympa, meme si j’aime pas trop le « IA » dans le titre (plutot qu’apprentissage automatique), ainsi que la photo d’illustration qui fait croire que tu fais de la classification d’image, c’est trompeur.

Je suis sceptique aussi sur la recommendation d’itinéraires, parce que je crois que la question est subtile et que peu de données sont disponibles. Ou alors si les gens mettaient des notes sur les sorties, tu pourrais faire un truc à la netflix (les gens qui ont aimé les voies que tu aimes aiment aussi…), mais est-ce que ça a un quelconque intérêt ? Il n’y a pas non plus des dizaines de sorties par jour dans une région donnée…
Plus simple d’aller demander aux vrais gens ou d’ouvrir un bouquin :slight_smile:

Par contre des projets qui m’intéressent (pour rigoler surtout):

  • Entraîner un modèle sur le forum à la manière de ce qui est fait sur des subreddits ici https://www.reddit.com/r/SubSimulatorGPT2/, pour faire revivre Schnock et que mollotof ait accès à des discussions infinies de valci_bot et J2_bot à la demande :smiley: (d’utilité publique ça !)
  • Récupérer les photos de streetview et chercher automatiquement dedans les fissures (ou autres lignes) de batiments qui pourraient se grimper.
2 Likes

Si on jour on devait arriver à un algorithme de recommandation, je pense que ce serait une bonne chose que cela ne reste que des recommandations séparés de la recherche général (ou au moins que cela soit désactivable). Ne pas faire comme certains site (google par ex) ou deux utilisateurs différents ne verront pas la même chose (en tout cas pas avec le même classement) à cause de leur historique différent.

1 Like

Je ne sais pas si vous parlez de la même chose.
Il me semblait que l’on parlait de la qualité du document et pas de l’intérêt de l’itinéraire décrit.
Une « bouse » peut être très bien décrite dans un topo, tout comme une voie « mythique » posséder un topo médiocre.
C’est souvent plus facile de converger sur le fait qu’un topo est de mauvaise qualité ou pas.

Je pense que si (Charles et Top.chef en tout cas).
C’est Mathieu qui parlait de la qualité des documents. Je suis plus de l’avis de Mathieu : je trouve que ça serait intéressant de voir si on peut obtenir avec cette méthode une info pas trop déconnante sur la qualité d’un doc. Ca ne me parait pas infaisable, vu qu’on avait imaginé des critères de calcul auto. Après c’est sûr que ça ne donnera pas la même précision que ce que peut faire un humain, mais c’est pas bien grave.

En tout cas, merci pour cette étude et le partage. Je suis sûr qu’on peut y trouver plein d’applications utiles pour le topoguide.

1 Like

C’est étonnant comme cela ressemble aux critiques de C2C par rapport aux topos papier existant, il y a 10-20 ans.

Toutes les idées nouvelles ne sont pas bonnes à prendre, ou à jeter. C’est souvent dans les détails que se cache une réussite et c’est finalement les utilisateurs qui trouvent cela bien ou nul.

Tout le monde est abreuvé à l’IA depuis quelques années. Apprentissage automatique ne parle qu’aux personnes averties.

Pour l’illustration, il en fallait bien une. Mais la classification d’images n’est finalement pas si loin de celles de textes. Les variables numériques (embeddings vs. pixel) sont la différence principale.

1 Like