การประมวลผลภาษาธรรมชาติสำหรับแพลตฟอร์ม 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/LATEST-GRAPH-API-VERSION/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

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

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

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

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

จำนวนเงิน

wit$amount_of_money:amount_of_money

วันที่/เวลา

wit$datetime:$datetime

ระยะทาง

wit$distance:distance

ระยะเวลา

wit$duration:duration

อีเมล

wit$email:email

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

wit$location:location

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

wit$phone_number:phone_number

จำนวน

wit$quantity:quantity

อุณหภูมิ

wit$temperature:temperature

URL

wit$url:url

ปริมาณ

wit$volume:volume

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

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

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

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

wit$bye

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

wit$greetings

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

wit$sentiment

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

wit$thanks

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

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

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

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

แยกวิเคราะห์ข้อความ 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, 'wit$greetings');
  if (greeting && greeting.confidence > 0.8) {
    sendResponse('Hi there!');
  } else { 
    // default logic
  }
}