งานโปรแกรมฝังข้อความของ MediaPipe ช่วยให้คุณสร้างการนําเสนอข้อมูลข้อความเป็นตัวเลขเพื่อบันทึกความหมายเชิงอรรถศาสตร์ ฟังก์ชันการทำงานนี้มักใช้เพื่อเปรียบเทียบความคล้ายคลึงเชิงความหมายของข้อความ 2 รายการโดยใช้เทคนิคการเปรียบเทียบทางคณิตศาสตร์ เช่น ความคล้ายคลึงของ Cosine งานนี้จะดำเนินการกับข้อมูลข้อความด้วยโมเดลแมชชีนเลิร์นนิง (ML) และแสดงผลข้อมูลข้อความเป็นตัวเลขเป็นรายการเวกเตอร์ฟีเจอร์มิติสูง หรือที่เรียกว่าเวกเตอร์การฝัง ในรูปแบบทศนิยมหรือรูปแบบเชิงปริมาณ
เริ่มต้นใช้งาน
เริ่มใช้แท็บงานนี้โดยทําตามคําแนะนําการใช้งานแพลตฟอร์มเป้าหมายข้อใดข้อหนึ่งต่อไปนี้ คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานพื้นฐานของงานนี้ รวมถึงโมเดลที่แนะนำและตัวอย่างโค้ดพร้อมตัวเลือกการกำหนดค่าที่แนะนำ
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้
ฟีเจอร์
- การประมวลผลข้อความอินพุต - รองรับการแยกโทเค็นนอกกราฟสําหรับโมเดลที่ไม่มีโทเค็นในกราฟ
- การคํานวณความคล้ายคลึงของข้อมูลเชิงลึก - ฟังก์ชันยูทิลิตีในตัวสําหรับคํานวณความคล้ายคลึงของโคไซน์ระหว่างเวกเตอร์ฟีเจอร์ 2 รายการ
- การแปลงค่าเป็นจำนวนเต็ม - รองรับการแปลงค่าเป็นจำนวนเต็มสเกลาร์สำหรับเวกเตอร์ลักษณะ
อินพุตงาน | เอาต์พุตของงาน |
---|---|
เครื่องมือฝังข้อความยอมรับประเภทข้อมูลอินพุตต่อไปนี้
|
ตัวฝังข้อความจะแสดงรายการการฝังต่อไปนี้
|
ตัวเลือกการกําหนดค่า
งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้
ชื่อตัวเลือก | คำอธิบาย | ช่วงของค่า | ค่าเริ่มต้น |
---|---|---|---|
l2_normalize |
กำหนดว่าจะปรับค่าเวกเตอร์ฟีเจอร์ที่แสดงผลด้วย L2 หรือไม่ ใช้ตัวเลือกนี้เฉพาะในกรณีที่โมเดลไม่มีการดำเนินการ L2_NORMALIZATION ของ TFLite เดิมอยู่แล้ว ซึ่งในกรณีส่วนใหญ่จะเป็นเช่นนั้นอยู่แล้ว และระบบจะทำการแปลง L2 ผ่านการอนุมาน TFLite โดยไม่จำเป็นต้องใช้ตัวเลือกนี้ | Boolean |
False |
quantize |
ควรแปลงการฝังที่แสดงผลเป็นไบต์ผ่านการแปลงเชิงสเกลหรือไม่ ระบบจะถือว่าการฝังมีรูปแบบเป็นหน่วยโดยปริยาย และรับประกันว่ามิติข้อมูลใดๆ จะมีค่าอยู่ในช่วง [-1.0, 1.0] ใช้ตัวเลือก l2_normalize หากไม่ใช่กรณีนี้ | Boolean |
False |
โมเดล
เราขอแนะนําโมเดลเริ่มต้นเมื่อคุณเริ่มพัฒนาด้วยงานนี้
โมเดล Universal Sentence Encoder (แนะนำ)
โมเดลนี้ใช้สถาปัตยกรรมตัวเข้ารหัสแบบคู่ และได้รับการฝึกจากชุดข้อมูลคำถามและคำตอบที่หลากหลาย
ลองดูคู่ประโยคต่อไปนี้
- ("เป็นการเดินทางที่มีเสน่ห์และมักจะส่งผลต่อความรู้สึก" "เป็นการเดินทางที่ยอดเยี่ยมและน่าอัศจรรย์")
- ("ฉันชอบโทรศัพท์" "ฉันเกลียดโทรศัพท์")
- ("ร้านอาหารนี้มีลูกเล่นที่ยอดเยี่ยม" "เราต้องตรวจสอบรายละเอียดแผนของเราอีกครั้ง")
การฝังข้อความในคู่แรก 2 คู่จะมีความคล้ายคลึงกันของโคไซน์สูงกว่าการฝังในคู่ที่ 3 เนื่องจากประโยคคู่แรก 2 คู่มีหัวข้อ "ความรู้สึกเกี่ยวกับการเดินทาง" และ "ความคิดเห็นเกี่ยวกับโทรศัพท์" ร่วมกันตามลำดับ ส่วนประโยคคู่ที่ 3 ไม่มีหัวข้อร่วมกัน
โปรดทราบว่าแม้ว่าประโยค 2 ประโยคในคู่ที่ 2 จะมีความรู้สึกตรงข้ามกัน แต่ก็มีคะแนนความคล้ายคลึงกันสูงเนื่องจากมีหัวข้อเดียวกัน
ชื่อโมเดล | รูปร่างอินพุต | ประเภทการแปลงค่าเป็นจำนวนเต็ม | เวอร์ชัน |
---|---|---|---|
Universal Sentence Encoder | string, string, string | ไม่มี (float32) | ล่าสุด |
การเปรียบเทียบงาน
ต่อไปนี้คือการเปรียบเทียบประสิทธิภาพของงานสำหรับทั้งไปป์ไลน์โดยอิงตามโมเดลที่ผ่านการฝึกล่วงหน้าข้างต้น ผลลัพธ์เวลาในการตอบสนองคือเวลาในการตอบสนองโดยเฉลี่ยใน Pixel 6 ที่ใช้ CPU / GPU
ชื่อแบบจำลอง | เวลาในการตอบสนองของ CPU | เวลาในการตอบสนองของ GPU |
---|---|---|
Universal Sentence Encoder | 18.21 มิลลิวินาที | - |