• Accueil / Salesforce / Comment créer un…
, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Comment créer un flux pour effectuer une analyse des émotions15 minutes de lecture


Selon Wikipédia:

«La reconnaissance des émotions est le processus d’identification des émotions humaines, le plus souvent à partir d’expressions faciales ainsi que d’expressions verbales. C’est à la fois quelque chose que les humains font automatiquement, mais des méthodologies de calcul ont également été développées. »

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Dans cet article, je vais vous montrer comment effectuer une analyse des émotions basée sur le expressions verbales que les clients font au quotidien avec votre organisation – plus particulièrement dans le cadre du service client et de la gestion des cas. Mais d’abord, examinons l’arrière-plan de l’analyse des émotions et les options pour l’intégrer à votre instance Salesforce.

L’analyse automatique des émotions à partir d’expressions verbales utilise des techniques de Apprentissage automatique (un sous-ensemble de l’intelligence artificielle). Bien sûr, nous ne sommes pas des scientifiques du Machine Learning, nous avons donc besoin d’options toutes faites ; c’est là que les plates-formes API GRATUITES viennent à notre secours.

Je suppose que certains administrateurs lisant ce blog ont peut-être perdu un peu d’intérêt lorsque j’ai mentionné les API. L’API n’est-elle pas la mission d’un développeur ? Eh bien, plus maintenant – faites-moi confiance et continuez à lire! Nous y parviendrons sans écrire une seule ligne d’Apex.

API gratuites qui effectuent une analyse des émotions

Il existe de nombreuses API qui offrent freemium basée sur l’analyse des émotions. En fait, Salesforce en propose un et il s’appelle Le sentiment d’Einstein (https://einstein.ai/products/community-sentiment).

Certains notables sont –

  1. Analyseur de tonalité IBM Watson (https://www.ibm.com/watson/services/tone-analyzer/)
  2. Amazon Comprendre (https://aws.amazon.com/getting-started/tutorials/analyze-sentiment-comprehend/)
  3. API de langage naturel Google Cloud (https://cloud.google.com/natural-language/docs/sentiment-tutorial)
  4. API d’analyse de texte Microsoft (https://azure.microsoft.com/en-in/services/cognitive-services/text-analytics/)
  5. Indico (https://Indico.io/docs)

Il existe de nombreuses autres plates-formes qui offrent des services d’analyse des émotions similaires. Il est important de noter que ceux-ci ont leurs propres limites (Abonnements gratuits). Par exemple, le sentiment d’Einstein ne vous permet d’analyser que 1000 fois par mois. Les autres qui incluent IBM Watson, Google Cloud, Amazon Comprehend, Microsoft etc. n’offrent qu’une période d’utilisation limitée telle qu’un an, 3 mois etc. Le cinquième, qui s’appelle Indico propose jusqu’à 10 000 analyses d’émotions gratuites chaque mois.

Explorons donc le API d’analyse de texte Indico.

Remarque : Je ne suis pas associé à Indico ni à aucun de leurs services. Indico a été choisi car ils offrent des limites d’utilisation plus élevées et plus souples et ils sont très faciles à utiliser.

API Indico pour l’analyse des émotions

Maintenant, qu’est-ce qu’une API ? En termes simples, il fournit un moyen par lequel deux ou plusieurs systèmes/entités distants ou disparates peuvent communiquer entre eux. Dans notre cas, les deux systèmes/entités impliqués sont Force de vente et Indico.

En bref, Salesforce devrait envoyer un bloc de texte aux serveurs Indico qui effectueraient ensuite l’analyse des émotions (employant l’IA) et restituer les émotions significatives déduites du texte.

Alors, comment envoyer le bloc de texte aux serveurs Indico ? C’est exactement à ce moment-là que les API seraient utiles. Les API existent dans plusieurs formats différents mais pour notre cas d’utilisation, nous utiliserons API REST d’Indico à la fois envoyer et analyser l’émotion.

Génération de clés API

La première étape que nous devons effectuer avant de consommer les API REST Indico est de s’inscrire et de générer un clé API. La clé API sera fournie avec notre bloc de texte aux API REST Indico. Les clés API seront utilisées par Indico pour valider et authentifier les demandes. Vous pouvez visiter le lien : https://auth.Indico.io/ pour vous inscrire et générer une clé API.

Aperçu des API d’analyse de texte Indico

Voyons à quoi ressemblent les API d’analyse des émotions d’Indico. Le point de terminaison/l’adresse de l’API est indiqué ci-dessous :

PUBLIER https://apiv2.indico.io/emotion

Fig. 1

Dépassé? Attendez! Plongeons un peu plus loin. Comme mentionné précédemment, Salesforce devrait envoyer le bloc de texte avec la clé API aux serveurs Indico afin d’effectuer l’analyse des émotions. Maintenant, comment envoyer les données à un autre serveur (c’est-à-dire Indico) ? C’est à ce moment-là que nous utilisons les API REST.

Les API REST auront généralement un point de terminaison ou une adresse (similaire à nos adresses Web ou URI). La figure 1 est le point de terminaison ou l’adresse fournie par les API Indico, qui sera utilisée pour détecter l’émotion dans un bloc de texte donné. Tout ce que nous avons à faire est d’envoyer (techniquement appelé PUBLIER dans le monde de la programmation Web) le texte avec la clé API à ce point de terminaison et il renverra, à son tour, les émotions déduites.

Nous, les humains, nous parlons en utilisant une langue, la langue est donc notre moyen de conversation. De même, pour parler aux API, nous devons envoyer les données (c’est-à-dire la clé API et le bloc de texte) dans un format spécifique ou disons une langue. La plupart des API REST utilisent JSON (Notation orientée objet JavaScript) format comme moyen de conversation (ou le format).

Les API REST Indico (Émotion) s’attend à ce que les données soient formatées comme indiqué ci-dessous –

{

api_key : « VOTRE_CLÉ_API »,

data : « Je suis tellement heureux parce que je vais en apprendre davantage sur les API. »

}

2

Ce format (ou méthode d’écriture) est appelé JSON. Si vous remarquez, tout ce qu’il contient est simple paires clé-valeur écrit sur différentes lignes séparées par une virgule.

La réponse ou la les résultats d’analyse renvoyé par l’API REST Indico (Émotion) sera également dans le même format (JSON).
{

« résultats »: {

« colère »: 0,1694016456604004,

« peur » : 0,1427430659532547,

« joie » : 0.37557002902030945,

« tristesse » : 0,20160073041915894,

« surprise » : 0.11068451404571533

}

}

3

Vous pouvez remarquer que l’émotion avec la valeur/le degré le plus élevé était Joie pour le bloc de texte qui a été fourni (montré dans la figure 2).

Ce n’était pas difficile. Corriger? Maintenant, ce qui est délicat, c’est quand vous devez écrire tout ce code Apex pour POST ou envoyer les données au format JSON aux API REST Indico (Émotion). Attendez! Ce n’est pas ça. Vous devrez également écrire du code pour déchiffrer les résultats JSON et les traiter en conséquence.

Mais heureusement, plus maintenant ! Accueillons – Services externes.

Les services externes sont une fonctionnalité de Salesforce qui exploite des outils déclaratifs pour se connecter à un point de terminaison externe/à une adresse Web (comme l’API REST Indico dans notre cas d’utilisation). En termes simples, vous n’avez plus besoin d’écrire Apex pour effectuer des intégrations d’API. Sous le capot, External Service Builder génère automatiquement pour vous la ou les classes Apex qui sont cachées, et en tant qu’administrateur, vous n’avez vraiment pas à vous en soucier.

Si vous souhaitez en savoir plus sur les services externes, je vous recommande vivement de compléter cet excellent module sur Point de départ.

Noter: Le service externe est UNIQUEMENT disponible dans Expérience éclair.

Écrire une définition Swagger

C’est le SEUL endroit où vous pourriez vous sentir un peu étourdi. Mais, ne vous inquiétez pas !

Pour que Salesforce génère automatiquement les classes Apex, vous devez indiquer à l’External Service Builder les détails de votre API REST (qui dans notre cas est l’API REST Indico).

PUBLIER https://apiv2.indico.io/emotion

1. Quel est le hôte?

apiv2.Indico.io

2. Quel est le protocole?

https

3. Quel est le chemin?

/émotion

4. etc.

Les détails de votre API sont écrits dans un format spécial appelé Définition Swagger. Considérez-le comme le langage compris par External Service Builder. La plupart des API REST sur le Web fournissent aujourd’hui la définition Swagger prête à l’emploi. Cela signifie que vous n’avez pas à l’écrire vous-même mais simplement à le télécharger.

Mais malheureusement, les API REST Indico n’en avaient pas. Voyons donc à quoi cela ressemblerait.

{

« fanfaronnade » : « 2.0 »,

« Info » : {

« description » : « Prédit l’émotion exprimée par un auteur dans un échantillon de texte. »,

« version » : « 1.0.0 »,

« title » : « indico API Text Analysis – Emotion »

},

« hôte » : « apiv2.indico.io »,

« schémas » : [ “https” ],

« chemins » : {

« /émotion » : {

« Publier » : {

« résumé » : « Cette fonction renvoie un dictionnaire qui établit une correspondance entre 5 émotions (colère, peur, joie, tristesse, surprise) et la probabilité que l’auteur exprime l’émotion respective. »,

« paramètres » :[{[{

« Dans le corps »,

« nom » : « emotionAPIRequest »,

« schéma » : {

« $ref » : « #/Définitions/EmotionAPIRequête »

}

}],

« réponses » : {

« 200 » : {

« description » : « D’accord »,

« schéma » : {

« $ref » : « #/Définitions/EmotionAPIResponse »

}

}

}

}

}

},

« Définitions » : {

« EmotionAPIRequest » : {

« Propriétés »: {

« clé API »: {

« type »: « chaîne »

},

« Les données »: {

« type »: « chaîne »

}

}

},

« Résultats » : {

« Propriétés » : {

« colère » : {

« type » : « numéro »,

« formater » : « flotter »

},

« peur » : {

« type » : « numéro »,

« formater » : « flotter »

},

« joie » : {

« type » : « numéro »,

« formater » : « flotter »

},

« tristesse » : {

« type » : « numéro »,

« formater » : « flotter »

},

« surprendre » : {

« type » : « numéro »,

« formater » : « flotter »

}

}

},

« EmotionAPIResponse » : {

« Propriétés » : {

« résultats » : {

« $ref » : « #/Définitions/Résultats »

}

}

}

}

}

4

Oui, je suis d’accord que cela peut sembler un peu intimidant. Mais, tout ce qu’il fait est d’expliquer les détails sur les API REST Indico (Émotion) avec les détails comme indiqué ci-dessous dans un format JSON.

  1. Titre
  2. La description
  3. Hôte
  4. Schème
  5. Format de la demande (voir la figure 2)
  6. Format de réponse (voir la figure 3)

Vous pouvez trouver un version téléchargeable de la définition Swagger ici.

Création d’un identifiant nommé

L’étape suivante consiste à créer un identifiant nommé. Un identifiant nommé est l’endroit où nous spécifions le point de terminaison/URI et le authentification des détails. Heureusement, l’API REST Indico n’a pas de mécanisme d’authentification sophistiqué (cela ne veut pas dire que ce n’est pas sécurisé!). Il utilise un mécanisme d’authentification basé sur une clé API et le même est envoyé avec le bloc de texte. Nous n’avons donc vraiment pas besoin de spécifier de paramètres d’authentification, mais uniquement le point de terminaison/URI comme indiqué ci-dessous.

Pour créer un identifiant nommé, commencez à taper « Nommé” dans le Setup puis cliquez sur Nouvelles informations d’identification nommées.

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

5

Enregistrement du service externe

Inscrivons le Service Externe. Pour faire de même, commencez à taper « Externe » dans l’explorateur d’installation. Ensuite, cliquez sur le Ajouter un service externe bouton. Tapez un nom et sélectionnez le Identifiant nommé que nous avons créé dans la figure 5.

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Figure 6

Copiez maintenant la définition Swagger de la figure 4 et collez-la dans le Schéma de service complet JSON zone de texte comme indiqué ci-dessus et cliquez sur Enregistrer.

Vous remarquerez que le service externe a été enregistré et que l’action POST/envoi a été identifiée avec succès.

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

7

Comment utilisons-nous le Service externe que nous venons d’enregistrer ?

Le service externe qui a été enregistré peut être utilisé comme Action de sommet à l’intérieur d’un Couler. En d’autres termes, nous allons créer un flux qui à son tour utiliserait l’action Apex (créé à la suite de l’inscription au service externe) pour effectuer l’appel à l’API.

Création de champs pour stocker les résultats d’analyse

Mais avant de commencer à développer le Flow, nous avons un peu de ménage à faire. Comme décrit dans la figure 3, les API REST Indico (Émotion) renvoie le degré ou une valeur correspondant à cinq émotions différentes : la colère, la peur, la joie, la surprise et la tristesse. Ainsi, nous devons créer 5 champs personnalisés pour stocker ces 5 valeurs correspondant à différentes émotions.

Jetons un coup d’œil à notre cas d’utilisation.

Cas d’utilisation

Voici le cas d’utilisation de la façon dont nous souhaitons activer nos représentants du support. Nous aborderons le cas d’utilisation en deux parties : la première partie (en gras) dans la suite de cet article, et la seconde dans un article de suivi.

En tant que représentant du support, je dois analyser l’émotion du texte dans le champ Description d’un enregistrement de cas créé via Envoyer un e-mail au cas ou alors Web à l’affaire. En fonction de l’émotion, je souhaite présenter automatiquement à l’Utilisateur du Support, Recommandations ou la Meilleures actions suivantes qui doivent être exécutés.

Eh bien, créons les 5 champs personnalisés sur le Cas objet.

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

8

Créons aussi 2 champs de formule qui afficherait le émotion la plus élevée et son la description respectivement.

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

9

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

10

Développer le flux

Commençons à construire le Flow. Voici à quoi ressemblerait notre Flow au final :

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

11

Ne paniquez pas. Nous allons passer en revue chacun des nœuds en détail.

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

DF 1.1

  1. Faites glisser dans un Élément d’écran sur la toile.
  2. Ajouter un Afficher le texte composant comme indiqué ci-dessus.

Ajoutez ensuite un Basculer composant avec le Étiqueter et Nom de l’API comme le montre la figure DF 1.1. Ajoutez également un Variable booléenne nommé estPrêtàDétecter dans le champ Valeur.

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

  1. Faites glisser dans un Élément de décision sur la toile.
  2. Ajouter un Résultat par défaut avec étiquette/nom de l’API – Oui/Oui.
  3. Ajouter un Critères comme indiqué ci-dessous –

{!tgglDetectEmotion.value} Égal à {!$GlobalConstant.True}

Connectez les nœuds sur le canevas : [1] ➜ [2]

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

  1. Faites glisser dans un Obtenir l’élément d’enregistrement sur la toile.
  2. Configurer le Conditions requises Comme montré ci-dessus (voir figure DF 3.1). Noter: Vous devrez créer une variable de texte nommée recordId comme indiqué ci-dessus. Il est très important de cocher la case – Disponible pour la saisie vérifié comme indiqué sur la figure DF 3.3.

Id est égal à {!recordId}

  1. Créer un Variable d’enregistrement nommé Cas et spécifiez les champs de cas qui doivent être stockés comme indiqué dans la figure DF 3.2. Assurez-vous que le Description du cas champ est sélectionné. Nous enverrons le texte contenu dans ce champ à l’API REST Indico pour l’analyse des émotions.

Connectez les nœuds sur le canevas : [2] ➜ [3]

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

  1. Créez une variable avec le nom – apiRequest comme le montre la figure DF 4.1. Le type de la variable sera Défini par Apex. C’est la partie intéressante. Si vous cliquez sur le menu déroulant pour sélectionner la classe Apex, vous remarquerez qu’une classe avec le nom – ExternalService_IndicoAPI_EmotionAPIRequest a été généré automatiquement et peut être sélectionné. C’était à la suite de l’enregistrement du service externe. Cette classe Apex représente le format JSON (Corps de la demande) dont nous avons parlé dans la figure 2. Ainsi, nous n’avons vraiment pas eu à écrire d’Apex du tout !
  2. Maintenant, faites glisser un Élément d’affectation sur la toile.
  3. Définissez les valeurs des variables comme indiqué dans la figure DF 4.2. Noter: L’apiKey contient la clé API que nous avons générée à partir du site Web d’Indico. Vous pouvez le stocker en tant que Paramètre personnalisé (Hiérarchie) et référencez-le dans votre Flow comme indiqué sur la figure DF 4.3.

Connectez les nœuds sur le canevas : [3] ➜ [4]

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

  1. Faites glisser un Élément d’action sur la toile.
  2. Filtrer par type et sélectionner Service externe. Vous remarquerez que le service externe que nous avions enregistré est maintenant disponible pour la sélection, c’est-à-dire, postÉmotion (voir figure DF 5.1).
  3. Clique sur le Définir les variables d’entrée onglet et sélectionnez la variable que nous avions créée à l’étape 4 (voir figure DF 4.1).
  4. Clique sur le Stocker les valeurs de sortie Maintenant, dans la zone de saisie intitulée 200, Cliquez sur Nouvelle ressource pour créer une variable de type Apex-Defined comme indiqué dans DF 5.3. Cela contiendra la réponse de l’API dont nous avons discuté dans la figure 3 (au début du blog). Encore une fois, nous n’avons jamais eu à créer les classes Apex !

Connectez les nœuds sur le canevas : [4] ➜ [5]

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

  1. Créez une autre variable de type définie par Apex nommée émotions comme le montre la figure DF 6.1. Cela stockera les 5 émotions différentes et leur valeur/degré respectif dont nous avons discuté dans la figure 3.
  2. Maintenant, faites glisser un Élément d’affectation sur la toile.
  3. Définissez les valeurs des variables comme indiqué dans la figure 6.2.

Connectez les nœuds sur le canevas : [5] ➜ [6]

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

  1. Faites glisser un autre Élément d’affectation.
  2. Définir des valeurs de variable pour les champs de cas (pour les émotions respectives) comme le montre la figure DF 7.1. Noter: utilisez la même variable d’enregistrement que celle créée à l’étape 3.

Connectez les nœuds sur le canevas : [6] ➜ [7]

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

  1. Faites glisser un Mise à jour de l’enregistrement élément sur la toile.
  2. Spécifiez l’enregistrement à mettre à jour en tant que {!case}.

Connectez les nœuds sur le canevas : [7] ➜ [8]

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

  1. Enfin, ajoutez un Élément d’écran avec un Afficher le texte comme le montre la figure DF 9.1.
  2. Connectez les nœuds sur le canevas : [8] ➜ [9]
  3. Activer le flux.

Aie! Je sais que c’était beaucoup de travail. Mais vous vous rendrez compte que l’effort en valait la peine lorsque vous le testerez enfin.

Ajout du flux à la page d’enregistrement

Maintenant, ajoutez le Flow à votre Page d’enregistrement de cas en utilisant le Composant Flow Lightning comme indiqué ci-dessous –

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

12

1. Ajoutez le Détecter l’émotion Accédez à la page d’enregistrement comme indiqué ci-dessus.

2. Assurez-vous que la case à cocher – Passer l’ID d’enregistrement dans cette variable est vérifié. Cela garantit que l’ID de l’enregistrement de cas est transmis à la variable recordId à l’intérieur de Flow.

Tester le flux

Jetons un coup d’œil au Flow en action.

, Comment créer un flux pour effectuer une analyse des émotions<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

13

Résumé : Respirez profondément !

Maintenant, respirez profondément. Vous avez accompli quelque chose de louable !

Dans cet article, je vous ai montré comment effectuer une analyse des émotions dans le cadre du service client et de la gestion de cas. N’oubliez pas qu’il ne s’agit que de la moitié de notre cas d’utilisation complet ; dans mon prochain article, j’expliquerai comment « afficher les recommandations ou la prochaine meilleure action » à vos utilisateurs d’assistance à l’aide d’Einstein Next Best Action, intégrée à l’analyse des émotions.



Source de l’article traduit automatiquement en Français

Besoin d'aide ?
Vous utilisez Pardot depuis un certain temps mais vous n'êtes pas sûr d'en
exploiter tout le potentiel

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer