מדריך לזיהוי שפות ל-Python

המשימה 'מזהה שפה של MediaPipe' מאפשרת לך לזהות את השפה של קטע טקסט. ההוראות האלה ממחישות איך להשתמש ב'מזהה השפה' עם Python. דוגמת הקוד שמתוארת בהוראות האלו זמינה ב-GitHub.

תוכלו לראות את המשימה הזו בהדגמה. למידע נוסף על היכולות, המודלים ואפשרויות ההגדרה של המשימה הזו, קראו את הסקירה הכללית.

קוד לדוגמה

הקוד לדוגמה של מזהה השפה מספק הטמעה מלאה של המשימה הזו ב-Python לעיונכם. הקוד הזה עוזר לכם לבדוק את המשימה הזו ולהתחיל ליצור תכונה משלכם לזיהוי שפה. אפשר להציג, להריץ ולערוך את הקוד לדוגמה של מזהה השפה באמצעות דפדפן האינטרנט בלבד.

הגדרה

בקטע הזה מתוארים שלבים עיקריים להגדרה של סביבת הפיתוח ופרויקטים של קוד במיוחד לשימוש ב-Language Detector. למידע כללי על הגדרת סביבת הפיתוח לשימוש במשימות MediaPipe, כולל הדרישות לגרסת הפלטפורמה, קראו את מדריך ההגדרה של Python.

חבילות

מזהה השפה משתמש בחבילה של צינור עיבוד הנתונים ב-Mediapipe. אפשר להתקין את התלות בדרכים הבאות:

$ 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' משתמשת בפונקציה 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 מגדירה את המספר המקסימלי האופציונלי של חיזויי שפה בניקוד הגבוה ביותר להחזרה. אם הערך הזה קטן מאפס, יוחזרו כל התוצאות הזמינות. כל מספר חיובי -1
score_threshold השדה הזה מגדיר את סף הציון של החיזוי ששונה מהסף שצוין במטא-נתונים של המודל (אם יש כזה). תוצאות מתחת לערך הזה יידחו. כל מספר ממשי (float) לא הוגדרה
category_allowlist מגדיר את הרשימה האופציונלית של קודי שפה מותרים. אם השדה לא ריק, חיזויי שפה שקוד השפה שלהם לא נכלל בקבוצה הזו יסוננו. האפשרות הזו בלעדית ל-category_denylist ומשתמשת בשתי התוצאות האלה כשגיאה. כל מחרוזת לא הוגדרה
category_denylist מגדיר את הרשימה האופציונלית של קודי שפות שאינם מותרים. אם השדה לא ריק, המערכת תסנן את החיזויים של השפות שקוד השפה שלהם נכלל בקבוצה הזו. האפשרות הזו בלעדית ל-category_allowlist, והשימוש בשתי האפשרויות גורם לשגיאה. כל מחרוזת לא הוגדרה

הכנת הנתונים

מזהה השפה פועל עם נתוני טקסט (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.