การประมวลผลภาษาธรรมชาติสำหรับแพลตฟอร์ม Messenger

การประมวลผลภาษาธรรมชาติ (NLP) ช่วยให้คุณเข้าใจและแยกข้อมูลที่มีความหมาย (วันที่ เวลา และอีกมากมาย) จากข้อความที่ธุรกิจของคุณได้รับ คุณสามารถใช้ข้อมูลนี้เพื่อระบุความประสงค์ในการใช้ประสบการณ์การส่งข้อความที่จำเป็นสำหรับการสนทนาได้

การใช้ NLP ในตัวของ Meta จะลดการเรียกใช้ API ที่นับรวมอยู่ในขีดจำกัดอัตราของการส่งข้อความ

วิธีการทำงาน

ก่อนที่ข้อความจะส่งมาถึงธุรกิจของคุณ NLP ในตัวของ Meta จะแยกวิเคราะห์ข้อความก่อนเพื่อช่วยตรวจจับความหมาย และแยกข้อมูลโดยใช้ Wit.ai จาก Meta รวมถึงระดับความเชื่อมั่นซึ่งแสดงถึงความเป็นไปได้ที่ตัวแยกวิเคราะห์จะทำงานได้ถูกต้อง จากนั้น ระบบจะส่งข้อความดังกล่าวให้กับธุรกิจของคุณตามปกติ พร้อมกับข้อมูลที่มีความหมาย ซึ่งก็คือ เอนทิตี้และคุณลักษณะที่ตรวจพบในข้อความ ตัวอย่างเช่น หากข้อความมีวลีอย่าง “สวัสดี พรุ่งนี้ตอน 14:00 น.” คุณจะได้รับคุณลักษณะที่มีการทักทายอยู่และเอนทิตี้ที่มีประทับเวลาตามจริงอยู่

ระบบจะเปิดใช้งานการระบุภาษาด้วย NLP ในตัว และจะปรับวันที่และเวลาให้เข้ากับแต่ละท้องถิ่นตามรูปแบบภาษาในโปรไฟล์ของบุคคลนั้นๆ โดยอัตโนมัติ

Wit.ai

Wit.ai คือแอพที่จะแยกวิเคราะห์ข้อความและสร้างเอนทิตี้จากข้อความของผู้ใช้ คุณสามารถใช้ Wit.ai เริ่มต้นสำหรับภาษาที่รองรับ หรือจะสร้างแอพ Wit.ai ของคุณเองขึ้นมาสำหรับแต่ละภาษาที่คุณต้องการจะรองรับก็ได้ เมื่อแพลตฟอร์ม Messenger ได้รับข้อความ ระบบจะค้นหาภาษาที่ตรวจพบสูงสุดเป็นอันดับแรก จากนั้นจะใช้แอพ Wit.ai ที่เชื่อมโยงกับภาษานั้นเพื่อแยกเอนทิตี้ หากไม่มีแอพ Wit.ai ที่เชื่อมโยงกับภาษาที่ตรวจพบสูงสุด ระบบจะใช้โมเดลภาษาเริ่มต้น

โปรดไปที่เอกสารประกอบเกี่ยวกับ Wit.ai เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับแอพ Wit.ai รวมถึงการสร้างและการทดสอบแอพ Wit.ai ที่คุณกำหนดเอง ตลอดจนรายการภาษาที่รองรับ

เพิ่ม NLP ลงในเพจของคุณ

คุณสามารถเพิ่ม NLP ลงในเพจของธุรกิจได้ 2 วิธี ได้แก่ การใช้แดชบอร์ดของแอพจาก Meta หรือการใช้โปรแกรม

แดชบอร์ดของแอพ

หากต้องการเพิ่ม NLP ที่มีอยู่ในตัวโดยใช้แดชบอร์ดของแอพ ในส่วนผลิตภัณฑ์ ให้ไปที่ Messenger > การตั้งค่า และเลื่อนลงไปที่ส่วน NLP ในตัว เลือกเพจ Facebook จากเมนูดร็อปดาวน์และสลับเป็นเปิด จากนั้นเลือกโมเดลภาษา ซึ่งจะมีตัวเลือกให้เพิ่มภาษาได้หลายภาษา การตั้งค่าขั้นสูงจะช่วยให้คุณสามารถเลือกเวอร์ชั่นของ NLP, การรายงานด้านการใช้ถ้อยคำเพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับเอนทิตี้ และค่า n-best สำหรับความประสงค์และคุณลักษณะแต่ละแบบที่คุณต้องการรับ การตั้งค่านี้ยังกำหนดจำนวนรูปแบบภาษาที่ตรวจพบซึ่งระบบส่งคืนมาอีกด้วย

ระบบจะคอมไพล์ตัวอย่างแบบสุ่มจากการสนทนาที่ผ่านๆ มาในกล่องข้อความของเพจ และจะแสดงในแอพ Wit ที่เพิ่งสร้างขึ้นมา โดยตัวอย่างจะพร้อมสำหรับการแท็กในแอพ Wit.ai ของคุณทันที

การใช้โปรแกรม

หากต้องการเพิ่ม NLP โดยใช้โปรแกรม คุณจะต้องดำเนินการดังต่อไปนี้

  • โทเค็นการเข้าถึงเพจซึ่งขอจากผู้ที่สามารถดำเนินงาน MESSAGING บนเพจได้
  • ID เพจ
  • สิทธิ์การอนุญาต pages_messaging และ pages_manage_metadata

ส่งคำขอ POST ไปยังตำแหน่งข้อมูล /PAGE-ID/nlp_configs โดยตั้งค่าพารามิเตอร์ nlp_enabled เป็น true เพื่อเปิดใช้งาน NLP สำหรับเพจ คุณยังสามารถรวมพารามิเตอร์ model เอาไว้ เพื่อตั้งค่าภาษานอกเหนือจากภาษาอังกฤษที่เป็นภาษาเริ่มต้นได้ด้วย

โปรดดูข้อมูลเพิ่มเติมที่ข้อมูลอ้างอิงเกี่ยวกับ NLP ของเพจ

ตัวอย่างคำขอ

มีการจัดรูปแบบเพื่อให้อ่านได้ง่าย
curl -i -X POST "https://graph.facebook.com/v21.0/me/nlp_configs
      ?nlp_enabled=true
      &model=PORTUGUESE 
      &access_token=PAGE-ACCESS-TOKEN"

คุณสามารถใช้พารามิเตอร์ custom_token เพื่อใช้แอพ Wit.ai ที่คุณกำหนดเองและอัพเดตพารามิเตอร์ NLP ด้วยคำขอ POST ได้ หากต้องการปิดใช้งาน NLP ให้ส่งคำขอ POST โดยตั้งค่าพารามิเตอร์ nlp_enabled เป็น false

การแจ้งเตือน Webhook

ตอนนี้ Webhook message จะประกอบด้วยช่อง NLP จำนวน 2 ช่องเมื่อเปิดใช้งาน NLP ในตัวเอาไว้ ได้แก่ nlp และ nlpv2 ช่อง nlp เป็นช่องเก่าที่ใช้หลักเกณฑ์การตั้งชื่อที่เลิกใช้แล้วสำหรับชื่อเอนทิตี้และคุณลักษณะ ช่อง nlpv2 ใช้ชื่อแบบเรียบง่ายสำหรับเอนทิตี้และคุณลักษณะต่างๆ ดังที่แสดงไว้ด้านล่าง

ช่อง nlp จะถูกลบออกในวันที่ 18 มิถุนายน 2024

หากเปิดใช้งาน NLP ในตัวแล้ว เอนทิตี้และคุณลักษณะของ NLP ที่เกี่ยวข้องจะรวมอยู่ในการแจ้งเตือน Webhooks message สำหรับอ็อบเจ็กต์ข้อความแต่ละรายการ

เอนทิตี้และคุณลักษณะ

โดยค่าเริ่มต้นแล้ว แพลตฟอร์ม Messenger จะส่งคืนเอนทิตี้ดังต่อไปนี้

ข้อมูลเอนทิตี้

จำนวนเงิน

amount_of_money

วันที่/เวลา

datetime

ระยะทาง

distance

ระยะเวลา

duration

อีเมล

email

ตำแหน่งที่ตั้ง

location

หมายเลขโทรศัพท์

phone_number

จำนวน

quantity

อุณหภูมิ

temperature

URL

url

ปริมาณ

volume

คุณลักษณะในตัว

โดยค่าเริ่มต้นแล้ว แพลตฟอร์ม Messenger จะส่งคืนคุณลักษณะดังต่อไปนี้

ข้อมูลคุณลักษณะ

คำอำลา (ภาษาอังกฤษเท่านั้น)

bye

คำทักทาย (ภาษาอังกฤษเท่านั้น)

greetings

ความรู้สึกโดยรวม

sentiment

คำขอบคุณ (ภาษาอังกฤษเท่านั้น)

thanks

โปรดเรียนรู้เพิ่มเติมเกี่ยวกับเอนทิตี้ คุณลักษณะ และอื่นๆ ที่สามารถใช้ได้ที่เอกสารประกอบเกี่ยวกับ Wit.ai ของเรา

ตัวอย่างการแจ้งเตือน

ตัวอย่างต่อไปนี้มีไว้สำหรับข้อความที่มีวลีว่า “เจอกันพรุ่งนี้ตอน 16:00 น.” และจะมีเอนทิตี้ datetime กับ sentiment หลังการแยกวิเคราะห์

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

แยกวิเคราะห์ข้อความ NLP

ใน Webhooks messages คุณสามารถตอบกลับข้อความได้โดยใช้ประโยชน์จาก NLP เริ่มต้น ตัวอย่างเช่น หากคุณมีฟังก์ชั่น handleMessage() ที่ตอบกลับแต่ละข้อความที่ได้รับ คุณสามารถใช้เอนทิตี้ greetings เพื่อส่งการตอบกลับที่เหมาะสมได้ดังต่อไปนี้

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