L'elaborazione del linguaggio naturale (NLP) ti consente di comprendere ed estrarre informazioni preziose (data, ora e altro) dai messaggi ricevuti dalla tua attività. Puoi usare queste informazioni per identificare l'intenzione del mittente e implementare l'esperienza di messaggistica necessaria alla conversazione.
Usare l'NLP integrata di Meta riduce le chiamate API che vengono conteggiate nel rate limiting dei messaggi.
Innanzitutto, prima che un messaggio venga consegnato alla tua attività, l'NLP integrata di Meta lo analizza per individuarne il significato ed estrarre informazioni usando Wit.ai di Meta e per determinare un livello di sicurezza che indica l'attendibilità dei risultati del parser. Il messaggio viene poi normalmente trasmesso alla tua attività, insieme ad altre utili informazioni, entità e caratteristiche rilevate nel messaggio. Ad esempio, se un messaggio contiene la frase "Ciao, domani alle 14:00", riceverai una caratteristica che include il saluto e un'entità che include l'indicazione temporale.
L'identificazione della lingua viene abilitata automaticamente dall'NLP integrata, mentre data e ora sono localizzate automaticamente in base alla lingua del profilo dell'utente.
Wit.ai è l'app che analizza il messaggio e lo usa come base per creare le entità. Puoi usare l'app Wit.ai predefinita per le lingue supportate o creare la tua app Wit.ai per ogni lingua che intendi supportare. Quando la Piattaforma Messenger riceve un messaggio, individuerà innanzitutto la lingua rilevata e userà l'app Wit.ai associata per estrarre le entità. Se nessuna app Wit.ai è collegata alla lingua rilevata, verrà usato il modello di lingua predefinito.
Consulta la nostra documentazione Wit.ai per ulteriori informazioni su App Wit.ai e creazione e test di un'app Wit.ai personalizzata oltre alla lista di lingue supportate .
Puoi aggiungere l'NLP alla tua pagina aziendale usando la Dashboard gestione app di Meta o in modo programmatico.
Per aggiungere l'NLP integrata usando la Dashboard gestione app , alla voce Prodotti accedi a Messenger > Impostazioni e scorri fino alla sezione NLP integrata. Seleziona la pagina Facebook dal menu a discesa e imposta Sì. Poi seleziona il Modello di lingua, che offre la possibilità di aggiungere più lingue. Le Impostazioni avanzate ti permettono di selezionare la versione NLP e il flag verbose per ottenere altre informazioni sulle entità, oltre ai valori n-best per ogni intenzione e caratteristica che vuoi ricevere. Questa impostazione determina inoltre il numero di lingue restituite.
Vengono compilati esempi casuali delle tue conversazioni precedenti nella Posta della Pagina, visualizzati nell'app Wit appena creata. Gli esempi sono immediatamente disponibili per i tag nella tua app Wit.ai.
Per aggiungere l'NLP in modo programmatico, avrai bisogno di:
MESSAGING
sulla Paginapages_messaging
e pages_manage_metadata
Invia una richiesta POST
all'endpoint /PAGE-ID/nlp_configs
con il parametro nlp_enabled
impostato su true
per abilitare l'NLP per la Pagina. Puoi anche includere il parametro model
per impostare una lingua diversa da quella predefinita (inglese).
Visualizza il Riferimento NLP Pagina per ulteriori informazioni.
curl -i -X POST "https://graph.facebook.com/v21.0
/me/nlp_configs
?nlp_enabled=true
&model=PORTUGUESE
&access_token=PAGE-ACCESS-TOKEN"
Puoi usare il parametro custom_token
per usare la tua app Wit.ai personalizzata e aggiornare i parametri NLP con le richieste POST
. Per disabilitare l'NLP, invia una richiesta POST
con il parametro nlp_enabled
impostato su false
.
Il webhook dei messaggi ora contiene due campi NLP quando l'NLP integrata è abilitata: nlp
e nlpv2
. Il campo nlp
è un campo legacy che utilizza una convenzione di denominazione obsoleta per i nomi di entità e caratteristiche. Il campo nlpv2
utilizza nomi semplificati per entità e caratteristiche, come mostrato di seguito.
Il campo nlp
sarà rimosso il 18 giugno 2024.
Se l'NLP integrata è abilitata, le entità e le caratteristiche NLP rilevanti saranno incluse nelle notifiche webhook message
per ogni oggetto.
La Piattaforma Messenger restituisce le seguenti entità per impostazione predefinita.
Informazioni | Entità |
---|---|
Importo |
|
Data/Ora |
|
Distanza |
|
Durata |
|
Indirizzo e-mail |
|
Luogo |
|
Numero di telefono |
|
Quantità |
|
Temperatura |
|
URL |
|
Volume |
|
La Piattaforma Messenger restituisce le seguenti caratteristiche per impostazione predefinita.
Informazioni | Caratteristica |
---|---|
Saluti finali (solo inglese) |
|
Saluti (solo inglese) |
|
Percezione |
|
Ringraziamenti (solo inglese) |
|
Consulta la documentazione Wit.ia per scoprire di più su entità e caratteristiche disponibili, e altro ancora.
L'esempio di seguito riguarda un messaggio che include la frase "Ci vediamo domani alle 16:00" e includerà le entità datetime
e sentiment
dopo l'analisi:
{...,
"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
}
]
}
Nei tuoi webhook messages
, puoi rispondere a un messaggio sfruttando l'NLP predefinita. Ad esempio, se il tuo webhook presenta una funzione handleMessage()
per la risposta a ciascun messaggio ricevuto, puoi usare l'entità greetings
per inviare una risposta appropriata:
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
}
}