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

งาน MediaPipe Text Classifier ให้คุณจัดประเภทข้อความเป็นชุดหมวดหมู่ที่กำหนดไว้ เช่น ความเห็นเชิงบวกหรือเชิงลบ จะมีการกำหนดหมวดหมู่ระหว่างการฝึกโมเดล งานนี้ดำเนินการเกี่ยวกับข้อมูลข้อความด้วยโมเดลแมชชีนเลิร์นนิง (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 [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 เพื่อแก้ไขโมเดลที่มีให้สำหรับงานนี้ ก่อนที่จะสร้างโมเดลของคุณเอง