Traitement automatique du langage naturel pour la plateforme Messenger

Le traitement automatique du langage naturel (TALN) vous permet de comprendre les messages reçus par votre entreprise et d’en extraire des informations significatives (dates, heure, etc.). Vous pouvez utiliser ces informations pour identifier l’intention de mettre en œuvre l’expérience de messagerie nécessaire à la conversation.

L’utilisation du TALN intégré de Meta réduit les appels d’API qui comptent dans les limites du taux de messagerie.

Fonctionnement

Avant qu’un message ne soit transmis à votre entreprise, le TALN intégré de Meta l’analyse pour en détecter le sens et en extraire des informations en utilisant Wit.ai dtre Meta, ainsi qu’un niveau de confiance qui indique la probabilité que l’analyseur syntaxique soit correct. Le message est ensuite relayé à votre entreprise comme d’habitude, ainsi que toute information significative (entités et caractéristiques) détectée dans le message. Par exemple, si un message contient une phrase comme « Bonjour, demain à 14 heures », vous obtiendrez une caractéristique qui comprend la formule de salutation et une entité qui comprend l’horodatage réel.

L’identification de la langue est automatiquement activée grâce à la technologie TALN intégrée, et la date et l’heure sont automatiquement localisées en fonction de la localisation dans le profil de la personne.

Wit.ai

Wit.ai est l’application qui analyse le message et crée les entités à partir du message d’une personne. Vous pouvez utiliser l’application Wit.ai par défaut pour les langues prises en charge ou créer votre propre application Wit.ai pour chaque langue que vous souhaitez prendre en charge. Lorsque la plateforme Messenger reçoit un message, elle commence par détecter la langue principale, puis utilise l’application Wit.ai pour extraire les entités. Si aucune application Wit.ai n’est associée à la langue principale détectée, le modèle de langue par défaut est utilisé.

Consultez notre documentation Wit.ai pour plus d’informations sur les applications Wit.ai et la création et le test de votre propre application Wit.ai personnalisée, et pour obtenir une liste des langues prises en charge.

Ajout du TALN à votre Page

Il existe deux façons d’ajouter le TALN à votre Page d’entreprise : en utilisant l’Espace App Meta ou par programmation.

Espace App

Pour ajouter le TALN intégré à l’aide de l’Espace App, sous Produits, accédez à Messenger > Paramètres et faites défiler jusqu’à la section TALN intégré. Sélectionnez la Page Facebook dans le menu déroulant et sélectionnez ON. Sélectionnez ensuite le Modèle de langue, lequel comprend notamment une option permettant d’ajouter plusieurs langues. Les Paramètres avancés vous permettent de sélectionner la version TALN, le marqueur de détail pour obtenir plus d’informations sur les entités, et les valeurs n-best pour chaque intention et trait que vous souhaitez recevoir. Ce paramètre détermine également le nombre de paramètres régionaux détectés renvoyés.

Des échantillons aléatoires d’anciennes conversations de la messagerie de Page seront compilés et apparaîtront dans la nouvelle application Wit. Vous pourrez identifier instantanément ces échantillons dans votre application Wit.ai.

Par programmation

Pour ajouter le TALN par programmation, vous aurez besoin des éléments suivants :

  • Un token d’accès de Page demandé par une personne autorisée à effectuer la tâche MESSAGING sur la Page
  • L’ID de la Page
  • Les autorisations pages_messaging et pages_manage_metadata

Envoyez une requête POST au point de terminaison /PAGE-ID/nlp_configs avec le paramètre nlp_enabled défini sur true pour activer le TALN pour la Page. Vous pouvez également inclure le paramètre model pour définir une langue autre que la langue par défaut, l’anglais.

Pour plus d’informations, consultez la référence au TALN sur les Pages.

Exemple de requête

Formaté pour plus de lisibilité.
curl -i -X POST "https://graph.facebook.com/v21.0/me/nlp_configs
      ?nlp_enabled=true
      &model=PORTUGUESE 
      &access_token=PAGE-ACCESS-TOKEN"

Vous pouvez utiliser le paramètre custom_token pour utiliser votre application Wit.ai personnalisée et mettre à jour les paramètres TALN avec des requêtes POST. Pour désactiver le TALN, envoyez une requête POST avec le paramètre nlp_enabled défini sur false.

Notification de webhook

Le webhook message comprend à présent deux champs TALN lorsque le TALN intégré est activé : nlp et nlpv2. nlp est un ancien champ qui utilise une convention d’appellation obsolète pour les entités et les caractéristiques. Le champ nlpv2 utilise des noms d’entités et de caractéristiques simplifiés, comme indiqué ci-dessous.

Le champ nlp sera supprimé le 18 juin 2024.

Si le TALN intégré est activé, les entités et caractéristiques TALN pertinentes seront incluses dans la notification des webhooks message pour chaque objet de message.

Entités et caractéristiques

Par défaut, la plateforme Messenger renvoie les entités suivantes.

InformationEntité

Somme d’argent

amount_of_money

Date/heure

datetime

Distance

distance

Durée

duration

Adresse e-mail

email

Lieu

location

Numéro de téléphone

phone_number

Quantité

quantity

Température

temperature

URL

url

Volume

volume

Caractéristiques intégrées

Par défaut, la plateforme Messenger renvoie les caractéristiques suivantes.

InformationCaractéristique

Au revoir (en anglais uniquement)

bye

Salutations (en anglais uniquement)

greetings

Sentiment

sentiment

Remerciements (en anglais uniquement)

thanks

Pour en savoir plus sur les entités, les caractéristiques, etc., consultez notre documentation Wit.ia.

Exemple de notification

L’exemple suivant concerne un message qui comprend la phrase « à demain à 16 heures » et qui comprendrait les entités datetime et sentiment après analyse :

{...,
  "entities": {
    "datetime:datetime": [
      {
        "id": "340464963587159",
        "name": "datetime",
        "role": "datetime",
        "start": 8,
        "end": 23,
        "body": "tomorrow at 4pm",
        "confidence": 0.9704,
        "entities": [],
        "type": "value",
        "grain": "hour",
        "value": "2020-06-16T16:00:00.000-07:00",
        "values": [
          {
            "type": "value",
            "grain": "hour",
            "value": "2020-06-16T16:00:00.000-07:00"
          }
        ]
      }
    ]
  },
  "traits": {
    "sentiment": [
      {
        "id": "5ac2b50a-44e4-466e-9d49-bad6bd40092c",
        "value": "neutral",
        "confidence": 0.6162
      }
    ]
  }

Analyse d’un message TALN

Dans vos Webhooks messages, vous pouvez répondre à un message en tirant parti du TALN par défaut. Par exemple, si vous avez une fonction handleMessage() qui répond à chaque message que vous recevez, vous pouvez utiliser l’entité greetings pour envoyer une réponse appropriée :

function firstTrait(nlp, name) {
  return nlp && nlp.entities && nlp.traits[name] && nlp.traits[name][0];
}

function handleMessage(message) {
  // check greeting is here and is confident
  const greeting = firstTrait(message.nlp, 'greetings');
  if (greeting && greeting.confidence > 0.8) {
    sendResponse('Hi there!');
  } else { 
    // default logic
  }
}