งานตัวจัดประเภทข้อความของ MediaPipe ช่วยให้คุณจัดประเภทข้อความเป็นชุดหมวดหมู่ที่กําหนด เช่น ความรู้สึกเชิงบวกหรือเชิงลบ หมวดหมู่จะกําหนดขึ้นระหว่างการฝึกโมเดล งานนี้จะดำเนินการกับข้อมูลข้อความด้วยโมเดลแมชชีนเลิร์นนิง (ML) เป็นข้อมูลแบบคงที่ และแสดงรายการหมวดหมู่และคะแนนความน่าจะเป็นของหมวดหมู่
เริ่มต้นใช้งาน
เริ่มใช้งานนี้โดยทำตามคู่มือการใช้งานต่อไปนี้สำหรับแพลตฟอร์มที่คุณใช้
- Android - Code example
- Python - Code example
- เว็บ - ตัวอย่างโค้ด - คำแนะนำ
- iOS - Code example
คู่มือเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานพื้นฐานของงานนี้ รวมถึงรูปแบบที่แนะนําและตัวอย่างโค้ดที่มีตัวเลือกการกําหนดค่าที่แนะนํา
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้
ฟีเจอร์
- การประมวลผลข้อความอินพุต - รองรับการแยกโทเค็นนอกกราฟสําหรับโมเดลโดยไม่มีโทเค็นในกราฟ
- ส่วนหัวการจัดประเภทหลายส่วน - แต่ละส่วนหัวสามารถใช้ชุดหมวดหมู่ของตัวเอง
- ภาษาของแผนที่ป้ายกำกับ - ตั้งค่าภาษาที่ใช้สำหรับชื่อที่แสดง
- เกณฑ์คะแนน - กรองผลลัพธ์ตามคะแนนการคาดการณ์
- ผลการจัดประเภท Top-k - กรองจํานวนผลการตรวจจับ
- ป้ายกำกับรายการที่อนุญาตและรายการที่ปฏิเสธ - ระบุหมวดหมู่ที่ตรวจพบ
อินพุตงาน | เอาต์พุตของงาน |
---|---|
ตัวจัดประเภทข้อความยอมรับประเภทข้อมูลอินพุตต่อไปนี้
|
ตัวแยกประเภทข้อความจะแสดงรายการหมวดหมู่ต่อไปนี้
|
ตัวเลือกการกำหนดค่า
งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้
ชื่อตัวเลือก | คำอธิบาย | ช่วงของค่า | ค่าเริ่มต้น |
---|---|---|---|
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 (แนะนำ)
โมเดลนี้ใช้สถาปัตยกรรมที่อิงตาม 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 เพื่อแก้ไขโมเดลที่ให้มาสำหรับงานนี้ก่อนที่จะสร้างโมเดลของคุณเอง