คู่มือการตรวจหาภาษาสำหรับ Python

งาน MediaPipe Language Detector ให้คุณระบุภาษาของข้อความได้ วิธีการเหล่านี้จะแสดงวิธีใช้ตัวตรวจจับภาษากับ Python ตัวอย่างโค้ดที่อธิบายในวิธีการเหล่านี้จะดูได้ใน GitHub

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

ตัวอย่างโค้ด

โค้ดตัวอย่างสำหรับ Language Detector มอบการใช้งานที่สมบูรณ์ของงานนี้ใน Python เพื่อเป็นข้อมูลอ้างอิง โค้ดนี้จะช่วยให้คุณทดสอบงานนี้ และเริ่มสร้างฟีเจอร์การตรวจจับภาษาของคุณเอง คุณดู เรียกใช้ และแก้ไขโค้ดตัวอย่างของตัวตรวจจับภาษาได้โดยใช้เพียงเว็บเบราว์เซอร์

ตั้งค่า

ส่วนนี้จะอธิบายขั้นตอนสำคัญในการตั้งค่าสภาพแวดล้อมการพัฒนาและโปรเจ็กต์โค้ดเพื่อใช้ตัวตรวจจับภาษาโดยเฉพาะ ดูข้อมูลทั่วไปเกี่ยวกับการตั้งค่าสภาพแวดล้อมการพัฒนาเพื่อใช้งาน MediaPipe รวมถึงข้อกำหนดเวอร์ชันแพลตฟอร์มได้ที่คู่มือการตั้งค่าสำหรับ Python

กล่องพัสดุ

ตัวตรวจจับภาษาใช้แพ็กเกจ Mediapipe คุณติดตั้งทรัพยากร Dependency ได้ด้วยวิธีต่อไปนี้

$ python -m pip install mediapipe

การนำเข้า

นำเข้าชั้นเรียนต่อไปนี้เพื่อเข้าถึงฟังก์ชันงานตัวตรวจจับภาษา

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

รุ่น

งานตัวตรวจจับภาษาของ MediaPipe ต้องใช้โมเดลที่ผ่านการฝึกซึ่งเข้ากันได้กับงานนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลที่ฝึกแล้วที่พร้อมใช้งานสำหรับตัวตรวจจับภาษาได้ในส่วนโมเดลของภาพรวมงาน

เลือกและดาวน์โหลดโมเดล แล้วจัดเก็บไว้ในไดเรกทอรีโปรเจ็กต์ โดยทำดังนี้

model_path = '/absolute/path/to/language_detector.tflite'

ระบุเส้นทางของโมเดลด้วยพารามิเตอร์ BaseOptions ออบเจ็กต์ model_asset_path ดังที่แสดงด้านล่าง

base_options = BaseOptions(model_asset_path=model_path)

สร้างงาน

งาน MediaPipe Language Detector ใช้ฟังก์ชัน create_from_options เพื่อตั้งค่างาน ฟังก์ชัน create_from_options จะยอมรับค่าสำหรับตัวเลือกการกำหนดค่าเพื่อตั้งค่าตัวเลือกตัวตรวจจับ คุณยังเริ่มต้นงานโดยใช้ ฟังก์ชันเริ่มต้นของ create_from_model_path ได้ด้วย ฟังก์ชัน create_from_model_path จะยอมรับเส้นทางแบบสัมพัทธ์หรือสัมบูรณ์ไปยังไฟล์โมเดลที่ฝึกแล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่างานได้ที่ตัวเลือกการกำหนดค่า

โค้ดต่อไปนี้แสดงวิธีการสร้างและกำหนดค่างานนี้

base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)

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

งานนี้มีตัวเลือกการกำหนดค่าสำหรับแอปพลิเคชัน Python ดังต่อไปนี้

ชื่อตัวเลือก คำอธิบาย ช่วงของค่า ค่าเริ่มต้น
max_results ตั้งค่าจำนวนสูงสุดของการคาดคะเนภาษาที่มีคะแนนสูงสุดที่ไม่บังคับเพื่อแสดงผล หากค่านี้น้อยกว่า 0 ระบบจะแสดงผลผลลัพธ์ที่มีอยู่ทั้งหมด ตัวเลขจำนวนบวกใดก็ได้ -1
score_threshold ตั้งค่าเกณฑ์คะแนนการคาดการณ์ที่จะลบล้างเกณฑ์ที่ระบุไว้ในข้อมูลเมตาของโมเดล (หากมี) ผลลัพธ์ที่ต่ำกว่าค่านี้ถูกปฏิเสธ จำนวนลอยตัวใดก็ได้ ไม่ได้ตั้งค่า
category_allowlist ตั้งค่ารายการที่ไม่บังคับของรหัสภาษาที่อนุญาต หากไม่เว้นว่างไว้ การคาดคะเนภาษาที่ไม่อยู่ในชุดรหัสนี้จะถูกกรองออก ตัวเลือกนี้ใช้ด้วยกันกับ category_denylist ไม่ได้ และการใช้ทั้ง 2 ผลลัพธ์จึงเกิดข้อผิดพลาด สตริงใดก็ได้ ไม่ได้ตั้งค่า
category_denylist ตั้งค่ารายการที่ไม่บังคับของรหัสภาษาที่ไม่ได้รับอนุญาต หาก ไม่ว่างเปล่า การคาดคะเนภาษาที่ใช้รหัสภาษาในชุดนี้จะถูกกรองออก ตัวเลือกนี้ใช้ด้วยกันกับ category_allowlist ไม่ได้ และการใช้ทั้ง 2 ผลลัพธ์จึงเกิดข้อผิดพลาด สตริงใดก็ได้ ไม่ได้ตั้งค่า

เตรียมข้อมูล

ตัวตรวจจับภาษาใช้งานได้กับข้อมูลข้อความ (str) งานนี้จะจัดการการประมวลผลอินพุตข้อมูลล่วงหน้า ซึ่งรวมถึงการแปลงข้อมูลเป็นโทเค็นและการประมวลผลล่วงหน้าของ tensor การประมวลผลล่วงหน้าทั้งหมดจะได้รับการจัดการภายในฟังก์ชัน detect โดยไม่จำเป็นต้องประมวลผล ข้อความอินพุตล่วงหน้าเพิ่มเติม

input_text = 'The input text to be classified.'

เรียกใช้งาน

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

โค้ดต่อไปนี้แสดงวิธีเรียกใช้การประมวลผลด้วยโมเดลงาน

with python.text.LanguageDetector.create_from_options(options) as detector:
  detection_result = detector.detect(input_text)

แฮนเดิลและแสดงผลลัพธ์

ตัวตรวจจับภาษาจะแสดงผล LanguageDetectorResult ซึ่งประกอบด้วยรายการการคาดคะเนภาษา รวมถึงความน่าจะเป็นสำหรับการคาดคะเนเหล่านั้น ตัวอย่างต่อไปนี้แสดงตัวอย่างข้อมูลเอาต์พุตจากงานนี้

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

ผลลัพธ์นี้ได้มาจากการเรียกใช้โมเดลกับข้อความอินพุต: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."

ดูตัวอย่างโค้ดที่ต้องใช้ในการประมวลผลและแสดงภาพผลลัพธ์ของงานนี้ได้ในแอป Python ตัวอย่าง