Durch NLP (Natural Language Processing, Natürliche Sprachverarbeitung) kannst du wichtige Informationen (Termine, Zeiten und mehr) aus gesendeten Nachrichten verstehen und extrahieren. Anhand dieser Informationen kannst du die Absicht ermitteln, das für die Unterhaltung erforderliche Nachrichtenerlebnis zu implementieren.
Durch integriertes NLP von Meta werden API-Aufrufe reduziert, die auf die Ratenbegrenzungen für Nachrichten angerechnet werden.
Bevor eine Nachricht an dein Unternehmen ausgeliefert wird, wird sie zuerst durch das integrierte NLP von Meta analysiert, um die Bedeutung zu erkennen und Informationen zu extrahieren. Dazu wird sowohl Wit.ai von Meta als auch ein Zuverlässigkeitsgrad verwendet, der die Wahrscheinlichkeit angibt, mit welcher der Parser korrekt ist. Die Nachricht wird dann wie gewöhnlich an dein Unternehmen zugestellt, zusammen mit relevanten Informationen, Entitäten und Eigenschaften, die in der Nachricht erkannt wurden. Wenn eine Nachricht beispielsweise einen Satz wie „Hallo, morgen um 14 Uhr“ enthält, erhältst du eine Eigenschaft, die die Begrüßung enthält, und eine Entität, die den tatsächlichen Zeitstempel enthält.
Die Spracherkennung wird automatisch mit integriertem NLP aktiviert und Datum und Uhrzeit werden automatisch auf Basis des Gebietsschemas im Profil der Person lokalisiert.
Wit.ai ist die App, mit der die Nachricht analysiert wird und welche die Entitäten aus der Nachricht einer Person erstellt. Du kannst für unterstützte Sprachen die Standard-Wit.ai-App verwenden oder für jede Sprache, die unterstützt werden soll, deine eigene Wit.ai-App erstellen. Wenn die Messenger-Plattform eine Nachricht erhält, wird zuerst die erste erkannte Sprache gesucht. Anschließend werden die Einheiten mithilfe der verknüpften Wit.ai-App extrahiert. Wenn mit der ersten erkannten Sprache keine Wit.ai-App verknüpft ist, wird das Standardsprachmodell verwendet.
Weitere Informationen zu Wit.ai-Apps und Erstellen und Testen deiner eigenen Wit.ai-App sowie eine Liste der unterstützten Sprachen findest du in unserer Wit.ai-Dokumentation.
Es gibt zwei Möglichkeiten, NLP zu deiner Unternehmensseite hinzuzufügen: über das Meta-App-Dashboard oder programmgesteuert.
Um integriertes NLP über das App-Dashboard hinzuzufügen, navigiere unter Produkte zu Messenger > Einstellungen und scrolle nach unten zum Abschnitt Integriertes NLP. Wähle im Dropdown-Menü die Facebook-Seite aus und schalte um auf EIN. Wähle dann das Sprachmodell aus, das eine Option zum Hinzufügen mehrerer Sprachen enthält. Anhand der erweiterten Einstellungen kannst du die NLP-Version, die Kennzeichnung „verbose“ (ausführlich) für mehr Informationen zu Entitäten sowie n-beste Werte für jede Ansicht und jede Eigenschaft auswählen, die du erhalten möchtest. Diese Einstellung bestimmt auch die Anzahl der erkannten Gebietsschemata, die zurückgegeben werden.
Zufällige Ausschnitte vergangener Unterhaltungen im Seitenpostfach werden zusammengetragen und in einer neu erstellten Wit-App angezeigt. Du kannst diese Beispiele sofort in deiner Wit.ai-App markieren.
Um NLP programmatisch hinzuzufügen, benötigst du Folgendes:
MESSAGING
ausführen kannpages_messaging
und pages_manage_metadata
Sende eine POST
-Anfrage an den /PAGE-ID/nlp_configs
-Endpunkt, wobei der Parameter nlp_enabled
auf true
festgelegt ist, um NLP für die Seite zu aktivieren. Du kannst auch den Parameter model
einschließen, um eine andere Sprache als die Standardsprache Englisch festzulegen.
Weitere Informationen findest du in der Referenz zu Seiten-NLP.
curl -i -X POST "https://graph.facebook.com/v21.0
/me/nlp_configs
?nlp_enabled=true
&model=PORTUGUESE
&access_token=PAGE-ACCESS-TOKEN"
Du kannst den Parameter custom_token
verwenden, um deine personalisierte Wit.ai-App zu verwenden, und NLP-Parameter mit POST
-Anfragen aktualisieren. Um NLP zu deaktivieren, sende eine POST
-Anfrage, in welcher der Parameter nlp_enabled
auf false
festgelegt ist.
Der Nachrichten-Webhook enthält jetzt zwei NLP-Felder, wenn integriertes NLP aktiviert ist: nlp
und nlpv2
. Das nlp
-Feld ist ein Legacy-Feld, das eine veraltete Namenskonvention für Entitäts- und Eigenschaftsnamen verwendet. Das nlpv2
-Feld verwendet vereinfachte Entitäts- und Eigenschaftsnamen, wie nachfolgend gezeigt.
Das nlp
-Feld wird am 18. Juni 2024 entfernt.
Wenn integriertes NLP aktiviert ist, werden die entsprechenden NLP-Entitäten und -Eigenschaften in die message
-Webhooks-Benachrichtigung für jedes Nachrichtenobjekt eingeschlossen.
Die Messenger-Plattform gibt standardmäßig die folgenden Entitäten zurück.
Informationen | Entität |
---|---|
Geldbetrag |
|
Datum/Uhrzeit |
|
Entfernung |
|
Dauer |
|
E-Mail-Adresse |
|
Standort |
|
Telefonnummer |
|
Menge |
|
Temperatur |
|
URL |
|
Lautstärke |
|
Die Messenger-Plattform gibt standardmäßig die folgenden Eigenschaften zurück.
Informationen | Eigenschaft |
---|---|
Bye (nur auf Englisch) |
|
Greetings (nur auf Englisch) |
|
Stimmung |
|
Thanks (nur auf Englisch) |
|
In unserer Wit.ai-Dokumentation findest du weitere Informationen zu verfügbaren Entitäten, Eigenschaften und mehr.
Es folgt ein Beispiel für eine Nachricht, die den Ausdruck „bis morgen um 16 Uhr“ enthält und nach der Analyse die Entitäten wit$datetime
und wit$sentiment
enthalten würde:
{...,
"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
}
]
}
In deinen messages
-Webhooks kannst du über Standard-NLP auf eine Nachricht antworten. Beispiel: Wenn eine handleMessage()
-Funktion auf jede empfangene Nachricht antwortet, kannst du über die greetings
-Entität eine entsprechende Antwort senden:
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
}
}