Pemrosesan Bahasa Alami untuk Platform Messenger

Natural Language Processing (NLP) memungkinkan Anda memahami dan mengekstrak informasi yang berarti (tanggal, waktu, dan lainnya) dari pesan yang diterima bisnis Anda. Anda dapat menggunakan informasi ini untuk mengidentifikasi maksud guna menerapkan pengalaman berkirim pesan yang dibutuhkan untuk percakapan.

Menggunakan NLP Built-in Meta mengurangi panggilan API yang diperhitungkan terhadap batas laju berkirim pesan.

Cara Kerja

Sebelum pesan dikirimkan ke bisnis Anda, NLP Built-in Meta terlebih dahulu mem-parsing pesan untuk membantu mendeteksi makna dan mengekstrak informasi menggunakan Wit.ai dari Meta serta tingkat kepercayaan yang menunjukkan kemungkinan parser benar. Pesan tersebut kemudian akan diteruskan ke bisnis Anda seperti biasa, bersama dengan informasi yang berarti, entitas, dan sifat, terdeteksi di pesan. Contoh: jika sebuah pesan berisi frasa seperti “halo, besok jam 2 siang”, Anda akan mendapatkan sifat yang mencakup salam dan sebuah entitas yang mencakup cap waktu aktual.

Identifikasi bahasa secara otomatis diaktifkan dengan NLP built-in, serta tanggal dan waktu secara otomatis dilokalkan berdasarkan locale di profil orang tersebut.

Wit.ai

Wit.ai adalah aplikasi yang mem-parsing pesan dan membuat entitas dari pesan seseorang. Anda dapat menggunakan Wit.ai default untuk bahasa yang didukung atau membuat aplikasi Wit.ai Anda sendiri untuk setiap bahasa yang ingin Anda dukung. Ketika Platform Messenger menerima pesan, pertama-tama ia akan menemukan bahasa yang terdeteksi teratas, dan menggunakan aplikasi Wit.ai terkait untuk mengekstraksi entitas. Jika tidak ada aplikasi Wit.ai yang terhubung ke bahasa yang terdeteksi teratas, model bahasa default akan digunakan.

Kunjungi dokumentasi Wit.ai kami untuk informasi selengkapnya tentang Aplikasi Wit.ai serta membuat dan menguji aplikasi Wit.ai khusus Anda sendiri serta daftar bahasa yang didukung .

Menambahkan NLP ke Halaman Anda

Ada dua cara untuk menambahkan NLP ke Halaman bisnis Anda, menggunakan Dasbor Aplikasi Meta atau secara terprogram.

Dasbor Aplikasi

Untuk menambahkan NLP Built-in menggunakan Dasbor Aplikasi , di bawah Produk navigasi ke Messenger > Pengaturan, dan gulir ke NLP Built-in. Pilih Halaman Facebook dari menu pilihan dan beralih ke AKTIF. Kemudian pilih Model Bahasa, yang mencakup opsi untuk menambahkan beberapa bahasa. Pengaturan Lanjutan memungkinkan Anda memilih versi NLP, tanda verbose untuk mendapatkan informasi selengkapnya tentang entitas, dan nilai n-terbaik untuk setiap maksud dan sifat yang ingin Anda terima. Pengaturan ini juga menentukan jumlah locale terdeteksi yang ditampilkan.

Contoh acak dari percakapan lama Anda di pesan masuk Halaman akan dikumpulkan dan akan ditampilkan dalam aplikasi Wit yang baru saja dibuat. Contoh akan segera tersedia untuk ditandai di aplikasi Wit.ai Anda.

Secara terprogram

Untuk menambahkan NLP secara terprogram, Anda akan membutuhkan:

  • Token akses Halaman yang diminta dari seseorang yang dapat melakukan tugas MESSAGING di Halaman
  • ID Halaman
  • Izin pages_messaging dan pages_manage_metadata

Kirim permintaan POST ke endpoint /PAGE-ID/nlp_configs dengan parameter nlp_enabled diatur ke true guna mengaktifkan NLP untuk Halaman. Anda juga dapat memasukkan parameter model untuk mengatur bahasa selain default bahasa Inggris.

Lihat Referensi NLP Halaman untuk informasi selengkapnya.

Contoh Permintaan

Diformat agar mudah dibaca.
curl -i -X POST "https://graph.facebook.com/v21.0/me/nlp_configs
      ?nlp_enabled=true
      &model=PORTUGUESE 
      &access_token=PAGE-ACCESS-TOKEN"

Anda dapat menggunakan parameter custom_token untuk menggunakan aplikasi Wit.ai khusus Anda, dan memperbarui parameter NLP dengan permintaan POST. Untuk menonaktifkan NLP, kirim permintaan POST dengan parameter nlp_enabled diatur ke false.

Notifikasi Webhook

Webhook pesan sekarang berisi dua kolom NLP saat NLP built-in diaktifkan: nlp dan nlpv2. Kolom nlp adalah kolom lama yang menggunakan konvensi penamaan yang sudah tidak digunakan lagi untuk nama entitas dan karakteristik. Kolom nlpv2 menggunakan nama yang disederhanakan untuk entitas dan karakteristik, seperti yang ditunjukkan di bawah.

Kolom nlp akan dihapus pada tanggal 18 Juni 2024.

Jika NLP Built-in diaktifkan, entitas NLP dan karakteristik terkait akan disertakan dalam notifikasi Webhooks message untuk setiap objek pesan.

Entitas dan Sifat

Platform Messenger menampilkan entitas berikut secara default.

InformasiEntitas

Jumlah uang

amount_of_money

Tanggal/Waktu

datetime

Jarak

distance

Durasi

duration

Alamat email

email

Lokasi

location

Nomor telepon

phone_number

Kuantitas

quantity

Suhu

temperature

URL

url

Volume

volume

Karakteristik Built-in

Platform Messenger menampilkan sifat-sifat berikut secara default.

InformasiSifat

Selamat tinggal (hanya bahasa Inggris)

bye

Salam (hanya Bahasa Inggris)

greetings

Sentimen

sentiment

Terima kasih (hanya Bahasa Inggris)

thanks

Kunjungi dokumentasi Wit.ai kami untuk mempelajari selengkapnya tentang entitas yang tersedia, karakteristik, dan banyak lagi.

Contoh Notifikasi

Contoh berikut adalah untuk pesan yang mencakup frasa "sampai jumpa besok jam 4 sore" serta akan mencakup entitas datetime dan sentiment setelah parsing:

{...,
  "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
      }
    ]
  }

Parse Pesan NLP

Di Webhooks messages, Anda dapat memperbarui logika yang digunakan untuk menanggapi pesan dengan memanfaatkan NLP Default. Contoh: jika Anda memiliki fungsi handleMessage() yang menanggapi setiap pesan yang diterima, Anda dapat menggunakan entitas greetings untuk mengirim tanggapan yang sesuai:

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
  }
}