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

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

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

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

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

ตั้งค่า

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

แพ็กเกจ

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

$ python -m pip install mediapipe

การนำเข้า

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

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

รุ่น

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

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

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 ตัวอย่าง