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

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

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

קוד לדוגמה

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

הגדרה

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

בוחרים את המודל, מורידים אותו ושומרים אותו בספריית הפרויקט:

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

ציון הנתיב של המודל עם האובייקט model_asset_path מסוג BaseOptions בפרמטר, כפי שמוצג בהמשך:

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.