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.
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 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.
Il existe deux façons d’ajouter le TALN à votre Page d’entreprise : en utilisant l’Espace App Meta ou par programmation.
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.
Pour ajouter le TALN par programmation, vous aurez besoin des éléments suivants :
MESSAGING
sur la Pagepages_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.
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
.
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.
Par défaut, la plateforme Messenger renvoie les entités suivantes.
Information | Entité |
---|---|
Somme d’argent |
|
Date/heure |
|
Distance |
|
Durée |
|
Adresse e-mail |
|
Lieu |
|
Numéro de téléphone |
|
Quantité |
|
Température |
|
URL |
|
Volume |
|
Par défaut, la plateforme Messenger renvoie les caractéristiques suivantes.
Information | Caractéristique |
---|---|
Au revoir (en anglais uniquement) |
|
Salutations (en anglais uniquement) |
|
Sentiment |
|
Remerciements (en anglais uniquement) |
|
Pour en savoir plus sur les entités, les caractéristiques, etc., consultez notre documentation Wit.ia.
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
}
]
}
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
}
}