המשימה 'מזהה שפה של 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.