งาน MediaPipe Text Classifier ให้คุณจัดประเภทข้อความเป็นชุดหมวดหมู่ที่กำหนดไว้ เช่น ความเห็นเชิงบวกหรือเชิงลบ จะมีการกำหนดหมวดหมู่ระหว่างการฝึกโมเดล งานนี้ดำเนินการเกี่ยวกับข้อมูลข้อความด้วยโมเดลแมชชีนเลิร์นนิง (ML) เป็นข้อมูลแบบคงที่และแสดงรายการหมวดหมู่และคะแนนความเป็นไปได้
เริ่มต้นใช้งาน
เริ่มใช้งานนี้โดยทำตามคำแนะนำต่อไปนี้สำหรับแพลตฟอร์มที่กำลังใช้งานอยู่
- Android - ตัวอย่างโค้ด - คำแนะนำ
- Python - ตัวอย่างโค้ด - คำแนะนำ
- เว็บ - ตัวอย่างโค้ด - คำแนะนำ
- iOS - ตัวอย่างโค้ด - คำแนะนำ
คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะอธิบายการติดตั้งใช้งานพื้นฐานของงานนี้ รวมถึงโมเดลที่แนะนำและตัวอย่างโค้ดที่มีตัวเลือกการกำหนดค่าที่แนะนำ
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้
ฟีเจอร์
- การประมวลผลข้อความอินพุต - รองรับการแปลงข้อมูลเป็นโทเค็นแบบนอกกราฟสำหรับโมเดล ที่ไม่มีการแปลงข้อมูลเป็นโทเค็นในกราฟ
- หัวการจัดประเภทหลายหัว - แต่ละส่วนหัวใช้ชุดหมวดหมู่ของตนเองได้
- ติดป้ายกำกับภาษาในแผนที่ - ตั้งค่าภาษาที่ใช้สำหรับชื่อที่แสดง
- เกณฑ์คะแนน - กรองผลลัพธ์ตามคะแนนการคาดการณ์
- ผลลัพธ์การแยกประเภทแบบ 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 | [1x128],[1x128],[1x128] | ช่วงไดนามิก | ล่าสุด |
โมเดลการฝังคำโดยเฉลี่ย
โมเดลนี้ใช้สถาปัตยกรรมการฝังคำโดยเฉลี่ย โมเดลนี้มีขนาดโมเดลที่เล็กกว่าและมีเวลาในการตอบสนองต่ำกว่า ซึ่งทำให้ความแม่นยำในการคาดการณ์ต่ำลงเมื่อเทียบกับตัวแยกประเภท BERT การปรับแต่งโมเดลนี้ผ่านการฝึกเพิ่มเติมยังรวดเร็วกว่าการฝึกตัวแยกประเภทที่ใช้ BERT โมเดลนี้มีข้อมูลเมตาที่อนุญาตให้งานดำเนินการแปลงข้อมูลนิพจน์ทั่วไปนอกกราฟ
ชื่อโมเดล | รูปร่างอินพุต | ประเภทการหาปริมาณ | ฉบับ |
---|---|---|---|
การฝังคำโดยเฉลี่ย | 1 X 256 | ไม่มี (Float32) | ล่าสุด |
การเปรียบเทียบงาน
นี่คือการเปรียบเทียบงานสำหรับทั้งไปป์ไลน์ตามโมเดลที่ฝึกล่วงหน้าไว้ข้างต้น ผลของเวลาในการตอบสนองคือเวลาในการตอบสนองโดยเฉลี่ยใน Pixel 6 ที่ใช้ CPU / GPU
ชื่อโมเดล | เวลาในการตอบสนองของ CPU | เวลาในการตอบสนองของ GPU |
---|---|---|
การฝังคำโดยเฉลี่ย | 0.14 มิลลิวินาที | - |
ตัวแยกประเภท BERT | 57.68 มิลลิวินาที | - |
โมเดลที่กำหนดเอง
คุณใช้โมเดล ML ที่กำหนดเองกับงานนี้ได้หากต้องการปรับปรุงหรือแก้ไขความสามารถของโมเดลที่มีให้ คุณสามารถใช้ Model Maker เพื่อแก้ไขโมเดลที่มีอยู่ หรือสร้างโมเดลโดยใช้เครื่องมืออย่าง TensorFlow โมเดลที่กำหนดเองซึ่งใช้กับ MediaPipe ต้องอยู่ในรูปแบบ TensorFlow Lite และต้องมีข้อมูลเมตาที่เจาะจงซึ่งอธิบายถึงพารามิเตอร์การดำเนินการของโมเดล คุณควรพิจารณาใช้ Model Maker เพื่อแก้ไขโมเดลที่มีให้สำหรับงานนี้ ก่อนที่จะสร้างโมเดลของคุณเอง