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 Kerjanya

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 oleh 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/LATEST-GRAPH-API-VERSION/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 Webhooks

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

Entitas dan Sifat

Platform Messenger menampilkan entitas berikut secara default.

InformasiEntitas

Jumlah uang

wit$amount_of_money:amount_of_money

Tanggal/Waktu

wit$datetime:$datetime

Jarak

wit$distance:distance

Durasi

wit$duration:duration

Alamat email

wit$email:email

Lokasi

wit$location:location

Nomor telepon

wit$phone_number:phone_number

Kuantitas

wit$quantity:quantity

Suhu

wit$temperature:temperature

URL

wit$url:url

Volume

wit$volume:volume

Sifat Built-in

Platform Messenger menampilkan sifat-sifat berikut secara default.

InformasiSifat

Selamat tinggal (hanya bahasa Inggris)

wit$bye

Salam (hanya Bahasa Inggris)

wit$greetings

Sentimen

wit$sentiment

Terima kasih (hanya Bahasa Inggris)

wit$thanks

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

Contoh Notifikasi

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

{...,
  "entities": {
    "wit$datetime:datetime": [
      {
        "id": "340464963587159",
        "name": "wit$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": {
    "wit$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, 'wit$greetings');
  if (greeting && greeting.confidence > 0.8) {
    sendResponse('Hi there!');
  } else { 
    // default logic
  }
}