Regroupement en mot-clé

Bonjour,

Un fichier est extrait d'un site avec les souhaits des salariés. J'ai pour mission de regrouper les souhaits des salariés en mots-clés. Exemple si Salarié A souhaite être formé en Anglais, le Salarié B souhaite être formé en anglais & Salarié C en EnGlais , j'aimerai qu'ils appartiennent tous à la même sous-classe (ici Anglais ou langue je ne sais pas trop encore). Tout en sachant que les souhaits sont aléatoires et imprévisibles càd je ne peux pas vraiment deviner ce qu'ils vont mettre à l'avance. même si j'ai accès à un catalogue avec thème/sous-thèmes des formations etc.

Je ne sais pas si j'ai été assez claire. Mais avez-vous une solution pour essayer de regrouper au max les données? Bien entendu ce n'est pas grave si certaines ne rentrent pas dans les sous-thèmes.

J'ai entendu parlé de la distance du hamming qui est généralement codée en Python et que je ne saurais coder en VBA, je pense qu'elle me serait utile pour nettoyer les données et après il manquerait qu'à les regrouper en mot-clé.

Merci d'avance.

bonjour,

parle-t-on uniquement de souhait en terme de formation ? peux-tu mettre un fichier avec des exemples des souhaits que tu dois catégoriser ?

Bonjour 50centil, H2SO4; le Forum, il y a moyen de faire qqchose de bien avec des menus déroulants en cascade mais si tu dis que ce sont des souhaits "aléatoires" ça va être difficile !! Moi mon souhait, c'est que l'entreprise m'offre 1 mois de vacances à l'île Maurice... Lol !! Il n'y a vraiment pas des catégories bien précises ?

J'ai essayé de mettre qlq exemples ainsi que le catalogue.

Je pensais sinon faire quelque chose du style : si dans le souhait il y a le mot du sous-thème alors je choisis ce sous-thème si?

8test.xlsx (17.10 Ko)

Bonjour jmber1972, votre message m'a fait bien rire. Plus sérieusement j'aimerai utiliser du VBA car je suis en stage pour ce langage. Je vous laisse regarder le fichier test pour mieux comprendre.

Merci d'avance

10test.xlsx (17.10 Ko)

Ok 50Centil, c'est déjà bien que tu as ri au message, c'était le but ! Je laisse les PRO du VBA t'aider car ce n'est pas dans mes compétences ! Tu es au bon endroit ! Bonne journée !

bonjour,

une proposition (pas très concluante il est vrai), utilisation de la fonction de levenshtein couplée à un pourcentage de mots communs après suppression des mots non pertinents.

lancer la macro aargh, la macro liste toutes les catégories avec une pertinence > 0.

9test-64.xlsm (32.78 Ko)

D'accord, merci bcp dans tous les cas jmber1912, bonne journée

J'ai pas compris votre message h2so4.

Bonjour,

J'ai pas compris votre message h2so4.

Comment j'ai des problèmes de réseaux, ma réponse a été postée 2 fois à plusieurs minutes d'intervalle. J'ai entretemps modifié ma réponse pour y mettre une proposition.

Ah ok, désolée!

bonjour,

Dans votre fonction motscommuns cela m'indique un dépassement de capacité quand je l'applique pour mes données, comment puis-je procéder autrement?

probablement que la phrase à analyser est vide.

voici une adaptation de la fonction pour gérer ce cas.

Function motscommuns(s1, s2)

        m1 = Split(s1)
        m2 = Split(s2)
        For i = LBound(m1) To UBound(m1)
            If Len(m1(i)) > 1 Then
                ctrm1 = ctrm1 + 1
                For j = LBound(m2) To UBound(m2)
                    If Len(m2(j)) > 1 Then
                        ctrm2 = ctrm2 + 1
                        lev = Levenshtein(m1(i), m2(j), 1)
                        If lev > 0.75 Then ctr = ctr + 1
                    End If
                Next j
            End If
        Next i
        If ctrm1+ctrm2>1 then
            motscommuns = ctr * 2 / (ctrm1 + ctrm2)
        Else
            motscommuns=0
        End if
End Function

Merci beaucoup ! Bonne journée

Rechercher des sujets similaires à "regroupement mot cle"