คู่มืองานการแยกประเภทข้อความ

ตัวอย่าง UI ที่แสดงรีวิวภาพยนตร์เชิงบวกเป็นอินพุต และแสดงผลเป็น 5 ดาวและไอคอนชอบ

งานตัวจัดประเภทข้อความของ MediaPipe ช่วยให้คุณจัดประเภทข้อความเป็นชุดหมวดหมู่ที่กําหนด เช่น ความรู้สึกเชิงบวกหรือเชิงลบ หมวดหมู่จะกําหนดขึ้นระหว่างการฝึกโมเดล งานนี้จะดำเนินการกับข้อมูลข้อความด้วยโมเดลแมชชีนเลิร์นนิง (ML) เป็นข้อมูลแบบคงที่ และแสดงรายการหมวดหมู่และคะแนนความน่าจะเป็นของหมวดหมู่

ลองใช้เลย

เริ่มต้นใช้งาน

เริ่มใช้งานนี้โดยทำตามคู่มือการใช้งานต่อไปนี้สำหรับแพลตฟอร์มที่คุณใช้

คู่มือเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานพื้นฐานของงานนี้ รวมถึงรูปแบบที่แนะนําและตัวอย่างโค้ดที่มีตัวเลือกการกําหนดค่าที่แนะนํา

รายละเอียดงาน

ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้

ฟีเจอร์

  • การประมวลผลข้อความอินพุต - รองรับการแยกโทเค็นนอกกราฟสําหรับโมเดลโดยไม่มีโทเค็นในกราฟ
  • ส่วนหัวการจัดประเภทหลายส่วน - แต่ละส่วนหัวสามารถใช้ชุดหมวดหมู่ของตัวเอง
  • ภาษาของแผนที่ป้ายกำกับ - ตั้งค่าภาษาที่ใช้สำหรับชื่อที่แสดง
  • เกณฑ์คะแนน - กรองผลลัพธ์ตามคะแนนการคาดการณ์
  • ผลการจัดประเภท Top-k - กรองจํานวนผลการตรวจจับ
  • ป้ายกำกับรายการที่อนุญาตและรายการที่ปฏิเสธ - ระบุหมวดหมู่ที่ตรวจพบ
อินพุตงาน เอาต์พุตของงาน
ตัวจัดประเภทข้อความยอมรับประเภทข้อมูลอินพุตต่อไปนี้
  • สตริง
ตัวแยกประเภทข้อความจะแสดงรายการหมวดหมู่ต่อไปนี้
  • ดัชนีหมวดหมู่: ดัชนีของหมวดหมู่ในเอาต์พุตของโมเดล
  • คะแนน: คะแนนความเชื่อมั่นของหมวดหมู่นี้ ซึ่งแสดงเป็นค่าทศนิยมของความน่าจะเป็นระหว่าง 0 ถึง 1
  • ชื่อหมวดหมู่ (ไม่บังคับ): ชื่อหมวดหมู่ตามที่ระบุไว้ในข้อมูลเมตาของโมเดล TensorFlow Lite (หากมี)
  • ชื่อที่แสดงของหมวดหมู่ (ไม่บังคับ): ชื่อที่แสดงของหมวดหมู่ตามที่ระบุไว้ในข้อมูลเมตาโมเดล TensorFlow Lite ในภาษาที่ระบุผ่านตัวเลือกภาษาของชื่อที่แสดง หากมี

ตัวเลือกการกำหนดค่า

งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า ค่าเริ่มต้น
displayNamesLocale ตั้งค่าภาษาของป้ายกำกับที่จะใช้สำหรับชื่อที่แสดงซึ่งระบุไว้ในข้อมูลเมตาของโมเดลของงาน (หากมี) ค่าเริ่มต้นคือ en สำหรับภาษาอังกฤษ คุณเพิ่มป้ายกำกับที่แปลแล้วลงในข้อมูลเมตาของโมเดลที่กำหนดเองได้โดยใช้ TensorFlow Lite Metadata Writer API รหัสภาษา en
maxResults กําหนดจํานวนสูงสุดของผลการแยกประเภทที่มีคะแนนสูงสุดที่จะแสดง (ไม่บังคับ) หากมีค่าน้อยกว่า 0 ระบบจะแสดงผลลัพธ์ทั้งหมดที่มีอยู่ ตัวเลขบวกใดก็ได้ -1
scoreThreshold ตั้งค่าเกณฑ์คะแนนการคาดการณ์ที่จะลบล้างเกณฑ์ที่ระบุไว้ในข้อมูลเมตาของโมเดล (หากมี) ระบบจะปฏิเสธผลลัพธ์ที่ต่ำกว่าค่านี้ ตัวเลขทศนิยม ไม่ได้ตั้งค่า
categoryAllowlist ตั้งค่ารายการชื่อหมวดหมู่ที่อนุญาต (ไม่บังคับ) หากไม่ว่าง ระบบจะกรองผลการจัดประเภทที่มีชื่อหมวดหมู่ไม่อยู่ในชุดนี้ออก ระบบจะไม่สนใจชื่อหมวดหมู่ที่ซ้ำกันหรือไม่รู้จัก ตัวเลือกนี้ใช้ร่วมกับ categoryDenylist ไม่ได้ และการใช้ทั้ง 2 ตัวเลือกจะทำให้เกิดข้อผิดพลาด สตริงใดก็ได้ ไม่ได้ตั้งค่า
categoryDenylist ตั้งค่ารายการชื่อหมวดหมู่ที่ไม่อนุญาต (ไม่บังคับ) หากไม่เป็นค่าว่าง ระบบจะกรองผลการจัดประเภทที่มีชื่อหมวดหมู่อยู่ในชุดนี้ออก ระบบจะไม่สนใจชื่อหมวดหมู่ที่ซ้ำกันหรือไม่รู้จัก ตัวเลือกนี้ใช้ร่วมกันกับ categoryAllowlist ไม่ได้ และการใช้ทั้ง 2 ตัวเลือกจะทำให้เกิดข้อผิดพลาด สตริงใดก็ได้ ไม่ได้ตั้งค่า

โมเดล

คุณสามารถจัดประเภทข้อความโดยใช้โมเดล ML ได้มากกว่า 1 โมเดล เริ่มต้นด้วยโมเดลเริ่มต้นที่แนะนำสำหรับแพลตฟอร์มเป้าหมายเมื่อคุณเริ่มพัฒนาด้วยแท็บงานนี้ โดยปกติแล้ว โมเดลอื่นๆ ที่มีให้ใช้งานจะแลกเปลี่ยนระหว่างประสิทธิภาพ ความแม่นยำ ความละเอียด และข้อกำหนดด้านทรัพยากร และในบางกรณีอาจมีฟีเจอร์เพิ่มเติม

โมเดลที่ผ่านการฝึกอบรมล่วงหน้าได้รับการฝึกเพื่อการวิเคราะห์ความรู้สึก และคาดการณ์ว่าข้อความอินพุตมีความรู้สึกเชิงบวกหรือเชิงลบ โมเดลได้รับการฝึกจากชุดข้อมูล SST-2 (Stanford Sentiment Treebank) ซึ่งประกอบด้วยรีวิวภาพยนตร์ที่ติดป้ายกำกับว่าเชิงบวกหรือเชิงลบ โปรดทราบว่าโมเดลรองรับเฉพาะภาษาอังกฤษเท่านั้น เนื่องจากระบบได้รับการฝึกด้วยชุดข้อมูลรีวิวภาพยนตร์ คุณจึงอาจเห็นว่าข้อความที่ครอบคลุมหัวข้ออื่นๆ มีคุณภาพลดลง

โมเดลนี้ใช้สถาปัตยกรรมที่อิงตาม BERT (โดยเฉพาะโมเดล MobileBERT) และเราขอแนะนำให้ใช้เนื่องจากมีความแม่นยำสูง ไฟล์นี้มีข้อมูลเมตาที่ช่วยให้งานทําการแยกคำ BERT นอกกราฟได้

ชื่อโมเดล รูปร่างอินพุต ประเภทการแปลงค่าเป็นจำนวนเต็ม เวอร์ชัน
BERT-classifier [1x128],[1x128],[1x128] ช่วงไดนามิก ล่าสุด

โมเดลการฝังคําโดยเฉลี่ย

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

ชื่อโมเดล รูปร่างอินพุต ประเภทการแปลงค่าเป็นจำนวนเต็ม เวอร์ชัน
Word embedding โดยเฉลี่ย 1 x 256 ไม่มี (float32) ล่าสุด

การเปรียบเทียบงาน

ต่อไปนี้เป็นการเปรียบเทียบประสิทธิภาพของงานสำหรับทั้งไปป์ไลน์โดยอิงตามโมเดลที่ผ่านการฝึกล่วงหน้าข้างต้น ผลลัพธ์เวลาในการตอบสนองคือเวลาในการตอบสนองโดยเฉลี่ยใน Pixel 6 ที่ใช้ CPU / GPU

ชื่อแบบจำลอง เวลาในการตอบสนองของ CPU เวลาในการตอบสนองของ GPU
เวิร์ดเอมเบ็ดดิ้งโดยเฉลี่ย 0.14 มิลลิวินาที -
BERT-classifier 57.68 มิลลิวินาที -

โมเดลที่กำหนดเอง

คุณสามารถใช้โมเดล ML ที่กําหนดเองกับงานนี้ได้หากต้องการปรับปรุงหรือเปลี่ยนแปลงความสามารถของโมเดลที่ระบุ คุณสามารถใช้ Model Maker เพื่อแก้ไขโมเดลที่มีอยู่หรือสร้างโมเดลโดยใช้เครื่องมืออย่าง TensorFlow โมเดลที่กำหนดเองที่ใช้กับ MediaPipe ต้องเป็นรูปแบบ TensorFlow Lite และต้องมีmetadataที่เฉพาะเจาะจงซึ่งอธิบายพารามิเตอร์การทํางานของโมเดล คุณควรพิจารณาใช้ Model Maker เพื่อแก้ไขโมเดลที่ให้มาสำหรับงานนี้ก่อนที่จะสร้างโมเดลของคุณเอง