راهنمای تشخیص زبان برای پایتون

وظیفه MediaPipe Language Detector به شما امکان می دهد زبان یک متن را شناسایی کنید. این دستورالعمل ها به شما نشان می دهد که چگونه از زبان ردیاب با پایتون استفاده کنید. نمونه کد شرح داده شده در این دستورالعمل ها در GitHub موجود است.

با مشاهده دمو می توانید این کار را در عمل مشاهده کنید. برای اطلاعات بیشتر در مورد قابلیت‌ها، مدل‌ها و گزینه‌های پیکربندی این کار، به نمای کلی مراجعه کنید.

نمونه کد

کد مثال برای زبان شناسا اجرای کامل این کار در پایتون را برای مرجع شما فراهم می کند. این کد به شما کمک می کند این کار را آزمایش کنید و شروع به ساخت ویژگی تشخیص زبان خود کنید. فقط با استفاده از مرورگر وب خود می توانید کد نمونه زبان شناساگر را مشاهده، اجرا و ویرایش کنید.

راه اندازی

این بخش مراحل کلیدی را برای راه‌اندازی محیط توسعه و پروژه‌های کد مخصوصاً برای استفاده از زبان‌شناس توضیح می‌دهد. برای اطلاعات کلی در مورد تنظیم محیط توسعه خود برای استفاده از وظایف MediaPipe، از جمله الزامات نسخه پلت فرم، به راهنمای راه اندازی برای Python مراجعه کنید.

بسته ها

زبان آشکارساز از بسته mediapipe pip استفاده می کند. می توانید وابستگی را با موارد زیر نصب کنید:

$ 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 مقادیری را برای گزینه های پیکربندی برای تنظیم گزینه های آشکارساز می پذیرد. همچنین می توانید کار را با استفاده از تابع factory create_from_model_path مقداردهی اولیه کنید. تابع create_from_model_path یک مسیر نسبی یا مطلق به فایل مدل آموزش دیده می پذیرد. برای اطلاعات بیشتر در مورد پیکربندی وظایف، گزینه های پیکربندی را ببینید.

کد زیر نحوه ساخت و پیکربندی این وظیفه را نشان می دهد.

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

گزینه های پیکربندی

این کار دارای گزینه های پیکربندی زیر برای برنامه های پایتون است:

نام گزینه توضیحات محدوده ارزش مقدار پیش فرض
max_results حداکثر تعداد اختیاری پیش‌بینی‌های زبان با امتیاز بالا را برای بازگشت تنظیم می‌کند. اگر این مقدار کمتر از صفر باشد، تمام نتایج موجود برگردانده می شوند. هر عدد مثبت -1
score_threshold آستانه امتیاز پیش‌بینی را تنظیم می‌کند که بر آستانه ارائه‌شده در فراداده مدل (در صورت وجود) لغو می‌شود. نتایج زیر این مقدار رد می شوند. هر شناور تنظیم نشده است
category_allowlist لیست اختیاری کدهای زبان مجاز را تنظیم می کند. اگر خالی نباشد، پیش‌بینی‌های زبانی که کد زبان آنها در این مجموعه نیست فیلتر می‌شوند. این گزینه با category_denylist منحصر به فرد است و از هر دو نتیجه در یک خطا استفاده می کند. هر رشته تنظیم نشده است
category_denylist لیست اختیاری کدهای زبانی را که مجاز نیستند را تنظیم می کند. اگر خالی نباشد، پیش‌بینی‌های زبانی که کد زبان آنها در این مجموعه است فیلتر می‌شوند. این گزینه با category_allowlist منحصر به فرد است و از هر دو نتیجه در یک خطا استفاده می کند. هر رشته تنظیم نشده است

داده ها را آماده کنید

آشکارساز زبان با داده های متن ( str ) کار می کند. این وظیفه، پیش پردازش ورودی داده، از جمله پیش پردازش توکن و تانسور را انجام می دهد. تمام پیش پردازش ها در تابع 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 ya beaucoup de bouches qui parlent et fort peu de têtes qui pensent." .

برای مثالی از کد مورد نیاز برای پردازش و تجسم نتایج این کار، به برنامه نمونه پایتون مراجعه کنید.